mirror of
https://github.com/ppy/osu.git
synced 2025-01-18 11:02:57 +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);
|
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.
|
// 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.
|
// 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 * 80 / attributes.SpeedDifficulty);
|
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.
|
// Find the proportion of 300s on speed notes assuming the hit window was the effective hit window.
|
||||||
double effectiveAccuracy = SpecialFunctions.Erf(effectiveHitWindow / (double)speedDeviation);
|
double effectiveAccuracy = SpecialFunctions.Erf(effectiveHitWindow / (double)speedDeviation);
|
||||||
|
@ -53,7 +53,7 @@ namespace osu.Game.Rulesets.Osu.Difficulty.Skills
|
|||||||
if (maxStrain == 0)
|
if (maxStrain == 0)
|
||||||
return 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