701342e036
Remove accuracy rounding at a ScoreProcessor level
2021-03-25 17:43:51 +09:00
d66e218318
Source display accuracy from header and remove from ScoreProcessor function
2020-12-24 14:57:23 +09:00
be427a4ec0
Fix realtime leaderboard showing accuracy based on final base score, not rolling
2020-12-23 14:20:35 +09:00
ee33c0be93
Extract combo & accuracy ratio calculation helpers
2020-12-19 19:08:29 +01:00
f13683dc90
Correctly account for max combo of the input, rather than the global
2020-12-17 16:05:41 +09:00
41d8b84bd7
Revert MaxBaseScore to being a private field (no longe required to be public)
2020-12-17 15:47:20 +09:00
2954218897
Add method to ScoreProcessor to calculate score and accuracy from statistics
2020-12-16 16:20:29 +09:00
109abc0e29
Always store standardised score when populating ScoreInfo
2020-11-10 08:41:00 +01:00
7109c3b6cd
Rename variable as suggested
2020-10-07 21:06:24 +02:00
2b6e4e575e
Award max combo portion score if max achievable is 0
2020-10-07 17:04:55 +03:00
74af7cc503
Rework ScoreProcessor
2020-10-07 17:00:00 +03:00
31fae045fa
Update judgement processors with new hit results
2020-09-29 16:33:38 +09:00
447fd07b4e
Fix maps with only bonus score having NaN scores
2020-09-11 01:13:55 +09:00
37a659b2af
Refactor/add xmldocs
2020-09-09 17:36:47 +09:00
e271408fca
Move max score calculation inside ScoreProcessor
2020-09-09 16:51:53 +09:00
1e5e5cae0c
Add support for standardised -> classic changes
2020-08-28 21:34:34 +09:00
4d15f0fe52
Implement basic score recalculation
2020-08-28 19:16:46 +09:00
a4ad0bd174
Ensure 0 score from miss judgements, add test
2020-08-18 19:51:26 +09:00
6b2b3f4d4d
Expose accuracy/combo portion adjustments
2020-07-16 14:10:44 +09:00
2bb0283a68
Clean up HitEvents after use to avoid near-permanent memory retention
2020-07-12 00:52:55 +09:00
740b01c049
Add xmldoc
2020-06-19 22:05:58 +09:00
25abdc2903
General cleanups
2020-06-19 21:41:48 +09:00
eab00ec9d9
Move hit events to the ScoreProcessor
2020-06-19 19:58:35 +09:00
e98f51923a
Add timing distribution to OsuScoreProcessor
2020-06-02 23:38:24 +09:00
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