6f233917b1
Centralize updating HasCompleted bindable logic
2020-04-20 06:40:51 +03:00
fc6c245de5
Replace all judged event logic with HasCompleted bindable
2020-04-19 05:36:04 +03: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
401bf1c928
Remove unnecessary checks on NotNull attributes
2020-02-23 14:30:08 +09:00
a6124ae499
fix typo on ScoreProcessor xmldoc
2020-01-27 08:24:15 +08:00
91735ff367
Update MathUtils namespace usages
2020-01-09 13:43:44 +09:00
b330aec03e
Drain starting at the first hitobject, not gameplay start
2019-12-27 16:16:30 +09:00
c22744de2c
Better define minimum health targets
2019-12-27 12:46:35 +09:00
fbbd16b4f0
Remove healthIncreases nullability
2019-12-27 12:39:25 +09:00
35f64d9aae
More comments
2019-12-26 17:54:31 +09:00
f5dbd57d55
Refactor drain calculation for resiliency
2019-12-26 17:36:40 +09:00
662ec2d812
Refactor gameplay-time drain limitation
2019-12-26 15:46:07 +09:00
e0c1072ab2
Add xmldocs
2019-12-26 15:01:19 +09:00
eba6371526
Re-implement taiko's accumulating health processor
2019-12-26 15:01:19 +09:00
0454c5022d
Fix some maps potentially starting with 0 health
2019-12-26 15:00:59 +09:00
90a0569660
Tweak drain values
2019-12-26 15:00:58 +09:00
522847987b
Implement break/gameplay start times
2019-12-26 15:00:58 +09:00
b348abcd07
Only drain health in non-break times
2019-12-26 14:59:49 +09:00
977fb3d1bf
Make processors and break overlay frame-stable
2019-12-26 14:59:49 +09:00
85c44b5a5a
Disable list additions during gameplay
2019-12-26 14:59:49 +09:00
bd74d086fb
Remove adjustment factor
2019-12-26 14:59:49 +09:00
70d2d8a2fa
Add adjustable target percentage
2019-12-26 14:59:49 +09:00
a4b1c79e18
Initial implementation of HP drain
2019-12-26 14:59:49 +09:00
985277da79
Add time elapsation to judgement simulation
2019-12-26 14:59:49 +09:00
90cb9d9162
Simplify scoreprocesor/healthprocessor implementations
2019-12-26 14:59:49 +09:00
00546787c8
Remove unused method
2019-12-24 16:52: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
d5994ed484
CA2208: create exceptions correctly.
2019-12-17 13:00:10 +08:00
48f1dad4aa
Remove abstract ScoreProcessor class
2019-12-11 17:25:06 +09:00
4e273fc628
Return correct allowed value for Perfect
...
Co-Authored-By: Salman Ahmed <slmanarendo1950@gmail.com >
2019-10-09 19:50:05 +09:00
9f2a648432
Add full asserts
2019-10-09 19:23:37 +09:00
51bf600ea7
Use empty hitwindows instead of null
2019-10-09 19:08:31 +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
985375d1c6
Remove private field xmldoc
2019-09-06 15:47:01 +09:00
4031f51745
More permissive IsHitResultAllow by default
2019-09-06 15:37:30 +09:00
f925e781a9
Refactor HitWindows for legibility
2019-09-06 15:24:14 +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