File tree 1 file changed +14
-13
lines changed
DXMainClient/DXGUI/Multiplayer/GameLobby
1 file changed +14
-13
lines changed Original file line number Diff line number Diff line change @@ -735,8 +735,8 @@ private void PickRandomMap()
735
735
return ;
736
736
737
737
int random = new Random ( ) . Next ( 0 , maps . Count ) ;
738
- GameModeMap = GameModeMaps . Find ( gmm => gmm . GameMode == GameMode && gmm . Map == maps [ random ] ) ;
739
-
738
+ bool isFavoriteMapsSelected = IsFavoriteMapsSelected ( ) ;
739
+ GameModeMap = GameModeMaps . Find ( gmm => ( gmm . GameMode == GameMode || gmm . IsFavorite && isFavoriteMapsSelected ) && gmm . Map == maps [ random ] ) ;
740
740
Logger . Log ( "PickRandomMap: Rolled " + random + " out of " + maps . Count + ". Picked map: " + Map . Name ) ;
741
741
742
742
ChangeMap ( GameModeMap ) ;
@@ -747,17 +747,18 @@ private void PickRandomMap()
747
747
748
748
private List < Map > GetMapList ( int playerCount )
749
749
{
750
- if ( playerCount == 1 )
751
- {
752
- List < Map > allMaps = GameMode ? . Maps . ToList ( ) ?? new List < Map > ( ) ;
753
- return allMaps ;
754
- }
755
-
756
- List < Map > mapList = ( GameMode ? . Maps . Where ( x => x . MaxPlayers == playerCount ) ?? Array . Empty < Map > ( ) ) . ToList ( ) ;
757
- if ( mapList . Count < 1 && playerCount <= MAX_PLAYER_COUNT )
758
- return GetMapList ( playerCount + 1 ) ;
759
- else
760
- return mapList ;
750
+ List < Map > maps = IsFavoriteMapsSelected ( )
751
+ ? GetFavoriteGameModeMaps ( ) . Select ( gmm => gmm . Map ) . ToList ( )
752
+ : GameMode ? . Maps . ToList ( ) ?? new List < Map > ( ) ;
753
+
754
+ if ( playerCount != 1 )
755
+ {
756
+ maps = maps . Where ( x => x . MaxPlayers == playerCount ) . ToList ( ) ;
757
+ if ( maps . Count < 1 && playerCount <= MAX_PLAYER_COUNT )
758
+ return GetMapList ( playerCount + 1 ) ;
759
+ }
760
+
761
+ return maps ;
761
762
}
762
763
763
764
/// <summary>
You can’t perform that action at this time.
0 commit comments