change convert specific omissions

This commit is contained in:
Jay Lawton 2024-10-31 12:08:12 +10:00
parent 85aa2ea8af
commit 21b458d268
2 changed files with 5 additions and 5 deletions

View File

@ -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; }

View File

@ -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;