summaryrefslogtreecommitdiff
path: root/game/shared/dod/weapon_dodbasebomb.h
diff options
context:
space:
mode:
Diffstat (limited to 'game/shared/dod/weapon_dodbasebomb.h')
-rw-r--r--game/shared/dod/weapon_dodbasebomb.h87
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