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.
178 lines
4.6 KiB
178 lines
4.6 KiB
1 year ago
|
#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 */
|