void onquest() { if(u.uevent.qcompleted || Not_firsttime) return; if(!Is_special(&u.uz)) return; if(Is_qstart(&u.uz)) on_start(); else if(Is_qlocate(&u.uz) && u.uz.dlevel > u.uz0.dlevel) on_locate(); else if(Is_nemesis(&u.uz)) on_goal(); return; }
void onquest(const d_level * orig_lev) { if (u.uevent.qcompleted || on_level(orig_lev, &u.uz)) return; if (!Is_special(&u.uz)) return; if (Is_qstart(&u.uz)) on_start(orig_lev); else if (Is_qlocate(&u.uz)) on_locate(orig_lev); else if (Is_nemesis(&u.uz)) on_goal(); return; }