1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-13 10:33:07 +08:00

Apply various changes

This commit is contained in:
apollo-dw 2022-10-18 19:09:49 +01:00
parent 441bea5701
commit 090b408229

View File

@ -43,7 +43,7 @@ namespace osu.Game.Rulesets.Osu.Difficulty.Evaluators
double loopDifficulty = currObj.OpacityAt(loopObj.BaseObject.StartTime, false);
// Small distances means objects may be cheesed, so it doesn't matter whether they are arranged confusingly.
loopDifficulty *= logistic((loopObj.MinimumJumpDistance - 90) / 15);
loopDifficulty *= logistic((loopObj.MinimumJumpDistance - 80) / 15);
double timeBetweenCurrAndLoopObj = (currObj.BaseObject.StartTime - loopObj.BaseObject.StartTime) / clockRateEstimate;
loopDifficulty *= getTimeNerfFactor(timeBetweenCurrAndLoopObj);
@ -52,30 +52,20 @@ namespace osu.Game.Rulesets.Osu.Difficulty.Evaluators
}
noteDensityDifficulty = Math.Pow(3 * Math.Log(Math.Max(1, pastObjectDifficultyInfluence - 1)), 2.3);
noteDensityDifficulty *= getConstantAngleNerfFactor(currObj);
double hiddenDifficulty = 0;
if (hidden)
{
var timeSpentInvisible = getDurationSpentInvisible(currObj) / clockRateEstimate;
var isRhythmChange = (currObj.StrainTime - prevObj.StrainTime < 5);
var timeDifficultyFactor = 800 / pastObjectDifficultyInfluence;
hiddenDifficulty += Math.Pow(7 * timeSpentInvisible / timeDifficultyFactor, 1);
if (isRhythmChange)
hiddenDifficulty *= 1.1;
hiddenDifficulty += 2 * currVelocity;
}
double difficulty = hiddenDifficulty + noteDensityDifficulty;
// While there is slider leniency...
if (currObj.BaseObject is Slider)
difficulty *= 0.2;
difficulty *= getConstantAngleNerfFactor(currObj);
return difficulty;
}
@ -112,7 +102,7 @@ namespace osu.Game.Rulesets.Osu.Difficulty.Evaluators
private static double getConstantAngleNerfFactor(OsuDifficultyHitObject current)
{
const double time_limit = 2000;
const double time_limit_low = 500;
const double time_limit_low = 200;
double constantAngleCount = 0;