inherit "/std/room/basic_room";
int squish(string cmd);
void setup() {
set_short( "jail" );
add_property( "determinate", "the " );
add_property("no teleport", 1);
add_property("no godmother", 1);
set_light( 100 );
set_long("This room is designed to suppress players from performing "
"many standard actions. The allowed actions are tell, "
"say, liaisons, who, i, inventory, give, drop, look, and "
"emote. No other commands, abbreviations or any other "
"permutation of a command will work. As this room is used "
"for disciplinary purposes, if you find yourself alone in "
"this room, you should contact a liaison immediately.\n");
} /* setup() */
void clean_up( int i ) { return; }
// prevents people doing things they shouldn't in here. It will screw up their
// start position and allow them to use this to trans to the drum.
void init() {
::init();
if (!this_player()) return;
this_player()->command_override((: squish :));
}
int squish(string cmd) {
if(creatorp(TP)) {
return 0;
}
if (cmd == "quit" ||
cmd == "quit2" ||
cmd == "save" ||
cmd == "su" ||
cmd == "godmother") {
write( "I don't think so.\n" );
return 1;
} else if(cmd[0..3] == "tell" ||
cmd[0..7] == "liaisons" ||
cmd[0..2] == "who" ||
cmd[0..2] == "say" ||
cmd[0..0] == "i" ||
cmd[0..8] == "inventory" ||
cmd[0..3] == "give" ||
cmd[0..3] == "drop" ||
cmd[0..3] == "look" ||
cmd[0..4] == "emote") {
return 0;
} else {
write("You are in jail, and are forbidden from performing any commands. "
"Contact a liaison if you're the only one here.\n");
return 1;
}
}