From c163c5575af4d1e7755510b03a7cd7809869eeef Mon Sep 17 00:00:00 2001 From: navewindre Date: Wed, 28 Nov 2018 17:06:47 +0100 Subject: i hate myself --- cheat/internal_rewrite/ragebot_antiaim.cpp | 36 +++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) (limited to 'cheat/internal_rewrite/ragebot_antiaim.cpp') diff --git a/cheat/internal_rewrite/ragebot_antiaim.cpp b/cheat/internal_rewrite/ragebot_antiaim.cpp index beff445..958a5c1 100644 --- a/cheat/internal_rewrite/ragebot_antiaim.cpp +++ b/cheat/internal_rewrite/ragebot_antiaim.cpp @@ -552,8 +552,22 @@ namespace features } else { int jitter = g_settings.rage.edge_dtc_real_jitter; - if (jitter) { - aim_angle.y += math::random_number< float >(-jitter, jitter); + + if( jitter > 0 ) { + switch( g_settings.rage.edge_detection ) { + case 1: + aim_angle.y += math::random_number< float >( -jitter, jitter ); + break; + case 2: + aim_angle.y += math::random_number( 0, 100 ) % 2 ? jitter : -jitter; + break; + case 3: { + constexpr static double rate = 360.0 / 1.618033988749895; + aim_angle.y += ( -jitter * 0.5f ) + ( std::fmod( g_csgo.m_globals->m_curtime * rate, jitter + 1.f ) ); + break; + } + default: break; + } } } @@ -870,7 +884,23 @@ namespace features m_is_edging = freestanding || edge_detected; if( g_settings.rage.break_lby( ) && ( !m_is_edging || g_settings.rage.break_lby_edge ) ) { - float yaw = m_is_edging ? m_cmd->m_viewangles.y : get_yaw( true ); + float yaw; + + if( m_is_edging ) { + auto target = util::get_closest_player( ); + if( target != -1 ) { + auto ent = g_csgo.m_entlist( )->GetClientEntity< >( target ); + + vec3_t ang = math::vector_angles( + ent->m_vecOrigin( ), + g_ctx.m_local->m_vecOrigin( ) ); + + yaw = ang.y + m_direction ? 90.f : -90.f; + } + } + else { + yaw = get_yaw( true ); + } m_breaker.override_angles( &m_cmd->m_viewangles.y, yaw, -- cgit v1.2.3