Commit Graph

260 Commits

Author SHA1 Message Date
smoogipoo 6d3a24ff01 Reorder tick hit results 2020-05-04 15:55:42 +09:00
smoogipoo f42be7a6d7 Merge branch 'master' into sorcerer-catch-changes 2020-05-04 15:25:09 +09:00
Salman Ahmed 6f233917b1 Centralize updating HasCompleted bindable logic 2020-04-20 06:40:51 +03:00
Salman Ahmed fc6c245de5 Replace all judged event logic with HasCompleted bindable 2020-04-19 05:36:04 +03:00
smoogipoo ae210d567d Add temporary solution for tick hit/miss count 2020-04-16 18:16:08 +09:00
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
Dean Herbert 401bf1c928 Remove unnecessary checks on NotNull attributes 2020-02-23 14:30:08 +09:00
unknown a6124ae499 fix typo on ScoreProcessor xmldoc 2020-01-27 08:24:15 +08:00
smoogipoo 91735ff367 Update MathUtils namespace usages 2020-01-09 13:43:44 +09:00
Dean Herbert b330aec03e Drain starting at the first hitobject, not gameplay start 2019-12-27 16:16:30 +09:00
smoogipoo c22744de2c Better define minimum health targets 2019-12-27 12:46:35 +09:00
smoogipoo fbbd16b4f0 Remove healthIncreases nullability 2019-12-27 12:39:25 +09:00
smoogipoo 35f64d9aae More comments 2019-12-26 17:54:31 +09:00
smoogipoo f5dbd57d55 Refactor drain calculation for resiliency 2019-12-26 17:36:40 +09:00
smoogipoo 662ec2d812 Refactor gameplay-time drain limitation 2019-12-26 15:46:07 +09:00
smoogipoo e0c1072ab2 Add xmldocs 2019-12-26 15:01:19 +09:00
smoogipoo eba6371526 Re-implement taiko's accumulating health processor 2019-12-26 15:01:19 +09:00
smoogipoo 0454c5022d Fix some maps potentially starting with 0 health 2019-12-26 15:00:59 +09:00
smoogipoo 90a0569660 Tweak drain values 2019-12-26 15:00:58 +09:00
smoogipoo 522847987b Implement break/gameplay start times 2019-12-26 15:00:58 +09:00
smoogipoo b348abcd07 Only drain health in non-break times 2019-12-26 14:59:49 +09:00
smoogipoo 977fb3d1bf Make processors and break overlay frame-stable 2019-12-26 14:59:49 +09:00
smoogipoo 85c44b5a5a Disable list additions during gameplay 2019-12-26 14:59:49 +09:00
smoogipoo bd74d086fb Remove adjustment factor 2019-12-26 14:59:49 +09:00
smoogipoo 70d2d8a2fa Add adjustable target percentage 2019-12-26 14:59:49 +09:00
smoogipoo a4b1c79e18 Initial implementation of HP drain 2019-12-26 14:59:49 +09:00
smoogipoo 985277da79 Add time elapsation to judgement simulation 2019-12-26 14:59:49 +09:00
smoogipoo 90cb9d9162 Simplify scoreprocesor/healthprocessor implementations 2019-12-26 14:59:49 +09:00
smoogipoo 00546787c8 Remove unused method 2019-12-24 16:52:49 +09:00
smoogipoo 50fa6c5f77 Update score on reverts 2019-12-19 20:18:23 +09:00
smoogipoo 04c3a6f8a4 Move more properties to the base class 2019-12-19 20:18:17 +09:00
smoogipoo 76f2fb378f Separate score and health parts of ScoreProcessor 2019-12-19 20:03:14 +09:00
smoogipoo 1da8cc8690 Encapsulate common logic of ScoreProcessor 2019-12-19 19:03:27 +09:00
Huo Yaoyuan d5994ed484 CA2208: create exceptions correctly. 2019-12-17 13:00:10 +08:00
smoogipoo 48f1dad4aa Remove abstract ScoreProcessor class 2019-12-11 17:25:06 +09:00
Dean Herbert 4e273fc628
Return correct allowed value for Perfect
Co-Authored-By: Salman Ahmed <slmanarendo1950@gmail.com>
2019-10-09 19:50:05 +09:00
Dean Herbert 9f2a648432 Add full asserts 2019-10-09 19:23:37 +09:00
Dean Herbert 51bf600ea7 Use empty hitwindows instead of null 2019-10-09 19:08:31 +09:00
Dean Herbert 07fce8397b Move reset call to ctor 2019-09-09 14:24:17 +09:00
iiSaLMaN be803fa921 Reset score processor before starting the simulation 2019-09-07 18:15:49 +03:00
iiSaLMaN 55b2bc1ed5 Set Health default value to 1 2019-09-07 18:03:04 +03:00
Dean Herbert b89fb5cdf7 Fix failing test 2019-09-06 16:51:30 +09:00
Dean Herbert 6ce36bd39e
Merge branch 'master' into stop-counting-to-score-after-fail 2019-09-06 16:12:53 +09:00
Dean Herbert 985375d1c6 Remove private field xmldoc 2019-09-06 15:47:01 +09:00
Dean Herbert 4031f51745 More permissive IsHitResultAllow by default 2019-09-06 15:37:30 +09:00
Dean Herbert f925e781a9 Refactor HitWindows for legibility 2019-09-06 15:24:14 +09:00
smoogipoo 0c73c5acf3 Expose full hitobject rather than hit windows 2019-09-02 17:14:40 +09:00
smoogipoo f2bdf94a1d Add HitWindows to JudgementResult to indicate timing errors 2019-09-02 16:28:14 +09:00
smoogipoo 2945fef62d Expose HasCompleted from ScoreProcessor 2019-09-02 13:04:30 +09:00
iiSaLMaN 439d825dd1 Disallow adding bonus judgements' result to statistics 2019-08-20 18:39:29 +03:00