From aa58fa58cb6f2d5a3679a60e5f8fb5f44fd7a8e0 Mon Sep 17 00:00:00 2001 From: Dan Balasescu Date: Wed, 2 Apr 2025 17:59:52 +0900 Subject: [PATCH] Add deduping for active mods, add documentation --- .../Multiplayer/Match/MultiplayerUserModSelectOverlay.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/osu.Game/Screens/OnlinePlay/Multiplayer/Match/MultiplayerUserModSelectOverlay.cs b/osu.Game/Screens/OnlinePlay/Multiplayer/Match/MultiplayerUserModSelectOverlay.cs index c66e1a906c..692ef0fd2f 100644 --- a/osu.Game/Screens/OnlinePlay/Multiplayer/Match/MultiplayerUserModSelectOverlay.cs +++ b/osu.Game/Screens/OnlinePlay/Multiplayer/Match/MultiplayerUserModSelectOverlay.cs @@ -91,7 +91,10 @@ namespace osu.Game.Screens.OnlinePlay.Multiplayer.Match if (!newUserMods.SequenceEqual(SelectedMods.Value)) SelectedMods.Value = newUserMods; - ActiveMods.Value = ComputeActiveMods(); + // The active mods include the playlist item's required mods which change separately from the selected mods. + IReadOnlyList newActiveMods = ComputeActiveMods(); + if (!newActiveMods.SequenceEqual(ActiveMods.Value)) + ActiveMods.Value = ComputeActiveMods(); } protected override IReadOnlyList ComputeActiveMods()