Commit Graph

139 Commits

Author SHA1 Message Date
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
a6124ae499 fix typo on ScoreProcessor xmldoc 2020-01-27 08:24:15 +08:00
90cb9d9162 Simplify scoreprocesor/healthprocessor implementations 2019-12-26 14:59:49 +09:00
50fa6c5f77 Update score on reverts 2019-12-19 20:18:23 +09:00
04c3a6f8a4 Move more properties to the base class 2019-12-19 20:18:17 +09:00
76f2fb378f Separate score and health parts of ScoreProcessor 2019-12-19 20:03:14 +09:00
1da8cc8690 Encapsulate common logic of ScoreProcessor 2019-12-19 19:03:27 +09:00
48f1dad4aa Remove abstract ScoreProcessor class 2019-12-11 17:25:06 +09:00
07fce8397b Move reset call to ctor 2019-09-09 14:24:17 +09:00
be803fa921 Reset score processor before starting the simulation 2019-09-07 18:15:49 +03:00
55b2bc1ed5 Set Health default value to 1 2019-09-07 18:03:04 +03:00
b89fb5cdf7 Fix failing test 2019-09-06 16:51:30 +09:00
6ce36bd39e Merge branch 'master' into stop-counting-to-score-after-fail 2019-09-06 16:12:53 +09:00
0c73c5acf3 Expose full hitobject rather than hit windows 2019-09-02 17:14:40 +09:00
f2bdf94a1d Add HitWindows to JudgementResult to indicate timing errors 2019-09-02 16:28:14 +09:00
2945fef62d Expose HasCompleted from ScoreProcessor 2019-09-02 13:04:30 +09:00
439d825dd1 Disallow adding bonus judgements' result to statistics 2019-08-20 18:39:29 +03:00
883102ee5d Move score multiplier logic inside score calculation 2019-08-12 16:40:52 +03:00
29870c773c Merge branch 'master' into stop-counting-to-score-after-fail 2019-08-09 14:16:34 +09:00
a9c4b5ac4e Add tests 2019-08-09 14:04:56 +09:00
33f4b628a5 Make HasFailed private set 2019-08-09 13:42:02 +09:00
88fa06efba Refactor as proposed 2019-08-09 13:38:04 +09:00
566d874641 Prevent failing when reverting to a hasFailedAtJudgement 2019-08-08 15:25:07 +03:00
a345955f45 Add mentions linking ScoreProcessor apply/revert methods together 2019-08-08 13:57:04 +09:00
c77e6074f6 Disallow adding to score after the player has failed 2019-08-07 19:58:26 +03:00
e57663b39c Apply mod score multipliers 2019-07-31 17:55:22 +09:00
6bfac9f8e4 Remove protected ctor 2019-07-31 17:50:13 +09:00
de59e038ac Prevent non-combo affecting judgements from triggering sudden death 2019-06-21 14:29:16 +09:00
1c3b768266 Use Precision.AlmostBigger 2019-05-12 09:02:22 -04:00
1a6c8e91a5 Compare Health with small value 2019-05-12 08:44:20 -04:00
5c096cbc91 Revert mirroring condition too 2019-05-09 18:59:00 +09:00
9e0af723cc Split out affectscombo change 2019-05-09 18:56:19 +09:00
b0e34d86d5 Subtract a result from count if its been reverted 2019-05-09 16:16:20 +09:00
39fb5712f1 Only combo-incrementing results add to result count 2019-05-09 15:31:37 +09:00
d7c09e7dbd Merge remote-tracking branch 'origin/master' into fix-new-inspections
# Conflicts:
#	osu.Game.Rulesets.Catch/Judgements/CatchDropletJudgement.cs
#	osu.Game.Rulesets.Catch/Judgements/CatchJudgement.cs
#	osu.Game.Rulesets.Mania/Scoring/ManiaScoreProcessor.cs
#	osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs
#	osu.Game.Rulesets.Osu/UI/Cursor/CursorTrail.cs
#	osu.Game.Tests/Visual/SongSelect/TestCaseBeatmapScoresContainer.cs
#	osu.Game/Graphics/OsuFont.cs
#	osu.Game/Online/API/Requests/Responses/APILegacyScoreInfo.cs
#	osu.Game/Overlays/Profile/Header/BadgeContainer.cs
#	osu.Game/Overlays/Profile/ProfileHeader.cs
#	osu.Game/Screens/Select/PlaySongSelect.cs
#	osu.Game/Skinning/LegacySkinDecoder.cs
2019-05-07 13:20:17 +09:00
148f4c4ce0 Pass Rank.Value instead
Passing Rank.Value along each iteration instead of calculating.
2019-04-30 18:49:31 +03:00
b08fb5136e Merge branch 'master' into sh-xh-grading-2 2019-04-26 10:38:10 +03:00
619071b7ee Unnecessary 'using' directive 2019-04-25 14:23:00 +03:00
4e0f21102b Merge branch 'sh-xh-grading-2' of https://github.com/iiSaLMaN/osu into sh-xh-grading-2 2019-04-25 14:04:12 +03:00
c6b3197dd0 Add AdjustRank and use it in Hidden Mod 2019-04-25 13:56:57 +03:00
0bd35ab7bb Turn on warnings, resolve issues 2019-04-25 17:36:17 +09:00
a6b60a2fc2 Merge branch 'master' into sh-xh-grading-2 2019-04-22 19:39:20 +03:00
aeae759fcd Rename method + add xmldoc 2019-04-22 18:08:15 +09:00
4edb17a88a Make hp work + cleanup 2019-04-22 18:02:49 +09:00
fbb4e9df04 Implement hp at base ScoreProcessor 2019-04-22 16:51:38 +09:00
cfb3c38c3a Fix. 2019-04-22 10:14:19 +03:00
9030935030 Fix AppVeyor Errors 2019-04-22 10:07:45 +03:00
64429aa968 Fix AppVeyor Errors 2019-04-22 09:59:51 +03:00
7a385e56ec Fix AppVeyor Errors 2019-04-22 09:58:29 +03:00
c784bc4418 Remove whitespaces 2019-04-22 06:15:37 +03:00