diff options
Diffstat (limited to 'src/game/g_admin.c')
-rw-r--r-- | src/game/g_admin.c | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/game/g_admin.c b/src/game/g_admin.c index ea6a896..dfccfa3 100644 --- a/src/game/g_admin.c +++ b/src/game/g_admin.c @@ -446,6 +446,11 @@ g_admin_cmd_t g_admin_cmds[ ] = {"range", G_admin_range, "range", "changes a player's bite/swipe/chomp range", "[^3name|slot#^7] [^5range^7]" + }, + + {"practise", G_admin_practise, "practise", + "enables practise mode", + "[^3on|off^7]" } }; @@ -8431,3 +8436,56 @@ qboolean G_admin_range( gentity_t *ent, int skiparg ) return qtrue; } + +qboolean G_admin_practise( gentity_t *ent, int skiparg ) +{ + int minargc; + char arg[ MAX_STRING_CHARS ]; + minargc = 2 + skiparg; + + if( G_SayArgc() < minargc ) + { + ADMP( "^3!practise: ^7usage: !practise [on|off]\n" ); + return qfalse; + } + + G_SayArgv( 1 + skiparg, arg, sizeof( arg ) ); + + if( !Q_stricmp( arg, "on" ) ) + { + if( g_practise.integer ) + { + ADMP( "^3!practise: ^7practise mode is already on\n" ); + return qfalse; + } + trap_Cvar_Set( "g_practise", "1" ); + trap_Cvar_Set( "g_alienStage", "2" ); + trap_Cvar_Set( "g_humanStage", "2" ); + strcpy( arg, "^2enabled^7" ); + } + else if( !Q_stricmp( arg, "off" ) ) + { + if( !g_practise.integer ) + { + ADMP( "^3!practise: ^7practise mode is already off\n" ); + return qfalse; + } + trap_Cvar_Set( "g_practise", "0" ); + strcpy( arg, "^1disabled^7" ); + } + else + { + ADMP( "^3!practise: ^7usage: !practise [on|off]\n" ); + return qfalse; + } + + if( ent ) + ent->flags ^= FL_NOTARGET; + + AP( va( "print \"^3!practise: ^7practise mode was %s by %s\n\"", + arg, + ( ent ) ? G_admin_adminPrintName( ent ) : "console" ) ); + + return qtrue; + +} |