1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-05 10:33:22 +08:00
This commit is contained in:
KermitNuggies 2024-12-03 16:58:59 +09:00 committed by GitHub
commit 1c0855ace9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 2 additions and 23 deletions

View File

@ -14,7 +14,7 @@ namespace osu.Game.Rulesets.Osu.Difficulty
{
public class OsuPerformanceCalculator : PerformanceCalculator
{
public const double PERFORMANCE_BASE_MULTIPLIER = 1.15; // This is being adjusted to keep the final pp value scaled around what it used to be when changing things.
public const double PERFORMANCE_BASE_MULTIPLIER = 1.06; // This is being adjusted to keep the final pp value scaled around what it used to be when changing things.
private bool usingClassicSliderAccuracy;

View File

@ -12,16 +12,6 @@ namespace osu.Game.Rulesets.Osu.Difficulty.Skills
{
public abstract class OsuStrainSkill : StrainSkill
{
/// <summary>
/// The number of sections with the highest strains, which the peak strain reductions will apply to.
/// 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;
/// <summary>
/// The baseline multiplier applied to the section with the biggest strain.
/// </summary>
protected virtual double ReducedStrainBaseline => 0.75;
protected OsuStrainSkill(Mod[] mods)
: base(mods)
@ -37,18 +27,9 @@ namespace osu.Game.Rulesets.Osu.Difficulty.Skills
// These sections will not contribute to the difficulty.
var peaks = GetCurrentStrainPeaks().Where(p => p > 0);
List<double> strains = peaks.OrderDescending().ToList();
// We are reducing the highest strains first to account for extreme difficulty spikes
for (int i = 0; i < Math.Min(strains.Count, ReducedSectionCount); i++)
{
double scale = Math.Log10(Interpolation.Lerp(1, 10, Math.Clamp((float)i / ReducedSectionCount, 0, 1)));
strains[i] *= Interpolation.Lerp(ReducedStrainBaseline, 1.0, scale);
}
// Difficulty is the weighted sum of the highest strains from every section.
// We're sorting from highest to lowest strain.
foreach (double strain in strains.OrderDescending())
foreach (double strain in peaks.OrderDescending())
{
difficulty += strain * weight;
weight *= DecayWeight;

View File

@ -21,8 +21,6 @@ namespace osu.Game.Rulesets.Osu.Difficulty.Skills
private double currentStrain;
private double currentRhythm;
protected override int ReducedSectionCount => 5;
public Speed(Mod[] mods)
: base(mods)
{