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.
80 lines
1.7 KiB
80 lines
1.7 KiB
//========= 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
|
|
|