/**
* Gagger object originally coded by Obilix 9 April 1997.
* Turned into gag and ungag commands by Gruper 20 March 2000.
*/
#include <playerinfo.h>
#define GAG_EFFECT STANDARD_DIR "/effects/other/gagged"
inherit COMMAND_BASE;
int cmd( object victim, string reason, int number ) {
// Gag them and log it
victim->add_effect(GAG_EFFECT, ({ number * 60, reason,
lower_case(TP->query_name()) }));
// victim->add_property( "gagged", reason, 60 * number );
log_file( "gag.log", "On "+ ctime(time()) +" "+ this_player()->query_short()
+" gagged "+ victim->query_short() +".\n");
PLAYERINFO_HANDLER->add_entry( this_player(), victim->query_name(),
"gag", "Gagged. Reason: "+ reason );
// Write leetle messages about it
// tell_object( victim,
// "You have been gagged by "+ this_player()->query_short() +
// ". You will not be able to shout or chat on any channels "
// "until the gag is removed.\n");
this_player()->add_succeeded_mess( this_object(),
"$N $V $I.\n", ({ victim }) );
return 1;
} // cmd()
mixed *query_patterns() {
return ({ "<indirect:player'player'> <string'reason'>",
(: cmd( $1[0], $4[1], 120 ) :), // Default time is two hours
"<indirect:player'player'> <string'reason'> <number'minutes'>",
(: cmd( $1[0], $4[1], $4[2] ) :) });
} /* query_patterns() */