void RageAimbot::DoAntiaim(CUserCmd* cmd, C_BaseCombatWeapon* Weapon, bool& bSendPacket) {
if (!g_LocalPlayer || !g_LocalPlayer->IsAlive() || !Weapon || Weapon->IsKnife() || cmd->buttons & IN_ATTACK && Weapon->CanFire() || cmd->buttons & IN_USE || Weapon->IsGrenade() || g_LocalPlayer->m_nMoveType() == MOVETYPE_LADDER || g_LocalPlayer->m_nMoveType() == MOVETYPE_NOCLIP)
return;
static int AASideStand = 1;
static int AASideMov = 1;
static int AASideAir = 1;
if (InputSys::Get().IsKeyDown(g_Options.AALeftSideBind_stand))
AASideStand = 0;
if (InputSys::Get().IsKeyDown(g_Options.AABackSideBind_stand))
AASideStand = 1;
if (InputSys::Get().IsKeyDown(g_Options.AARightSideBind_stand))
AASideStand = 2;
if (InputSys::Get().IsKeyDown(g_Options.AALeftSideBind_mov))
AASideMov = 0;
if (InputSys::Get().IsKeyDown(g_Options.AABackSideBind_mov))
AASideMov = 1;
if (InputSys::Get().IsKeyDown(g_Options.AARightSideBind_mov))
AASideMov = 2;
if (InputSys::Get().IsKeyDown(g_Options.AALeftSideBind_air))
AASideAir = 0;
if (InputSys::Get().IsKeyDown(g_Options.AABackSideBind_air))
AASideAir = 1;
if (InputSys::Get().IsKeyDown(g_Options.AARightSideBind_air))
AASideAir = 2;
switch (ReturnMovementType()) {
case MovingAAType::Standing: {
switch (g_Options.pitch_standing) {
case 0: return;
case 1: cmd->viewangles.pitch = 88.69f; break;
case 2: cmd->viewangles.pitch = 90.f; break;
case 3: cmd->viewangles.pitch = -88.69f; break;
case 4: cmd->viewangles.pitch = 1080.f; break;
case 5: cmd->viewangles.pitch = g_Options.aapitch_cust_stand; break;
}
}break;
case MovingAAType::Moving: {
switch (g_Options.pitch_moving) {
case 0: return;
case 1: cmd->viewangles.pitch = 88.69f; break;
case 2: cmd->viewangles.pitch = 90.f; break;
case 3: cmd->viewangles.pitch = -88.69f; break;
case 4: cmd->viewangles.pitch = 1080.f; break;
case 5: cmd->viewangles.pitch = g_Options.aapitch_cust_mov; break;
}
}break;
case MovingAAType::Air: {
switch (g_Options.pitch_air) {
case 0: return;
case 1: cmd->viewangles.pitch = 88.69f; break;
case 2: cmd->viewangles.pitch = 90.f; break;
case 3: cmd->viewangles.pitch = -88.69f; break;
case 4: cmd->viewangles.pitch = 1080.f; break;
case 5: cmd->viewangles.pitch = g_Options.aapitch_cust_air; break;
}
}break;
}
//float_t fix = cmd->viewangles.yaw;
switch (ReturnMovementType())
{
case MovingAAType::Standing:
{
switch (g_Options.yaw_standing)
{
case 0: return;
case 1: cmd->viewangles.yaw += 180.0f + g_Options.yawadd_stand; break;
case 2: cmd->viewangles.yaw += Math::RandomFloat(-g_Options.jitter_radius_stand, g_Options.jitter_radius_stand) + g_Options.yawadd_stand; break;
case 3: cmd->viewangles.yaw += 90.f + 90.f * AASideStand + g_Options.yawadd_stand; break;
case 4: cmd->viewangles.yaw += fmodf(g_GlobalVars->tickcount * 10.f, 360.f); break;
}
break;
case MovingAAType::Moving:
{
switch (g_Options.yaw_moving)
{
case 0: return;
case 1:
cmd->viewangles.yaw += 180.0f + g_Options.yawadd_mov;
break;
case 2: cmd->viewangles.yaw += Math::RandomFloat(-g_Options.jitter_radius_mov, g_Options.jitter_radius_mov) + g_Options.yawadd_mov; break;
case 3: cmd->viewangles.yaw += 90.f + 90.f * AASideMov + g_Options.yawadd_mov; break;
case 4: cmd->viewangles.yaw += fmodf(g_GlobalVars->tickcount * 10.f, 360.f); break;
}
}
break;
case MovingAAType::Air:
{
switch (g_Options.yaw_air)
{
case 0: return;
case 1: cmd->viewangles.yaw += 180.0f + g_Options.yawadd_air; break;
case 2: cmd->viewangles.yaw += Math::RandomFloat(-g_Options.jitter_radius_air, g_Options.jitter_radius_air) + g_Options.yawadd_air; break;
case 3: cmd->viewangles.yaw += 90.f + 90.f * AASideAir + g_Options.yawadd_air; break;
case 4: cmd->viewangles.yaw += fmodf(g_GlobalVars->tickcount * 10.f, 360.f); break;
}
}
break;
}
if (LbyUpdate())
{
bSendPacket = false;
cmd->viewangles.yaw -= 125.f;
return;
}
if (bSendPacket)
cmd->viewangles.yaw += g_LocalPlayer->MaxDesyncDelta();
cmd->buttons &= ~(IN_FORWARD | IN_BACK | IN_MOVERIGHT | IN_MOVELEFT);
}
}