1
0
mirror of https://github.com/ppy/osu.git synced 2025-03-21 17:57:46 +08:00

Use safer fix for now

This commit is contained in:
Bartłomiej Dach 2023-12-19 17:25:15 +01:00
parent ddb67c87a8
commit 3f41c20ac6
No known key found for this signature in database

View File

@ -305,11 +305,10 @@ namespace osu.Game.Database
// The clamp from below to `comboPortionFromLongestComboInScoreV1` targets near-FC scores wherein
// the player had bad accuracy at the end of their longest combo, which causes the division by accuracy
// to underestimate the combo portion.
// The clamp from above to `maximumAchievableComboPortionInScoreV1` targets FC scores wherein
// the player had bad accuracy at the start of the map, which causes the division by accuracy
// to overestimate the combo portion.
double comboPortionInScoreV1 = Math.Clamp(maximumAchievableComboPortionInScoreV1 * comboProportion / score.Accuracy,
comboPortionFromLongestComboInScoreV1, maximumAchievableComboPortionInScoreV1);
// Ideally, this would be clamped from above to `maximumAchievableComboPortionInScoreV1` too,
// but in practice this appears to fail for some scores (https://github.com/ppy/osu/pull/25876#issuecomment-1862248413).
// TODO: investigate the above more closely
double comboPortionInScoreV1 = Math.Max(maximumAchievableComboPortionInScoreV1 * comboProportion / score.Accuracy, comboPortionFromLongestComboInScoreV1);
// Calculate how many times the longest combo the user has achieved in the play can repeat
// without exceeding the combo portion in score V1 as achieved by the player.