Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion osu.Game.Rulesets.Catch/Mods/CatchModFlashlight.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.

using System.Collections.Generic;
using osu.Framework.Bindables;
using osu.Framework.Graphics;
using osu.Game.Rulesets.Catch.Objects;
Expand All @@ -13,7 +14,7 @@ namespace osu.Game.Rulesets.Catch.Mods
{
public partial class CatchModFlashlight : ModFlashlight<CatchHitObject>
{
public override double ScoreMultiplier => UsesDefaultConfiguration ? 1.12 : 1;
public override double ScoreMultiplier(IReadOnlyCollection<Mod> mods) => UsesDefaultConfiguration ? 1.12 : 1;

public override BindableFloat SizeMultiplier { get; } = new BindableFloat(1)
{
Expand Down
3 changes: 2 additions & 1 deletion osu.Game.Rulesets.Catch/Mods/CatchModFloatingFruits.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.

using System.Collections.Generic;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Localisation;
using osu.Game.Graphics;
Expand All @@ -16,7 +17,7 @@ public class CatchModFloatingFruits : Mod, IApplicableToDrawableRuleset<CatchHit
public override string Name => "Floating Fruits";
public override string Acronym => "FF";
public override LocalisableString Description => "The fruits are... floating?";
public override double ScoreMultiplier => 1;
public override double ScoreMultiplier(IReadOnlyCollection<Mod> mods) => 1;
public override IconUsage? Icon => OsuIcon.ModFloatingFruits;

public void ApplyToDrawableRuleset(DrawableRuleset<CatchHitObject> drawableRuleset)
Expand Down
3 changes: 2 additions & 1 deletion osu.Game.Rulesets.Catch/Mods/CatchModHardRock.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
// See the LICENCE file in the repository root for full licence text.

using System;
using System.Collections.Generic;
using osu.Game.Rulesets.Mods;
using osu.Game.Beatmaps;
using osu.Game.Rulesets.Catch.Beatmaps;
Expand All @@ -10,7 +11,7 @@ namespace osu.Game.Rulesets.Catch.Mods
{
public class CatchModHardRock : ModHardRock, IApplicableToBeatmapProcessor
{
public override double ScoreMultiplier => UsesDefaultConfiguration ? 1.12 : 1;
public override double ScoreMultiplier(IReadOnlyCollection<Mod> mods) => UsesDefaultConfiguration ? 1.12 : 1;

public void ApplyToBeatmapProcessor(IBeatmapProcessor beatmapProcessor)
{
Expand Down
3 changes: 2 additions & 1 deletion osu.Game.Rulesets.Catch/Mods/CatchModHidden.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.

using System.Collections.Generic;
using System.Linq;
using osu.Framework.Graphics;
using osu.Framework.Localisation;
Expand All @@ -16,7 +17,7 @@ namespace osu.Game.Rulesets.Catch.Mods
public class CatchModHidden : ModHidden, IApplicableToDrawableRuleset<CatchHitObject>
{
public override LocalisableString Description => @"Play with fading fruits.";
public override double ScoreMultiplier => UsesDefaultConfiguration ? 1.06 : 1;
public override double ScoreMultiplier(IReadOnlyCollection<Mod> mods) => UsesDefaultConfiguration ? 1.06 : 1;

private const double fade_out_offset_multiplier = 0.6;
private const double fade_out_duration_multiplier = 0.44;
Expand Down
3 changes: 2 additions & 1 deletion osu.Game.Rulesets.Catch/Mods/CatchModMovingFast.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
// See the LICENCE file in the repository root for full licence text.

using System;
using System.Collections.Generic;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Input.Bindings;
Expand All @@ -23,7 +24,7 @@ public partial class CatchModMovingFast : Mod, IApplicableToDrawableRuleset<Catc
public override string Acronym => "MF";
public override LocalisableString Description => "Dashing by default, slow down!";
public override ModType Type => ModType.Fun;
public override double ScoreMultiplier => 1;
public override double ScoreMultiplier(IReadOnlyCollection<Mod> mods) => 1;
public override IconUsage? Icon => OsuIcon.ModMovingFast;
public override Type[] IncompatibleMods => new[] { typeof(ModAutoplay), typeof(ModRelax) };

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ public void TestHitWindowWithDoubleTime()
Mod = doubleTime,
PassCondition = () => Player.ScoreProcessor.JudgedHits > 0
&& Player.ScoreProcessor.Accuracy.Value == 1
&& Player.ScoreProcessor.TotalScore.Value == (long)(1_000_000 * doubleTime.ScoreMultiplier),
&& Player.ScoreProcessor.TotalScore.Value == (long)(1_000_000 * doubleTime.ScoreMultiplier(new[] { doubleTime })),
Autoplay = false,
CreateBeatmap = () => new Beatmap
{
Expand Down
3 changes: 2 additions & 1 deletion osu.Game.Rulesets.Mania/Mods/ManiaKeyMod.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
// See the LICENCE file in the repository root for full licence text.

using System;
using System.Collections.Generic;
using System.Linq;
using osu.Game.Beatmaps;
using osu.Game.Rulesets.Mania.Beatmaps;
Expand All @@ -14,7 +15,7 @@ public abstract class ManiaKeyMod : Mod, IApplicableToBeatmapConverter
public override string Acronym => Name;
public abstract int KeyCount { get; }
public override ModType Type => ModType.Conversion;
public override double ScoreMultiplier => 0.9;
public override double ScoreMultiplier(IReadOnlyCollection<Mod> mods) => 0.9;
public override bool Ranked => UsesDefaultConfiguration;

public void ApplyToBeatmapConverter(IBeatmapConverter beatmapConverter)
Expand Down
3 changes: 2 additions & 1 deletion osu.Game.Rulesets.Mania/Mods/ManiaModConstantSpeed.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.

using System.Collections.Generic;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Localisation;
using osu.Game.Configuration;
Expand All @@ -18,7 +19,7 @@ public class ManiaModConstantSpeed : Mod, IApplicableToDrawableRuleset<ManiaHitO

public override string Acronym => "CS";

public override double ScoreMultiplier => 0.9;
public override double ScoreMultiplier(IReadOnlyCollection<Mod> mods) => 0.9;

public override LocalisableString Description => "No more tricky speed changes!";

Expand Down
4 changes: 3 additions & 1 deletion osu.Game.Rulesets.Mania/Mods/ManiaModCover.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@
// See the LICENCE file in the repository root for full licence text.

using System;
using System.Collections.Generic;
using System.Linq;
using osu.Framework.Bindables;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Localisation;
using osu.Game.Configuration;
using osu.Game.Graphics;
using osu.Game.Rulesets.Mania.UI;
using osu.Game.Rulesets.Mods;

namespace osu.Game.Rulesets.Mania.Mods
{
Expand All @@ -20,7 +22,7 @@ public class ManiaModCover : ManiaModWithPlayfieldCover

public override LocalisableString Description => @"Decrease the playfield's viewing area.";

public override double ScoreMultiplier => 1;
public override double ScoreMultiplier(IReadOnlyCollection<Mod> mods) => 1;

protected override CoverExpandDirection ExpandDirection => Direction.Value;

Expand Down
3 changes: 2 additions & 1 deletion osu.Game.Rulesets.Mania/Mods/ManiaModDoubleTime.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.

using System.Collections.Generic;
using osu.Game.Rulesets.Mods;

namespace osu.Game.Rulesets.Mania.Mods
Expand All @@ -10,6 +11,6 @@ public class ManiaModDoubleTime : ModDoubleTime, IManiaRateAdjustmentMod
// For now, all rate-increasing mods should be given a 1x multiplier in mania because it doesn't always
// make the map harder and is more of a personal preference.
// In the future, we can consider adjusting this by experimenting with not applying the hitwindow leniency.
public override double ScoreMultiplier => 1;
public override double ScoreMultiplier(IReadOnlyCollection<Mod> mods) => 1;
}
}
3 changes: 2 additions & 1 deletion osu.Game.Rulesets.Mania/Mods/ManiaModDualStages.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.

using System.Collections.Generic;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Localisation;
using osu.Game.Beatmaps;
Expand All @@ -17,7 +18,7 @@ public class ManiaModDualStages : Mod, IPlayfieldTypeMod, IApplicableToBeatmapCo
public override LocalisableString Description => @"Double the stages, double the fun!";
public override IconUsage? Icon => OsuIcon.ModDualStages;
public override ModType Type => ModType.Conversion;
public override double ScoreMultiplier => 1;
public override double ScoreMultiplier(IReadOnlyCollection<Mod> mods) => 1;

private bool isForCurrentRuleset;

Expand Down
4 changes: 3 additions & 1 deletion osu.Game.Rulesets.Mania/Mods/ManiaModFadeIn.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@
// See the LICENCE file in the repository root for full licence text.

using System;
using System.Collections.Generic;
using System.Linq;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Localisation;
using osu.Game.Graphics;
using osu.Game.Rulesets.Mania.UI;
using osu.Game.Rulesets.Mods;

namespace osu.Game.Rulesets.Mania.Mods
{
Expand All @@ -16,7 +18,7 @@ public class ManiaModFadeIn : ManiaModHidden
public override string Acronym => "FI";
public override IconUsage? Icon => OsuIcon.ModFadeIn;
public override LocalisableString Description => @"Keys appear out of nowhere!";
public override double ScoreMultiplier => 1;
public override double ScoreMultiplier(IReadOnlyCollection<Mod> mods) => 1;
public override bool ValidForFreestyleAsRequiredMod => false;

public override Type[] IncompatibleMods => base.IncompatibleMods.Concat(new[]
Expand Down
3 changes: 2 additions & 1 deletion osu.Game.Rulesets.Mania/Mods/ManiaModFlashlight.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
// See the LICENCE file in the repository root for full licence text.

using System;
using System.Collections.Generic;
using osu.Framework.Bindables;
using osu.Framework.Graphics;
using osu.Framework.Layout;
Expand All @@ -13,7 +14,7 @@ namespace osu.Game.Rulesets.Mania.Mods
{
public partial class ManiaModFlashlight : ModFlashlight<ManiaHitObject>
{
public override double ScoreMultiplier => 1;
public override double ScoreMultiplier(IReadOnlyCollection<Mod> mods) => 1;
public override Type[] IncompatibleMods => new[] { typeof(ModHidden) };

public override BindableFloat SizeMultiplier { get; } = new BindableFloat(1)
Expand Down
3 changes: 2 additions & 1 deletion osu.Game.Rulesets.Mania/Mods/ManiaModHardRock.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.

using System.Collections.Generic;
using osu.Game.Rulesets.Mania.Objects;
using osu.Game.Rulesets.Mania.Scoring;
using osu.Game.Rulesets.Mods;
Expand All @@ -10,7 +11,7 @@ namespace osu.Game.Rulesets.Mania.Mods
{
public class ManiaModHardRock : ModHardRock, IApplicableToHitObject
{
public override double ScoreMultiplier => 1;
public override double ScoreMultiplier(IReadOnlyCollection<Mod> mods) => 1;
public override bool Ranked => false;

public const double HIT_WINDOW_DIFFICULTY_MULTIPLIER = 1.4;
Expand Down
3 changes: 2 additions & 1 deletion osu.Game.Rulesets.Mania/Mods/ManiaModHidden.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
// See the LICENCE file in the repository root for full licence text.

using System;
using System.Collections.Generic;
using System.Linq;
using osu.Framework.Allocation;
using osu.Framework.Localisation;
Expand Down Expand Up @@ -30,7 +31,7 @@ public partial class ManiaModHidden : ManiaModWithPlayfieldCover, IApplicableToP
private const float coverage_increase_per_combo = 0.5f;

public override LocalisableString Description => @"Keys fade out before you hit them!";
public override double ScoreMultiplier => 1;
public override double ScoreMultiplier(IReadOnlyCollection<Mod> mods) => 1;

public override Type[] IncompatibleMods => base.IncompatibleMods.Concat(new[]
{
Expand Down
2 changes: 1 addition & 1 deletion osu.Game.Rulesets.Mania/Mods/ManiaModHoldOff.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public class ManiaModHoldOff : Mod, IApplicableAfterBeatmapConversion

public override string Acronym => "HO";

public override double ScoreMultiplier => 0.9;
public override double ScoreMultiplier(IReadOnlyCollection<Mod> mods) => 0.9;

public override LocalisableString Description => @"Replaces all hold notes with normal notes.";

Expand Down
2 changes: 1 addition & 1 deletion osu.Game.Rulesets.Mania/Mods/ManiaModInvert.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public class ManiaModInvert : Mod, IApplicableAfterBeatmapConversion
public override string Name => "Invert";

public override string Acronym => "IN";
public override double ScoreMultiplier => 1;
public override double ScoreMultiplier(IReadOnlyCollection<Mod> mods) => 1;

public override LocalisableString Description => "Hold the keys. To the beat.";

Expand Down
3 changes: 2 additions & 1 deletion osu.Game.Rulesets.Mania/Mods/ManiaModNightcore.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.

using System.Collections.Generic;
using osu.Game.Rulesets.Mania.Objects;
using osu.Game.Rulesets.Mods;

Expand All @@ -11,6 +12,6 @@ public class ManiaModNightcore : ModNightcore<ManiaHitObject>, IManiaRateAdjustm
// For now, all rate-increasing mods should be given a 1x multiplier in mania because it doesn't always
// make the map any harder and is more of a personal preference.
// In the future, we can consider adjusting this by experimenting with not applying the hitwindow leniency.
public override double ScoreMultiplier => 1;
public override double ScoreMultiplier(IReadOnlyCollection<Mod> mods) => 1;
}
}
3 changes: 2 additions & 1 deletion osu.Game.Rulesets.Mania/Mods/ManiaModNoRelease.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
// See the LICENCE file in the repository root for full licence text.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using osu.Framework.Graphics.Sprites;
Expand All @@ -26,7 +27,7 @@ public partial class ManiaModNoRelease : Mod, IApplicableAfterBeatmapConversion,

public override LocalisableString Description => "No more timing the end of hold notes.";

public override double ScoreMultiplier => 0.9;
public override double ScoreMultiplier(IReadOnlyCollection<Mod> mods) => 0.9;

public override IconUsage? Icon => OsuIcon.ModNoRelease;

Expand Down
2 changes: 1 addition & 1 deletion osu.Game.Rulesets.Osu/Mods/InputBlockingMod.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ namespace osu.Game.Rulesets.Osu.Mods
{
public abstract partial class InputBlockingMod : Mod, IApplicableToDrawableRuleset<OsuHitObject>, IUpdatableByPlayfield
{
public override double ScoreMultiplier => 1.0;
public override double ScoreMultiplier(IReadOnlyCollection<Mod> mods) => 1.0;
public override Type[] IncompatibleMods => new[] { typeof(ModAutoplay), typeof(ModRelax), typeof(OsuModCinema) };
public override ModType Type => ModType.Conversion;

Expand Down
3 changes: 2 additions & 1 deletion osu.Game.Rulesets.Osu/Mods/OsuModApproachDifferent.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
// See the LICENCE file in the repository root for full licence text.

using System;
using System.Collections.Generic;
using osu.Framework.Bindables;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites;
Expand All @@ -19,7 +20,7 @@ public class OsuModApproachDifferent : Mod, IApplicableToDrawableHitObject, IReq
public override string Name => "Approach Different";
public override string Acronym => "AD";
public override LocalisableString Description => "Never trust the approach circles...";
public override double ScoreMultiplier => 1;
public override double ScoreMultiplier(IReadOnlyCollection<Mod> mods) => 1;
public override IconUsage? Icon => OsuIcon.ModApproachDifferent;

public override Type[] IncompatibleMods => new[] { typeof(IHidesApproachCircles), typeof(OsuModFreezeFrame) };
Expand Down
2 changes: 1 addition & 1 deletion osu.Game.Rulesets.Osu/Mods/OsuModAutopilot.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public class OsuModAutopilot : Mod, IUpdatableByPlayfield, IApplicableToDrawable
public override IconUsage? Icon => OsuIcon.ModAutopilot;
public override ModType Type => ModType.Automation;
public override LocalisableString Description => @"Automatic cursor movement - just follow the rhythm.";
public override double ScoreMultiplier => 0.1;
public override double ScoreMultiplier(IReadOnlyCollection<Mod> mods) => 0.1;

public override Type[] IncompatibleMods => new[]
{
Expand Down
3 changes: 2 additions & 1 deletion osu.Game.Rulesets.Osu/Mods/OsuModBlinds.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
// See the LICENCE file in the repository root for full licence text.

using System;
using System.Collections.Generic;
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
Expand Down Expand Up @@ -30,7 +31,7 @@ public partial class OsuModBlinds : Mod, IApplicableToDrawableRuleset<OsuHitObje
public override IconUsage? Icon => OsuIcon.ModBlinds;
public override ModType Type => ModType.DifficultyIncrease;

public override double ScoreMultiplier => UsesDefaultConfiguration ? 1.12 : 1;
public override double ScoreMultiplier(IReadOnlyCollection<Mod> mods) => UsesDefaultConfiguration ? 1.12 : 1;
public override Type[] IncompatibleMods => new[] { typeof(OsuModFlashlight) };
public override bool Ranked => true;

Expand Down
3 changes: 2 additions & 1 deletion osu.Game.Rulesets.Osu/Mods/OsuModBloom.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
// See the LICENCE file in the repository root for full licence text.

using System;
using System.Collections.Generic;
using osu.Framework.Bindables;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Localisation;
Expand All @@ -26,7 +27,7 @@ public class OsuModBloom : Mod, IApplicableToScoreProcessor, IUpdatableByPlayfie
public override IconUsage? Icon => OsuIcon.ModBloom;
public override ModType Type => ModType.Fun;
public override LocalisableString Description => "The cursor blooms into.. a larger cursor!";
public override double ScoreMultiplier => 1;
public override double ScoreMultiplier(IReadOnlyCollection<Mod> mods) => 1;
protected const float MIN_SIZE = 1;
protected const float TRANSITION_DURATION = 100;
public override Type[] IncompatibleMods => new[] { typeof(OsuModFlashlight), typeof(OsuModNoScope), typeof(ModTouchDevice) };
Expand Down
3 changes: 2 additions & 1 deletion osu.Game.Rulesets.Osu/Mods/OsuModBubbles.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
// See the LICENCE file in the repository root for full licence text.

using System;
using System.Collections.Generic;
using System.Linq;
using osu.Framework.Bindables;
using osu.Framework.Extensions.Color4Extensions;
Expand Down Expand Up @@ -34,7 +35,7 @@ public partial class OsuModBubbles : Mod, IApplicableToDrawableRuleset<OsuHitObj

public override LocalisableString Description => "Don't let their popping distract you!";

public override double ScoreMultiplier => 1;
public override double ScoreMultiplier(IReadOnlyCollection<Mod> mods) => 1;

public override IconUsage? Icon => OsuIcon.ModBubbles;

Expand Down
Loading
Loading