#if defined _redeathmatch_included
	#endinput
#endif

#define _redeathmatch_included

/**
* Basic constants
*/
#define BIT(%0)		(1<<(%0))

enum PlayerProperties
{
	ALIVE = BIT(0),
	HERO = BIT(1),
	GUNS = BIT(2),
	VOTEMAP = BIT(3),
	SNOWMANS = BIT(4),
	WARMUP = BIT(5)
};

/*
* Check if properties of player is available
*
* @param iPlayer	Player index
* @param iBitsCheck	Properties of player for checks
*
* @return			true/false
*/
native DM_IsAvailable(iPlayer, PlayerProperties: iBitsCheck);

/*
* Gets player rank
*
* @param iPlayer	Player index
*
* @return			Returns player rank
*/
native DM_Rank_Get(iPlayer);

/*
* Gets player experience
*
* @param iPlayer	Player index
*
* @return			Returns player experience
*/
native DM_Exp_Get(iPlayer);

/*
* Sets player experience
*
* @param iPlayer	Player index
* @param bPlus		If true then experience is added
* @param iValue		Amount of experience
*
* @return			1 on success, 0 otherwise
*/
native DM_Exp_Set(iPlayer, bool: bPlus, iValue);

/*
* Gets player level
*
* @param iPlayer	Player index
*
* @return			Returns player level
*/
native DM_Level_Get(iPlayer);

/*
* Sets player level
*
* @param iPlayer	Player index
* @param iValue		Amount of level
*
* @return			1 on success, 0 otherwise
*/
native DM_Level_Set(iPlayer, iValue);

/*
* Gets player amount of sentrygun
*
* @param iPlayer	Player index
*
* @return			Returns player amount of sentrygun
*/
native DM_Sentrygun_Get(iPlayer);

/*
* Sets player sentrygun
*
* @param iPlayer	Player index
* @param iValue		Amount of sentrygun
*
* @return			1 on success, 0 otherwise
*/
native DM_Sentrygun_Set(iPlayer, iValue);

/*
* Gets player amount of dispenser
*
* @param iPlayer	Player index
*
* @return			Returns player amount of dispenser
*/
native DM_Dispenser_Get(iPlayer);

/*
* Sets player dispenser
*
* @param iPlayer	Player index
* @param iValue		Amount of dispenser
*
* @return			1 on success, 0 otherwise
*/
native DM_Dispenser_Set(iPlayer, iValue);

/*
* Gets player amount of lasermine
*
* @param iPlayer	Player index
*
* @return			Returns player amount of lasermine
*/
native DM_Lasermine_Get(iPlayer);

/*
* Sets player lasermine
*
* @param iPlayer	Player index
* @param iValue		Amount of lasermine
*
* @return			1 on success, 0 otherwise
*/
native DM_Lasermine_Set(iPlayer, iValue);

/*
* Gives items from shop (read native name end)
*
* @param iPlayer	Player index
*
* @return			1 on success, 0 otherwise
*/
native DM_Shop_Health(iPlayer);

/*
*
* @param iPlayer	Player index
*
* @return			1 on success, 0 otherwise
*/
native DM_Shop_Armor(iPlayer);

/*
* Gives items from shop (read native name end)
*
* @param iPlayer	Player index
*
* @return			1 on success, 0 otherwise
*/
native DM_Shop_Invisibility(iPlayer);

/*
* Gives items from shop (read native name end)
*
* @param iPlayer	Player index
*
* @return			1 on success, 0 otherwise
*/
native DM_Shop_Gravity(iPlayer);

/*
* Gives items from shop (read native name end)
*
* @param iPlayer	Player index
*
* @return			1 on success, 0 otherwise
*/
native DM_Shop_Speed(iPlayer);

/*
* Gives items from shop (read native name end)
*
* @param iPlayer	Player index
*
* @return			1 on success, 0 otherwise
*/
native DM_Shop_Recovery(iPlayer);

/*
* Gives items from shop (read native name end)
*
* @param iPlayer	Player index
*
* @return			1 on success, 0 otherwise
*/
native DM_Shop_Teleport(iPlayer);

/*
* Gives items from shop (read native name end)
*
* @param iPlayer	Player index
*
* @return			1 on success, 0 otherwise
*/
native DM_Shop_Ionbomb(iPlayer);

/*
* Gives items from shop (read native name end)
*
* @param iPlayer	Player index
*
* @return			1 on success, 0 otherwise
*/
native DM_Shop_Rpg(iPlayer);

/*
* Gives items from shop (read native name end)
*
* @param iPlayer	Player index
*
* @return			1 on success, 0 otherwise
*/
native DM_Shop_Hero(iPlayer);

/*
* Gives items from shop (read native name end)
*
* @param iPlayer	Player index
*
* @return			1 on success, 0 otherwise
*/
native DM_Shop_Multijump(iPlayer);

/*
* Gives items from shop (read native name end)
*
* @param iPlayer	Player index
*
* @return			1 on success, 0 otherwise
*/
native DM_Shop_Damage(iPlayer);

/*
* Gives items from shop (read native name end)
*
* @param iPlayer	Player index
*
* @return			1 on success, 0 otherwise
*/
native DM_Shop_Molotov(iPlayer);

/*
* Gives items from shop (read native name end)
*
* @param iPlayer	Player index
*
* @return			1 on success, 0 otherwise
*/
native DM_Shop_Emigrenade(iPlayer);

/*
* Gives items from shop (read native name end)
*
* @param iPlayer	Player index
*
* @return			1 on success, 0 otherwise
*/
native DM_Shop_Frostgrenade(iPlayer);

/*
* Gives items from shop (read native name end)
*
* @param iPlayer	Player index
*
* @return			1 on success, 0 otherwise
*/
native DM_Shop_NoRecoil(iPlayer);

/*
* Gives items from shop (read native name end)
*
* @param iPlayer	Player index
*
* @return			1 on success, 0 otherwise
*/
native DM_Shop_Exgrenade(iPlayer);
