Entity systemClasses

CPlayer_WeaponServices

Schema class CPlayer_WeaponServices, derived from CPlayerPawnComponent.

Generated from the game's schema. Header: source2mod/schema/entity/classes/CPlayer_WeaponServices.h

Inherits CPlayerPawnComponent

Fields

FieldType
m_hMyWeaponsCUtlVector<CHandle<CBasePlayerWeapon>>
m_hActiveWeaponCHandle<CBasePlayerWeapon>
m_hLastWeaponCHandle<CBasePlayerWeapon>
m_iAmmouint16_t
m_bPreventWeaponPickupbool

Schema fields are accessors: read with entity->m_field(), write with entity->m_field = value (the write marks the field for networking).

Methods

CanUse

bool CanUse(CBasePlayerWeapon *pWeapon);

Checks if player can use weapon (fire and maybe acquire).

ParameterType
pWeaponCBasePlayerWeapon *

DropWeapon

void DropWeapon(CBasePlayerWeapon *pWeapon, Vector *pVecTarget = nullptr, Vector *pVelocity = nullptr, HookChain eChain = HookChain::Run);

Drop weapon.

ParameterTypeDefault
pWeaponCBasePlayerWeapon *
pVecTargetVector *nullptr
pVelocityVector *nullptr
eChainHookChainHookChain::Run

BumpWeapon

int BumpWeapon(CBasePlayerWeapon *pWeapon, HookChain eChain = HookChain::Run);

Probably checks weapon validity after CPlayer_ItemServices::GiveNamedItem invoke, may return 2 if CSGameRules()->IsPlayingGunGameDeathmatch, meaning that pWeapon will be deleted.

ParameterTypeDefault
pWeaponCBasePlayerWeapon *
eChainHookChainHookChain::Run

SelectItem

void SelectItem(CBasePlayerWeapon *pWeapon, int unk1 = 0, HookChain eChain = HookChain::Run);

Select weapon, If unk1 is equal to 3 some code will be executed.

ParameterTypeDefault
pWeaponCBasePlayerWeapon *
unk1int0
eChainHookChainHookChain::Run

Destroy

void Destroy(CBasePlayerWeapon *pWeapon, HookChain eChain = HookChain::Run);

Remove and destroy weapon from player.

ParameterTypeDefault
pWeaponCBasePlayerWeapon *
eChainHookChainHookChain::Run

On this page