/* shadow for OCprisoners *
* Coded by Laffs 22/04/99 */
#include <move_failures.h>
inherit "/std/effect_shadow";
int command_shadowed( string verb, string args ) {
int tells;
string *tokenargs;
if ( verb == "shout" ) {
write( "You feel too depressed to shout.\n" );
return 1;
}
if ( ( verb == "chat" ) ||
( verb == "one" ) ||
( verb == "two" ) ||
( verb == "thieves" ) ||
( verb == "assassins" ) ||
( verb == "warriors" ) ||
( verb == "witches" ) ||
( verb == "wizards" ) ||
( verb == "apex" ) ||
( verb == "a'tuin" ) ||
( verb == "intermud" ) ||
( verb == "sek" ) ||
( verb == "gapp" ) ||
( verb == "gufnork" ) ||
( verb == "sandelfon" ) ||
( verb == "pishe" ) ||
( verb == "hat" ) ||
( verb == "fish" ) ||
( verb == "playerkillers" ) ) {
write( "The eyes feel too depressed to relay your message.\n" );
return 1;
}
if ( ( verb == "tell" ) ||
( verb == "t" ) ||
( verb == "gchat" ) ) {
tells = this_player()->query_property("tell block");
if( tells >= 3 ) {
write("You seem to have used up all your tells.\n");
return 1;
}
if( tells <= 2 ) {
tokenargs = explode (args, " ");
if (!find_player(this_player()->expand_nickname(lower_case(tokenargs[0]))))
{
tell_object(this_player(), "That person does not seem to "
"be available to contact.\n");
return 1;
}
tells++;
tell_object(this_player(),
"You have used "+query_num(tells)+" \"tell\" "
"command"+(tells == 1 ? "" : "s")+" and you only get "
"three, so make them count.\n");
this_player()->add_property("tell block", tells);
return player->command_shadowed( verb, args );
}
write("You have used your three allowed tells.\n");
this_player()->remove_property("tell block");
return 1;
}
if ( verb == "circle" ) {
write( "There isn't enough room to draw a circle.\n" );
return 1;
}
if ( verb == "erect" ) {
write( "You can't decide where to erect it and soon give up.\n" );
return 1;
}
return player->command_shadowed( verb, args );
} /* command_shaowed() */
varargs int move( mixed dest, string msgin, string msgout ) {
int flag;
flag = (int)player->move( dest, msgin, msgout );
if ( flag == MOVE_OK )
remove_this_effect();
return flag;
} /* move() */