02Naitsirk
b31fef7e00
Implement total SR formula that better correlates with pp
2021-07-22 13:49:47 -04:00
emu1337
84fd59777c
Merge branch 'master' into diffspike-balance
2021-07-20 19:39:41 +02:00
Bartłomiej Dach
fb5d25405e
Replace calls to obsoleted GetOrDefault()
extension
2021-07-18 21:52:16 +02:00
StanR
02298c2cf4
Fix incorrect curve, move total hits factor into a separate variable for clarity
2021-07-09 00:06:05 +03:00
StanR
592d3fdf00
Cleanup
2021-07-08 11:54:58 +03:00
StanR
c67f756c75
Change approach rate bonuses to be less punishing on mid-length maps
2021-07-08 11:52:43 +03:00
emu1337
8c4e60e5cc
xmldoc and refactoring
2021-06-17 21:41:06 +02:00
emu1337
2665a873f8
fixed an error with extremely short maps
2021-06-16 19:55:19 +02:00
emu1337
41662a1643
refactored for clarity
2021-06-16 19:54:22 +02:00
emu1337
18fe05b7b5
diffspikes balance
2021-06-16 15:13:46 +02:00
emu1337
be68950c30
refactoring
2021-06-16 03:34:46 +02:00
emu1337
e987a511ba
diffspike & wide angle balance
2021-06-14 19:22:35 +02:00
emu1337
fea7b029aa
refactored diffspike nerf
2021-06-14 19:18:49 +02:00
emu1337
4c949d9829
reduced diffspike nerf
2021-06-13 21:20:08 +02:00
emu1337
3309ab2be3
balance changes
2021-06-13 15:18:35 +02:00
Dan Balasescu
35d5632355
Merge pull request #13378 from Syriiin/diffcalc/refactor/auto-properties
...
Refactor DifficultyAttributes to use auto properties over public fields
2021-06-10 18:42:11 +09:00
Dean Herbert
85abee5fc7
Remove difficulty calculator exceptions
...
I don't think there's any reason difficulty calculators shouldn't be
able to calculate for autoplays.
2021-06-09 14:33:35 +09:00
Dean Herbert
d0e9f8ef90
Replace and obsolete Ranked
flag with IsUserPlayable
2021-06-09 14:17:03 +09:00
Samuel Cattini-Schultz
f1bef989b7
Refactor DifficultyAttributes to use auto properties over public fields
2021-06-08 19:43:59 +10:00
Samuel Cattini-Schultz
f51413ead9
Refactor to pass clockrate in constructor rather than deriving from mods
2021-06-03 16:09:42 +10:00
Samuel Cattini-Schultz
85d2b1232a
Refactor to abstract out strain logic into StrainSkill class
...
While it is the case for the existing official Skills, Skill implementations shouldn't be required to conform to a strain based approach.
There are other valid approaches to calculating skill difficulty that can be supported by abstracting the strain logic into its own StrainSkill class.
2021-04-03 20:52:39 +11:00
Samuel Cattini-Schultz
66643a97b0
Add a list of mods to Skill class
...
Although this isn't necessary for existing official rulesets and calculators, custom calculators can have use cases for accessing mods in difficulty calculation.
For example, accounting for the effects of visual mods.
2021-02-20 20:37:44 +11:00
Bartłomiej Dach
1ba586a683
Revert overlooked AR<8 speed buff
...
Pull request #11107 introduced changes in osu! performance calculation,
related to a scaling coefficient applied to the speed and aim skills.
The coefficient in question was dependent on the approach rate of
a map. During a post-merge review of that PR, it was spotted that
the scaling coefficient for speed also had a 10x buff applied for AR<8,
which could reach magnitudes as large as 80% on AR0, which seems quite
exorbitant. This change was not discussed or mentioned anywhere in the
review process.
Revert back to the old multiplier of 0.01 rather than 0.1 for AR<8. The
negative slope through AR0 to 8 is retained in its previous form.
2021-01-13 17:59:29 +01:00
Dean Herbert
76ffe31855
Merge pull request #11138 from smoogipoo/stanr-nf-multiplier
...
Port StanR's NF multiplier changes
2020-12-17 18:59:46 +09:00
Dan Balasescu
8bdef0ff55
Code quality fix
...
Co-authored-by: Dean Herbert <pe@ppy.sh>
2020-12-15 13:18:41 +09:00
Xexxar
54827d4e96
fixed low 50s count still penalizing high obj count maps
2020-12-14 12:41:24 -06:00
Xexxar
1dce446c52
Merge branch 'miss-penalty-curve'
2020-12-11 10:49:31 -06:00
Xexxar
b7872a54b8
small factor rebalance
2020-12-11 10:48:53 -06:00
Xexxar
a5a66e71f9
Merge branch 'miss-penalty-curve'
2020-12-11 10:22:04 -06:00
Xexxar
abc8a2982c
swapped ^.75 buff onto speed instead of aim
2020-12-11 08:20:56 -06:00
Xexxar
c20117f0fb
Merge branch 'miss-penalty-curve'
2020-12-11 08:02:39 -06:00
Xexxar
544160798b
cleaned up mistakes and made quality changes
2020-12-11 08:01:45 -06:00
Xexxar
fd0d793c69
changed the comment to reflect the change
2020-12-10 18:51:54 -06:00
Xexxar
e45417d4fe
Merge branch 'lowacc-nerf'
2020-12-10 14:24:42 -06:00
Xexxar
1f2946d64c
changed miss penalty curve to scale with totalhits
2020-12-10 14:21:06 -06:00
Xexxar
cc5639d2b4
added unneeded whitespace
2020-12-10 09:48:40 -06:00
smoogipoo
7c2f506b79
Port StanR's NF multiplier changes
2020-12-10 17:10:29 +09:00
Xexxar
54abc3bd4d
revert aim curve and add new 50s nerf
2020-12-09 20:07:52 -06:00
Xexxar
149651dec1
Merge branch 'lowacc-nerf' of https://github.com/Xexxar/osu into lowacc-nerf
2020-12-09 13:05:11 -06:00
Xexxar
d604c51cbd
capped scaling at OD 8 to prevent overscaling
2020-12-09 13:04:14 -06:00
Xexxar
a2bd8ece10
Merge branch 'master' into lowacc-nerf
2020-12-09 12:06:33 -06:00
Xexxar
05ad9aae8d
changed curve to linear OD + acc based curve
2020-12-09 11:57:01 -06:00
Xexxar
cfc34a63bd
realized i accidently deleted the OD scaling
2020-12-09 11:21:03 -06:00
Xexxar
7e3fcfe437
fixed issue with comment
2020-12-09 10:35:48 -06:00
Xexxar
748035e80a
changes to acc scaling curve for speed and aim pp
2020-12-08 16:53:52 -06:00
smoogipoo
168ba62500
Port StanR's dynamic SO pp changes
2020-12-08 22:09:48 +09:00
smoogipoo
57b7ef88e2
Fix spacing
2020-12-08 12:12:53 +09:00
Xexxar
cf3fbe0b0b
osuDifficulty ar11 nerf
2020-12-06 18:06:36 -06:00
Lucas A
27cc6c5046
Rename HitCirclesCount -> HitCircleCount.
2020-10-03 16:52:33 +02:00
Lucas A
abd395a030
Remove unecessary using references.
2020-10-02 19:41:24 +02:00
Lucas A
cb2f695fdd
Calculate hit circle count in OsuPerformanceCalculator.
2020-10-02 19:34:41 +02:00
Lucas A
0163688a17
Remove IBeatmap from PerformanceCalculator.
2020-10-02 19:24:30 +02:00
smoogipoo
f439c1afbc
Make osu/taiko/catch use Ok+Great
2020-09-29 17:16:55 +09:00
smoogipoo
1c1afa1c96
Move MaxCombo to base DifficultyAttributes
2020-08-28 19:16:20 +09:00
Huo Yaoyuan
c20902f249
Fix double in accuracy calculation in OsuPerformanceCalculator.
2020-05-18 18:22:03 +08:00
Huo Yaoyuan
373aae0610
Use int for total hits in OsuPerformanceCalculator.
2020-05-18 17:45:32 +08:00
smoogipoo
1865cd0762
Fix possible exceptions in performance calculators
2020-05-18 15:10:59 +09:00
Huo Yaoyuan
9ddfdab27a
Remove meaningless Convert calls.
2019-12-03 20:47:00 +08:00
Dan Balasescu
c6a85a11bd
Merge branch 'master' into sharpen
2019-11-27 17:09:11 +09:00
Huo Yaoyuan
9425e80a5d
Unify to use double in performance calculators.
2019-11-26 18:34:23 +08:00
Huo Yaoyuan
7d7b9e36b2
Use compound assignment.
2019-11-12 19:53:50 +08:00
Dean Herbert
f925e781a9
Refactor HitWindows for legibility
2019-09-06 15:24:14 +09:00
smoogipoo
4c150839c0
Fix potential diffcalc hitwindow nullref
2019-09-02 17:38:58 +09:00
HoLLy
7e9f5a0939
Add Skills to DifficultyAttributes
2019-05-29 11:22:51 +02:00
Dean Herbert
612db31c38
Apply newline additions
2019-04-01 12:16:32 +09:00
Dean Herbert
2dbf7d122c
Merge branch 'master' into use-pattern-matching
2019-02-28 14:53:07 +09:00
Dean Herbert
e2c6a8bc07
Use pattern matching wherever possible
2019-02-28 14:35:00 +09:00
Dean Herbert
26d53d06a9
Fix remaining issues
2019-02-28 13:31:40 +09:00
smoogipoo
0380293098
Add beatmap argument
2019-02-19 17:58:02 +09:00
smoogipoo
21f9c813b2
Fix mods not being populated
2019-02-19 17:46:18 +09:00
smoogipoo
8459cf6ed0
Missed argument
2019-02-19 17:43:12 +09:00
smoogipoo
f19a52b960
Rename argument
2019-02-19 17:40:35 +09:00
smoogipoo
37f9ac6eca
Populate mods too
2019-02-19 17:39:30 +09:00
smoogipoo
847f7d8658
Adjust with PopulateAttributes() removal
2019-02-19 17:38:33 +09:00
smoogipoo
ade5763160
Fix post-merge errors
2019-02-19 14:34:02 +09:00
smoogipoo
659ec267b6
Fix spinners increasing strain
2019-02-18 14:58:33 +09:00
smoogipoo
c930cc5fb5
Fix incorrect OsuDifficultyHitObject instantiation
2019-02-18 14:58:13 +09:00
smoogipoo
fd70269021
Implement new difficulty calculator for Rulesets.Osu
2019-02-18 14:58:03 +09:00
smoogipoo
a8faa942a6
Implement new difficulty calculator structure
2019-02-18 14:49:43 +09:00
Kyle Chang
cf91b882c8
Fix slider tail evaluation in osu difficulty calculator
...
The slider tail circle was already included as a nested hit object and is judged before the end of the slider's actual duration, so using the slider end time leads to an inaccurate travel distance and end position.
2019-02-03 23:49:05 -05:00
smoogipoo
e9ddf232f0
Add touchdevice mod to performance calculation
2019-01-31 11:51:40 +09:00
Dean Herbert
8d4232af45
Formatting and minor optimisations
2019-01-29 16:35:20 +09:00
Dean Herbert
18512458e8
Merge branch 'master' into xexxar-angles
2019-01-29 15:59:04 +09:00
Dean Herbert
8617aaa2a7
Update licence header (and remove year)
2019-01-24 17:43:03 +09:00
smoogipoo
baae53d784
Merge branch 'diffcalc-fixes' into xexxar-angles
2019-01-20 22:19:50 +09:00
smoogipoo
3db23898df
Merge remote-tracking branch 'origin/master' into diffcalc-fixes
2019-01-20 13:27:42 +09:00
smoogipoo
a8e9adafdb
Fix final section not being saved
2019-01-17 12:51:49 +09:00
smoogipoo
117c514479
Fix lazy slider calculation inaccuracy
...
What were we doing... On /b/1221540 stable's repeat points happen 90% through the length of each span! We should use lazer's more accurate calculations.
2019-01-15 19:07:25 +09:00
VINXIS
a09615144e
Kill White Space
2019-01-09 01:47:39 -07:00
VINXIS
dfe35f850c
Add rebalances to lazer performance calc
2019-01-09 01:42:48 -07:00
smoogipoo
722210d8bb
Merge remote-tracking branch 'origin/master' into xexxar-angles
2019-01-04 23:52:23 +09:00
smoogipoo
77e6f4ab92
Rebalance
2018-12-27 18:41:42 +09:00
VINXIS
227c63dd1c
numtotalhits -> totalHits
2018-12-23 22:23:43 -07:00
VINXIS
8020ac26fb
MBMasher's FL change
2018-12-23 22:14:28 -07:00
smoogipoo
5f0ab0ed7f
Update with vinxis' latest code
2018-12-24 12:41:04 +09:00
smoogipoo
c43c15a557
Multiply previous travel distance by 8
2018-12-23 16:28:19 +09:00
smoogipoo
9fcc727e0d
Fix TravelDistance not being calculated
2018-12-23 16:26:23 +09:00
smoogipoo
c848c83d0d
Refactor for readability + performance
2018-12-22 09:56:33 +09:00
smoogipoo
8546fedd4f
Implement vinxis/xexxar's adjustments
2018-12-22 09:31:30 +09:00
smoogipoo
be476c58d7
Adjust with latest rebalancings
2018-12-21 22:52:27 +09:00
smoogipoo
5bd16f9a7c
Add scaling factor
2018-12-21 15:16:00 +09:00
smoogipoo
38441759a7
Use angle projections
2018-12-21 14:52:43 +09:00
smoogipoo
3acbf75beb
Adjust threshold
2018-12-21 13:48:10 +09:00
smoogipoo
1c44e19066
Adjust scaling factor
2018-12-19 13:53:47 +09:00
smoogipoo
0fee76c95c
Fix merge error
2018-12-19 13:45:33 +09:00
smoogipoo
1972f1f279
Fix incorrect angle being used (at object vs into object)
2018-12-19 13:45:33 +09:00
smoogipoo
162774ce27
Make angles unsigned
2018-12-19 13:45:33 +09:00
smoogipoo
434d7d1809
Replace piecewise linear function + rebalance
2018-12-19 13:45:33 +09:00
smoogipoo
9ad7970167
Adjust computations to return sane values
2018-12-19 13:45:33 +09:00
smoogipoo
f4eabacd15
Implement angle assessment
2018-12-19 13:45:33 +09:00
smoogipoo
e7da5b0400
Add the [200 .. 300] bpm speed bonus
2018-12-19 13:45:33 +09:00
smoogipoo
00a4d60e89
Make sure distance is clamped to sane values
2018-12-19 13:45:33 +09:00
smoogipoo
47721f7a07
Adjust base value
2018-12-19 13:45:33 +09:00
smoogipoo
d74652a4f7
Replace piecewise linear function
2018-12-19 13:45:33 +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
smoogipoo
f27bd3ef3e
OpenTK -> osuTK
2018-11-20 17:14:59 +09:00
Dean Herbert
bb2f8deb18
ControlPoint -> PathControlPoint
...
Also Curve -> Path.
2018-11-01 03:56:51 +09:00
smoogipoo
1cf6cd10bb
Fix slider travel distances sometimes not being considered
2018-10-18 11:29:50 +09:00
smoogipoo
ec9f23ab73
Make IBeatmap.HitObjects an IReadOnlyList
2018-10-11 19:53:07 +09:00
smoogipoo
7d20efed2c
Fix missing stack position
2018-10-11 13:53:29 +09:00
smoogipoo
f675c93935
Stably-sort hitobjects
2018-10-10 23:11:28 +09:00
smoogipoo
4e37b5c4a7
50ms cap shouldn't be included in the strain decay
2018-10-10 18:53:54 +09:00
smoogipoo
d8f77feddd
Fix using the wrong slider's travel distance
2018-10-10 18:52:57 +09:00
smoogipoo
03a9511399
Apparently stable does use stacking
2018-10-10 18:08:46 +09:00
smoogipoo
d6784c818e
Fix jump/travel distances in some scenarios
2018-10-10 11:49:54 +09:00
smoogipoo
0a3be0d253
Adjust comments slightly
2018-10-09 12:03:47 +09:00
smoogipoo
9facf707be
Add diffcalc beatmap decoder
2018-10-09 11:49:24 +09:00
smoogipoo
f8eaccddda
Stable doesn't use stacked positions
2018-10-08 18:37:49 +09:00
smoogipoo
0116db95d0
Fix progress calculation
2018-10-08 18:37:30 +09:00
smoogipoo
35f45e74dc
Calculate scaled positions prior to square-rooting
2018-10-08 17:39:10 +09:00
smoogipoo
1ad5090ad6
Separate travel distance from jump distance
2018-10-08 17:38:12 +09:00
smoogipoo
61e7ada977
Use ints + fix position calculation
2018-10-08 17:36:06 +09:00
smoogipoo
da97600076
Fix inaccurate section lengths for first hitobject
2018-10-08 16:46:58 +09:00
Dean Herbert
1d6609d9f3
Add common custom words to dotsettings dictionary
...
Also fixes some typos and reduces spelling suggestions to hints.
2018-07-05 15:54:41 +09:00
smoogipoo
48989df6eb
Make sure that 0 SR is returned when there are no hitobjects
2018-06-21 12:04:14 +09:00
smoogipoo
41abd5990c
Move osu! difficulty attributes to OsuDifficultyCalculator
2018-06-14 16:27:05 +09:00
smoogipoo
af218b3d8d
No need to use properties
2018-06-14 16:13:21 +09:00
smoogipoo
8f7334874c
Fix up performance calculators
2018-06-14 16:04:48 +09:00
smoogipoo
47fc18d7c4
Adjust OsuDifficultyCalculator in-line with changes
2018-06-14 15:45:16 +09:00
smoogipoo
83ff47ec80
Rewrite difficulty mod combinations
2018-06-06 16:20:17 +09:00
smoogipoo
d850e34003
Actually cast to int
2018-05-26 09:25:16 +09:00
smoogipoo
215cc9fba7
Change all performance calculators to use int hitwindows
...
Has a pretty large (>6) effect on pp for some maps.
2018-05-25 20:07:14 +09:00
smoogipoo
765a50d007
Remove 0.5 offsets
...
Checked up against DB values + server-side build versions, and these 0.5s don't seem to exist. Brings calculations more in-line with osu!stable.
2018-05-25 20:05:53 +09:00
smoogipoo
1f37dca7b7
Fix HR / EZ being applied twice to AR
2018-05-19 14:47:06 +09:00
smoogipoo
eba1d309b6
Fix incorrect namespace of OsuPerformanceCalculator
2018-05-17 16:58:22 +09:00
smoogipoo
cf08293be1
Remove extra newline
2018-05-15 21:49:44 +09:00
smoogipoo
4101b8ddde
Merge remote-tracking branch 'origin/master' into more-diffcalc-improvements
2018-05-15 21:31:58 +09:00
smoogipoo
995fda9b6f
Move base classes to osu.Game.Rulesets.Difficulty namespace
2018-05-15 17:38:08 +09:00
smoogipoo
9fd972e0a3
Rename OsuDifficulty -> Difficulty
2018-05-15 17:36:29 +09:00