diff options
Diffstat (limited to 'game/shared/dod/weapon_dodbasebomb.h')
| -rw-r--r-- | game/shared/dod/weapon_dodbasebomb.h | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/game/shared/dod/weapon_dodbasebomb.h b/game/shared/dod/weapon_dodbasebomb.h new file mode 100644 index 0000000..2894b64 --- /dev/null +++ b/game/shared/dod/weapon_dodbasebomb.h @@ -0,0 +1,87 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef WEAPON_DODBASEBOMB_H +#define WEAPON_DODBASEBOMB_H + +#ifdef _WIN32 +#pragma once +#endif + +#include "weapon_dodbase.h" + +#if defined( CLIENT_DLL ) + +#define CDODBaseBombWeapon C_DODBaseBombWeapon + +#else + +#include "dod_bombtarget.h" + +#endif + +//----------------------------------------------------------------------------- +// RPG +//----------------------------------------------------------------------------- +class CDODBaseBombWeapon : public CWeaponDODBase +{ +public: + DECLARE_CLASS( CDODBaseBombWeapon, CWeaponDODBase ); + DECLARE_NETWORKCLASS(); + DECLARE_PREDICTABLE(); + DECLARE_ACTTABLE(); + + CDODBaseBombWeapon(); + + virtual void Spawn(); + virtual void Precache( void ); + virtual bool Deploy(); + virtual void PrimaryAttack(); + virtual void SecondaryAttack(); + virtual bool Holster( CBaseCombatWeapon *pSwitchingTo ); + + virtual void ItemPostFrame( void ); + + virtual bool CanDrop( void ) { return false; } + virtual DODWeaponID GetWeaponID( void ) const { return WEAPON_NONE; } + virtual bool ShouldDrawCrosshair( void ) { return false; } + virtual bool HasPrimaryAmmo() { return true; } + virtual bool CanBeSelected() { return false; } + +#ifndef CLIENT_DLL + void StartPlanting( CDODBombTarget *pTarget ); + bool CancelPlanting( void ); + void CompletePlant( void ); + bool IsLookingAtBombTarget( CBasePlayer *pPlayer, CDODBombTarget *pTarget ); +#endif + + void SetPlanting( bool bPlanting ); + bool IsPlanting( void ); + +protected: + CDODWeaponInfo *m_pWeaponInfo; + +private: + CDODBaseBombWeapon( const CDODBaseBombWeapon & ); + + bool m_bPlanting; + + // pointer to the dod_bomb_target that we're planting at + EHANDLE m_hBombTarget; + + // when the plant will be complete + float m_flPlantCompleteTime; + + bool m_bUsePlant; // player hit +use to start this plant + float m_flNextPlantCheck; + +#ifndef CLIENT_DLL + DECLARE_DATADESC(); +#endif +}; + +#endif // WEAPON_DODBASEBOMB_H
\ No newline at end of file |