You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
1.7 KiB
79 lines
1.7 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
//=============================================================================// |
|
|
|
#ifndef WEAPON_BASESDKGRENADE_H |
|
#define WEAPON_BASESDKGRENADE_H |
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
|
|
#include "weapon_sdkbase.h" |
|
|
|
|
|
#ifdef CLIENT_DLL |
|
|
|
#define CBaseSDKGrenade C_BaseSDKGrenade |
|
|
|
#endif |
|
|
|
|
|
class CBaseSDKGrenade : public CWeaponSDKBase |
|
{ |
|
public: |
|
DECLARE_CLASS( CBaseSDKGrenade, CWeaponSDKBase ); |
|
DECLARE_NETWORKCLASS(); |
|
DECLARE_PREDICTABLE(); |
|
|
|
CBaseSDKGrenade(); |
|
|
|
virtual void Precache(); |
|
|
|
bool Deploy(); |
|
bool Holster( CBaseCombatWeapon *pSwitchingTo ); |
|
|
|
void PrimaryAttack(); |
|
void SecondaryAttack(); |
|
|
|
bool Reload(); |
|
|
|
virtual void ItemPostFrame(); |
|
|
|
void DecrementAmmo( CBaseCombatCharacter *pOwner ); |
|
virtual void StartGrenadeThrow(); |
|
virtual void ThrowGrenade(); |
|
virtual void DropGrenade(); |
|
|
|
bool IsPinPulled() const; |
|
|
|
#ifndef CLIENT_DLL |
|
DECLARE_DATADESC(); |
|
|
|
virtual bool AllowsAutoSwitchFrom( void ) const; |
|
|
|
int CapabilitiesGet(); |
|
|
|
// Each derived grenade class implements this. |
|
virtual void EmitGrenade( Vector vecSrc, QAngle vecAngles, Vector vecVel, AngularImpulse angImpulse, CBasePlayer *pPlayer ); |
|
#endif |
|
|
|
protected: |
|
CNetworkVar( bool, m_bRedraw ); // Draw the weapon again after throwing a grenade |
|
CNetworkVar( bool, m_bPinPulled ); // Set to true when the pin has been pulled but the grenade hasn't been thrown yet. |
|
CNetworkVar( float, m_fThrowTime ); // the time at which the grenade will be thrown. If this value is 0 then the time hasn't been set yet. |
|
|
|
private: |
|
CBaseSDKGrenade( const CBaseSDKGrenade & ) {} |
|
}; |
|
|
|
|
|
inline bool CBaseSDKGrenade::IsPinPulled() const |
|
{ |
|
return m_bPinPulled; |
|
} |
|
|
|
|
|
#endif // WEAPON_BASESDKGRENADE_H
|
|
|