Parameter tweaks, change repetition interval definition

This commit is contained in:
vun 2022-06-19 17:14:31 +08:00
parent 319d0aa036
commit da1d99d5b6
3 changed files with 10 additions and 7 deletions

View File

@ -18,18 +18,18 @@ namespace osu.Game.Rulesets.Taiko.Difficulty.Evaluators
TaikoDifficultyHitObjectColour colour = taikoCurrent.Colour;
if (colour == null) return 0;
double objectStrain = 2.1;
double objectStrain = 1.85;
if (colour.Delta)
{
objectStrain *= sigmoid(colour.DeltaRunLength, 4, 4) * 0.5 + 0.5;
objectStrain *= sigmoid(colour.DeltaRunLength, 3, 3) * 0.5 + 0.5;
}
else
{
objectStrain *= sigmoid(colour.DeltaRunLength, 2, 2) * 0.5 + 0.5;
}
objectStrain *= -sigmoid(colour.RepetitionInterval, 8, 8) * 0.5 + 0.5;
objectStrain *= -sigmoid(colour.RepetitionInterval, 1, 8); // * 0.5 + 0.5;
// Console.WriteLine($"{current.StartTime},{colour.Delta},{colour.RepetitionInterval},{objectStrain}");
return objectStrain;
}

View File

@ -28,6 +28,8 @@ namespace osu.Game.Rulesets.Taiko.Difficulty.Preprocessing
/// </summary>
public int RepetitionInterval { get; private set; }
public TaikoDifficultyHitObjectColour repeatedColour { get; private set; }
/// <summary>
/// Get the <see cref="TaikoDifficultyHitObjectColour"/> instance for the given hitObject. This is implemented
/// as a static function instead of constructor to allow for reusing existing instances.
@ -74,14 +76,14 @@ namespace osu.Game.Rulesets.Taiko.Difficulty.Preprocessing
while (other != null && interval < max_repetition_interval)
{
interval += other.DeltaRunLength;
if (other.Delta == Delta && other.DeltaRunLength == DeltaRunLength)
{
RepetitionInterval = Math.Min(interval, max_repetition_interval);
repeatedColour = other;
return;
}
interval += other.DeltaRunLength;
other = other.previous;
}

View File

@ -4,14 +4,15 @@ using System.Linq;
using osu.Game.Rulesets.Difficulty.Preprocessing;
using osu.Game.Rulesets.Difficulty.Skills;
using osu.Game.Rulesets.Mods;
using osu.Game.Rulesets.Taiko.Difficulty.Evaluators;
namespace osu.Game.Rulesets.Taiko.Difficulty.Skills
{
public class Peaks : Skill
{
private const double rhythm_skill_multiplier = 0.32 * final_multiplier;
private const double colour_skill_multiplier = 0.37 * final_multiplier;
private const double stamina_skill_multiplier = 0.37 * final_multiplier;
private const double colour_skill_multiplier = 0.33 * final_multiplier;
private const double stamina_skill_multiplier = 0.4 * final_multiplier;
private const double final_multiplier = 0.047;