diff options
| author | Joe Ludwig <[email protected]> | 2013-06-26 15:22:04 -0700 |
|---|---|---|
| committer | Joe Ludwig <[email protected]> | 2013-06-26 15:22:04 -0700 |
| commit | 39ed87570bdb2f86969d4be821c94b722dc71179 (patch) | |
| tree | abc53757f75f40c80278e87650ea92808274aa59 /sp/src/game/server/hl2/grenade_tripwire.h | |
| download | source-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.tar.xz source-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.zip | |
First version of the SOurce SDK 2013
Diffstat (limited to 'sp/src/game/server/hl2/grenade_tripwire.h')
| -rw-r--r-- | sp/src/game/server/hl2/grenade_tripwire.h | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/sp/src/game/server/hl2/grenade_tripwire.h b/sp/src/game/server/hl2/grenade_tripwire.h new file mode 100644 index 00000000..5aefbf46 --- /dev/null +++ b/sp/src/game/server/hl2/grenade_tripwire.h @@ -0,0 +1,80 @@ +//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose: Tripmine
+//
+// $Workfile: $
+// $Date: $
+// $NoKeywords: $
+//=============================================================================//
+
+#ifndef TRIPWIRE_H
+#define TRIPWIRE_H
+
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include "basegrenade_shared.h"
+
+class CRopeKeyframe;
+
+// ####################################################################
+// CTripwireHook
+//
+// This is what the tripwire shoots out at the end of the rope
+// ####################################################################
+class CTripwireHook : public CBaseAnimating
+{
+ DECLARE_DATADESC();
+public:
+ DECLARE_CLASS( CTripwireHook, CBaseAnimating );
+
+ EHANDLE m_hGrenade;
+ bool m_bAttached;
+
+ void Spawn( void );
+ void Precache( void );
+ bool CreateVPhysics( void );
+ void EndTouch( CBaseEntity *pOther );
+ void SetVelocity( const Vector &velocity, const AngularImpulse &angVelocity );
+};
+
+class CTripwireGrenade : public CBaseGrenade
+{
+public:
+ DECLARE_CLASS( CTripwireGrenade, CBaseGrenade );
+
+ CTripwireGrenade();
+ void Spawn( void );
+ void Precache( void );
+
+ int OnTakeDamage_Alive( const CTakeDamageInfo &info );
+
+ void WarningThink( void );
+ void PowerupThink( void );
+ void RopeBreakThink( void );
+ void FireThink( void );
+ void Event_Killed( const CTakeDamageInfo &info );
+ void Attach( void );
+
+ void MakeRope( void );
+ void BreakRope( void );
+ void ShakeRope( void );
+ void FireMissile(const Vector &vTargetPos);
+
+private:
+ float m_flPowerUp;
+ Vector m_vecDir;
+
+ int m_nMissileCount;
+
+ Vector m_vTargetPos;
+ Vector m_vTargetOffset;
+
+ CRopeKeyframe* m_pRope;
+ CTripwireHook* m_pHook;
+
+ DECLARE_DATADESC();
+};
+
+#endif //TRIPWIRE_H
|