diff options
Diffstat (limited to 'game/shared/tfc/nailgun_nail.h')
| -rw-r--r-- | game/shared/tfc/nailgun_nail.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/game/shared/tfc/nailgun_nail.h b/game/shared/tfc/nailgun_nail.h new file mode 100644 index 0000000..29dde18 --- /dev/null +++ b/game/shared/tfc/nailgun_nail.h @@ -0,0 +1,45 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//=============================================================================// + +#ifndef NAILGUN_NAIL_H +#define NAILGUN_NAIL_H +#ifdef _WIN32 +#pragma once +#endif + + +class CTFNailgunNail : public CBaseAnimating +{ +public: + DECLARE_CLASS( CTFNailgunNail, CBaseAnimating ); + DECLARE_DATADESC(); + + void Spawn(); + void Precache(); + + // Functions to create all the various types of nails. + static CTFNailgunNail *CreateNail( bool fSendClientNail, Vector vecOrigin, QAngle vecAngles, CBaseEntity *pOwner, CBaseEntity *pLauncher, bool fCreateClientNail ); + static CTFNailgunNail *CreateSuperNail( Vector vecOrigin, QAngle vecAngles, CBaseEntity *pOwner, CBaseEntity *pLauncher ); + static CTFNailgunNail *CreateTranqNail( Vector vecOrigin, QAngle vecAngles, CBaseEntity *pOwner, CBaseEntity *pLauncher ); + static CTFNailgunNail *CreateRailgunNail( Vector vecOrigin, QAngle vecAngles, CBaseEntity *pOwner, CBaseEntity *pLauncher ); + static CTFNailgunNail *CreateNailGrenNail( Vector vecOrigin, QAngle vecAngles, CBaseEntity *pOwner, CBaseEntity *pNailGren ); + + +private: + + void RailgunNail_Think(); + void NailTouch( CBaseEntity *pOther ); + void TranqTouch( CBaseEntity *pOther ); + void RailgunNailTouch( CBaseEntity *pOther ); + + +private: + Vector m_vecPreviousVelocity; + int m_iDamage; // How much damage this nail does when it hits an enemy. +}; + + +#endif // NAILGUN_NAIL_H |