diff options
Diffstat (limited to 'game/server/dod/dod_baserocket.h')
| -rw-r--r-- | game/server/dod/dod_baserocket.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/game/server/dod/dod_baserocket.h b/game/server/dod/dod_baserocket.h new file mode 100644 index 0000000..6e1e636 --- /dev/null +++ b/game/server/dod/dod_baserocket.h @@ -0,0 +1,67 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef DOD_BASEROCKET_H +#define DOD_BASEROCKET_H + +#ifdef _WIN32 +#pragma once +#endif + +#include "cbase.h" +#include "baseanimating.h" +#include "smoke_trail.h" +#include "weapon_dodbase.h" + +class RocketTrail; + +//================================================ +// CDODBaseRocket +//================================================ +class CDODBaseRocket : public CBaseAnimating +{ + DECLARE_CLASS( CDODBaseRocket, CBaseAnimating ); + +public: + CDODBaseRocket(); + ~CDODBaseRocket(); + + void Spawn( void ); + void Precache( void ); + void RocketTouch( CBaseEntity *pOther ); + void Explode( void ); + void Fire( void ); + + virtual float GetDamage() { return m_flDamage; } + virtual void SetDamage(float flDamage) { m_flDamage = flDamage; } + + unsigned int PhysicsSolidMaskForEntity( void ) const; + + static CDODBaseRocket *Create( const char *szClassname, const Vector &vecOrigin, const QAngle &vecAngles, CBaseEntity *pOwner ); + + void SetupInitialTransmittedGrenadeVelocity( const Vector &velocity ); + + virtual DODWeaponID GetEmitterWeaponID() { return WEAPON_NONE; Assert(0); } + +protected: + virtual void DoExplosion( trace_t *pTrace ); + + void FlyThink( void ); + + float m_flDamage; + + CNetworkVector( m_vInitialVelocity ); + +private: + DECLARE_DATADESC(); + DECLARE_SERVERCLASS(); + + float m_flCollideWithTeammatesTime; + bool m_bCollideWithTeammates; +}; + +#endif // DOD_BASEROCKET_H
\ No newline at end of file |