inherit "/global/wiz_file_comm"; #define NO_SWAP #define ECHO_ALLOWED void load_login(); #ifndef NO_SWAP // string o_type, g_title; static string omsgin, omsgout, ommsgin, ommsgout; static int oxp, omax_deaths=18, odeaths; static mixed *oskills; static mapping oprop; static mapping ospells; /* I wonder if I don't use static in these definitions, will it be saved in * player.o ? Baldrick. * Yup, I'll learn.. :=)*/ nomask int query_lord() { return 0; } // Taniwha 1995 nomask int query_demi() { return 0; } // Taniwha 1995 int look_me(string str) { if (!str && environment()) write(virtual_file_name(environment()) + "\n"); return ::look_me(str); } /* look_me() */ int do_glance(string str) { if (!str && environment()) write(virtual_file_name(environment()) + "\n"); return ::do_glance(str); } /* do_glance() */ static void swap_entryexit() { string tmin, tmout, tmmin, tmmout; int txp, tdeaths, tmax_deaths; mixed tskills, tprop, tspells; tmin = msgin; tmout = msgout; tmmin = mmsgin; tmmout = mmsgout; msgin = omsgin; msgout = omsgout; mmsgin = ommsgin; mmsgout = ommsgout; omsgin = tmin; omsgout = tmout; ommsgin = tmmin; ommsgout = tmmout; txp = xp; xp = oxp; oxp = txp; tskills = skills; skills = oskills; oskills = tskills; tspells = spells; spells = ospells; ospells = tspells; tdeaths = deaths; deaths = odeaths; odeaths = tdeaths; tmax_deaths = max_deaths; max_deaths = omax_deaths; omax_deaths = tmax_deaths; } #else void swap_entryexit() { } #endif void move_player_to_start(string bong, int new_pl, int going_invis) { string temp; if(!sscanf(file_name(previous_object()), "/secure/login#%s", temp)) return 0; cat("doc/CREATORNEWS"); ::move_player_to_start(bong, new_pl, going_invis); if(query_invis()) tell_object(this_object(), "===> You are currently INVISIBLE! <===\n"); swap_entryexit(); #ifndef NO_SWAP xp = oxp; #endif add_action("visible", "vis"); add_action("invisible", "invis"); load_login(); /* Added by Asmodean cause Aragorn taught him how :) */ /* Taking it out, doesn't work. Wonderflug dec 95 enable_wizard(); */ enable_wizard(); } void load_login(){ string *strs; int n; if(read_file("/w/"+name+"/.login")){ strs=explode(read_file("/w/"+name+"/.login"),"\n"); for(n=0;n<sizeof(strs);n++) command(strs[n]); } } string short(int dark) { if (query_invis()) if(!this_player() || this_player()->query_creator()) return "*"+::short(dark)+"*"; else return 0; else return ::short(dark); } int visible() { if(!query_invis()) { notify_fail("You are already visible.\n"); return 0; } write("You appear.\n"); say(query_cap_name()+" suddenly appears.\n", this_player()); set_invis(0); return 1; } int invisible() { if(query_invis()) { notify_fail("You are already invisible.\n"); return 0; } write("You disappear.\n"); say(query_cap_name()+" suddenly disappears.\n", this_player()); set_invis(1); return 1; } void save_me() { swap_entryexit(); ::save_me(); swap_entryexit(); } int query_creator() { return 1; } nomask int query_lord() { return 0; } // people like to shadow this to snoop the demi channel.... Hpj int query_app_creator() { return app_creator; } int query_creator_playing() { return 0; } string query_gtitle() { /* if (query_female()) return "the Student"; else */ return "the Student"; } string query_object_type() { return "B"; } /* query_object_type() */