1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-18 18:52:56 +08:00
Commit Graph

28 Commits

Author SHA1 Message Date
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
7cdef5cb0a Merge branch 'master' into diffcalc/refactor/catch-clockrate-effects 2021-06-03 15:51:03 +10:00
Samuel Cattini-Schultz
94701b77cb Add TODO for variable clockrate support in catch difficulty calculator 2021-06-03 15:44:28 +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
5b2dcea8a8 Refactor to encapsulate strain logic into Skill class
As strains are an implementation detail of the current Skill calculations, it makes sense that strain related logic should be encapsulated within the Skill class.
2021-04-03 20:47:43 +11:00
Samuel Cattini-Schultz
323e4ac26b Refactor catch Movement skill to not require explicit clockrate usage
In catch, rate adjustment mods do not only affect the timings of hitobjects, but also the speed of the player's catcher.

This catcher speed change has an impact on difficulty which is currently accounted for by using the clockrate directly in calculations.

Semantically this is a bad idea because clockrate adjustments are supposed to be fully accounted for in DifficultyHitObjects, but passing clockrate here for the purpose of being used as catcher speed doesn't make much sense, especially since it is copied in every DifficultyHitObject despite being the same value.

It makes more sense to account for this catch specific impact by handling rate adjustment mods in a catch specific way, or more specifically in a Movement skill specific way.
2021-02-21 18:24:30 +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
ekrctb
3278a1d7d8 Standardize osu!catch coordinate system
There were two coordinate systems used:
- 0..512 (used in osu!stable)
- 0..1 (relative coordinate)

This commit replaces the usage of
the relative coordinate system to
the coordinate system of 0..512.
2020-07-02 00:21:45 +09:00
smoogipoo
f3b5149648 Move some suggestions to warnings, resolve issues 2020-06-03 16:48:44 +09:00
smoogipoo
fd51bbb9ec Apply latest changes 2020-04-08 12:20:46 +09:00
smoogipoo
4e55212638 Merge branch 'master' into sorcerer-catch-changes 2020-04-08 12:15:24 +09:00
smoogipoo
c8cdc5fda5 Expose half catcher width to movement skill 2020-03-13 12:43:01 +09:00
smoogipoo
cf12ffd27e Merge remote-tracking branch 'origin/master' into sorcerer-catch-changes
# Conflicts:
#	osu.Game.Rulesets.Catch/Difficulty/CatchPerformanceCalculator.cs
2020-02-13 17:18:32 +09:00
Berkan Diler
6cab517b2d .NET Standard 2.1 implements Math.Clamp , use it instead of MathHelper.Clamp from osuTK. 2019-11-20 13:37:47 +01:00
smoogipoo
5566c4881a Buff DT 2019-04-03 11:38:48 +09:00
smoogipoo
21e62c37d8 General fixes 2019-04-02 07:28:04 +09:00
smoogipoo
efee2fb283 Adjust antiflow calculations 2019-04-01 11:00:26 +09:00
smoogipoo
b2396b82a5 Change edge dashes to scale linearly once again 2019-04-01 10:58:26 +09:00
smoogipoo
2705263145 Scale edge dash threshold with clock rate 2019-03-26 13:25:52 +09:00
smoogipoo
be5ffdbf22 Adjust edge bonuses to consider clock rate 2019-03-23 16:01:14 +09:00
smoogipoo
9f12a36598 Buff slower edge dashes, nerf faster ones 2019-03-20 12:14:53 +09:00
smoogipoo
9ae6cde837 Nerf back-and-forth hyperdash chains 2019-03-20 12:14:26 +09:00
smoogipoo
f959a2ee37 Update antiflow bonus 2019-03-16 10:12:05 +09:00
smoogipoo
b51a457e5a Implement sorcerer's diffcalc changes 2019-03-06 14:36:30 +09:00
smoogipoo
d25d10d8fc Fix position not being set for the first hitobject 2019-02-20 14:14:45 +09:00
smoogipoo
f6b13ca79d Rewrite catch diffcalc for readability + attempt to fix 2019-02-18 14:50:47 +09:00
smoogipoo
e02ae927b3 Fix nullrefs 2019-02-18 14:50:47 +09:00
smoogipoo
8eba94e8c9 Implement new difficulty calculator for Rulesets.Catch 2019-02-18 14:50:47 +09:00