1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-11 09:17:51 +08:00

stop nerfing early strains

This commit is contained in:
danielthirtle 2024-07-16 23:48:38 +12:00
parent 9031b8eb94
commit 7b077255fe

View File

@ -23,8 +23,6 @@ namespace osu.Game.Rulesets.Osu.Difficulty.Skills
/// This is done in order to decrease their impact on the overall difficulty of the map for this skill.
/// </summary>
protected virtual int ReducedSectionCount => 10;
protected virtual int ReducedEarlySectionCount => 50;
protected virtual double ReducedEarlySectionProportion => 0.1;
/// <summary>
/// The baseline multiplier applied to the section with the biggest strain.
@ -50,14 +48,6 @@ namespace osu.Game.Rulesets.Osu.Difficulty.Skills
// These sections will not contribute to the difficulty.
var peaks = GetCurrentStrainPeaks().Where(p => p > 0).ToList();
// We are reducing the highest strains first to account for extreme difficulty spikes
int reducedEarlyStrains = Math.Min((int)(peaks.Count * ReducedEarlySectionProportion), ReducedEarlySectionCount);
for (int i = 0; i < reducedEarlyStrains; i++)
{
double scale = Math.Log10(Interpolation.Lerp(1, 10, Math.Clamp((float)i / reducedEarlyStrains, 0, 1)));
peaks[i] *= Interpolation.Lerp(ReducedStrainBaseline, 1.0, scale);
}
List<double> strains = peaks.OrderDescending().ToList();
// We are reducing the highest strains first to account for extreme difficulty spikes