]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/command/vote.qc
Finish up work on timeout system, now has much cleaner functionality (though it still...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / command / vote.qc
index 0f0d431d10f0db132ce39ec9343e1c4d8c153c3d..bf636a3877893a8d7ea4d7587fab07cfe636c167 100644 (file)
@@ -1,6 +1,6 @@
 // =============================================
 //  Server side voting code, reworked by Samual
-//  Last updated: December 14th, 2011
+//  Last updated: December 27th, 2011
 // =============================================
 
 //  Nagger for players to know status of voting
@@ -367,7 +367,7 @@ void ReadyRestart_force()
        }
 
        // after a restart every players number of allowed timeouts gets reset, too
-       if(autocvar_sv_timeout) { FOR_EACH_REALPLAYER(tmp_player) { tmp_player.allowedTimeouts = autocvar_sv_timeout_number; } }
+       if(autocvar_sv_timeout) { FOR_EACH_REALPLAYER(tmp_player) { tmp_player.allowed_timeouts = autocvar_sv_timeout_number; } }
 
        //reset map immediately if this cvar is not set
        if not(autocvar_sv_ready_restart_after_countdown) { reset_map(TRUE); }
@@ -600,7 +600,7 @@ void VoteCommand_abstain(float request, entity caller) // CLIENT ONLY
                default:
                case CMD_REQUEST_USAGE:
                {
-                       print_to(caller, "\nUsage:^3 vote abstain");
+                       print_to(caller, strcat("\nUsage:^3 ", GetCommandPrefix(caller), " vote abstain"));
                        print_to(caller, "  No arguments required.");
                        return;
                }
@@ -625,7 +625,7 @@ void VoteCommand_call(float request, entity caller, float argc, string vote_comm
                        if not(autocvar_sv_vote_call || !caller) { print_to(caller, "^1Vote calling is not allowed."); }
                        else if(vote_called) { print_to(caller, "^1There is already a vote called."); }
                        else if(!spectators_allowed && (caller && (caller.classname != "player"))) { print_to(caller, "^1Only players can call a vote."); }
-                       else if(timeoutStatus) { print_to(caller, "^1You can not call a vote while a timeout is active."); }
+                       else if(timeout_status) { print_to(caller, "^1You can not call a vote while a timeout is active."); }
                        else if(caller && (time < caller.vote_waittime)) { print_to(caller, strcat("^1You have to wait ^2", ftos(ceil(caller.vote_waittime - time)), "^1 seconds before you can again call a vote.")); }
                        else if not(VoteCommand_checknasty(vote_command)) { print_to(caller, "^1Syntax error in command, see 'vhelp' for more info."); }
                        else if not(VoteCommand_parse(caller, vote_command, autocvar_sv_vote_commands, 2, argc)) { print_to(caller, "^1This command is not acceptable, see 'vhelp' for more info."); }
@@ -660,10 +660,10 @@ void VoteCommand_call(float request, entity caller, float argc, string vote_comm
                default:
                case CMD_REQUEST_USAGE:
                {
-                       print_to(caller, "\nUsage:^3 vote call command");
+                       print_to(caller, strcat("\nUsage:^3 ", GetCommandPrefix(caller), " vote call command"));
                        print_to(caller, "  Where 'command' is the command to request a vote upon.");
-                       print_to(caller, "Examples: call gotomap dance");
-                       print_to(caller, "          call endmatch");
+                       print_to(caller, strcat("Examples: ", GetCommandPrefix(caller), " vote call gotomap dance"));
+                       print_to(caller, strcat("          ", GetCommandPrefix(caller), " vote call endmatch"));
                        return;
                }
        }
@@ -719,6 +719,7 @@ void VoteCommand_master(float request, entity caller, float argc, string vote_co
                                        {
                                                if not(autocvar_sv_vote_master_callable) { print_to(caller, "^1Vote to become vote master is not allowed."); }
                                                else if(vote_called) { print_to(caller, "^1There is already a vote called."); }
+                                               else if(timeout_status) { print_to(caller, "^1You can not call a vote while a timeout is active."); }
                                                
                                                else // everything went okay, continue with creating vote
                                                {
@@ -749,7 +750,7 @@ void VoteCommand_master(float request, entity caller, float argc, string vote_co
                default:
                case CMD_REQUEST_USAGE:
                {
-                       print_to(caller, "\nUsage:^3 vote master [action [command | password]]");
+                       print_to(caller, strcat("\nUsage:^3 ", GetCommandPrefix(caller), " vote master [action [command | password]]"));
                        print_to(caller, "  If action is left blank, it calls a vote for you to become master.");
                        print_to(caller, "  Otherwise the actions are either 'do' a command or 'login' as master.");
                        return;
@@ -781,7 +782,7 @@ void VoteCommand_no(float request, entity caller) // CLIENT ONLY
                default:
                case CMD_REQUEST_USAGE:
                {
-                       print_to(caller, "\nUsage:^3 vote no");
+                       print_to(caller, strcat("\nUsage:^3 ", GetCommandPrefix(caller), " vote no"));
                        print_to(caller, "  No arguments required.");
                        return;
                }
@@ -805,7 +806,7 @@ void VoteCommand_status(float request, entity caller) // BOTH
                default:
                case CMD_REQUEST_USAGE:
                {
-                       print_to(caller, "\nUsage:^3 vote status");
+                       print_to(caller, strcat("\nUsage:^3 ", GetCommandPrefix(caller), " vote status"));
                        print_to(caller, "  No arguments required.");
                        return;
                }
@@ -828,7 +829,7 @@ void VoteCommand_stop(float request, entity caller) // BOTH
                default:
                case CMD_REQUEST_USAGE:
                {
-                       print_to(caller, "\nUsage:^3 vote stop");
+                       print_to(caller, strcat("\nUsage:^3 ", GetCommandPrefix(caller), " vote stop"));
                        print_to(caller, "  No arguments required.");
                        return;
                }
@@ -842,7 +843,7 @@ void VoteCommand_yes(float request, entity caller) // CLIENT ONLY
                case CMD_REQUEST_COMMAND:
                {
                        if not(vote_called) { print_to(caller, "^1No vote called."); }
-                       if not(caller.vote_selection == VOTE_SELECT_NULL || autocvar_sv_vote_change) { print_to(caller, "^1You have already voted."); }
+                       else if not(caller.vote_selection == VOTE_SELECT_NULL || autocvar_sv_vote_change) { print_to(caller, "^1You have already voted."); }
                        
                        else // everything went okay, continue changing vote
                        {
@@ -858,7 +859,7 @@ void VoteCommand_yes(float request, entity caller) // CLIENT ONLY
                default:
                case CMD_REQUEST_USAGE:
                {
-                       print_to(caller, "\nUsage:^3 vote yes");
+                       print_to(caller, strcat("\nUsage:^3 ", GetCommandPrefix(caller), " vote yes"));
                        print_to(caller, "  No arguments required.");
                        return;
                }
@@ -880,7 +881,7 @@ void VoteCommand_(float request)
                default:
                case CMD_REQUEST_USAGE:
                {
-                       print_to(caller, "\nUsage:^3 vote ");
+                       print_to(caller, strcat("\nUsage:^3 ", GetCommandPrefix(caller), " vote ");
                        print_to(caller, "  No arguments required.");
                        return;
                }
@@ -898,7 +899,7 @@ void VoteCommand_(float request)
        VOTE_COMMAND("abstain", VoteCommand_abstain(request, caller), "Abstain your vote in current vote", VC_ASGNMNT_CLIENTONLY) \
        VOTE_COMMAND("call", VoteCommand_call(request, caller, arguments, command), "Create a new vote for players to decide on", VC_ASGNMNT_BOTH) \
        VOTE_COMMAND("help", VoteCommand_macro_help(caller, arguments), "Shows this information", VC_ASGNMNT_BOTH) \
-       VOTE_COMMAND("master", VoteCommand_master(request, caller, arguments, command), "", VC_ASGNMNT_CLIENTONLY) \
+       VOTE_COMMAND("master", VoteCommand_master(request, caller, arguments, command), "TODO", VC_ASGNMNT_CLIENTONLY) \
        VOTE_COMMAND("no", VoteCommand_no(request, caller), "Select no in current vote", VC_ASGNMNT_CLIENTONLY) \
        VOTE_COMMAND("status", VoteCommand_status(request, caller), "Prints information about current vote", VC_ASGNMNT_BOTH) \
        VOTE_COMMAND("stop", VoteCommand_stop(request, caller), "Immediately end a vote", VC_ASGNMNT_BOTH) \