/* 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"); }