From f67ffc739c21774a0456bd17adfb0d3356b7141b Mon Sep 17 00:00:00 2001
From: rei-2 <174158077+rei-2@users.noreply.github.com>
Date: Mon, 8 Jun 2026 16:32:47 -0400
Subject: [PATCH] display weapon and viewmodel flip in player conditions for
nonlocal players commit project setting changes from bfbbe427
---
Amalgam/Amalgam.vcxproj | 2 +-
Amalgam/Amalgam.vcxproj.filters | 2 +-
Amalgam/src/Features/Visuals/ESP/ESP.cpp | 9 +-
.../PlayerConditions/PlayerConditions.cpp | 9 +
Amalgam/src/SDK/Definitions/Definitions.h | 787 +++++++--------
.../SDK/Definitions/Main/CTFWeaponBase.cpp | 916 +++++++++---------
.../src/SDK/Definitions/Main/CTFWeaponBase.h | 1 +
7 files changed, 844 insertions(+), 882 deletions(-)
diff --git a/Amalgam/Amalgam.vcxproj b/Amalgam/Amalgam.vcxproj
index bc57ca7b..cc42536d 100644
--- a/Amalgam/Amalgam.vcxproj
+++ b/Amalgam/Amalgam.vcxproj
@@ -961,7 +961,7 @@
-
+
diff --git a/Amalgam/Amalgam.vcxproj.filters b/Amalgam/Amalgam.vcxproj.filters
index fb612f99..8235169a 100644
--- a/Amalgam/Amalgam.vcxproj.filters
+++ b/Amalgam/Amalgam.vcxproj.filters
@@ -86,7 +86,7 @@
-
+
diff --git a/Amalgam/src/Features/Visuals/ESP/ESP.cpp b/Amalgam/src/Features/Visuals/ESP/ESP.cpp
index a3547375..6add3be2 100644
--- a/Amalgam/src/Features/Visuals/ESP/ESP.cpp
+++ b/Amalgam/src/Features/Visuals/ESP/ESP.cpp
@@ -6,9 +6,6 @@
#include "../../Simulation/MovementSimulation/MovementSimulation.h"
#include "../../Simulation/ProjectileSimulation/ProjectileSimulation.h"
-MAKE_SIGNATURE(CTFPlayerSharedUtils_GetEconItemViewByLoadoutSlot, "client.dll", "48 89 6C 24 ? 56 41 54 41 55 41 56 41 57 48 83 EC", 0x0);
-MAKE_SIGNATURE(CEconItemView_GetItemName, "client.dll", "40 53 48 83 EC ? 48 8B D9 C6 81 ? ? ? ? ? E8 ? ? ? ? 48 8B 8B", 0x0);
-
static inline void StorePlayer(CTFPlayer* pPlayer, CTFPlayer* pLocal, Group_t* pGroup, std::unordered_map& mCache)
{
int iIndex = pPlayer->entindex();
@@ -134,11 +131,7 @@ static inline void StorePlayer(CTFPlayer* pPlayer, CTFPlayer* pLocal, Group_t* p
if (pGroup->m_iESP & ESPEnum::WeaponIcon && pWeapon)
tCache.m_pWeaponIcon = pWeapon->GetWeaponIcon();
if (pGroup->m_iESP & ESPEnum::WeaponText && pWeapon)
- {
- auto pAttributeManager = U::Memory.CallVirtual<1, void*>(uintptr_t(pWeapon) + 3096);
- auto pCurItemData = reinterpret_cast(uintptr_t(pAttributeManager) + 144);
- tCache.m_vText.emplace_back(ALIGN_BOTTOM, SDK::ConvertWideToUTF8(S::CEconItemView_GetItemName.Call(pCurItemData)), Vars::Menu::Theme::Active.Value, Vars::Menu::Theme::Background.Value);
- }
+ tCache.m_vText.emplace_back(ALIGN_BOTTOM, SDK::ConvertWideToUTF8(pWeapon->GetWeaponName()), Vars::Menu::Theme::Active.Value, Vars::Menu::Theme::Background.Value);
if (pGroup->m_iESP & ESPEnum::LagCompensation && !pPlayer->IsDormant() && !bLocal)
{
diff --git a/Amalgam/src/Features/Visuals/PlayerConditions/PlayerConditions.cpp b/Amalgam/src/Features/Visuals/PlayerConditions/PlayerConditions.cpp
index 35221bf2..2ca0821d 100644
--- a/Amalgam/src/Features/Visuals/PlayerConditions/PlayerConditions.cpp
+++ b/Amalgam/src/Features/Visuals/PlayerConditions/PlayerConditions.cpp
@@ -4,6 +4,15 @@ std::vector CPlayerConditions::Get(CTFPlayer* pEntity)
{
std::vector vConditions = {};
+ if (pEntity->entindex() != I::EngineClient->GetLocalPlayer())
+ {
+ if (auto pWeapon = pEntity->m_hActiveWeapon()->As())
+ {
+ bool bFlip = pEntity->m_bFlipViewModels();
+ vConditions.emplace_back(std::format("{}{}{}", bFlip ? "< " : "", SDK::ConvertWideToUTF8(pWeapon->GetWeaponName()), bFlip ? "" : " >"));
+ }
+ }
+
if (pEntity->InCond(TF_COND_INVULNERABLE) ||
pEntity->InCond(TF_COND_INVULNERABLE_HIDE_UNLESS_DAMAGED) ||
pEntity->InCond(TF_COND_INVULNERABLE_USER_BUFF) ||
diff --git a/Amalgam/src/SDK/Definitions/Definitions.h b/Amalgam/src/SDK/Definitions/Definitions.h
index 50ac31c6..0a073b58 100644
--- a/Amalgam/src/SDK/Definitions/Definitions.h
+++ b/Amalgam/src/SDK/Definitions/Definitions.h
@@ -1271,376 +1271,376 @@ public:
enum class ETFClassID
{
- CTFWearableRazorback = 341,
- CTFWearableDemoShield = 338,
- CTFWearableLevelableItem = 340,
- CTFWearableCampaignItem = 337,
+ CAI_BaseNPC = 0,
+ CBotNPC = 0,
+ CBossAlpha = 0,
+ CBotNPCMinion = 0,
+ CPropJeep = 0,
+ CPropVehicleChoreoGeneric = 0,
+ C_TFWeaponBuilder = 0,
+ CTFBuffBanner = 0,
+ CBaseAnimating = 1,
+ CBaseAnimatingOverlay = 2,
+ CBaseAttributableItem = 3,
+ CBaseCombatCharacter = 4,
+ CBaseCombatWeapon = 5,
+ CBaseDoor = 6,
+ CBaseEntity = 7,
+ CBaseFlex = 8,
+ CBaseGrenade = 9,
+ CBaseObject = 10,
+ CBaseObjectUpgrade = 11,
+ CBaseParticleEntity = 12,
+ CBasePlayer = 13,
+ CBaseProjectile = 14,
+ CBasePropDoor = 15,
+ CBaseTeamObjectiveResource = 16,
+ CBaseTempEntity = 17,
+ CBaseViewModel = 18,
+ CBeam = 19,
+ CBoneFollower = 20,
+ CBonusDuckPickup = 21,
+ CBonusPack = 22,
+ CBonusRoundLogic = 23,
+ CBreakableProp = 24,
+ CBreakableSurface = 25,
+ CCaptureFlag = 26,
+ CCaptureFlagReturnIcon = 27,
+ CCaptureZone = 28,
+ CColorCorrection = 29,
+ CColorCorrectionVolume = 30,
+ CCurrencyPack = 31,
+ CDynamicLight = 32,
+ CDynamicProp = 33,
+ CEconEntity = 34,
+ CEconWearable = 35,
+ CEmbers = 36,
+ CEntityDissolve = 37,
+ CEntityFlame = 38,
+ CEntityParticleTrail = 39,
+ CEnvDetailController = 40,
+ CEnvParticleScript = 41,
+ CEnvProjectedTexture = 42,
+ CEnvQuadraticBeam = 43,
+ CEnvScreenEffect = 44,
+ CEnvScreenOverlay = 45,
+ CEnvTonemapController = 46,
+ CEnvWind = 47,
+ CEyeballBoss = 48,
+ CFireSmoke = 49,
+ CFireTrail = 50,
+ CFish = 51,
+ CFogController = 52,
+ CFunc_Dust = 53,
+ CFunc_LOD = 54,
+ CFuncAreaPortalWindow = 55,
+ CFuncConveyor = 56,
+ CFuncForceField = 57,
+ CFuncLadder = 58,
+ CFuncMonitor = 59,
+ CFuncOccluder = 60,
+ CFuncPasstimeGoal = 61,
+ CFuncReflectiveGlass = 62,
+ CFuncRespawnRoom = 63,
+ CFuncRespawnRoomVisualizer = 64,
+ CFuncRotating = 65,
+ CFuncSmokeVolume = 66,
+ CFuncTrackTrain = 67,
+ CGameRulesProxy = 68,
+ CHalloweenGiftPickup = 69,
+ CHalloweenPickup = 70,
+ CHalloweenSoulPack = 71,
+ CHandleTest = 72,
+ CHeadlessHatman = 73,
+ CHightower_TeleportVortex = 74,
+ CInfoLadderDismount = 75,
+ CInfoLightingRelative = 76,
+ CInfoOverlayAccessor = 77,
+ CLaserDot = 78,
+ CLightGlow = 79,
+ CMannVsMachineStats = 80,
+ CMaterialModifyControl = 81,
+ CMerasmus = 82,
+ CMerasmusDancer = 83,
+ CMonsterResource = 84,
+ CObjectCartDispenser = 85,
+ CObjectDispenser = 86,
+ CObjectSapper = 87,
+ CObjectSentrygun = 88,
+ CObjectTeleporter = 89,
+ CParticleFire = 90,
+ CParticlePerformanceMonitor = 91,
+ CParticleSystem = 92,
+ CPasstimeBall = 93,
+ CPasstimeGun = 94,
+ CPhysBox = 95,
+ CPhysBoxMultiplayer = 96,
+ CPhysicsProp = 97,
+ CPhysicsPropMultiplayer = 98,
+ CPhysMagnet = 99,
+ CPlasma = 100,
+ CPlayerDestructionDispenser = 101,
+ CPlayerResource = 102,
+ CPointCamera = 103,
+ CPointCommentaryNode = 104,
+ CPointWorldText = 105,
+ CPoseController = 106,
+ CPrecipitation = 107,
+ CPropVehicleDriveable = 108,
+ CRagdollManager = 109,
+ CRagdollProp = 110,
+ CRagdollPropAttached = 111,
+ CRobotDispenser = 112,
+ CRopeKeyframe = 113,
+ CSceneEntity = 114,
+ CShadowControl = 115,
+ CSlideshowDisplay = 116,
+ CSmokeStack = 117,
+ CSniperDot = 118,
+ CSpotlightEnd = 119,
+ CSprite = 120,
+ CSpriteOriented = 121,
+ CSpriteTrail = 122,
+ CSteamJet = 123,
+ CSun = 124,
+ CTeam = 125,
+ CTeamplayRoundBasedRulesProxy = 126,
+ CTeamRoundTimer = 127,
+ CTeamTrainWatcher = 128,
+ CTEArmorRicochet = 129,
+ CTEBaseBeam = 130,
+ CTEBeamEntPoint = 131,
+ CTEBeamEnts = 132,
+ CTEBeamFollow = 133,
+ CTEBeamLaser = 134,
+ CTEBeamPoints = 135,
+ CTEBeamRing = 136,
+ CTEBeamRingPoint = 137,
+ CTEBeamSpline = 138,
+ CTEBloodSprite = 139,
+ CTEBloodStream = 140,
+ CTEBreakModel = 141,
+ CTEBSPDecal = 142,
+ CTEBubbles = 143,
+ CTEBubbleTrail = 144,
+ CTEClientProjectile = 145,
+ CTEDecal = 146,
+ CTEDust = 147,
+ CTEDynamicLight = 148,
+ CTEEffectDispatch = 149,
+ CTEEnergySplash = 150,
+ CTEExplosion = 151,
+ CTEFireBullets = 152,
+ CTEFizz = 153,
+ CTEFootprintDecal = 154,
+ CTEGaussExplosion = 155,
+ CTEGlowSprite = 156,
+ CTEImpact = 157,
+ CTEKillPlayerAttachments = 158,
+ CTELargeFunnel = 159,
+ CTeleportVortex = 160,
+ CTEMetalSparks = 161,
+ CTEMuzzleFlash = 162,
+ CTEParticleSystem = 163,
+ CTEPhysicsProp = 164,
+ CTEPlayerAnimEvent = 165,
+ CTEPlayerDecal = 166,
+ CTEProjectedDecal = 167,
+ CTEShatterSurface = 168,
+ CTEShowLine = 169,
+ CTesla = 170,
+ CTESmoke = 171,
+ CTESparks = 172,
+ CTESprite = 173,
+ CTESpriteSpray = 174,
+ CTest_ProxyToggle_Networkable = 175,
+ CTestTraceline = 176,
+ CTETFBlood = 177,
+ CTETFExplosion = 178,
+ CTETFParticleEffect = 179,
+ CTEWorldDecal = 180,
+ CTFAmmoPack = 181,
+ CTFBall_Ornament = 182,
+ CTFBaseBoss = 183,
+ CTFBaseProjectile = 184,
CTFBaseRocket = 185,
- CTFWeaponBaseMerasmusGrenade = 325,
- CTFWeaponBaseMelee = 324,
- CTFWeaponBaseGun = 323,
- CTFWeaponBaseGrenadeProj = 322,
- CTFWeaponBase = 321,
- CTFWearableRobotArm = 342,
- CTFRobotArm = 287,
- CTFWrench = 344,
+ CTFBat = 186,
+ CTFBat_Fish = 187,
+ CTFBat_Giftwrap = 188,
+ CTFBat_Wood = 189,
+ CTFBonesaw = 190,
+ CTFBotHintEngineerNest = 191,
+ CTFBottle = 192,
+ CTFBreakableMelee = 193,
+ CTFBreakableSign = 194,
+ CTFBuffItem = 195,
+ CTFCannon = 196,
+ CTFChargedSMG = 197,
+ CTFCleaver = 198,
+ CTFClub = 199,
+ CTFCompoundBow = 200,
+ CTFCrossbow = 201,
+ CTFDRGPomson = 202,
+ CTFDroppedWeapon = 203,
+ CTFFireAxe = 204,
+ CTFFists = 205,
+ CTFFlameManager = 206,
+ CTFFlameRocket = 207,
+ CTFFlameThrower = 208,
+ CTFFlareGun = 209,
+ CTFFlareGun_Revenge = 210,
+ CTFGameRulesProxy = 211,
+ CTFGasManager = 212,
+ CTFGenericBomb = 213,
+ CTFGlow = 214,
+ CTFGrapplingHook = 215,
+ CTFGrenadeLauncher = 216,
+ CTFGrenadePipebombProjectile = 217,
+ CTFHalloweenMinigame = 218,
+ CTFHalloweenMinigame_FallingPlatforms = 219,
+ CTFHellZap = 220,
+ CTFItem = 221,
+ CTFJar = 222,
+ CTFJarGas = 223,
+ CTFJarMilk = 224,
+ CTFKatana = 225,
+ CTFKnife = 226,
+ CTFLaserPointer = 227,
+ CTFLunchBox = 228,
+ CTFLunchBox_Drink = 229,
+ CTFMechanicalArm = 230,
+ CTFMedigunShield = 231,
+ CTFMiniGame = 232,
+ CTFMinigameLogic = 233,
+ CTFMinigun = 234,
+ CTFObjectiveResource = 235,
+ CTFParachute = 236,
+ CTFParachute_Primary = 237,
+ CTFParachute_Secondary = 238,
+ CTFParticleCannon = 239,
+ CTFPasstimeLogic = 240,
+ CTFPEPBrawlerBlaster = 241,
+ CTFPipebombLauncher = 242,
+ CTFPistol = 243,
+ CTFPistol_Scout = 244,
+ CTFPistol_ScoutPrimary = 245,
+ CTFPistol_ScoutSecondary = 246,
+ CTFPlayer = 247,
+ CTFPlayerDestructionLogic = 248,
+ CTFPlayerResource = 249,
+ CTFPointManager = 250,
+ CTFPowerupBottle = 251,
+ CTFProjectile_Arrow = 252,
+ CTFProjectile_BallOfFire = 253,
+ CTFProjectile_Cleaver = 254,
+ CTFProjectile_EnergyBall = 255,
+ CTFProjectile_EnergyRing = 256,
+ CTFProjectile_Flare = 257,
+ CTFProjectile_GrapplingHook = 258,
+ CTFProjectile_HealingBolt = 259,
+ CTFProjectile_Jar = 260,
+ CTFProjectile_JarGas = 261,
+ CTFProjectile_JarMilk = 262,
+ CTFProjectile_MechanicalArmOrb = 263,
+ CTFProjectile_Rocket = 264,
+ CTFProjectile_SentryRocket = 265,
+ CTFProjectile_SpellBats = 266,
+ CTFProjectile_SpellFireball = 267,
+ CTFProjectile_SpellKartBats = 268,
+ CTFProjectile_SpellKartOrb = 269,
+ CTFProjectile_SpellLightningOrb = 270,
+ CTFProjectile_SpellMeteorShower = 271,
+ CTFProjectile_SpellMirv = 272,
+ CTFProjectile_SpellPumpkin = 273,
+ CTFProjectile_SpellSpawnBoss = 274,
+ CTFProjectile_SpellSpawnHorde = 275,
+ CTFProjectile_SpellSpawnZombie = 276,
+ CTFProjectile_SpellTransposeTeleport = 277,
+ CTFProjectile_Throwable = 278,
CTFProjectile_ThrowableBreadMonster = 279,
CTFProjectile_ThrowableBrick = 280,
CTFProjectile_ThrowableRepel = 281,
- CTFProjectile_Throwable = 278,
- CTFThrowable = 319,
- CTFSyringeGun = 315,
- CTFKatana = 225,
- CTFSword = 314,
- CSniperDot = 118,
- CTFSniperRifleClassic = 308,
- CTFSniperRifleDecap = 309,
- CTFSniperRifle = 307,
- CTFChargedSMG = 197,
- CTFSMG = 306,
- CTFSlap = 305,
- CTFShovel = 304,
- CTFShotgunBuildingRescue = 303,
- CTFPEPBrawlerBlaster = 241,
- CTFSodaPopper = 310,
- CTFShotgun_Revenge = 301,
- CTFScatterGun = 297,
- CTFShotgun_Pyro = 300,
- CTFShotgun_HWG = 299,
- CTFShotgun_Soldier = 302,
- CTFShotgun = 298,
- CTFRocketPack = 296,
- CTFCrossbow = 201,
- CTFRocketLauncher_Mortar = 295,
- CTFRocketLauncher_AirStrike = 293,
- CTFRocketLauncher_DirectHit = 294,
- CTFRocketLauncher = 292,
- CTFRevolver = 286,
- CTFDRGPomson = 202,
- CTFRaygun = 284,
- CTFPistol_ScoutSecondary = 246,
- CTFPistol_ScoutPrimary = 245,
- CTFPistol_Scout = 244,
- CTFPistol = 243,
- CTFPipebombLauncher = 242,
- CTFWeaponPDA_Spy = 332,
- CTFWeaponPDA_Engineer_Destroy = 331,
- CTFWeaponPDA_Engineer_Build = 330,
- CTFWeaponPDAExpansion_Teleporter = 334,
- CTFWeaponPDAExpansion_Dispenser = 333,
- CTFWeaponPDA = 329,
- CTFParticleCannon = 239,
- CTFParachute_Secondary = 238,
- CTFParachute_Primary = 237,
- CTFParachute = 236,
- CTFMinigun = 234,
- CTFMedigunShield = 231,
- CWeaponMedigun = 352,
- CTFProjectile_MechanicalArmOrb = 263,
- CTFMechanicalArm = 230,
- CTFLunchBox_Drink = 229,
- CTFLunchBox = 228,
- CLaserDot = 78,
- CTFLaserPointer = 227,
- CTFKnife = 226,
- CTFGasManager = 212,
- CTFProjectile_JarGas = 261,
- CTFJarGas = 223,
- CTFProjectile_Cleaver = 254,
- CTFProjectile_JarMilk = 262,
- CTFProjectile_Jar = 260,
- CTFCleaver = 198,
- CTFJarMilk = 224,
- CTFJar = 222,
- CTFWeaponInvis = 328,
- CTFCannon = 196,
- CTFGrenadeLauncher = 216,
- CTFGrenadePipebombProjectile = 217,
- CTFGrapplingHook = 215,
- CTFFlareGun_Revenge = 210,
- CTFFlareGun = 209,
- CTFFlameRocket = 207,
- CTFFlameThrower = 208,
- CTFFists = 205,
- CTFFireAxe = 204,
- CTFWeaponFlameBall = 327,
- CTFCompoundBow = 200,
- CTFClub = 199,
- CTFBuffItem = 195,
- CTFStickBomb = 312,
- CTFBreakableSign = 194,
- CTFBottle = 192,
- CTFBreakableMelee = 193,
- CTFBonesaw = 190,
- CTFBall_Ornament = 182,
- CTFStunBall = 313,
- CTFBat_Giftwrap = 188,
- CTFBat_Wood = 189,
- CTFBat_Fish = 187,
- CTFBat = 186,
- CTFProjectile_EnergyRing = 256,
- CTFDroppedWeapon = 203,
- CTFWeaponSapper = 335,
- CTFWeaponBuilder = 326,
- C_TFWeaponBuilder = 0,
- CTFProjectile_Rocket = 264,
- CTFProjectile_Flare = 257,
- CTFProjectile_EnergyBall = 255,
- CTFProjectile_GrapplingHook = 258,
- CTFProjectile_HealingBolt = 259,
- CTFProjectile_Arrow = 252,
- CMannVsMachineStats = 80,
- CTFTankBoss = 316,
- CTFBaseBoss = 183,
- CBossAlpha = 0,
- NextBotCombatCharacter = 357,
- CTFProjectile_SpellKartBats = 268,
- CTFProjectile_SpellKartOrb = 269,
- CTFHellZap = 220,
- CTFProjectile_SpellLightningOrb = 270,
- CTFProjectile_SpellTransposeTeleport = 277,
- CTFProjectile_SpellMeteorShower = 271,
- CTFProjectile_SpellSpawnBoss = 274,
- CTFProjectile_SpellMirv = 272,
- CTFProjectile_SpellPumpkin = 273,
- CTFProjectile_SpellSpawnHorde = 275,
- CTFProjectile_SpellSpawnZombie = 276,
- CTFProjectile_SpellBats = 266,
- CTFProjectile_SpellFireball = 267,
- CTFSpellBook = 311,
- CHightower_TeleportVortex = 74,
- CTeleportVortex = 160,
- CZombie = 354,
- CMerasmusDancer = 83,
- CMerasmus = 82,
- CHeadlessHatman = 73,
- CEyeballBoss = 48,
- CTFBotHintEngineerNest = 191,
- CBotNPCMinion = 0,
- CBotNPC = 0,
- CPasstimeGun = 94,
- CTFViewModel = 320,
- CRobotDispenser = 112,
- CTFRobotDestruction_Robot = 288,
- CTFReviveMarker = 285,
CTFPumpkinBomb = 282,
- CTFProjectile_BallOfFire = 253,
- CTFBaseProjectile = 184,
- CTFPointManager = 250,
- CBaseObjectUpgrade = 11,
- CTFRobotDestructionLogic = 291,
+ CTFRagdoll = 283,
+ CTFRaygun = 284,
+ CTFReviveMarker = 285,
+ CTFRevolver = 286,
+ CTFRobotArm = 287,
+ CTFRobotDestruction_Robot = 288,
CTFRobotDestruction_RobotGroup = 289,
CTFRobotDestruction_RobotSpawn = 290,
- CTFPlayerDestructionLogic = 248,
- CPlayerDestructionDispenser = 101,
- CTFMinigameLogic = 233,
- CTFHalloweenMinigame_FallingPlatforms = 219,
- CTFHalloweenMinigame = 218,
- CTFMiniGame = 232,
- CTFPowerupBottle = 251,
- CTFItem = 221,
- CHalloweenSoulPack = 71,
- CTFGenericBomb = 213,
- CBonusRoundLogic = 23,
- CTFGameRulesProxy = 211,
- CTETFParticleEffect = 179,
- CTETFExplosion = 178,
- CTETFBlood = 177,
- CTFFlameManager = 206,
- CHalloweenGiftPickup = 69,
- CBonusDuckPickup = 21,
- CHalloweenPickup = 70,
- CCaptureFlagReturnIcon = 27,
- CCaptureFlag = 26,
- CBonusPack = 22,
- CTFTeam = 318,
+ CTFRobotDestructionLogic = 291,
+ CTFRocketLauncher = 292,
+ CTFRocketLauncher_AirStrike = 293,
+ CTFRocketLauncher_DirectHit = 294,
+ CTFRocketLauncher_Mortar = 295,
+ CTFRocketPack = 296,
+ CTFScatterGun = 297,
+ CTFShotgun = 298,
+ CTFShotgun_HWG = 299,
+ CTFShotgun_Pyro = 300,
+ CTFShotgun_Revenge = 301,
+ CTFShotgun_Soldier = 302,
+ CTFShotgunBuildingRescue = 303,
+ CTFShovel = 304,
+ CTFSlap = 305,
+ CTFSMG = 306,
+ CTFSniperRifle = 307,
+ CTFSniperRifleClassic = 308,
+ CTFSniperRifleDecap = 309,
+ CTFSodaPopper = 310,
+ CTFSpellBook = 311,
+ CTFStickBomb = 312,
+ CTFStunBall = 313,
+ CTFSword = 314,
+ CTFSyringeGun = 315,
+ CTFTankBoss = 316,
CTFTauntProp = 317,
- CTFPlayerResource = 249,
- CTFPlayer = 247,
- CTFRagdoll = 283,
- CTEPlayerAnimEvent = 165,
- CTFPasstimeLogic = 240,
- CPasstimeBall = 93,
- CTFObjectiveResource = 235,
- CTFGlow = 214,
- CTEFireBullets = 152,
- CTFBuffBanner = 0,
- CTFAmmoPack = 181,
- CObjectTeleporter = 89,
- CObjectSentrygun = 88,
- CTFProjectile_SentryRocket = 265,
- CObjectSapper = 87,
- CObjectCartDispenser = 85,
- CObjectDispenser = 86,
- CMonsterResource = 84,
- CFuncRespawnRoomVisualizer = 64,
- CFuncRespawnRoom = 63,
- CFuncPasstimeGoal = 61,
- CFuncForceField = 57,
- CCaptureZone = 28,
- CCurrencyPack = 31,
- CBaseObject = 10,
- CTestTraceline = 176,
- CTEWorldDecal = 180,
- CTESpriteSpray = 174,
- CTESprite = 173,
- CTESparks = 172,
- CTESmoke = 171,
- CTEShowLine = 169,
- CTEProjectedDecal = 167,
- CTEPlayerDecal = 166,
- CTEPhysicsProp = 164,
- CTEParticleSystem = 163,
- CTEMuzzleFlash = 162,
- CTELargeFunnel = 159,
- CTEKillPlayerAttachments = 158,
- CTEImpact = 157,
- CTEGlowSprite = 156,
- CTEShatterSurface = 168,
- CTEFootprintDecal = 154,
- CTEFizz = 153,
- CTEExplosion = 151,
- CTEEnergySplash = 150,
- CTEEffectDispatch = 149,
- CTEDynamicLight = 148,
- CTEDecal = 146,
- CTEClientProjectile = 145,
- CTEBubbleTrail = 144,
- CTEBubbles = 143,
- CTEBSPDecal = 142,
- CTEBreakModel = 141,
- CTEBloodStream = 140,
- CTEBloodSprite = 139,
- CTEBeamSpline = 138,
- CTEBeamRingPoint = 137,
- CTEBeamRing = 136,
- CTEBeamPoints = 135,
- CTEBeamLaser = 134,
- CTEBeamFollow = 133,
- CTEBeamEnts = 132,
- CTEBeamEntPoint = 131,
- CTEBaseBeam = 130,
- CTEArmorRicochet = 129,
- CTEMetalSparks = 161,
- CSteamJet = 123,
- CSmokeStack = 117,
+ CTFTeam = 318,
+ CTFThrowable = 319,
+ CTFViewModel = 320,
+ CTFWeaponBase = 321,
+ CTFWeaponBaseGrenadeProj = 322,
+ CTFWeaponBaseGun = 323,
+ CTFWeaponBaseMelee = 324,
+ CTFWeaponBaseMerasmusGrenade = 325,
+ CTFWeaponBuilder = 326,
+ CTFWeaponFlameBall = 327,
+ CTFWeaponInvis = 328,
+ CTFWeaponPDA = 329,
+ CTFWeaponPDA_Engineer_Build = 330,
+ CTFWeaponPDA_Engineer_Destroy = 331,
+ CTFWeaponPDA_Spy = 332,
+ CTFWeaponPDAExpansion_Dispenser = 333,
+ CTFWeaponPDAExpansion_Teleporter = 334,
+ CTFWeaponSapper = 335,
+ CTFWearable = 336,
+ CTFWearableCampaignItem = 337,
+ CTFWearableDemoShield = 338,
+ CTFWearableItem = 339,
+ CTFWearableLevelableItem = 340,
+ CTFWearableRazorback = 341,
+ CTFWearableRobotArm = 342,
+ CTFWearableVM = 343,
+ CTFWrench = 344,
+ CVGuiScreen = 345,
+ CVoteController = 346,
+ CWaterBullet = 347,
+ CWaterLODControl = 348,
+ CWeaponIFMBase = 349,
+ CWeaponIFMBaseCamera = 350,
+ CWeaponIFMSteadyCam = 351,
+ CWeaponMedigun = 352,
+ CWorld = 353,
+ CZombie = 354,
DustTrail = 355,
- CFireTrail = 50,
- SporeTrail = 362,
- SporeExplosion = 361,
+ MovieExplosion = 356,
+ NextBotCombatCharacter = 357,
+ ParticleSmokeGrenade = 358,
RocketTrail = 359,
SmokeTrail = 360,
- CPropVehicleDriveable = 108,
- ParticleSmokeGrenade = 358,
- CParticleFire = 90,
- MovieExplosion = 356,
- CTEGaussExplosion = 155,
- CEnvQuadraticBeam = 43,
- CEmbers = 36,
- CEnvWind = 47,
- CPrecipitation = 107,
- CBaseTempEntity = 17,
- CWeaponIFMSteadyCam = 351,
- CWeaponIFMBaseCamera = 350,
- CWeaponIFMBase = 349,
- CTFWearableVM = 343,
- CTFWearable = 336,
- CTFWearableItem = 339,
- CEconWearable = 35,
- CBaseAttributableItem = 3,
- CEconEntity = 34,
- CHandleTest = 72,
- CTeamplayRoundBasedRulesProxy = 126,
- CTeamRoundTimer = 127,
- CSpriteTrail = 122,
- CSpriteOriented = 121,
- CSprite = 120,
- CRagdollPropAttached = 111,
- CRagdollProp = 110,
- CPoseController = 106,
- CGameRulesProxy = 68,
- CInfoLadderDismount = 75,
- CFuncLadder = 58,
- CEnvDetailController = 40,
- CWorld = 353,
- CWaterLODControl = 348,
- CWaterBullet = 347,
- CVoteController = 346,
- CVGuiScreen = 345,
- CPropJeep = 0,
- CPropVehicleChoreoGeneric = 0,
- CTest_ProxyToggle_Networkable = 175,
- CTesla = 170,
- CTeamTrainWatcher = 128,
- CBaseTeamObjectiveResource = 16,
- CTeam = 125,
- CSun = 124,
- CParticlePerformanceMonitor = 91,
- CSpotlightEnd = 119,
- CSlideshowDisplay = 116,
- CShadowControl = 115,
- CSceneEntity = 114,
- CRopeKeyframe = 113,
- CRagdollManager = 109,
- CPhysicsPropMultiplayer = 98,
- CPhysBoxMultiplayer = 96,
- CBasePropDoor = 15,
- CDynamicProp = 33,
- CPointWorldText = 105,
- CPointCommentaryNode = 104,
- CPointCamera = 103,
- CPlayerResource = 102,
- CPlasma = 100,
- CPhysMagnet = 99,
- CPhysicsProp = 97,
- CPhysBox = 95,
- CParticleSystem = 92,
- CMaterialModifyControl = 81,
- CLightGlow = 79,
- CInfoOverlayAccessor = 77,
- CFuncTrackTrain = 67,
- CFuncSmokeVolume = 66,
- CFuncRotating = 65,
- CFuncReflectiveGlass = 62,
- CFuncOccluder = 60,
- CFuncMonitor = 59,
- CFunc_LOD = 54,
- CTEDust = 147,
- CFunc_Dust = 53,
- CFuncConveyor = 56,
- CBreakableSurface = 25,
- CFuncAreaPortalWindow = 55,
- CFish = 51,
- CEntityFlame = 38,
- CFireSmoke = 49,
- CEnvTonemapController = 46,
- CEnvScreenEffect = 44,
- CEnvScreenOverlay = 45,
- CEnvProjectedTexture = 42,
- CEnvParticleScript = 41,
- CFogController = 52,
- CEntityParticleTrail = 39,
- CEntityDissolve = 37,
- CDynamicLight = 32,
- CColorCorrectionVolume = 30,
- CColorCorrection = 29,
- CBreakableProp = 24,
- CBasePlayer = 13,
- CBaseFlex = 8,
- CBaseEntity = 7,
- CBaseDoor = 6,
- CBaseCombatCharacter = 4,
- CBaseAnimatingOverlay = 2,
- CBoneFollower = 20,
- CBaseAnimating = 1,
- CInfoLightingRelative = 76,
- CAI_BaseNPC = 0,
- CBeam = 19,
- CBaseViewModel = 18,
- CBaseProjectile = 14,
- CBaseParticleEntity = 12,
- CBaseGrenade = 9,
- CBaseCombatWeapon = 5
+ SporeExplosion = 361,
+ SporeTrail = 362
};
enum
@@ -1889,19 +1889,11 @@ enum ETFWeapons
Scout_t_TheFanOWar = 355,
Scout_t_TheAtomizer = 450,
Scout_t_ThreeRuneBlade = 452,
- Scout_t_TheConscientiousObjector = 474,
Scout_t_UnarmedCombat = 572,
Scout_t_TheWrapAssassin = 648,
Scout_t_FestiveBat = 660,
- Scout_t_TheFreedomStaff = 880,
- Scout_t_TheBatOuttaHell = 939,
- Scout_t_TheMemoryMaker = 954,
Scout_t_FestiveHolyMackerel = 999,
- Scout_t_TheHamShank = 1013,
- Scout_t_TheNecroSmasher = 1123,
- Scout_t_TheCrossingGuard = 1127,
Scout_t_Batsaber = 30667,
- Scout_t_PrinnyMachete = 30758,
Soldier_m_RocketLauncher = 18,
Soldier_m_RocketLauncherR = 205,
Soldier_m_TheDirectHit = 127,
@@ -1963,15 +1955,7 @@ enum ETFWeapons
Soldier_t_TheHalfZatoichi = 357,
Soldier_t_TheMarketGardener = 416,
Soldier_t_TheDisciplinaryAction = 447,
- Soldier_t_TheConscientiousObjector = 474,
Soldier_t_TheEscapePlan = 775,
- Soldier_t_TheFreedomStaff = 880,
- Soldier_t_TheBatOuttaHell = 939,
- Soldier_t_TheMemoryMaker = 954,
- Soldier_t_TheHamShank = 1013,
- Soldier_t_TheNecroSmasher = 1123,
- Soldier_t_TheCrossingGuard = 1127,
- Soldier_t_PrinnyMachete = 30758,
Pyro_m_FlameThrower = 21,
Pyro_m_FlameThrowerR = 208,
Pyro_m_TheBackburner = 40,
@@ -2033,20 +2017,12 @@ enum ETFWeapons
Pyro_t_SharpenedVolcanoFragment = 348,
Pyro_t_ThePostalPummeler = 457,
Pyro_t_TheMaul = 466,
- Pyro_t_TheConscientiousObjector = 474,
Pyro_t_TheThirdDegree = 593,
Pyro_t_TheLollichop = 739,
Pyro_t_NeonAnnihilator = 813,
Pyro_t_NeonAnnihilatorG = 834,
- Pyro_t_TheFreedomStaff = 880,
- Pyro_t_TheBatOuttaHell = 939,
- Pyro_t_TheMemoryMaker = 954,
Pyro_t_TheFestiveAxtinguisher = 1000,
- Pyro_t_TheHamShank = 1013,
- Pyro_t_TheNecroSmasher = 1123,
- Pyro_t_TheCrossingGuard = 1127,
Pyro_t_HotHand = 1181,
- Pyro_t_PrinnyMachete = 30758,
Demoman_m_GrenadeLauncher = 19,
Demoman_m_GrenadeLauncherR = 206,
Demoman_m_TheLochnLoad = 308,
@@ -2105,17 +2081,9 @@ enum ETFWeapons
Demoman_t_TheClaidheamhMor = 327,
Demoman_t_TheHalfZatoichi = 357,
Demoman_t_ThePersianPersuader = 404,
- Demoman_t_TheConscientiousObjector = 474,
Demoman_t_NessiesNineIron = 482,
Demoman_t_TheScottishHandshake = 609,
- Demoman_t_TheFreedomStaff = 880,
- Demoman_t_TheBatOuttaHell = 939,
- Demoman_t_TheMemoryMaker = 954,
- Demoman_t_TheHamShank = 1013,
Demoman_t_FestiveEyelander = 1082,
- Demoman_t_TheNecroSmasher = 1123,
- Demoman_t_TheCrossingGuard = 1127,
- Demoman_t_PrinnyMachete = 30758,
Heavy_m_Minigun = 15,
Heavy_m_MinigunR = 202,
Heavy_m_Natascha = 41,
@@ -2177,19 +2145,11 @@ enum ETFWeapons
Heavy_t_WarriorsSpirit = 310,
Heavy_t_FistsofSteel = 331,
Heavy_t_TheEvictionNotice = 426,
- Heavy_t_TheConscientiousObjector = 474,
Heavy_t_ApocoFists = 587,
Heavy_t_TheHolidayPunch = 656,
- Heavy_t_TheFreedomStaff = 880,
- Heavy_t_TheBatOuttaHell = 939,
- Heavy_t_TheMemoryMaker = 954,
- Heavy_t_TheHamShank = 1013,
Heavy_t_FestiveGlovesofRunningUrgently = 1084,
Heavy_t_TheBreadBite = 1100,
- Heavy_t_TheNecroSmasher = 1123,
- Heavy_t_TheCrossingGuard = 1127,
Heavy_t_GlovesofRunningUrgentlyMvM = 1184,
- Heavy_t_PrinnyMachete = 30758,
Engi_m_EngineersShotgun = 9,
Engi_m_ShotgunR = 199,
Engi_m_TheFrontierJustice = 141,
@@ -2246,7 +2206,6 @@ enum ETFWeapons
Engi_t_DiamondBotkillerWrenchMkI = 911,
Engi_t_SilverBotkillerWrenchMkII = 960,
Engi_t_GoldBotkillerWrenchMkII = 969,
- Engi_t_TheNecroSmasher = 1123,
Engi_t_Nutcracker = 15073,
Engi_t_Autumn = 15074,
Engi_t_Boneyard = 15075,
@@ -2254,7 +2213,6 @@ enum ETFWeapons
Engi_t_TopShelf = 15140,
Engi_t_TorquedtoHell = 15114,
Engi_t_Airwolf = 15156,
- Engi_t_PrinnyMachete = 30758,
Engi_p_ConstructionPDA = 25,
Engi_p_ConstructionPDAR = 737,
Engi_p_DestructionPDA = 26,
@@ -2297,16 +2255,8 @@ enum ETFWeapons
Medic_t_TheVitaSaw = 173,
Medic_t_Amputator = 304,
Medic_t_TheSolemnVow = 413,
- Medic_t_TheConscientiousObjector = 474,
- Medic_t_TheFreedomStaff = 880,
- Medic_t_TheBatOuttaHell = 939,
- Medic_t_TheMemoryMaker = 954,
Medic_t_FestiveUbersaw = 1003,
- Medic_t_TheHamShank = 1013,
- Medic_t_TheNecroSmasher = 1123,
- Medic_t_TheCrossingGuard = 1127,
Medic_t_FestiveBonesaw = 1143,
- Medic_t_PrinnyMachete = 30758,
Sniper_m_SniperRifle = 14,
Sniper_m_SniperRifleR = 201,
Sniper_m_TheHuntsman = 56,
@@ -2366,14 +2316,6 @@ enum ETFWeapons
Sniper_t_TheTribalmansShiv = 171,
Sniper_t_TheBushwacka = 232,
Sniper_t_TheShahanshah = 401,
- Sniper_t_TheConscientiousObjector = 474,
- Sniper_t_TheFreedomStaff = 880,
- Sniper_t_TheBatOuttaHell = 939,
- Sniper_t_TheMemoryMaker = 954,
- Sniper_t_TheHamShank = 1013,
- Sniper_t_TheNecroSmasher = 1123,
- Sniper_t_TheCrossingGuard = 1127,
- Sniper_t_PrinnyMachete = 30758,
Spy_m_Revolver = 24,
Spy_m_RevolverR = 210,
Spy_m_TheAmbassador = 61,
@@ -2427,7 +2369,6 @@ enum ETFWeapons
Spy_t_TopShelf = 15119,
Spy_t_Blitzkrieg = 15143,
Spy_t_Airwolf = 15144,
- Spy_t_PrinnyMachete = 30758,
Spy_d_DisguiseKitPDA = 27,
Spy_w_InvisWatch = 30,
Spy_w_InvisWatchR = 212,
@@ -2437,7 +2378,15 @@ enum ETFWeapons
Spy_w_TheQuackenbirdt = 947,
Misc_t_FryingPan = 264,
Misc_t_GoldFryingPan = 1071,
- Misc_t_Saxxy = 423
+ Misc_t_Saxxy = 423,
+ Misc_t_TheConscientiousObjector = 474,
+ Misc_t_TheFreedomStaff = 880,
+ Misc_t_TheBatOuttaHell = 939,
+ Misc_t_TheMemoryMaker = 954,
+ Misc_t_TheHamShank = 1013,
+ Misc_t_TheNecroSmasher = 1123,
+ Misc_t_TheCrossingGuard = 1127,
+ Misc_t_PrinnyMachete = 30758
};
enum struct EWeaponType
diff --git a/Amalgam/src/SDK/Definitions/Main/CTFWeaponBase.cpp b/Amalgam/src/SDK/Definitions/Main/CTFWeaponBase.cpp
index 96ec4c8c..2c4f255b 100644
--- a/Amalgam/src/SDK/Definitions/Main/CTFWeaponBase.cpp
+++ b/Amalgam/src/SDK/Definitions/Main/CTFWeaponBase.cpp
@@ -2,6 +2,9 @@
#include "../../SDK.h"
+MAKE_SIGNATURE(CTFPlayerSharedUtils_GetEconItemViewByLoadoutSlot, "client.dll", "48 89 6C 24 ? 56 41 54 41 55 41 56 41 57 48 83 EC", 0x0);
+MAKE_SIGNATURE(CEconItemView_GetItemName, "client.dll", "40 53 48 83 EC ? 48 8B D9 C6 81 ? ? ? ? ? E8 ? ? ? ? 48 8B 8B", 0x0);
+
bool CTFWeaponBase::HasPrimaryAmmoForShot()
{
if (IsEnergyWeapon())
@@ -163,6 +166,466 @@ float CTFWeaponBase::GetRange()
return 8192.f;
}
+const wchar_t* CTFWeaponBase::GetWeaponName()
+{
+ auto pAttributeManager = U::Memory.CallVirtual<1, void*>(uintptr_t(this) + 3096);
+ auto pCurItemData = reinterpret_cast(uintptr_t(pAttributeManager) + 144);
+ return S::CEconItemView_GetItemName.Call(pCurItemData);
+}
+
+#define ReturnTexture(string) { static CHudTexture* pTexture = H::Draw.GetIcon(string); return pTexture; }
+CHudTexture* CTFWeaponBase::GetWeaponIcon() // wow this is stupid
+{
+ switch (m_iItemDefinitionIndex())
+ {
+ case Scout_m_Scattergun:
+ case Scout_m_ScattergunR:
+ case Scout_m_FestiveScattergun:
+ case Scout_m_SilverBotkillerScattergunMkI:
+ case Scout_m_GoldBotkillerScattergunMkI:
+ case Scout_m_RustBotkillerScattergunMkI:
+ case Scout_m_BloodBotkillerScattergunMkI:
+ case Scout_m_CarbonadoBotkillerScattergunMkI:
+ case Scout_m_DiamondBotkillerScattergunMkI:
+ case Scout_m_SilverBotkillerScattergunMkII:
+ case Scout_m_GoldBotkillerScattergunMkII:
+ case Scout_m_NightTerror:
+ case Scout_m_TartanTorpedo:
+ case Scout_m_CountryCrusher:
+ case Scout_m_BackcountryBlaster:
+ case Scout_m_SpruceDeuce:
+ case Scout_m_CurrentEvent:
+ case Scout_m_MacabreWeb:
+ case Scout_m_Nutcracker:
+ case Scout_m_BlueMew:
+ case Scout_m_FlowerPower:
+ case Scout_m_ShottoHell:
+ case Scout_m_CoffinNail:
+ case Scout_m_KillerBee:
+ case Scout_m_Corsair: ReturnTexture("d_scattergun");
+ case Scout_m_ForceANature:
+ case Scout_m_FestiveForceANature: ReturnTexture("d_force_a_nature");
+ case Scout_m_TheShortstop: ReturnTexture("d_shortstop");
+ case Scout_m_TheSodaPopper: ReturnTexture("d_soda_popper");
+ case Scout_m_BabyFacesBlaster: ReturnTexture("d_pep_brawlerblaster");
+ case Scout_m_TheBackScatter: ReturnTexture("d_back_scatter");
+ case Scout_s_ScoutsPistol:
+ case Scout_s_PistolR:
+ case Engi_s_EngineersPistol:
+ case Scout_s_RedRockRoscoe:
+ case Scout_s_HickoryHolepuncher:
+ case Scout_s_BlackDahlia:
+ case Scout_s_MacabreWeb:
+ case Scout_s_Nutcracker:
+ case Scout_s_BlueMew:
+ case Scout_s_ShottoHell:
+ case Scout_s_Blitzkrieg:
+ case Engi_s_HomemadeHeater:
+ case Engi_s_LocalHero:
+ case Engi_s_SandstoneSpecial:
+ case Engi_s_BrainCandy:
+ case Engi_s_DressedToKill: ReturnTexture("d_pistol");
+ case Scout_s_BonkAtomicPunch:
+ case Scout_s_FestiveBonk: ReturnTexture("d_taunt_scout"); // Bonk has no icon but there is a taunt kill that says bonk so we'll use that
+ case Scout_s_Lugermorph:
+ case Scout_s_VintageLugermorph: ReturnTexture("d_maxgun");
+ case Scout_s_TheWinger: ReturnTexture("d_the_winger");
+ case Scout_s_PrettyBoysPocketPistol: ReturnTexture("d_pep_pistol");
+ case Scout_s_TheFlyingGuillotine:
+ case Scout_s_TheFlyingGuillotineG: ReturnTexture("d_guillotine");
+ case Scout_s_TheCAPPER: ReturnTexture("d_the_capper");
+ case Scout_t_Bat:
+ case Scout_t_BatR:
+ case Scout_t_FestiveBat: ReturnTexture("d_bat");
+ case Scout_t_TheSandman: ReturnTexture("d_sandman");
+ case Scout_t_TheHolyMackerel:
+ case Scout_t_FestiveHolyMackerel: ReturnTexture("d_holymackerel");
+ case Scout_t_TheCandyCane: ReturnTexture("d_candy_cane");
+ case Scout_t_TheBostonBasher: ReturnTexture("d_boston_basher");
+ case Scout_t_SunonaStick: ReturnTexture("d_lava_bat");
+ case Scout_t_TheFanOWar: ReturnTexture("d_warfan");
+ case Scout_t_TheAtomizer: ReturnTexture("d_atomizer");
+ case Scout_t_ThreeRuneBlade: ReturnTexture("d_scout_sword");
+ case Scout_t_UnarmedCombat: ReturnTexture("d_unarmed_combat");
+ case Scout_t_TheWrapAssassin: ReturnTexture("d_wrap_assassin");
+ case Scout_t_Batsaber: ReturnTexture("d_batsaber");
+ case Soldier_m_RocketLauncher:
+ case Soldier_m_RocketLauncherR:
+ case Soldier_m_FestiveRocketLauncher:
+ case Soldier_m_RocketJumper:
+ case Soldier_m_SilverBotkillerRocketLauncherMkI:
+ case Soldier_m_GoldBotkillerRocketLauncherMkI:
+ case Soldier_m_RustBotkillerRocketLauncherMkI:
+ case Soldier_m_BloodBotkillerRocketLauncherMkI:
+ case Soldier_m_CarbonadoBotkillerRocketLauncherMkI:
+ case Soldier_m_DiamondBotkillerRocketLauncherMkI:
+ case Soldier_m_SilverBotkillerRocketLauncherMkII:
+ case Soldier_m_GoldBotkillerRocketLauncherMkII:
+ case Soldier_m_WoodlandWarrior:
+ case Soldier_m_SandCannon:
+ case Soldier_m_AmericanPastoral:
+ case Soldier_m_SmalltownBringdown:
+ case Soldier_m_ShellShocker:
+ case Soldier_m_AquaMarine:
+ case Soldier_m_Autumn:
+ case Soldier_m_BlueMew:
+ case Soldier_m_BrainCandy:
+ case Soldier_m_CoffinNail: // shared with Soldier_m_CoffinNail
+ case Soldier_m_HighRollers:
+ case Soldier_m_Warhawk: ReturnTexture("d_tf_projectile_rocket");
+ case Soldier_m_TheDirectHit: ReturnTexture("d_rocketlauncher_directhit");
+ case Soldier_m_TheBlackBox:
+ case Soldier_m_FestiveBlackBox: ReturnTexture("d_blackbox");
+ case Soldier_m_TheLibertyLauncher: ReturnTexture("d_liberty_launcher");
+ case Soldier_m_TheCowMangler5000: ReturnTexture("d_cow_mangler");
+ case Soldier_m_TheOriginal: ReturnTexture("d_quake_rl");
+ case Soldier_m_TheBeggarsBazooka: ReturnTexture("d_dumpster_device");
+ case Soldier_m_TheAirStrike: ReturnTexture("d_airstrike");
+ case Soldier_s_SoldiersShotgun:
+ case Soldier_s_ShotgunR:
+ case Soldier_s_FestiveShotgun:
+ case Pyro_s_PyrosShotgun:
+ case Heavy_s_HeavysShotgun:
+ case Engi_m_EngineersShotgun:
+ case Soldier_s_BackwoodsBoomstick:
+ case Soldier_s_RusticRuiner:
+ case Soldier_s_CivicDuty:
+ case Soldier_s_LightningRod:
+ case Soldier_s_Autumn:
+ case Soldier_s_FlowerPower:
+ case Soldier_s_CoffinNail:
+ case Soldier_s_DressedtoKill:
+ case Soldier_s_RedBear: ReturnTexture("d_shotgun_soldier");
+ case Soldier_s_TheReserveShooter: ReturnTexture("d_reserve_shooter");
+ case Soldier_s_TheRighteousBison: ReturnTexture("d_righteous_bison");
+ case Soldier_s_PanicAttack: ReturnTexture("d_panic_attack");
+ case Soldier_t_Shovel:
+ case Soldier_t_ShovelR: ReturnTexture("d_shovel");
+ case Soldier_t_TheEqualizer:
+ case Soldier_t_TheEscapePlan: ReturnTexture("d_pickaxe");
+ case Soldier_t_ThePainTrain: ReturnTexture("d_paintrain");
+ case Soldier_t_TheHalfZatoichi: ReturnTexture("d_demokatana");
+ case Soldier_t_TheMarketGardener: ReturnTexture("d_market_gardener");
+ case Soldier_t_TheDisciplinaryAction: ReturnTexture("d_disciplinary_action");
+ case Pyro_m_FlameThrower:
+ case Pyro_m_FlameThrowerR:
+ case Pyro_m_FestiveFlameThrower:
+ case Pyro_m_SilverBotkillerFlameThrowerMkI:
+ case Pyro_m_GoldBotkillerFlameThrowerMkI:
+ case Pyro_m_RustBotkillerFlameThrowerMkI:
+ case Pyro_m_BloodBotkillerFlameThrowerMkI:
+ case Pyro_m_CarbonadoBotkillerFlameThrowerMkI:
+ case Pyro_m_DiamondBotkillerFlameThrowerMkI:
+ case Pyro_m_SilverBotkillerFlameThrowerMkII:
+ case Pyro_m_GoldBotkillerFlameThrowerMkII:
+ case Pyro_m_ForestFire:
+ case Pyro_m_BarnBurner:
+ case Pyro_m_BovineBlazemaker:
+ case Pyro_m_EarthSkyandFire:
+ case Pyro_m_FlashFryer:
+ case Pyro_m_TurbineTorcher:
+ case Pyro_m_Autumn:
+ case Pyro_m_PumpkinPatch:
+ case Pyro_m_Nutcracker:
+ case Pyro_m_Balloonicorn:
+ case Pyro_m_Rainbow:
+ case Pyro_m_CoffinNail:
+ case Pyro_m_Warhawk: ReturnTexture("d_flamethrower");
+ case Pyro_m_TheBackburner:
+ case Pyro_m_FestiveBackburner: ReturnTexture("d_backburner");
+ case Pyro_m_TheDegreaser: ReturnTexture("d_degreaser");
+ case Pyro_m_ThePhlogistinator: ReturnTexture("d_phlogistinator");
+ case Pyro_m_TheRainblower: ReturnTexture("d_rainblower");
+ case Pyro_m_DragonsFury: ReturnTexture("d_dragons_fury");
+ case Pyro_s_TheFlareGun:
+ case Pyro_s_FestiveFlareGun: ReturnTexture("d_flaregun");
+ case Pyro_s_TheDetonator: ReturnTexture("d_detonator");
+ case Pyro_s_TheManmelter: ReturnTexture("d_manmelter");
+ case Pyro_s_TheScorchShot: ReturnTexture("d_scorch_shot");
+ case Pyro_s_ThermalThruster: ReturnTexture("d_rocketpack");
+ case Pyro_t_FireAxe:
+ case Pyro_t_FireAxeR: ReturnTexture("d_fireaxe");
+ case Pyro_t_TheAxtinguisher:
+ case Pyro_t_TheFestiveAxtinguisher: ReturnTexture("d_axtinguisher");
+ case Pyro_t_Homewrecker: ReturnTexture("d_sledgehammer");
+ case Pyro_t_ThePowerjack: ReturnTexture("d_powerjack");
+ case Pyro_t_TheBackScratcher: ReturnTexture("d_back_scratcher");
+ case Pyro_t_SharpenedVolcanoFragment: ReturnTexture("d_lava_axe");
+ case Pyro_t_ThePostalPummeler: ReturnTexture("d_mailbox");
+ case Pyro_t_TheMaul: ReturnTexture("d_the_maul");
+ case Pyro_t_TheThirdDegree: ReturnTexture("d_thirddegree");
+ case Pyro_t_TheLollichop: ReturnTexture("d_lollichop");
+ case Pyro_t_NeonAnnihilator:
+ case Pyro_t_NeonAnnihilatorG: ReturnTexture("d_annihilator");
+ case Pyro_t_HotHand: ReturnTexture("d_hot_hand");
+ case Demoman_m_GrenadeLauncher:
+ case Demoman_m_GrenadeLauncherR:
+ case Demoman_m_FestiveGrenadeLauncher:
+ case Demoman_m_Autumn:
+ case Demoman_m_MacabreWeb:
+ case Demoman_m_Rainbow:
+ case Demoman_m_SweetDreams:
+ case Demoman_m_CoffinNail:
+ case Demoman_m_TopShelf:
+ case Demoman_m_Warhawk:
+ case Demoman_m_ButcherBird: ReturnTexture("d_tf_projectile_pipe");
+ case Demoman_m_TheLochnLoad: ReturnTexture("d_loch_n_load");
+ case Demoman_m_TheLooseCannon: ReturnTexture("d_loose_cannon_explosion");
+ case Demoman_m_TheIronBomber: ReturnTexture("d_iron_bomber");
+ case Demoman_s_StickybombLauncher:
+ case Demoman_s_StickybombLauncherR:
+ case Demoman_s_FestiveStickybombLauncher:
+ case Demoman_s_StickyJumper:
+ case Demoman_s_SilverBotkillerStickybombLauncherMkI:
+ case Demoman_s_GoldBotkillerStickybombLauncherMkI:
+ case Demoman_s_RustBotkillerStickybombLauncherMkI:
+ case Demoman_s_BloodBotkillerStickybombLauncherMkI:
+ case Demoman_s_CarbonadoBotkillerStickybombLauncherMkI:
+ case Demoman_s_DiamondBotkillerStickybombLauncherMkI:
+ case Demoman_s_SilverBotkillerStickybombLauncherMkII:
+ case Demoman_s_GoldBotkillerStickybombLauncherMkII:
+ case Demoman_s_SuddenFlurry:
+ case Demoman_s_CarpetBomber:
+ case Demoman_s_BlastedBombardier:
+ case Demoman_s_RooftopWrangler:
+ case Demoman_s_LiquidAsset:
+ case Demoman_s_PinkElephant:
+ case Demoman_s_Autumn:
+ case Demoman_s_PumpkinPatch:
+ case Demoman_s_MacabreWeb:
+ case Demoman_s_SweetDreams:
+ case Demoman_s_CoffinNail:
+ case Demoman_s_DressedtoKill:
+ case Demoman_s_Blitzkrieg: ReturnTexture("d_tf_projectile_pipe_remote");
+ case Demoman_s_TheScottishResistance: ReturnTexture("d_sticky_resistance");
+ case Demoman_s_TheCharginTarge:
+ case Demoman_s_FestiveTarge: ReturnTexture("d_demoshield");
+ case Demoman_s_TheSplendidScreen: ReturnTexture("d_splendid_screen");
+ case Demoman_s_TheTideTurner: ReturnTexture("d_tide_turner");
+ case Demoman_s_TheQuickiebombLauncher: ReturnTexture("d_quickiebomb_launcher");
+ case Demoman_t_Bottle:
+ case Demoman_t_BottleR: ReturnTexture("d_bottle");
+ case Demoman_t_TheEyelander:
+ case Demoman_t_FestiveEyelander: ReturnTexture("d_sword");
+ case Demoman_t_TheScotsmansSkullcutter: ReturnTexture("d_battleaxe");
+ case Demoman_t_HorselessHeadlessHorsemannsHeadtaker: ReturnTexture("d_headtaker");
+ case Demoman_t_UllapoolCaber: ReturnTexture("d_ullapool_caber_explosion");
+ case Demoman_t_TheClaidheamhMor: ReturnTexture("d_claidheamohmor");
+ case Demoman_t_ThePersianPersuader: ReturnTexture("d_persian_persuader");
+ case Demoman_t_NessiesNineIron: ReturnTexture("d_nessieclub");
+ case Demoman_t_TheScottishHandshake: ReturnTexture("d_scotland_shard");
+ case Heavy_m_Minigun:
+ case Heavy_m_MinigunR:
+ case Heavy_m_FestiveMinigun:
+ case Heavy_m_SilverBotkillerMinigunMkI:
+ case Heavy_m_GoldBotkillerMinigunMkI:
+ case Heavy_m_RustBotkillerMinigunMkI:
+ case Heavy_m_BloodBotkillerMinigunMkI:
+ case Heavy_m_CarbonadoBotkillerMinigunMkI:
+ case Heavy_m_DiamondBotkillerMinigunMkI:
+ case Heavy_m_SilverBotkillerMinigunMkII:
+ case Heavy_m_GoldBotkillerMinigunMkII:
+ case Heavy_m_KingoftheJungle:
+ case Heavy_m_IronWood:
+ case Heavy_m_AntiqueAnnihilator:
+ case Heavy_m_WarRoom:
+ case Heavy_m_CitizenPain:
+ case Heavy_m_BrickHouse:
+ case Heavy_m_MacabreWeb:
+ case Heavy_m_PumpkinPatch:
+ case Heavy_m_Nutcracker:
+ case Heavy_m_BrainCandy:
+ case Heavy_m_MisterCuddles:
+ case Heavy_m_CoffinNail:
+ case Heavy_m_DressedtoKill:
+ case Heavy_m_TopShelf:
+ case Heavy_m_ButcherBird: ReturnTexture("d_minigun");
+ case Heavy_m_Natascha: ReturnTexture("d_natascha");
+ case Heavy_m_IronCurtain:
+ case Heavy_m_Deflector_mvm: ReturnTexture("d_iron_curtain");
+ case Heavy_m_TheBrassBeast: ReturnTexture("d_brass_beast");
+ case Heavy_m_Tomislav: ReturnTexture("d_tomislav");
+ case Heavy_m_TheHuoLongHeater:
+ case Heavy_m_TheHuoLongHeaterG: ReturnTexture("d_long_heatmaker");
+ case Heavy_s_TheFamilyBusiness: ReturnTexture("d_family_business");
+ case Heavy_t_Fists:
+ case Heavy_t_FistsR: ReturnTexture("d_fists");
+ case Heavy_t_TheKillingGlovesofBoxing: ReturnTexture("d_gloves");
+ case Heavy_t_GlovesofRunningUrgently:
+ case Heavy_t_FestiveGlovesofRunningUrgently:
+ case Heavy_t_GlovesofRunningUrgentlyMvM: ReturnTexture("d_gloves_running_urgently");
+ case Heavy_t_WarriorsSpirit: ReturnTexture("d_warrior_spirit");
+ case Heavy_t_FistsofSteel: ReturnTexture("d_steel_fists");
+ case Heavy_t_TheEvictionNotice: ReturnTexture("d_eviction_notice");
+ case Heavy_t_ApocoFists: ReturnTexture("d_apocofists");
+ case Heavy_t_TheHolidayPunch: ReturnTexture("d_holiday_punch");
+ case Heavy_t_TheBreadBite: ReturnTexture("d_bread_bite");
+ case Engi_m_TheFrontierJustice:
+ case Engi_m_FestiveFrontierJustice: ReturnTexture("d_frontier_kill");
+ case Engi_m_TheWidowmaker: ReturnTexture("d_widowmaker");
+ case Engi_m_ThePomson6000: ReturnTexture("d_pomson");
+ case Engi_m_TheRescueRanger: ReturnTexture("d_rescue_ranger");
+ case Engi_s_TheWrangler:
+ case Engi_s_FestiveWrangler: ReturnTexture("d_wrangler_kill");
+ case Engi_s_TheShortCircuit: ReturnTexture("d_short_circuit");
+ case Engi_s_TheGigarCounter: ReturnTexture("d_giger_counter");
+ case Engi_t_Wrench:
+ case Engi_t_WrenchR:
+ case Engi_t_FestiveWrench:
+ case Engi_t_GoldenWrench:
+ case Engi_t_SilverBotkillerWrenchMkI:
+ case Engi_t_GoldBotkillerWrenchMkI:
+ case Engi_t_RustBotkillerWrenchMkI:
+ case Engi_t_BloodBotkillerWrenchMkI:
+ case Engi_t_CarbonadoBotkillerWrenchMkI:
+ case Engi_t_DiamondBotkillerWrenchMkI:
+ case Engi_t_SilverBotkillerWrenchMkII:
+ case Engi_t_GoldBotkillerWrenchMkII:
+ case Engi_t_Nutcracker:
+ case Engi_t_Autumn:
+ case Engi_t_Boneyard:
+ case Engi_t_DressedtoKill:
+ case Engi_t_TopShelf:
+ case Engi_t_TorquedtoHell:
+ case Engi_t_Airwolf: ReturnTexture("d_wrench");
+ case Engi_t_TheGunslinger: ReturnTexture("d_robot_arm_kill");
+ case Engi_t_TheSouthernHospitality: ReturnTexture("d_southern_comfort_kill");
+ case Engi_t_TheJag: ReturnTexture("d_wrench_jag");
+ case Engi_t_TheEurekaEffect: ReturnTexture("d_eureka_effect");
+ case Medic_m_SyringeGun:
+ case Medic_m_SyringeGunR: ReturnTexture("d_syringegun_medic");
+ case Medic_m_TheBlutsauger: ReturnTexture("d_blutsauger");
+ case Medic_m_CrusadersCrossbow:
+ case Medic_m_FestiveCrusadersCrossbow: ReturnTexture("d_crusaders_crossbow");
+ case Medic_m_TheOverdose: ReturnTexture("d_proto_syringe");
+ case Medic_t_Bonesaw:
+ case Medic_t_BonesawR:
+ case Medic_t_FestiveBonesaw: ReturnTexture("d_bonesaw");
+ case Medic_t_TheUbersaw:
+ case Medic_t_FestiveUbersaw: ReturnTexture("d_ubersaw");
+ case Medic_t_TheVitaSaw: ReturnTexture("d_battleneedle");
+ case Medic_t_Amputator: ReturnTexture("d_amputator");
+ case Medic_t_TheSolemnVow: ReturnTexture("d_solemn_vow");
+ case Sniper_m_SniperRifle:
+ case Sniper_m_SniperRifleR:
+ case Sniper_m_FestiveSniperRifle:
+ case Sniper_m_TheAWPerHand:
+ case Sniper_m_SilverBotkillerSniperRifleMkI:
+ case Sniper_m_GoldBotkillerSniperRifleMkI:
+ case Sniper_m_RustBotkillerSniperRifleMkI:
+ case Sniper_m_BloodBotkillerSniperRifleMkI:
+ case Sniper_m_CarbonadoBotkillerSniperRifleMkI:
+ case Sniper_m_DiamondBotkillerSniperRifleMkI:
+ case Sniper_m_SilverBotkillerSniperRifleMkII:
+ case Sniper_m_GoldBotkillerSniperRifleMkII:
+ case Sniper_m_NightOwl:
+ case Sniper_m_PurpleRange:
+ case Sniper_m_LumberFromDownUnder:
+ case Sniper_m_ShotintheDark:
+ case Sniper_m_Bogtrotter:
+ case Sniper_m_Thunderbolt:
+ case Sniper_m_PumpkinPatch:
+ case Sniper_m_Boneyard:
+ case Sniper_m_Wildwood:
+ case Sniper_m_Balloonicorn:
+ case Sniper_m_Rainbow:
+ case Sniper_m_CoffinNail:
+ case Sniper_m_DressedtoKill: ReturnTexture("d_headshot");
+ case Sniper_m_TheHuntsman:
+ case Sniper_m_FestiveHuntsman:
+ case Sniper_m_TheFortifiedCompound: ReturnTexture("d_huntsman");
+ case Sniper_m_TheSydneySleeper: ReturnTexture("d_sydney_sleeper");
+ case Sniper_m_TheBazaarBargain: ReturnTexture("d_bazaar_bargain");
+ case Sniper_m_TheMachina: ReturnTexture("d_machina");
+ case Sniper_m_TheHitmansHeatmaker: ReturnTexture("d_pro_rifle");
+ case Sniper_m_TheClassic: ReturnTexture("d_the_classic");
+ case Sniper_m_ShootingStar: ReturnTexture("d_shooting_star");
+ case Sniper_s_SMG:
+ case Sniper_s_SMGR:
+ case Sniper_s_FestiveSMG:
+ case Sniper_s_WoodsyWidowmaker:
+ case Sniper_s_PlaidPotshotter:
+ case Sniper_s_TreadplateTormenter:
+ case Sniper_s_TeamSprayer:
+ case Sniper_s_LowProfile:
+ case Sniper_s_Wildwood:
+ case Sniper_s_BlueMew:
+ case Sniper_s_HighRollers:
+ case Sniper_s_Blitzkrieg: ReturnTexture("d_smg");
+ case Sniper_s_TheCleanersCarbine: ReturnTexture("d_pro_smg");
+ case Sniper_t_Kukri:
+ case Sniper_t_KukriR: ReturnTexture("d_club");
+ case Sniper_t_TheTribalmansShiv: ReturnTexture("d_tribalkukri");
+ case Sniper_t_TheBushwacka: ReturnTexture("d_bushwacka");
+ case Sniper_t_TheShahanshah: ReturnTexture("d_shahanshah");
+ case Spy_m_Revolver:
+ case Spy_m_RevolverR:
+ case Spy_m_FestiveRevolver:
+ case Spy_m_PsychedelicSlugger:
+ case Spy_m_OldCountry:
+ case Spy_m_Mayor:
+ case Spy_m_DeadReckoner:
+ //case Spy_m_Boneyard: // shared with Spy_t_Boneyard
+ case Spy_m_Wildwood:
+ case Spy_m_MacabreWeb:
+ case Spy_m_FlowerPower:
+ case Spy_m_TopShelf:
+ //case Spy_m_CoffinNail: // shared with Soldier_m_CoffinNail
+ case Spy_m_Blitzkrieg: ReturnTexture("d_revolver");
+ case Spy_m_TheAmbassador:
+ case Spy_m_FestiveAmbassador: ReturnTexture("d_ambassador");
+ case Spy_m_BigKill: ReturnTexture("d_samrevolver");
+ case Spy_m_LEtranger: ReturnTexture("d_letranger");
+ case Spy_m_TheEnforcer: ReturnTexture("d_enforcer");
+ case Spy_m_TheDiamondback: ReturnTexture("d_diamondback");
+ case Spy_s_Sapper:
+ case Spy_s_SapperR:
+ case Spy_s_FestiveSapper: ReturnTexture("d_obj_attachment_sapper");
+ case Spy_s_TheRedTapeRecorder:
+ case Spy_s_TheRedTapeRecorderG: ReturnTexture("d_recorder");
+ case Spy_s_TheApSapG: ReturnTexture("d_psapper");
+ case Spy_s_TheSnackAttack: ReturnTexture("d_snack_attack");
+ case Spy_t_Knife:
+ case Spy_t_KnifeR:
+ case Spy_t_FestiveKnife:
+ case Spy_t_SilverBotkillerKnifeMkI:
+ case Spy_t_GoldBotkillerKnifeMkI:
+ case Spy_t_RustBotkillerKnifeMkI:
+ case Spy_t_BloodBotkillerKnifeMkI:
+ case Spy_t_CarbonadoBotkillerKnifeMkI:
+ case Spy_t_DiamondBotkillerKnifeMkI:
+ case Spy_t_SilverBotkillerKnifeMkII:
+ case Spy_t_GoldBotkillerKnifeMkII:
+ case Spy_t_Boneyard:
+ case Spy_t_BlueMew:
+ case Spy_t_BrainCandy:
+ case Spy_t_StabbedtoHell:
+ case Spy_t_DressedtoKill:
+ case Spy_t_TopShelf:
+ case Spy_t_Blitzkrieg:
+ case Spy_t_Airwolf: ReturnTexture("d_knife");
+ case Spy_t_YourEternalReward: ReturnTexture("d_eternal_reward");
+ case Spy_t_ConniversKunai: ReturnTexture("d_kunai");
+ case Spy_t_TheBigEarner: ReturnTexture("d_big_earner");
+ case Spy_t_TheWangaPrick: ReturnTexture("d_voodoo_pin");
+ case Spy_t_TheSharpDresser: ReturnTexture("d_sharp_dresser");
+ case Spy_t_TheSpycicle: ReturnTexture("d_spy_cicle");
+ case Spy_t_TheBlackRose: ReturnTexture("d_black_rose");
+ case Spy_d_DisguiseKitPDA: ReturnTexture("hud_spy_disguise_menu_icon");
+ case Misc_t_FryingPan:
+ case Misc_t_GoldFryingPan: ReturnTexture("d_fryingpan");
+ case Misc_t_TheConscientiousObjector: ReturnTexture("d_nonnonviolent_protest");
+ case Misc_t_TheBatOuttaHell: ReturnTexture("d_skull");
+ case Misc_t_TheFreedomStaff: ReturnTexture("d_freedom_staff");
+ case Misc_t_TheMemoryMaker: ReturnTexture("d_memory_maker");
+ case Misc_t_TheHamShank: ReturnTexture("d_ham_shank");
+ case Misc_t_TheNecroSmasher: ReturnTexture("d_necro_smasher");
+ case Misc_t_TheCrossingGuard: ReturnTexture("d_crossing_guard");
+ case Misc_t_PrinnyMachete: ReturnTexture("d_prinny_machete");
+ }
+ ReturnTexture("d_skull");
+}
+
int CWeaponMedigun::GetMedigunType()
@@ -263,457 +726,4 @@ int CTFGrenadeLauncher::GetDetonateType()
int CTFFlareGun::GetFlareGunType()
{
return SDK::AttribHookValue(0, "set_weapon_mode", this);
-}
-
-
-
-#define ReturnTexture(string) { static CHudTexture* pTexture = H::Draw.GetIcon(string); return pTexture; }
-CHudTexture* CTFWeaponBase::GetWeaponIcon() // wow this is stupid
-{
- switch (m_iItemDefinitionIndex())
- {
- case 13:
- case 200:
- case 669:
- case 799:
- case 808:
- case 888:
- case 897:
- case 906:
- case 915:
- case 964:
- case 973:
- case 15002:
- case 15015:
- case 15021:
- case 15029:
- case 15036:
- case 15053:
- case 15065:
- case 15069:
- case 15106:
- case 15107:
- case 15108:
- case 15131:
- case 15151:
- case 15157: ReturnTexture("d_scattergun");
- case 45:
- case 1078: ReturnTexture("d_force_a_nature");
- case 220: ReturnTexture("d_shortstop");
- case 448: ReturnTexture("d_soda_popper");
- case 772: ReturnTexture("d_pep_brawlerblaster");
- case 1103: ReturnTexture("d_back_scatter");
- case 22:
- case 23:
- case 209:
- case 15013:
- case 15018:
- case 15035:
- case 15041:
- case 15046:
- case 15056:
- case 15060:
- case 15061:
- case 15100:
- case 15101:
- case 15102:
- case 15126:
- case 15148: ReturnTexture("d_pistol");
- case 46:
- case 1145: ReturnTexture("d_taunt_scout"); // Bonk has no icon but there is a taunt kill that says bonk so we'll use that
- case 160:
- case 294: ReturnTexture("d_maxgun");
- case 449: ReturnTexture("d_the_winger");
- case 773: ReturnTexture("d_pep_pistol");
- case 812:
- case 833: ReturnTexture("d_guillotine");
- case 30666: ReturnTexture("d_the_capper");
- case 0:
- case 190:
- case 660: ReturnTexture("d_bat");
- case 44: ReturnTexture("d_sandman");
- case 221:
- case 999: ReturnTexture("d_holymackerel");
- case 317: ReturnTexture("d_candy_cane");
- case 325: ReturnTexture("d_boston_basher");
- case 349: ReturnTexture("d_lava_bat");
- case 355: ReturnTexture("d_warfan");
- case 450: ReturnTexture("d_atomizer");
- case 452: ReturnTexture("d_scout_sword");
- case 264:
- case 1071: ReturnTexture("d_fryingpan");
- case 474: ReturnTexture("d_nonnonviolent_protest");
- case 572: ReturnTexture("d_unarmed_combat");
- case 648: ReturnTexture("d_wrap_assassin");
- case 939: ReturnTexture("d_skull");
- case 880: ReturnTexture("d_freedom_staff");
- case 954: ReturnTexture("d_memory_maker");
- case 1013: ReturnTexture("d_ham_shank");
- case 1123: ReturnTexture("d_necro_smasher");
- case 1127: ReturnTexture("d_crossing_guard");
- case 30667: ReturnTexture("d_batsaber");
- case 30758: ReturnTexture("d_prinny_machete");
- case 18:
- case 205:
- case 658:
- case 800:
- case 809:
- case 889:
- case 898:
- case 907:
- case 916:
- case 965:
- case 974:
- case 15006:
- case 15014:
- case 15028:
- case 15043:
- case 15052:
- case 15057:
- case 15081:
- case 15104:
- case 15105:
- case 15130:
- case 15150:
- case 237: ReturnTexture("d_tf_projectile_rocket");
- case 127: ReturnTexture("d_rocketlauncher_directhit");
- case 228:
- case 1085: ReturnTexture("d_blackbox");
- case 414: ReturnTexture("d_liberty_launcher");
- case 441: ReturnTexture("d_cow_mangler");
- case 513: ReturnTexture("d_quake_rl");
- case 730: ReturnTexture("d_dumpster_device");
- case 1104: ReturnTexture("d_airstrike");
- case 10:
- case 199:
- case 15003:
- case 15016:
- case 15044:
- case 15047:
- case 15085:
- case 15109:
- case 15132:
- case 15133:
- case 15152:
- case 1141:
- case 12:
- case 11:
- case 9: ReturnTexture("d_shotgun_soldier");
- case 415: ReturnTexture("d_reserve_shooter");
- case 442: ReturnTexture("d_righteous_bison");
- case 1153: ReturnTexture("d_panic_attack");
- case 6:
- case 196: ReturnTexture("d_shovel");
- case 128:
- case 775: ReturnTexture("d_pickaxe");
- case 154: ReturnTexture("d_paintrain");
- case 357: ReturnTexture("d_demokatana");
- case 416: ReturnTexture("d_market_gardener");
- case 447: ReturnTexture("d_disciplinary_action");
- case 21:
- case 208:
- case 659:
- case 798:
- case 807:
- case 887:
- case 896:
- case 905:
- case 914:
- case 963:
- case 972:
- case 15005:
- case 15017:
- case 15030:
- case 15034:
- case 15049:
- case 15054:
- case 15066:
- case 15067:
- case 15068:
- case 15089:
- case 15090:
- case 15115:
- case 15141: ReturnTexture("d_flamethrower");
- case 40:
- case 1146: ReturnTexture("d_backburner");
- case 215: ReturnTexture("d_degreaser");
- case 594: ReturnTexture("d_phlogistinator");
- case 741: ReturnTexture("d_rainblower");
- case 1178: ReturnTexture("d_dragons_fury");
- case 39:
- case 1081: ReturnTexture("d_flaregun");
- case 740: ReturnTexture("d_scorch_shot");
- case 595: ReturnTexture("d_manmelter");
- case 351: ReturnTexture("d_detonator");
- case 1179: ReturnTexture("d_rocketpack");
- case 2:
- case 192: ReturnTexture("d_fireaxe");
- case 38:
- case 1000: ReturnTexture("d_axtinguisher");
- case 153: ReturnTexture("d_sledgehammer");
- case 214: ReturnTexture("d_powerjack");
- case 326: ReturnTexture("d_back_scratcher");
- case 348: ReturnTexture("d_lava_axe");
- case 457: ReturnTexture("d_mailbox");
- case 466: ReturnTexture("d_the_maul");
- case 593: ReturnTexture("d_thirddegree");
- case 739: ReturnTexture("d_lollichop");
- case 813:
- case 834: ReturnTexture("d_annihilator");
- case 1181: ReturnTexture("d_hot_hand");
- case 19:
- case 206:
- case 15077:
- case 15079:
- case 15091:
- case 15092:
- case 15116:
- case 15117:
- case 15142:
- case 15158:
- case 1007: ReturnTexture("d_tf_projectile_pipe");
- case 308: ReturnTexture("d_loch_n_load");
- case 996: ReturnTexture("d_loose_cannon_explosion");
- case 1151: ReturnTexture("d_iron_bomber");
- case 20:
- case 207:
- case 661:
- case 797:
- case 806:
- case 886:
- case 895:
- case 904:
- case 913:
- case 962:
- case 971:
- case 265:
- case 15009:
- case 15012:
- case 15024:
- case 15038:
- case 15045:
- case 15048:
- case 15082:
- case 15083:
- case 15084:
- case 15113:
- case 15137:
- case 15138:
- case 15155: ReturnTexture("d_tf_projectile_pipe_remote");
- case 130: ReturnTexture("d_sticky_resistance");
- case 131:
- case 1144: ReturnTexture("d_demoshield");
- case 1099: ReturnTexture("d_tide_turner");
- case 406: ReturnTexture("d_splendid_screen");
- case 1150: ReturnTexture("d_quickiebomb_launcher");
- case 1:
- case 191: ReturnTexture("d_bottle");
- case 132:
- case 1082: ReturnTexture("d_sword");
- case 172: ReturnTexture("d_battleaxe");
- case 266: ReturnTexture("d_headtaker");
- case 307: ReturnTexture("d_ullapool_caber_explosion");
- case 327: ReturnTexture("d_claidheamohmor");
- case 404: ReturnTexture("d_persian_persuader");
- case 482: ReturnTexture("d_nessieclub");
- case 609: ReturnTexture("d_scotland_shard");
- case 15:
- case 202:
- case 654:
- case 793:
- case 802:
- case 882:
- case 891:
- case 900:
- case 909:
- case 958:
- case 967:
- case 15004:
- case 15020:
- case 15026:
- case 15031:
- case 15040:
- case 15055:
- case 15086:
- case 15087:
- case 15088:
- case 15098:
- case 15099:
- case 15123:
- case 15124:
- case 15125:
- case 15147: ReturnTexture("d_minigun");
- case 41: ReturnTexture("d_natascha");
- case 312: ReturnTexture("d_brass_beast");
- case 424: ReturnTexture("d_tomislav");
- case 811:
- case 832: ReturnTexture("d_long_heatmaker");
- case 298:
- case 850: ReturnTexture("d_iron_curtain");
- case 425: ReturnTexture("d_family_business");
- case 5:
- case 195: ReturnTexture("d_fists");
- case 43: ReturnTexture("d_gloves");
- case 239:
- case 1084:
- case 1184: ReturnTexture("d_gloves_running_urgently");
- case 310: ReturnTexture("d_warrior_spirit");
- case 331: ReturnTexture("d_steel_fists");
- case 426: ReturnTexture("d_eviction_notice");
- case 587: ReturnTexture("d_apocofists");
- case 656: ReturnTexture("d_holiday_punch");
- case 1100: ReturnTexture("d_bread_bite");
- case 141:
- case 1004: ReturnTexture("d_frontier_kill");
- case 527: ReturnTexture("d_widowmaker");
- case 588: ReturnTexture("d_pomson");
- case 997: ReturnTexture("d_rescue_ranger");
- case 140:
- case 1086: ReturnTexture("d_wrangler_kill");
- case 528: ReturnTexture("d_short_circuit");
- case 30668: ReturnTexture("d_giger_counter");
- case 7:
- case 197:
- case 662:
- case 795:
- case 804:
- case 884:
- case 893:
- case 902:
- case 911:
- case 960:
- case 969:
- case 15073:
- case 15074:
- case 15075:
- case 15139:
- case 15140:
- case 15114:
- case 15156:
- case 169: ReturnTexture("d_wrench");
- case 142: ReturnTexture("d_robot_arm_kill");
- case 155: ReturnTexture("d_southern_comfort_kill");
- case 329: ReturnTexture("d_wrench_jag");
- case 589: ReturnTexture("d_eureka_effect");
- case 17:
- case 204: ReturnTexture("d_syringegun_medic");
- case 36: ReturnTexture("d_blutsauger");
- case 305:
- case 1079: ReturnTexture("d_crusaders_crossbow");
- case 412: ReturnTexture("d_proto_syringe");
- case 8:
- case 198:
- case 1143: ReturnTexture("d_bonesaw");
- case 37:
- case 1003: ReturnTexture("d_ubersaw");
- case 173: ReturnTexture("d_battleneedle");
- case 304: ReturnTexture("d_amputator");
- case 413: ReturnTexture("d_solemn_vow");
- case 14:
- case 201:
- case 664:
- case 792:
- case 801:
- case 881:
- case 890:
- case 899:
- case 908:
- case 957:
- case 966:
- case 15000:
- case 15007:
- case 15019:
- case 15023:
- case 15033:
- case 15059:
- case 15070:
- case 15071:
- case 15072:
- case 15111:
- case 15112:
- case 15135:
- case 15136:
- case 851: ReturnTexture("d_headshot");
- case 56:
- case 1005:
- case 1092: ReturnTexture("d_huntsman");
- case 30665: ReturnTexture("d_shooting_star");
- case 1098: ReturnTexture("d_the_classic");
- case 752: ReturnTexture("d_pro_rifle");
- case 526: ReturnTexture("d_machina");
- case 402: ReturnTexture("d_bazaar_bargain");
- case 230: ReturnTexture("d_sydney_sleeper");
- case 16:
- case 203:
- case 1149:
- case 15001:
- case 15022:
- case 15032:
- case 15037:
- case 15058:
- case 15076:
- case 15110:
- case 15134:
- case 15153: ReturnTexture("d_smg");
- case 751: ReturnTexture("d_pro_smg");
- case 3:
- case 193: ReturnTexture("d_club");
- case 171: ReturnTexture("d_tribalkukri");
- case 232: ReturnTexture("d_bushwacka");
- case 401: ReturnTexture("d_shahanshah");
- case 24:
- case 210:
- case 1142:
- case 15011:
- case 15027:
- case 15042:
- case 15051:
- case 15062:
- case 15063:
- case 15064:
- case 15103:
- case 15128:
- case 15129:
- case 15149: ReturnTexture("d_revolver");
- case 61:
- case 1006: ReturnTexture("d_ambassador");
- case 161: ReturnTexture("d_samrevolver");
- case 224: ReturnTexture("d_letranger");
- case 460: ReturnTexture("d_enforcer");
- case 525: ReturnTexture("d_diamondback");
- case 735:
- case 736:
- case 1080: ReturnTexture("d_obj_attachment_sapper");
- case 933: ReturnTexture("d_psapper");
- case 1102: ReturnTexture("d_snack_attack");
- case 810:
- case 831: ReturnTexture("d_recorder");
- case 225: ReturnTexture("d_eternal_reward");
- case 356: ReturnTexture("d_kunai");
- case 461: ReturnTexture("d_big_earner");
- case 574: ReturnTexture("d_voodoo_pin");
- case 638: ReturnTexture("d_sharp_dresser");
- case 649: ReturnTexture("d_spy_cicle");
- case 4:
- case 194:
- case 665:
- case 794:
- case 803:
- case 883:
- case 892:
- case 901:
- case 910:
- case 959:
- case 968:
- case 15094:
- case 15095:
- case 15096:
- case 15118:
- case 15119:
- case 15143:
- case 15144: ReturnTexture("d_knife");
- case 727: ReturnTexture("d_black_rose");
- case 27: ReturnTexture("hud_spy_disguise_menu_icon");
- }
- ReturnTexture("d_skull");
}
\ No newline at end of file
diff --git a/Amalgam/src/SDK/Definitions/Main/CTFWeaponBase.h b/Amalgam/src/SDK/Definitions/Main/CTFWeaponBase.h
index 439f4fd4..e92c2da9 100644
--- a/Amalgam/src/SDK/Definitions/Main/CTFWeaponBase.h
+++ b/Amalgam/src/SDK/Definitions/Main/CTFWeaponBase.h
@@ -241,6 +241,7 @@ public:
bool IsRapidFire();
float GetSmackDelay();
float GetRange();
+ const wchar_t* GetWeaponName();
CHudTexture* GetWeaponIcon();
};