Skip to content

Commit f2d6198

Browse files
committed
Fix queue order of previous players.
Maintain order stability because it might make the system more understandable.
1 parent 5f2fb12 commit f2d6198

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

ZkLobbyServer/ServerBattle.cs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)