X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fcommand%2Fvote.qc;h=a34203ffd22025d9b3f2bd2bf2e60540ba9b5080;hb=90d9f7c775306324957323d53d5a4ad995d999e3;hp=b611ab2665896975ab0b4ce15c24da2480f61190;hpb=eb96ca5663dfd89df89396421ef633c409626e9d;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/command/vote.qc b/qcsrc/server/command/vote.qc index b611ab266..a34203ffd 100644 --- a/qcsrc/server/command/vote.qc +++ b/qcsrc/server/command/vote.qc @@ -477,7 +477,7 @@ void ReadyRestart_force() void ReadyRestart() { if (MUTATOR_CALLHOOK(ReadyRestart_Deny) || game_stopped || race_completing) localcmd("restart\n"); - else localcmd("\nsv_hook_gamerestart\n"); + else localcmd("\nsv_hook_readyrestart\n"); // Reset ALL scores, but only do that at the beginning of the countdown if sv_ready_restart_after_countdown is off! // Otherwise scores could be manipulated during the countdown. @@ -542,11 +542,21 @@ float VoteCommand_checknasty(string vote_command) return true; } +// NOTE: requires input to be surrounded by spaces +string VoteCommand_checkreplacements(string input) +{ + string output = input; + // allow gotomap replacements + output = strreplace(" map ", " gotomap ", output); + output = strreplace(" chmap ", " gotomap ", output); + return output; +} + float VoteCommand_checkinlist(string vote_command, string list) { - string l = strcat(" ", list, " "); + string l = VoteCommand_checkreplacements(strcat(" ", list, " ")); - if (strstrofs(l, strcat(" ", vote_command, " "), 0) >= 0) return true; + if (strstrofs(l, VoteCommand_checkreplacements(strcat(" ", vote_command, " ")), 0) >= 0) return true; return false; } @@ -825,7 +835,7 @@ void VoteCommand_call(int request, entity caller, int argc, string vote_command) { print_to(caller, "^1Only connected clients can vote."); } - else if (timeout_status) + else if (timeout_status && vote_command != "timein") { print_to(caller, "^1You can not call a vote while a timeout is active."); }