diff options
Diffstat (limited to 'game/shared/dod/weapon_dodbaserpg.h')
| -rw-r--r-- | game/shared/dod/weapon_dodbaserpg.h | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/game/shared/dod/weapon_dodbaserpg.h b/game/shared/dod/weapon_dodbaserpg.h new file mode 100644 index 0000000..0b570c7 --- /dev/null +++ b/game/shared/dod/weapon_dodbaserpg.h @@ -0,0 +1,88 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef WEAPON_DODBASERPG_H +#define WEAPON_DODBASERPG_H + +#ifdef _WIN32 +#pragma once +#endif + +#include "weapon_dodbase.h" + + +#if defined( CLIENT_DLL ) + + #define CDODBaseRocketWeapon C_DODBaseRocketWeapon + +#endif + +//----------------------------------------------------------------------------- +// RPG +//----------------------------------------------------------------------------- +class CDODBaseRocketWeapon : public CWeaponDODBase +{ +public: + DECLARE_CLASS( CDODBaseRocketWeapon, CWeaponDODBase ); + DECLARE_NETWORKCLASS(); + DECLARE_PREDICTABLE(); + + CDODBaseRocketWeapon(); + + virtual void Spawn(); + virtual void PrimaryAttack(); + virtual void SecondaryAttack(); + virtual bool Deploy(); + virtual bool CanHolster(); + virtual bool Holster( CBaseCombatWeapon *pSwitchingTo = NULL ); + virtual bool Reload(); + virtual void WeaponIdle(); + virtual void Drop( const Vector &vecVelocity ); + + virtual bool CanDrop( void ) { return ( IsDeployed() == false ); } + + void DoFireEffects(); + + void Precache( void ); + + void Raise(); + bool Lower(); + + virtual Activity GetDrawActivity( void ); + virtual Activity GetIdleActivity( void ); + virtual Activity GetLowerActivity( void ); + virtual Activity GetRaiseActivity( void ); + + virtual void FireRocket( void ); + + inline bool IsDeployed() { return m_bDeployed; } + inline void SetDeployed( bool bDeployed ) { m_bDeployed = bDeployed; } + + bool ShouldPlayerBeSlow( void ); + + virtual bool ShouldAutoEjectBrass( void ) { return false; } + +#ifdef CLIENT_DLL + virtual void OverrideMouseInput( float *x, float *y ); +#endif + + virtual float GetRecoil( void ) { return 10.0f; } + +protected: + CNetworkVar( bool, m_bDeployed ); + + CDODWeaponInfo *m_pWeaponInfo; + +private: + CDODBaseRocketWeapon( const CDODBaseRocketWeapon & ); + +#ifndef CLIENT_DLL + DECLARE_DATADESC(); +#endif +}; + +#endif // WEAPON_DODBASERPG_H
\ No newline at end of file |