1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-18 05:42:56 +08:00

Harshen speed scaling

This commit is contained in:
02Naitsirk 2025-01-14 16:24:20 -05:00
parent db552d2309
commit 68f4476190
2 changed files with 3 additions and 3 deletions

View File

@ -254,8 +254,8 @@ namespace osu.Game.Rulesets.Osu.Difficulty
double relevantAccuracy = attributes.SpeedNoteCount == 0 ? 0 : (relevantCountGreat * 6.0 + relevantCountOk * 2.0 + relevantCountMeh) / (attributes.SpeedNoteCount * 6.0);
// An effective hit window is created based on the speed SR. The higher the speed difficulty, the shorter the hit window.
// For example, a speed SR of 4.0 leads to an effective hit window of 20ms, which is OD 10.
double effectiveHitWindow = Math.Sqrt(20 * 80 / attributes.SpeedDifficulty);
// For example, a speed SR of 3.0 leads to an effective hit window of 20ms, which is OD 10.
double effectiveHitWindow = Math.Sqrt(20 * 60 / attributes.SpeedDifficulty);
// Find the proportion of 300s on speed notes assuming the hit window was the effective hit window.
double effectiveAccuracy = SpecialFunctions.Erf(effectiveHitWindow / (double)speedDeviation);

View File

@ -53,7 +53,7 @@ namespace osu.Game.Rulesets.Osu.Difficulty.Skills
if (maxStrain == 0)
return 0;
return ObjectStrains.Sum(strain => 1.0 / (1.0 + Math.Exp(-(strain / maxStrain * 12.0 - 6.0))));
return ObjectStrains.Sum(strain => strain / maxStrain);
}
}
}