game: Prevent callvote when warmup/game is about to end #2573
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently callvote'ing during warmup shortens the vote time (e.g. if callvote happens with 10s of warmup remaining, instead of 30s vote time it will be reduced to 10s as well), this often leads to failed callvotes, as there's not enough time for participation as players are often AFK, especially during warmup, or simply don't have enough time to notice and react.
A common observation on pub servers with 30+ players is that once the initial vote (e.g. shuffleteams) fails during warmup due to missing participation and then the vote is called again at the start of the game right after, enough people switch their voting behavior from 'yes' to 'no', presumably as the erroneously assume that the first vote failed not due to lack of participation but due to lack of approval, that the second vote consequently fails, even tho the first vote looked likely to succeed.
Preventing callvotes when warmup is about to end was already the behavior in dc4828e and then was changed to reducing the votetime instead in
bacade7.