+#if defined(CSQC)
+#elif defined(MENUQC)
+#elif defined(SVQC)
+ #include "../../dpdefs/progsdefs.qh"
+ #include "../../dpdefs/dpextensions.qh"
+ #include "../../common/constants.qh"
+ #include "../../common/util.qh"
+ #include "../../common/command/shared_defs.qh"
+ #include "../autocvars.qh"
+ #include "../constants.qh"
+ #include "../defs.qh"
+ #include "../../common/notifications.qh"
+ #include "../mutators/mutators_include.qh"
+ #include "../../common/mapinfo.qh"
+ #include "common.qh"
+ #include "vote.qh"
+ #include "../../common/playerstats.qh"
+ #include "../scores.qh"
+ #include "../race.qh"
+ #include "../round_handler.qh"
+#endif
+
// =============================================
// Server side voting code, reworked by Samual
// Last updated: December 27th, 2011
// Nagger for players to know status of voting
float Nagger_SendEntity(entity to, float sendflags)
{
- float nags, i, f, b;
+ int nags, i, f, b;
entity e;
WriteByte(MSG_ENTITY, ENT_CLIENT_NAGGER);
}
}
- return TRUE;
+ return true;
}
void Nagger_Init()
{
- Net_LinkEntity(nagger = spawn(), FALSE, 0, Nagger_SendEntity);
+ Net_LinkEntity(nagger = spawn(), false, 0, Nagger_SendEntity);
}
void Nagger_VoteChanged()
if(vote_endtime > 0) // a vote was called
if(time > vote_endtime) // time is up
{
- VoteCount(FALSE);
+ VoteCount(false);
}
return;
void ReadyRestart_think()
{
restart_mapalreadyrestarted = 1;
- reset_map(TRUE);
+ reset_map(true);
Score_ClearAll();
remove(self);
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 (!autocvar_sv_ready_restart_after_countdown) { reset_map(TRUE); }
+ if (!autocvar_sv_ready_restart_after_countdown) { reset_map(true); }
if(autocvar_sv_eventlog) { GameLogEcho(":restart"); }
}
|| ((!from_server && assignment == VC_ASGNMNT_CLIENTONLY)
|| (from_server && assignment == VC_ASGNMNT_SERVERONLY)))
{
- return TRUE;
+ return true;
}
- return FALSE;
+ return false;
}
string VoteCommand_extractcommand(string input, float startpos, float argc)
|| (strstrofs(vote_command, "\n", 0) >= 0)
|| (strstrofs(vote_command, "\r", 0) >= 0)
|| (strstrofs(vote_command, "$", 0) >= 0))
- return FALSE;
+ return false;
- return TRUE;
+ return true;
}
float VoteCommand_checkinlist(string vote_command, string list)
string l = strcat(" ", list, " ");
if(strstrofs(l, strcat(" ", vote_command, " "), 0) >= 0)
- return TRUE;
+ return true;
- return FALSE;
+ return false;
}
string ValidateMap(string validated_map, entity caller)
float checkmate;
if(cmdrestriction == "")
- return TRUE;
+ return true;
++startpos; // skip command name
minargs = stof(cmdrestriction);
if(argc - startpos < minargs)
- return FALSE;
+ return false;
p = strstrofs(cmdrestriction, ";", 0); // find first semicolon
- for(;;)
+ for (;;)
{
// we know that at any time, startpos <= argc - minargs
// so this means: argc-minargs >= startpos >= argc, thus
break;
// otherwise fail
- return FALSE;
+ return false;
}
// cut to next semicolon
checkmate = strlen(arg);
for(check = 0; check < checkmate; ++check)
if(strstrofs(charlist, substring(arg, check, 1), 0) < 0)
- return FALSE; // not allowed character
+ return false; // not allowed character
// all characters are allowed. FINE.
}
p = q;
}
- return TRUE;
+ return true;
}
float VoteCommand_parse(entity caller, string vote_command, string vote_list, float startpos, float argc)
&&
(strlen(substring(vote_command, argv_start_index(startpos), strlen(vote_command) - argv_start_index(startpos))) > autocvar_sv_vote_limit)
)
- return FALSE;
+ return false;
if (!VoteCommand_checkinlist(first_command, vote_list))
- return FALSE;
+ return false;
if (!VoteCommand_checkargs(startpos, argc))
- return FALSE;
+ return false;
switch(first_command) // now go through and parse the proper commands to adjust as needed.
{
case "kickban": // catch all kick/kickban commands
{
entity victim = GetIndexedEntity(argc, (startpos + 1));
- float accepted = VerifyClientEntity(victim, TRUE, FALSE);
+ float accepted = VerifyClientEntity(victim, true, false);
if(accepted > 0)
{
vote_parsed_command = strcat(first_command, " # ", ftos(num_for_edict(victim)), " ", command_arguments);
vote_parsed_display = strcat("^1", vote_command, " (^7", victim.netname, "^1): ", reason);
}
- else { print_to(caller, strcat("vcall: ", GetClientErrorString(accepted, argv(startpos + 1)), ".\n")); return FALSE; }
+ else { print_to(caller, strcat("vcall: ", GetClientErrorString(accepted, argv(startpos + 1)), ".\n")); return false; }
break;
}
case "gotomap": // re-direct all map selection commands to gotomap
{
vote_command = ValidateMap(argv(startpos + 1), caller);
- if (!vote_command) { return FALSE; }
+ if (!vote_command) { return false; }
vote_parsed_command = strcat("gotomap ", vote_command);
vote_parsed_display = strzone(strcat("^1", vote_parsed_command));
}
}
- return TRUE;
+ return true;
}
print_to(caller, "^1You abstained from your vote.");
caller.vote_selection = VOTE_SELECT_ABSTAIN;
msg_entity = caller;
- if(!autocvar_sv_vote_singlecount) { VoteCount(FALSE); }
+ if(!autocvar_sv_vote_singlecount) { VoteCount(false); }
}
return;
bprint("\{1}^2* ^3", GetCallerName(vote_caller), "^2 calls a vote for ", vote_called_display, "\n");
if(autocvar_sv_eventlog) { GameLogEcho(strcat(":vote:vcall:", ftos(vote_caller.playerid), ":", vote_called_display)); }
Nagger_VoteChanged();
- VoteCount(TRUE); // needed if you are the only one
+ VoteCount(true); // needed if you are the only one
}
return;
else // everything went okay, proceed with giving this player master privilages
{
- caller.vote_master = TRUE;
+ caller.vote_master = true;
print_to(caller, strcat("Accepted vote master login from ", GetCallerName(caller)));
bprint("\{1}^2* ^3", GetCallerName(caller), "^2 logged in as ^3master^2\n");
if(autocvar_sv_eventlog) { GameLogEcho(strcat(":vote:vlogin:", ftos(caller.playerid))); }
bprint("\{1}^2* ^3", GetCallerName(vote_caller), "^2 calls a vote to become ^3master^2.\n");
if(autocvar_sv_eventlog) { GameLogEcho(strcat(":vote:vcall:", ftos(vote_caller.playerid), ":", vote_called_display)); }
Nagger_VoteChanged();
- VoteCount(TRUE); // needed if you are the only one
+ VoteCount(true); // needed if you are the only one
}
return;
print_to(caller, "^1You rejected the vote.");
caller.vote_selection = VOTE_SELECT_REJECT;
msg_entity = caller;
- if(!autocvar_sv_vote_singlecount) { VoteCount(FALSE); }
+ if(!autocvar_sv_vote_singlecount) { VoteCount(false); }
}
return;
print_to(caller, "^1You accepted the vote.");
caller.vote_selection = VOTE_SELECT_ACCEPT;
msg_entity = caller;
- if(!autocvar_sv_vote_singlecount) { VoteCount(FALSE); }
+ if(!autocvar_sv_vote_singlecount) { VoteCount(false); }
}
return;
#define VOTE_COMMAND(name,function,description,assignment) \
{ if(Votecommand_check_assignment(caller, assignment)) { print_to(caller, strcat(" ^2", name, "^7: ", description)); } }
- VOTE_COMMANDS(0, caller, 0, "")
+ VOTE_COMMANDS(0, caller, 0, "");
#undef VOTE_COMMAND
print_to(caller, strcat("\nUsage:^3 ", command_origin, " vote COMMAND...^7, where possible commands are listed above.\n"));
#define VOTE_COMMAND(name,function,description,assignment) \
{ if(Votecommand_check_assignment(caller, assignment)) { if(name == strtolower(argv(2))) { function; return; } } }
- VOTE_COMMANDS(CMD_REQUEST_USAGE, caller, argc, "")
+ VOTE_COMMANDS(CMD_REQUEST_USAGE, caller, argc, "");
#undef VOTE_COMMAND
}
float VoteCommand_macro_command(entity caller, float argc, string vote_command)
{
#define VOTE_COMMAND(name,function,description,assignment) \
- { if(Votecommand_check_assignment(caller, assignment)) { if(name == strtolower(argv(1))) { function; return TRUE; } } }
+ { if(Votecommand_check_assignment(caller, assignment)) { if(name == strtolower(argv(1))) { function; return true; } } }
- VOTE_COMMANDS(CMD_REQUEST_COMMAND, caller, argc, vote_command)
+ VOTE_COMMANDS(CMD_REQUEST_COMMAND, caller, argc, vote_command);
#undef VOTE_COMMAND
- return FALSE;
+ return false;
}