217 lines
6.1 KiB
C++
217 lines
6.1 KiB
C++
#ifndef _DEFINED_ASW_PICKUP_WEAPON_H
|
|
#define _DEFINED_ASW_PICKUP_WEAPON_H
|
|
|
|
#include "asw_pickup.h"
|
|
|
|
class CASW_Player;
|
|
class CASW_Weapon;
|
|
class CASW_Marine;
|
|
|
|
class CASW_Pickup_Weapon : public CASW_Pickup
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CASW_Pickup_Weapon, CASW_Pickup );
|
|
DECLARE_SERVERCLASS();
|
|
DECLARE_DATADESC();
|
|
|
|
static bool VismonCallback( CBaseEntity *pPickup, CBasePlayer *pViewingPlayer );
|
|
|
|
virtual void Spawn( void );
|
|
virtual void ActivateUseIcon( CASW_Marine* pMarine, int nHoldType ); // player has used this item
|
|
virtual void InitFrom(CASW_Marine* pMarine,CASW_Weapon* pWeapon); // sets the pickup up with the contents of the specified marine+weapon
|
|
virtual const char* GetWeaponClass() { return "asw_weapon_rifle"; }
|
|
virtual void InitWeapon(CASW_Marine* pMarine, CASW_Weapon* pWeapon);
|
|
virtual bool AllowedToPickup(CASW_Marine *pMarine);
|
|
|
|
virtual int GetNumClips() { return m_iClips; }
|
|
virtual int GetNumBulletsInGun() { return m_iBulletsInGun; }
|
|
virtual int GetSecondary() { return m_iSecondary; }
|
|
|
|
CNetworkVar(int, m_iBulletsInGun);
|
|
CNetworkVar(int, m_iClips);
|
|
CNetworkVar(int, m_iSecondary);
|
|
};
|
|
|
|
class CASW_Pickup_Weapon_Rifle : public CASW_Pickup_Weapon
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CASW_Pickup_Weapon_Rifle, CASW_Pickup_Weapon );
|
|
DECLARE_SERVERCLASS();
|
|
DECLARE_DATADESC();
|
|
|
|
virtual void Precache( void );
|
|
virtual void Spawn( void );
|
|
virtual const char* GetWeaponClass() { return "asw_weapon_rifle"; }
|
|
};
|
|
|
|
class CASW_Pickup_Weapon_PRifle : public CASW_Pickup_Weapon
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CASW_Pickup_Weapon_PRifle, CASW_Pickup_Weapon );
|
|
DECLARE_SERVERCLASS();
|
|
DECLARE_DATADESC();
|
|
|
|
virtual void Precache( void );
|
|
virtual void Spawn( void );
|
|
virtual const char* GetWeaponClass() { return "asw_weapon_prifle"; }
|
|
};
|
|
|
|
class CASW_Pickup_Weapon_Autogun : public CASW_Pickup_Weapon
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CASW_Pickup_Weapon_Autogun, CASW_Pickup_Weapon );
|
|
DECLARE_SERVERCLASS();
|
|
DECLARE_DATADESC();
|
|
|
|
virtual void Precache( void );
|
|
virtual void Spawn( void );
|
|
virtual const char* GetWeaponClass() { return "asw_weapon_autogun"; }
|
|
};
|
|
|
|
class CASW_Pickup_Weapon_Shotgun : public CASW_Pickup_Weapon
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CASW_Pickup_Weapon_Shotgun, CASW_Pickup_Weapon );
|
|
DECLARE_SERVERCLASS();
|
|
DECLARE_DATADESC();
|
|
|
|
virtual void Precache( void );
|
|
virtual void Spawn( void );
|
|
virtual const char* GetWeaponClass() { return "asw_weapon_shotgun"; }
|
|
};
|
|
|
|
class CASW_Pickup_Weapon_Assault_Shotgun : public CASW_Pickup_Weapon
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CASW_Pickup_Weapon_Assault_Shotgun, CASW_Pickup_Weapon );
|
|
DECLARE_SERVERCLASS();
|
|
DECLARE_DATADESC();
|
|
|
|
virtual void Precache( void );
|
|
virtual void Spawn( void );
|
|
virtual const char* GetWeaponClass() { return "asw_weapon_vindicator"; }
|
|
};
|
|
|
|
class CASW_Pickup_Weapon_Flamer : public CASW_Pickup_Weapon
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CASW_Pickup_Weapon_Flamer, CASW_Pickup_Weapon );
|
|
DECLARE_SERVERCLASS();
|
|
DECLARE_DATADESC();
|
|
|
|
virtual void Precache( void );
|
|
virtual void Spawn( void );
|
|
virtual const char* GetWeaponClass() { return "asw_weapon_flamer"; }
|
|
};
|
|
|
|
class CASW_Pickup_Weapon_Railgun : public CASW_Pickup_Weapon
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CASW_Pickup_Weapon_Railgun, CASW_Pickup_Weapon );
|
|
DECLARE_SERVERCLASS();
|
|
DECLARE_DATADESC();
|
|
|
|
virtual void Precache( void );
|
|
virtual void Spawn( void );
|
|
virtual const char* GetWeaponClass() { return "asw_weapon_railgun"; }
|
|
};
|
|
|
|
class CASW_Pickup_Weapon_Ricochet : public CASW_Pickup_Weapon
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CASW_Pickup_Weapon_Ricochet, CASW_Pickup_Weapon );
|
|
DECLARE_SERVERCLASS();
|
|
DECLARE_DATADESC();
|
|
|
|
virtual void Precache( void );
|
|
virtual void Spawn( void );
|
|
virtual const char* GetWeaponClass() { return "asw_weapon_ricochet"; }
|
|
};
|
|
|
|
class CASW_Pickup_Weapon_Flechette : public CASW_Pickup_Weapon
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CASW_Pickup_Weapon_Flechette, CASW_Pickup_Weapon );
|
|
DECLARE_SERVERCLASS();
|
|
DECLARE_DATADESC();
|
|
|
|
virtual void Precache( void );
|
|
virtual void Spawn( void );
|
|
virtual const char* GetWeaponClass() { return "asw_weapon_flechette"; }
|
|
};
|
|
|
|
class CASW_Pickup_Weapon_FireExtinguisher : public CASW_Pickup_Weapon
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CASW_Pickup_Weapon_FireExtinguisher, CASW_Pickup_Weapon );
|
|
DECLARE_SERVERCLASS();
|
|
DECLARE_DATADESC();
|
|
|
|
virtual void Precache( void );
|
|
virtual void Spawn( void );
|
|
virtual const char* GetWeaponClass() { return "asw_weapon_fire_extinguisher"; }
|
|
};
|
|
|
|
class CASW_Pickup_Weapon_Pistol : public CASW_Pickup_Weapon
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CASW_Pickup_Weapon_Pistol, CASW_Pickup_Weapon );
|
|
DECLARE_SERVERCLASS();
|
|
DECLARE_DATADESC();
|
|
|
|
virtual void Precache( void );
|
|
virtual void Spawn( void );
|
|
virtual const char* GetWeaponClass() { return "asw_weapon_pistol"; }
|
|
};
|
|
|
|
class CASW_Pickup_Weapon_Mining_Laser : public CASW_Pickup_Weapon
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CASW_Pickup_Weapon_Mining_Laser, CASW_Pickup_Weapon );
|
|
DECLARE_SERVERCLASS();
|
|
DECLARE_DATADESC();
|
|
|
|
virtual void Precache( void );
|
|
virtual void Spawn( void );
|
|
virtual const char* GetWeaponClass() { return "asw_weapon_mining_laser"; }
|
|
};
|
|
|
|
class CASW_Pickup_Weapon_Chainsaw : public CASW_Pickup_Weapon
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CASW_Pickup_Weapon_Chainsaw, CASW_Pickup_Weapon );
|
|
DECLARE_SERVERCLASS();
|
|
DECLARE_DATADESC();
|
|
|
|
virtual void Precache( void );
|
|
virtual void Spawn( void );
|
|
virtual const char* GetWeaponClass() { return "asw_weapon_chainsaw"; }
|
|
};
|
|
|
|
class CASW_Pickup_Weapon_PDW : public CASW_Pickup_Weapon
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CASW_Pickup_Weapon_PDW, CASW_Pickup_Weapon );
|
|
DECLARE_SERVERCLASS();
|
|
DECLARE_DATADESC();
|
|
|
|
virtual void Precache( void );
|
|
virtual void Spawn( void );
|
|
virtual const char* GetWeaponClass() { return "asw_weapon_pdw"; }
|
|
};
|
|
|
|
class CASW_Pickup_Weapon_Grenades : public CASW_Pickup_Weapon
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CASW_Pickup_Weapon_Grenades, CASW_Pickup_Weapon );
|
|
DECLARE_SERVERCLASS();
|
|
DECLARE_DATADESC();
|
|
|
|
virtual void Precache( void );
|
|
virtual void Spawn( void );
|
|
virtual const char* GetWeaponClass() { return "asw_weapon_grenades"; }
|
|
};
|
|
|
|
|
|
|
|
#endif /* _DEFINED_ASW_PICKUP_WEAPON_H */ |