mirror of
https://github.com/ppy/osu.git
synced 2025-02-07 23:32:56 +08:00
osu!taiko new rhythm penalty for long intervals using stamina difficulty (#31573)
* Replace long interval nerf with a new one that uses stamina difficulty * Turn tabs into spaces * Update unit tests --------- Co-authored-by: StanR <hi@stanr.info>
This commit is contained in:
parent
2d0bc6cb62
commit
e57565435e
@ -14,13 +14,13 @@ namespace osu.Game.Rulesets.Taiko.Tests
|
|||||||
{
|
{
|
||||||
protected override string ResourceAssembly => "osu.Game.Rulesets.Taiko";
|
protected override string ResourceAssembly => "osu.Game.Rulesets.Taiko";
|
||||||
|
|
||||||
[TestCase(3.3056113401782845d, 200, "diffcalc-test")]
|
[TestCase(3.305554470092722d, 200, "diffcalc-test")]
|
||||||
[TestCase(3.3056113401782845d, 200, "diffcalc-test-strong")]
|
[TestCase(3.305554470092722d, 200, "diffcalc-test-strong")]
|
||||||
public void Test(double expectedStarRating, int expectedMaxCombo, string name)
|
public void Test(double expectedStarRating, int expectedMaxCombo, string name)
|
||||||
=> base.Test(expectedStarRating, expectedMaxCombo, name);
|
=> base.Test(expectedStarRating, expectedMaxCombo, name);
|
||||||
|
|
||||||
[TestCase(4.4473902679506896d, 200, "diffcalc-test")]
|
[TestCase(4.4472572672057815d, 200, "diffcalc-test")]
|
||||||
[TestCase(4.4473902679506896d, 200, "diffcalc-test-strong")]
|
[TestCase(4.4472572672057815d, 200, "diffcalc-test-strong")]
|
||||||
public void TestClockRateAdjusted(double expectedStarRating, int expectedMaxCombo, string name)
|
public void TestClockRateAdjusted(double expectedStarRating, int expectedMaxCombo, string name)
|
||||||
=> Test(expectedStarRating, expectedMaxCombo, name, new TaikoModDoubleTime());
|
=> Test(expectedStarRating, expectedMaxCombo, name, new TaikoModDoubleTime());
|
||||||
|
|
||||||
|
@ -30,7 +30,8 @@ namespace osu.Game.Rulesets.Taiko.Difficulty.Skills
|
|||||||
double difficulty = RhythmEvaluator.EvaluateDifficultyOf(current, greatHitWindow);
|
double difficulty = RhythmEvaluator.EvaluateDifficultyOf(current, greatHitWindow);
|
||||||
|
|
||||||
// To prevent abuse of exceedingly long intervals between awkward rhythms, we penalise its difficulty.
|
// To prevent abuse of exceedingly long intervals between awkward rhythms, we penalise its difficulty.
|
||||||
difficulty *= DifficultyCalculationUtils.Logistic(current.DeltaTime, 350, -1 / 25.0, 0.5) + 0.5;
|
double staminaDifficulty = StaminaEvaluator.EvaluateDifficultyOf(current) - 0.5; // Remove base strain
|
||||||
|
difficulty *= DifficultyCalculationUtils.Logistic(staminaDifficulty, 1 / 15.0, 50.0);
|
||||||
|
|
||||||
return difficulty;
|
return difficulty;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user