mirror of
https://github.com/ppy/osu.git
synced 2024-12-14 12:23:22 +08:00
Make relax ok/meh multipliers dependent on OD
This commit is contained in:
parent
11eb344476
commit
afa3f8cda3
@ -51,8 +51,12 @@ namespace osu.Game.Rulesets.Osu.Difficulty
|
||||
|
||||
if (score.Mods.Any(h => h is OsuModRelax))
|
||||
{
|
||||
// https://www.desmos.com/calculator/adhhgjtuyp
|
||||
double okMultiplier = osuAttributes.OverallDifficulty > 0.0 ? 1 - Math.Pow(osuAttributes.OverallDifficulty / 12.0, 2) : 1.0;
|
||||
double mehMultiplier = osuAttributes.OverallDifficulty > 0.0 ? 1 - Math.Pow(osuAttributes.OverallDifficulty / 12.0, 6) : 1.0;
|
||||
|
||||
// As we're adding Oks and Mehs to an approximated number of combo breaks the result can be higher than total hits in specific scenarios (which breaks some calculations) so we need to clamp it.
|
||||
effectiveMissCount = Math.Min(effectiveMissCount + countOk * 0.33 + countMeh * 0.66, totalHits);
|
||||
effectiveMissCount = Math.Min(effectiveMissCount + countOk * okMultiplier + countMeh * mehMultiplier, totalHits);
|
||||
|
||||
multiplier *= 0.7;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user