/* -*- LPC -*- */
/*
* $Locker: $
* $Id: ptest_ers.c,v 1.1 1998/01/06 05:25:41 ceres Exp $
* $Log: ptest_ers.c,v $
* Revision 1.1 1998/01/06 05:25:41 ceres
* Initial revision
*
*/
#include <player.h>
#define LOGIN "/secure/login"
inherit "/cmds/base";
int main_menu( string cmd, string name, string reason ) {
string str;
switch ( cmd[ 0 ] ) {
case 'L' :
case 'l' :
/* this_player()->set_finish_func( "main_menu", this_object() ); */
str = PLAYTESTER_HAND->query_show_list();
str += "\n\nSee: 'ptesters H' for help.\n";
this_player()->more_string(str, "Playtester");
return 1;
case 'A' :
case 'a' :
if ( !name ) {
return 0;
}
if ( !LOGIN->test_user( name ) ) {
printf( capitalize( name ) +" does not exist.\n" );
break;
}
if (!PLAYTESTER_HAND->valid_playtester( name ) ) {
printf( capitalize( name ) + " cannot be made a play tester "
"because: " + PLAYTESTER_HAND->reason_invalid_playtester(name) +
".\n");
break;
}
if ( (int)PLAYTESTER_HAND->add_playtester( name ) ) {
printf( capitalize( name ) +" is now a playtester.\n" );
} else {
printf( capitalize( name ) +" is already a playtester.\n" );
}
break;
case 'S' :
case 's' :
if ( !name ) {
return 0;
}
if ( !PLAYTESTER_HAND->query_playtester( name ) ) {
printf( capitalize( name ) +" is not yet a playtester.\n" );
} else {
if ( (int)PLAYTESTER_HAND->add_senior_playtester( name ) ) {
printf( capitalize( name ) +" is now a senior playtester.\n" );
} else {
printf( capitalize( name ) +" is already a senior playtester.\n" );
}
}
break;
case 'R' :
case 'r' :
if ( !name ) {
return 0;
}
if ( !reason) {
notify_fail("You need to supply a reason when deleting someone.\n");
return 0;
}
if ( !LOGIN->test_user( name ) ) {
printf( capitalize( name ) +" does not exist.\n" );
break;
}
if ( (int)PLAYTESTER_HAND->remove_playtester( name, reason ) ) {
printf( capitalize( name ) +" is no longer a playtester.\n" );
} else {
printf( capitalize( name ) +" is not a playtester.\n" );
}
break;
default :
case 'H' :
case 'h' :
case '?' :
printf( "\nPlaytesters editor commands:\n\n"
"Q : quit the playtester editor\n"
"L : list playtesters\n"
"A <name> : add a new playtester\n"
"S <name> : promote someone to senior playtester\n"
"R <name> : remove an existing playtester\n"
"H : get this list of commands\n\n" );
break;
}
/* printf( "Choose one of Q, L, A, S, R or H (for help) : " );
input_to( "main_menu" ); */
return 1;
} /* main_menu() */
mixed *query_patterns() {
return ({ "", (: main_menu("L", 0, 0) :),
"{l|h|?}", (: main_menu($4[0], 0, 0) :),
"{a|s|h|r|?} <word>", (: main_menu($4[0], $4[1], 0) :),
"r <word> <string>", (: main_menu("r", $4[0], $4[1]) :) });
} /* query_patterns() */