1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-19 08:52:55 +08:00
osu-lazer/osu.Game/Rulesets/Scoring
Bartłomiej Dach 13c81db0cf Fix incorrect classic score formula
Upon closer inspection the classic score formula was subtly wrong. The
version given in the wiki is:

	Score = Hit Value + (Hit Value * ((Combo multiplier * Difficulty
	multiplier * Mod multiplier) / 25))

The code previously used:

	bonusScore + baseScore * ((1 + Math.Max(0, HighestCombo.Value - 1)
	* scoreMultiplier) / 25);

which is not equivalent to the version on the wiki. The error is in the 1
factor, as in the above version it is being divided by 25, while it should
be outside the division to keep parity with the previous formula.

The tests attached in the previous commit demonstrate that this change
causes a single hit without combo to increase total score by its exact
numeric value.
2020-04-14 01:09:58 +02:00
..
AccumulatingHealthProcessor.cs Drain starting at the first hitobject, not gameplay start 2019-12-27 16:16:30 +09:00
DrainingHealthProcessor.cs Drain starting at the first hitobject, not gameplay start 2019-12-27 16:16:30 +09:00
HealthProcessor.cs Update MathUtils namespace usages 2020-01-09 13:43:44 +09:00
HitResult.cs Refactor HitWindows for legibility 2019-09-06 15:24:14 +09:00
HitWindows.cs CA2208: create exceptions correctly. 2019-12-17 13:00:10 +08:00
JudgementProcessor.cs Remove unnecessary checks on NotNull attributes 2020-02-23 14:30:08 +09:00
ScoreProcessor.cs Fix incorrect classic score formula 2020-04-14 01:09:58 +02:00