Xonotic
vote.qh File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void Nagger_Init ()
 
void ReadyCount ()
 
void ReadyRestart_force (bool is_fake_round_start)
 
void reset_map (float dorespawn, bool is_fake_round_start)
 
 STATIC_INIT (g_saved_team)
 
 void (entity this) reset
 
void VoteCommand (int request, entity caller, int argc, string vote_command)
 
void VoteCount (float first_count)
 
void VoteReset ()
 
void VoteThink ()
 

Variables

bool autocvar_sv_vote_call
 
bool autocvar_sv_vote_change
 
string autocvar_sv_vote_commands
 
bool autocvar_sv_vote_gamestart
 
int autocvar_sv_vote_limit
 
float autocvar_sv_vote_majority_factor
 
float autocvar_sv_vote_majority_factor_of_voted
 
bool autocvar_sv_vote_master
 
bool autocvar_sv_vote_master_callable
 
string autocvar_sv_vote_master_commands
 
string autocvar_sv_vote_master_password
 
int autocvar_sv_vote_master_playerlimit
 
bool autocvar_sv_vote_no_stops_vote
 
int autocvar_sv_vote_nospectators
 
bool autocvar_sv_vote_override_mostrecent
 
bool autocvar_sv_vote_singlecount
 
float autocvar_sv_vote_stop
 
float autocvar_sv_vote_timeout
 
float autocvar_sv_vote_wait
 
IntrusiveList g_saved_team
 
float last_ready
 
entity nagger
 
float ready
 
float readycount
 
const float RESTART_COUNTDOWN = 10
 
int team_saved
 
const float VC_ASGNMNT_BOTH = 1
 
const float VC_ASGNMNT_CLIENTONLY = 2
 
const float VC_ASGNMNT_SERVERONLY = 3
 
float vote_abstain_count
 
float vote_accept_count
 
float vote_called
 
string vote_called_command
 
string vote_called_display
 
entity vote_caller
 
string vote_caller_name
 
float vote_endtime
 
const float VOTE_MASTER = 2
 
float vote_master
 
float vote_needed_overall
 
const float VOTE_NORMAL = 1
 
const float VOTE_NULL = 0
 
string vote_parsed_command
 
string vote_parsed_display
 
float vote_reject_count
 
const float VOTE_SELECT_ABSTAIN = -2
 
const float VOTE_SELECT_ACCEPT = 1
 
const float VOTE_SELECT_NULL = 0
 
const float VOTE_SELECT_REJECT = -1
 
float vote_selection
 
float vote_waittime
 

Function Documentation

◆ Nagger_Init()

void Nagger_Init ( )

Definition at line 97 of file vote.qc.

References nagger, Nagger_SendEntity(), and new_pure.

Referenced by spawnfunc().

98 {
99  Net_LinkEntity(nagger = new_pure(nagger), false, 0, Nagger_SendEntity);
100 }
bool Nagger_SendEntity(entity this, entity to, float sendflags)
Definition: vote.qc:35
entity nagger
Definition: vote.qh:64
#define new_pure(class)
purely logical entities (.origin doesn't work)
Definition: oo.qh:62
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ReadyCount()

void ReadyCount ( )

Definition at line 498 of file vote.qc.

References bound(), cvar(), floor(), FOREACH_CLIENT, INGAME_JOINED, IS_PLAYER, IS_REAL_CLIENT, Nagger_ReadyCounted(), readycount, and ReadyRestart().

Referenced by ClientCommand_ready(), ClientDisconnect(), and PutObserverInServer().

499 {
500  float ready_needed_factor, ready_needed_count;
501  float t_ready = 0, t_players = 0;
502 
504  ++t_players;
505  if (it.ready) ++t_ready;
506  });
507 
508  readycount = t_ready;
509 
511 
512  ready_needed_factor = bound(0.5, cvar("g_warmup_majority_factor"), 0.999);
513  ready_needed_count = floor(t_players * ready_needed_factor) + 1;
514 
515  if (readycount >= ready_needed_count) ReadyRestart(true);
516 }
#define FOREACH_CLIENT(cond, body)
Definition: utils.qh:49
float readycount
Definition: vote.qh:65
#define IS_REAL_CLIENT(v)
Definition: utils.qh:17
void Nagger_ReadyCounted()
Definition: vote.qc:112
void ReadyRestart(bool forceWarmupEnd)
Definition: vote.qc:484
#define INGAME_JOINED(it)
Definition: sv_rules.qh:21
#define IS_PLAYER(v)
Definition: utils.qh:9
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ReadyRestart_force()

void ReadyRestart_force ( bool  is_fake_round_start)

Definition at line 426 of file vote.qc.

References autocvar_sv_eventlog, autocvar_sv_timeout, autocvar_sv_timeout_number, autocvar_teamplay_lockonrestart, autocvar_timelimit_overtime, bprint(), checkrules_overtimesadded, checkrules_suddendeathend, checkrules_suddendeathwarning, CS(), cvar_set(), entity(), FOREACH_CLIENT, ftos(), g_race_qualifying, GameLogEcho(), IS_PLAYER, IS_REAL_CLIENT, localcmd, lockteams, Nagger_ReadyCounted(), new_pure, readycount, ReadyRestart_think(), reset_map(), RESTART_COUNTDOWN, setthink, sv_ready_restart_after_countdown, teamplay, time, VoteReset(), and warmup_stage.

Referenced by assault_new_round(), and ReadyRestart().

427 {
428  if (time <= game_starttime && game_stopped)
429  return;
430  if (!is_fake_round_start)
431  bprint("^1Match is restarting...\n");
432 
433  VoteReset();
434 
435  // clear overtime, we have to decrease timelimit to its original value again.
437  cvar_set("timelimit", ftos(autocvar_timelimit - (checkrules_overtimesadded * autocvar_timelimit_overtime)));
439 
440  if(warmup_stage)
441  game_starttime = time; // Warmup: No countdown in warmup
442  else
443  game_starttime = time + RESTART_COUNTDOWN; // Go into match mode
444 
445  // clear player attributes
447  it.alivetime = 0;
448  CS(it).killcount = 0;
449  });
450 
451  // if we're ending the warmup stage call the corresponding hook
452  if(!is_fake_round_start && !warmup_stage)
453  localcmd("\nsv_hook_warmupend\n");
454 
455  // reset the .ready status of all players (also spectators)
456  FOREACH_CLIENT(IS_REAL_CLIENT(it), { it.ready = false; });
457  readycount = 0;
458  Nagger_ReadyCounted(); // NOTE: this causes a resend of that entity, and will also turn off warmup state on the client
459 
460  // lock teams with lockonrestart
463 
464  // initiate the restart-countdown-announcer entity
465  if (!is_fake_round_start && sv_ready_restart_after_countdown && !warmup_stage)
466  {
467  entity restart_timer = new_pure(restart_timer);
468  setthink(restart_timer, ReadyRestart_think);
469  restart_timer.nextthink = game_starttime;
470  }
471 
472  // after a restart every players number of allowed timeouts gets reset, too
474  {
475  FOREACH_CLIENT(IS_PLAYER(it) && IS_REAL_CLIENT(it), { CS(it).allowed_timeouts = autocvar_sv_timeout_number; });
476  }
477 
479  reset_map(true, is_fake_round_start);
480 
481  if (autocvar_sv_eventlog) GameLogEcho(":restart");
482 }
bool autocvar_sv_timeout
Definition: common.qh:5
float checkrules_suddendeathend
Definition: world.qh:33
float autocvar_timelimit_overtime
Definition: world.qh:27
entity() spawn
ClientState CS(Client this)
Definition: state.qh:47
#define FOREACH_CLIENT(cond, body)
Definition: utils.qh:49
float readycount
Definition: vote.qh:65
int checkrules_overtimesadded
Definition: world.qh:34
void reset_map(bool dorespawn, bool is_fake_round_start)
Definition: vote.qc:339
float checkrules_suddendeathwarning
Definition: world.qh:32
bool warmup_stage
Definition: main.qh:103
bool g_race_qualifying
Definition: race.qh:12
#define IS_REAL_CLIENT(v)
Definition: utils.qh:17
bool autocvar_teamplay_lockonrestart
Definition: teamplay.qh:6
int autocvar_sv_timeout_number
Definition: common.qh:8
void GameLogEcho(string s)
Definition: gamelog.qc:12
float teamplay
Definition: progsdefs.qc:31
void Nagger_ReadyCounted()
Definition: vote.qc:112
bool lockteams
Definition: teamplay.qh:13
bool sv_ready_restart_after_countdown
Definition: world.qh:119
#define new_pure(class)
purely logical entities (.origin doesn&#39;t work)
Definition: oo.qh:62
#define setthink(e, f)
void VoteReset()
Definition: vote.qc:128
bool autocvar_sv_eventlog
Definition: gamelog.qh:3
float time
Definition: csprogsdefs.qc:16
const float RESTART_COUNTDOWN
Definition: vote.qh:63
void ReadyRestart_think(entity this)
Definition: vote.qc:419
#define IS_PLAYER(v)
Definition: utils.qh:9
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ reset_map()

void reset_map ( float  dorespawn,
bool  is_fake_round_start 
)

◆ STATIC_INIT()

STATIC_INIT ( g_saved_team  )

Definition at line 78 of file vote.qh.

References IL_NEW.

78 { g_saved_team = IL_NEW(); }
#define IL_NEW()
IntrusiveList g_saved_team
Definition: vote.qh:77

◆ void()

void ( entity  this)

◆ VoteCommand()

void VoteCommand ( int  request,
entity  caller,
int  argc,
string  vote_command 
)

Definition at line 1264 of file vote.qc.

References argv(), CMD_REQUEST_COMMAND, CMD_REQUEST_USAGE, GetCommandPrefix(), print_to(), strcat(), VoteCommand_macro_command(), and VoteCommand_macro_help().

Referenced by COMMON_COMMAND().

1265 {
1266  // Guide for working with argc arguments by example:
1267  // argc: 1 - 2 - 3 - 4
1268  // argv: 0 - 1 - 2 - 3
1269  // cmd vote - master - login - password
1270 
1271  switch (request)
1272  {
1273  case CMD_REQUEST_COMMAND:
1274  {
1275  if (VoteCommand_macro_command(caller, argc, vote_command)) return;
1276  }
1277 
1278  default:
1279  print_to(caller, strcat(((argv(1) != "") ? strcat("Unknown vote command \"", argv(1), "\"") : "No command provided"), ". For a list of supported commands, try ", GetCommandPrefix(caller), " vote help.\n"));
1280  case CMD_REQUEST_USAGE:
1281  {
1282  VoteCommand_macro_help(caller, argc);
1283  return;
1284  }
1285  }
1286 }
string GetCommandPrefix(entity caller)
Definition: common.qc:26
const int CMD_REQUEST_USAGE
Definition: command.qh:4
float VoteCommand_macro_command(entity caller, int argc, string vote_command)
Definition: vote.qc:1248
void print_to(entity to, string input)
Definition: common.qc:172
spree_cen s1 spree_cen s1 spree_cen s1 spree_cen s1 spree_cen s1 spree_cen s1 spree_cen s1 f1 s1 strcat(_("Level %s: "), "^BG%s\3\, _("^BGPress ^F2%s^BG to enter the game"))
const int CMD_REQUEST_COMMAND
Definition: command.qh:3
void VoteCommand_macro_help(entity caller, int argc)
Definition: vote.qc:1215
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ VoteCount()

void VoteCount ( float  first_count)

Definition at line 207 of file vote.qc.

References autocvar_sv_vote_majority_factor, autocvar_sv_vote_majority_factor_of_voted, autocvar_sv_vote_master_playerlimit, bound(), floor(), FOREACH_CLIENT, IS_CLIENT, IS_PLAYER, IS_REAL_CLIENT, min(), Nagger_VoteCountChanged(), print_to(), spectators_allowed, time, vote_abstain_count, vote_accept_count, vote_called, vote_caller, vote_endtime, VOTE_MASTER, vote_needed_overall, vote_reject_count, VOTE_SELECT_ABSTAIN, VOTE_SELECT_ACCEPT, VoteAccept(), VoteReject(), VoteReset(), VoteSpam(), and VoteTimeout().

Referenced by ClientDisconnect(), PutObserverInServer(), VoteCommand_abstain(), VoteCommand_call(), VoteCommand_master(), VoteCommand_no(), VoteCommand_yes(), and VoteThink().

208 {
209  // declarations
211 
212  float vote_player_count = 0, notvoters = 0;
213  float vote_real_player_count = 0, vote_real_accept_count = 0;
214  float vote_real_reject_count = 0, vote_real_abstain_count = 0;
215  float vote_needed_of_voted, final_needed_votes;
216  float vote_factor_overall, vote_factor_of_voted;
217 
219 
220  // add up all the votes from each connected client
222  ++vote_player_count;
223  if (IS_PLAYER(it)) ++vote_real_player_count;
224  switch (it.vote_selection)
225  {
226  case VOTE_SELECT_REJECT:
227  { ++vote_reject_count;
228  { if (IS_PLAYER(it)) ++vote_real_reject_count; } break;
229  }
230  case VOTE_SELECT_ACCEPT:
231  { ++vote_accept_count;
232  { if (IS_PLAYER(it)) ++vote_real_accept_count; } break;
233  }
234  case VOTE_SELECT_ABSTAIN:
235  { ++vote_abstain_count;
236  { if (IS_PLAYER(it)) ++vote_real_abstain_count; } break;
237  }
238  default: break;
239  }
240  });
241 
242  // Check to see if there are enough players on the server to allow master voting... otherwise, vote master could be used for evil.
243  if ((vote_called == VOTE_MASTER) && autocvar_sv_vote_master_playerlimit > vote_player_count)
244  {
245  if (vote_caller) vote_caller.vote_waittime = 0;
246  print_to(vote_caller, "^1There are not enough players on this server to allow you to become vote master.");
247  VoteReset();
248  return;
249  }
250 
251  // if spectators aren't allowed to vote and there are players in a match, then only count the players in the vote and ignore spectators.
252  if (!spectators_allowed && (vote_real_player_count > 0))
253  {
254  vote_accept_count = vote_real_accept_count;
255  vote_reject_count = vote_real_reject_count;
256  vote_abstain_count = vote_real_abstain_count;
257  vote_player_count = vote_real_player_count;
258  }
259 
260  // people who have no opinion in any way :D
261  notvoters = (vote_player_count - vote_accept_count - vote_reject_count - vote_abstain_count);
262 
263  // determine the goal for the vote to be passed or rejected normally
264  vote_factor_overall = bound(0.5, autocvar_sv_vote_majority_factor, 0.999);
265  vote_needed_overall = floor((vote_player_count - vote_abstain_count) * vote_factor_overall) + 1;
266 
267  // if the vote times out, determine the amount of votes needed of the people who actually already voted
268  vote_factor_of_voted = bound(0.5, autocvar_sv_vote_majority_factor_of_voted, 0.999);
269  vote_needed_of_voted = floor((vote_accept_count + vote_reject_count) * vote_factor_of_voted) + 1;
270 
271  // are there any players at all on the server? it could be an admin vote
272  if (vote_player_count == 0 && first_count)
273  {
274  VoteSpam(0, -1, "yes"); // no players at all, just accept it
275  VoteAccept();
276  return;
277  }
278 
279  // since there ARE players, finally calculate the result of the vote
281  {
282  VoteSpam(notvoters, -1, "yes"); // there is enough acceptions to pass the vote
283  VoteAccept();
284  return;
285  }
286 
287  if (vote_reject_count > vote_player_count - vote_abstain_count - vote_needed_overall)
288  {
289  VoteSpam(notvoters, -1, "no"); // there is enough rejections to deny the vote
290  VoteReject();
291  return;
292  }
293 
294  // there is not enough votes in either direction, now lets just calculate what the voters have said
295  if (time > vote_endtime)
296  {
297  final_needed_votes = vote_needed_overall;
298 
300  {
301  if (vote_accept_count >= vote_needed_of_voted)
302  {
303  VoteSpam(notvoters, min(vote_needed_overall, vote_needed_of_voted), "yes");
304  VoteAccept();
305  return;
306  }
307 
309  {
310  VoteSpam(notvoters, min(vote_needed_overall, vote_needed_of_voted), "no");
311  VoteReject();
312  return;
313  }
314 
315  final_needed_votes = min(vote_needed_overall, vote_needed_of_voted);
316  }
317 
318  // it didn't pass or fail, so not enough votes to even make a decision.
319  VoteSpam(notvoters, final_needed_votes, "timeout");
320  VoteTimeout();
321  }
322 }
float autocvar_sv_vote_majority_factor_of_voted
Definition: vote.qh:8
#define IS_CLIENT(v)
Definition: utils.qh:13
int autocvar_sv_vote_master_playerlimit
Definition: vote.qh:13
float autocvar_sv_vote_majority_factor
Definition: vote.qh:7
const float VOTE_MASTER
Definition: vote.qh:38
#define FOREACH_CLIENT(cond, body)
Definition: utils.qh:49
void Nagger_VoteCountChanged()
Definition: vote.qc:107
void print_to(entity to, string input)
Definition: common.qc:172
float vote_called
Definition: vote.qh:43
void VoteTimeout()
Definition: vote.qc:178
void VoteReject()
Definition: vote.qc:171
#define IS_REAL_CLIENT(v)
Definition: utils.qh:17
float vote_endtime
Definition: vote.qh:44
void VoteAccept()
Definition: vote.qc:158
float vote_accept_count
Definition: vote.qh:45
float vote_needed_overall
Definition: vote.qh:48
float vote_reject_count
Definition: vote.qh:46
entity vote_caller
Definition: vote.qh:41
const float VOTE_SELECT_ACCEPT
Definition: vote.qh:33
float vote_abstain_count
Definition: vote.qh:47
const float VOTE_SELECT_ABSTAIN
Definition: vote.qh:30
void VoteReset()
Definition: vote.qc:128
float time
Definition: csprogsdefs.qc:16
#define spectators_allowed
Definition: vote.qc:205
void VoteSpam(float notvoters, float mincount, string result)
Definition: vote.qc:185
#define IS_PLAYER(v)
Definition: utils.qh:9
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ VoteReset()

void VoteReset ( )

Definition at line 128 of file vote.qc.

References FOREACH_CLIENT, Nagger_VoteChanged(), NULL, strfree, string_null, vote_called, vote_called_command, vote_called_display, vote_caller, vote_caller_name, vote_endtime, VOTE_NULL, vote_parsed_command, and vote_parsed_display.

Referenced by InitGameplayMode(), NextLevel(), ReadyRestart_force(), VoteAccept(), VoteCount(), VoteReject(), VoteStop(), and VoteTimeout().

129 {
130  FOREACH_CLIENT(true, { it.vote_selection = 0; });
131 
132  if (vote_called)
133  {
137  }
138 
140  vote_caller = NULL;
141  vote_endtime = 0;
142 
145 
147 }
string string_null
Definition: nil.qh:9
void Nagger_VoteChanged()
Definition: vote.qc:102
#define FOREACH_CLIENT(cond, body)
Definition: utils.qh:49
float vote_called
Definition: vote.qh:43
const float VOTE_NULL
Definition: vote.qh:36
float vote_endtime
Definition: vote.qh:44
string vote_parsed_display
Definition: vote.qh:55
#define NULL
Definition: post.qh:17
string vote_parsed_command
Definition: vote.qh:54
string vote_called_display
Definition: vote.qh:53
string vote_caller_name
Definition: vote.qh:42
entity vote_caller
Definition: vote.qh:41
#define strfree(this)
Definition: string.qh:56
string vote_called_command
Definition: vote.qh:52
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ VoteThink()

void VoteThink ( )

Definition at line 324 of file vote.qc.

References time, vote_endtime, and VoteCount().

Referenced by CheckRules_World().

325 {
326  if (vote_endtime > 0) // a vote was called
327  {
328  if (time > vote_endtime) // time is up
329  VoteCount(false);
330  }
331 }
float vote_endtime
Definition: vote.qh:44
void VoteCount(float first_count)
Definition: vote.qc:207
float time
Definition: csprogsdefs.qc:16
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ autocvar_sv_vote_call

bool autocvar_sv_vote_call

Definition at line 3 of file vote.qh.

Referenced by VoteCommand_call().

◆ autocvar_sv_vote_change

bool autocvar_sv_vote_change

Definition at line 4 of file vote.qh.

Referenced by VoteCommand_abstain(), VoteCommand_no(), and VoteCommand_yes().

◆ autocvar_sv_vote_commands

string autocvar_sv_vote_commands

Definition at line 5 of file vote.qh.

Referenced by print_available_commands_to(), VoteCommand_call(), and VoteCommand_master().

◆ autocvar_sv_vote_gamestart

bool autocvar_sv_vote_gamestart

Definition at line 22 of file vote.qh.

Referenced by VoteCommand_call().

◆ autocvar_sv_vote_limit

int autocvar_sv_vote_limit

Definition at line 6 of file vote.qh.

Referenced by VoteCommand_parse().

◆ autocvar_sv_vote_majority_factor

float autocvar_sv_vote_majority_factor

Definition at line 7 of file vote.qh.

Referenced by VoteCount().

◆ autocvar_sv_vote_majority_factor_of_voted

float autocvar_sv_vote_majority_factor_of_voted

Definition at line 8 of file vote.qh.

Referenced by VoteCount().

◆ autocvar_sv_vote_master

bool autocvar_sv_vote_master

Definition at line 9 of file vote.qh.

Referenced by VoteCommand_master().

◆ autocvar_sv_vote_master_callable

bool autocvar_sv_vote_master_callable

Definition at line 10 of file vote.qh.

Referenced by VoteCommand_master().

◆ autocvar_sv_vote_master_commands

string autocvar_sv_vote_master_commands

Definition at line 11 of file vote.qh.

Referenced by VoteCommand_master().

◆ autocvar_sv_vote_master_password

string autocvar_sv_vote_master_password

Definition at line 12 of file vote.qh.

Referenced by VoteCommand_master().

◆ autocvar_sv_vote_master_playerlimit

int autocvar_sv_vote_master_playerlimit

Definition at line 13 of file vote.qh.

Referenced by VoteCount().

◆ autocvar_sv_vote_no_stops_vote

bool autocvar_sv_vote_no_stops_vote

Definition at line 14 of file vote.qh.

Referenced by VoteCommand_no().

◆ autocvar_sv_vote_nospectators

int autocvar_sv_vote_nospectators

Definition at line 15 of file vote.qh.

◆ autocvar_sv_vote_override_mostrecent

bool autocvar_sv_vote_override_mostrecent

Definition at line 17 of file vote.qh.

Referenced by ValidateMap().

◆ autocvar_sv_vote_singlecount

bool autocvar_sv_vote_singlecount

Definition at line 18 of file vote.qh.

Referenced by VoteCommand_abstain(), VoteCommand_no(), and VoteCommand_yes().

◆ autocvar_sv_vote_stop

float autocvar_sv_vote_stop

Definition at line 19 of file vote.qh.

Referenced by VoteStop().

◆ autocvar_sv_vote_timeout

float autocvar_sv_vote_timeout

Definition at line 20 of file vote.qh.

Referenced by VoteCommand_call(), and VoteCommand_master().

◆ autocvar_sv_vote_wait

float autocvar_sv_vote_wait

Definition at line 21 of file vote.qh.

Referenced by VoteCommand_call(), and VoteCommand_master().

◆ g_saved_team

IntrusiveList g_saved_team

Definition at line 77 of file vote.qh.

Referenced by assault_new_round(), ons_GeneratorSetup(), and relocate_spawnpoint().

◆ last_ready

float last_ready

Definition at line 67 of file vote.qh.

◆ nagger

entity nagger

◆ ready

float ready

Definition at line 66 of file vote.qh.

◆ readycount

float readycount

Definition at line 65 of file vote.qh.

Referenced by Nagger_SendEntity(), ReadyCount(), and ReadyRestart_force().

◆ RESTART_COUNTDOWN

const float RESTART_COUNTDOWN = 10

Definition at line 63 of file vote.qh.

Referenced by ReadyRestart_force().

◆ team_saved

int team_saved

Definition at line 68 of file vote.qh.

Referenced by ons_GeneratorReset(), and relocate_spawnpoint().

◆ VC_ASGNMNT_BOTH

const float VC_ASGNMNT_BOTH = 1

Definition at line 25 of file vote.qh.

Referenced by Votecommand_check_assignment().

◆ VC_ASGNMNT_CLIENTONLY

const float VC_ASGNMNT_CLIENTONLY = 2

Definition at line 26 of file vote.qh.

Referenced by Votecommand_check_assignment().

◆ VC_ASGNMNT_SERVERONLY

const float VC_ASGNMNT_SERVERONLY = 3

Definition at line 27 of file vote.qh.

Referenced by Votecommand_check_assignment().

◆ vote_abstain_count

float vote_abstain_count

Definition at line 47 of file vote.qh.

Referenced by VoteCount(), and VoteSpam().

◆ vote_accept_count

float vote_accept_count

Definition at line 45 of file vote.qh.

Referenced by Nagger_SendEntity(), VoteCount(), and VoteSpam().

◆ vote_called

◆ vote_called_command

string vote_called_command

Definition at line 52 of file vote.qh.

Referenced by VoteAccept(), VoteCommand_call(), VoteCommand_master(), and VoteReset().

◆ vote_called_display

◆ vote_caller

◆ vote_caller_name

string vote_caller_name

Definition at line 42 of file vote.qh.

Referenced by OriginalCallerName(), VoteCommand_call(), VoteCommand_master(), and VoteReset().

◆ vote_endtime

float vote_endtime

Definition at line 44 of file vote.qh.

Referenced by VoteCommand_call(), VoteCommand_master(), VoteCount(), VoteReset(), and VoteThink().

◆ VOTE_MASTER

const float VOTE_MASTER = 2

Definition at line 38 of file vote.qh.

Referenced by VoteAccept(), VoteCommand_master(), and VoteCount().

◆ vote_master

float vote_master

Definition at line 49 of file vote.qh.

◆ vote_needed_overall

float vote_needed_overall

Definition at line 48 of file vote.qh.

Referenced by Nagger_SendEntity(), and VoteCount().

◆ VOTE_NORMAL

const float VOTE_NORMAL = 1

Definition at line 37 of file vote.qh.

Referenced by VoteCommand_call().

◆ VOTE_NULL

const float VOTE_NULL = 0

Definition at line 36 of file vote.qh.

Referenced by VoteCommand_call(), and VoteReset().

◆ vote_parsed_command

string vote_parsed_command

Definition at line 54 of file vote.qh.

Referenced by VoteCommand_call(), VoteCommand_master(), VoteCommand_parse(), and VoteReset().

◆ vote_parsed_display

string vote_parsed_display

Definition at line 55 of file vote.qh.

Referenced by VoteCommand_call(), VoteCommand_master(), VoteCommand_parse(), and VoteReset().

◆ vote_reject_count

float vote_reject_count

Definition at line 46 of file vote.qh.

Referenced by Nagger_SendEntity(), VoteCount(), and VoteSpam().

◆ VOTE_SELECT_ABSTAIN

const float VOTE_SELECT_ABSTAIN = -2

Definition at line 30 of file vote.qh.

Referenced by VoteCommand_abstain(), and VoteCount().

◆ VOTE_SELECT_ACCEPT

const float VOTE_SELECT_ACCEPT = 1

Definition at line 33 of file vote.qh.

Referenced by VoteCommand_call(), VoteCommand_master(), VoteCommand_yes(), and VoteCount().

◆ VOTE_SELECT_NULL

const float VOTE_SELECT_NULL = 0

Definition at line 32 of file vote.qh.

Referenced by VoteCommand_abstain(), VoteCommand_no(), and VoteCommand_yes().

◆ VOTE_SELECT_REJECT

const float VOTE_SELECT_REJECT = -1

Definition at line 31 of file vote.qh.

Referenced by VoteCommand_no().

◆ vote_selection

float vote_selection

Definition at line 51 of file vote.qh.

Referenced by LocalCommand_handlevote().

◆ vote_waittime

float vote_waittime

Definition at line 50 of file vote.qh.