diff --git a/src/hacks/AutoBackstab.cpp b/src/hacks/AutoBackstab.cpp index 9b85a818..26bf755e 100644 --- a/src/hacks/AutoBackstab.cpp +++ b/src/hacks/AutoBackstab.cpp @@ -16,39 +16,20 @@ namespace autobackstab static CatVar enabled(CV_SWITCH, "autobackstab", "0", "Auto Backstab", "Does not depend on triggerbot!"); - // TODO improve void CreateMove() { if (!enabled) return; + if (!CE_GOOD(LOCAL_E)) + return; + if (!LOCAL_E->m_bAlivePlayer) + return; if (g_pLocalPlayer->weapon()->m_iClassID != CL_CLASS(CTFKnife)) return; - trace_t trace; - IClientEntity *weapon = RAW_ENT(LOCAL_W); - - typedef bool (*IsBehindAndFacingTarget_t)(IClientEntity *, IClientEntity *); - static auto IsBehindAndFacingTarget_addr = gSignatures.GetClientSignature( - "55 89 E5 57 56 53 83 EC 2C 8B 45 08 8B 5D 08 C1 E0 0C"); - static auto IsBehindAndFacingTarget = - reinterpret_cast( - IsBehindAndFacingTarget_addr); - - if (re::C_TFWeaponBaseMelee::DoSwingTrace(weapon, &trace)) + if (CE_BYTE(g_pLocalPlayer->weapon(), netvar.m_bReadyToBackstab)) { - if (trace.m_pEnt && - reinterpret_cast(trace.m_pEnt) - ->GetClientClass() - ->m_ClassID == RCC_PLAYER) - { - if (NET_INT(trace.m_pEnt, netvar.iTeamNum) != g_pLocalPlayer->team) - { - if (IsBehindAndFacingTarget( - weapon, - reinterpret_cast(trace.m_pEnt))) - g_pUserCmd->buttons |= IN_ATTACK; - } - } + g_pUserCmd->buttons |= IN_ATTACK; } } }