From b87288ffdcf1da142786ca505eb93f394124515e Mon Sep 17 00:00:00 2001 From: TotallyNotElite <1yourexperiment@protonmail.com> Date: Sat, 26 May 2018 20:29:43 +0200 Subject: [PATCH] Add option to stop autoshoot while disguised --- TODO | 2 +- include/conditions.hpp | 2 ++ include/helpers.hpp | 1 + src/hacks/Aimbot.cpp | 6 ++++-- src/helpers.cpp | 7 +++++++ src/visual/menu/ncc/Menu.cpp | 1 + 6 files changed, 16 insertions(+), 3 deletions(-) diff --git a/TODO b/TODO index 03964704..e62d997b 100755 --- a/TODO +++ b/TODO @@ -27,7 +27,7 @@ MAX -> MIN priority // // // // Hunter Rifle? // // // // -No AutoShoot when disguised // // + // // Ambassador bodyshotting // // No Trigger Mediguns // // More projectile weapons aimbot (wrap assassin, wrangler, stickybomb, airstrike) // // diff --git a/include/conditions.hpp b/include/conditions.hpp index 6ce9e27d..ff042c83 100644 --- a/include/conditions.hpp +++ b/include/conditions.hpp @@ -179,6 +179,8 @@ constexpr condition_data_s CreateConditionMask(ConditionList... conds) // Should be either expanded or unused constexpr condition_data_s KInvisibilityMask = CreateConditionMask(TFCond_Cloaked); +constexpr condition_data_s KDisguisedMask = + CreateConditionMask(TFCond_Disguised); // Original name constexpr condition_data_s KVisibilityMask = CreateConditionMask(TFCond_OnFire, TFCond_Jarated, TFCond_CloakFlicker, diff --git a/include/helpers.hpp b/include/helpers.hpp index e2330f55..ffa5c5a2 100755 --- a/include/helpers.hpp +++ b/include/helpers.hpp @@ -52,6 +52,7 @@ void EndConVars(); bool IsPlayerInvulnerable(CachedEntity *player); bool IsPlayerCritBoosted(CachedEntity *player); bool IsPlayerInvisible(CachedEntity *player); +bool IsPlayerDisguised(CachedEntity *player); const char *GetBuildingName(CachedEntity *ent); Vector GetBuildingPosition(CachedEntity *ent); diff --git a/src/hacks/Aimbot.cpp b/src/hacks/Aimbot.cpp index 598e7d07..bfc268dc 100644 --- a/src/hacks/Aimbot.cpp +++ b/src/hacks/Aimbot.cpp @@ -33,6 +33,8 @@ static CatVar aimkey_mode(aimkey_modes_enum, "aimbot_aimkey_mode", "1", static CatVar autoshoot(CV_SWITCH, "aimbot_autoshoot", "1", "Autoshoot", "Shoot automatically when the target is locked, isn't " "compatible with 'Enable when attacking'"); +static CatVar autoshoot_disguised(CV_SWITCH, "aimbot_autoshoot_disguised", "1", "Autoshoot while disguised", + "Shoot automatically if disguised."); static CatVar multipoint(CV_SWITCH, "aimbot_multipoint", "0", "Multipoint", "Multipoint aimbot"); static CatEnum hitbox_mode_enum({ "AUTO", "AUTO-CLOSEST", "STATIC" }); @@ -774,11 +776,11 @@ void Aim(CachedEntity *entity) // A function to check whether player can autoshoot void DoAutoshoot() { - // Enable check if (!autoshoot) return; - + if (IsPlayerDisguised(g_pLocalPlayer->entity) && !autoshoot_disguised) + return; // Handle Compound bow if (g_pLocalPlayer->weapon()->m_iClassID() == CL_CLASS(CTFCompoundBow)) { diff --git a/src/helpers.cpp b/src/helpers.cpp index db53bcd6..881ed092 100644 --- a/src/helpers.cpp +++ b/src/helpers.cpp @@ -855,6 +855,13 @@ bool IsPlayerInvisible(CachedEntity *player) player); } +bool IsPlayerDisguised(CachedEntity *player) +{ + return HasConditionMask( + player); +} + // F1 c&p Vector CalcAngle(Vector src, Vector dst) { diff --git a/src/visual/menu/ncc/Menu.cpp b/src/visual/menu/ncc/Menu.cpp index 55fe7f2b..b60af187 100644 --- a/src/visual/menu/ncc/Menu.cpp +++ b/src/visual/menu/ncc/Menu.cpp @@ -295,6 +295,7 @@ static const std::string list_tf2 = R"( "aimbot_aimkey" "aimbot_aimkey_mode" "aimbot_autoshoot" + "aimbot_autoshoot_disguised" "aimbot_hitboxmode" "aimbot_fov" "aimbot_fov_draw"