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:
parent
db552d2309
commit
68f4476190
@ -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);
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user