Skip to content

Commit

Permalink
Fix incorrect standardised score estimation on selected beatmaps
Browse files Browse the repository at this point in the history
  • Loading branch information
bdach authored and peppy committed Mar 1, 2024
1 parent d5b9243 commit a4abcb3
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions osu.Game/Database/StandardisedScoreMigrationTools.cs
Original file line number Diff line number Diff line change
Expand Up @@ -365,6 +365,17 @@ private static long convertFromLegacyTotalScore(ScoreInfo score, Ruleset ruleset
+ bonusProportion) * modMultiplier);
}

// see similar check above.
// if there is no legacy combo score, all combo conversion operations below
// are either pointless or wildly wrong.
if (maximumLegacyComboScore + maximumLegacyBonusScore == 0)
{
return (long)Math.Round((
500000 * comboProportion // as above, zero if mods result in zero multiplier, one otherwise
+ 500000 * Math.Pow(score.Accuracy, 5)
+ bonusProportion) * modMultiplier);
}

// Assumptions:
// - sliders and slider ticks are uniformly distributed in the beatmap, and thus can be ignored without losing much precision.
// We thus consider a map of hit-circles only, which gives objectCount == maximumCombo.
Expand Down

0 comments on commit a4abcb3

Please sign in to comment.