Esempio n. 1
0
        private double rhythmChangeAddition(TaikoHitObjectDifficulty previousHitObject)
        {
            // We don't want a division by zero if some random mapper decides to put 2 HitObjects at the same time.
            if (timeElapsed == 0 || previousHitObject.timeElapsed == 0)
            {
                return(0);
            }

            double timeElapsedRatio = Math.Max(previousHitObject.timeElapsed / timeElapsed, timeElapsed / previousHitObject.timeElapsed);

            if (timeElapsedRatio >= 8)
            {
                return(0);
            }

            double difference = Math.Log(timeElapsedRatio, rhythm_change_base) % 1.0;

            if (isWithinChangeThreshold(difference))
            {
                return(rhythm_change_bonus);
            }

            return(0);
        }