diff options
Diffstat (limited to 'src/game/g_admin.c')
-rw-r--r-- | src/game/g_admin.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/game/g_admin.c b/src/game/g_admin.c index ff65e70..05f43f4 100644 --- a/src/game/g_admin.c +++ b/src/game/g_admin.c @@ -389,6 +389,11 @@ g_admin_cmd_t g_admin_cmds[ ] = {"bubble", G_admin_bubble, "bubble", "continuously spawn bubbles around a player", "[^3name|slot#^7]" + }, + + {"scrim", G_admin_scrim, "scrim", + "toggles scrim mode", + "[on|off]", } }; @@ -2331,6 +2336,7 @@ static AdminFlagListEntry_t adminFlagList[] = { ADMF_TEAMCHANGEFREE, "keeps credits on team switch" }, { ADMF_TEAMCHAT_CMD, "can run commands from team chat" }, { ADMF_UNACCOUNTABLE, "does not need to specify reason for kick/ban" }, + { ADMF_NOSCRIMRESTRICTION, "team joining, vote and chat restrictions during scrims do not apply" }, { ADMF_NO_BUILD, "can not build" }, { ADMF_NO_CHAT, "can not talk" }, { ADMF_NO_VOTE, "can not call votes" } @@ -7589,3 +7595,43 @@ qboolean G_admin_bubble( gentity_t *ent, int skiparg ) return qtrue; } + +qboolean G_admin_scrim(gentity_t *ent, int skiparg ) +{ + char state[5]; + + if( G_SayArgc() < 2 + skiparg ) + { + ADMP( "^3!scrim: ^7usage: !scrim [on|off]\n" ); + return qfalse; + } + + G_SayArgv( 1 + skiparg, state, sizeof( state ) ); + + if( !Q_stricmp(state, "on") ) + { + if( g_scrimMode.integer != 0 ) + { + ADMP( "^3!scrim: ^7scrim mode is already enabled.\n" ); + return qfalse; + } + AP( va( "print \"^3!scrim: ^7%s ^7turned scrim mode ^2on^7\n\"", ( ent ) ? G_admin_adminPrintName( ent ) : "console" ) ); + trap_Cvar_Set( "g_scrimMode", "1" ); + } + else if( !Q_stricmp(state, "off") ) + { + if( g_scrimMode.integer == 0 ) + { + ADMP( "^3!scrim: ^7scrim mode is already disabled.\n" ); + return qfalse; + } + AP( va( "print \"^3!scrim: ^7%s ^7turned scrim mode ^1off^7\n\"", ( ent ) ? G_admin_adminPrintName( ent ) : "console" ) ); + trap_Cvar_Set( "g_scrimMode", "0" ); + + } else { + ADMP( "^3!scrim: ^7usage: !scrim [on|off]\n" ); + return qfalse; + } + + return qtrue; +} |