mirror of
https://github.com/ReactionQuake3/reaction.git
synced 2025-02-02 06:33:30 +00:00
Matchmode..
This commit is contained in:
parent
cba8eedc9f
commit
66bb85d216
2 changed files with 48 additions and 0 deletions
|
@ -5,6 +5,9 @@
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// $Log$
|
// $Log$
|
||||||
|
// Revision 1.43 2002/02/02 16:34:02 slicer
|
||||||
|
// Matchmode..
|
||||||
|
//
|
||||||
// Revision 1.42 2002/01/31 02:53:28 blaze
|
// Revision 1.42 2002/01/31 02:53:28 blaze
|
||||||
// err, make that playerstats command
|
// err, make that playerstats command
|
||||||
//
|
//
|
||||||
|
@ -2553,6 +2556,7 @@ void Cmd_PlayerStats_f( gentity_t *ent )
|
||||||
ClientCommand
|
ClientCommand
|
||||||
=================
|
=================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void ClientCommand( int clientNum ) {
|
void ClientCommand( int clientNum ) {
|
||||||
gentity_t *ent;
|
gentity_t *ent;
|
||||||
char cmd[MAX_TOKEN_CHARS];
|
char cmd[MAX_TOKEN_CHARS];
|
||||||
|
@ -2654,6 +2658,10 @@ void ClientCommand( int clientNum ) {
|
||||||
Cmd_SetViewpos_f( ent );
|
Cmd_SetViewpos_f( ent );
|
||||||
else if (Q_stricmp (cmd, "stats") == 0)
|
else if (Q_stricmp (cmd, "stats") == 0)
|
||||||
Cmd_Stats_f( ent );
|
Cmd_Stats_f( ent );
|
||||||
|
//Slicer: matchmode
|
||||||
|
else if (Q_stricmp (cmd, "captain") == 0 && g_matchmode.integer)
|
||||||
|
MM_Captain_f( ent );
|
||||||
|
|
||||||
// Begin Duffman
|
// Begin Duffman
|
||||||
else if (Q_stricmp (cmd, "reload") == 0)
|
else if (Q_stricmp (cmd, "reload") == 0)
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,6 +2,18 @@
|
||||||
|
|
||||||
/* Slicer - This will work on all MatchMode Aspects..
|
/* Slicer - This will work on all MatchMode Aspects..
|
||||||
timers, votes, etc etc. Called on each Frame*/
|
timers, votes, etc etc. Called on each Frame*/
|
||||||
|
qboolean checkCaptain(team_t team) {
|
||||||
|
gentity_t *ent;
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < level.maxclients; i++) {
|
||||||
|
ent = &g_entities[i];
|
||||||
|
if (!ent->inuse)
|
||||||
|
continue;
|
||||||
|
if(ent->client->sess.sessionTeam == team && ent->client->pers.captain == team)
|
||||||
|
return qtrue;
|
||||||
|
}
|
||||||
|
return qfalse;
|
||||||
|
}
|
||||||
void MM_RunFrame(void) {
|
void MM_RunFrame(void) {
|
||||||
int fps;
|
int fps;
|
||||||
|
|
||||||
|
@ -15,5 +27,33 @@ void MM_RunFrame(void) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
void MM_Captain_f( gentity_t *ent ) {
|
||||||
|
|
||||||
|
if(ent->client->sess.sessionTeam == TEAM_FREE) {
|
||||||
|
trap_SendServerCommand(ent-g_entities, "print \"You need to be on a team for that\n\"");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(ent->client->pers.captain != TEAM_FREE) {
|
||||||
|
|
||||||
|
if(ent->client->sess.sessionTeam == TEAM_RED) {
|
||||||
|
level.team1ready = qfalse;
|
||||||
|
trap_SendServerCommand( -1, va("print \"%s is no longer %s's Captain!\n\"",
|
||||||
|
ent->client->pers.netname,"Red Team"));// Teams will have names in the future..
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
level.team2ready = qfalse;
|
||||||
|
trap_SendServerCommand( -1, va("print \"%s is no longer %s's Captain!\n\"",
|
||||||
|
ent->client->pers.netname,"Blue Team"));// Teams will have names in the future..
|
||||||
|
}
|
||||||
|
ent->client->pers.captain = TEAM_FREE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(checkCaptain(ent->client->sess.sessionTeam)) {
|
||||||
|
trap_SendServerCommand(ent-g_entities, va("print \"Your team already has a Captain\n\""));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in a new issue