From 37b8af1e6eb90378f1290b5130c8b6882b06a219 Mon Sep 17 00:00:00 2001 From: Paweł Redman Date: Mon, 9 Sep 2013 23:24:54 +0200 Subject: 0.1.3 --- src/game/g_cmds.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'src/game/g_cmds.c') diff --git a/src/game/g_cmds.c b/src/game/g_cmds.c index aebb975..c9c6213 100644 --- a/src/game/g_cmds.c +++ b/src/game/g_cmds.c @@ -1363,12 +1363,28 @@ void Cmd_CallVote_f( gentity_t *ent ) } else if( !Q_stricmp( vote, "map_restart" ) ) { + if( level.time / 60000 >= g_restartVoteTimelimit.integer ) + { + trap_SendServerCommand( ent-g_entities, + va( "print \"%s: It's not allowed to call a restart vote after %i minute%s.\n\"", + cmd, g_restartVoteTimelimit.integer, ( g_restartVoteTimelimit.integer == 1 ? "" : "s" ) ) ); + return; + } strcpy( level.voteString[ team ], vote ); strcpy( level.voteDisplayString[ team ], "Restart current map" ); + level.voteThreshold[ team ] = g_restartVotePercent.integer; // map_restart comes with a default delay } else if( !Q_stricmp( vote, "map" ) ) { + if( level.time / 60000 >= g_mapVoteTimelimit.integer ) + { + trap_SendServerCommand( ent-g_entities, + va( "print \"%s: It's not allowed to call a map vote after %i minute%s. Call a ^1nextmap^7 vote instead\n\"", + cmd, g_mapVoteTimelimit.integer, ( g_mapVoteTimelimit.integer == 1 ? "" : "s" ) ) ); + return; + } + if( !G_MapExists( arg ) ) { trap_SendServerCommand( ent-g_entities, @@ -1383,6 +1399,7 @@ void Cmd_CallVote_f( gentity_t *ent ) sizeof( level.voteDisplayString[ team ] ), "Change to map '%s'", arg ); level.voteDelay[ team ] = 3000; + level.voteThreshold[ team ] = g_mapVotePercent.integer; } else if( !Q_stricmp( vote, "nextmap" ) ) { @@ -1406,13 +1423,14 @@ void Cmd_CallVote_f( gentity_t *ent ) "set g_nextMap \"%s\"", arg ); Com_sprintf( level.voteDisplayString[ team ], sizeof( level.voteDisplayString[ team ] ), - "Set the next map to '%s'", arg ); + "Set the ^1next^7 map to '%s'", arg ); } else if( !Q_stricmp( vote, "draw" ) ) { strcpy( level.voteString[ team ], "evacuation" ); strcpy( level.voteDisplayString[ team ], "End match in a draw" ); level.voteDelay[ team ] = 3000; + level.voteThreshold[ team ] = g_drawVotePercent.integer; } else if( !Q_stricmp( vote, "sudden_death" ) ) { @@ -1552,6 +1570,9 @@ void Cmd_CallVote_f( gentity_t *ent ) ent->client->pers.namelog->voteCount++; ent->client->pers.vote |= 1 << team; G_Vote( ent, team, qtrue ); + + level.voteAborted[ team ] = qfalse; + trap_SendServerCommand( -1, "voteevent votenow" ); } /* -- cgit