VOID CG_Autoshoot( int iTarget, FLOAT fDistance ) { // aimshoot disabled if ( !CoDHook.cv_aimshoot.integer ) return; BOOL bOnCrosshair = ( *CoDHook.time - *CoDHook.crosshairClientTime > 1 ); BOOL bIsAiming = ( CoDHook.cv_aim.integer == 1 && GetAsyncKeyState( CoDHook.cv_aimkey.integer ) || CoDHook.cv_aim.integer == 2 ); // aiming ? if ( !bIsAiming ) return; // [1] shoot on aim and on target if ( CoDHook.cv_aimshoot.integer == 1 && iTarget == -1 ) return; // [2] shoot on aim and on any target else if ( CoDHook.cv_aimshoot.integer == 2 && iTarget == -1 && !bOnCrosshair ) return; if ( fDistance <= 65.0f && fDistance >= 0.0f ) { trap_SendConsoleCommand( "vstr do_melee\n" ); } else { trap_SendConsoleCommand( "vstr do_attack\n" ); } }