source-engine/game/server/tf2base/tf_projectile_rocket.h
2022-08-13 03:20:41 +03:00

46 lines
1.2 KiB
C++

//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======
//
// TF Rocket Projectile
//
//=============================================================================
#ifndef TF_PROJECTILE_ROCKET_H
#define TF_PROJECTILE_ROCKET_H
#ifdef _WIN32
#pragma once
#endif
#include "tf_weaponbase_rocket.h"
#include "iscorer.h"
//=============================================================================
//
// Generic rocket.
//
class CTFProjectile_Rocket : public CTFBaseRocket, public IScorer
{
public:
DECLARE_CLASS( CTFProjectile_Rocket, CTFBaseRocket );
DECLARE_NETWORKCLASS();
// Creation.
static CTFProjectile_Rocket *Create( const Vector &vecOrigin, const QAngle &vecAngles, CBaseEntity *pOwner = NULL, CBaseEntity *pScorer = NULL );
virtual void Spawn();
virtual void Precache();
// IScorer interface
virtual CBasePlayer *GetScorer( void );
virtual CBasePlayer *GetAssistant( void ) { return NULL; }
void SetScorer( CBaseEntity *pScorer );
void SetCritical( bool bCritical ) { m_bCritical = bCritical; }
virtual int GetDamageType();
private:
CBaseHandle m_Scorer;
CNetworkVar( bool, m_bCritical );
};
#endif //TF_PROJECTILE_ROCKET_H