/**
* ScreenWrite Command.
* Used to send blocks to text to other creators, in a more
* readable fashion.
* Written by Terano, on 14th September, 1998
*/
inherit "/cmds/base";
object target;
int cmd(object player)
{
target = player;
if (target == this_player())
return notify_fail("You start to send text to yourself, "
"but think better of it.\n");
/*
if ( !target->query_creator() && !this_player()->query_lord() )
return notify_fail( "There is really no need to echo text to "
+ target->query_short() +", is there?\n" );
*/
if (target->check_earmuffs("remote-spam")) {
tell_object(target, sprintf("%s tried to screen some text to you.\n",
this_player()->query_short()));
return notify_fail(target->query_short() +
" currently has " + target->query_possessive() +
" screen earmuffs on, ask " +
target->query_possessive() + " to turn "
"them off.\n");
}
tell_object(target, sprintf("Receiving text from %s.\n",
this_player()->query_short()));
tell_object(this_player(),
sprintf("Sending text to %s. Use ** to stop.\n]",
target->query_short()));
input_to("do_screen");
return 1;
}
void do_screen(string spam)
{
if (spam == "**") {
tell_object(target,
sprintf("Stopped receiving text from %s.\n",
this_player()->query_short()));
tell_object(this_player(),
sprintf("Stopped sending text to %s.\n",
target->query_short()));
return;
}
if (spam) {
tell_object(target, "] " + spam + "\n");
write("] ");
}
input_to("do_screen");
}
int screen_toggle(string toggle)
{
if (toggle == "on") {
if (member_array("remote-spam",
this_player()->query_property("earmuffs")) == -1)
return notify_fail("You aren't earmuffing remote-spam events!\n");
this_player()->add_property("earmuffs",
(this_player()->query_property("earmuffs") -
({ "remote-spam" })));
write("Remote-spam earmuffs off.\n");
return 1;
}
if (toggle == "off") {
if (member_array("remote-spam",
this_player()->query_property("earmuffs")) != -1)
return
notify_fail("You are already earmuffing remote-spam events!\n");
this_player()->add_property("earmuffs",
(this_player()->query_property("earmuffs") +
({ "remote-spam" })));
write("Remote-spam earmuffed.\n");
if (!this_player()->query_earmuffs())
write("Remeber to \"earmuff on\" to enable them.\n");
return 1;
}
}
mixed *query_patterns()
{
return ({ "<indirect:player>", (: cmd($1[0]) :),
"{on|off}", (: screen_toggle($4[0]) :) });
}