private static void GetTargetPosition(QuantumMoon __instance, int stateIndex, int orbitIndex, out float orbitRadius, out OWRigidbody bodyToOrbit, out Vector3 targetPosition, out Vector3 onUnitSphere)
        {
            orbitRadius = (orbitIndex != -1)
                                        ? __instance._orbits[orbitIndex].GetOrbitRadius()
                                        : 10000f;

            bodyToOrbit = (orbitIndex != -1)
                                ? __instance._orbits[orbitIndex].GetAttachedOWRigidbody()
                                : Locator.GetAstroObject(AstroObject.Name.Sun).GetOWRigidbody();

            onUnitSphere = UnityEngine.Random.onUnitSphere;

            if (stateIndex == 5)
            {
                onUnitSphere.y = 0f;
                onUnitSphere.Normalize();
            }

            targetPosition = (onUnitSphere * orbitRadius) + bodyToOrbit.GetWorldCenterOfMass();
        }