summaryrefslogtreecommitdiff
path: root/cheat/internal_rewrite/ragebot_antiaim.cpp
diff options
context:
space:
mode:
authornavewindre <boneyaard@gmail.com>2018-11-28 17:06:47 +0100
committernavewindre <boneyaard@gmail.com>2018-11-28 17:06:47 +0100
commitc163c5575af4d1e7755510b03a7cd7809869eeef (patch)
treedf472b7f2a26ffa076fdf27aa19e221008522b07 /cheat/internal_rewrite/ragebot_antiaim.cpp
parent96de4961c447d7009ba52b6bf04d4b7bfe487ab1 (diff)
i hate myself
Diffstat (limited to 'cheat/internal_rewrite/ragebot_antiaim.cpp')
-rw-r--r--cheat/internal_rewrite/ragebot_antiaim.cpp36
1 files changed, 33 insertions, 3 deletions
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,