Counter Strike : Global Offensive Source Code
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

//========= 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[];