// File : /cmds/xtra/_shell.c
// Creator : Watcher@TMI (02/11/93)
//
// This command replaces a user's preselected shell if
// it is missing.
#include <mudlib.h>
inherit DAEMON;
int cmd_shell() {
object check, New;
string shell;
// Get user's set shell system, if any.
shell = (string)this_player()->query("shell");
if(!shell || shell == "" || shell == "none") {
write("You have no shell system selected. Use chsh to select one.\n");
return 1; }
// Check to see if user has a "shell" of some form.
check = present("shell", this_player());
// Check to see if they already have that shell system.
if(check && base_name(check) + ".c" == shell) {
write("You already have the shell system active.\n");
return 1; }
// Try to clone and move shell system to player
if(!(New = clone_object(shell)) || New->move(this_player())) {
write("Shell: Could not restore your selected shell system.\n");
if(New) New->remove(); // cleanup stray shells
return 1; }
this_player()->save_data();
write("Shell system restored.\n");
return 1; }
int help() {
write("Syntax: shell\n\n" +
"This command is used to restore your shell system if you accidently\n" +
"lose it in a crash or similar occurance.\n\nSee also: chsh\n");
return 1; }