Skip to content

Commit 488701b

Browse files
committed
Revert updates, fix prediction
1 parent b570cf1 commit 488701b

File tree

103 files changed

+752
-1301
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

103 files changed

+752
-1301
lines changed

Amalgam/Amalgam.vcxproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -967,7 +967,6 @@
967967
<ClCompile Include="src\Hooks\CBaseEntity_EstimateAbsVelocity.cpp" />
968968
<ClCompile Include="src\Hooks\CBasePlayer_CalcObserverView.cpp" />
969969
<ClCompile Include="src\Hooks\CInput_ValidateUserCmd.cpp" />
970-
<ClCompile Include="src\Hooks\CTFPlayerShared_ShouldSuppressPrediction.cpp" />
971970
<ClCompile Include="src\Hooks\CTFRocketLauncher_CheckReloadMisfire.cpp" />
972971
<ClCompile Include="src\Hooks\CTFPlayer_FireBullet.cpp" />
973972
<ClCompile Include="src\Hooks\CBaseEntity_ResetLatched.cpp" />
@@ -1025,6 +1024,7 @@
10251024
<ClCompile Include="src\Hooks\CTFPlayer_DoAnimationEvent.cpp" />
10261025
<ClCompile Include="src\Hooks\CTFPlayer_IsPlayerClass.cpp" />
10271026
<ClCompile Include="src\Hooks\CTFPlayer_ShouldDraw.cpp" />
1027+
<ClCompile Include="src\Hooks\CTFPlayer_UpdateStepSound.cpp" />
10281028
<ClCompile Include="src\Hooks\CTFRagdoll_CreateTFRagdoll.cpp" />
10291029
<ClCompile Include="src\Hooks\CTFWeaponBase_CalcIsAttackCritical.cpp" />
10301030
<ClCompile Include="src\Hooks\CTFWeaponBase_GetShootSound.cpp" />
@@ -1053,6 +1053,7 @@
10531053
<ClCompile Include="src\Hooks\ISteamNetworkingUtils_GetPingToDataCenter.cpp" />
10541054
<ClCompile Include="src\Hooks\IVModelRender_DrawModelExecute.cpp" />
10551055
<ClCompile Include="src\Hooks\IVModelRender_ForcedMaterialOverride.cpp" />
1056+
<ClCompile Include="src\Hooks\KeyValues_SetInt.cpp" />
10561057
<ClCompile Include="src\Hooks\NotificationQueue_Add.cpp" />
10571058
<ClCompile Include="src\Hooks\RecvProxy_SimulationTime.cpp" />
10581059
<ClCompile Include="src\Hooks\R_DrawSkyBox.cpp" />

Amalgam/Amalgam.vcxproj.filters

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@
147147
<ClCompile Include="src\Hooks\CTFPlayer_DoAnimationEvent.cpp" />
148148
<ClCompile Include="src\Hooks\CTFPlayer_IsPlayerClass.cpp" />
149149
<ClCompile Include="src\Hooks\CTFPlayer_ShouldDraw.cpp" />
150+
<ClCompile Include="src\Hooks\CTFPlayer_UpdateStepSound.cpp" />
150151
<ClCompile Include="src\Hooks\CTFPlayerInventory_GetMaxItemCount.cpp" />
151152
<ClCompile Include="src\Hooks\CTFPlayerPanel_GetTeam.cpp" />
152153
<ClCompile Include="src\Hooks\CTFPlayerShared_InCond.cpp" />
@@ -175,6 +176,7 @@
175176
<ClCompile Include="src\Hooks\ISteamNetworkingUtils_GetPingToDataCenter.cpp" />
176177
<ClCompile Include="src\Hooks\IVModelRender_DrawModelExecute.cpp" />
177178
<ClCompile Include="src\Hooks\IVModelRender_ForcedMaterialOverride.cpp" />
179+
<ClCompile Include="src\Hooks\KeyValues_SetInt.cpp" />
178180
<ClCompile Include="src\Hooks\NotificationQueue_Add.cpp" />
179181
<ClCompile Include="src\Hooks\R_DrawSkyBox.cpp" />
180182
<ClCompile Include="src\Hooks\RecvProxy_SimulationTime.cpp" />
@@ -199,7 +201,6 @@
199201
<ClCompile Include="src\Hooks\CWeaponMedigun_PrimaryAttack.cpp" />
200202
<ClCompile Include="src\Hooks\IMaterialSystem_FindTexture.cpp" />
201203
<ClCompile Include="src\Hooks\CBasePlayer_CalcObserverView.cpp" />
202-
<ClCompile Include="src\Hooks\CTFPlayerShared_ShouldSuppressPrediction.cpp" />
203204
</ItemGroup>
204205
<ItemGroup>
205206
<ClInclude Include="src\Utils\UtlVector\UtlVector.h" />

Amalgam/src/Core/Core.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ void CCore::Load()
103103

104104
F::Configs.LoadConfig(F::Configs.m_sCurrentConfig, false);
105105

106-
SDK::Output("Amalgam", "Loaded", DEFAULT_COLOR, OUTPUT_CONSOLE | OUTPUT_TOAST | OUTPUT_MENU | OUTPUT_DEBUG);
106+
SDK::Output("Amalgam", "Loaded", { 175, 150, 255 }, OUTPUT_CONSOLE | OUTPUT_DEBUG | OUTPUT_TOAST | OUTPUT_MENU);
107107
}
108108

109109
void CCore::Loop()
@@ -156,5 +156,5 @@ void CCore::Unload()
156156
return;
157157
}
158158

159-
SDK::Output("Amalgam", "Unloaded", DEFAULT_COLOR, OUTPUT_CONSOLE | OUTPUT_DEBUG);
159+
SDK::Output("Amalgam", "Unloaded", { 175, 150, 255 }, OUTPUT_CONSOLE | OUTPUT_DEBUG);
160160
}

Amalgam/src/Features/Aimbot/Aimbot.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ void CAimbot::Draw(CTFPlayer* pLocal)
9090
if (Vars::Aimbot::General::AimFOV.Value >= 90.f)
9191
return;
9292

93-
float flRadius = tanf(DEG2RAD(Vars::Aimbot::General::AimFOV.Value)) / tanf(DEG2RAD(m_flFOV) / 2) * float(H::Draw.m_nScreenW) * (4.f / 6.f) / (16.f / 9.f);
93+
float flRadius = tanf(DEG2RAD(Vars::Aimbot::General::AimFOV.Value)) / tanf(DEG2RAD(pLocal->m_iFOV()) / 2) * float(H::Draw.m_nScreenW) * (4.f / 6.f) / (16.f / 9.f);
9494
H::Draw.LineCircle(H::Draw.m_nScreenW / 2, H::Draw.m_nScreenH / 2, flRadius, 68, Vars::Colors::FOVCircle.Value);
9595
}
9696

Amalgam/src/Features/Aimbot/Aimbot.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ class CAimbot
1919

2020
bool m_bRan = false;
2121
bool m_bRunningSecondary = false;
22-
float m_flFOV = 0.f;
2322

2423
DrawPath_t m_tPath = {};
2524
};

Amalgam/src/Features/Aimbot/AimbotGlobal/AimbotGlobal.cpp

Lines changed: 13 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -3,47 +3,22 @@
33
#include "../Aimbot.h"
44
#include "../../Players/PlayerUtils.h"
55
#include "../../Ticks/Ticks.h"
6-
#include "../../EnginePrediction/EnginePrediction.h"
76

8-
std::vector<Target_t> CAimbotGlobal::ManageTargets(std::vector<Target_t>(*GetTargets)(CTFPlayer* pLocal, CTFWeaponBase* pWeapon), CTFPlayer* pLocal, CTFWeaponBase* pWeapon,
9-
int iMethod, int iMaxTargets)
10-
{
11-
auto vTargets = GetTargets(pLocal, pWeapon);
12-
SortTargetsPre(vTargets, iMethod);
13-
vTargets.resize(std::min(size_t(iMaxTargets), vTargets.size()));
14-
SortTargetsPost(vTargets, iMethod);
15-
return vTargets;
16-
}
17-
18-
void CAimbotGlobal::SortTargetsPre(std::vector<Target_t>& vTargets, int iMethod)
19-
{
20-
switch (iMethod)
21-
{
22-
case Vars::Aimbot::General::TargetSelectionEnum::FOV:
23-
return std::sort(vTargets.begin(), vTargets.end(), [&](const Target_t& a, const Target_t& b) -> bool
7+
void CAimbotGlobal::SortTargets(std::vector<Target_t>& vTargets, int iMethod)
8+
{ // Sort by preference
9+
std::sort(vTargets.begin(), vTargets.end(), [&](const Target_t& a, const Target_t& b) -> bool
2410
{
25-
return a.m_flFOVTo < b.m_flFOVTo;
26-
});
27-
case Vars::Aimbot::General::TargetSelectionEnum::Distance:
28-
case Vars::Aimbot::General::TargetSelectionEnum::Hybrid:
29-
return std::sort(vTargets.begin(), vTargets.end(), [&](const Target_t& a, const Target_t& b) -> bool
11+
switch (iMethod)
3012
{
31-
return a.m_flDistTo < b.m_flDistTo;
32-
});
33-
}
13+
case Vars::Aimbot::General::TargetSelectionEnum::FOV: return a.m_flFOVTo < b.m_flFOVTo;
14+
case Vars::Aimbot::General::TargetSelectionEnum::Distance: return a.m_flDistTo < b.m_flDistTo;
15+
default: return false;
16+
}
17+
});
3418
}
3519

36-
void CAimbotGlobal::SortTargetsPost(std::vector<Target_t>& vTargets, int iMethod)
37-
{
38-
switch (iMethod)
39-
{
40-
case Vars::Aimbot::General::TargetSelectionEnum::Hybrid:
41-
return std::sort(vTargets.begin(), vTargets.end(), [&](const Target_t& a, const Target_t& b) -> bool
42-
{
43-
return a.m_flFOVTo < b.m_flFOVTo;
44-
});
45-
}
46-
20+
void CAimbotGlobal::SortPriority(std::vector<Target_t>& vTargets)
21+
{ // Sort by priority
4722
std::sort(vTargets.begin(), vTargets.end(), [&](const Target_t& a, const Target_t& b) -> bool
4823
{
4924
return a.m_nPriority > b.m_nPriority;
@@ -53,24 +28,8 @@ void CAimbotGlobal::SortTargetsPost(std::vector<Target_t>& vTargets, int iMethod
5328
// this won't prevent shooting bones outside of fov
5429
bool CAimbotGlobal::PlayerBoneInFOV(CTFPlayer* pTarget, Vec3 vLocalPos, Vec3 vLocalAngles, float& flFOVTo, Vec3& vPos, Vec3& vAngleTo, int iHitboxes)
5530
{
56-
matrix3x4* aBones = F::Backtrack.GetBones(pTarget);
57-
if (!Vars::Visuals::Removals::Interpolation.Value)
58-
{
59-
std::vector<TickRecord*> vRecords = {};
60-
if (F::Backtrack.GetRecords(pTarget, vRecords) && !vRecords.empty())
61-
{
62-
float flLerp = Vars::Visuals::Removals::Lerp.Value ? 0.f : G::Lerp;
63-
for (auto pRecord : vRecords)
64-
{
65-
if (F::EnginePrediction.m_flOldCurrentTime - pRecord->m_flSimTime > flLerp)
66-
{
67-
aBones = pRecord->m_aBones;
68-
break;
69-
}
70-
}
71-
}
72-
}
73-
if (!aBones)
31+
matrix3x4 aBones[MAXSTUDIOBONES];
32+
if (!pTarget->SetupBones(aBones, MAXSTUDIOBONES, BONE_USED_BY_ANYTHING, I::GlobalVars->curtime))
7433
return false;
7534

7635
float flMinFOV = 180.f;

Amalgam/src/Features/Aimbot/AimbotGlobal/AimbotGlobal.h

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,8 @@ struct Target_t
2727
class CAimbotGlobal
2828
{
2929
public:
30-
std::vector<Target_t> ManageTargets(std::vector<Target_t>(*GetTargets)(CTFPlayer* pLocal, CTFWeaponBase* pWeapon), CTFPlayer* pLocal, CTFWeaponBase* pWeapon,
31-
int iMethod = Vars::Aimbot::General::TargetSelection.Value, int iMaxTargets = Vars::Aimbot::General::MaxTargets.Value);
32-
void SortTargetsPre(std::vector<Target_t>& vTargets, int iMethod);
33-
void SortTargetsPost(std::vector<Target_t>& vTargets, int iMethod);
30+
void SortTargets(std::vector<Target_t>&, int iMethod);
31+
void SortPriority(std::vector<Target_t>&);
3432

3533
bool PlayerBoneInFOV(CTFPlayer* pTarget, Vec3 vLocalPos, Vec3 vLocalAngles, float& flFOVTo, Vec3& vPos, Vec3& vAngleTo, int iHitboxes = Vars::Aimbot::Hitscan::HitboxesEnum::Head | Vars::Aimbot::Hitscan::HitboxesEnum::Body | Vars::Aimbot::Hitscan::HitboxesEnum::Pelvis | Vars::Aimbot::Hitscan::HitboxesEnum::Arms | Vars::Aimbot::Hitscan::HitboxesEnum::Legs);
3634
bool IsHitboxValid(CBaseEntity* pEntity, int nHitbox, int iHitboxes = Vars::Aimbot::Hitscan::HitboxesEnum::Head | Vars::Aimbot::Hitscan::HitboxesEnum::Body | Vars::Aimbot::Hitscan::HitboxesEnum::Pelvis | Vars::Aimbot::Hitscan::HitboxesEnum::Arms | Vars::Aimbot::Hitscan::HitboxesEnum::Legs);

Amalgam/src/Features/Aimbot/AimbotHitscan/AimbotHitscan.cpp

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ std::vector<Target_t> CAimbotHitscan::GetTargets(CTFPlayer* pLocal, CTFWeaponBas
5454
if (!F::AimbotGlobal.PlayerBoneInFOV(pEntity->As<CTFPlayer>(), vLocalPos, vLocalAngles, flFOVTo, vPos, vAngleTo, Vars::Aimbot::Hitscan::Hitboxes.Value))
5555
continue;
5656

57-
float flDistTo = vLocalPos.DistTo(vPos);
5857
int iPriority = F::AimbotGlobal.GetPriority(pEntity->entindex());
5958
if (bTeam && bHeal)
6059
{
@@ -69,6 +68,8 @@ std::vector<Target_t> CAimbotHitscan::GetTargets(CTFPlayer* pLocal, CTFWeaponBas
6968
iPriority = std::numeric_limits<int>::max();
7069
}
7170
}
71+
72+
float flDistTo = iSort == Vars::Aimbot::General::TargetSelectionEnum::Distance ? vLocalPos.DistTo(vPos) : 0.f;
7273
vTargets.emplace_back(pEntity, TargetEnum::Player, vPos, vAngleTo, flFOVTo, flDistTo, iPriority);
7374
}
7475

@@ -89,7 +90,7 @@ std::vector<Target_t> CAimbotHitscan::GetTargets(CTFPlayer* pLocal, CTFWeaponBas
8990
if (flFOVTo > Vars::Aimbot::General::AimFOV.Value)
9091
continue;
9192

92-
float flDistTo = vLocalPos.DistTo(vPos);
93+
float flDistTo = iSort == Vars::Aimbot::General::TargetSelectionEnum::Distance ? vLocalPos.DistTo(vPos) : 0.f;
9394
vTargets.emplace_back(pEntity, pEntity->IsSentrygun() ? TargetEnum::Sentry : pEntity->IsDispenser() ? TargetEnum::Dispenser : TargetEnum::Teleporter, vPos, vAngleTo, flFOVTo, flDistTo);
9495
}
9596
}
@@ -107,7 +108,7 @@ std::vector<Target_t> CAimbotHitscan::GetTargets(CTFPlayer* pLocal, CTFWeaponBas
107108
if (flFOVTo > Vars::Aimbot::General::AimFOV.Value)
108109
continue;
109110

110-
float flDistTo = vLocalPos.DistTo(vPos);
111+
float flDistTo = iSort == Vars::Aimbot::General::TargetSelectionEnum::Distance ? vLocalPos.DistTo(vPos) : 0.f;
111112
vTargets.emplace_back(pEntity, TargetEnum::Sticky, vPos, vAngleTo, flFOVTo, flDistTo);
112113
}
113114
}
@@ -125,7 +126,7 @@ std::vector<Target_t> CAimbotHitscan::GetTargets(CTFPlayer* pLocal, CTFWeaponBas
125126
if (flFOVTo > Vars::Aimbot::General::AimFOV.Value)
126127
continue;
127128

128-
float flDistTo = vLocalPos.DistTo(vPos);
129+
float flDistTo = iSort == Vars::Aimbot::General::TargetSelectionEnum::Distance ? vLocalPos.DistTo(vPos) : 0.f;
129130
vTargets.emplace_back(pEntity, TargetEnum::NPC, vPos, vAngleTo, flFOVTo, flDistTo);
130131
}
131132
}
@@ -143,14 +144,24 @@ std::vector<Target_t> CAimbotHitscan::GetTargets(CTFPlayer* pLocal, CTFWeaponBas
143144
if (flFOVTo > Vars::Aimbot::General::AimFOV.Value)
144145
continue;
145146

146-
float flDistTo = vLocalPos.DistTo(vPos);
147+
float flDistTo = iSort == Vars::Aimbot::General::TargetSelectionEnum::Distance ? vLocalPos.DistTo(vPos) : 0.f;
147148
vTargets.emplace_back(pEntity, TargetEnum::Bomb, vPos, vAngleTo, flFOVTo, flDistTo);
148149
}
149150
}
150151

151152
return vTargets;
152153
}
153154

155+
std::vector<Target_t> CAimbotHitscan::SortTargets(CTFPlayer* pLocal, CTFWeaponBase* pWeapon)
156+
{
157+
auto vTargets = GetTargets(pLocal, pWeapon);
158+
159+
F::AimbotGlobal.SortTargets(vTargets, Vars::Aimbot::General::TargetSelection.Value);
160+
vTargets.resize(std::min(size_t(Vars::Aimbot::General::MaxTargets.Value), vTargets.size()));
161+
F::AimbotGlobal.SortPriority(vTargets);
162+
return vTargets;
163+
}
164+
154165

155166

156167
int CAimbotHitscan::GetHitboxPriority(int nHitbox, CTFPlayer* pLocal, CTFWeaponBase* pWeapon, CBaseEntity* pTarget)
@@ -750,7 +761,7 @@ void CAimbotHitscan::Run(CTFPlayer* pLocal, CTFWeaponBase* pWeapon, CUserCmd* pC
750761
break;
751762
}
752763

753-
auto vTargets = F::AimbotGlobal.ManageTargets(GetTargets, pLocal, pWeapon);
764+
auto vTargets = SortTargets(pLocal, pWeapon);
754765
if (vTargets.empty())
755766
return;
756767

Amalgam/src/Features/Aimbot/AimbotHitscan/AimbotHitscan.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
class CAimbotHitscan
77
{
88
private:
9+
std::vector<Target_t> GetTargets(CTFPlayer* pLocal, CTFWeaponBase* pWeapon);
10+
std::vector<Target_t> SortTargets(CTFPlayer* pLocal, CTFWeaponBase* pWeapon);
11+
912
int GetHitboxPriority(int nHitbox, CTFPlayer* pLocal, CTFWeaponBase* pWeapon, CBaseEntity* pTarget);
1013
int CanHit(Target_t& tTarget, CTFPlayer* pLocal, CTFWeaponBase* pWeapon);
1114

@@ -20,7 +23,6 @@ class CAimbotHitscan
2023

2124
public:
2225
void Run(CTFPlayer* pLocal, CTFWeaponBase* pWeapon, CUserCmd* pCmd);
23-
static std::vector<Target_t> GetTargets(CTFPlayer* pLocal, CTFWeaponBase* pWeapon);
2426
};
2527

2628
ADD_FEATURE(CAimbotHitscan, AimbotHitscan);

Amalgam/src/Features/Aimbot/AimbotMelee/AimbotMelee.cpp

Lines changed: 31 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,7 @@
66
#include "../../Ticks/Ticks.h"
77
#include "../../Visuals/Visuals.h"
88

9-
static inline bool AimFriendlyBuilding(CBaseObject* pBuilding)
10-
{
11-
if (!pBuilding->m_bMiniBuilding() && pBuilding->m_iUpgradeLevel() != 3 || pBuilding->m_iHealth() < pBuilding->m_iMaxHealth() || pBuilding->m_bHasSapper())
12-
return true;
13-
14-
if (pBuilding->IsSentrygun())
15-
{
16-
int iShells, iMaxShells, iRockets, iMaxRockets; pBuilding->As<CObjectSentrygun>()->GetAmmoCount(iShells, iMaxShells, iRockets, iMaxRockets);
17-
if (iShells < iMaxShells || iRockets < iMaxRockets)
18-
return true;
19-
}
20-
21-
return false;
22-
}
23-
24-
static inline std::vector<Target_t> GetTargets(CTFPlayer* pLocal, CTFWeaponBase* pWeapon)
9+
std::vector<Target_t> CAimbotMelee::GetTargets(CTFPlayer* pLocal, CTFWeaponBase* pWeapon)
2510
{
2611
std::vector<Target_t> vTargets;
2712

@@ -44,11 +29,12 @@ static inline std::vector<Target_t> GetTargets(CTFPlayer* pLocal, CTFWeaponBase*
4429
if (!F::AimbotGlobal.PlayerBoneInFOV(pEntity->As<CTFPlayer>(), vLocalPos, vLocalAngles, flFOVTo, vPos, vAngleTo))
4530
continue;
4631

47-
float flDistTo = vLocalPos.DistTo(vPos);
4832
bool bTeam = pEntity->m_iTeamNum() == pLocal->m_iTeamNum();
4933
int iPriority = F::AimbotGlobal.GetPriority(pEntity->entindex());
5034
if (bTeam && !F::AimbotGlobal.FriendlyFire())
5135
iPriority = 0;
36+
37+
float flDistTo = vLocalPos.DistTo(vPos);
5238
vTargets.emplace_back(pEntity, TargetEnum::Player, vPos, vAngleTo, flFOVTo, flDistTo, iPriority);
5339
}
5440
}
@@ -116,6 +102,31 @@ static inline std::vector<Target_t> GetTargets(CTFPlayer* pLocal, CTFWeaponBase*
116102
return vTargets;
117103
}
118104

105+
bool CAimbotMelee::AimFriendlyBuilding(CBaseObject* pBuilding)
106+
{
107+
if (!pBuilding->m_bMiniBuilding() && pBuilding->m_iUpgradeLevel() != 3 || pBuilding->m_iHealth() < pBuilding->m_iMaxHealth() || pBuilding->m_bHasSapper())
108+
return true;
109+
110+
if (pBuilding->IsSentrygun())
111+
{
112+
int iShells, iMaxShells, iRockets, iMaxRockets; pBuilding->As<CObjectSentrygun>()->GetAmmoCount(iShells, iMaxShells, iRockets, iMaxRockets);
113+
if (iShells < iMaxShells || iRockets < iMaxRockets)
114+
return true;
115+
}
116+
117+
return false;
118+
}
119+
120+
std::vector<Target_t> CAimbotMelee::SortTargets(CTFPlayer* pLocal, CTFWeaponBase* pWeapon)
121+
{
122+
auto vTargets = GetTargets(pLocal, pWeapon);
123+
124+
F::AimbotGlobal.SortTargets(vTargets, Vars::Aimbot::General::TargetSelectionEnum::Distance);
125+
vTargets.resize(std::min(size_t(Vars::Aimbot::General::MaxTargets.Value), vTargets.size()));
126+
F::AimbotGlobal.SortPriority(vTargets);
127+
return vTargets;
128+
}
129+
119130

120131

121132
int CAimbotMelee::GetSwingTime(CTFWeaponBase* pWeapon, bool bVar)
@@ -573,7 +584,7 @@ void CAimbotMelee::Run(CTFPlayer* pLocal, CTFWeaponBase* pWeapon, CUserCmd* pCmd
573584
if (RunSapper(pLocal, pWeapon, pCmd))
574585
return;
575586

576-
auto vTargets = F::AimbotGlobal.ManageTargets(GetTargets, pLocal, pWeapon, Vars::Aimbot::General::TargetSelectionEnum::Distance);
587+
auto vTargets = SortTargets(pLocal, pWeapon);
577588
if (vTargets.empty())
578589
return;
579590

@@ -669,9 +680,6 @@ bool CAimbotMelee::RunSapper(CTFPlayer* pLocal, CTFWeaponBase* pWeapon, CUserCmd
669680
std::vector<Target_t> vTargets;
670681
for (auto pEntity : H::Entities.GetGroup(EntityEnum::BuildingEnemy))
671682
{
672-
if (F::AimbotGlobal.ShouldIgnore(pEntity, pLocal, pWeapon))
673-
continue;
674-
675683
auto pBuilding = pEntity->As<CBaseObject>();
676684
if (pBuilding->m_bHasSapper() || !pBuilding->IsInValidTeam())
677685
continue;
@@ -689,7 +697,7 @@ bool CAimbotMelee::RunSapper(CTFPlayer* pLocal, CTFWeaponBase* pWeapon, CUserCmd
689697

690698
vTargets.emplace_back(pBuilding, TargetEnum::Unknown, vPoint, vAngleTo, flFOVTo, flDistTo);
691699
}
692-
F::AimbotGlobal.SortTargetsPre(vTargets, Vars::Aimbot::General::TargetSelectionEnum::Distance);
700+
F::AimbotGlobal.SortTargets(vTargets, Vars::Aimbot::General::TargetSelectionEnum::Distance);
693701
if (vTargets.empty())
694702
return true;
695703

@@ -701,7 +709,7 @@ bool CAimbotMelee::RunSapper(CTFPlayer* pLocal, CTFWeaponBase* pWeapon, CUserCmd
701709
else
702710
bShouldAim = pCmd->buttons & IN_ATTACK;
703711
if (Vars::Aimbot::General::AimType.Value == Vars::Aimbot::General::AimTypeEnum::Silent)
704-
bShouldAim = bShouldAim && !I::ClientState->chokedcommands && F::Ticks.CanChoke(true);
712+
bShouldAim = bShouldAim && (!I::ClientState->chokedcommands || !F::Ticks.CanChoke());
705713

706714
if (bShouldAim)
707715
{

0 commit comments

Comments
 (0)