diff --git a/src/hacks/AntiAim.cpp b/src/hacks/AntiAim.cpp index 25c2cde8..45bf5518 100644 --- a/src/hacks/AntiAim.cpp +++ b/src/hacks/AntiAim.cpp @@ -15,14 +15,13 @@ namespace hacks { namespace shared { namespace antiaim { CatVar enabled(CV_SWITCH, "aa_enabled", "0", "Anti-Aim", "Master AntiAim switch"); CatVar yaw(CV_FLOAT, "aa_yaw", "0.0", "Yaw", "Static yaw (left/right)", 360.0); CatVar pitch(CV_FLOAT, "aa_pitch", "-89.0", "Pitch", "Static pitch (up/down)", -89.0, 89.0); -CatEnum yaw_mode_enum({ "KEEP", "STATIC", "RANDOM", "SPIN" }); -CatEnum pitch_mode_enum({ "KEEP", "STATIC", "RANDOM" }); +CatEnum yaw_mode_enum({ "KEEP", "STATIC", "JITTER", "BIGRANDOM", "RANDOM", "SPIN" }); +CatEnum pitch_mode_enum({ "KEEP", "STATIC", "JITTER", "RANDOM", "FAKE?" }); CatVar yaw_mode(yaw_mode_enum, "aa_yaw_mode", "3", "Yaw mode", "Yaw mode"); CatVar pitch_mode(pitch_mode_enum, "aa_pitch_mode", "1", "Pitch mode", "Pitch mode"); CatVar roll(CV_FLOAT, "aa_roll", "0", "Roll", "Roll angle (viewangles.z)", -180, 180); CatVar no_clamping(CV_SWITCH, "aa_no_clamp", "0", "Don't clamp angles", "Use this with STATIC mode for unclamped manual angles"); CatVar spin(CV_FLOAT, "aa_spin", "10.0", "Spin speed", "Spin speed (degrees/second)"); -//CatVar lisp(CV_SWITCH, "aa_lisp", "0", "Lisp angles", "Big numbers"); float cur_yaw = 0.0f; int safe_space = 0; @@ -68,16 +67,27 @@ void ProcessUserCmd(CUserCmd* cmd) { if (!ShouldAA(cmd)) return; float& p = cmd->viewangles.x; float& y = cmd->viewangles.y; + static bool flip = false; + bool clamp = !no_clamping; switch ((int)yaw_mode) { case 1: // FIXED y = (float)yaw; break; - case 2: // RANDOM + case 2: // JITTER + if (flip) y += 90; + else y -= 90; + break; + case 3: // BIGRANDOM + y = RandFloatRange(-65536.0f, 65536.0f); + clamp = false; + break; + case 4: // RANDOM y = RandFloatRange(-180.0f, 180.0f); break; - case 3: // SPIN + case 5: // SPIN cur_yaw += (float)spin; if (cur_yaw > 180) cur_yaw = -180; + if (cur_yaw < 180) cur_yaw = 180; y = cur_yaw; break; } @@ -86,11 +96,18 @@ void ProcessUserCmd(CUserCmd* cmd) { p = (float)pitch; break; case 2: + if (flip) p += 30.0f; + else p -= 30.0f; + break; + case 3: p = RandFloatRange(-89.0f, 89.0f); break; + case 4: + p = flip ? 89.0f : -89.0f; + break; } - - if (!no_clamping) fClampAngle(cmd->viewangles); + flip = !flip; + if (clamp) fClampAngle(cmd->viewangles); if (roll) cmd->viewangles.z = (float)roll; g_pLocalPlayer->bUseSilentAngles = true; }