private static void StartWave()
        {
            //m_meteorList.Add(MyMeteor.SpawnRandomLargeDebug(sphere.Center + sunDir * 500 + MyVRageUtils.GetRandomVector3Normalized() * sphere.Radius, sphere));

            var sunDir          = MySector.DirectionToSunNormalized;
            var waveMeteorCount = MyUtils.GetRandomFloat(Math.Min(2, m_meteorcount - 3), m_meteorcount + 3);

            for (int i = 0; i < waveMeteorCount; i++)
            {
                var      randCircle          = MyUtils.GetRandomVector3CircleNormalized();
                var      rand                = MyUtils.GetRandomFloat(0, 1);
                Vector3D randomCircleInPlain = randCircle.X * m_rightVector + randCircle.Z * m_downVector;
                var      hitPosition         = m_currentTarget.Value.Center + Math.Pow(rand, 0.7f) * m_currentTarget.Value.Radius * randomCircleInPlain;
                var      toSun               = sunDir * (2000 + 50 * i);
                randCircle          = MyUtils.GetRandomVector3CircleNormalized();
                randomCircleInPlain = randCircle.X * m_rightVector + randCircle.Z * m_downVector;
                var realPosition = hitPosition + toSun + (float)Math.Tan(MyUtils.GetRandomFloat(0, (float)Math.PI / 18)) * toSun.Length() * randomCircleInPlain;
                if (MyUtils.GetRandomInt(5) == 0)
                {
                    m_meteorList.Add(MyMeteor.SpawnRandomLarge(realPosition, Vector3.Normalize(hitPosition - realPosition)));
                }
                else
                {
                    m_meteorList.Add(MyMeteor.SpawnRandomSmall(realPosition, Vector3.Normalize(hitPosition - realPosition)));
                }
            }
        }