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
#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 */ |