Skip to content

Commit

Permalink
fix top end reading, top end sr, and make sakazuki better
Browse files Browse the repository at this point in the history
  • Loading branch information
Lawtrohux committed Jan 5, 2025
1 parent ac29090 commit e22e455
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ double sameInterval(SameRhythmHitObjects startObject, int intervalCount)
{
double ratio = intervals[i]!.Value / intervals[j]!.Value;
if (Math.Abs(1 - ratio) <= threshold) // If any two intervals are similar, apply a penalty.
return 0.99;
return 0.80;
}
}

Expand Down Expand Up @@ -143,10 +143,10 @@ public static double EvaluateDifficultyOf(DifficultyHitObject hitObject, double
double samePattern = 0;

if (rhythm.SameRhythmHitObjects?.FirstHitObject == hitObject) // Difficulty for SameRhythmHitObjects
sameRhythm = 4.0 * evaluateDifficultyOf(rhythm.SameRhythmHitObjects, hitWindow);
sameRhythm = 5.5 * evaluateDifficultyOf(rhythm.SameRhythmHitObjects, hitWindow);

if (rhythm.SamePatterns?.FirstHitObject == hitObject) // Difficulty for SamePatterns
samePattern += 3.0 * evaluateDifficultyOf(rhythm.SamePatterns);
samePattern += 2.5 * evaluateDifficultyOf(rhythm.SamePatterns);

difficulty += Math.Max(sameRhythm, samePattern);

Expand Down
4 changes: 4 additions & 0 deletions osu.Game.Rulesets.Taiko/Difficulty/Skills/Reading.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

using osu.Game.Rulesets.Difficulty.Preprocessing;
using osu.Game.Rulesets.Difficulty.Skills;
using osu.Game.Rulesets.Difficulty.Utils;
using osu.Game.Rulesets.Mods;
using osu.Game.Rulesets.Taiko.Difficulty.Evaluators;
using osu.Game.Rulesets.Taiko.Difficulty.Preprocessing;
Expand Down Expand Up @@ -34,6 +35,9 @@ protected override double StrainValueOf(DifficultyHitObject current)
}

var taikoObject = (TaikoDifficultyHitObject)current;
int index = taikoObject.Colour.MonoStreak?.HitObjects.IndexOf(taikoObject) ?? 0;

currentStrain *= DifficultyCalculationUtils.Logistic(index, 4, -1 / 25.0, 0.5) + 0.5;

currentStrain *= StrainDecayBase;
currentStrain += ReadingEvaluator.EvaluateDifficultyOf(taikoObject) * SkillMultiplier;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ protected override DifficultyAttributes CreateDifficultyAttributes(IBeatmap beat
double monoStaminaFactor = staminaRating == 0 ? 1 : Math.Pow(monoStaminaRating / staminaRating, 5);

double colourDifficultStrains = colour.CountTopWeightedStrains();
double rhythmDifficultStrains = rhythm.CountTopWeightedStrains() * Math.Max((rhythmRating - 4.0) / 0.5 * 2, 1);
double rhythmDifficultStrains = rhythm.CountTopWeightedStrains();
double staminaDifficultStrains = stamina.CountTopWeightedStrains() * clockRate;

strainLengthBonus = 1
Expand Down Expand Up @@ -218,11 +218,7 @@ private double rescale(double sr)
{
if (sr < 0) return sr;

double midrange = 10.43 * Math.Log(sr / 8 + 1);
double toprange = 11.6 + Math.Log(Math.Max(midrange - 11, 1));
double range = Math.Min(midrange, toprange);

return range;
return 10.43 * Math.Log(sr / 8 + 1);
}
}
}

0 comments on commit e22e455

Please sign in to comment.