Boot FO (#2001)
(an instance of Generic Feature Object made by horse)
     A feature for @booting obnoxious players.
Go to location of this object, horse.
HELP MANUAL:
     This FO is for @booting players who are being obnoxious.
     It is available only to wizards, and certain individuals at the wizards' discretion.
     If you feel you are being harassed, please see a wizard and explain the problem.
VERB SOURCE CODE:
@boot:
if (this:trusted(valid(cp = caller_perms()) ? cp | player))
nargs = length(args);
if (nargs < 1)
player:notify(tostr("Usage: ", verb, " "));
return;
endif
who = $string_utils:match_player(dobjstr);
if ($command_utils:player_match_failed(who, dobjstr))
return;
endif
if ($object_utils:connected(who))
player:tell("Please enter your reason for @booting below.");
reason = $command_utils:read_lines();
if (length(reason) == 0)
player:tell("You need to supply a reason for @booting.");
return;
endif
who:tell(player.name, " has @booted you from the MOO.");
boot_player(who);
player:tell("You just @booted ", who.name, ".");
player:tell("Sending mail to *", this.boot_log.name, "...");
$mail_agent:send_message(player, this.boot_log, tostr(player.name, " booted
", who.name), reason);
player:tell("Mail sent.");
else
player:tell(who.name, " isn't connected.");
endif
else
player:tell("You are not allowed to use this feature. If you feel you are being
harassed, see a wizard.");
endif
.
@addtrust @rmtrust:
if ((valid(cp = caller_perms()) ? cp | player).wizard)
nargs = length(args);
if (nargs < 1)
player:tell("Usage: ", verb, " ");
return;
endif
who = $string_utils:match_player(dobjstr);
if ($command_utils:player_match_failed(who, dobjstr))
return;
endif
found = who in this.trusted;
if (verb == "@addtrust")
if (found)
player:tell(who.name, " is already in the list.");
return;
else
this.trusted = listappend(this.trusted, who);
player:tell(who.name, " added to list.");
return;
endif
endif
if (verb == "@rmtrust")
if (found)
this.trusted = $list_utils:setremove_all(this.trusted, who);
player:tell(who.name, " removed from list.");
return;
else
player:tell(who.name, " is not in the list.");
return;
endif
endif
else
player:tell("You must be a wizard to do that.");
endif
.
@listtrust:
if (this:trusted(valid(cp = caller_perms()) ? cp | player))
player:tell("Boot FO trusted list:");
player:tell_lines($string_utils:names_of(this.trusted));
else
player:tell("You must be a wizard to do that.");
endif
.
trusted:
return args[1].wizard || (args[1] in this.trusted);
.
PROPERTY DATA:
      trusted
      boot_log
|