float votefinished;
.float vote_master;
.float vote_next;
-.float vote_vote;
-float vote_yescount;
-float vote_nocount;
-float vote_abstaincount;
-float vote_needed_absolute;
-float vote_needed_simple;
+.float vote_selection;
+float vote_accept_count;
+float vote_reject_count;
+float vote_abstain_count;
+float vote_needed_overall;
-float VoteCheckNasty(string cmd);
-entity GetKickVoteVictim(string vote, string cmd, entity caller);
-float GameCommand_Vote(string s, entity e);
+string VoteCommand_getname(entity caller);
+void VoteCommand(float request, entity caller, float argc, string vote_command);
void VoteHelp(entity e);
-string VoteNetname(entity e);
-string ValidateMap(string m, entity e);
void VoteThink();
-string VoteParse(string s, float tokens);
-float VoteAllowed(string vote, string cmd);
void VoteReset();
void VoteAccept();
void VoteReject();
void VoteStop(entity stopper);
void VoteSpam(float notvoters, float mincount, string result);
void VoteCount();
+
+// =========================
+// warmup and nagger stuff
+// =========================
+
+#define RESTART_COUNTDOWN 10
+entity nagger;
+.float ready;
+float readycount;
+float readyrestart_happened;
+float restart_mapalreadyrestarted; // bool, indicates whether reset_map() was already executed
+void ReadyCount();
\ No newline at end of file