source-engine/game/client/swarm/c_asw_pickup_weapon.h
2023-10-03 17:23:56 +03:00

185 lines
5.0 KiB
C++

#ifndef _DEFINED_C_ASW_PICKUP_WEAPON_H
#define _DEFINED_C_ASW_PICKUP_WEAPON_H
#include "c_asw_pickup.h"
#include "utldict.h"
class C_ASW_Pickup_Weapon : public C_ASW_Pickup
{
public:
DECLARE_CLASS( C_ASW_Pickup_Weapon, C_ASW_Pickup );
DECLARE_CLIENTCLASS();
C_ASW_Pickup_Weapon();
virtual bool AllowedToPickup(C_ASW_Marine *pMarine);
virtual bool GetUseAction(ASWUseAction &action, C_ASW_Marine *pUser);
virtual const char* GetWeaponClass() { return "asw_weapon_rifle"; }
virtual int GetUseIconTextureID() { return m_nUseIconTextureID; }
virtual void GetUseIconText( wchar_t *unicode, int unicodeBufferSizeInBytes );
virtual void InitPickup();
CNetworkVar(int, m_iBulletsInGun);
CNetworkVar(int, m_iClips);
CNetworkVar(int, m_iSecondary);
int m_nUseIconTextureID;
bool m_bWideIcon;
bool m_bSwappingWeapon;
};
extern CUtlDict< int, int > g_WeaponUseIcons;
class C_ASW_Pickup_Weapon_Rifle : public C_ASW_Pickup_Weapon
{
public:
DECLARE_CLASS( C_ASW_Pickup_Weapon_Rifle, C_ASW_Pickup_Weapon );
DECLARE_CLIENTCLASS();
virtual const char* GetWeaponClass() { return "asw_weapon_rifle"; }
C_ASW_Pickup_Weapon_Rifle();
};
class C_ASW_Pickup_Weapon_PRifle : public C_ASW_Pickup_Weapon
{
public:
DECLARE_CLASS( C_ASW_Pickup_Weapon_PRifle, C_ASW_Pickup_Weapon );
DECLARE_CLIENTCLASS();
virtual const char* GetWeaponClass() { return "asw_weapon_prifle"; }
C_ASW_Pickup_Weapon_PRifle();
};
class C_ASW_Pickup_Weapon_Autogun : public C_ASW_Pickup_Weapon
{
public:
DECLARE_CLASS( C_ASW_Pickup_Weapon_Autogun, C_ASW_Pickup_Weapon );
DECLARE_CLIENTCLASS();
virtual const char* GetWeaponClass() { return "asw_weapon_autogun"; }
C_ASW_Pickup_Weapon_Autogun();
};
class C_ASW_Pickup_Weapon_Shotgun : public C_ASW_Pickup_Weapon
{
public:
DECLARE_CLASS( C_ASW_Pickup_Weapon_Shotgun, C_ASW_Pickup_Weapon );
DECLARE_CLIENTCLASS();
virtual const char* GetWeaponClass() { return "asw_weapon_shotgun"; }
C_ASW_Pickup_Weapon_Shotgun();
};
class C_ASW_Pickup_Weapon_Assault_Shotgun : public C_ASW_Pickup_Weapon
{
public:
DECLARE_CLASS( C_ASW_Pickup_Weapon_Assault_Shotgun, C_ASW_Pickup_Weapon );
DECLARE_CLIENTCLASS();
virtual const char* GetWeaponClass() { return "asw_weapon_vindicator"; }
C_ASW_Pickup_Weapon_Assault_Shotgun();
};
class C_ASW_Pickup_Weapon_Flamer : public C_ASW_Pickup_Weapon
{
public:
DECLARE_CLASS( C_ASW_Pickup_Weapon_Flamer, C_ASW_Pickup_Weapon );
DECLARE_CLIENTCLASS();
virtual const char* GetWeaponClass() { return "asw_weapon_flamer"; }
C_ASW_Pickup_Weapon_Flamer();
};
class C_ASW_Pickup_Weapon_Railgun : public C_ASW_Pickup_Weapon
{
public:
DECLARE_CLASS( C_ASW_Pickup_Weapon_Railgun, C_ASW_Pickup_Weapon );
DECLARE_CLIENTCLASS();
virtual const char* GetWeaponClass() { return "asw_weapon_railgun"; }
C_ASW_Pickup_Weapon_Railgun();
};
class C_ASW_Pickup_Weapon_Ricochet : public C_ASW_Pickup_Weapon
{
public:
DECLARE_CLASS( C_ASW_Pickup_Weapon_Ricochet, C_ASW_Pickup_Weapon );
DECLARE_CLIENTCLASS();
virtual const char* GetWeaponClass() { return "asw_weapon_ricochet"; }
C_ASW_Pickup_Weapon_Ricochet();
};
class C_ASW_Pickup_Weapon_Flechette : public C_ASW_Pickup_Weapon
{
public:
DECLARE_CLASS( C_ASW_Pickup_Weapon_Flechette, C_ASW_Pickup_Weapon );
DECLARE_CLIENTCLASS();
virtual const char* GetWeaponClass() { return "asw_weapon_flechette"; }
C_ASW_Pickup_Weapon_Flechette();
};
class C_ASW_Pickup_Weapon_FireExtinguisher : public C_ASW_Pickup_Weapon
{
public:
DECLARE_CLASS( C_ASW_Pickup_Weapon_FireExtinguisher, C_ASW_Pickup_Weapon );
DECLARE_CLIENTCLASS();
virtual const char* GetWeaponClass() { return "asw_weapon_fire_extinguisher"; }
C_ASW_Pickup_Weapon_FireExtinguisher();
};
class C_ASW_Pickup_Weapon_Pistol : public C_ASW_Pickup_Weapon
{
public:
DECLARE_CLASS( C_ASW_Pickup_Weapon_Pistol, C_ASW_Pickup_Weapon );
DECLARE_CLIENTCLASS();
virtual const char* GetWeaponClass() { return "asw_weapon_pistol"; }
C_ASW_Pickup_Weapon_Pistol();
};
class C_ASW_Pickup_Weapon_Mining_Laser : public C_ASW_Pickup_Weapon
{
public:
DECLARE_CLASS( C_ASW_Pickup_Weapon_Mining_Laser, C_ASW_Pickup_Weapon );
DECLARE_CLIENTCLASS();
virtual const char* GetWeaponClass() { return "asw_weapon_mining_laser"; }
C_ASW_Pickup_Weapon_Mining_Laser();
};
class C_ASW_Pickup_Weapon_Chainsaw : public C_ASW_Pickup_Weapon
{
public:
DECLARE_CLASS( C_ASW_Pickup_Weapon_Chainsaw, C_ASW_Pickup_Weapon );
DECLARE_CLIENTCLASS();
virtual const char* GetWeaponClass() { return "asw_weapon_chainsaw"; }
C_ASW_Pickup_Weapon_Chainsaw();
};
class C_ASW_Pickup_Weapon_PDW : public C_ASW_Pickup_Weapon
{
public:
DECLARE_CLASS( C_ASW_Pickup_Weapon_PDW, C_ASW_Pickup_Weapon );
DECLARE_CLIENTCLASS();
virtual const char* GetWeaponClass() { return "asw_weapon_pdw"; }
C_ASW_Pickup_Weapon_PDW();
};
class C_ASW_Pickup_Weapon_Grenades : public C_ASW_Pickup_Weapon
{
public:
DECLARE_CLASS( C_ASW_Pickup_Weapon_Grenades, C_ASW_Pickup_Weapon );
DECLARE_CLIENTCLASS();
virtual const char* GetWeaponClass() { return "asw_weapon_grenades"; }
C_ASW_Pickup_Weapon_Grenades();
};
#endif /* _DEFINED_C_ASW_PICKUP_WEAPON_H */