void _SetKickVote (edict_t * ent, edict_t * target) { if (ent->client->resp.kickvote == target) { ent->client->resp.kickvote = NULL; gi.cprintf (ent, PRINT_MEDIUM, "Your kickvote on %s is removed\n", target->client->pers.netname); if (vk_public->value) gi.bprintf (PRINT_HIGH, "%s doesnt want to kick %s after all\n", ent->client->pers.netname, target->client->pers.netname); } else { if (ent->client->resp.kickvote) { gi.cprintf (ent, PRINT_MEDIUM, "Kickvote was changed to %s\n", target->client->pers.netname); } else { gi.cprintf (ent, PRINT_MEDIUM, "You voted on %s to be kicked\n", target->client->pers.netname); if (vk_public->value) { gi.bprintf (PRINT_HIGH, "%s voted to kick %s\n", ent->client->pers.netname, target->client->pers.netname); } } ent->client->resp.kickvote = target; kickvotechanged = true; } kickvotechanged = true; _CheckKickVote (); }
void _ClrKickVotesOn (edict_t * target) { edict_t *other; int i, j; j = 0; for (i = 1; i <= game.maxclients; i++) { other = &g_edicts[i]; if (other->client && other->inuse) { if (other->client->resp.kickvote == target) { other->client->resp.kickvote = NULL; j++; } } } if (j > 0 || target->client->resp.kickvote) { kickvotechanged = true; _CheckKickVote (); } }
void _ClrKickVotesOn (edict_t * target) { edict_t *other; int i, count = 0; for (i = 0, other = g_edicts + 1; i < game.maxclients; i++, other++) { if (!other->client || !other->inuse) continue; if (other->client->resp.kickvote == target) { other->client->resp.kickvote = NULL; count++; } } if (count > 0 || target->client->resp.kickvote) { kickvotechanged = true; _CheckKickVote(); } }