mirror of
https://github.com/ppy/osu.git
synced 2025-02-06 23:53:00 +08:00
code cleanup
This commit is contained in:
parent
6b492b2bb0
commit
09f6889eae
@ -167,9 +167,8 @@ namespace osu.Game.Rulesets.Osu.Difficulty
|
||||
|
||||
if (effectiveMissCount > 0)
|
||||
{
|
||||
double missedComboPercent = 1.0 - (double)score.MaxCombo / attributes.MaxCombo;
|
||||
double estimatedSliderbreaks = Math.Min(countMeh + countOk, countMiss * attributes.AimTopWeightedSliderFactor) * DifficultyCalculationUtils.Logistic(missedComboPercent, 0.33, 15);
|
||||
aimValue *= calculateMissPenalty(effectiveMissCount + (usingClassicSliderAccuracy ? estimatedSliderbreaks : 0), attributes.AimDifficultStrainCount);
|
||||
double estimatedSliderbreaks = calculateEstimatedSliderbreaks(attributes.AimTopWeightedSliderFactor, attributes);
|
||||
aimValue *= calculateMissPenalty(effectiveMissCount + estimatedSliderbreaks, attributes.AimDifficultStrainCount);
|
||||
}
|
||||
|
||||
double approachRateFactor = 0.0;
|
||||
@ -211,9 +210,8 @@ namespace osu.Game.Rulesets.Osu.Difficulty
|
||||
|
||||
if (effectiveMissCount > 0)
|
||||
{
|
||||
double missedComboPercent = 1.0 - (double)score.MaxCombo / attributes.MaxCombo;
|
||||
double estimatedSliderbreaks = Math.Min(countMeh + countOk, countMiss * attributes.SpeedTopWeightedSliderFactor) * DifficultyCalculationUtils.Logistic(missedComboPercent, 0.33, 15);
|
||||
speedValue *= calculateMissPenalty(effectiveMissCount + (usingClassicSliderAccuracy ? estimatedSliderbreaks : 0), attributes.SpeedDifficultStrainCount);
|
||||
double estimatedSliderbreaks = calculateEstimatedSliderbreaks(attributes.SpeedTopWeightedSliderFactor, attributes);
|
||||
speedValue *= calculateMissPenalty(effectiveMissCount + estimatedSliderbreaks, attributes.SpeedDifficultStrainCount);
|
||||
}
|
||||
|
||||
double approachRateFactor = 0.0;
|
||||
@ -318,6 +316,14 @@ namespace osu.Game.Rulesets.Osu.Difficulty
|
||||
// to make it more punishing on maps with lower amount of hard sections.
|
||||
private double calculateMissPenalty(double missCount, double difficultStrainCount) => 0.96 / ((missCount / (4 * Math.Pow(Math.Log(difficultStrainCount), 0.94))) + 1);
|
||||
private double getComboScalingFactor(OsuDifficultyAttributes attributes) => attributes.MaxCombo <= 0 ? 1.0 : Math.Min(Math.Pow(scoreMaxCombo, 0.8) / Math.Pow(attributes.MaxCombo, 0.8), 1.0);
|
||||
private double calculateEstimatedSliderbreaks(double topWeightedSliderFactor, OsuDifficultyAttributes attributes)
|
||||
{
|
||||
if (!usingClassicSliderAccuracy)
|
||||
return 0;
|
||||
double missedComboPercent = 1.0 - (double)scoreMaxCombo / attributes.MaxCombo;
|
||||
double estimatedSliderbreaks = countMiss * topWeightedSliderFactor * DifficultyCalculationUtils.Logistic(missedComboPercent, 0.33, 15);
|
||||
return Math.Min(countMeh + countOk, estimatedSliderbreaks);
|
||||
}
|
||||
private int totalHits => countGreat + countOk + countMeh + countMiss;
|
||||
private int totalImperfectHits => countOk + countMeh + countMiss;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user