diff --git a/Bombd/Core/SimServer.cs b/Bombd/Core/SimServer.cs index 58c2aad..2a4d87b 100644 --- a/Bombd/Core/SimServer.cs +++ b/Bombd/Core/SimServer.cs @@ -369,7 +369,7 @@ private void UpdateVotePackage() { if (_raceSettings == null) return; - _votePackage.Value.StartVote(_raceSettings.Value.CreationId); + _votePackage.Value.StartVote(_raceSettings.Value.CreationId, _players.Count); _votePackage.Sync(); } diff --git a/Bombd/Core/WebApiManager.cs b/Bombd/Core/WebApiManager.cs index 1a774ff..fe1dfa2 100644 --- a/Bombd/Core/WebApiManager.cs +++ b/Bombd/Core/WebApiManager.cs @@ -119,9 +119,9 @@ public static CoiInfo GetCircleOfInfluence() return coi; } - public static List GetRandomTracks(int currentTrackId) + public static List GetRandomTracks(int currentTrackId, int playerCount) { - string json = MakeRequest($"{BombdConfig.Instance.ApiURL}/api/VotePackage?trackId={currentTrackId}"); + string json = MakeRequest($"{BombdConfig.Instance.ApiURL}/api/VotePackage?trackId={currentTrackId}&playerCount={playerCount}"); if (string.IsNullOrEmpty(json)) return Career.Karting.GetVotePackage(currentTrackId); try diff --git a/Bombd/Types/Network/Objects/VotePackage.cs b/Bombd/Types/Network/Objects/VotePackage.cs index 6c6e61b..28710d2 100644 --- a/Bombd/Types/Network/Objects/VotePackage.cs +++ b/Bombd/Types/Network/Objects/VotePackage.cs @@ -92,7 +92,7 @@ public void CastVote(int userId, int trackId) } } - public void StartVote(int replayCreationId) + public void StartVote(int replayCreationId, int playerCount) { _finalizedVotedTrack = -1; _state = 1; @@ -100,10 +100,7 @@ public void StartVote(int replayCreationId) int trackIndex = 0; _tracks[trackIndex++].Set(replayCreationId); - List randomTracks = - replayCreationId > NetCreationIdRange.MinOnlineCreationId - ? WebApiManager.GetRandomTracks(replayCreationId) - : Career.Karting.GetVotePackage(replayCreationId); + List randomTracks = WebApiManager.GetRandomTracks(replayCreationId, playerCount); foreach (int track in randomTracks) _tracks[trackIndex++].Set(track);