Modified source engine (2017) developed by valve and leaked in 2020. Not for commercial purporses
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

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