/* * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at * your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software Foundation, * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * In addition, as a special exception, the author gives permission to * link the code of this program with the Half-Life Game Engine ("HL * Engine") and Modified Game Libraries ("MODs") developed by Valve, * L.L.C ("Valve"). You must obey the GNU General Public License in all * respects for all of the code used other than the HL Engine and MODs * from Valve. If you modify this file, you may extend this exception * to your version of the file, but you are not obligated to do so. If * you do not wish to do so, delete this exception statement from your * version. * */ #pragma once enum WeaponIdType { WEAPON_NONE, WEAPON_P228, WEAPON_GLOCK, WEAPON_SCOUT, WEAPON_HEGRENADE, WEAPON_XM1014, WEAPON_C4, WEAPON_MAC10, WEAPON_AUG, WEAPON_SMOKEGRENADE, WEAPON_ELITE, WEAPON_FIVESEVEN, WEAPON_UMP45, WEAPON_SG550, WEAPON_GALIL, WEAPON_FAMAS, WEAPON_USP, WEAPON_GLOCK18, WEAPON_AWP, WEAPON_MP5N, WEAPON_M249, WEAPON_M3, WEAPON_M4A1, WEAPON_TMP, WEAPON_G3SG1, WEAPON_FLASHBANG, WEAPON_DEAGLE, WEAPON_SG552, WEAPON_AK47, WEAPON_KNIFE, WEAPON_P90, WEAPON_SHIELDGUN = 99 }; enum AutoBuyClassType { AUTOBUYCLASS_NONE = 0, AUTOBUYCLASS_PRIMARY = (1 << 0), AUTOBUYCLASS_SECONDARY = (1 << 1), AUTOBUYCLASS_AMMO = (1 << 2), AUTOBUYCLASS_ARMOR = (1 << 3), AUTOBUYCLASS_DEFUSER = (1 << 4), AUTOBUYCLASS_PISTOL = (1 << 5), AUTOBUYCLASS_SMG = (1 << 6), AUTOBUYCLASS_RIFLE = (1 << 7), AUTOBUYCLASS_SNIPERRIFLE = (1 << 8), AUTOBUYCLASS_SHOTGUN = (1 << 9), AUTOBUYCLASS_MACHINEGUN = (1 << 10), AUTOBUYCLASS_GRENADE = (1 << 11), AUTOBUYCLASS_NIGHTVISION = (1 << 12), AUTOBUYCLASS_SHIELD = (1 << 13), }; enum AmmoCostType { AMMO_338MAG_PRICE = 125, AMMO_357SIG_PRICE = 50, AMMO_45ACP_PRICE = 25, AMMO_50AE_PRICE = 40, AMMO_556MM_PRICE = 60, AMMO_57MM_PRICE = 50, AMMO_762MM_PRICE = 80, AMMO_9MM_PRICE = 20, AMMO_BUCKSHOT_PRICE = 65, }; enum WeaponCostType { AK47_PRICE = 2500, AWP_PRICE = 4750, DEAGLE_PRICE = 650, G3SG1_PRICE = 5000, SG550_PRICE = 4200, GLOCK18_PRICE = 400, M249_PRICE = 5750, M3_PRICE = 1700, M4A1_PRICE = 3100, AUG_PRICE = 3500, MP5NAVY_PRICE = 1500, P228_PRICE = 600, P90_PRICE = 2350, UMP45_PRICE = 1700, MAC10_PRICE = 1400, SCOUT_PRICE = 2750, SG552_PRICE = 3500, TMP_PRICE = 1250, USP_PRICE = 500, ELITE_PRICE = 800, FIVESEVEN_PRICE = 750, XM1014_PRICE = 3000, GALIL_PRICE = 2000, FAMAS_PRICE = 2250, SHIELDGUN_PRICE = 2200, }; enum WeaponState { WPNSTATE_USP_SILENCED = (1 << 0), WPNSTATE_GLOCK18_BURST_MODE = (1 << 1), WPNSTATE_M4A1_SILENCED = (1 << 2), WPNSTATE_ELITE_LEFT = (1 << 3), WPNSTATE_FAMAS_BURST_MODE = (1 << 4), WPNSTATE_SHIELD_DRAWN = (1 << 5), }; // custom enum // the default amount of ammo that comes with each gun when it spawns enum ClipGiveDefault { P228_DEFAULT_GIVE = 13, GLOCK18_DEFAULT_GIVE = 20, SCOUT_DEFAULT_GIVE = 10, HEGRENADE_DEFAULT_GIVE = 1, XM1014_DEFAULT_GIVE = 7, C4_DEFAULT_GIVE = 1, MAC10_DEFAULT_GIVE = 30, AUG_DEFAULT_GIVE = 30, SMOKEGRENADE_DEFAULT_GIVE = 1, ELITE_DEFAULT_GIVE = 30, FIVESEVEN_DEFAULT_GIVE = 20, UMP45_DEFAULT_GIVE = 25, SG550_DEFAULT_GIVE = 30, GALIL_DEFAULT_GIVE = 35, FAMAS_DEFAULT_GIVE = 25, USP_DEFAULT_GIVE = 12, AWP_DEFAULT_GIVE = 10, MP5NAVY_DEFAULT_GIVE = 30, M249_DEFAULT_GIVE = 100, M3_DEFAULT_GIVE = 8, M4A1_DEFAULT_GIVE = 30, TMP_DEFAULT_GIVE = 30, G3SG1_DEFAULT_GIVE = 20, FLASHBANG_DEFAULT_GIVE = 1, DEAGLE_DEFAULT_GIVE = 7, SG552_DEFAULT_GIVE = 30, AK47_DEFAULT_GIVE = 30, /*KNIFE_DEFAULT_GIVE = 1,*/ P90_DEFAULT_GIVE = 50, }; enum ClipSizeType { P228_MAX_CLIP = 13, GLOCK18_MAX_CLIP = 20, SCOUT_MAX_CLIP = 10, XM1014_MAX_CLIP = 7, MAC10_MAX_CLIP = 30, AUG_MAX_CLIP = 30, ELITE_MAX_CLIP = 30, FIVESEVEN_MAX_CLIP = 20, UMP45_MAX_CLIP = 25, SG550_MAX_CLIP = 30, GALIL_MAX_CLIP = 35, FAMAS_MAX_CLIP = 25, USP_MAX_CLIP = 12, AWP_MAX_CLIP = 10, MP5N_MAX_CLIP = 30, M249_MAX_CLIP = 100, M3_MAX_CLIP = 8, M4A1_MAX_CLIP = 30, TMP_MAX_CLIP = 30, G3SG1_MAX_CLIP = 20, DEAGLE_MAX_CLIP = 7, SG552_MAX_CLIP = 30, AK47_MAX_CLIP = 30, P90_MAX_CLIP = 50, }; enum WeightWeapon { P228_WEIGHT = 5, GLOCK18_WEIGHT = 5, SCOUT_WEIGHT = 30, HEGRENADE_WEIGHT = 2, XM1014_WEIGHT = 20, C4_WEIGHT = 3, MAC10_WEIGHT = 25, AUG_WEIGHT = 25, SMOKEGRENADE_WEIGHT = 1, ELITE_WEIGHT = 5, FIVESEVEN_WEIGHT = 5, UMP45_WEIGHT = 25, SG550_WEIGHT = 20, GALIL_WEIGHT = 25, FAMAS_WEIGHT = 75, USP_WEIGHT = 5, AWP_WEIGHT = 30, MP5NAVY_WEIGHT = 25, M249_WEIGHT = 25, M3_WEIGHT = 20, M4A1_WEIGHT = 25, TMP_WEIGHT = 25, G3SG1_WEIGHT = 20, FLASHBANG_WEIGHT = 1, DEAGLE_WEIGHT = 7, SG552_WEIGHT = 25, AK47_WEIGHT = 25, P90_WEIGHT = 26, KNIFE_WEIGHT = 0, }; enum MaxAmmoType { MAX_AMMO_BUCKSHOT = 32, MAX_AMMO_9MM = 120, MAX_AMMO_556NATO = 90, MAX_AMMO_556NATOBOX = 200, MAX_AMMO_762NATO = 90, MAX_AMMO_45ACP = 100, MAX_AMMO_50AE = 35, MAX_AMMO_338MAGNUM = 30, MAX_AMMO_57MM = 100, MAX_AMMO_357SIG = 52, // custom MAX_AMMO_SMOKEGRENADE = 1, MAX_AMMO_HEGRENADE = 1, MAX_AMMO_FLASHBANG = 2, }; enum AmmoType { AMMO_NONE, AMMO_338MAGNUM, AMMO_762NATO, AMMO_556NATOBOX, AMMO_556NATO, AMMO_BUCKSHOT, AMMO_45ACP, AMMO_57MM, AMMO_50AE, AMMO_357SIG, AMMO_9MM, AMMO_FLASHBANG, AMMO_HEGRENADE, AMMO_SMOKEGRENADE, AMMO_C4, AMMO_MAX_TYPES }; enum WeaponClassType { WEAPONCLASS_NONE, WEAPONCLASS_KNIFE, WEAPONCLASS_PISTOL, WEAPONCLASS_GRENADE, WEAPONCLASS_SUBMACHINEGUN, WEAPONCLASS_SHOTGUN, WEAPONCLASS_MACHINEGUN, WEAPONCLASS_RIFLE, WEAPONCLASS_SNIPERRIFLE, WEAPONCLASS_MAX, }; enum AmmoBuyAmount { AMMO_338MAG_BUY = 10, AMMO_357SIG_BUY = 13, AMMO_45ACP_BUY = 12, AMMO_50AE_BUY = 7, AMMO_556NATO_BUY = 30, AMMO_556NATOBOX_BUY = 30, AMMO_57MM_BUY = 50, AMMO_762NATO_BUY = 30, AMMO_9MM_BUY = 30, AMMO_BUCKSHOT_BUY = 8, }; enum ItemCostType { ASSAULTSUIT_PRICE = 1000, FLASHBANG_PRICE = 200, HEGRENADE_PRICE = 300, SMOKEGRENADE_PRICE = 300, KEVLAR_PRICE = 650, HELMET_PRICE = 350, NVG_PRICE = 1250, DEFUSEKIT_PRICE = 200, }; enum shieldgun_e { SHIELDGUN_IDLE, SHIELDGUN_SHOOT1, SHIELDGUN_SHOOT2, SHIELDGUN_SHOOT_EMPTY, SHIELDGUN_RELOAD, SHIELDGUN_DRAW, SHIELDGUN_DRAWN_IDLE, SHIELDGUN_UP, SHIELDGUN_DOWN, }; // custom enum shieldgren_e { SHIELDREN_IDLE = 4, SHIELDREN_UP, SHIELDREN_DOWN }; enum InventorySlotType { NONE_SLOT, PRIMARY_WEAPON_SLOT, PISTOL_SLOT, KNIFE_SLOT, GRENADE_SLOT, C4_SLOT, }; enum Bullet { BULLET_NONE, BULLET_PLAYER_9MM, BULLET_PLAYER_MP5, BULLET_PLAYER_357, BULLET_PLAYER_BUCKSHOT, BULLET_PLAYER_CROWBAR, BULLET_MONSTER_9MM, BULLET_MONSTER_MP5, BULLET_MONSTER_12MM, BULLET_PLAYER_45ACP, BULLET_PLAYER_338MAG, BULLET_PLAYER_762MM, BULLET_PLAYER_556MM, BULLET_PLAYER_50AE, BULLET_PLAYER_57MM, BULLET_PLAYER_357SIG, }; struct WeaponStruct { int m_type; int m_price; int m_side; int m_slot; int m_ammoPrice; }; struct AutoBuyInfoStruct { AutoBuyClassType m_class; char *m_command; char *m_classname; }; struct WeaponAliasInfo { char *alias; WeaponIdType id; }; struct WeaponBuyAliasInfo { char *alias; WeaponIdType id; char *failName; }; struct WeaponClassAliasInfo { char *alias; WeaponClassType id; }; struct WeaponInfoStruct { int id; int cost; int clipCost; int buyClipSize; int gunClipSize; int maxRounds; int ammoType; char *entityName; const char *ammoName; }; struct WeaponSlotInfo { WeaponIdType id; InventorySlotType slot; const char *weaponName; };