mirror of
https://github.com/ppy/osu.git
synced 2025-02-12 19:32:55 +08:00
change SR scalig
This commit is contained in:
parent
98873e2401
commit
b4fadc373e
@ -127,8 +127,8 @@ namespace osu.Game.Rulesets.Osu.Difficulty.Evaluators
|
||||
// Goes from 0 to 1 as angle increasing from 90 degrees to 180
|
||||
wideness = (loopObj.Angle.Value / Math.PI - 0.5) * 2;
|
||||
|
||||
// Transform into quadratic scaling
|
||||
wideness = 1 - Math.Pow(1 - wideness, 2);
|
||||
// Transform into cubic scaling
|
||||
wideness = 1 - Math.Pow(1 - wideness, 3);
|
||||
}
|
||||
|
||||
// Angle difference will be considered as 2 times lower if angle is wide
|
||||
|
@ -45,7 +45,6 @@ namespace osu.Game.Rulesets.Osu.Difficulty
|
||||
|
||||
double readingLowARRating = Math.Sqrt(skills[4].DifficultyValue()) * DIFFICULTY_MULTIPLIER;
|
||||
double readingHighARRating = Math.Sqrt(skills[5].DifficultyValue()) * DIFFICULTY_MULTIPLIER;
|
||||
double readingSlidersRating = 0;
|
||||
double hiddenRating = Math.Sqrt(skills[6].DifficultyValue()) * DIFFICULTY_MULTIPLIER;
|
||||
double hiddenFlashlightRating = Math.Sqrt(skills[7].DifficultyValue()) * DIFFICULTY_MULTIPLIER;
|
||||
|
||||
@ -74,7 +73,7 @@ namespace osu.Game.Rulesets.Osu.Difficulty
|
||||
|
||||
double baseReadingLowARPerformance = ReadingLowAR.DifficultyToPerformance(readingLowARRating);
|
||||
double baseReadingHighARPerformance = OsuStrainSkill.DifficultyToPerformance(readingHighARRating);
|
||||
double baseReadingARPerformance = Math.Pow(Math.Pow(baseReadingLowARPerformance, SUM_POWER) + Math.Pow(baseReadingHighARPerformance, SUM_POWER), 1.0 / SUM_POWER);
|
||||
double baseReadingARPerformance = baseReadingLowARPerformance + baseReadingHighARPerformance;
|
||||
|
||||
double baseFlashlightARPerformance = Math.Pow(Math.Pow(baseFlashlightPerformance, FL_SUM_POWER) + Math.Pow(baseReadingARPerformance, FL_SUM_POWER), 1.0 / FL_SUM_POWER);
|
||||
|
||||
@ -82,9 +81,6 @@ namespace osu.Game.Rulesets.Osu.Difficulty
|
||||
if (mods.Any(h => h is OsuModHidden))
|
||||
baseReadingHiddenPerformance = ReadingHidden.DifficultyToPerformance(hiddenRating);
|
||||
|
||||
double baseReadingSliderPerformance = 0;
|
||||
double baseReadingNonARPerformance = baseReadingHiddenPerformance + baseReadingSliderPerformance;
|
||||
|
||||
double preempt = IBeatmapDifficultyInfo.DifficultyRange(beatmap.Difficulty.ApproachRate, 1800, 1200, 450) / clockRate;
|
||||
|
||||
double drainRate = beatmap.Difficulty.DrainRate;
|
||||
@ -94,20 +90,14 @@ namespace osu.Game.Rulesets.Osu.Difficulty
|
||||
int sliderCount = beatmap.HitObjects.Count(h => h is Slider);
|
||||
int spinnerCount = beatmap.HitObjects.Count(h => h is Spinner);
|
||||
|
||||
// Limit cognition by full memorisation difficulty
|
||||
double cognitionPerformance = Math.Pow(Math.Pow(baseFlashlightARPerformance, SUM_POWER) + Math.Pow(baseReadingNonARPerformance, SUM_POWER), 1.0 / SUM_POWER);
|
||||
double cognitionPerformance = baseFlashlightARPerformance + baseReadingHiddenPerformance;
|
||||
double mechanicalPerformance = Math.Pow(Math.Pow(baseAimPerformance, SUM_POWER) + Math.Pow(baseSpeedPerformance, SUM_POWER), 1.0 / SUM_POWER);
|
||||
|
||||
// Limit cognition by full memorisation difficulty
|
||||
double maxHiddenFlashlightPerformance = OsuPerformanceCalculator.ComputePerfectFlashlightValue(hiddenFlashlightRating, hitCirclesCount + sliderCount);
|
||||
|
||||
cognitionPerformance = OsuPerformanceCalculator.AdjustCognitionPerformance(cognitionPerformance, mechanicalPerformance, maxHiddenFlashlightPerformance);
|
||||
|
||||
double basePerformance =
|
||||
Math.Pow(
|
||||
Math.Pow(mechanicalPerformance, SUM_POWER) +
|
||||
Math.Pow(cognitionPerformance, SUM_POWER)
|
||||
, 1.0 / SUM_POWER
|
||||
);
|
||||
double basePerformance = mechanicalPerformance + cognitionPerformance;
|
||||
|
||||
double starRating = basePerformance > 0.00001
|
||||
? Math.Cbrt(OsuPerformanceCalculator.PERFORMANCE_BASE_MULTIPLIER) * 0.027 * (Math.Cbrt(100000 / Math.Pow(2, 1 / 1.1) * basePerformance) + 4)
|
||||
@ -127,7 +117,6 @@ namespace osu.Game.Rulesets.Osu.Difficulty
|
||||
SpeedNoteCount = speedNotes,
|
||||
ReadingDifficultyLowAR = readingLowARRating,
|
||||
ReadingDifficultyHighAR = readingHighARRating,
|
||||
ReadingDifficultySliders = readingSlidersRating,
|
||||
HiddenDifficulty = hiddenRating,
|
||||
FlashlightDifficulty = flashlightRating,
|
||||
HiddenFlashlightDifficulty = hiddenFlashlightRating,
|
||||
|
Loading…
Reference in New Issue
Block a user