Merge branch 'master' into scoreprocessor-rework

This commit is contained in:
Dan Balasescu
2022-03-10 16:14:28 +09:00
13 changed files with 31 additions and 19 deletions

View File

@ -77,6 +77,11 @@ namespace osu.Game.Rulesets.Scoring
/// </summary>
protected virtual double DefaultComboPortion => 0.7;
/// <summary>
/// An arbitrary multiplier to scale scores in the <see cref="ScoringMode.Classic"/> scoring mode.
/// </summary>
protected virtual double ClassicScoreMultiplier => 36;
private readonly double accuracyPortion;
private readonly double comboPortion;
@ -349,7 +354,7 @@ namespace osu.Game.Rulesets.Scoring
// This gives a similar feeling to osu!stable scoring (ScoreV1) while keeping classic scoring as only a constant multiple of standardised scoring.
// The invariant is important to ensure that scores don't get re-ordered on leaderboards between the two scoring modes.
double scaledStandardised = ComputeScore(ScoringMode.Standardised, accuracyRatio, comboRatio, bonusScore, totalBasicHitObjects) / max_score;
return Math.Pow(scaledStandardised * Math.Max(1, totalBasicHitObjects), 2) * 36;
return Math.Pow(scaledStandardised * Math.Max(1, totalBasicHitObjects), 2) * ClassicScoreMultiplier;
}
}