diff --git a/osu.Game.Tournament/Screens/MapPool/MapPoolScreen.cs b/osu.Game.Tournament/Screens/MapPool/MapPoolScreen.cs index 60abddfe67..9da55cc607 100644 --- a/osu.Game.Tournament/Screens/MapPool/MapPoolScreen.cs +++ b/osu.Game.Tournament/Screens/MapPool/MapPoolScreen.cs @@ -155,10 +155,14 @@ namespace osu.Game.Tournament.Screens.MapPool var previousBan = CurrentMatch.Value.PicksBans.LastOrDefault()?.Team ?? roll_winner; - var nextColour = (CurrentMatch.Value.PicksBans.Count() >= 2 ? CurrentMatch.Value.PicksBans[^2]?.Team : previousBan) == TeamColour.Red ? TeamColour.Blue : TeamColour.Red; + var nextColour = previousBan == TeamColour.Red ? TeamColour.Blue : TeamColour.Red; bool hasAllBans = CurrentMatch.Value.PicksBans.Count(p => p.Type == ChoiceType.Ban) >= totalBansRequired; + if (!hasAllBans) + // If it's the third ban or later, we need to check if it's the team's first or second ban in a row + nextColour = (CurrentMatch.Value.PicksBans.Count() >= 2 ? CurrentMatch.Value.PicksBans[^2]?.Team : previousBan) == TeamColour.Red ? TeamColour.Blue : TeamColour.Red; + if (hasAllBans && pickType == ChoiceType.Ban) { // When switching from bans to picks, we don't rotate the team colour.