mirror of
https://github.com/ppy/osu.git
synced 2026-06-02 19:00:10 +08:00
Populate TotalScoreWithoutMods on scores set locally
This commit is contained in:
@@ -56,6 +56,14 @@ namespace osu.Game.Rulesets.Scoring
|
||||
/// </summary>
|
||||
public readonly BindableLong TotalScore = new BindableLong { MinValue = 0 };
|
||||
|
||||
/// <summary>
|
||||
/// The total number of points awarded for the score without including mod multipliers.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// The purpose of this property is to enable future lossless rebalances of mod multipliers.
|
||||
/// </remarks>
|
||||
public readonly BindableLong TotalScoreWithoutMods = new BindableLong { MinValue = 0 };
|
||||
|
||||
/// <summary>
|
||||
/// The current accuracy.
|
||||
/// </summary>
|
||||
@@ -363,7 +371,8 @@ namespace osu.Game.Rulesets.Scoring
|
||||
double comboProgress = maximumComboPortion > 0 ? currentComboPortion / maximumComboPortion : 1;
|
||||
double accuracyProcess = maximumAccuracyJudgementCount > 0 ? (double)currentAccuracyJudgementCount / maximumAccuracyJudgementCount : 1;
|
||||
|
||||
TotalScore.Value = (long)Math.Round(ComputeTotalScore(comboProgress, accuracyProcess, currentBonusPortion) * scoreMultiplier);
|
||||
TotalScoreWithoutMods.Value = (long)Math.Round(ComputeTotalScore(comboProgress, accuracyProcess, currentBonusPortion));
|
||||
TotalScore.Value = (long)Math.Round(TotalScoreWithoutMods.Value * scoreMultiplier);
|
||||
}
|
||||
|
||||
private void updateRank()
|
||||
@@ -446,6 +455,7 @@ namespace osu.Game.Rulesets.Scoring
|
||||
score.MaximumStatistics[result] = MaximumResultCounts.GetValueOrDefault(result);
|
||||
|
||||
// Populate total score after everything else.
|
||||
score.TotalScoreWithoutMods = TotalScoreWithoutMods.Value;
|
||||
score.TotalScore = TotalScore.Value;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user