mirror of
https://github.com/ppy/osu.git
synced 2025-03-28 20:47:22 +08:00
Fix score migration not considering mod multipliers
This commit is contained in:
parent
3334323eb7
commit
6205864c62
@ -57,6 +57,7 @@ namespace osu.Game.Database
|
|||||||
foreach (var judgement in maximumJudgements)
|
foreach (var judgement in maximumJudgements)
|
||||||
beatmap.HitObjects.Add(new FakeHit(judgement));
|
beatmap.HitObjects.Add(new FakeHit(judgement));
|
||||||
processor.ApplyBeatmap(beatmap);
|
processor.ApplyBeatmap(beatmap);
|
||||||
|
processor.Mods.Value = score.Mods;
|
||||||
|
|
||||||
// Insert all misses into a queue.
|
// Insert all misses into a queue.
|
||||||
// These will be nibbled at whenever we need to reset the combo.
|
// These will be nibbled at whenever we need to reset the combo.
|
||||||
@ -162,7 +163,12 @@ namespace osu.Game.Database
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (long)(1000000 * (accuracyPortion * accuracyScore + (1 - accuracyPortion) * comboScore) + bonusScore);
|
double modMultiplier = 1;
|
||||||
|
|
||||||
|
foreach (var mod in score.Mods)
|
||||||
|
modMultiplier *= mod.ScoreMultiplier;
|
||||||
|
|
||||||
|
return (long)((1000000 * (accuracyPortion * accuracyScore + (1 - accuracyPortion) * comboScore) + bonusScore) * modMultiplier);
|
||||||
}
|
}
|
||||||
|
|
||||||
private class FakeHit : HitObject
|
private class FakeHit : HitObject
|
||||||
|
Loading…
x
Reference in New Issue
Block a user