Commit Graph

163 Commits

Author SHA1 Message Date
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