1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-21 20:07:25 +08:00
Commit Graph

645 Commits

Author SHA1 Message Date
Xexxar
a8d4d7ca2d Merge branch 'aim-refactor-velocity' into aim-refactor-ppcalc 2021-11-03 16:15:40 +00:00
Xexxar
d1ec245685 Merge branch 'aim-refactor-slider' into aim-refactor-velocity 2021-11-03 16:15:17 +00:00
Xexxar
7fc60a840e added radial leniency to movementdistance 2021-11-03 16:14:45 +00:00
Xexxar
8fdffbf08f adjusted global multiplier to better balance values against inflation 2021-11-03 16:02:23 +00:00
Xexxar
2d48301223 Merge branch 'aim-refactor-velocity' into aim-refactor-ppcalc 2021-11-03 15:55:01 +00:00
Xexxar
d74e181531 renamed prev to last 2021-11-03 15:54:49 +00:00
Xexxar
b9fc355f74 Merge branch 'aim-refactor-slider' into aim-refactor-velocity 2021-11-03 15:53:41 +00:00
Xexxar
b3b44c0795 merged in aim-base 2021-11-03 15:52:48 +00:00
Xexxar
9afca5c5b6 rewrote slider algorithm to be based on leniency and stored current cursor positions 2021-11-03 15:38:23 +00:00
smoogipoo
133218ecbb Document special MovementDistance for sliders, ensure always has a value 2021-11-03 01:04:07 +09:00
smoogipoo
b0d9c0eca3 Refactor variables for readability in angle calculations 2021-11-03 00:16:33 +09:00
smoogipoo
93c03b9d37 Refactor documentation around velocity calculations 2021-11-03 00:04:19 +09:00
smoogipoo
7e0629774b Rename variables for readability
In particular, "last" vs "prev" can get confusing because they mean the
same thing.
2021-11-02 23:51:10 +09:00
smoogipoo
5454de7ae8 Refactor xmldocs 2021-11-02 23:47:20 +09:00
smoogipoo
be8a1f60c0 Apply styling changes 2021-11-02 23:33:51 +09:00
Xexxar
9f5a7526ed merge in ppy/master 2021-10-28 14:47:28 +00:00
Xexxar
219880d719 add in stanrs review 2021-10-28 14:45:45 +00:00
Xexxar
bc98e8c97c Merge branch 'aim-refactor-velocity' into aim-refactor-ppcalc 2021-10-27 18:10:11 +00:00
Xexxar
09d4ed149c merged latest slider 2021-10-27 18:09:50 +00:00
Xexxar
7eb7d12589 updated sliders to handle increased tick rates better 2021-10-27 18:08:30 +00:00
Xexxar
626db1f274 updated sliders to handle increased tick rates better 2021-10-27 18:08:06 +00:00
Xexxar
ddf87316df updated to add nerf for repeated acute angles 2021-10-27 16:30:17 +00:00
Dean Herbert
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
Xexxar
ceb2bdece9 Merge branch 'aim-refactor-velocity' into aim-refactor-ppcalc 2021-10-22 17:22:00 +00:00
Xexxar
b6e7d898f1 constant didnt update during last merge 2021-10-22 17:21:34 +00:00
Xexxar
19fb848ed2 Merge branch 'aim-refactor-velocity' into aim-refactor-ppcalc 2021-10-22 17:19:04 +00:00
Xexxar
b9748399c4 added velocity adjustment for sliders 2021-10-22 17:18:34 +00:00
Xexxar
06e7c3cd04 Merge branch 'aim-refactor-slider' into aim-refactor-velocity 2021-10-22 17:17:36 +00:00
Xexxar
62197fec3a updated sliders for rebalance again 2021-10-22 17:17:19 +00:00
Xexxar
ce8899e7c8 Merge branch 'aim-refactor-velocity' into aim-refactor-ppcalc 2021-10-21 21:38:37 +00:00
Xexxar
5ee2272d8a added slider changes 2021-10-21 21:37:38 +00:00
Xexxar
85f28a843a adjusted sliders further 2021-10-21 21:30:00 +00:00
Xexxar
ac22d31b34 Merge branch 'aim-refactor-velocity' into aim-refactor-ppcalc 2021-10-21 19:58:55 +00:00
Xexxar
534d1e72ce merged sliders 2021-10-21 19:58:41 +00:00
Xexxar
ec06e53212 further rebalancing of sliders 2021-10-21 19:58:02 +00:00
Xexxar
b51a8dead5 Merge branch 'aim-refactor-velocity' into aim-refactor-ppcalc 2021-10-21 19:29:30 +00:00
Xexxar
be2f9603c9 merged slider updates 2021-10-21 19:29:06 +00:00
Xexxar
e3a0e4749e removed excess acute anglebuff and buffed sliders to comp 2021-10-21 19:28:06 +00:00
Xexxar
55809c43ee Merge branch 'aim-refactor-velocity' into aim-refactor-ppcalc 2021-10-21 18:38:59 +00:00
Xexxar
692c7b4be1 Merge branch 'aim-refactor-slider' into aim-refactor-velocity 2021-10-21 18:38:32 +00:00
Xexxar
b1c18d1f36 Merge branch 'aim-refactor-base' into aim-refactor-slider 2021-10-21 18:37:22 +00:00
Xexxar
2f8972b529 reverted overwritten file 2021-10-21 18:37:06 +00:00
Xexxar
ca3259d4e9 Merge branch 'aim-refactor-velocity' into aim-refactor-ppcalc 2021-10-21 17:22:33 +00:00
Xexxar
fd991296fa Merge branch 'aim-refactor-slider' into aim-refactor-velocity 2021-10-21 17:22:09 +00:00
Xexxar
613a548583 Merge branch 'aim-refactor-base' into aim-refactor-slider 2021-10-21 17:21:52 +00:00
Xexxar
d6aa2fe6e4 identified case with spinner where / 0 could theoretically be possible 2021-10-21 17:21:34 +00:00
Xexxar
a23330c49b removed comment 2021-10-21 17:21:03 +00:00
Xexxar
dba0ee0b1d added ppcalc changes to build 2021-10-21 17:18:24 +00:00
Xexxar
81e817f881 updated to latest version of velchange 2021-10-21 17:07:56 +00:00
Xexxar
276b4afdb0 removed unnecessary test code 2021-10-21 16:14:31 +00:00
Xexxar
4fe007aa2e new slider travel dist algorithm 2021-10-21 16:08:35 +00:00
Xexxar
bef6e100fa Merge branch 'aim-refactor-base' into aim-refactor-slider 2021-10-21 16:01:38 +00:00
Xexxar
cb605f9156 removed ppCalc changes and sliderabuseChecks 2021-10-21 16:00:57 +00:00
Xexxar
750c5a0181 Merge remote-tracking branch 'ppy/master' into aim-refactor-base 2021-10-21 15:45:31 +00:00
Xexxar
c074304ec3 updated to latest version of base 2021-10-17 04:48:57 +00:00
Xexxar
14d405786e resolved nans and added stacked slider fix 2021-10-17 03:56:53 +00:00
smoogipoo
30eb08d394 Merge branch 'master' into aim-refactor-base 2021-10-17 12:00:39 +09:00
smoogipoo
80827b741f Merge branch 'master' into effective-miss-count 2021-10-16 21:43:34 +09:00
StanR
ccaac97794 Clamp comboBasedMissCount 2021-10-16 14:50:15 +03:00
StanR
c8d99e68a5 Remove calculation for scores with combo above threshold, avoid division by zero 2021-10-15 16:51:05 +03:00
smoogipoo
1a18d3598a Merge branch 'master' into fix-invisible-sinners 2021-10-15 20:45:40 +09:00
StanR
205d95e8c6 Approximate amount of effective misses using combo 2021-10-13 20:04:34 +03:00
Xexxar
4edf559408 adjusted constant to 1.5 from 2.0 for acute 2021-10-13 16:45:58 +00:00
Xexxar
cde4b0b17c forgot to add double delcaration, remember to test 2021-10-13 16:25:16 +00:00
Xexxar
0b794728ea updated to latest version with slider calc 2021-10-13 16:17:49 +00:00
Xexxar
0292fe1c83 removed residual code leftover 2021-10-13 16:04:39 +00:00
Xexxar
200149c9d7 updated to newly refactored aim 2021-10-13 15:41:24 +00:00
emu1337
d7483a6c5d changed pow to exp function 2021-10-11 19:58:03 +02:00
emu1337
aab3277024 changed speed acc scaling to be closer to worst case scenario 2021-10-11 03:12:57 +02:00
Xexxar
56daac73f2 merged ppy/master 2021-10-10 17:12:49 +00:00
Dean Herbert
b8fe744d2b
Merge pull request #15008 from stanriders/remove-int-casts
Remove int casts in difficulty calculation
2021-10-10 16:48:37 +09:00
smoogipoo
e7a3467655 Merge branch 'master' into skillsrework 2021-10-10 16:16:54 +09:00
StanR
abd32e30f1
Update osu.Game.Rulesets.Osu/Difficulty/Preprocessing/OsuDifficultyHitObject.cs
Co-authored-by: Liam DeVoe <orionldevoe@gmail.com>
2021-10-09 21:11:24 +03:00
StanR
3b0b8707fe Reduce nesting, check all objects for spinners 2021-10-09 20:28:42 +03:00
StanR
b72b071c25 Fix instant spinners giving insane amounts of strain 2021-10-09 12:35:17 +03:00
StanR
37632fe4dc Remove int casts in difficulty calculation, fixup some comments 2021-10-09 12:08:57 +03:00
smoogipoo
f0affa9f5a Don't refer to BeatmapInfo 2021-10-08 19:50:31 +09:00
smoogipoo
3a4807a032 Merge branch 'master' into blinds-pp 2021-10-08 19:45:59 +09:00
smoogipoo
cefef81cdf Merge branch 'master' into skillsrework 2021-10-08 18:21:51 +09:00
Dan Balasescu
5b89293fa3
Merge pull request #14942 from apollo-dw/relax-osu-pp
Implement Relax difficulty calculation in osu!
2021-10-08 16:47:43 +09:00
apollo-dw
57c069e0e1 Remove unused strings 2021-10-06 23:50:23 +01:00
apollo-dw
d6eab02d92 Return 0 for speed with relax 2021-10-06 16:53:33 +01:00
apollo-dw
34269d48e5 Use global multipliers instead of multiplying skill values 2021-10-06 12:25:19 +01:00
Dean Herbert
b339c149d8 Copy BaseDifficulty to Beatmap<T> and move all write operations across 2021-10-06 15:10:45 +09:00
emu1337
d17beb9bbe improved overall balance 2021-10-06 01:39:01 +02:00
emu1337
3cb816b6cd fixed some nerfs not carrying to the next iteration 2021-10-05 21:19:00 +02:00
Xexxar
94f8692b00 removed acc changes to put in seperate PR 2021-10-03 17:42:49 +00:00
Xexxar
bc3ae4c4f8 changed function names to be consistent 2021-10-03 17:36:34 +00:00
Xexxar
6d134b2a83 resolved code cleanliness issues 2021-10-03 17:32:03 +00:00
Xexxar
ba2c44a2f4 reworked strain to fix issue with overlapping hitwindo 2021-10-03 17:31:56 +00:00
apollo-dw
03f0a36589 additional balancing 2021-10-03 11:53:14 +01:00
apollo-dw
bc1ff019da Implement relax checks 2021-10-03 11:27:17 +01:00
apollo-dw
a5025dc8b8 Buff base multiplier 2021-10-01 22:23:16 +01:00
apollo-dw
310bf3e580 more code quality (oops) 2021-10-01 15:29:20 +01:00
apollo-dw
57b9a91cba trim whitespace cuz code quality 2021-10-01 15:26:59 +01:00
apollo-dw
7884dbbd11 adjust formulae 2021-10-01 15:04:44 +01:00
Dean Herbert
05996cc2e9 Add changes that got forgotted in branch surgery 2021-10-01 17:04:53 +09:00
Xexxar
d14eed88fd final clean up before PR 2021-09-29 19:14:54 +00:00
Xexxar
7001578045
Update osu.Game.Rulesets.Osu/Difficulty/Preprocessing/OsuDifficultyHitObject.cs
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-09-26 20:39:57 -05:00
Xexxar
e4fb5a01c9 readded missing aim nerf for low acc 2021-09-26 21:58:26 +00:00
Xexxar
c4430182dd used new slider bonus alg to not overbuff slider jumps 2021-09-26 21:32:36 +00:00
Xexxar
81921bee11 updated rhythmbonus to be OD sensitive 2021-09-26 19:46:24 +00:00
apollo-dw
b6f494cbb7 accuracy and speed changes pt 1 2021-09-25 17:34:24 +01:00
Xexxar
b7444ee9eb replaced original velocity alg 2021-09-25 04:20:35 +00:00
Xexxar
ffa0fac5eb refactored to clean up issues with streams 2021-09-25 04:08:05 +00:00
Xexxar
2508171d41 nerfed rhythm further to attempt to balance 2021-09-25 03:52:05 +00:00
Xexxar
9802f4fc90 added wide angle buff to velchange 2021-09-25 03:37:19 +00:00
Xexxar
010078778e velocity buff isolation + small refactor 2021-09-25 03:27:07 +00:00
Xexxar
8c6a035369 added slider calc bonus 2021-09-25 03:04:22 +00:00
Xexxar
587cf09d2a base change of aim refactor, isolated 2021-09-25 03:02:33 +00:00
Xexxar
0129762104 merged in strainTime change and augmented rhythm calc 2021-09-25 02:52:10 +00:00
apollo-dw
70119d3a43 add drain rate term 2021-09-24 15:02:19 +01:00
apollo-dw
c62e429cea buff miss factor 2021-09-22 19:02:25 +01:00
apollo-dw
857ce721da share BlindsMultiplier everywhere, make it completely negate HD pp 2021-09-22 16:48:11 +01:00
apollo-dw
e52621c60f basically disable HD pp when blinds enabled 2021-09-22 16:38:50 +01:00
apollo-dw
85fd4bdbf8 add accuracy nerf 2021-09-22 16:19:41 +01:00
apollo-dw
2bac15ca1a base formula implementation 2021-09-22 14:17:27 +01:00
smoogipoo
e3b6c15a73 Merge branch 'master' into speedpp 2021-09-21 18:41:27 +09:00
smoogipoo
b9c91111d2 Add some whitespace 2021-09-21 12:43:29 +09:00
Dan Balasescu
6d6ad126a4
Merge branch 'master' into fl-total-sr 2021-09-21 12:31:40 +09:00
Xexxar
cdd813926b nerf to high bpm rhythm changes, nerf to 1/3->1/4 2021-09-17 00:27:42 +00:00
smoogipoo
7976442aec Fix CI issues 2021-09-16 14:20:42 +09:00
smoogipoo
2dd9d457e8 Merge branch 'master' into speedpp 2021-09-16 14:18:47 +09:00
apollo-dw
2637c063a9 forgot a deltatime 2021-09-15 15:40:26 +01:00
apollo-dw
2c3e7bfd2d moved 2b straintime cap up to 25ms 2021-09-15 15:27:36 +01:00
apollo-dw
463b92fcca remove unused strings 2021-09-15 12:41:29 +01:00
apollo-dw
cf63a45f32 swap speedwindowratio in cap so values are correct 2021-09-15 12:36:15 +01:00
apollo-dw
2fe0681310 elaborate comment 2021-09-15 12:03:47 +01:00
apollo-dw
7f6722e43f throw math.max(N, 1) into straintime 2021-09-15 11:24:48 +01:00
apollo-dw
4017598af0 simplify algebra down 2021-09-15 11:15:05 +01:00
apollo-dw
3a16ec277a refactor speed window ratios 2021-09-15 11:12:36 +01:00
apollo-dw
a0bd73c356 refactor hit window calc 2021-09-15 10:52:50 +01:00
apollo-dw
49658b6f82 set greatWindow to readonly 2021-09-15 10:29:30 +01:00
apollo-dw
6d254fba0a digestify speed return 2021-09-15 10:27:18 +01:00
MBmasher
a8539bc75b Add newline to end of file 2021-09-15 19:04:36 +10:00
MBmasher
33e1273df8 Include Flashlight in total SR calculation 2021-09-15 19:03:42 +10:00
MBmasher
31baac5879
Merge branch 'master' into fl-skill 2021-09-15 11:50:25 +10:00
apollo-dw
8796e45f63 prevent 2B objects from dividing by zero 2021-09-14 15:22:03 +01:00
smoogipoo
81ced68f89 Merge branch 'master' into display-sr-changes 2021-09-14 13:32:58 +09:00
MBmasher
c4fbae136a Rename FlashlightStrain to FlashlightRating 2021-09-14 10:34:21 +10:00
MBmasher
453d63cd5c Merge branch 'fl-skill' of https://github.com/mbmasher/osu into fl-skill 2021-09-14 10:23:41 +10:00
MBmasher
178a3d1132 Remove redundant check 2021-09-14 10:23:11 +10:00
apollo-dw
e9f7258f2b adjust hitwindow nerf to be harsher 2021-09-13 14:50:40 +01:00
smoogipoo
0dc31a476f Invert condition to reduce nesting 2021-09-13 16:39:05 +09:00
Xexxar
44163dc9ec updated to use deltaTime not stainTime for more accuracy 2021-09-12 18:14:05 +00:00
Xexxar
b05963cc50 update to fix review issues 2021-09-12 16:08:17 +00:00
smoogipoo
aafbc3e0e4 Merge branch 'master' into fl-skill 2021-09-10 16:39:39 +09:00
apollo-dw
3fce3f620f use OsuHitWindows, amend comment 2021-09-04 16:56:15 +01:00
apollo-dw
8654a0af05 remove unnecessary min & renamed variable so its more descriptive 2021-09-03 03:01:25 +01:00
apollo-dw
bf87a4b2d3 interpolate the doubletap cheese nerf instead 2021-09-03 02:39:21 +01:00
apollo-dw
0beef9c1e7 made double cheese detection stricter 2021-09-03 02:20:22 +01:00
apollo-dw
57a2ba9aa8 remove "straintime" 2021-09-02 18:29:55 +01:00
apollo-dw
0d60076f34 fix doubletap cheese detect (base on hitwindow) 2021-09-02 17:14:23 +01:00
apollo-dw
d9cc497801 refactoring 2021-09-02 17:02:23 +01:00
apollo-dw
3e98c71ece cap deltatime to hitwindow sorta 2021-09-02 16:48:34 +01:00
apollo-dw
711baa12ba emu's doubletap cheese nerf 2021-09-02 16:31:31 +01:00
mrowswares
a190038c33 remove writelines 2021-08-29 20:16:13 +01:00
mrowswares
1ca0223c71 remove straintime & speed skill caps, implement basic doubletap cheese detection 2021-08-29 17:19:26 +01:00
MBmasher
c91feb2968 Fix multiplying instead of dividing by scalingFactor 2021-08-25 11:18:21 +10:00
MBmasher
7188a3268f Apply a nerf to stacks for Flashlight skill 2021-08-24 14:01:54 +10:00
Xexxar
aaffc05b82 removed accuracy penalty for misses 2021-08-21 17:56:45 +00:00
Xexxar
0402f85eb0 left residual code from testing prevprevdeltas 2021-08-21 17:29:17 +00:00
Xexxar
536aef6f2f merged latest from origin 2021-08-21 17:25:06 +00:00
Xexxar
270f497af8 penalized 1/1->1/2->1/4 rhythm transitions 2021-08-21 17:23:17 +00:00
Bartłomiej Dach
812c85f3de
Clean up code style issues 2021-08-21 17:26:05 +02:00
Xexxar
a46ae855aa implemented object count limitation for rhythm build up 2021-08-20 15:40:34 +00:00
Xexxar
d36eb269b4 fixed code quality issues 2021-08-19 20:11:18 +00:00
Xexxar
5b2cfcc2ff adjusted low acc nerf on speed 2021-08-19 15:27:37 +00:00
Xexxar
b44e6f634d noticed a bug with double applying historicaldecay 2021-08-19 15:05:39 +00:00
Xexxar
7b70d41a93 forgot about the / 0 2021-08-19 14:49:44 +00:00
Xexxar
0effc8f5d8 refactored speed skill, implemented better acc pp 2021-08-19 14:12:03 +00:00
Xexxar
b9ba4c1d97 finalized change for PR 2021-08-17 19:25:49 +00:00
Xexxar
ac1ed00f3e added initial balance of rhythm complexity to tap 2021-08-17 14:39:43 +00:00
Xexxar
471ae9664e cleaned up jank 2021-08-17 13:47:45 +00:00
Xexxar
c99a96a8c8 initial rhythm calc testing 2021-08-17 13:39:18 +00:00
Xexxar
9b21016eed accidently renamed osuStrainSkill, fixed 2021-08-16 22:46:56 +00:00
Xexxar
5561e4852e removed stuff 2021-08-16 22:23:40 +00:00
Xexxar
176b3e7533 changed decay system to allow for customizing the currentStrain 2021-08-16 22:14:29 +00:00
Xexxar
7d46b3f9c5 initial testing and debugging 2021-08-16 16:06:50 +00:00
Xexxar
19cdd5c323 recoded and added rhythm complexity calculator (untested) 2021-08-16 15:25:35 +00:00
emu1337
df6e4664e0 changed history length in speed 2021-08-16 16:42:07 +02:00
emu1337
29a22bd11f added rhythm multiplier for strain sections 2021-08-15 20:48:00 +02:00
MBmasher
eaa0d38315 Add a buff to short maps for Flashlight skill 2021-08-12 10:00:24 +10:00
MBmasher
b06226e738 Change comments 2021-08-12 09:54:25 +10:00
MBmasher
27918583e1 Increase the multiplier when hidden is applied on the Flashlight skill 2021-08-11 15:55:13 +10:00
MBmasher
1cadcb43d9 Apply nerf to Flashlight skill on high star maps 2021-08-11 15:54:30 +10:00
MBmasher
b1d25346a2 Move HistoryLength override from OsuStrainSkill to Flashlight 2021-08-11 13:30:40 +10:00
MBmasher
cee69eaad0 Add a nerf to FL for TD plays 2021-08-11 06:14:38 +10:00
MBmasher
f4ceb17064 Cleanup of code 2021-08-10 16:06:20 +10:00
MBmasher
6b1a4a53d4 Cleanup of code 2021-08-09 08:31:28 +10:00
MBmasher
acdd08c966 Add Flashlight skill 2021-08-08 23:56:03 +10:00
02Naitsirk
db1f43f6eb
Multiply star rating by a constant 2021-08-03 18:57:33 -04:00
Bartłomiej Dach
ea2ef55a8b
Remove unnecessary whitespace 2021-08-01 15:27:05 +02:00
02Naitsirk
5b5cf30cbd
Fix incorrect performance formula
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-07-31 12:23:03 -04:00
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