sqwarmed/sdk_src/game/server/swarm/asw_ammo.h

178 lines
4.8 KiB
C++

#ifndef _DEFINED_ASW_AMMO_H
#define _DEFINED_ASW_AMMO_H
#include "asw_pickup.h"
class CASW_Player;
class CASW_Marine;
DECLARE_AUTO_LIST( IAmmoPickupAutoList );
class CASW_Ammo : public CASW_Pickup, public IAmmoPickupAutoList
{
public:
DECLARE_CLASS( CASW_Ammo, CASW_Pickup );
virtual void Spawn( void );
virtual bool AllowedToPickup(CASW_Marine *pMarine);
int GetAmmoType() { return m_iAmmoIndex; }
static bool VismonCallback( CBaseEntity *pPickup, CBasePlayer *pViewingPlayer );
IMPLEMENT_AUTO_LIST_GET();
int m_iAmmoIndex;
};
class CASW_Ammo_Rifle : public CASW_Ammo
{
public:
DECLARE_CLASS( CASW_Ammo_Rifle, CASW_Ammo );
DECLARE_SERVERCLASS();
DECLARE_DATADESC();
virtual void Spawn( void );
virtual void Precache( void );
virtual void ActivateUseIcon( CASW_Marine* pMarine, int nHoldType ); // player has used this item
// Classification
virtual Class_T Classify( void ) { return (Class_T) CLASS_ASW_AMMO_RIFLE; }
};
class CASW_Ammo_Autogun : public CASW_Ammo
{
public:
DECLARE_CLASS( CASW_Ammo_Autogun, CASW_Ammo );
DECLARE_SERVERCLASS();
DECLARE_DATADESC();
virtual void Spawn( void );
virtual void Precache( void );
virtual void ActivateUseIcon( CASW_Marine* pMarine, int nHoldType ); // player has used this item
// Classification
virtual Class_T Classify( void ) { return (Class_T) CLASS_ASW_AMMO_AUTOGUN; }
};
class CASW_Ammo_Shotgun : public CASW_Ammo
{
public:
DECLARE_CLASS( CASW_Ammo_Shotgun, CASW_Ammo );
DECLARE_SERVERCLASS();
DECLARE_DATADESC();
virtual void Spawn( void );
virtual void Precache( void );
virtual void ActivateUseIcon( CASW_Marine* pMarine, int nHoldType ); // player has used this item
// Classification
virtual Class_T Classify( void ) { return (Class_T) CLASS_ASW_AMMO_SHOTGUN; }
};
class CASW_Ammo_Assault_Shotgun : public CASW_Ammo
{
public:
DECLARE_CLASS( CASW_Ammo_Assault_Shotgun, CASW_Ammo );
DECLARE_SERVERCLASS();
DECLARE_DATADESC();
virtual void Spawn( void );
virtual void Precache( void );
virtual void ActivateUseIcon( CASW_Marine* pMarine, int nHoldType ); // player has used this item
// Classification
virtual Class_T Classify( void ) { return (Class_T) CLASS_ASW_AMMO_ASSAULT_SHOTGUN; }
};
class CASW_Ammo_Flamer : public CASW_Ammo
{
public:
DECLARE_CLASS( CASW_Ammo_Flamer, CASW_Ammo );
DECLARE_SERVERCLASS();
DECLARE_DATADESC();
virtual void Spawn( void );
virtual void Precache( void );
virtual void ActivateUseIcon( CASW_Marine* pMarine, int nHoldType ); // player has used this item
// Classification
virtual Class_T Classify( void ) { return (Class_T) CLASS_ASW_AMMO_PISTOL; }
};
class CASW_Ammo_Pistol : public CASW_Ammo
{
public:
DECLARE_CLASS( CASW_Ammo_Pistol, CASW_Ammo );
DECLARE_SERVERCLASS();
DECLARE_DATADESC();
virtual void Spawn( void );
virtual void Precache( void );
virtual void ActivateUseIcon( CASW_Marine* pMarine, int nHoldType ); // player has used this item
// Classification
virtual Class_T Classify( void ) { return (Class_T) CLASS_ASW_AMMO_PISTOL; }
};
class CASW_Ammo_Mining_Laser : public CASW_Ammo
{
public:
DECLARE_CLASS( CASW_Ammo_Mining_Laser, CASW_Ammo );
DECLARE_SERVERCLASS();
DECLARE_DATADESC();
virtual void Spawn( void );
virtual void Precache( void );
virtual void ActivateUseIcon( CASW_Marine* pMarine, int nHoldType ); // player has used this item
// Classification
virtual Class_T Classify( void ) { return (Class_T) CLASS_ASW_AMMO_MINING_LASER; }
};
class CASW_Ammo_Railgun : public CASW_Ammo
{
public:
DECLARE_CLASS( CASW_Ammo_Railgun, CASW_Ammo );
DECLARE_SERVERCLASS();
DECLARE_DATADESC();
virtual void Spawn( void );
virtual void Precache( void );
virtual void ActivateUseIcon( CASW_Marine* pMarine, int nHoldType ); // player has used this item
// Classification
virtual Class_T Classify( void ) { return (Class_T) CLASS_ASW_AMMO_RAILGUN; }
};
class CASW_Ammo_Chainsaw : public CASW_Ammo
{
public:
DECLARE_CLASS( CASW_Ammo_Chainsaw, CASW_Ammo );
DECLARE_SERVERCLASS();
DECLARE_DATADESC();
virtual void Spawn( void );
virtual void Precache( void );
virtual void ActivateUseIcon( CASW_Marine* pMarine, int nHoldType ); // player has used this item
// Classification
virtual Class_T Classify( void ) { return (Class_T) CLASS_ASW_AMMO_CHAINSAW; }
};
class CASW_Ammo_PDW : public CASW_Ammo
{
public:
DECLARE_CLASS( CASW_Ammo_PDW, CASW_Ammo );
DECLARE_SERVERCLASS();
DECLARE_DATADESC();
virtual void Spawn( void );
virtual void Precache( void );
virtual void ActivateUseIcon( CASW_Marine* pMarine, int nHoldType ); // player has used this item
// Classification
virtual Class_T Classify( void ) { return (Class_T) CLASS_ASW_AMMO_PDW; }
};
#endif /* _DEFINED_ASW_AMMO_H */