// /bin/adm/_shutdown.c
// from the Dead Souls Mudlib
// the shutdown command
// created in pats by Sulam@TMI, Plura@Dead Souls, and Descartes of Borg
#include <lib.h>
inherit LIB_DAEMON;
object downer;
void ShutDown(){
shutdown();
}
int cmd(string str) {
downer = previous_object();
if(downer->GetForced()){
write("Forced attempt to shutdown.");
return 1;
}
if(!archp(downer)) {
write("You are not permitted to shutdown the game.\n");
return 1;
}
if(!str) {
write("You must give a shutdown reason as argument.\n");
return 1;
}
shout("Game is shut down by " + downer->GetKeyName() + ".\n");
log_file("game_log", ctime(time())+" Game shutdown by "+
downer->GetKeyName()+"("+str+")\n");
foreach(object dude in users()){
if(dude && sizeof(base_name(dude))){
if(!archp(dude)) dude->eventForce("quit");
else {
downer = dude;
unguarded( (: downer->AddCarriedMass(-99999) :) );
unguarded( (: downer->save_player(downer->GetKeyName()) :) );
}
}
}
call_out( (: shutdown :), 1);
return 1;
}
void help() {
write("Syntax: <shutdown [reason]>\n\n"
"This will shut down the game immediately.\n\nSee also:\nend\n"
);
}