54 lines
1.4 KiB
C++
54 lines
1.4 KiB
C++
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose: Projectile shot by wasteland scanner
|
|
//
|
|
// $Workfile: $
|
|
// $Date: $
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
// $Log: $
|
|
//
|
|
// $NoKeywords: $
|
|
//=============================================================================//
|
|
|
|
#ifndef GRENADEPATHFOLLOWER_H
|
|
#define GRENADEPATHFOLLOWER_H
|
|
|
|
#include "basegrenade_shared.h"
|
|
|
|
class RocketTrail;
|
|
|
|
class CGrenadePathfollower : public CBaseGrenade {
|
|
public:
|
|
DECLARE_CLASS(CGrenadePathfollower, CBaseGrenade);
|
|
|
|
static CGrenadePathfollower *CreateGrenadePathfollower(
|
|
string_t sModelName, string_t sFlySound, const Vector &vecOrigin,
|
|
const QAngle &vecAngles, edict_t *pentOwner);
|
|
|
|
CHandle<RocketTrail> m_hRocketTrail;
|
|
CBaseEntity *m_pPathTarget; // path corner we are heading towards
|
|
float m_flFlySpeed;
|
|
string_t m_sFlySound;
|
|
float m_flNextFlySoundTime;
|
|
|
|
Class_T Classify(void);
|
|
void Spawn(void);
|
|
void AimThink(void);
|
|
void GrenadeTouch(CBaseEntity *pOther);
|
|
void Event_Killed(const CTakeDamageInfo &info);
|
|
void Launch(float flLaunchSpeed, string_t sPathCornerName);
|
|
void PlayFlySound(void);
|
|
|
|
void EXPORT Detonate(void);
|
|
|
|
CGrenadePathfollower(void);
|
|
~CGrenadePathfollower(void);
|
|
|
|
virtual void Precache();
|
|
|
|
DECLARE_DATADESC();
|
|
};
|
|
|
|
#endif // GRENADEPATHFOLLOWER_H
|