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
Salman Ahmed
7fab07670e
Remove no longer necessary usage of IsBreakTime
2020-04-05 21:35:09 +03:00
Salman Ahmed
e71a9668a5
Disallow draining in non-draining sections
2020-04-05 21:34:53 +03: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
iiSaLMaN
883102ee5d
Move score multiplier logic inside score calculation
2019-08-12 16:40:52 +03:00
Dean Herbert
29870c773c
Merge branch 'master' into stop-counting-to-score-after-fail
2019-08-09 14:16:34 +09:00
smoogipoo
a9c4b5ac4e
Add tests
2019-08-09 14:04:56 +09:00
smoogipoo
33f4b628a5
Make HasFailed private set
2019-08-09 13:42:02 +09:00
smoogipoo
88fa06efba
Refactor as proposed
2019-08-09 13:38:04 +09:00
iiSaLMaN
566d874641
Prevent failing when reverting to a hasFailedAtJudgement
2019-08-08 15:25:07 +03:00
Dean Herbert
a345955f45
Add mentions linking ScoreProcessor apply/revert methods together
2019-08-08 13:57:04 +09:00
iiSaLMaN
c77e6074f6
Disallow adding to score after the player has failed
2019-08-07 19:58:26 +03:00
smoogipoo
e57663b39c
Apply mod score multipliers
2019-07-31 17:55:22 +09:00
smoogipoo
6bfac9f8e4
Remove protected ctor
2019-07-31 17:50:13 +09:00
David Zhao
de59e038ac
Prevent non-combo affecting judgements from triggering sudden death
2019-06-21 14:29:16 +09:00
Paul Teng
1c3b768266
Use Precision.AlmostBigger
2019-05-12 09:02:22 -04:00
Paul Teng
1a6c8e91a5
Compare Health with small value
2019-05-12 08:44:20 -04:00
David Zhao
5c096cbc91
Revert mirroring condition too
2019-05-09 18:59:00 +09:00
David Zhao
9e0af723cc
Split out affectscombo change
2019-05-09 18:56:19 +09:00
David Zhao
b0e34d86d5
Subtract a result from count if its been reverted
2019-05-09 16:16:20 +09:00
David Zhao
39fb5712f1
Only combo-incrementing results add to result count
2019-05-09 15:31:37 +09:00
smoogipoo
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
iiSaLMaN
148f4c4ce0
Pass Rank.Value instead
...
Passing Rank.Value along each iteration instead of calculating.
2019-04-30 18:49:31 +03:00
iiSaLMaN
b08fb5136e
Merge branch 'master' into sh-xh-grading-2
2019-04-26 10:38:10 +03:00
KingLuigi4932
619071b7ee
Unnecessary 'using' directive
2019-04-25 14:23:00 +03:00
KingLuigi4932
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
KingLuigi4932
c6b3197dd0
Add AdjustRank and use it in Hidden Mod
2019-04-25 13:56:57 +03:00
smoogipoo
0bd35ab7bb
Turn on warnings, resolve issues
2019-04-25 17:36:17 +09:00
iiSaLMaN
a6b60a2fc2
Merge branch 'master' into sh-xh-grading-2
2019-04-22 19:39:20 +03:00
smoogipoo
aeae759fcd
Rename method + add xmldoc
2019-04-22 18:08:15 +09:00
smoogipoo
4edb17a88a
Make hp work + cleanup
2019-04-22 18:02:49 +09:00
smoogipoo
fbb4e9df04
Implement hp at base ScoreProcessor
2019-04-22 16:51:38 +09:00
iiSaLMaN
cfb3c38c3a
Fix.
2019-04-22 10:14:19 +03:00
iiSaLMaN
9030935030
Fix AppVeyor Errors
2019-04-22 10:07:45 +03:00
iiSaLMaN
64429aa968
Fix AppVeyor Errors
2019-04-22 09:59:51 +03:00
iiSaLMaN
7a385e56ec
Fix AppVeyor Errors
2019-04-22 09:58:29 +03:00
iiSaLMaN
c784bc4418
Remove whitespaces
2019-04-22 06:15:37 +03:00
iiSaLMaN
de542ca202
Remove bindable and use property
2019-04-22 06:14:14 +03:00
iiSaLMaN
cff319e0d8
Fix issue
2019-04-21 18:12:50 +03:00
iiSaLMaN
b200142afb
Make AdjustRank Bindable and fix issue
2019-04-21 17:55:01 +03:00
iiSaLMaN
73da423639
Adjust rank
2019-04-21 15:58:19 +03:00
Dean Herbert
c39c37a18d
Apply more missed cases
2019-04-01 12:44:46 +09:00
Dean Herbert
3b7a76aa4e
Fix typo
2019-03-20 11:22:34 +09:00
Dean Herbert
baea7230bc
Rename RulesetContainer to DrawableRuleset
2019-03-19 23:47:31 +09:00
Dean Herbert
c8793911a8
Enable more stringent inspectcode style inspections
2019-02-27 21:25:40 +09:00
smoogipoo
8a943a6e65
Fix scores being stored as ints
2019-02-26 13:10:59 +09:00
smoogipoo
d8c55bc729
Adjust namespaces
2019-02-21 19:05:52 +09:00
smoogipoo
bca347427f
Update with framework bindable changes
2019-02-21 18:56:34 +09:00
Dean Herbert
2d7c23dd9f
Merge remote-tracking branch 'upstream/master' into fix-replay-import-statistics
2019-02-04 12:15:53 +09:00
Dean Herbert
8617aaa2a7
Update licence header (and remove year)
2019-01-24 17:43:03 +09:00
Dean Herbert
aec3753863
Fix imported replays having excess statistics
2019-01-03 14:01:20 +09:00
smoogipoo
be86281c72
Fix score results not populated
2018-12-28 00:24:02 +09:00
smoogipoo
338b95dd63
Fix none result getting included
2018-12-27 22:48:24 +09:00
Dean Herbert
99ed009838
Fix extra hit result types showing on ranking screen
2018-12-27 22:31:40 +09:00
Dean Herbert
fb10d15870
Populate statistics for all rulesets' scores
2018-12-27 21:52:09 +09:00
smoogipoo
50b51a168e
Always submit standardised scores
2018-12-27 21:12:32 +09:00
Dean Herbert
f9fb6dc39b
Remove health from ScoreInfo
2018-12-01 00:17:05 +09:00
Dean Herbert
af3ef9a089
Fix some data types on ScoreInfo
2018-11-30 20:43:38 +09:00
Dean Herbert
831cd3ed59
ScoreInfo scoreInfo -> ScoreInfo score
2018-11-30 15:18:52 +09:00
smoogipoo
219929eb47
Score -> ScoreInfo
2018-11-28 18:33:01 +09:00
smoogipoo
5fd6e6ca77
Re-namespacing
2018-11-28 16:12:57 +09:00
Dean Herbert
d3eb24e70a
Fix score retrieval no longer working
2018-09-28 18:29:49 +09:00
Paul Teng
319ed1bf0f
Reorder if statement
2018-09-24 21:35:13 -04:00
Paul Teng
dd36b6a381
Remove unused field storage
2018-09-24 21:08:58 -04:00
Paul Teng
b95cc798b2
Remove unused fallback
2018-09-24 20:56:18 -04:00
Paul Teng
62df0ec7d4
Handle external files with File instead
2018-09-24 07:16:19 -04:00
smoogipoo
60c94a8ea3
Fix ScoreProcessor.ApplyBeatmap never being called
2018-08-06 12:42:54 +09:00
smoogipoo
2a54b5b78d
ResetResult -> RevertResult
2018-08-06 12:29:22 +09:00
smoogipoo
c48a4d9993
Add exception
2018-08-06 12:29:12 +09:00
smoogipoo
3a7488767c
Make HitObject not store the judgement
2018-08-06 11:50:18 +09:00
smoogipoo
ab642b563f
CreateJudgementResult -> CreateResult
2018-08-06 11:07:41 +09:00
smoogipoo
5fd4ed2f4e
Rename judgement-related methods/events + commenting
2018-08-06 10:55:25 +09:00
smoogipoo
2a4994e5ce
Make hitobjects only have one judgement + result
2018-08-03 15:38:48 +09:00
smoogipoo
8d81e66f88
Fix osu score processor crashing
2018-08-02 21:07:11 +09:00
smoogipoo
3619290c34
Split out judgement definition from judgement result
2018-08-02 20:35:54 +09:00
smoogipoo
41512667a8
Require all judgements to be present for map completion
2018-08-01 19:51:24 +09:00
Dean Herbert
0940715631
Merge branch 'master' into catch-scoring
2018-06-29 14:59:15 +09:00
Crusensis
fbc0cd6f5f
Split AffectsCombo into IsBonus
2018-06-09 18:14:33 -07:00
Dean Herbert
86fb9666b2
Rename "Exponential" to "Classic"
2018-06-10 01:45:05 +09:00
Dean Herbert
cc37a355d2
Add comment about matching stable scoring
...
Also updated equation to be close to what is expected
2018-06-10 01:44:46 +09:00
Dean Herbert
0b4f5af52e
Add setting to toggle standardised or exponential scoring display
...
Also adjusts exponential scoring to be closer to stable. Log wasn't cutting it.
2018-06-08 03:17:12 +09:00
smoogipoo
995fda9b6f
Move base classes to osu.Game.Rulesets.Difficulty namespace
2018-05-15 17:38:08 +09:00
smoogipoo
1ee68c1c54
Make LegacyScoreParser abstract
2018-05-15 15:28:46 +09:00
smoogipoo
fe2ea17e7f
Allow subclasses of LegacyScoreParser to specify beatmap/ruleset retrieval
2018-05-15 11:42:40 +09:00
smoogipoo
a81921118d
Strip whitespaces
2018-05-14 11:54:11 +09:00
smoogipoo
e1b8a1589b
Fix TimeRate not being considered for performance calculation
2018-05-14 11:15:14 +09:00
smoogipoo
7e7a5f8964
Fix score accuracy not being populated
2018-05-11 21:49:10 +09:00
smoogipoo
8ca67f63ec
Fix score statistics not being read
2018-05-11 21:49:06 +09:00
smoogipoo
9128e64c9a
Rename OriginalBeatmap back to Beatmap
2018-05-07 10:29:38 +09:00
smoogipoo
03a5df84c6
Initial rework of beatmap conversion process
2018-04-19 22:04:12 +09:00
smoogipoo
66b3b295e7
Use IBeatmap wherever possible
2018-04-19 20:44:38 +09:00
tgi74000
9b36cf2066
Review changes
2018-04-16 14:14:40 +02:00
tgi74000
73ba8e1c87
CI: remove unused directive
2018-04-13 16:10:01 +02:00
tgi74000
b23b0a445b
Add support for replay mods
2018-04-13 15:41:35 +02:00
Dean Herbert
32a74f95a5
Normalize all the line endings
2018-04-13 18:26:38 +09:00
Dean Herbert
9f644571ea
Merge branch 'master' into mania-difficulty
2018-03-12 13:31:48 +09:00
smoogipoo
3cd203699b
Apply beatmap converter mods in PerformanceCalculator
2018-03-12 13:09:19 +09:00
smoogipoo
e869f7d05b
Fix converted frames not getting time values
2018-03-01 02:28:15 +09:00
smoogipoo
cf42d5bbd5
Remove mostly-unused Score parameter
2018-03-01 02:28:14 +09:00
smoogipoo
c9c65cab53
CreateReplayFrame -> CreateConvertibleReplayFrame
2018-03-01 02:28:14 +09:00
smoogipoo
ab4d7fa46e
Remove IScoreParser interface
...
It's too early for this.
2018-03-01 02:28:14 +09:00
smoogipoo
a3c7755ade
Implement a conversion process for ReplayFrames
2018-03-01 02:28:14 +09:00
Dean Herbert
a0a65abcac
Crentalise all import logic
2018-02-15 14:22:39 +09:00
Dean Herbert
edc3638175
DatabaseWriteUsage
2018-02-12 17:55:11 +09:00
Dean Herbert
1cc7c23982
Hits -> JudgedHits
2018-02-01 18:08:15 +09:00
smoogipoo
379688e2f2
Add todo
2018-01-17 20:15:17 +09:00
smoogipoo
da22b3ec49
No more sorting
2018-01-17 20:12:39 +09:00