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.
53 lines
1.6 KiB
53 lines
1.6 KiB
#ifndef _INCLUDED_ASW_T75_H |
|
#define _INCLUDED_ASW_T75_H |
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
#include "basecombatcharacter.h" |
|
#include "iasw_server_usable_entity.h" |
|
|
|
class CASW_T75 : public CBaseCombatCharacter, public IASW_Server_Usable_Entity |
|
{ |
|
DECLARE_CLASS( CASW_T75, CBaseCombatCharacter ); |
|
DECLARE_SERVERCLASS(); |
|
DECLARE_DATADESC(); |
|
|
|
CASW_T75(); |
|
virtual ~CASW_T75(); |
|
|
|
public: |
|
void Spawn( void ); |
|
void Precache( void ); |
|
unsigned int PhysicsSolidMaskForEntity() const { return MASK_NPCSOLID; } |
|
static CASW_T75* ASW_T75_Create( const Vector &position, const QAngle &angles, const Vector &velocity, const AngularImpulse &angVelocity, CBaseEntity *pOwner, CBaseEntity *pCreatorWeapon = NULL ); |
|
void TouchT75( CBaseEntity *pOther ); |
|
Class_T Classify( void ) { return (Class_T) CLASS_ASW_T75; } |
|
|
|
void Arm(); |
|
void Explode(); |
|
void CountdownThink( void ); |
|
|
|
// IASW_Server_Usable_Entity implementation |
|
virtual CBaseEntity* GetEntity() { return this; } |
|
virtual bool IsUsable(CBaseEntity *pUser); |
|
virtual bool RequirementsMet( CBaseEntity *pUser ) { return true; } |
|
virtual void ActivateUseIcon( CASW_Marine* pMarine, int nHoldType ); |
|
virtual void MarineUsing(CASW_Marine* pMarine, float deltatime); |
|
virtual void MarineStartedUsing(CASW_Marine* pMarine); |
|
virtual void MarineStoppedUsing(CASW_Marine* pMarine); |
|
virtual bool NeedsLOSCheck() { return true; } |
|
|
|
CNetworkVar( bool, m_bArmed ); |
|
CNetworkVar( bool, m_bIsInUse ); |
|
CNetworkVar( float, m_flArmProgress ); |
|
|
|
int m_iCountdown; |
|
float m_flDamageRadius; |
|
float m_flDamage; |
|
|
|
EHANDLE m_hCreatorWeapon; |
|
}; |
|
|
|
|
|
#endif // _INCLUDED_ASW_T75_H
|
|
|