Skip to content

CBaseCSGrenadeProjectile

Base class for all CS2 grenade projectile entities (HE, flash, smoke, molotov, decoy). Tracks the initial throw parameters so clients can predict the trajectory.

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

Kind: classSize: 2656 bytes (0xa60)Alignment: 16 bytesModule: serverBinary: server.dll

Relationships

Inherits from: CBaseGrenade

Client counterpart: C_BaseCSGrenadeProjectile

Derived by: CDecoyProjectile, CFlashbangProjectile, CHEGrenadeProjectile, CMolotovProjectile, CSmokeGrenadeProjectile

Inheritance tree
Relationship diagram (12 edges)
classDiagram
    CEntityInstance <|-- CBaseEntity
    CBaseEntity <|-- CBaseModelEntity
    CBaseModelEntity <|-- CBaseAnimGraph
    CBaseAnimGraph <|-- CBaseGrenade
    CBaseGrenade <|-- CBaseCSGrenadeProjectile
    CBaseCSGrenadeProjectile <|-- CDecoyProjectile
    CBaseCSGrenadeProjectile <|-- CFlashbangProjectile
    CBaseCSGrenadeProjectile <|-- CHEGrenadeProjectile
    CBaseCSGrenadeProjectile <|-- CMolotovProjectile
    CBaseCSGrenadeProjectile <|-- CSmokeGrenadeProjectile
    CBaseCSGrenadeProjectile *-- InfoForResourceTypeIParticleSystemDefinition
    CBaseCSGrenadeProjectile *-- GameTime_t
Inheritance chain, direct subclasses (up to 20) and a few composition edges

Memory layout

174 fields, 16 declared here and 158 inherited. Offsets are absolute from the object base on windows-x86_64.

CEntityInstanceCBaseEntityCBaseModelEntityCBaseAnimGraphCBaseGrenadeCBaseCSGrenadeProjectile

OffsetFieldTypeFromAnnotations
0x8m_iszPrivateVScriptsCUtlSymbolLargeCEntityInstance
0x10m_pEntityCEntityIdentity*CEntityInstanceCEntityIdentity pointer: the entity's identity record (name, class, handle, flags).
0x28m_CScriptComponentCScriptComponent*CEntityInstanceVScript component attached to the entity, when scripted.
0x30m_CBodyComponentCBodyComponent*CBaseEntity
0x38m_NetworkTransmitComponentCNetworkTransmitComponentCBaseEntity
0x248m_aThinkFunctionsCUtlVector< thinkfunc_t >CBaseEntity
0x260m_iCurrentThinkContextint32CBaseEntityMNotSaved
0x264m_nLastThinkTickGameTick_tCBaseEntity
0x268m_bDisabledContextThinksboolCBaseEntity
0x278m_isSteadyStateCTypedBitVec< 64 >CBaseEntityMNotSaved
0x280m_lastNetworkChangefloat32CBaseEntityMNotSaved
0x288m_thinkBASEPTRCBaseEntity
0x290m_ResponseContextsCUtlVector< ResponseContext_t >CBaseEntity
0x2a8m_iszResponseContextCUtlSymbolLargeCBaseEntity
0x2b0m_pfnTouchENTITYFUNCPTRCBaseEntity
0x2b8m_pfnUseUSEPTRCBaseEntity
0x2c0m_pfnBlockedENTITYFUNCPTRCBaseEntity
0x2c8m_pfnMoveDoneBASEPTRCBaseEntity
0x2d0m_iHealthint32CBaseEntityCurrent health points of the entity. Serialised with the 'ClampHealth' encoder so values above max are clamped.
0x2d4m_iMaxHealthint32CBaseEntityMaximum health points; used to normalise health bars in the HUD.
0x2d8m_lifeStateuint8CBaseEntityLIFE_STATE enum: 0 = Alive, 1 = Dying, 2 = Dead, 3 = Respawnable, 4 = Discardbody.
0x2dcm_flDamageAccumulatorfloat32CBaseEntity
0x2e0m_bTakesDamageboolCBaseEntity
0x2e8m_nTakeDamageFlagsTakeDamageFlags_tCBaseEntity
0x2f0m_nPlatformTypeEntityPlatformTypes_tCBaseEntity
0x2f2m_MoveCollideMoveCollide_tCBaseEntity
0x2f3m_MoveTypeMoveType_tCBaseEntity
0x2f4m_nPreviouslySetMoveTypeMoveType_tCBaseEntity
0x2f5m_nActualMoveTypeMoveType_tCBaseEntity
0x2f6m_nWaterTouchuint8CBaseEntityMNotSaved
0x2f7m_nSlimeTouchuint8CBaseEntityMNotSaved
0x2f8m_bRestoreInHierarchyboolCBaseEntity
0x300m_targetCUtlSymbolLargeCBaseEntity
0x308m_hDamageFilterCHandle< CBaseFilter >CBaseEntity
0x310m_iszDamageFilterNameCUtlSymbolLargeCBaseEntity
0x318m_flMoveDoneTimefloat32CBaseEntity
0x31cm_nSubclassIDCUtlStringTokenCBaseEntity
0x328m_flAnimTimefloat32CBaseEntityFloating-point timestamp of the most-recent animation update; used by the client for animation interpolation. MKV3TransferSaveOpsForField GetEngineTimeSaveRestoreOps
0x32cm_flSimulationTimefloat32CBaseEntityFloating-point timestamp of the most-recent physics simulation step; used by the client for position interpolation. MKV3TransferSaveOpsForField GetEngineTimeSaveRestoreOps
0x330m_flCreateTimeGameTime_tCBaseEntity
0x334m_bClientSideRagdollboolCBaseEntity
0x335m_ubInterpolationFrameuint8CBaseEntity
0x338m_vPrevVPhysicsUpdatePosVectorWSCBaseEntity
0x344m_iTeamNumuint8CBaseEntityTeam number: 0 = Unassigned, 1 = Spectator, 2 = Terrorist, 3 = Counter-Terrorist.
0x348m_iGlobalnameCUtlSymbolLargeCBaseEntityMSaveBehavior
0x350m_iSentToClientsint32CBaseEntityMNotSaved
0x358m_sUniqueHammerIDCUtlStringCBaseEntity
0x360m_spawnflagsuint32CBaseEntity
0x364m_nNextThinkTickGameTick_tCBaseEntityServer tick on which the entity's Think() function will next execute (-1 = never).
0x368m_nSimulationTickint32CBaseEntityMKV3TransferSaveOpsForField GetEngineTickSaveRestoreOps
0x370m_OnKilledCEntityIOOutputCBaseEntity
0x388m_fFlagsuint32CBaseEntityEntity flags bitmask (FL_ONGROUND = 1, FL_DUCKING = 4, FL_INWATER = 8, FL_FROZEN = 0x200, etc.).
0x38cm_vecAbsVelocityVectorCBaseEntity
0x398m_vecVelocityCNetworkVelocityVectorCBaseEntityCurrent world-space velocity vector of the entity.
0x3c8m_vecBaseVelocityVectorCBaseEntityAdditional world-space velocity contributed by moving platforms, conveyor belts, etc.
0x3d4m_nPushEnumCountint32CBaseEntityMNotSaved
0x3d8m_pCollisionCCollisionProperty*CBaseEntityMNotSaved
0x3e0m_hEffectEntityCHandle< CBaseEntity >CBaseEntity
0x3e4m_hOwnerEntityCHandle< CBaseEntity >CBaseEntityCHandle to the entity that owns or spawned this entity (e.g. the thrower of a grenade).
0x3e8m_fEffectsuint32CBaseEntityEffect flags bitmask (EF_NODRAW = 32, EF_NORECEIVESHADOW = 64, etc.).
0x3ecm_hGroundEntityCHandle< CBaseEntity >CBaseEntityCHandle to the entity this entity is standing on (INVALID_EHANDLE if airborne).
0x3f0m_nGroundBodyIndexint32CBaseEntity
0x3f4m_flFrictionfloat32CBaseEntitySurface friction multiplier (1.0 = normal; lower values make the entity slide more).
0x3f8m_flElasticityfloat32CBaseEntity
0x3fcm_flGravityScalefloat32CBaseEntityGravity scale multiplier (1.0 = normal; 0 = no gravity).
0x400m_flTimeScalefloat32CBaseEntityTime-scale multiplier applied to this entity's simulation (1.0 = real time; used by bullet time effects).
0x404m_flWaterLevelfloat32CBaseEntity
0x408m_bGravityDisabledboolCBaseEntity
0x409m_bAnimatedEveryTickboolCBaseEntityTrue when the entity's animation must be updated every server tick regardless of network interest.
0x40cm_flActualGravityScalefloat32CBaseEntity
0x410m_bGravityActuallyDisabledboolCBaseEntity
0x411m_bDisableLowViolenceboolCBaseEntity
0x412m_nWaterTypeuint8CBaseEntity
0x414m_iEFlagsint32CBaseEntity
0x418m_OnUser1CEntityIOOutputCBaseEntity
0x430m_OnUser2CEntityIOOutputCBaseEntity
0x448m_OnUser3CEntityIOOutputCBaseEntity
0x460m_OnUser4CEntityIOOutputCBaseEntity
0x478m_iInitialTeamNumint32CBaseEntity
0x47cm_flNavIgnoreUntilTimeGameTime_tCBaseEntity
0x480m_vecAngVelocityQAngleCBaseEntity
0x48cm_bNetworkQuantizeOriginAndAnglesboolCBaseEntity
0x48dm_bLagCompensateboolCBaseEntity
0x490m_pBlockerCHandle< CBaseEntity >CBaseEntity
0x494m_flLocalTimefloat32CBaseEntity
0x498m_flVPhysicsUpdateLocalTimefloat32CBaseEntity
0x49cm_nBloodTypeBloodTypeCBaseEntity
0x4a0m_pPulseGraphInstanceCPulseGraphInstance_ServerEntity*CBaseEntityMKV3TransferSaveOpsForField GetPulseInstanceSaveRestoreOps
0x4a8m_CRenderComponentCRenderComponent*CBaseModelEntityMNotSaved
0x4b0m_CHitboxComponentCHitboxComponentCBaseModelEntity
0x4c8m_pChoreoComponentCChoreoComponent*CBaseModelEntity
0x4d0m_nDestructiblePartInitialStateDestructed0HitGroup_tCBaseModelEntity
0x4d4m_nDestructiblePartInitialStateDestructed1HitGroup_tCBaseModelEntity
0x4d8m_nDestructiblePartInitialStateDestructed2HitGroup_tCBaseModelEntity
0x4dcm_nDestructiblePartInitialStateDestructed3HitGroup_tCBaseModelEntity
0x4e0m_nDestructiblePartInitialStateDestructed4HitGroup_tCBaseModelEntity
0x4e4m_nDestructiblePartInitialStateDestructed0_PartIndexint32CBaseModelEntity
0x4e8m_nDestructiblePartInitialStateDestructed1_PartIndexint32CBaseModelEntity
0x4ecm_nDestructiblePartInitialStateDestructed2_PartIndexint32CBaseModelEntity
0x4f0m_nDestructiblePartInitialStateDestructed3_PartIndexint32CBaseModelEntity
0x4f4m_nDestructiblePartInitialStateDestructed4_PartIndexint32CBaseModelEntity
0x4f8m_bDestructiblePartInitialStateDestructed0_GenerateBreakpiecesboolCBaseModelEntity
0x4f9m_bDestructiblePartInitialStateDestructed1_GenerateBreakpiecesboolCBaseModelEntity
0x4fam_bDestructiblePartInitialStateDestructed2_GenerateBreakpiecesboolCBaseModelEntity
0x4fbm_bDestructiblePartInitialStateDestructed3_GenerateBreakpiecesboolCBaseModelEntity
0x4fcm_bDestructiblePartInitialStateDestructed4_GenerateBreakpiecesboolCBaseModelEntity
0x500m_pDestructiblePartsSystemComponentCDestructiblePartsComponent*CBaseModelEntity
0x508m_OnDestructibleHitGroupDamageLevelChangedCEntityOutputTemplate< CBaseModelEntity::OnDamageLevelChangedArgs_t >CBaseModelEntity
0x530m_flDissolveStartTimeGameTime_tCBaseModelEntity
0x538m_OnIgniteCEntityIOOutputCBaseModelEntity
0x550m_nRenderModeRenderMode_tCBaseModelEntityRenderMode_t enum controlling transparency and rendering method (0 = Normal, 5 = Translucent, etc.).
0x551m_nRenderFXRenderFx_tCBaseModelEntityRenderFx_t enum for special rendering effects (pulsing, fading, hologram, etc.).
0x552m_bAllowFadeInViewboolCBaseModelEntity
0x570m_clrRenderColorCBaseModelEntityRGBA tint colour multiplied onto the entity's diffuse texture.
0x578m_vecRenderAttributesCUtlVectorEmbeddedNetworkVar< EntityRenderAttribute_t >CBaseModelEntity
0x5e0m_bRenderToCubemapsboolCBaseModelEntity
0x5e1m_bNoInterpolateboolCBaseModelEntity
0x5e8m_CollisionCCollisionPropertyCBaseModelEntityCCollisionProperty struct encoding the entity's collision bounding box shape and flags.
0x6a0m_GlowCGlowPropertyCBaseModelEntityCGlowProperty struct controlling the entity's glow outline (colour, radius, visibility rules).
0x6f8m_flGlowBackfaceMultfloat32CBaseModelEntityMultiplier for the glow effect on back-facing surfaces of the model.
0x6fcm_fadeMinDistfloat32CBaseModelEntityMinimum distance (world units) at which the entity starts to fade out.
0x700m_fadeMaxDistfloat32CBaseModelEntityDistance at which the entity is fully faded out and invisible.
0x704m_flFadeScalefloat32CBaseModelEntityScale factor applied to fade distances; 0 disables distance fading.
0x708m_flShadowStrengthfloat32CBaseModelEntityOpacity of this entity's cast shadow (0 = no shadow, 1 = full shadow).
0x70cm_nObjectCullinguint8CBaseModelEntity
0x710m_bodyGroupChoicesCUtlOrderedMap< CGlobalSymbol, int32 >CBaseModelEntity
0x738m_vecViewOffsetCNetworkViewOffsetVectorCBaseModelEntityOffset from the entity origin to the player's view position (eye height).
0x768m_bvDisabledHitGroupsuint32[1]CBaseModelEntityMKV3TransferSaveOpsForField GetHitgroupDisableListSaveRestoreOps
0x770m_graphControllerManagerCAnimGraphControllerManagerCBaseAnimGraph
0x808m_pMainGraphControllerCAnimGraphControllerPtrCBaseAnimGraphThe primary animation-graph controller instance for this entity.
0x810m_bInitiallyPopulateInterpHistoryboolCBaseAnimGraph
0x818m_OnLayerCycleUpdatedCEntityOutputTemplate< float32 >CBaseAnimGraph
0x838m_OnExternalChoreoGraphChangedCEntityIOOutputCBaseAnimGraph
0x850m_pChoreoServicesIChoreoServices*CBaseAnimGraphMKV3TransferSaveOpsForField GetChoreoServicesSaveRestoreOps
0x858m_bAnimGraphUpdateEnabledboolCBaseAnimGraph
0x859m_bAnimationUpdateScheduledboolCBaseAnimGraphMNotSaved
0x85cm_vecForceVectorCBaseAnimGraphMNotSaved
0x868m_nForceBoneint32CBaseAnimGraphMNotSaved
0x878m_pRagdollControlIPhysicsRagdollControl*CBaseAnimGraphMPhysPtr
0x880m_RagdollPosePhysicsRagdollPose_tCBaseAnimGraph
0x8a8m_bRagdollEnabledboolCBaseAnimGraphTrue while the entity is simulated as a ragdoll rather than animated.
0x8a9m_bRagdollClientSideboolCBaseAnimGraphMNotSaved
0x8b0m_xParentedRagdollRootInEntitySpaceCTransformCBaseAnimGraph
0x968m_bDamageDetonatingboolCBaseGrenade
0x970m_OnPlayerPickupCEntityIOOutputCBaseGrenade
0x988m_OnExplodeCEntityIOOutputCBaseGrenade
0x9a0m_bHasWarnedAIboolCBaseGrenade
0x9a1m_bIsSmokeGrenadeboolCBaseGrenade
0x9a2m_bIsLiveboolCBaseGrenade
0x9a4m_DmgRadiusfloat32CBaseGrenade
0x9a8m_flDetonateTimeGameTime_tCBaseGrenade
0x9acm_flWarnAITimefloat32CBaseGrenade
0x9b0m_flDamagefloat32CBaseGrenade
0x9b8m_iszBounceSoundCUtlSymbolLargeCBaseGrenade
0x9c0m_ExplosionSoundCUtlStringCBaseGrenade
0x9c8m_hThrowerCHandle< CCSPlayerPawn >CBaseGrenade
0x9e0m_flNextAttackGameTime_tCBaseGrenade
0x9e4m_hOriginalThrowerCHandle< CCSPlayerPawn >CBaseGrenade
0x9f0m_vInitialPositionVectorWSWorld-space position from which the grenade was thrown.
0x9fcm_vInitialVelocityVectorInitial velocity vector (world units per second) at the moment of throw.
0xa08m_nBouncesint32Number of times the grenade has bounced off a surface so far.
0xa10m_nExplodeEffectIndexCStrongHandle< InfoForResourceTypeIParticleSystemDefinition >Particle system definition handle for the detonation effect.
0xa18m_nExplodeEffectTickBeginint32Server tick at which the explosion particle effect started.
0xa1cm_vecExplodeEffectOriginVectorWSWorld-space position of the explosion centre.
0xa28m_flSpawnTimeGameTime_t
0xa2cm_unOGSExtraFlagsuint8
0xa2dm_bDetonationRecordedbool
0xa2em_nItemIndexuint16
0xa30m_vecOriginalSpawnLocationVectorWS
0xa3cm_flLastBounceSoundTimeGameTime_t
0xa40m_vecGrenadeSpinRotationVector
0xa4cm_vecLastHitSurfaceNormalVector
0xa58m_nTicksAtZeroVelocityint32
0xa5cm_bHasEverHitEnemybool