From 009f264c3d98f742bec9aaeaafe86d66ad5116a5 Mon Sep 17 00:00:00 2001 From: navewindre Date: Tue, 4 Dec 2018 19:56:23 +0100 Subject: dadffsad --- cheat/internal_rewrite/ragebot_resolver.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'cheat/internal_rewrite/ragebot_resolver.cpp') diff --git a/cheat/internal_rewrite/ragebot_resolver.cpp b/cheat/internal_rewrite/ragebot_resolver.cpp index 78a6718..e562dd6 100644 --- a/cheat/internal_rewrite/ragebot_resolver.cpp +++ b/cheat/internal_rewrite/ragebot_resolver.cpp @@ -49,15 +49,25 @@ namespace features if( !( ent->m_fFlags( ) & FL_ONGROUND ) || ( ent->get_anim_velocity( ).length2d( ) > 0.1f && !ent->is_fakewalking( ) ) ) return -1; + if( g_ctx.m_past_origins.empty( ) ) + return -1; // sanity check + int ret_dir = -1; float cur_damage = 0.f; vec3_t enemy_pos = ent->m_vecOrigin( ); enemy_pos.z = ent->get_hitbox_pos( 0 ).z; + auto nci = g_csgo.m_engine( )->GetNetChannelInfo( ); + float out_latency = nci->GetLatency( 0 ); + auto enemy_ping = ent->get_ping( ) * 0.001f; + + auto delay_ticks = std::clamp< int >( TIME_TO_TICKS( enemy_ping + out_latency ), 0, g_ctx.m_past_origins.size( ) - 1 ); + vec3_t delayed_pos = g_ctx.m_past_origins.at( delay_ticks ); + vec3_t local_pos = g_ctx.m_local->get_eye_pos( ); local_pos -= g_ctx.m_local->m_vecOrigin( ); - local_pos += g_ctx.m_last_origin; + local_pos += delayed_pos; vec3_t aim_angle = math::vector_angles( enemy_pos, -- cgit v1.2.3