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.
45 lines
1.2 KiB
45 lines
1.2 KiB
#ifndef _DEFINED_ASW_BOOMER_BLOB_H |
|
#define _DEFINED_ASW_BOOMER_BLOB_H |
|
#pragma once |
|
|
|
#include "asw_grenade_vindicator.h" |
|
|
|
extern CUtlVector<CBaseEntity*> g_aExplosiveProjectiles; |
|
|
|
class CASW_Boomer_Blob : public CASW_Grenade_Vindicator |
|
{ |
|
public: |
|
DECLARE_CLASS( CASW_Boomer_Blob, CASW_Grenade_Vindicator ); |
|
|
|
CASW_Boomer_Blob(); |
|
virtual ~CASW_Boomer_Blob(); |
|
|
|
#if !defined( CLIENT_DLL ) |
|
DECLARE_DATADESC(); |
|
#endif |
|
|
|
static CASW_Boomer_Blob *Boomer_Blob_Create( float flDamage, float fRadius, int iClusters, const Vector &position, const QAngle &angles, const Vector &velocity, |
|
const AngularImpulse &angVelocity, CBaseEntity *pOwner ); |
|
|
|
IMPLEMENT_AUTO_LIST_GET(); |
|
|
|
virtual void Spawn( ); |
|
virtual void Detonate( ); |
|
virtual void Precache( ); |
|
virtual void SetFuseLength( float fSeconds ); |
|
virtual void SetClusters(int iClusters, bool bMaster = false); |
|
virtual void CreateEffects(); |
|
|
|
private: |
|
void Touch( CBaseEntity *pOther ); |
|
void CheckNearbyTargets( ); |
|
float GetEarliestAOEDetonationTime(); |
|
void DoExplosion( ); |
|
|
|
float m_fDetonateTime; |
|
float m_fEarliestAOEDetonationTime; |
|
bool m_bModelOpening; |
|
}; |
|
|
|
|
|
#endif // _DEFINED_ASW_BOOMER_BLOB_H
|
|
|