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.
151 lines
2.7 KiB
151 lines
2.7 KiB
//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose: Headers and defines for Autobuy and Rebuy
|
|
//
|
|
//=============================================================================//
|
|
|
|
/**
|
|
* Weapon classes as used by the AutoBuy
|
|
* Has to be different that the previous ones because these are bitmasked values as a weapon can be from
|
|
* more than one class. This also includes all the classes of equipment that a player can buy.
|
|
*/
|
|
enum AutoBuyClassType
|
|
{
|
|
AUTOBUYCLASS_PRIMARY = 1,
|
|
AUTOBUYCLASS_SECONDARY = 2,
|
|
AUTOBUYCLASS_AMMO = 4,
|
|
AUTOBUYCLASS_ARMOR = 8,
|
|
AUTOBUYCLASS_DEFUSER = 16,
|
|
AUTOBUYCLASS_PISTOL = 32,
|
|
AUTOBUYCLASS_SMG = 64,
|
|
AUTOBUYCLASS_RIFLE = 128,
|
|
AUTOBUYCLASS_SNIPERRIFLE = 256,
|
|
AUTOBUYCLASS_SHOTGUN = 512,
|
|
AUTOBUYCLASS_MACHINEGUN = 1024,
|
|
AUTOBUYCLASS_GRENADE = 2048,
|
|
AUTOBUYCLASS_NIGHTVISION = 4096,
|
|
AUTOBUYCLASS_SHIELD = 8192,
|
|
};
|
|
|
|
struct AutoBuyInfoStruct
|
|
{
|
|
AutoBuyClassType m_class;
|
|
loadout_positions_t m_LoadoutPosition;
|
|
char *m_command;
|
|
char *m_classname;
|
|
};
|
|
|
|
class RebuyStruct
|
|
{
|
|
|
|
private:
|
|
int m_nPrimaryPos;
|
|
int m_nSecondaryPos;
|
|
CSWeaponID m_tertiaryId; // used just for taser right now
|
|
CSWeaponID m_grenades[8];
|
|
int m_armor; // 0, 1, or 2 (0 = none, 1 = vest, 2 = vest + helmet)
|
|
bool m_defuser; // do we want a defuser
|
|
bool m_nightVision; // do we want night vision
|
|
bool m_isNotEmpty;
|
|
|
|
public:
|
|
RebuyStruct()
|
|
{
|
|
Clear();
|
|
}
|
|
|
|
void Clear()
|
|
{
|
|
memset(this, 0, sizeof(RebuyStruct));
|
|
}
|
|
|
|
bool isEmpty( void )
|
|
{
|
|
return !m_isNotEmpty;
|
|
}
|
|
|
|
void SetPrimary( int nPrimaryPos )
|
|
{
|
|
m_nPrimaryPos = nPrimaryPos;
|
|
m_isNotEmpty = true;
|
|
}
|
|
|
|
int GetPrimary( void )
|
|
{
|
|
return m_nPrimaryPos;
|
|
}
|
|
|
|
void SetSecondary( int nSecondaryPos )
|
|
{
|
|
m_nSecondaryPos = nSecondaryPos;
|
|
m_isNotEmpty = true;
|
|
}
|
|
|
|
int GetSecondary( void )
|
|
{
|
|
return m_nSecondaryPos;
|
|
}
|
|
|
|
void SetTertiary( CSWeaponID tertiary )
|
|
{
|
|
m_tertiaryId = tertiary;
|
|
m_isNotEmpty = true;
|
|
}
|
|
|
|
CSWeaponID GetTertiary( void )
|
|
{
|
|
return m_tertiaryId;
|
|
}
|
|
|
|
void SetGrenade( int index, CSWeaponID grenade )
|
|
{
|
|
m_grenades[ index ] = grenade;
|
|
m_isNotEmpty = true;
|
|
}
|
|
|
|
CSWeaponID GetGrenade( int index )
|
|
{
|
|
return m_grenades[index];
|
|
}
|
|
|
|
void SetArmor( int armor )
|
|
{
|
|
m_armor = armor;
|
|
m_isNotEmpty = true;
|
|
}
|
|
|
|
int GetArmor( void )
|
|
{
|
|
return m_armor;
|
|
}
|
|
|
|
void SetDefuser( bool defuser )
|
|
{
|
|
m_defuser = defuser;
|
|
m_isNotEmpty = true;
|
|
}
|
|
|
|
bool GetDefuser( void )
|
|
{
|
|
return m_defuser;
|
|
}
|
|
|
|
void SetNightVision( bool nv )
|
|
{
|
|
m_nightVision = nv;
|
|
m_isNotEmpty = true;
|
|
}
|
|
|
|
bool GetNightVision( void )
|
|
{
|
|
return m_nightVision;
|
|
}
|
|
|
|
int numGrenades( void )
|
|
{
|
|
return ARRAYSIZE( m_grenades );
|
|
}
|
|
|
|
};
|
|
|
|
extern AutoBuyInfoStruct g_autoBuyInfo[];
|