164 lines
5.5 KiB
C++
164 lines
5.5 KiB
C++
#ifndef _INCLUDED_ASW_POWERUP_H
|
|
#define _INCLUDED_ASW_POWERUP_H
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
#ifdef CLIENT_DLL
|
|
#include "c_asw_pickup.h"
|
|
#define CASW_Powerup C_ASW_Powerup
|
|
#else
|
|
#include "asw_pickup.h"
|
|
#endif
|
|
|
|
class CASW_Powerup : public CASW_Pickup
|
|
{
|
|
DECLARE_CLASS( CASW_Powerup, CASW_Pickup );
|
|
DECLARE_NETWORKCLASS();
|
|
public:
|
|
CASW_Powerup(void);
|
|
virtual ~CASW_Powerup(void);
|
|
|
|
#ifndef CLIENT_DLL
|
|
virtual void Spawn();
|
|
virtual void Precache();
|
|
//virtual void ItemTouch( CBaseEntity *pOther );
|
|
virtual void PickupPowerup( CASW_Marine *pMarine );
|
|
|
|
virtual bool IsUsable(CBaseEntity *pUser) { return true; }
|
|
virtual void ActivateUseIcon( CASW_Marine* pMarine, int nHoldType );
|
|
virtual void SetIsSpawnFlipping( float flMaxPickupDelay );
|
|
|
|
virtual const char* GetPowerupModelName( void ) { return "models/swarm/Ammo/ammorailgun.mdl"; }
|
|
virtual const char* GetPickupSoundName( void ) { return "ASW_Powerup.Pickup_Generic"; }
|
|
virtual const char* GetIdleParticleName( void ) { return "powerup_freeze_bullets"; }
|
|
virtual const char* GetPickupParticleName( void ) { return "powerup_pickup_generic"; }
|
|
#else
|
|
virtual int GetUseIconTextureID() { BaseClass::GetUseIconTextureID(); return s_nUseIconTakePowerup_FireB; }
|
|
#endif
|
|
|
|
virtual bool AllowedToPickup(CASW_Marine *pMarine) { return true; }
|
|
|
|
float m_flCanPickupMaxTime;
|
|
bool m_bSpawnDelayDenyPickup : 1;
|
|
int m_nPowerupType;
|
|
float m_flPowerupDuration;
|
|
|
|
};
|
|
|
|
class CASW_Powerup_Bullets : public CASW_Powerup
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CASW_Powerup_Bullets, CASW_Powerup );
|
|
DECLARE_NETWORKCLASS();
|
|
|
|
#ifndef CLIENT_DLL
|
|
virtual void ActivateUseIcon( CASW_Marine* pMarine, int nHoldType );
|
|
#endif
|
|
|
|
virtual bool AllowedToPickup(CASW_Marine *pMarine);
|
|
};
|
|
|
|
class CASW_Powerup_Freeze_Bullets : public CASW_Powerup_Bullets
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CASW_Powerup_Freeze_Bullets, CASW_Powerup_Bullets );
|
|
DECLARE_NETWORKCLASS();
|
|
|
|
CASW_Powerup_Freeze_Bullets();
|
|
|
|
#ifndef CLIENT_DLL
|
|
//virtual const char* GetPickupSoundName( void ) { return "ASW_Powerup.Pickup_Generic"; }
|
|
virtual const char* GetIdleParticleName( void ) { return "powerup_freeze_bullets"; }
|
|
virtual const char* GetPickupParticleName( void ) { return "powerup_pickup_generic"; }
|
|
#else
|
|
virtual int GetUseIconTextureID() { BaseClass::GetUseIconTextureID(); return s_nUseIconTakePowerup_FreezeB; }
|
|
#endif
|
|
};
|
|
|
|
class CASW_Powerup_Fire_Bullets : public CASW_Powerup_Bullets
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CASW_Powerup_Fire_Bullets, CASW_Powerup_Bullets );
|
|
DECLARE_NETWORKCLASS();
|
|
|
|
CASW_Powerup_Fire_Bullets();
|
|
|
|
#ifndef CLIENT_DLL
|
|
//virtual const char* GetPickupSoundName( void ) { return "ASW_BuffGrenade.GrenadeActivate"; }
|
|
virtual const char* GetIdleParticleName( void ) { return "powerup_fire_bullets"; }
|
|
virtual const char* GetPickupParticleName( void ) { return "powerup_pickup_generic"; }
|
|
#else
|
|
virtual int GetUseIconTextureID() { BaseClass::GetUseIconTextureID(); return s_nUseIconTakePowerup_FireB; }
|
|
#endif
|
|
};
|
|
|
|
class CASW_Powerup_Electric_Bullets : public CASW_Powerup_Bullets
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CASW_Powerup_Electric_Bullets, CASW_Powerup_Bullets );
|
|
DECLARE_NETWORKCLASS();
|
|
|
|
CASW_Powerup_Electric_Bullets();
|
|
|
|
#ifndef CLIENT_DLL
|
|
//virtual const char* GetPickupSoundName( void ) { return "ASW_BuffGrenade.GrenadeActivate"; }
|
|
virtual const char* GetIdleParticleName( void ) { return "powerup_electric_bullets"; }
|
|
virtual const char* GetPickupParticleName( void ) { return "powerup_pickup_generic"; }
|
|
#else
|
|
virtual int GetUseIconTextureID() { BaseClass::GetUseIconTextureID(); return s_nUseIconTakePowerup_ElectricB; }
|
|
#endif
|
|
};
|
|
|
|
class CASW_Powerup_Chemical_Bullets : public CASW_Powerup_Bullets
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CASW_Powerup_Chemical_Bullets, CASW_Powerup_Bullets );
|
|
DECLARE_NETWORKCLASS();
|
|
|
|
CASW_Powerup_Chemical_Bullets();
|
|
|
|
#ifndef CLIENT_DLL
|
|
//virtual const char* GetPickupSoundName( void ) { return "ASW_BuffGrenade.GrenadeActivate"; }
|
|
virtual const char* GetIdleParticleName( void ) { return "powerup_chemical_bullets"; }
|
|
virtual const char* GetPickupParticleName( void ) { return "powerup_pickup_generic"; }
|
|
#else
|
|
virtual int GetUseIconTextureID() { BaseClass::GetUseIconTextureID(); return s_nUseIconTakePowerup_ChemicalB; }
|
|
#endif
|
|
};
|
|
|
|
class CASW_Powerup_Explosive_Bullets : public CASW_Powerup_Bullets
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CASW_Powerup_Explosive_Bullets, CASW_Powerup_Bullets );
|
|
DECLARE_NETWORKCLASS();
|
|
|
|
CASW_Powerup_Explosive_Bullets();
|
|
|
|
#ifndef CLIENT_DLL
|
|
//virtual const char* GetPickupSoundName( void ) { return "ASW_BuffGrenade.GrenadeActivate"; }
|
|
virtual const char* GetIdleParticleName( void ) { return "powerup_explosive_bullets"; }
|
|
virtual const char* GetPickupParticleName( void ) { return "powerup_pickup_generic"; }
|
|
#else
|
|
virtual int GetUseIconTextureID() { BaseClass::GetUseIconTextureID(); return s_nUseIconTakePowerup_ExplodeB; }
|
|
#endif
|
|
};
|
|
|
|
class CASW_Powerup_Increased_Speed : public CASW_Powerup
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CASW_Powerup_Increased_Speed, CASW_Powerup );
|
|
DECLARE_NETWORKCLASS();
|
|
|
|
CASW_Powerup_Increased_Speed();
|
|
|
|
#ifndef CLIENT_DLL
|
|
//virtual const char* GetPickupSoundName( void ) { return "ASW_BuffGrenade.GrenadeActivate"; }
|
|
virtual const char* GetIdleParticleName( void ) { return "powerup_increased_speed"; }
|
|
virtual const char* GetPickupParticleName( void ) { return "powerup_pickup_generic"; }
|
|
#else
|
|
virtual int GetUseIconTextureID() { BaseClass::GetUseIconTextureID(); return s_nUseIconTakePowerup_Speed; }
|
|
#endif
|
|
};
|
|
|
|
#endif // _INCLUDED_ASW_POWERUP_H
|