summaryrefslogtreecommitdiff
path: root/cheat/tf2/CBaseWeapon.h
diff options
context:
space:
mode:
Diffstat (limited to 'cheat/tf2/CBaseWeapon.h')
-rw-r--r--cheat/tf2/CBaseWeapon.h1389
1 files changed, 1389 insertions, 0 deletions
diff --git a/cheat/tf2/CBaseWeapon.h b/cheat/tf2/CBaseWeapon.h
new file mode 100644
index 0000000..213a576
--- /dev/null
+++ b/cheat/tf2/CBaseWeapon.h
@@ -0,0 +1,1389 @@
+#pragma once
+#include "IClientEntity.h"
+#include "CAttribute.h"
+#include "netvars.h"
+enum class weapon_attributes {
+ weapon_allow_inspect = 731,
+};
+
+enum scoutweapons
+{
+ //Primary
+ WPN_Scattergun = 13,
+ WPN_NewScattergun = 200,
+ WPN_FAN = 45,
+ WPN_Shortstop = 220,
+ WPN_SodaPopper = 448,
+ WPN_BabyFaceBlaster = 772,
+ WPN_BotScattergunS = 799,
+ WPN_BotScattergunG = 808,
+ WPN_BotScattergunR = 888,
+ WPN_BotScattergunB = 897,
+ WPN_BotScattergunC = 906,
+ WPN_BotScattergunD = 915,
+ WPN_BotScattergunES = 964,
+ WPN_BotScattergunEG = 973,
+ WPN_FestiveFaN = 1078,
+ WPN_BackScatter = 1103,
+ //Secondary
+ WPN_ScoutPistol = 23,
+ WPN_NewPistol = 209,
+ WPN_Bonk = 46,
+ WPN_CritCola = 163,
+ WPN_Lugermorph = 160,
+ WPN_Milk = 222,
+ WPN_Lugermorph2 = 294,
+ WPN_Winger = 449,
+ WPN_PocketPistol = 773,
+ WPN_MutatedMilk = 1121,
+ WPN_CAPPER = 30666,
+ //Melee
+ WPN_Bat = 0,
+ WPN_NewBat = 190,
+ WPN_Sandman = 44,
+ WPN_Fish = 221,
+ WPN_Cane = 317,
+ WPN_BostonBasher = 325,
+ WPN_SunStick = 349,
+ WPN_FanOWar = 355,
+ WPN_RuneBlade = 452,
+ WPN_Saxxy = 423,
+ WPN_Atomizer = 450,
+ WPN_ConscientiousObjector = 474,
+ WPN_UnarmedCombat = 572,
+ WPN_WrapAssassin = 648,
+ WPN_FestiveBat = 660,
+ WPN_FestiveScattergun = 669,
+ WPN_FlyingGuillotine1 = 812,
+ WPN_FlyingGuillotine2 = 833,
+ WPN_FreedomStaff = 880,
+ WPN_BatOuttaHell = 939,
+ WPN_MemoryMaker = 954,
+ WPN_FestiveFish = 999,
+ WPN_TheHamShank = 1013,
+ WPN_CrossingGuard = 1127,
+ WPN_NecroSmasher = 1123,
+ WPN_Batsaber = 30667,
+};
+enum soldierweapons
+{
+ //Primary
+ WPN_RocketLauncher = 18,
+ WPN_NewRocketLauncher = 205,
+ WPN_DirectHit = 127,
+ WPN_BlackBox = 228,
+ WPN_RocketJumper = 237,
+ WPN_LibertyLauncher = 414,
+ WPN_CowMangler = 441,
+ WPN_Original = 513,
+ WPN_FestiveRocketLauncher = 658,
+ WPN_BeggersBazooka = 730,
+ WPN_BotRocketlauncherS = 800,
+ WPN_BotRocketlauncherG = 809,
+ WPN_BotRocketlauncherR = 889,
+ WPN_BotRocketlauncherB = 898,
+ WPN_BotRocketlauncherC = 907,
+ WPN_BotRocketlauncherD = 916,
+ WPN_BotRocketlauncherES = 965,
+ WPN_BotRocketlauncherEG = 974,
+ WPN_FestiveBlackbox = 1085,
+ WPN_Airstrike = 1104,
+ //Secondary
+ WPN_SoldierShotgun = 10,
+ WPN_NewShotgun = 199,
+ WPN_BuffBanner = 129,
+ WPN_BattalionBackup = 226,
+ WPN_Concheror = 354,
+ WPN_ReserveShooter = 415,
+ WPN_RighteousBison = 442,
+ WPN_FestiveBuffBanner = 1001,
+ WPN_PanicAttack = 1153,
+ WPN_ManTreads = 444,
+ WPN_GunBoats = 133,
+ WPN_BASEJumper = 1101,
+ //Melee
+ WPN_Shovel = 6,
+ WPN_NewShovel = 196,
+ WPN_Equalizer = 128,
+ WPN_PainTrain = 154,
+ WPN_Katana = 357,
+ WPN_MarketGardener = 416,
+ WPN_DisciplinaryAction = 447,
+ WPN_EscapePlan = 775,
+};
+enum pyroweapons
+{
+ //Primary
+ WPN_Flamethrower = 21,
+ WPN_NewFlamethrower = 208,
+ WPN_Backburner = 40,
+ WPN_Degreaser = 215,
+ WPN_FestiveFlamethrower = 659,
+ WPN_Phlogistinator = 594,
+ WPN_Rainblower = 741,
+ WPN_BotFlamethrowerS = 798,
+ WPN_BotFlamethrowerG = 807,
+ WPN_BotFlamethrowerR = 887,
+ WPN_BotFlamethrowerB = 896,
+ WPN_BotFlamethrowerC = 905,
+ WPN_BotFlamethrowerD = 914,
+ WPN_BotFlamethrowerES = 963,
+ WPN_BotFlamethrowerEG = 972,
+ WPN_FestiveBackburner = 1146,
+ //Secondary
+ WPN_PyroShotgun = 12,
+ WPN_Flaregun = 39,
+ WPN_Detonator = 351,
+ WPN_ManMelter = 595,
+ WPN_ScorchShot = 740,
+ WPN_FestiveFlaregun = 1081,
+ WPN_ThermalThruster = 1179,
+ WPN_GasPasser = 1180,
+ //Melee
+ WPN_Fireaxe = 2,
+ WPN_NewAxe = 192,
+ WPN_Axtingusher = 38,
+ WPN_HomeWrecker = 153,
+ WPN_PowerJack = 214,
+ WPN_Backscratcher = 326,
+ WPN_VolcanoFragment = 348,
+ WPN_Maul = 466,
+ WPN_Mailbox = 457,
+ WPN_ThirdDegree = 593,
+ WPN_Lollychop = 739,
+ WPN_NeonAnnihilator1 = 813,
+ WPN_NeonAnnihilator2 = 834,
+ WPN_FestiveAxtingisher = 1000,
+};
+enum demomanweapons
+{
+ //Primary
+ WPN_GrenadeLauncher = 19,
+ WPN_NewGrenadeLauncher = 206,
+ WPN_LochNLoad = 308,
+ WPN_LoooseCannon = 996,
+ WPN_FestiveGrenadeLauncher = 1007,
+ WPN_IronBomber = 1151,
+ //Secondary
+ WPN_StickyLauncher = 20,
+ WPN_NewStickyLauncher = 207,
+ WPN_ScottishResistance = 130,
+ WPN_StickyJumper = 265,
+ WPN_FestiveStickyLauncher = 661,
+ WPN_BotStickyS = 797,
+ WPN_BotStickyG = 806,
+ WPN_BotStickyR = 886,
+ WPN_BotStickyB = 895,
+ WPN_BotStickyC = 904,
+ WPN_BotStickyD = 913,
+ WPN_BotStickyES = 962,
+ WPN_BotStickyEG = 971,
+ WPN_QuickieBombLauncher = 1150,
+ WPN_SplendidScreen = 406,
+ WPN_CharginTarge = 131,
+ WPN_FestiveCharginTarge = 1144,
+ WPN_TideTurner = 1099,
+ //Melee
+ WPN_Bottle = 1,
+ WPN_NewBottle = 191,
+ WPN_Sword = 132,
+ WPN_ScottsSkullctter = 172,
+ WPN_Fryingpan = 264,
+ WPN_Headless = 266,
+ WPN_Ullapool = 307,
+ WPN_Claidheamhmor = 327,
+ WPN_PersainPersuader = 404,
+ WPN_Golfclub = 482,
+ WPN_ScottishHandshake = 609,
+ WPN_GoldenFryingPan = 1071,
+ WPN_FestiveEyelander = 1082,
+};
+enum heavyweapons
+{
+ //Primary
+ WPN_Minigun = 15,
+ WPN_NewMinigun = 202,
+ WPN_Natascha = 41,
+ WPN_IronCurtain = 298,
+ WPN_BrassBeast = 312,
+ WPN_Tomislav = 424,
+ WPN_FestiveMinigun = 654,
+ WPN_HuoLongHeatmaker1 = 811,
+ WPN_HuoLongHeatmaker2 = 832,
+ WPN_BotMinigunS = 793,
+ WPN_BotMinigunG = 802,
+ WPN_BotMinigunR = 882,
+ WPN_BotMinigunB = 891,
+ WPN_BotMinigunC = 900,
+ WPN_BotMinigunD = 909,
+ WPN_Deflector = 850,
+ WPN_BotMinigunES = 958,
+ WPN_BotMinigunEG = 967,
+ //Secondary
+ WPN_HeavyShotgun = 11,
+ WPN_Sandvich = 42,
+ WPN_CandyBar = 159,
+ WPN_Steak = 311,
+ WPN_Fishcake = 433,
+ WPN_FamilyBuisness = 425,
+ WPN_RobotSandvich = 863,
+ WPN_FestiveSandvich = 1002,
+ //Melee
+ WPN_Fists = 5,
+ WPN_NewFists = 195,
+ WPN_KGB = 43,
+ WPN_GRU = 239,
+ WPN_WarriorSpirit = 310,
+ WPN_FistsOfSteel = 331,
+ WPN_EvictionNotice = 426,
+ WPN_ApocoFists = 587,
+ WPN_HolidayPunch = 656,
+ WPN_FestiveGRU = 1084,
+ WPN_BreadBite = 1100,
+};
+enum engineerweapons
+{
+ //Primary
+ WPN_EngineerShotgun = 9,
+ WPN_FrontierJustice = 141,
+ WPN_Widowmaker = 527,
+ WPN_Pomson = 588,
+ WPN_RescueRanger = 997,
+ WPN_FestiveFrontierJustice = 1004,
+ //Secondary
+ WPN_EngineerPistol = 22,
+ WPN_Wrangler = 140,
+ WPN_ShortCircut = 528,
+ WPN_FestiveWrangler = 1086,
+ WPN_GeigerCounter = 30668,
+ //Melee
+ WPN_Wrench = 7,
+ WPN_NewWrench = 197,
+ WPN_Goldenwrench = 169,
+ WPN_SouthernHospitality = 155,
+ WPN_Gunslinger = 142,
+ WPN_Jag = 329,
+ WPN_FestiveWrench = 662,
+ WPN_EurekaEffect = 589,
+ WPN_BotWrenchS = 795,
+ WPN_BotWrenchG = 804,
+ WPN_BotWrenchR = 884,
+ WPN_BotWrenchB = 893,
+ WPN_BotWrenchC = 902,
+ WPN_BotWrenchD = 911,
+ WPN_BotWrenchES = 960,
+ WPN_BotWrenchEG = 969,
+ //Misc
+ WPN_Builder = 25,
+ WPN_Builder2 = 737,
+ WPN_Destructor = 26,
+ WPN_Toolbox = 28,
+};
+enum medicweapons
+{
+ //Primary
+ WPN_SyringeGun = 17,
+ WPN_NewSyringeGun = 204,
+ WPN_Blutsauger = 36,
+ WPN_Crossbow = 305,
+ WPN_Overdose = 412,
+ WPN_FestiveCrossbow = 1079,
+ //Secondary
+ WPN_Medigun = 29,
+ WPN_NewMedigun = 211,
+ WPN_Kritzkrieg = 35,
+ WPN_QuickFix = 411,
+ WPN_FestiveMedigun = 663,
+ WPN_MedigunS = 796,
+ WPN_MedigunG = 805,
+ WPN_MedigunR = 885,
+ WPN_MedigunB = 894,
+ WPN_MedigunC = 903,
+ WPN_MedigunD = 912,
+ WPN_Vaccinator = 998,
+ WPN_MedigunES = 961,
+ WPN_MedigunEG = 970,
+ //Melee
+ WPN_Bonesaw = 8,
+ WPN_NewBonesaw = 198,
+ WPN_Ubersaw = 37,
+ WPN_Vitasaw = 173,
+ WPN_Amputator = 304,
+ WPN_Solemnvow = 413,
+ WPN_FestiveUbersaw = 1003,
+};
+enum sniperweapons
+{
+ //Primary
+ WPN_SniperRifle = 14,
+ WPN_NewSniperRifle = 201,
+ WPN_Huntsman = 56,
+ WPN_SydneySleeper = 230,
+ WPN_Bazaarbargain = 402,
+ WPN_Machina = 526,
+ WPN_FestiveSniperRifle = 664,
+ WPN_HitmanHeatmaker = 752,
+ WPN_BotSniperRifleS = 792,
+ WPN_BotSniperRifleG = 801,
+ WPN_BotSniperRifleR = 881,
+ WPN_BotSniperRifleB = 890,
+ WPN_BotSniperRifleC = 899,
+ WPN_BotSniperRifleD = 908,
+ WPN_AWP = 851,
+ WPN_BotSniperRifleES = 957,
+ WPN_BotSniperRifleEG = 966,
+ WPN_FestiveHuntsman = 1005,
+ WPN_CompoundBow = 1092,
+ WPN_ClassicSniperRifle = 1098,
+ WPN_ShootingStar = 30665,
+ //Secondary
+ WPN_SMG = 16,
+ WPN_NewSMG = 203,
+ WPN_Jarate = 58,
+ WPN_DarwinDangerShield = 231,
+ WPN_CleanersCarbine = 751,
+ WPN_FestiveJarate = 1083,
+ WPN_SelfAwareBeautyMark = 1105,
+ WPN_RAZORBACK = 57,
+ WPN_COZYCAMPER = 642,
+ //Melee
+ WPN_Kukri = 3,
+ WPN_NewKukri = 193,
+ WPN_TribalmansShiv = 171,
+ WPN_Bushwacka = 232,
+ WPN_Shahanshah = 401,
+};
+enum spyweapons
+{
+ //Primary
+ WPN_Revolver = 24,
+ WPN_NewRevolver = 210,
+ WPN_Ambassador = 61,
+ WPN_BigKill = 161,
+ WPN_Letranger = 224,
+ WPN_Enforcer = 460,
+ WPN_Diamondback = 525,
+ WPN_FestiveAmbassador = 1006,
+ //Melee
+ WPN_Knife = 4,
+ WPN_NewKnife = 194,
+ WPN_EternalReward = 225,
+ WPN_DisguiseKit = 27,
+ WPN_Kunai = 356,
+ WPN_BigEarner = 461,
+ WPN_WangaPrick = 574,
+ WPN_SharpDresser = 638,
+ WPN_Spycicle = 649,
+ WPN_FestiveKnife = 665,
+ WPN_BlackRose = 727,
+ WPN_BotKnifeS = 794,
+ WPN_BotKnifeG = 803,
+ WPN_BotKnifeR = 883,
+ WPN_BotKnifeB = 892,
+ WPN_BotKnifeC = 901,
+ WPN_BotKnifeD = 910,
+ WPN_BotKnifeES = 959,
+ WPN_BotKnifeEG = 968,
+ //Watches
+ WPN_InivisWatch = 30,
+ WPN_DeadRinger = 59,
+ WPN_CloakAndDagger = 60,
+ WPN_TimePiece = 297,
+ //Sapper
+ WPN_Sapper = 735,
+ WPN_Sapper2 = 736,
+ WPN_RedTape1 = 810,
+ WPN_RedTape2 = 831,
+ WPN_ApSap = 933,
+ WPN_FestiveSapper = 1080,
+ WPN_SnackAttack = 1102,
+};
+
+
+class c_base_weapon : public IClientEntity
+{
+public:
+
+ NETVAR( m_iItemDefinitionIndex, "m_iItemDefinitionIndex", "DT_BaseAttributableItem", 0, int );
+ NETVAR( m_flNextPrimaryAttack, "m_flNextPrimaryAttack", "DT_TFWeaponBase", 0, float );
+ NETVAR( m_nInspectStage, "m_nInspectStage", "DT_TFWeaponBase", 0, int );
+ NETVAR( m_flInspectAnimTime, "m_flInspectAnimTime", "DT_TFWeaponBase", 0, float );
+ NETVAR( m_AttributeList, "m_AttributeList", "DT_BaseAttributableItem", 0, c_attribute_list* )
+ NETVAR( m_hOwnerEntity, "m_hOwnerEntity", "DT_BaseEntity", 0, uint32_t );
+ NETVAR( m_iClip1, "m_iClip1", "DT_BaseCombatWeapon", 0, int );
+ NETVAR( m_hBuilder, "m_hBuilder", "DT_BaseObject", 0, uint32_t );
+ void get_weapon_class( );
+
+ bool is_sniper( ) {
+ switch( m_iItemDefinitionIndex( ) ) {
+ case WPN_SniperRifle:
+ case WPN_NewSniperRifle:
+ case WPN_Huntsman:
+ case WPN_SydneySleeper:
+ case WPN_Bazaarbargain:
+ case WPN_Machina:
+ case WPN_FestiveSniperRifle:
+ case WPN_HitmanHeatmaker:
+ case WPN_BotSniperRifleS:
+ case WPN_BotSniperRifleG:
+ case WPN_BotSniperRifleR:
+ case WPN_BotSniperRifleB:
+ case WPN_BotSniperRifleC:
+ case WPN_BotSniperRifleD:
+ case WPN_AWP:
+ case WPN_BotSniperRifleES:
+ case WPN_BotSniperRifleEG:
+ case WPN_FestiveHuntsman:
+ case WPN_CompoundBow:
+ case WPN_ClassicSniperRifle:
+ case WPN_ShootingStar:
+ return true;
+ break;
+ default:
+ return false;
+ }
+ }
+
+
+ bool has_trajectory( ) {
+ switch( m_iItemDefinitionIndex( ) ) {
+ case WPN_Sandman:
+ case WPN_WrapAssassin:
+ case WPN_FlyingGuillotine1:
+ case WPN_FlyingGuillotine2:
+ case WPN_Flaregun:
+ case WPN_Detonator:
+ case WPN_ScorchShot:
+ case WPN_FestiveFlaregun:
+ case WPN_GrenadeLauncher:
+ case WPN_NewGrenadeLauncher:
+ case WPN_LochNLoad:
+ case WPN_LoooseCannon:
+ case WPN_FestiveGrenadeLauncher:
+ case WPN_IronBomber:
+ case WPN_Ullapool:
+ case WPN_QuickieBombLauncher:
+ case WPN_StickyJumper:
+ case WPN_NewStickyLauncher:
+ case WPN_StickyLauncher:
+ case WPN_ScottishResistance:
+ case WPN_FestiveHuntsman:
+ case WPN_Huntsman:
+ case WPN_FestiveJarate:
+ case WPN_Jarate:
+ case WPN_SelfAwareBeautyMark:
+ case WPN_GasPasser:
+ case WPN_CompoundBow:
+ return true;
+ break;
+ default:
+ return false;
+ }
+ }
+
+ bool is_primary( ) {
+ switch( m_iItemDefinitionIndex( ) ) {
+ case WPN_Scattergun:
+ case WPN_NewScattergun:
+ case WPN_FAN:
+ case WPN_Shortstop:
+ case WPN_SodaPopper:
+ case WPN_BabyFaceBlaster:
+ case WPN_BotScattergunS:
+ case WPN_BotScattergunG:
+ case WPN_BotScattergunR:
+ case WPN_BotScattergunB:
+ case WPN_BotScattergunC:
+ case WPN_BotScattergunD:
+ case WPN_BotScattergunES:
+ case WPN_BotScattergunEG:
+ case WPN_FestiveFaN:
+ case WPN_BackScatter:
+ case WPN_RocketLauncher:
+ case WPN_NewRocketLauncher:
+ case WPN_DirectHit:
+ case WPN_BlackBox:
+ case WPN_RocketJumper:
+ case WPN_LibertyLauncher:
+ case WPN_CowMangler:
+ case WPN_Original:
+ case WPN_FestiveRocketLauncher:
+ case WPN_BeggersBazooka:
+ case WPN_BotRocketlauncherS:
+ case WPN_BotRocketlauncherG:
+ case WPN_BotRocketlauncherR:
+ case WPN_BotRocketlauncherB:
+ case WPN_BotRocketlauncherC:
+ case WPN_BotRocketlauncherD:
+ case WPN_BotRocketlauncherES:
+ case WPN_BotRocketlauncherEG:
+ case WPN_FestiveBlackbox:
+ case WPN_Airstrike:
+ case WPN_Flamethrower:
+ case WPN_NewFlamethrower:
+ case WPN_Backburner:
+ case WPN_Degreaser:
+ case WPN_FestiveFlamethrower:
+ case WPN_Phlogistinator:
+ case WPN_Rainblower:
+ case WPN_BotFlamethrowerS:
+ case WPN_BotFlamethrowerG:
+ case WPN_BotFlamethrowerR:
+ case WPN_BotFlamethrowerB:
+ case WPN_BotFlamethrowerC:
+ case WPN_BotFlamethrowerD:
+ case WPN_BotFlamethrowerES:
+ case WPN_BotFlamethrowerEG:
+ case WPN_FestiveBackburner:
+ case WPN_GrenadeLauncher:
+ case WPN_NewGrenadeLauncher:
+ case WPN_LochNLoad:
+ case WPN_LoooseCannon:
+ case WPN_FestiveGrenadeLauncher:
+ case WPN_IronBomber:
+ case WPN_Minigun:
+ case WPN_NewMinigun:
+ case WPN_Natascha:
+ case WPN_IronCurtain:
+ case WPN_BrassBeast:
+ case WPN_Tomislav:
+ case WPN_FestiveMinigun:
+ case WPN_HuoLongHeatmaker1:
+ case WPN_HuoLongHeatmaker2:
+ case WPN_BotMinigunS:
+ case WPN_BotMinigunG:
+ case WPN_BotMinigunR:
+ case WPN_BotMinigunB:
+ case WPN_BotMinigunC:
+ case WPN_BotMinigunD:
+ case WPN_Deflector:
+ case WPN_BotMinigunES:
+ case WPN_BotMinigunEG:
+ case WPN_EngineerShotgun:
+ case WPN_FrontierJustice:
+ case WPN_Widowmaker:
+ case WPN_Pomson:
+ case WPN_RescueRanger:
+ case WPN_FestiveFrontierJustice:
+ case WPN_SyringeGun:
+ case WPN_NewSyringeGun:
+ case WPN_Blutsauger:
+ case WPN_Crossbow:
+ case WPN_Overdose:
+ case WPN_FestiveCrossbow:
+ case WPN_SniperRifle:
+ case WPN_NewSniperRifle:
+ case WPN_Huntsman:
+ case WPN_SydneySleeper:
+ case WPN_Bazaarbargain:
+ case WPN_Machina:
+ case WPN_FestiveSniperRifle:
+ case WPN_HitmanHeatmaker:
+ case WPN_BotSniperRifleS:
+ case WPN_BotSniperRifleG:
+ case WPN_BotSniperRifleR:
+ case WPN_BotSniperRifleB:
+ case WPN_BotSniperRifleC:
+ case WPN_BotSniperRifleD:
+ case WPN_AWP:
+ case WPN_BotSniperRifleES:
+ case WPN_BotSniperRifleEG:
+ case WPN_FestiveHuntsman:
+ case WPN_CompoundBow:
+ case WPN_ClassicSniperRifle:
+ case WPN_ShootingStar:
+ case WPN_Revolver:
+ case WPN_NewRevolver:
+ case WPN_Ambassador:
+ case WPN_BigKill:
+ case WPN_Letranger:
+ case WPN_Enforcer:
+ case WPN_Diamondback:
+ case WPN_FestiveAmbassador:
+ return true;
+ break;
+ default:
+ return false;
+ }
+ }
+
+ bool is_secondary( ) {
+ switch( m_iItemDefinitionIndex( ) ) {
+ case WPN_ScoutPistol:
+ case WPN_NewPistol:
+ case WPN_Bonk:
+ case WPN_CritCola:
+ case WPN_Lugermorph:
+ case WPN_Milk:
+ case WPN_Lugermorph2:
+ case WPN_Winger:
+ case WPN_PocketPistol:
+ case WPN_MutatedMilk:
+ case WPN_CAPPER:
+ case WPN_SoldierShotgun:
+ case WPN_NewShotgun:
+ case WPN_BuffBanner:
+ case WPN_BattalionBackup:
+ case WPN_Concheror:
+ case WPN_ReserveShooter:
+ case WPN_RighteousBison:
+ case WPN_FestiveBuffBanner:
+ case WPN_PanicAttack:
+ case WPN_ManTreads:
+ case WPN_GunBoats:
+ case WPN_BASEJumper:
+ case WPN_PyroShotgun:
+ case WPN_Flaregun:
+ case WPN_Detonator:
+ case WPN_ManMelter:
+ case WPN_ScorchShot:
+ case WPN_FestiveFlaregun:
+ case WPN_ThermalThruster:
+ case WPN_GasPasser:
+ case WPN_StickyLauncher:
+ case WPN_NewStickyLauncher:
+ case WPN_ScottishResistance:
+ case WPN_StickyJumper:
+ case WPN_FestiveStickyLauncher:
+ case WPN_BotStickyS:
+ case WPN_BotStickyG:
+ case WPN_BotStickyR:
+ case WPN_BotStickyB:
+ case WPN_BotStickyC:
+ case WPN_BotStickyD:
+ case WPN_BotStickyES:
+ case WPN_BotStickyEG:
+ case WPN_QuickieBombLauncher:
+ case WPN_SplendidScreen:
+ case WPN_CharginTarge:
+ case WPN_FestiveCharginTarge:
+ case WPN_TideTurner:
+ case WPN_HeavyShotgun:
+ case WPN_Sandvich:
+ case WPN_CandyBar:
+ case WPN_Steak:
+ case WPN_Fishcake:
+ case WPN_FamilyBuisness:
+ case WPN_RobotSandvich:
+ case WPN_FestiveSandvich:
+ case WPN_EngineerPistol:
+ case WPN_Wrangler:
+ case WPN_ShortCircut:
+ case WPN_FestiveWrangler:
+ case WPN_GeigerCounter:
+ case WPN_Medigun:
+ case WPN_NewMedigun:
+ case WPN_Kritzkrieg:
+ case WPN_QuickFix:
+ case WPN_FestiveMedigun:
+ case WPN_MedigunS:
+ case WPN_MedigunG:
+ case WPN_MedigunR:
+ case WPN_MedigunB:
+ case WPN_MedigunC:
+ case WPN_MedigunD:
+ case WPN_Vaccinator:
+ case WPN_MedigunES:
+ case WPN_MedigunEG:
+ case WPN_SMG:
+ case WPN_NewSMG:
+ case WPN_Jarate:
+ case WPN_DarwinDangerShield:
+ case WPN_CleanersCarbine:
+ case WPN_FestiveJarate:
+ case WPN_SelfAwareBeautyMark:
+ case WPN_RAZORBACK:
+ case WPN_COZYCAMPER:
+ return true;
+ break;
+ default:
+ return false;
+ }
+ }
+
+ bool is_third( ) {
+ switch( m_iItemDefinitionIndex( ) ) {
+ case WPN_Bat:
+ case WPN_NewBat:
+ case WPN_Sandman:
+ case WPN_Fish:
+ case WPN_Cane:
+ case WPN_BostonBasher:
+ case WPN_SunStick:
+ case WPN_FanOWar:
+ case WPN_RuneBlade:
+ case WPN_Saxxy:
+ case WPN_Atomizer:
+ case WPN_ConscientiousObjector:
+ case WPN_UnarmedCombat:
+ case WPN_WrapAssassin:
+ case WPN_FestiveBat:
+ case WPN_FestiveScattergun:
+ case WPN_FlyingGuillotine1:
+ case WPN_FlyingGuillotine2:
+ case WPN_FreedomStaff:
+ case WPN_BatOuttaHell:
+ case WPN_MemoryMaker:
+ case WPN_FestiveFish:
+ case WPN_TheHamShank:
+ case WPN_CrossingGuard:
+ case WPN_NecroSmasher:
+ case WPN_Batsaber:
+ case WPN_Shovel:
+ case WPN_NewShovel:
+ case WPN_Equalizer:
+ case WPN_PainTrain:
+ case WPN_Katana:
+ case WPN_MarketGardener:
+ case WPN_DisciplinaryAction:
+ case WPN_EscapePlan:
+ case WPN_Fireaxe:
+ case WPN_NewAxe:
+ case WPN_Axtingusher:
+ case WPN_HomeWrecker:
+ case WPN_PowerJack:
+ case WPN_Backscratcher:
+ case WPN_VolcanoFragment:
+ case WPN_Maul:
+ case WPN_Mailbox:
+ case WPN_ThirdDegree:
+ case WPN_Lollychop:
+ case WPN_NeonAnnihilator1:
+ case WPN_NeonAnnihilator2:
+ case WPN_FestiveAxtingisher:
+ case WPN_Bottle:
+ case WPN_NewBottle:
+ case WPN_Sword:
+ case WPN_ScottsSkullctter:
+ case WPN_Fryingpan:
+ case WPN_Headless:
+ case WPN_Ullapool:
+ case WPN_Claidheamhmor:
+ case WPN_PersainPersuader:
+ case WPN_Golfclub:
+ case WPN_ScottishHandshake:
+ case WPN_GoldenFryingPan:
+ case WPN_FestiveEyelander:
+ case WPN_Fists:
+ case WPN_NewFists:
+ case WPN_KGB:
+ case WPN_GRU:
+ case WPN_WarriorSpirit:
+ case WPN_FistsOfSteel:
+ case WPN_EvictionNotice:
+ case WPN_ApocoFists:
+ case WPN_HolidayPunch:
+ case WPN_FestiveGRU:
+ case WPN_BreadBite:
+ case WPN_Wrench:
+ case WPN_NewWrench:
+ case WPN_Goldenwrench:
+ case WPN_SouthernHospitality:
+ case WPN_Gunslinger:
+ case WPN_Jag:
+ case WPN_FestiveWrench:
+ case WPN_EurekaEffect:
+ case WPN_BotWrenchS:
+ case WPN_BotWrenchG:
+ case WPN_BotWrenchR:
+ case WPN_BotWrenchB:
+ case WPN_BotWrenchC:
+ case WPN_BotWrenchD:
+ case WPN_BotWrenchES:
+ case WPN_BotWrenchEG:
+ case WPN_Bonesaw:
+ case WPN_NewBonesaw:
+ case WPN_Ubersaw:
+ case WPN_Vitasaw:
+ case WPN_Amputator:
+ case WPN_Solemnvow:
+ case WPN_FestiveUbersaw:
+ case WPN_Kukri:
+ case WPN_NewKukri:
+ case WPN_TribalmansShiv:
+ case WPN_Bushwacka:
+ case WPN_Shahanshah:
+ return true;
+ break;
+ default:
+ return false;
+ }
+ }
+
+ bool is_shield( ) {
+ switch( m_iItemDefinitionIndex( ) ) {
+ case WPN_CharginTarge:
+ case WPN_SplendidScreen:
+ case WPN_TideTurner:
+ case WPN_FestiveCharginTarge:
+ return true;
+ break;
+ default:
+ return false;
+ }
+ }
+
+
+ bool is_shotgun( ) {
+ switch( m_iItemDefinitionIndex( ) ) {
+ case WPN_Scattergun:
+ case WPN_NewScattergun:
+ case WPN_FAN:
+ case WPN_SodaPopper:
+ case WPN_FestiveFaN:
+ case WPN_BackScatter:
+ case WPN_SoldierShotgun:
+ case WPN_NewShotgun:
+ case WPN_ReserveShooter:
+ case WPN_PanicAttack:
+ case WPN_PyroShotgun:
+ case WPN_HeavyShotgun:
+ case WPN_FamilyBuisness:
+ case WPN_EngineerShotgun:
+ case WPN_FrontierJustice:
+ case WPN_Widowmaker:
+ case WPN_Pomson:
+ case WPN_RescueRanger:
+ case WPN_FestiveFrontierJustice:
+ return true;
+ break;
+ default:
+ return false;
+ }
+ }
+
+ bool is_melee( ) {
+ switch( m_iItemDefinitionIndex( ) ) {
+ case WPN_Bat:
+ case WPN_NewBat:
+ case WPN_Sandman:
+ case WPN_Fish:
+ case WPN_Cane:
+ case WPN_BostonBasher:
+ case WPN_SunStick:
+ case WPN_FanOWar:
+ case WPN_RuneBlade:
+ case WPN_Saxxy:
+ case WPN_Atomizer:
+ case WPN_ConscientiousObjector:
+ case WPN_UnarmedCombat:
+ case WPN_WrapAssassin:
+ case WPN_FestiveBat:
+ case WPN_FreedomStaff:
+ case WPN_BatOuttaHell:
+ case WPN_MemoryMaker:
+ case WPN_FestiveFish:
+ case WPN_TheHamShank:
+ case WPN_CrossingGuard:
+ case WPN_NecroSmasher:
+ case WPN_Batsaber:
+ case WPN_Shovel:
+ case WPN_NewShovel:
+ case WPN_Equalizer:
+ case WPN_PainTrain:
+ case WPN_Katana:
+ case WPN_MarketGardener:
+ case WPN_DisciplinaryAction:
+ case WPN_EscapePlan:
+ case WPN_Fireaxe:
+ case WPN_NewAxe:
+ case WPN_Axtingusher:
+ case WPN_HomeWrecker:
+ case WPN_PowerJack:
+ case WPN_Backscratcher:
+ case WPN_VolcanoFragment:
+ case WPN_Maul:
+ case WPN_Mailbox:
+ case WPN_ThirdDegree:
+ case WPN_Lollychop:
+ case WPN_NeonAnnihilator1:
+ case WPN_NeonAnnihilator2:
+ case WPN_FestiveAxtingisher:
+ case WPN_Bottle:
+ case WPN_NewBottle:
+ case WPN_Sword:
+ case WPN_ScottsSkullctter:
+ case WPN_Fryingpan:
+ case WPN_Headless:
+ case WPN_Ullapool:
+ case WPN_Claidheamhmor:
+ case WPN_PersainPersuader:
+ case WPN_Golfclub:
+ case WPN_ScottishHandshake:
+ case WPN_GoldenFryingPan:
+ case WPN_FestiveEyelander:
+ case WPN_Fists:
+ case WPN_NewFists:
+ case WPN_KGB:
+ case WPN_GRU:
+ case WPN_WarriorSpirit:
+ case WPN_FistsOfSteel:
+ case WPN_EvictionNotice:
+ case WPN_ApocoFists:
+ case WPN_HolidayPunch:
+ case WPN_FestiveGRU:
+ case WPN_BreadBite:
+ case WPN_Wrench:
+ case WPN_NewWrench:
+ case WPN_Goldenwrench:
+ case WPN_SouthernHospitality:
+ case WPN_Gunslinger:
+ case WPN_Jag:
+ case WPN_Bonesaw:
+ case WPN_NewBonesaw:
+ case WPN_Ubersaw:
+ case WPN_Vitasaw:
+ case WPN_Amputator:
+ case WPN_Solemnvow:
+ case WPN_FestiveUbersaw:
+ case WPN_Kukri:
+ case WPN_NewKukri:
+ case WPN_TribalmansShiv:
+ case WPN_Bushwacka:
+ case WPN_Shahanshah:
+ return true;
+ break;
+ default:
+ return false;
+ }
+ }
+
+ bool is_pistol( ) {
+ switch( m_iItemDefinitionIndex( ) ) {
+ case WPN_EngineerPistol:
+ case WPN_ScoutPistol:
+ case WPN_NewPistol:
+ case WPN_Lugermorph:
+ case WPN_Lugermorph2:
+ case WPN_Winger:
+ case WPN_PocketPistol:
+ case WPN_CAPPER:
+ case WPN_ShortCircut:
+ case WPN_Flaregun:
+ case WPN_FestiveFlaregun:
+ case WPN_Detonator:
+ case WPN_ManMelter:
+ case WPN_ScorchShot:
+ case WPN_Shortstop:
+ return true;
+ break;
+ default:
+ return false;
+ }
+ }
+
+ bool is_grenade( ) {
+ switch( m_iItemDefinitionIndex( ) ) {
+ case WPN_Milk:
+ case WPN_MutatedMilk:
+ case WPN_Jarate:
+ case WPN_FestiveJarate:
+ case WPN_SelfAwareBeautyMark:
+ case WPN_GasPasser:
+ case WPN_FlyingGuillotine1:
+ case WPN_FlyingGuillotine2:
+ return true;
+ break;
+ default:
+ return false;
+
+ }
+ }
+
+
+ bool is_util( ) {
+ switch( m_iItemDefinitionIndex( ) ) {
+ case WPN_Milk:
+ case WPN_MutatedMilk:
+ case WPN_Jarate:
+ case WPN_FestiveJarate:
+ case WPN_DarwinDangerShield:
+ case WPN_RAZORBACK:
+ case WPN_COZYCAMPER:
+ case WPN_BuffBanner:
+ case WPN_BattalionBackup:
+ case WPN_Concheror:
+ case WPN_BASEJumper:
+ case WPN_ManTreads:
+ case WPN_GunBoats:
+ case WPN_ThermalThruster:
+ case WPN_DisguiseKit:
+ case WPN_Builder:
+ case WPN_Builder2:
+ case WPN_Destructor:
+ case WPN_Toolbox:
+ return true;
+ break;
+ default:
+ return false;
+
+ }
+ }
+
+ bool is_flame_thrower( ) {
+ switch( m_iItemDefinitionIndex( ) ) {
+ case WPN_Flamethrower:
+ case WPN_NewFlamethrower:
+ case WPN_Backburner:
+ case WPN_Degreaser:
+ case WPN_FestiveFlamethrower:
+ case WPN_Phlogistinator:
+ case WPN_Rainblower:
+ case WPN_BotFlamethrowerS:
+ case WPN_BotFlamethrowerG:
+ case WPN_BotFlamethrowerR:
+ case WPN_BotFlamethrowerB:
+ case WPN_BotFlamethrowerC:
+ case WPN_BotFlamethrowerD:
+ case WPN_BotFlamethrowerES:
+ case WPN_BotFlamethrowerEG:
+ case WPN_FestiveBackburner:
+ return true;
+ break;
+ default:
+ return false;
+ }
+ }
+
+ bool is_sticky( ) {
+ switch( m_iItemDefinitionIndex( ) ) {
+ case WPN_StickyLauncher:
+ case WPN_NewStickyLauncher:
+ case WPN_ScottishResistance:
+ case WPN_StickyJumper:
+ case WPN_FestiveStickyLauncher:
+ case WPN_BotStickyS:
+ case WPN_BotStickyG:
+ case WPN_BotStickyR:
+ case WPN_BotStickyB:
+ case WPN_BotStickyC:
+ case WPN_BotStickyD:
+ case WPN_BotStickyES:
+ case WPN_BotStickyEG:
+ case WPN_QuickieBombLauncher:
+ return true;
+ break;
+ default:
+ return false;
+ }
+ }
+
+ bool is_grenade_launcher( ) {
+ switch( m_iItemDefinitionIndex( ) ) {
+ case WPN_GrenadeLauncher:
+ case WPN_NewGrenadeLauncher:
+ case WPN_LochNLoad:
+ case WPN_LoooseCannon:
+ case WPN_FestiveGrenadeLauncher:
+ case WPN_IronBomber:
+ return true;
+ break;
+ default:
+ return false;
+ }
+ }
+
+ bool is_rocket_launcher( ) {
+ switch( m_iItemDefinitionIndex( ) ) {
+ case WPN_RocketLauncher:
+ case WPN_NewRocketLauncher:
+ case WPN_DirectHit:
+ case WPN_BlackBox:
+ case WPN_RocketJumper:
+ case WPN_LibertyLauncher:
+ case WPN_CowMangler:
+ case WPN_Original:
+ case WPN_FestiveRocketLauncher:
+ case WPN_BeggersBazooka:
+ case WPN_BotRocketlauncherS:
+ case WPN_BotRocketlauncherG:
+ case WPN_BotRocketlauncherR:
+ case WPN_BotRocketlauncherB:
+ case WPN_BotRocketlauncherC:
+ case WPN_BotRocketlauncherD:
+ case WPN_BotRocketlauncherES:
+ case WPN_BotRocketlauncherEG:
+ case WPN_FestiveBlackbox:
+ case WPN_Airstrike:
+ return true;
+ break;
+ default:
+ return false;
+ }
+ }
+
+ bool is_minigun( ) {
+ switch( m_iItemDefinitionIndex( ) ) {
+ case WPN_Minigun:
+ case WPN_NewMinigun:
+ case WPN_Natascha:
+ case WPN_IronCurtain:
+ case WPN_BrassBeast:
+ case WPN_Tomislav:
+ case WPN_FestiveMinigun:
+ case WPN_HuoLongHeatmaker1:
+ case WPN_HuoLongHeatmaker2:
+ case WPN_BotMinigunS:
+ case WPN_BotMinigunG:
+ case WPN_BotMinigunR:
+ case WPN_BotMinigunB:
+ case WPN_BotMinigunC:
+ case WPN_BotMinigunD:
+ case WPN_Deflector:
+ case WPN_BotMinigunES:
+ case WPN_BotMinigunEG:
+ return true;
+ break;
+ default:
+ return false;
+ }
+ }
+
+ bool is_edible( ) {
+ switch( m_iItemDefinitionIndex( ) ) {
+ case WPN_Bonk:
+ case WPN_CritCola:
+ case WPN_CandyBar:
+ case WPN_Steak:
+ case WPN_Fishcake:
+ case WPN_Sandvich:
+ case WPN_RobotSandvich:
+ case WPN_FestiveSandvich:
+ return true;
+ break;
+ default:
+ return false;
+ }
+ }
+
+ bool is_wrench( ) {
+ switch( m_iItemDefinitionIndex( ) ) {
+ case WPN_Wrench:
+ case WPN_NewWrench:
+ case WPN_Goldenwrench:
+ case WPN_SouthernHospitality:
+ case WPN_Gunslinger:
+ case WPN_Jag:
+ case WPN_FestiveWrench:
+ case WPN_EurekaEffect:
+ case WPN_BotWrenchS:
+ case WPN_BotWrenchG:
+ case WPN_BotWrenchR:
+ case WPN_BotWrenchB:
+ case WPN_BotWrenchC:
+ case WPN_BotWrenchD:
+ case WPN_BotWrenchES:
+ case WPN_BotWrenchEG:
+ return true;
+ break;
+ default:
+ return false;
+ }
+ }
+
+ bool is_engineer( ) {
+ switch( m_iItemDefinitionIndex( ) ) {
+ case WPN_Builder:
+ case WPN_Builder2:
+ case WPN_Destructor:
+ case WPN_Toolbox:
+ return true;
+ break;
+ default:
+ return false;
+ }
+ }
+
+ bool is_needle_gun( ) {
+ switch( m_iItemDefinitionIndex( ) ) {
+ case WPN_SyringeGun:
+ case WPN_NewSyringeGun:
+ case WPN_Blutsauger:
+ case WPN_Crossbow:
+ case WPN_Overdose:
+ case WPN_FestiveCrossbow:
+ return true;
+ break;
+ default:
+ return false;
+ }
+ }
+
+ bool is_healing( ) {
+ switch( m_iItemDefinitionIndex( ) ) {
+ case WPN_Medigun:
+ case WPN_NewMedigun:
+ case WPN_Kritzkrieg:
+ case WPN_QuickFix:
+ case WPN_FestiveMedigun:
+ case WPN_MedigunS:
+ case WPN_MedigunG:
+ case WPN_MedigunR:
+ case WPN_MedigunB:
+ case WPN_MedigunC:
+ case WPN_MedigunD:
+ case WPN_Vaccinator:
+ case WPN_MedigunES:
+ case WPN_MedigunEG:
+ return true;
+ break;
+ default:
+ return false;
+ }
+ }
+
+ bool is_revolver( ) {
+ switch( m_iItemDefinitionIndex( ) ) {
+ case WPN_Revolver:
+ case WPN_NewRevolver:
+ case WPN_Ambassador:
+ case WPN_BigKill:
+ case WPN_Letranger:
+ case WPN_Enforcer:
+ case WPN_Diamondback:
+ case WPN_FestiveAmbassador:
+ return true;
+ break;
+ default:
+ return false;
+ }
+ }
+
+ bool is_spy_knife( ) {
+ switch( m_iItemDefinitionIndex( ) ) {
+ case WPN_Knife:
+ case WPN_NewKnife:
+ case WPN_EternalReward:
+ case WPN_DisguiseKit:
+ case WPN_Kunai:
+ case WPN_BigEarner:
+ case WPN_WangaPrick:
+ case WPN_SharpDresser:
+ case WPN_Spycicle:
+ case WPN_FestiveKnife:
+ case WPN_BlackRose:
+ case WPN_BotKnifeS:
+ case WPN_BotKnifeG:
+ case WPN_BotKnifeR:
+ case WPN_BotKnifeB:
+ case WPN_BotKnifeC:
+ case WPN_BotKnifeD:
+ case WPN_BotKnifeES:
+ case WPN_BotKnifeEG:
+ return true;
+ break;
+ default:
+ return false;
+ }
+ }
+
+ bool is_watch( ) {
+ switch( m_iItemDefinitionIndex( ) ) {
+ case WPN_InivisWatch:
+ case WPN_DeadRinger:
+ case WPN_CloakAndDagger:
+ case WPN_TimePiece:
+ return true;
+ break;
+ default:
+ return false;
+ }
+ }
+
+ bool is_sapper( ) {
+ switch( m_iItemDefinitionIndex( ) ) {
+ case WPN_Sapper:
+ case WPN_Sapper2:
+ case WPN_RedTape1:
+ case WPN_RedTape2:
+ case WPN_ApSap:
+ case WPN_FestiveSapper:
+ case WPN_SnackAttack:
+ return true;
+ break;
+ default:
+ return false;
+ }
+ }
+
+ /*bool get_projectile_speed( float& speed ) {
+ speed = 0;
+ switch( m_iItemDefinitionIndex( ) ) {
+ case WPN_Milk:
+ case WPN_MutatedMilk:
+ speed = 1019.9;
+ break;
+ case WPN_FlyingGuillotine1:
+ case WPN_FlyingGuillotine2:
+ case WPN_Sandman:
+ case WPN_WrapAssassin:
+ case WPN_ManMelter:
+ speed = 3000;
+ break;
+ case WPN_RocketJumper:
+ case WPN_BlackBox:
+ case WPN_Original:
+ case WPN_BeggersBazooka:
+ case WPN_CowMangler:
+ speed = 1100;
+ break;
+
+ case WPN_DirectHit:
+ speed = 1980;
+ break;
+
+ case WPN_LibertyLauncher:
+ speed = 1540;
+ break;
+
+ case WPN_RighteousBison:
+ case WPN_Pomson:
+ speed = 1200;
+ break;
+
+ case WPN_Flaregun:
+ case WPN_FestiveFlaregun:
+ case WPN_ScorchShot:
+ case WPN_Detonator:
+ speed = 2000;
+ break;
+
+ case WPN_GrenadeLauncher:
+ case WPN_NewGrenadeLauncher:
+ case WPN_FestiveGrenadeLauncher:
+ case WPN_IronBomber:
+ speed = 1216.6;
+ break;
+
+
+
+ /*
+ get dynamically
+
+ stickybomb launcher
+ scottish resistance
+ sticky jumper
+ quickiebomb launcher
+ huntman fortified compound
+
+
+
+ }
+ return ( speed );
+ }*/
+
+ int get_max_clip_1( );
+ int get_max_clip_2( );
+ int get_slot( );
+ char* get_name( );
+ char* get_print_name( );
+ vec3_t& get_bullet_spread( );
+ float get_spread( );
+ int get_weaponid( );
+ bool can_fire( );
+ bool is_non_aim( );
+ int& get_inspect_stage( );
+ float& get_inspect_time( );
+ c_attribute_list* get_attribute_list( );
+ float get_distance( );
+}; \ No newline at end of file