/* boot.c */
#define SAVE_DELAY 3600
listen(arg) { send_device(arg); }
static save_db() {
alarm(SAVE_DELAY,"save_db");
sysctl(0);
}
static init() {
object wizobj;
object me;
me=this_object();
if (prototype(this_object())) {
alarm(SAVE_DELAY,"save_db");
unhide("/README",me,1);
unhide("/include",me,5);
unhide("/include/secure.h",me,1);
unhide("/help",me,5);
unhide("/help/player",me,1);
unhide("/help/builder",me,1);
unhide("/help/programmer",me,1);
unhide("/help/wizard",me,1);
unhide("/help/manual",me,1);
unhide("/sys",me,5);
unhide("/sys/help1.c",me,1);
unhide("/sys/help2.c",me,1);
unhide("/sys/help3.c",me,1);
unhide("/sys/help4.c",me,1);
unhide("/sys/help5.c",me,1);
unhide("/sys/login.c",me,1);
unhide("/sys/wizcompile.c",me,1);
unhide("/login_banner",me,1);
unhide("/include/sys.h",me,1);
unhide("/obj",me,5);
unhide("/obj/weapon.c",me,1);
unhide("/obj/corpse.c",me,1);
unhide("/obj/monster.c",me,1);
unhide("/obj/wiz.c",me,1);
unhide("/obj/player.c",me,1);
unhide("/sys/sys.c",me,1);
unhide("/obj/room.c",me,1);
unhide("/sys/combat_def.c",me,1);
unhide("/obj/exit.c",me,1);
unhide("/include/combat_def.h",me,1);
unhide("/include/flags.h",me,1);
unhide("/include/weapon.h",me,1);
unhide("/include/armor.h",me,1);
unhide("/obj/armor.c",me,1);
unhide("/obj/shop.c",me,1);
unhide("/obj/object.c",me,1);
unhide("/obj/coins.c",me,1);
compile_object("/sys/login");
set_priv(compile_object("/sys/sys"));
compile_object("/sys/wizcompile");
compile_object("/obj/room");
compile_object("/obj/exit");
compile_object("/obj/player");
compile_object("/obj/armor");
compile_object("/obj/shop");
compile_object("/obj/object");
compile_object("/sys/help1");
compile_object("/sys/help2");
compile_object("/sys/help3");
compile_object("/sys/help4");
compile_object("/sys/help5");
compile_object("/obj/coins");
compile_object("/obj/wiz");
compile_object("/sys/combat_def");
compile_object("/obj/weapon");
compile_object("/obj/corpse");
compile_object("/obj/monster");
set_priv(atoo("/sys/sys"));
wizobj=clone_object("/obj/wiz");
call_other(wizobj,"set_secure");
call_other(wizobj,"set_name","Wizard");
call_other(wizobj,"set_password","potrzebie");
call_other(wizobj,"set_programmer",1);
set_priv(wizobj);
} else {
destruct(this_object());
}
}
get_uid() {
return "root";
}
static connect() {
object login_obj;
login_obj=clone_object("/sys/login");
if (!login_obj) {
send_device(otoa(this_object())+": unable to clone /sys/login\n");
disconnect_device();
return;
}
/* for secure.h */
call_other(login_obj,"set_secure");
if (reconnect_device(login_obj)) {
send_device(otoa(this_object())+": unable to reconnect to "+
otoa(login_obj)+"\n");
disconnect_device();
destruct(login_obj);
return;
}
set_priv(login_obj);
call_other(login_obj,"connect");
}