protected override double StrainValueOf(DifficultyHitObject current) { HitokoriDifficultyHitObject hitokoriCurrent = (HitokoriDifficultyHitObject)current; double bpm = Math.Min(hitokoriCurrent.BPM, MAX_BPM); return(Math.Pow(bpm / BASE_BPM, 0.6)); }
protected override double StrainValueOf(DifficultyHitObject current) { HitokoriDifficultyHitObject hitokoriCurrent = (HitokoriDifficultyHitObject)current; double strain = CalculateAngleStrain(hitokoriCurrent.HitAngle); if (hitokoriCurrent.ChangedDirection) { strain *= DIRECTION_CHANGE_BONUS; } if (hitokoriCurrent.HoldAngle != null) { strain += CalculateAngleStrain(hitokoriCurrent.HoldAngle.Value); } return(1 + strain); }