Team Fortress 2 Source Code as on 22/4/2020
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.
|
|
//========= 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
|