/* Do not remove the headers from this file! see /USAGE for more info. */ /* ** shell.c -- shell handling for the user ** ** 950707, Rust: original player shell ** 950711, Deathblade: created. ** 960129, Deathblade: moved to the user ob */ #include <mudlib.h> string query_userid(); void force_me(string what); void update_translations(); /* ** The actuall shell object we're using */ nosave private object shell_ob; nomask object query_shell_ob() { return shell_ob; } protected nomask void start_shell() { if ( !shell_ob ) { shell_ob = new(wizardp(query_userid()) ? WIZ_SHELL : PLYR_SHELL); } shell_ob->start_shell(); update_translations(); } protected nomask void stop_shell() { if ( shell_ob ) shell_ob->remove(); } protected nomask void run_login_script() { string login_file; if ( !wizardp(query_userid()) ) return; // do .login stuff login_file = wiz_dir(this_object()) + "/.login"; if ( file_size(login_file) > 0) { map_array(explode(read_file(login_file), "\n"), (: force_me :)); } }