mirror of
https://github.com/ppy/osu
synced 2024-12-24 07:42:55 +00:00
change convert specific omissions
This commit is contained in:
parent
85aa2ea8af
commit
21b458d268
@ -17,7 +17,7 @@ namespace osu.Game.Rulesets.Taiko.Difficulty
|
|||||||
public double StaminaDifficulty { get; set; }
|
public double StaminaDifficulty { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The ratio of stamina difficulty from mono-color streams to total stamina difficulty.
|
/// The ratio of stamina difficulty from mono-color (single colour) streams to total stamina difficulty.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[JsonProperty("mono_stamina_factor")]
|
[JsonProperty("mono_stamina_factor")]
|
||||||
public double MonoStaminaFactor { get; set; }
|
public double MonoStaminaFactor { get; set; }
|
||||||
|
@ -42,7 +42,7 @@ namespace osu.Game.Rulesets.Taiko.Difficulty
|
|||||||
if (totalSuccessfulHits > 0)
|
if (totalSuccessfulHits > 0)
|
||||||
effectiveMissCount = Math.Max(1.0, 1000.0 / totalSuccessfulHits) * countMiss;
|
effectiveMissCount = Math.Max(1.0, 1000.0 / totalSuccessfulHits) * countMiss;
|
||||||
|
|
||||||
// TODO: The detection of rulesets is temporary until the leftover old skills have been reworked.
|
// Converts are detected and omitted from mod-specific bonuses due to the scope of current difficulty calcuation.
|
||||||
bool isConvert = score.BeatmapInfo!.Ruleset.OnlineID != 1;
|
bool isConvert = score.BeatmapInfo!.Ruleset.OnlineID != 1;
|
||||||
|
|
||||||
double multiplier = 1.13;
|
double multiplier = 1.13;
|
||||||
@ -53,7 +53,7 @@ namespace osu.Game.Rulesets.Taiko.Difficulty
|
|||||||
if (score.Mods.Any(m => m is ModEasy))
|
if (score.Mods.Any(m => m is ModEasy))
|
||||||
multiplier *= 0.950;
|
multiplier *= 0.950;
|
||||||
|
|
||||||
double difficultyValue = computeDifficultyValue(score, taikoAttributes, isConvert);
|
double difficultyValue = computeDifficultyValue(score, taikoAttributes);
|
||||||
double accuracyValue = computeAccuracyValue(score, taikoAttributes, isConvert);
|
double accuracyValue = computeAccuracyValue(score, taikoAttributes, isConvert);
|
||||||
double totalValue =
|
double totalValue =
|
||||||
Math.Pow(
|
Math.Pow(
|
||||||
@ -71,7 +71,7 @@ namespace osu.Game.Rulesets.Taiko.Difficulty
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
private double computeDifficultyValue(ScoreInfo score, TaikoDifficultyAttributes attributes, bool isConvert)
|
private double computeDifficultyValue(ScoreInfo score, TaikoDifficultyAttributes attributes)
|
||||||
{
|
{
|
||||||
double difficultyValue = Math.Pow(5 * Math.Max(1.0, attributes.StarRating / 0.115) - 4.0, 2.25) / 1150.0;
|
double difficultyValue = Math.Pow(5 * Math.Max(1.0, attributes.StarRating / 0.115) - 4.0, 2.25) / 1150.0;
|
||||||
|
|
||||||
@ -95,7 +95,7 @@ namespace osu.Game.Rulesets.Taiko.Difficulty
|
|||||||
if (estimatedUnstableRate == null)
|
if (estimatedUnstableRate == null)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
// Scale accuracy more harshly on nearly-completely mono speed maps.
|
// Scale accuracy more harshly on nearly-completely mono (single coloured) speed maps.
|
||||||
double accScalingExponent = 2 + attributes.MonoStaminaFactor;
|
double accScalingExponent = 2 + attributes.MonoStaminaFactor;
|
||||||
double accScalingShift = 300 - 100 * attributes.MonoStaminaFactor;
|
double accScalingShift = 300 - 100 * attributes.MonoStaminaFactor;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user