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
121132int 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