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

fixed the bug

high AR calc haven't accounted for speed difficulty
also, minor optimisation
This commit is contained in:
Givikap120 2024-04-08 22:10:29 +03:00
parent a2e4cb8fea
commit af9255915c
2 changed files with 6 additions and 4 deletions

View File

@ -115,9 +115,11 @@ namespace osu.Game.Rulesets.Osu.Difficulty.Evaluators
foreach (var loopObj in currObj.ReadingObjects)
{
double lastOverlapness = 0;
double targetStartTime = currObj.StartTime - currObj.Preempt;
foreach (var overlapObj in loopObj.HitObject.ReadingObjects)
{
if (overlapObj.HitObject.StartTime + overlapObj.HitObject.Preempt <= currObj.StartTime) break;
if (overlapObj.HitObject.StartTime <= targetStartTime) break;
lastOverlapness = overlapObj.Overlapness;
}

View File

@ -68,7 +68,7 @@ namespace osu.Game.Rulesets.Osu.Difficulty.Skills
// Length bonus is in SR to not inflate Star Rating short AR11 maps
double lengthBonus = OsuPerformanceCalculator.CalculateDefaultLengthBonus(objectsCount);
totalPerformance *= lengthBonus * lengthBonus;
totalPerformance *= Math.Pow(lengthBonus, 4); // make it bypass sqrt
double adjustedDifficulty = OsuStrainSkill.PerformanceToDifficulty(totalPerformance);
double difficultyValue = Math.Pow(adjustedDifficulty / OsuDifficultyCalculator.DIFFICULTY_MULTIPLIER, 2.0);
@ -88,7 +88,7 @@ namespace osu.Game.Rulesets.Osu.Difficulty.Skills
private bool adjustHighAR;
private double currentStrain;
private double skillMultiplier => 7;
private double skillMultiplier => 5;
private double defaultValueMultiplier => 25;
protected override double CalculateInitialStrain(double time, DifficultyHitObject current) => currentStrain * StrainDecay(time - current.Previous(0).StartTime);
@ -108,7 +108,7 @@ namespace osu.Game.Rulesets.Osu.Difficulty.Skills
public class HighARSpeedComponent : OsuStrainSkill
{
private double skillMultiplier => 7 * 0.017;
private double skillMultiplier => 5 * 58.8;
protected override double StrainDecayBase => 0.3;
private double currentStrain;