1
0
mirror of https://github.com/ppy/osu.git synced 2025-03-14 05:47:20 +08:00

added acc bonus for low AR

and slight balancing
This commit is contained in:
Givikap120 2024-03-21 21:35:29 +02:00
parent ab47d39d0d
commit 333bfd2490
4 changed files with 14 additions and 7 deletions

View File

@ -24,7 +24,7 @@ namespace osu.Game.Rulesets.Osu.Difficulty
{
public const double DIFFICULTY_MULTIPLIER = 0.067;
public const double SUM_POWER = 1.1;
public const double FL_SUM_POWER = 1.6;
public const double FL_SUM_POWER = 1.4;
public override int Version => 20220902;
public OsuDifficultyCalculator(IRulesetInfo ruleset, IWorkingBeatmap beatmap)

View File

@ -221,9 +221,15 @@ namespace osu.Game.Rulesets.Osu.Difficulty
if (score.Mods.Any(m => m is OsuModBlinds))
accuracyValue *= 1.14;
// It's stupid so i removed it, it's better just to increase FL coef
//if (score.Mods.Any(m => m is OsuModFlashlight))
// accuracyValue *= 1.02;
if (score.Mods.Any(m => m is OsuModFlashlight))
accuracyValue *= 1.02;
// Visual indication bonus
double visualIndicationBonus = 1.0 + 0.1 * logistic((8.0 - attributes.ApproachRate) / 6);
accuracyValue *= visualIndicationBonus;
if (score.Mods.Any(h => h is OsuModHidden))
accuracyValue *= visualIndicationBonus;
return accuracyValue;
}
@ -397,5 +403,6 @@ namespace osu.Game.Rulesets.Osu.Difficulty
}
private static double softmin(double a, double b, double power = Math.E) => a * b / Math.Log(Math.Pow(power, a) + Math.Pow(power, b), power);
private static double logistic(double x) => 1 / (1 + Math.Exp(-x));
}
}

View File

@ -25,7 +25,7 @@ namespace osu.Game.Rulesets.Osu.Difficulty.Skills
hasHiddenMod = mods.Any(m => m is OsuModHidden);
}
private double skillMultiplier => 0.052;
private double skillMultiplier => 0.054;
private double strainDecayBase => 0.15;
private double currentStrain;

View File

@ -16,7 +16,7 @@ namespace osu.Game.Rulesets.Osu.Difficulty.Skills
public class ReadingLowAR : GraphSkill
{
private readonly List<double> difficulties = new List<double>();
private double skillMultiplier => 1.1;
private double skillMultiplier => 1.08;
private double aimComponentMultiplier => 0.7;
public ReadingLowAR(Mod[] mods)
@ -95,7 +95,7 @@ namespace osu.Game.Rulesets.Osu.Difficulty.Skills
}
private double currentStrain;
private double skillMultiplier => 5;
private double skillMultiplier => 4.9;
protected override double CalculateInitialStrain(double time, DifficultyHitObject current) => currentStrain * StrainDecay(time - current.Previous(0).StartTime);