@@ -29,6 +29,7 @@ public class ServerBattle : Battle
2929 public const int MapVoteTime = 25 ;
3030 public const int NumberOfMapChoices = 4 ;
3131 public const int MinimumAutostartPlayers = 6 ;
32+ public const int PrevBattleQueueOffset = 100000 ;
3233 public static int BattleCounter ;
3334 public int QueueCounter = 0 ;
3435
@@ -1064,7 +1065,7 @@ public virtual void ValidateBattleStatus(UserBattleStatus ubs)
10641065 if ( ubs . QueueOrder <= 0 )
10651066 {
10661067 ubs . QueueOrder = ++ QueueCounter ;
1067- if ( IsInPreviousGame ( ubs . Name ) ) ubs . QueueOrder += 100000 ;
1068+ if ( IsInPreviousGame ( ubs . Name ) ) ubs . QueueOrder += PrevBattleQueueOffset ;
10681069 }
10691070 }
10701071 else
@@ -1134,13 +1135,21 @@ protected virtual async Task OnDedicatedExited(SpringBattleContext springBattleC
11341135 //Initiate discussion time, then map vote, then start vote
11351136 discussionTimer . Interval = ( DiscussionSeconds - 1 ) * 1000 ;
11361137 discussionTimer . Start ( ) ;
1138+ foreach ( var n in previousGamePlayers )
1139+ {
1140+ UserBattleStatus ubs ;
1141+ if ( Users . TryGetValue ( n , out ubs ) )
1142+ {
1143+ if ( ubs . QueueOrder > QueueCounter + PrevBattleQueueOffset / 2 ) ubs . QueueOrder -= PrevBattleQueueOffset ;
1144+ }
1145+ }
11371146 previousGamePlayers = springBattleContext . ActualPlayers . Where ( x => ! x . IsSpectator ) . Select ( x => x . Name ) . ToList ( ) ;
11381147 foreach ( var n in previousGamePlayers )
11391148 {
11401149 UserBattleStatus ubs ;
11411150 if ( Users . TryGetValue ( n , out ubs ) )
11421151 {
1143- ubs . QueueOrder = - 1 ;
1152+ if ( ubs . QueueOrder > 0 && ubs . QueueOrder < QueueCounter + PrevBattleQueueOffset / 2 ) ubs . QueueOrder += PrevBattleQueueOffset ;
11441153 }
11451154 }
11461155 await ValidateAllBattleStatuses ( ) ;
0 commit comments