From 5ffa36b1aee07ac2a1bb56de8d59d778e9652acb Mon Sep 17 00:00:00 2001 From: surepy <24486494+surepy@users.noreply.github.com> Date: Thu, 16 Apr 2020 08:56:57 -0700 Subject: [PATCH 1/6] Add more vaccinator autoshoot checks + esp --- src/hacks/Aimbot.cpp | 38 +++++++++++++++++++++++++++++++++++--- src/hacks/ESP.cpp | 21 +++++++++++++++++++-- 2 files changed, 54 insertions(+), 5 deletions(-) diff --git a/src/hacks/Aimbot.cpp b/src/hacks/Aimbot.cpp index 9536a8c8..73bac6b5 100644 --- a/src/hacks/Aimbot.cpp +++ b/src/hacks/Aimbot.cpp @@ -628,9 +628,41 @@ bool IsTargetStateGood(CachedEntity *entity) } } // Vaccinator - if (g_pLocalPlayer->weapon_mode == weaponmode::weapon_hitscan || LOCAL_W->m_iClassID() == CL_CLASS(CTFCompoundBow)) - if (ignore_vaccinator && HasCondition(entity)) - return false; + if (ignore_vaccinator) + { + switch (LOCAL_W->m_iClassID()) + { + case CL_CLASS(CTFRocketLauncher_DirectHit): + case CL_CLASS(CTFRocketLauncher_AirStrike): + case CL_CLASS(CTFRocketLauncher_Mortar): + case CL_CLASS(CTFRocketLauncher): + case CL_CLASS(CTFGrenadeLauncher): + case CL_CLASS(CTFPipebombLauncher): + if (HasCondition(entity)) + return false; + break; + case CL_CLASS(CTFCompoundBow): + case CL_CLASS(CTFSyringeGun): + case CL_CLASS(CTFCrossbow): + case CL_CLASS(CTFShotgunBuildingRescue): + case CL_CLASS(CTFDRGPomson): // was this bullet? i don't have the item to test. + case CL_CLASS(CTFRaygun): // was this bullet? i don't have the item to test. + if (HasCondition(entity)) + return false; + break; + case CL_CLASS(CTFWeaponFlameBall): + case CL_CLASS(CTFFlareGun): + case CL_CLASS(CTFFlareGun_Revenge): + case CL_CLASS(CTFFlameRocket): + case CL_CLASS(CTFFlameThrower): + if (HasCondition(entity)) + return false; + break; + default: + if (g_pLocalPlayer->weapon_mode == weaponmode::weapon_hitscan && HasCondition(entity)) + return false; + } + } } // Preform hitbox prediction diff --git a/src/hacks/ESP.cpp b/src/hacks/ESP.cpp index 0900153c..9d0bf97d 100644 --- a/src/hacks/ESP.cpp +++ b/src/hacks/ESP.cpp @@ -1207,13 +1207,30 @@ void _FASTCALL ProcessEntity(CachedEntity *ent) if (IsPlayerInvulnerable(ent)) AddEntityString(ent, "*INVULNERABLE*"); // Vaccinator + // Vaccinator if (HasCondition(ent)) { - AddEntityString(ent, "*VACCINATOR*"); + AddEntityString(ent, "*BULLET VACCINATOR*", colors::FromRGBA8(220, 220, 220, 255)); } else if (HasCondition(ent)) { - AddEntityString(ent, "*PASSIVE RESIST*"); + AddEntityString(ent, "*BULLET PASSIVE*"); + } + if (HasCondition(ent)) + { + AddEntityString(ent, "*FIRE VACCINATOR*", colors::FromRGBA8(220, 220, 220, 255)); + } + else if (HasCondition(ent)) + { + AddEntityString(ent, "*FIRE PASSIVE*"); + } + if (HasCondition(ent)) + { + AddEntityString(ent, "*BLAST VACCINATOR*", colors::FromRGBA8(220, 220, 220, 255)); + } + else if (HasCondition(ent)) + { + AddEntityString(ent, "*BLAST PASSIVE*"); } // Crit if (IsPlayerCritBoosted(ent)) From 0c175702fe9c4e36ecc9eb02c47c51b5f9eecbc9 Mon Sep 17 00:00:00 2001 From: surepy <24486494+surepy@users.noreply.github.com> Date: Thu, 16 Apr 2020 19:44:14 -0700 Subject: [PATCH 2/6] Add Pomson 6000 and remove comment --- src/hacks/Aimbot.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/hacks/Aimbot.cpp b/src/hacks/Aimbot.cpp index 73bac6b5..9bde9262 100644 --- a/src/hacks/Aimbot.cpp +++ b/src/hacks/Aimbot.cpp @@ -634,8 +634,9 @@ bool IsTargetStateGood(CachedEntity *entity) { case CL_CLASS(CTFRocketLauncher_DirectHit): case CL_CLASS(CTFRocketLauncher_AirStrike): - case CL_CLASS(CTFRocketLauncher_Mortar): + case CL_CLASS(CTFRocketLauncher_Mortar): // doesn't exist yet case CL_CLASS(CTFRocketLauncher): + case CL_CLASS(CTFParticleCannon): case CL_CLASS(CTFGrenadeLauncher): case CL_CLASS(CTFPipebombLauncher): if (HasCondition(entity)) @@ -645,8 +646,8 @@ bool IsTargetStateGood(CachedEntity *entity) case CL_CLASS(CTFSyringeGun): case CL_CLASS(CTFCrossbow): case CL_CLASS(CTFShotgunBuildingRescue): - case CL_CLASS(CTFDRGPomson): // was this bullet? i don't have the item to test. - case CL_CLASS(CTFRaygun): // was this bullet? i don't have the item to test. + case CL_CLASS(CTFDRGPomson): + case CL_CLASS(CTFRaygun): if (HasCondition(entity)) return false; break; From 507113e4c0bbe096692fecc5c102ea77a97639c4 Mon Sep 17 00:00:00 2001 From: surepy <24486494+surepy@users.noreply.github.com> Date: Fri, 17 Apr 2020 12:32:11 -0700 Subject: [PATCH 3/6] add the ignore setting to trigger too --- src/hacks/Trigger.cpp | 38 +++++++++++++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/src/hacks/Trigger.cpp b/src/hacks/Trigger.cpp index 0700b772..0d885afb 100644 --- a/src/hacks/Trigger.cpp +++ b/src/hacks/Trigger.cpp @@ -269,9 +269,41 @@ bool IsTargetStateGood(CachedEntity *entity, bool backtrack) if (ignore_cloak && IsPlayerInvisible(entity)) return false; // If settings allow, dont target vaccinated players - if (g_pLocalPlayer->weapon_mode == weaponmode::weapon_hitscan || LOCAL_W->m_iClassID() == CL_CLASS(CTFCompoundBow)) - if (ignore_vaccinator && HasCondition(entity)) - return false; + if (ignore_vaccinator) + { + switch (LOCAL_W->m_iClassID()) + { + case CL_CLASS(CTFRocketLauncher_DirectHit): + case CL_CLASS(CTFRocketLauncher_AirStrike): + case CL_CLASS(CTFRocketLauncher_Mortar): + case CL_CLASS(CTFRocketLauncher): + case CL_CLASS(CTFGrenadeLauncher): + case CL_CLASS(CTFPipebombLauncher): + if (HasCondition(entity)) + return false; + break; + case CL_CLASS(CTFCompoundBow): + case CL_CLASS(CTFSyringeGun): + case CL_CLASS(CTFCrossbow): + case CL_CLASS(CTFShotgunBuildingRescue): + case CL_CLASS(CTFDRGPomson): // was this bullet? i don't have the item to test. + case CL_CLASS(CTFRaygun): // was this bullet? i don't have the item to test. + if (HasCondition(entity)) + return false; + break; + case CL_CLASS(CTFWeaponFlameBall): + case CL_CLASS(CTFFlareGun): + case CL_CLASS(CTFFlareGun_Revenge): + case CL_CLASS(CTFFlameRocket): + case CL_CLASS(CTFFlameThrower): + if (HasCondition(entity)) + return false; + break; + default: + if (g_pLocalPlayer->weapon_mode == weaponmode::weapon_hitscan && HasCondition(entity)) + return false; + } + } } // Head hitbox detection From 2cd93fad960d0f18dbaca54161fa8f4a5a6ef15b Mon Sep 17 00:00:00 2001 From: surepy <24486494+surepy@users.noreply.github.com> Date: Fri, 17 Apr 2020 12:33:13 -0700 Subject: [PATCH 4/6] remove somehow duplicated comment --- src/hacks/ESP.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/hacks/ESP.cpp b/src/hacks/ESP.cpp index 9d0bf97d..781100f0 100644 --- a/src/hacks/ESP.cpp +++ b/src/hacks/ESP.cpp @@ -1207,7 +1207,6 @@ void _FASTCALL ProcessEntity(CachedEntity *ent) if (IsPlayerInvulnerable(ent)) AddEntityString(ent, "*INVULNERABLE*"); // Vaccinator - // Vaccinator if (HasCondition(ent)) { AddEntityString(ent, "*BULLET VACCINATOR*", colors::FromRGBA8(220, 220, 220, 255)); From 245a8bc4a5cae0c554665e04bdbb87044322c8d3 Mon Sep 17 00:00:00 2001 From: surepy <24486494+surepy@users.noreply.github.com> Date: Fri, 17 Apr 2020 21:28:16 -0700 Subject: [PATCH 5/6] Code duplication fix. --- include/PlayerTools.hpp | 8 -------- include/helpers.hpp | 1 + src/PlayerTools.cpp | 2 +- src/hacks/Aimbot.cpp | 38 ++------------------------------------ src/hacks/Trigger.cpp | 37 ++----------------------------------- src/helpers.cpp | 37 +++++++++++++++++++++++++++++++++++++ 6 files changed, 43 insertions(+), 80 deletions(-) diff --git a/include/PlayerTools.hpp b/include/PlayerTools.hpp index 8398991e..60cacb8c 100644 --- a/include/PlayerTools.hpp +++ b/include/PlayerTools.hpp @@ -15,14 +15,6 @@ class CachedEntity; namespace player_tools { -enum class IgnoreReason -{ - DO_NOT_IGNORE, - IS_HOOVY, - IS_TAUNTING, - LOCAL_PLAYER_LIST, - OTHER -}; bool shouldTargetSteamId(unsigned id); bool shouldTarget(CachedEntity *player); diff --git a/include/helpers.hpp b/include/helpers.hpp index f3e89abb..19fae343 100644 --- a/include/helpers.hpp +++ b/include/helpers.hpp @@ -73,6 +73,7 @@ bool IsPlayerInvulnerable(CachedEntity *player); bool IsPlayerCritBoosted(CachedEntity *player); bool IsPlayerInvisible(CachedEntity *player); bool IsPlayerDisguised(CachedEntity *player); +bool IsPlayerResistantToCurrentWeapon(CachedEntity *player); const char *GetBuildingName(CachedEntity *ent); Vector GetBuildingPosition(CachedEntity *ent); diff --git a/src/PlayerTools.cpp b/src/PlayerTools.cpp index e4987479..38bc9842 100644 --- a/src/PlayerTools.cpp +++ b/src/PlayerTools.cpp @@ -38,6 +38,7 @@ bool shouldTargetSteamId(unsigned id) return false; return true; } + bool shouldTarget(CachedEntity *entity) { if (entity->m_Type() == ENTITY_PLAYER) @@ -53,7 +54,6 @@ bool shouldTarget(CachedEntity *entity) return true; } - bool shouldAlwaysRenderEspSteamId(unsigned id) { if (id == 0) diff --git a/src/hacks/Aimbot.cpp b/src/hacks/Aimbot.cpp index 9bde9262..aea03000 100644 --- a/src/hacks/Aimbot.cpp +++ b/src/hacks/Aimbot.cpp @@ -628,42 +628,8 @@ bool IsTargetStateGood(CachedEntity *entity) } } // Vaccinator - if (ignore_vaccinator) - { - switch (LOCAL_W->m_iClassID()) - { - case CL_CLASS(CTFRocketLauncher_DirectHit): - case CL_CLASS(CTFRocketLauncher_AirStrike): - case CL_CLASS(CTFRocketLauncher_Mortar): // doesn't exist yet - case CL_CLASS(CTFRocketLauncher): - case CL_CLASS(CTFParticleCannon): - case CL_CLASS(CTFGrenadeLauncher): - case CL_CLASS(CTFPipebombLauncher): - if (HasCondition(entity)) - return false; - break; - case CL_CLASS(CTFCompoundBow): - case CL_CLASS(CTFSyringeGun): - case CL_CLASS(CTFCrossbow): - case CL_CLASS(CTFShotgunBuildingRescue): - case CL_CLASS(CTFDRGPomson): - case CL_CLASS(CTFRaygun): - if (HasCondition(entity)) - return false; - break; - case CL_CLASS(CTFWeaponFlameBall): - case CL_CLASS(CTFFlareGun): - case CL_CLASS(CTFFlareGun_Revenge): - case CL_CLASS(CTFFlameRocket): - case CL_CLASS(CTFFlameThrower): - if (HasCondition(entity)) - return false; - break; - default: - if (g_pLocalPlayer->weapon_mode == weaponmode::weapon_hitscan && HasCondition(entity)) - return false; - } - } + if (ignore_vaccinator && IsPlayerResistantToCurrentWeapon(entity)) + return false; } // Preform hitbox prediction diff --git a/src/hacks/Trigger.cpp b/src/hacks/Trigger.cpp index 0d885afb..d15b3509 100644 --- a/src/hacks/Trigger.cpp +++ b/src/hacks/Trigger.cpp @@ -269,41 +269,8 @@ bool IsTargetStateGood(CachedEntity *entity, bool backtrack) if (ignore_cloak && IsPlayerInvisible(entity)) return false; // If settings allow, dont target vaccinated players - if (ignore_vaccinator) - { - switch (LOCAL_W->m_iClassID()) - { - case CL_CLASS(CTFRocketLauncher_DirectHit): - case CL_CLASS(CTFRocketLauncher_AirStrike): - case CL_CLASS(CTFRocketLauncher_Mortar): - case CL_CLASS(CTFRocketLauncher): - case CL_CLASS(CTFGrenadeLauncher): - case CL_CLASS(CTFPipebombLauncher): - if (HasCondition(entity)) - return false; - break; - case CL_CLASS(CTFCompoundBow): - case CL_CLASS(CTFSyringeGun): - case CL_CLASS(CTFCrossbow): - case CL_CLASS(CTFShotgunBuildingRescue): - case CL_CLASS(CTFDRGPomson): // was this bullet? i don't have the item to test. - case CL_CLASS(CTFRaygun): // was this bullet? i don't have the item to test. - if (HasCondition(entity)) - return false; - break; - case CL_CLASS(CTFWeaponFlameBall): - case CL_CLASS(CTFFlareGun): - case CL_CLASS(CTFFlareGun_Revenge): - case CL_CLASS(CTFFlameRocket): - case CL_CLASS(CTFFlameThrower): - if (HasCondition(entity)) - return false; - break; - default: - if (g_pLocalPlayer->weapon_mode == weaponmode::weapon_hitscan && HasCondition(entity)) - return false; - } - } + if (ignore_vaccinator && IsPlayerResistantToCurrentWeapon(entity)) + return false; } // Head hitbox detection diff --git a/src/helpers.cpp b/src/helpers.cpp index eeea6f7a..acaa6cf8 100644 --- a/src/helpers.cpp +++ b/src/helpers.cpp @@ -1344,6 +1344,43 @@ bool IsPlayerDisguised(CachedEntity *player) return HasConditionMask(player); } +bool IsPlayerResistantToCurrentWeapon(CachedEntity *player) +{ + switch (LOCAL_W->m_iClassID()) + { + case CL_CLASS(CTFRocketLauncher_DirectHit): + case CL_CLASS(CTFRocketLauncher_AirStrike): + case CL_CLASS(CTFRocketLauncher_Mortar): // doesn't exist yet + case CL_CLASS(CTFRocketLauncher): + case CL_CLASS(CTFParticleCannon): + case CL_CLASS(CTFGrenadeLauncher): + case CL_CLASS(CTFPipebombLauncher): + if (HasCondition(player)) + return false; + break; + case CL_CLASS(CTFCompoundBow): + case CL_CLASS(CTFSyringeGun): + case CL_CLASS(CTFCrossbow): + case CL_CLASS(CTFShotgunBuildingRescue): + case CL_CLASS(CTFDRGPomson): + case CL_CLASS(CTFRaygun): + if (HasCondition(player)) + return false; + break; + case CL_CLASS(CTFWeaponFlameBall): + case CL_CLASS(CTFFlareGun): + case CL_CLASS(CTFFlareGun_Revenge): + case CL_CLASS(CTFFlameRocket): + case CL_CLASS(CTFFlameThrower): + if (HasCondition(player)) + return false; + break; + default: + if (g_pLocalPlayer->weapon_mode == weaponmode::weapon_hitscan && HasCondition(player)) + return false; + } +} + // F1 c&p Vector CalcAngle(Vector src, Vector dst) { From 35bf9468c18465a0e902acf3cae9c49180cbda76 Mon Sep 17 00:00:00 2001 From: surepy <24486494+surepy@users.noreply.github.com> Date: Fri, 17 Apr 2020 21:28:33 -0700 Subject: [PATCH 6/6] fix blindly copypasted code --- src/helpers.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/helpers.cpp b/src/helpers.cpp index acaa6cf8..0218d23c 100644 --- a/src/helpers.cpp +++ b/src/helpers.cpp @@ -1356,7 +1356,7 @@ bool IsPlayerResistantToCurrentWeapon(CachedEntity *player) case CL_CLASS(CTFGrenadeLauncher): case CL_CLASS(CTFPipebombLauncher): if (HasCondition(player)) - return false; + return true; break; case CL_CLASS(CTFCompoundBow): case CL_CLASS(CTFSyringeGun): @@ -1365,7 +1365,7 @@ bool IsPlayerResistantToCurrentWeapon(CachedEntity *player) case CL_CLASS(CTFDRGPomson): case CL_CLASS(CTFRaygun): if (HasCondition(player)) - return false; + return true; break; case CL_CLASS(CTFWeaponFlameBall): case CL_CLASS(CTFFlareGun): @@ -1373,12 +1373,13 @@ bool IsPlayerResistantToCurrentWeapon(CachedEntity *player) case CL_CLASS(CTFFlameRocket): case CL_CLASS(CTFFlameThrower): if (HasCondition(player)) - return false; + return true; break; default: if (g_pLocalPlayer->weapon_mode == weaponmode::weapon_hitscan && HasCondition(player)) - return false; + return true; } + return false; } // F1 c&p