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.
217 lines
5.9 KiB
217 lines
5.9 KiB
#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 */ |