First of all thank you for putting in the work to get this in the game, this has been much needed for the past 10 years.
Now to complain...
It's way clunkier than it needs to be. With the letsvote phase, nomination phase, finally getting to the actual voting, it's just too much reading and typing for everyone to focus on, way too disruptive to the game. People aren't paying full attention to the chatbox, and the important notifications zoom by when you've got flag events and frag notifications popping off constantly. Sounds and center messages will definitely help that, but it can and should be much simpler.
There's no reason that 1 person should not be able to start a vote. If people don't want a change they simply don't vote or vote to keep the current map.
yami: startvote changemap frostbyte ctf
(center text, or better yet a popup on the side like the engineer core box)
yami wants to change the map to frostbyte ctf. Hit F1 to vote yes, F2 to keep current map
- Less than 60% participate in vote= no change
- If 60% participation:
- 51% of participants vote yes= change
- 51% of participants vote no= no change
If I start a vote that fails I can't startvote for 5 minutes
If you want to change maps but didn't like my choice you vote "no" and can do your own startvote 30 seconds after mine fails
This way the person that wants the new map has to do all the heavy lifting. The people that are playing have a simple yes or no choice and 1 button to press (or ignore), for minimal disruption. No need for the messy vetovote either.
This would easily extend to a votekick
yami: startvote votekick poponfu <reason>
yami wants to kick popunfu for reason: aimbotting. Hit F1 for yes, F2 for no
This is basically how it works on vanilla TF2 servers.
No matter what you do to the voting system we need
a list of all available maps and gametypes to nominate, and which gametypes are available in which maps. Obviously an in game menu would be ideal but I am willing to go low-tech and print out a cheat sheet.