diff --git a/Content.Server/Voting/Managers/VoteManager.DefaultVotes.cs b/Content.Server/Voting/Managers/VoteManager.DefaultVotes.cs index c479f74989..a178ba5064 100644 --- a/Content.Server/Voting/Managers/VoteManager.DefaultVotes.cs +++ b/Content.Server/Voting/Managers/VoteManager.DefaultVotes.cs @@ -57,7 +57,7 @@ namespace Content.Server.Voting.Managers var ghostVotePercentageRequirement = _cfg.GetCVar(CCVars.VoteRestartGhostPercentage); var ghostCount = 0; - + foreach (var player in _playerManager.Sessions) { _playerManager.UpdateState(player); @@ -291,12 +291,6 @@ namespace Content.Server.Voting.Managers if(!preset.ShowInVote) continue; - if(_playerManager.PlayerCount < (preset.MinPlayers ?? int.MinValue)) - continue; - - if(_playerManager.PlayerCount > (preset.MaxPlayers ?? int.MaxValue)) - continue; - presets[preset.ID] = preset.ModeTitle; } return presets; diff --git a/Content.Server/_Honk/RoundEndVote/RoundEndVoteSystem.cs b/Content.Server/_Honk/RoundEndVote/RoundEndVoteSystem.cs new file mode 100644 index 0000000000..d7d94aedfb --- /dev/null +++ b/Content.Server/_Honk/RoundEndVote/RoundEndVoteSystem.cs @@ -0,0 +1,29 @@ +using Content.Server.GameTicking; +using Content.Server.RoundEnd; +using Content.Server.Voting.Managers; +using Content.Shared.Voting; + + +namespace Content.Server._Honk.RoundEndVote; + + +public sealed class RoundEndVoteSystem : EntitySystem +{ + [Dependency] private readonly IVoteManager _voteManager = default!; + [Dependency] private readonly GameTicker _gameTicker = default!; + + public override void Initialize() + { + SubscribeLocalEvent(OnRoundEndSystemChange); + } + + private void OnRoundEndSystemChange(RoundEndSystemChangedEvent ev) + { + //Эта строка проверяет, не находится ли игра в состоянии "PreRoundLobby". + if(_gameTicker.RunLevel != GameRunLevel.PreRoundLobby) + return; + + _voteManager.CreateStandardVote(null, StandardVoteType.Preset); + } + +}