private Vector3 AAMGuidance() { Vector3 aamTarget; if (TargetAcquired) { float timeToImpact; aamTarget = MissileGuidance.GetAirToAirTargetModular(TargetPosition, TargetVelocity, previousTargetVelocity, TargetAcceleration, vessel, previousMissileVelocity, out timeToImpact); previousTargetVelocity = TargetVelocity; previousMissileVelocity = vessel.Velocity(); TimeToImpact = timeToImpact; if (Vector3.Angle(aamTarget - vessel.CoM, vessel.transform.forward) > maxOffBoresight * 0.75f) { Debug.LogFormat("[BDArmory]: Missile with Name={0} has exceeded the max off boresight, checking missed target ", vessel.vesselName); aamTarget = TargetPosition; } DrawDebugLine(vessel.CoM, aamTarget); } else { aamTarget = vessel.CoM + (20 * vessel.srfSpeed * vessel.Velocity().normalized); } return(aamTarget); }