diff --git a/osu.Game/Rulesets/Mods/ModTimeRamp.cs b/osu.Game/Rulesets/Mods/ModTimeRamp.cs
index 5276c196f7..4ce364ef1a 100644
--- a/osu.Game/Rulesets/Mods/ModTimeRamp.cs
+++ b/osu.Game/Rulesets/Mods/ModTimeRamp.cs
@@ -45,6 +45,8 @@ namespace osu.Game.Rulesets.Mods
{
this.track = track;
track.AddAdjustment(AdjustableProperty.Frequency, SpeedChange);
+
+ FinalRate.TriggerChange();
}
public virtual void ApplyToBeatmap(IBeatmap beatmap)
@@ -67,6 +69,6 @@ namespace osu.Game.Rulesets.Mods
///
/// The amount of adjustment to apply (from 0..1).
private void applyAdjustment(double amount) =>
- SpeedChange.Value = 1 + (Math.Sign(FinalRate.Value) * Math.Clamp(amount, 0, 1) * Math.Abs(FinalRate.Value));
+ SpeedChange.Value = 1 + (FinalRate.Value - 1) * Math.Clamp(amount, 0, 1);
}
}
diff --git a/osu.Game/Rulesets/Mods/ModWindDown.cs b/osu.Game/Rulesets/Mods/ModWindDown.cs
index 680c1a10fb..5416f1ac22 100644
--- a/osu.Game/Rulesets/Mods/ModWindDown.cs
+++ b/osu.Game/Rulesets/Mods/ModWindDown.cs
@@ -20,10 +20,10 @@ namespace osu.Game.Rulesets.Mods
[SettingSource("Final rate", "The speed increase to ramp towards")]
public override BindableNumber FinalRate { get; } = new BindableDouble
{
- MinValue = -0.5,
- MaxValue = -0.01,
- Default = -0.25,
- Value = -0.25,
+ MinValue = 0.5,
+ MaxValue = 0.99,
+ Default = 0.75,
+ Value = 0.75,
Precision = 0.01,
};
diff --git a/osu.Game/Rulesets/Mods/ModWindUp.cs b/osu.Game/Rulesets/Mods/ModWindUp.cs
index ca9ce0ea3e..3cf584f3dd 100644
--- a/osu.Game/Rulesets/Mods/ModWindUp.cs
+++ b/osu.Game/Rulesets/Mods/ModWindUp.cs
@@ -20,7 +20,7 @@ namespace osu.Game.Rulesets.Mods
[SettingSource("Final rate", "The speed increase to ramp towards")]
public override BindableNumber FinalRate { get; } = new BindableDouble
{
- MinValue = 0.01,
+ MinValue = 1.01,
MaxValue = 2,
Default = 1.5,
Value = 1.5,