//================= Hercules Script ======================================= //= _ _ _ //= | | | | | | //= | |_| | ___ _ __ ___ _ _| | ___ ___ //= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| //= | | | | __/ | | (__| |_| | | __/\__ \ //= \_| |_/\___|_| \___|\__,_|_|\___||___/ //================= License =============================================== //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= //= Copyright (C) 2012-2020 Hercules Dev Team //= Copyright (C) Kisuka //= Copyright (C) Brainstorm //= Copyright (C) Samuray22 //= Copyright (C) L0ne_W0lf //= Copyright (C) KarLaeda //= Copyright (C) Vicious //= Copyright (C) Lupus //= Copyright (C) Darkchild //= Copyright (C) Athena //= //= Hercules is free software: you can redistribute it and/or modify //= it under the terms of the GNU General Public License as published by //= the Free Software Foundation, either version 3 of the License, or //= (at your option) any later version. //= //= This program is distributed in the hope that it will be useful, //= but WITHOUT ANY WARRANTY; without even the implied warranty of //= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //= GNU General Public License for more details. //= //= You should have received a copy of the GNU General Public License //= along with this program. If not, see . //========================================================================= //= Sage Job Quest //================= Description =========================================== //= Job quest for Sage classes //================= Current Version ======================================= //= 2.8 //========================================================================= yuno_in02,38,61,5 script Dean of the Academy#sa 2_M_SAGE_OLD,{ cutin "job_sage_kayron",2; mes "[Kayron Grik]"; if (Upper == 1) { mes "Haha, I have seen many people"; mes "but it seems you possess special power and abilities."; next; mes "[Kayron Grik]"; mes "You'd better leave and increase your reputation."; mes "Never forget that once you also used to be a novice."; close2; cutin "job_sage_kayron",255; end; } if (BaseJob != Job_Mage) { if (BaseJob == Job_Sage) { mes "What brings you here? Is there anything bothering you recently?"; mes "Although you're already a Sage, that doesn't mean you can stop studying."; next; mes "[Kayron Grik]"; mes "Our knowledge is the mainspring of activity which helps the kingdom to be developed faster."; mes "Please keep this in mind: you must study and record everything you've discovered so that all in the kingdom may benefit."; } else if (BaseJob == Job_Novice) { mes "Hahah, so my little Novice, what brings you this way? ...I guess you're on a sightseeing trip?"; mes "You must have had a really hard time to reach this place. I must say, you seem interested in the Sage class."; next; mes "[Kayron Grik]"; mes "If you aspire to become a Sage, you must first live life as a Mage. Only then shall you have a chance."; mes "I am looking forward seeing you again."; } else { mes "*Chuckle* Although we've been studying this world for a long time, I know that studying in itself will fulfill all the needs of the people."; mes "Other classes are just as important to the welfare of Rune-Midgarts..."; next; mes "[Kayron Grik]"; mes "However, if you happen to meet a Sage down the road, I hope you will lend him your assistance."; mes "And if you do, he shall repay you in kind..."; } close2; cutin "job_sage_kayron",255; end; } if (SAGE_Q == 0) { cutin "job_sage_kayron",2; mes "Welcome, young one. I can see that you're intrigued by the wonders of magic."; mes "So what kind of business brings you to me?"; next; switch(select("I would like to be a Sage.", "Let me know about the Sage job change.", "Nothing.")) { case 1: mes "[Kayron Grik]"; mes "Hm? Do you wish to become a Sage?"; mes "Well then, I would like to suggest a few things that are required of a Sage."; next; mes "[Kayron Grik]"; mes "Sages are those who promote the development of this continent through the endless studying and recording of all knowledge related to this world."; mes "Becoming a Sage is more than just a costume change: It's an important job where you must be always aware of your duty and responsibility to the people."; next; mes "[Kayron Grik]"; mes "You may want to enter an enrollment application to the Schweicherbil Magic Academy."; mes "I believe they can explain in detail what you need to become a Sage."; break; case 2: mes "[Kayron Grik]"; mes "Sage job change...hmm...an interesting turn of phrase, I must say."; mes "Although that is what we say, it is very inappropriate to think of becoming a Sage as merely changing a job."; next; mes "[Kayron Grik]"; mes "In order to be a Sage, you must enter an application to the Schweicherbil Magic Academy."; mes "You will then take the entrance examination."; next; mes "[Kayron Grik]"; mes "After the examination, you will be assigned to study a specific subject..."; mes "and finally, you will submit your dissertation to the university."; next; mes "[Kayron Grik]"; mes "I am the one who evaluates your dissertation."; mes "When you pass all the courses, you will become a Sage."; next; mes "[Kayron Grik]"; mes "Please visit the Schweicherbil Magic Academy."; mes "A young Sage named Metheus Sylphe will accept your application."; break; case 3: mes "[Kayron Grik]"; mes "I see...Well, seeing as you have leisure time to spare, I encourage you to peruse as many books as you can."; mes "You can find and research every worldly matter within their pages."; next; mes "[Kayron Grik]"; mes "Ah yes, you can not become the most intelligent person merely by reading all the books around you..."; mes "However, for a Sage such as myself, the knowledge found in books is most important."; } close2; cutin "job_sage_kayron",255; end; } else if (SAGE_Q == 15) { if (countitem(Book) > 0) { if (JobLevel < 40) { SAGE_Q = 0; mes "You don't seem to be qualified yet."; mes "Remember, you must reach at least job level 40 to become a Sage."; close2; cutin "job_sage_kayron",255; end; } if (SkillPoint) { mes "You possess remaining skill points..."; mes "Before you submit your dissertation, please take care this matter first."; close2; cutin "job_sage_kayron",255; end; } mes "Ho~ So? Did you finally complete your dissertation? Well done."; mes "Let me see."; next; mes "[Kayron Grik]"; mes "Hmm..."; next; mes "[Kayron Grik]"; mes "Huh..."; next; mes "[Kayron Grik]"; mes "Interesting..."; next; mes "[Kayron Grik]"; mes "Although it's roughly written, it's well done for a beginner."; mes "Ah yes...you seem to be proficient in studying."; next; completequest 2052; callfunc "Job_Change",Job_Sage; callfunc "F_ClearJobVar"; mes "[Kayron Grik]"; mes "Congratulations! You have now become a Sage."; mes "Always remember to keep a studious and analytical mindset."; next; mes "[Kayron Grik]"; mes "Also, keep this dissertation and treat it with care, since it is one and only book you have written."; mes "You may have need of it one of these days. And it shall forever remind of this grandiose moment."; next; mes "[Kayron Grik]"; mes "Well then...May God fill your path with knowledge."; mes "Study with diligence!!"; } else { mes "Hmm? What has happened to you? Where did you leave your dissertation?"; mes "Please bring it to me so that you may pass the test."; next; mes "[Kayron Grik]"; mes "Wait...you didn't lose it, did you?"; mes "Well...that's your business. It is regrettable that you won't be able to get a chance to write a book anymore."; } } else { mes "*Chuckle* Becoming a Sage isn't as simple as you may have assumed."; mes "You cannot become a Sage because your magic skills are inadequate..."; next; mes "[Kayron Grik]"; mes "Study diligently, and return when you finish your dissertation."; mes "Until then, farewell!"; } close2; cutin "",255; end; } yuno_in03,154,35,4 script Staff of the Academy#a 2_M_SAGE_B,{ mes "[Metheus Sylphe]"; if (Upper == 1) { mes "Welcome to the"; mes "Schweicherbil Magic"; mes "Academy. W-wait a second..."; mes "Do I know you from somewhere?"; next; mes "[Metheus Sylphe]"; mes "We've met before, haven't"; mes "we? Oh gosh, I must sound"; mes "pretty crazy. I'm sorry, I guess it's because I haven't been"; mes "sleeping too well? Oh well,"; mes "have a good day, adventurer~"; close; } if (BaseJob != Job_Mage) { if (BaseJob == Job_Sage) { mes "Oh nice to meet you again, long time no see."; mes "So how's it going with the studying?"; next; mes "[Metheus Sylphe]"; mes "It's okay to study books and magic scrolls all day, "; mes "but you must go outside and fight with monsters as much as you can in order to be a well experienced Sage."; next; mes "[Metheus Sylphe]"; mes "If you know any Sage candidates, please give them some advice..."; mes "Also, please give my regards to your colleagues as well."; } else if (BaseJob == Job_Novice) { mes "Welcome to the Schweicherbil Magic Academy."; next; mes "[Metheus Sylphe]"; mes "This place is specialized in Sage class training. Mostly, what we do is study about monsters and magic spells."; mes "We always welcome new students."; next; mes "[Metheus Sylphe]"; mes "People who are at job jevel 40 as Mage class are qualified to apply for enrollment."; mes "By passing selected courses, we will then approve them as Sages."; next; mes "[Metheus Sylphe]"; mes "If you're interested in the Sage class, please come again."; mes "And have a good day."; } else { mes "Welcome to the Schweicherbil Magic Academy."; next; mes "[Metheus Sylphe]"; mes "This place is specialized in Sage class training. What we do is study about monsters and magic spells."; mes "People who are at job jevel 40 as Mage class are qualified to apply for enrollment."; next; mes "[Metheus Sylphe]"; mes "If you have any Mage friends, please let them know about this academy."; mes "Have a good day."; } close; } if (SAGE_Q == 0) { mes "Welcome to the Schweicherbil Magic Academy."; mes "Oh, You're a Mage. How may I assist you?"; next; switch(select("Let me know about the Sage job change.", "I want to enroll in the school.", "Nothing.")) { case 1: mes "[Metheus Sylphe]"; mes "I see. Do you wish to become a Sage?"; mes "Unfortunately, we are not in charge of changing your job to the Sage class."; next; mes "[Metheus Sylphe]"; mes "After you enter this academy and pass certain courses..."; mes "you will receive official approval to conduct studies as a Sage."; next; mes "[Metheus Sylphe]"; mes "For this reason, we do not speak of this proccess as a job change, but as graduation."; mes "Anyway, if you enter your application for this academy, I will inform you about the registration fee and will let you take the test."; next; mes "[Metheus Sylphe]"; mes "For your information, if you bring ^3355FFOld Magicbook^000000 and ^3355FFNecklace of Wisdom^000000, "; mes "you don't have to pay for the Registration Fee to enroll in the school."; next; mes "[Metheus Sylphe]"; mes "After you register, you will be able to take the entrance test."; mes "If you pass the test, you will write a thesis for a given subject."; next; mes "[Metheus Sylphe]"; mes "The Dean of the academy will decide whether or not you are qualified."; mes "If you're granted admission, you will be able to join in study and research activities as a Sage."; next; mes "[Metheus Sylphe]"; mes "You're always welcome to join us."; mes "Have a good day."; close; case 2: mes "[Metheus Sylphe]"; mes "I see, you want to join the academy. Once again, welcome to the Schweicherbil Magic Academy."; next; mes "[Metheus Sylphe]"; mes "People who have already met the basic requirement by reaching at Mage job level 40 are qualified for enrollment."; mes "A small registration fee will also be required."; next; mes "[Metheus Sylphe]"; mes "The registration fee is 70,000 zeny."; mes "However, if you bring ^3355FFOld Magicbook^000000 and ^3355FFNecklace of Wisdom^000000, you will be exempt from this fee."; next; mes "[Metheus Sylphe]"; mes "So, do you wish to apply immediately?"; next; switch(select("Yes, I do.", "The fee is much too expensive.", "I will come back later.")) { case 1: if (JobLevel < 40) { mes "[Metheus Sylphe]"; mes "I'm sorry, but you haven't met the basic requirements yet."; mes "Please go study more and reach Mage job level 40 first."; close; } if (SkillPoint) { mes "[Metheus Sylphe]"; mes "You have unused skill points left. Please go learn all those skills you've been planning to learn."; mes "We do not accept any ambiguous candidates."; close; } mes "[Metheus Sylphe]"; mes "Very well. Let's complete your application form."; mes "Please put your signature here."; next; select(strcharinfo(PC_NAME)); mes "[Metheus Sylphe]"; mes "Your name is ... " + strcharinfo(PC_NAME) + ". It's a very nice name."; next; if (JobLevel == 50) { mes "[Metheus Sylphe]"; mes "Oh, you've mastered the Mage job! You're great!! *Clap Clap Clap*"; mes "In reward for your great effort, you will be exempt from the registration fee!"; next; mes "[Metheus Sylphe]"; mes "Yes, everything's ready."; mes "Next, you will take an entrance test."; SAGE_Q = 4; setquest 2041; next; mes "[Metheus Sylphe]"; mes "Please visit Professor Claytos."; mes "He's in the left room."; close; } mes "[Metheus Sylphe]"; mes "Will you pay the registration fee with 70,000 zeny?"; mes "Or will you give me ^3355FFOld Magicbook^000000 and ^3355FFNecklace of Wisdom^000000?"; next; if (select("Pay 70,000 zeny.", "Give him Old Magicbook and Necklace of Wisdom.") == 1) { if (Zeny > 69999) { Zeny -= 70000; mes "[Metheus Sylphe]"; mes "Thank you, your application has been accepted."; mes "Next, you will take an entrance test."; SAGE_Q = 4; setquest 2041; next; mes "[Metheus Sylphe]"; mes "Please visit Professor Claytos."; mes "He's in the left room."; close; } mes "[Metheus Sylphe]"; mes "What a shame! It seems you didn't bring enough money for tuition."; mes "Please make sure you have at least 70,000 zeny to enroll in classes."; close; } if (countitem(Old_Magic_Book) > 0 && countitem(Penetration) > 0) { delitem Old_Magic_Book,1; delitem Penetration,1; mes "[Metheus Sylphe]"; mes "Thank you, your application has been accepted."; mes "Next, you will take the entrance test."; SAGE_Q = 4; setquest 2041; next; mes "[Metheus Sylphe]"; mes "Please visit Professor Claytos."; mes "He's in the left room."; close; } mes "[Metheus Sylphe]"; mes "Umm...It seems you didn't bring any of those?"; mes "I suppose you left them somewhere behind. Please go get them, and then come back."; close; case 2: if (JobLevel < 40) { mes "[Metheus Sylphe]"; mes "Before we talk about the registration fee, it seems you haven't met the basic requirement yet, Mage job level 40."; mes "Please go study more, and then come back to enroll."; close; } if (JobLevel == 50) { mes "[Metheus Sylphe]"; mes "Well, I can't help you with that issue. If you don't have the fee, you are not allowed to enter the academy."; mes "Even if you might think it's absurdly expensive, it's a justifiable price to pay in order to become a Sage."; next; mes "[Metheus Sylphe]"; mes "Anyway... oh! You mastered the Mage job! You're truly exemplary!! *Clap Clap Clap*."; mes "As a reward for your great effort, you will be exempt from the registration fee!"; next; mes "[Metheus Sylphe]"; mes "Okay, let's complete the application form."; mes "Please put your signature here."; next; select(strcharinfo(PC_NAME)); mes "[Metheus Sylphe]"; mes "Your name is ... " + strcharinfo(PC_NAME) + ". It's a very nice name."; next; mes "[Metheus Sylphe]"; mes "Yes, everything's ready."; mes "Next, you will take the entrance test."; SAGE_Q = 4; setquest 2041; next; mes "[Metheus Sylphe]"; mes "Please visit professor Claytos."; mes "He's in the left room."; close; } if (Zeny > 43210) { mes "[Metheus Sylphe]"; mes "Well, I can't help you with that issue. If you don't have the fee, you are not allowed to enter the academy."; mes "Even if you may think it's absurdly expensive, it's a justifiable price to pay in order to become a Sage."; next; mes "[Metheus Sylphe]"; mes "Alternatively, you could try to find ^3355FFOld Magicbook^000000 and ^3355FFNecklace of Wisdom^000000."; mes "If you don't wish to do that, you must save some money for the registration fee."; next; mes "[Metheus Sylphe]"; mes "Goodbye, and have a good day."; close; } else { mes "[Metheus Sylphe]"; mes "Oh, I guess you don't have enough money?"; mes "Under the existing provisions, you must pay 70,000 zeny for the application..."; next; if (select("Please...is there any way?", "Ok, I will come back later.") == 1) { mes "[Metheus Sylphe]"; mes "Hmmm...then I shall offer a special option!"; mes "You will pay 30,000 zeny and bring some items as compensation for the tuition discount."; next; switch(rand(1,3)) { case 1: SAGE_Q = 1; setquest 2043; mes "[Metheus Sylphe]"; mes "Please gather the following items."; mes "50 ^3355FFFeather of Birds^000000"; mes "50 ^3355FFFluff^000000"; mes "25 ^3355FFIron Ore^000000"; next; mes "[Metheus Sylphe]"; mes "If you bring those items, your tuition will be 30,000 zeny, in lieu of the original 70,000 zeny fee."; break; case 2: SAGE_Q = 2; setquest 2044; mes "[Metheus Sylphe]"; mes "Please gather the following items."; mes "50 ^3355FFClover^000000"; mes "50 ^3355FFFeather^000000"; mes "25 ^3355FFSquid Ink^000000"; next; mes "[Metheus Sylphe]"; mes "If you bring the aforementioned items, the tuition fee will be 30,000 zeny, rather than the original 70,000 zeny fee."; break; case 3: SAGE_Q = 3; setquest 2045; mes "[Metheus Sylphe]"; mes "Please gather the following items."; mes "50 ^3355FFFeather of Birds^000000"; mes "50 ^3355FFFluff^000000"; mes "50 ^3355FFClover^000000"; mes "50 ^3355FFFeather^000000"; next; mes "[Metheus Sylphe]"; mes "If you bring those items, your tuition will only be 30,000 zeny, instead of the original 70,000 zeny fee."; } mes "I am sure it's a very reasonable option for you."; next; mes "[Metheus Sylphe]"; mes "Ah yes, before gathering all of those items, if you happen to have 70,000 zeny, I will be more than happy to receive the full payment."; mes "That is, after all, our original policy."; next; mes "[Metheus Sylphe]"; mes "Alternatively, you can bring me ^3355FFOld Magicbook^000000 and ^3355FFNecklace of Wisdom^000000."; mes "Goodbye, and have a good day."; close; } mes "[Metheus Sylphe]"; mes "Ah yes, take your time..."; mes "Goodbye, and have a good day."; close; } case 3: mes "[Metheus Sylphe]"; mes "Ah yes, take your time..."; mes "Goodbye, and have a good day."; close; } case 3: mes "[Metheus Sylphe]"; mes "I see, take your time. You can also take a look around."; mes "Goodbye, and have a good day."; close; } } else if (SAGE_Q >= 1 && SAGE_Q <= 3) { mes "Welcome, once again."; next; if (countitem(Old_Magic_Book) > 0 && countitem(Penetration) > 0) { delitem Old_Magic_Book,1; delitem Penetration,1; mes "[Metheus Sylphe]"; mes "Well done. Let me proceed with your application request."; SAGE_Q = 4; next; } else if (Zeny > 69999) { Zeny -= 70000; mes "[Metheus Sylphe]"; mes "Well done. Let me proceed with your application request."; SAGE_Q = 4; next; } else { switch (SAGE_Q) { case 1: //Feather_Of_Bird, Fluff, Iron_Ore setarray .@item[0], 916,914,1002; setarray .@count[0], 50,50,25; break; case 2: //Clover, Feather, Chinese_Ink setarray .@item[0], 705,949,1024; setarray .@count[0], 50,50,25; break; case 3: //Feather_Of_Bird, Fluff, Clover, Feather setarray .@item[0], 916,914,705,949; setarray .@count[0], 50,50,50,50; break; } .@size = (getarraysize(.@item)-1); for (.@i = 0 ; .@i < .@size && countitem(.@item[.@i]) >= .@count[.@i] ; ++.@i); if(.@i == .@size) { if (Zeny > 29999) { for (.@i = 0; .@i < .@size ; ++.@i) delitem .@item[.@i], .@count[.@i]; Zeny -= 30000; mes "[Metheus Sylphe]"; mes "Well done. Let me proceed with your application request."; .@SAGE_Q_T = SAGE_Q; SAGE_Q = 4; next; } mes "[Metheus Sylphe]"; mes "I am sorry to say that you are not ready yet."; mes "Although you brought all of the items, the money you have now is less than 30,000 zeny."; next; mes "[Metheus Sylphe]"; mes "As I told you before, you must bring all of those items, as well as the 30,000 zeny together."; mes "Please make sure that you have the required items and money."; close; } else { mes "[Metheus Sylphe]"; mes "I am sorry to say that it seems you didn't bring all of the required items."; mes "I shall remind you what to bring, in case you have forgotten."; next; mes "[Metheus Sylphe]"; mes "Please bring the following items to me."; mes .@count[0]+" ^3355FF"+getitemname(.@item[0])+"^000000"; mes .@count[1]+" ^3355FF"+getitemname(.@item[1])+"^000000"; mes .@count[2]+" ^3355FF"+getitemname(.@item[2])+"^000000"; if (SAGE_Q == 3) mes .@count[3]+" ^3355FF"+getitemname(.@item[3])+"^000000"; next; mes "[Metheus Sylphe]"; mes "If you bring all of these items, your tuition fee will be reduced from 70,000 zeny to 30,000 zeny."; mes "Good luck."; close; } } mes "[Metheus Sylphe]"; mes "Let's complete the application form."; mes "Please put your signature here."; next; select(strcharinfo(PC_NAME)); mes "[Metheus Sylphe]"; switch (.@SAGE_Q_T) { case 1: mes "Your name is ... " + strcharinfo(PC_NAME) + ". It's a very nice name."; break; case 2: mes "Your name is ... " + strcharinfo(PC_NAME) + ". It sounds very sagacious."; break; case 3: mes "Your name is ... " + strcharinfo(PC_NAME) + ". Interesting name."; break; } next; mes "[Metheus Sylphe]"; mes "Ah yes, everything is in readiness."; mes "Next, you will take an entrance test."; SAGE_Q = 4; if (questprogress(2043)) { changequest 2043,2041; } else if (questprogress(2044)) { changequest 2044,2041; } else if (questprogress(2045)) { changequest 2045,2041; } else { setquest 2041; } next; mes "[Metheus Sylphe]"; mes "Please visit Professor Claytos."; mes "He's in the left room."; close; } else if (SAGE_Q == 4) { mes "Huh? What are you doing here? You're supposed to be taking the entrance test by now."; mes "Please visit Professor Claytos in the left room."; close; } else if (SAGE_Q == 15) { mes "Oh, are you done with the dissertation?"; mes "Sure, you can submit it to Dean Kayron."; next; mes "[Metheus Sylphe]"; mes "So long as you make the effort, you should achieve good results."; mes "Good luck."; close; } else { mes "Oh sorry, this is a rather inconvenient time to converse."; mes "Please come back later. I apologize for troubling you."; close; } } yuno_in03,105,177,5 script Written Test Professor#s 4_M_SAGE_A,{ mes "[Claytos Verdo]"; if (BaseJob != Job_Mage) { if (BaseJob == Job_Sage) { mes "Eh? What? Why are you back here?"; mes "Do you want to enter the school again?"; next; mes "[Claytos Verdo]"; mes "Now, I understand how you feel. Since you graduated, you have become a Sage. A Sage...until the end of your days."; mes "So, be strong and independent. Try to explore some places where nobody else has ventured to go."; next; mes "[Claytos Verdo]"; mes "Don't forget to record everything you've experienced."; mes "You must share your knowledge with others by taking excellent notes."; } else if (BaseJob == Job_Novice) { mes "What are you doing here, kid?"; mes "This is a Magic Academy, not a day care center."; next; mes "[Claytos Verdo]"; mes "Go outside and play with the Porings. That's your job."; mes "Go out, chop chop!!"; } else if (Class == Job_Wizard) { mes "Well...look who came crawling back. Magic addict."; mes "Yeah yeah, so it's not so bad to be devoted to magic."; next; mes "[Claytos Verdo]"; mes "But I hope you remember, no one can live alone."; mes "Although you're strong enough for solo play, you must cooperate and help other people. That's what a Wizard shoud stand for."; } else { mes "Hmm... I understand that you want to enter our prestigious academy, but since you chose to live as a different class,"; mes "I don't think you can become a Sage."; next; mes "[Claytos Verdo]"; mes "So, don't go around regretting why you chose a job other than Sage. You'd better go out and hunt, leveling up your current job."; } close; } if (SAGE_Q == 0) { mes "What, do you want to be a Sage?"; mes "I can tell by your eyes, hungering for wisdom."; next; mes "[Claytos Verdo]"; mes "Of course, if you want to be a Sage, you must first enter the academy."; mes "Apply for enrollment, and then come again."; close; } else if (SAGE_Q == 1 || SAGE_Q == 2 || SAGE_Q == 3) { mes "Hah! You didn't even finish the application process!?"; mes "I see...did Metheus tell you something?"; next; mes "[Claytos Verdo]"; mes "Do your best. It'll be a good experience for you."; mes "Come again when you finish the application."; close; } else if (SAGE_Q == 4 || SAGE_Q == 5) { if (SAGE_Q == 4) { mes "Welcome to the Schweicherbil Magic Academy."; mes "You applied for this test already, didn't you?"; next; mes "[Claytos Verdo]"; mes "Let's see, your name is " + strcharinfo(PC_NAME) + "..."; mes "Okay, let's get started!"; next; mes "[Claytos Verdo]"; mes "The test that I am going to give you will test your knowledge on all of the academic subjects in the world."; mes "I will give you 20 questions, with each question being worth 5 points. When you earn a grade of 80 points, you will pass the test."; next; mes "[Claytos Verdo]"; mes "Okay, there's no need to wait. Let's start right away"; mes "Oh, and if you don't answer immediately, the test will be cancelled."; } else if (SAGE_Q == 5) { mes "Welcome back."; mes "So, did you study harder this time?"; next; mes "[Claytos Verdo]"; mes "You will take the written test under the same conditions as the test you took before. I'll give you 20 questions."; mes "Each correct answer will give you 5 points. When your score reaches 80 points, you pass the test."; next; sage_m2 = rand(1,3); mes "[Claytos Verdo]"; mes "Okay, there's no need to wait."; mes "Answer immediately, or I'll fail you again."; SAGE_Q = 5; } next; switch(rand(1,3)) { case 1: mes "1. Choose an item that the Gift merchant in Prontera does not sell."; next; if (select("China", "Red Frame", "Bouquet", "Glass Bead") == 3) .@sage_t += 5; mes "2. Choose a city where you cannot purchase a Stiletto."; next; if (select("Prontera", "Morroc", "Geffen", "Lutie") == 1) .@sage_t += 5; mes "3. Choose the closest city to Turtle Island."; next; if (select("Al De Baran", "Alberta", "Comodo", "Izlude") == 2) .@sage_t += 5; mes "4. Choose the monster that is a different type than the others."; next; if (select("Raggler", "Pest", "Frilldora", "Aster") == 4) .@sage_t += 5; mes "5. Choose the monster that has a different attribute than the others."; next; if (select("Mantis", "Metaller", "Rocker", "Horn") == 2) .@sage_t += 5; mes "6. Choose the monster that is different sized than the others."; next; if (select("Raydric", "Raydric Archer", "Wanderer", "Dark Frame") == 1) .@sage_t += 5; mes "7. Choose the monster which doesn't drop 'Alcohol'."; next; if (select("Horong", "Plankton", "Poison Spore", "Toad") == 3) .@sage_t += 5; mes "8. Choose the NPC that is irrelevant to the Knight job change quest."; next; if (select("Sir Siracuse", "Thomas Servantes", "Sir Windsor", "Lady Amy") == 2) .@sage_t += 5; mes "9. Choose the NPC that is not a citizen of Prontera."; next; if (select("Tono", "Pina", "YuPi", "Hollgrehenn") == 2) .@sage_t += 5; mes "10. Choose the right name for the Kafra lady who wears glasses."; next; if (select("Pavianne", "Roxie", "Leilah", "Curly Sue") == 3) .@sage_t += 5; mes "11. How much SP is spent to use lvl 7 Thunderstorm?"; next; if (select("49", "59", "69", "74") == 2) .@sage_t += 5; mes "12. Choose the right amount of damage reduction and SP consumption of the Energy Coat skill when the caster's remaining SP is 50%."; next; if (select("Damage -24% SP1.5%", "Damage -24% SP2%", "Damage -18% SP1.5%", "Damage -18% SP2%") == 4) .@sage_t += 5; mes "13. Choose the property that is irrelevant to 'Bolt' type skills for the Mage class."; next; if (select("Water", "Earth", "Fire", "Wind") == 2) .@sage_t += 5; mes "14. Choose the right chance and attack strength for lvl 7 Double Attack, the Thief skill."; next; if (select("35% / 120%", "35% / 140%", "40% / 120%", "40% / 140%") == 2) .@sage_t += 5; mes "15. Choose the skill that is irrelevant to learning Magnus Exorcismus, the Priest skill."; next; if (select("Divine Protection", "Heal", "Ruwach", "Aqua Benedicta") == 1) .@sage_t += 5; mes "16. Choose the correct defense and ability of the Bunny Band."; next; if (select("1 / LUK +2", "1 / LUK +5", "2 / LUK +2", "2 / LUK +5") == 3) .@sage_t += 5; mes "17. Choose the class that cannot equip Padded Armor."; next; if (select("Swordman", "Merchant", "Thief", "Archer") == 4) .@sage_t += 5; mes "18. Choose the item that cures all abnormal status and restores full HP and SP at the same time."; next; if (select("Royal Jelly", "Yggdrasil Seed", "Yggdrasilberry", "Mastella Fruit") == 3) .@sage_t += 5; mes "19. Who rules the Rune-Midgarts kingdom right now?"; next; if (select("Tristun the 3rd", "Tristram the 3rd", "Tristar the 3rd", "Trast the 3rd") == 2) .@sage_t += 5; mes "20. Choose the god of Crusaders."; next; if (select("Odin", "Loki", "Thor", "Venadin") == 1) .@sage_t += 5; break; case 2: mes "1. Choose the jewel that the Morroc Jewel Merchant does not sell."; next; if (select("Topaz", "Garnet", "Diamond", "Sapphire") == 2) .@sage_t += 5; mes "2. Choose the city where users cannot purchase Monster's Feed from an NPC."; next; if (select("Prontera", "Morroc", "Al De Baran", "Alberta") == 3) .@sage_t += 5; mes "3. Choose the closest city to the Maze."; next; if (select("Prontera", "Morroc", "Geffen", "Payon") == 1) .@sage_t += 5; mes "4. Choose the monster that is a different type than the others."; next; if (select("Muka", "Drops", "Plankton", "Penomena") == 4) .@sage_t += 5; mes "5. Choose the monster with the different attribute."; next; if (select("Dokebi", "Isis", "Giearth", "Deviruchi") == 3) .@sage_t += 5; mes "6. Choose the monster that is different in size."; next; if (select("Thiefbug (Aggressive)", "Horn", "Metaller", "Argos") == 4) .@sage_t += 5; mes "7. Choose the monster which does not drop 'Yggdrasil Leaf'."; next; if (select("Marduk", "Baphomet Jr.", "Angeling", "Wanderer") == 1) .@sage_t += 5; mes "8. Choose the NPC that is irrelevant to the Priest job change quest."; next; if (select("Paul", "Sir Windsor", "Peter S. Alberto", "Cecilia") == 2) .@sage_t += 5; mes "9. Choose the NPC that is not a citizen of Morroc."; next; if (select("Syvia", "Akira", "Antonio", "Dmitrii") == 3) .@sage_t += 5; mes "10. Choose the Kafra lady who has gorgeous blue hair."; next; if (select("Pavianne", "Roxie", "Leilah", "Curly Sue") == 1) .@sage_t += 5; mes "11. Choose the skill that is irrelevant to learning Fire Wall, the Mage skill."; next; if (select("lvl 4 Fire Bolt", "lvl 4 Napalm Beat", "lvl 5 Fire Ball", "lvl 1 Sight") == 2) .@sage_t += 5; mes "12. How much SP can be restored when learning SP recovery at lvl 6 (without being affected by INT)?"; next; if (select("14", "16", "18", "21") == 3) .@sage_t += 5; mes "13. How many INT points does a Mage receive as a bonus at job lvl 33?"; next; if (select("7", "6", "5", "4") == 4) .@sage_t += 5; mes "14. Choose the correct SP consumption and the skill duration for Improve Concentration lvl 5 (Archer skill)."; next; if (select("45 / 80 sec", "50 / 80 sec", "45 / 90 sec", "50 / 90 sec") == 1) .@sage_t += 5; mes "15. Choose the skill that is irrelevant to learning Maximize Power, the Blacksmith skill."; next; if (select("Hilt Binding", "Skin Tempering", "Hammer Fall", "Weapon Perfection") == 2) .@sage_t += 5; mes "16. What is the correct defense rate and ability of Cute Ribbon?"; next; if (select("0 / SP +20", "0 / SP +30", "1 / SP +20", "1 / SP +30") == 3) .@sage_t += 5; mes "17. Choose the class that cannot equip Saint Robe."; next; if (select("Swordman", "Merchant", "Thief", "Acolyte") == 3) .@sage_t += 5; mes "18. Choose the abnormal status that cannot be cured by Green Potion."; next; if (select("Silence", "Chaos", "Blind", "Curse") == 4) .@sage_t += 5; mes "19. Choose the correct name for the ancient kingdom that disappeared somewhere in Geffen."; next; if (select("Geffayon", "Geffenia", "Gefenn", "Jaffen") == 2) .@sage_t += 5; mes "20. Choose the correct name for the tree that has become the root of this world."; next; if (select("Yggdrasil", "Iggdrassil", "Mastella", "Dead Branch") == 1) .@sage_t += 5; break; case 3: mes "1. Choose the item that the Magical Tool merchant in Geffen does not sell."; next; if (select("Mantle", "Wand", "Circlet", "Silver Robe") == 1) .@sage_t += 5; mes "2. Choose the city where users cannot purchase Blade from an NPC."; next; if (select("Prontera", "Izlude", "Al De Baran", "Payon") == 3) .@sage_t += 5; mes "3. Choose the closest city to Glast Heim."; next; if (select("Prontera", "Geffen", "Morroc", "Payon") == 2) .@sage_t += 5; mes "4. Choose the monster that is a different type than the others."; next; if (select("Aster", "Marc", "Marse", "Marin") == 4) .@sage_t += 5; mes "5. Choose the monster that has a different attribute."; next; if (select("Baby Desert Wolf", "Smokie", "Picky", "Choco") == 2) .@sage_t += 5; mes "6. Choose the monster that is different sized."; next; if (select("Drake", "Wraith", "Evil Druid", "Khalitzburg") == 1) .@sage_t += 5; mes "7. Choose the monster that does not drop 'Phracon'."; next; if (select("Pupa", "Peco Peco Egg", "Savage Bebe", "Baby Desert Wolf") == 2) .@sage_t += 5; mes "8. Choose the NPC that is irrelevant to the Blacksmith job change quest."; next; if (select("Altiregen", "Geschupenschte", "Barcadi", "Baisulist") == 3) .@sage_t += 5; mes "9. Choose the NPC that is not a citizen of Al De Baran."; next; if (select("RS125", "GOD-POING", "Stromme", "Chemirre") == 2) .@sage_t += 5; mes "10. Choose the Kafra lady who is the youngest among the staff."; next; if (select("Pavianne", "Roxie", "Leilah", "Curly Sue") == 4) .@sage_t += 5; mes "11. Choose the correct SP consumption and the number of evasions when using Safety Wall lvl 6."; next; if (select("SP 40, 6 times", "SP 35, 6 times", "SP 40, 7 times", "SP 35, 7 times") == 3) .@sage_t += 5; mes "12. Choose the correct amount of magic attack for Napalm Beat lvl 6."; next; if (select("MATK * 1.2", "MATK * 1.3", "MATK * 1.4", "MATK * 1.5") == 2) .@sage_t += 5; mes "13. Choose the catalyst stone for Mage Solution no. 4 that is used for the Mage job change quest."; next; if (select("Blue Gemstone", "Red Gemstone", "Yellow Gemstone", "1 carat Diamond") == 4) .@sage_t += 5; mes "14. Choose the correct attack strength and SP consumption for Bash lvl 6, the Swordman skill."; next; if (select("250% / 8", "280% / 8", "280% / 15", "310% / 15") == 3) .@sage_t += 5; mes "15. Choose the skill that is irrelevant to learning Claymore Trap, the Hunter skill."; next; if (select("Remove Trap", "Land Mine", "Ankle Snare", "Flasher") == 1) .@sage_t += 5; mes "16. Choose the correct defense and ability of Wedding Veil."; next; if (select("0 / MDEF +3", "0 / MDEF +5", "1 / MDEF +3", "1 / MDEF +5") == 2) .@sage_t += 5; mes "17. Choose the class that cannot equip Coat."; next; if (select("Swordman", "Merchant", "Thief", "Novice") == 4) .@sage_t += 5; mes "18. Choose the item that is not an ingredient for Blue Dyestuffs."; next; if (select("Alcohol", "Detrimindexta", "Karvodailnirol", "Blue Herb") == 3) .@sage_t += 5; mes "19. When the world was created by the god Odin, what did he use for the material?"; next; if (select("The heart of Ymir", "The nail of Ymir", "The tooth of Ymir", "The memento of Ymir") == 1) .@sage_t += 5; mes "20. Choose the metal that has rumored to bring fortune and fame to a person with the destiny."; next; if (select("Empelium Gold", "Emperium", "Emperor", "Phracon") == 2) .@sage_t += 5; } mes "[Claytos Verdo]"; if (SAGE_Q == 4) { mes "Well, you answered all 20 of the questions."; mes "Okay, let me check your answers and add up your score."; } else { mes "Well, we finished all 20 questions."; mes "Now, let's check how many points you got."; } next; mes "[Claytos Verdo]"; mes "Let's see..."; mes "Hmm... hmm..."; next; mes "[Claytos Verdo]"; mes "You got " + .@sage_t + " points."; if (.@sage_t == 100) { if (SAGE_Q == 4) mes "Excellent! You seem fully qualified to become a Sage!"; else mes "Excellent! You must have studed really hard for this test!"; SAGE_Q = 6; changequest 2041,2046; next; mes "[Claytos Verdo]"; mes "You have passed the written test."; mes "Go visit Professor Hermes for the practical examination."; } else if (.@sage_t >= 80) { SAGE_Q = 6; changequest 2041,2046; mes "Yeah, not bad. I assume that you will at least understand what you're going to learn in class."; next; mes "[Claytos Verdo]"; mes "You passed the written test."; mes "Go visit Professor Hermes for the practical examination."; } else { if (SAGE_Q == 4) { SAGE_Q = 5; mes "Oh well...what a shame: You failed."; next; mes "[Claytos Verdo]"; mes "But I'll give you another chance to take the written test,"; mes "Go study harder and come back later."; } else { mes "Oh what a shame: You failed."; next; mes "[Claytos Verdo]"; mes "But I'll give you another chance,"; mes "Go study even harder and come back."; } } close; } else if (SAGE_Q == 6) { mes "What else do you want?! Do you want to take this test again?"; mes "You've already passed!"; next; mes "[Claytos Verdo]"; mes "Go visit Professor Hermes for the practical examination."; mes "Move!"; close; } else if (SAGE_Q == 15) { mes "Heh heh, It seems you're done with your dissertation."; mes "But I'm not the person handling that part of the test."; next; mes "[Claytos Verdo]"; mes "submit your thesis to Dean Kayron."; mes "He will decide whether you are qualified to graduate or not."; close; } else { mes "I'm too busy to take care of written tests."; mes "Come back later, and I'll spare some time to talk."; close; } } //== Practical Examination Professer ======================= yuno_in03,169,180,3 script Practical Examination P 4_M_SAGE_C,{ mes "[Hermes Tris]"; if (BaseJob != Job_Mage) { if (BaseJob == Job_Sage) { mes "Welcome. How have you been?"; mes "I guess you've been through a lot of hard times...I can tell by your appearance."; next; mes "[Hermes Tris]"; mes "I know how hard it is to explore all those perilous areas, but it will help you to gain more knowledge."; mes "Book smarts never can beat street smarts."; next; mes "[Hermes Tris]"; mes "However, it's a very dangerous idea to go deep inside a dungeon alone. "; mes "You'd better look for trustworthy comrades."; } else if (BaseJob == Job_Novice) { mes "Heh heh, now ain't that a cute little Novice?"; next; mes "[Hermes Tris]"; mes "In this continent of Rune-Midgarts, there are a lot of unknown places and objects that haven't been fully discovered."; mes "The monsters, mysterious objects and heroes of myths..."; next; mes "[Hermes Tris]"; mes "Why don't you consider being a Sage in the future?"; mes "You will love studying the world."; next; mes "[Hermes Tris]"; mes "If by chance you do decide to do that, we'll meet again."; mes "Take care, kiddy."; } else { mes "Welcome to the Schweicherbil Magic Academy."; next; mes "[Hermes Tris]"; mes "We Sages are more like scholars than Mages."; mes "We are very helpful and powerful as members of a party."; next; mes "[Hermes Tris]"; mes "Try to make a party with a Sage next time."; mes "The wisdom a Sage will bring will be more than helpful for your party..."; } close; } if (SAGE_Q >= 0 && SAGE_Q <= 3) { mes "I am Professor Hermes, in charge of practical examinations."; mes "Are you a candidate for the Sage class?"; next; mes "[Hermes Tris]"; mes "Register your application and take the written test first."; close; } else if (SAGE_Q == 4 || SAGE_Q == 5) { mes "I am professor Hermes, in charge of practical examinations."; mes "Are you a candidate for the Sage class?"; next; mes "[Hermes Tris]"; mes "Go pass the written test with Professor Claytos first."; mes "Then I will take care of you."; close; } else if (SAGE_Q == 6) { mes "Welcome, you just passed the written test, didn't you?"; mes "Now it's time for the practical examination."; next; mes "[Hermes Tris]"; mes "There is nothing difficult or special about this test."; mes "All you have to do is kill all the monsters within the time limit."; next; mes "[Hermes Tris]"; mes "It's better to experience this for yourself, rather than be told about this test 100 times."; mes "How about it? Are you ready to take this test?"; next; if (select("Yes, I am.", "Sorry, give me some time.") == 1) { SAGE_Q = 7; mes "[Hermes Tris]"; mes "Good, let's start immediately."; mes "Do your best and come back safely!"; close2; warp "job_sage",50,154; end; } SAGE_Q = 7; mes "[Hermes Tris]"; mes "Yes, you don't need to hurry... take your time and come back."; close; } else if (SAGE_Q == 7) { mes "Welcome again! So, did you fully prepare yourself this time?"; mes "Oh well, it's not that hard. Give it your all, okay?"; next; mes "[Hermes Tris]"; mes "Are you ready?"; next; if (select("Yes, I am.", "Sorry, give me some time.") == 1) { mes "[Hermes Tris]"; mes "Good, let's start immediately."; mes "Do your best and come back safely!"; close2; warp "job_sage",50,154; end; } mes "[Hermes Tris]"; mes "Yes, you don't need to hurry... take your time and come back."; close; } else if (SAGE_Q == 8) { mes "Good job~ Since you passed the practical examination as well..."; mes "I'll accept your admission."; next; mes "[Hermes Tris]"; mes "Now I need to decide what subject you will learn and study..."; mes "Let's see... let me check your written test grade and the time spent on the practical examination."; next; mes "[Hermes Tris]"; mes "Hmm, hmm... I see."; mes "Well... I think you're okay."; next; switch(rand(1,3)) { case 1: SAGE_Q = 9; changequest 2046,2047; mes "[Hermes Tris]"; mes "Now, you will study Yggdrasil."; mes "Yggdrasil is the tree that was rumored to be the source of life for this world."; next; mes "[Hermes Tris]"; mes "That is a good subject which helps us to recognize changes in the world, as well as the direction of its improvement."; mes "Go ask for help from Professor Saphien. He's in the Lecture Room."; next; mes "[Hermes Tris]"; mes "I wish you luck."; close; case 2: SAGE_Q = 11; changequest 2046,2048; mes "[Hermes Tris]"; mes "Now, you will study monsters."; mes "The purpose of this study is to learn and understand more about creatures existing all over the continent."; next; mes "[Hermes Tris]"; mes "This is a good subject which will help you lead your life as a well-experienced Sage."; mes "Go ask for help from Professor Lucius. He's in the Monster Museum."; next; mes "[Hermes Tris]"; mes "I wish you luck."; close; case 3: SAGE_Q = 13; changequest 2046,2049; mes "[Hermes Tris]"; mes "Now, you will study magic skills that have certain properties."; mes "The purpose of this study is to better understand basic magic skills that we use in everyday life."; next; mes "[Hermes Tris]"; mes "That is a good subject which helps you to deeply understand of the truth of magic."; mes "Go ask Professor Aebecee for help...He's in the Somatology Laboratory."; next; mes "[Hermes Tris]"; mes "I wish you luck."; close; } } else if (SAGE_Q == 9) { mes "Huh? Didn't you understand what I said?"; mes "I told you to study Yggdrasil."; next; mes "[Hermes Tris]"; mes "Go ask for help from Professor Saphien. He's in the Lecture Room."; close; } else if (SAGE_Q == 11) { mes "Huh? Didn't you understand what I said?"; mes "I told you to study monsters."; next; mes "[Hermes Tris]"; mes "Go ask for help from Professor Lucius. He's in the Monster Museum."; close; } else if (SAGE_Q == 13) { mes "Huh? Didn't you understand what I said?"; mes "I told you to study magic spells that possess certain properties."; next; mes "[Hermes Tris]"; mes "Go ask a help from Professor Aebecee. He's in the Somatology Laboratory."; close; } else if (SAGE_Q == 15) { mes "What are you doing here? Aren't you supposed to be with Dean Kayron?"; mes "Oh well, there's no harm in showing me your dissertation though..."; next; mes "[Hermes Tris]"; mes "But then again, maybe there is. Go see Dean Kayron."; close; } else { mes "Oh sorry, I'm quite busy at the moment..."; mes "If you have any questions, go visit the professor I've assigned to you."; close; } } yuno_in03,62,176,2 script History Professor#sa 4_M_MANAGER,{ mes "[Saphien Layless]"; if (BaseJob != Job_Mage) { if (BaseJob == Job_Sage) { mes "Do I know you? Were you one of my students?"; mes "Oh, it doesn't matter anyway. You wouldn't be a Sage without graduating from this academy..."; next; mes "[Saphien Layless]"; mes "In any case, you must study the past in order to better understand the present and to predict...the future."; mes "This sentence contains all the truth of the world."; next; mes "[Saphien Layless]"; mes "I guess you're treading the right path..."; mes "One of these days you'll look back to this moment and realize it changed your life."; } else if (BaseJob == Job_Novice) { mes "A Novice? Why is a novice here?"; next; mes "[Saphien Layless]"; mes "One whose life has many possibilities... "; mes "How do you wish to lead your life?"; next; mes "[Saphien Layless]"; mes "No matter what you decide to be, everything depends on your choice."; mes "May God bless you so that you can choose the path best for you..."; } else { mes "Welcome, I am in charge of historical studies here in the academy."; next; mes "[Saphien Layless]"; mes "The world as we know it is a result of events that described in the records of the ages. It is historical events that have shaped the world as it is today."; mes "Therefore, knowing the past means you will better understand the present and...the future."; next; mes "[Saphien Layless]"; mes "Reflect upon your past."; mes "You will see your path in the future..."; } close; } if (SAGE_Q == 9) { if (SAGE_Q2 == 0) { mes "Welcome, " + strcharinfo(PC_NAME) + ". I am glad to meet you."; mes "My name is Saphien Layless, I will be in charge of your class for a while."; next; mes "[Saphien Layless]"; mes "The subject you're studying is Yggdrasil."; mes "So...do you even know what Yggdrasil is?"; next; switch(select("Yes, I know very well.", "No, I don't.")) { case 1: mes "[Saphien Layless]"; mes "Okay then, what is Yggdrasil?"; mes "Please answer me."; next; switch(select("It's a name of a health item.", "It's the source of life in the world.", "Suckah, I lied.")) { case 1: mes "[Saphien Layless]"; mes "Wrong. " + strcharinfo(PC_NAME) + ", you got - 10 points."; mes "That's just one of the gifts from Yggdrasil."; next; mes "[Saphien Layless]"; mes "Yggdrasil is the name of the tree that is the source of life in this world."; break; case 2: mes "[Saphien Layless]"; mes "That's right. Yggdrasil, the so-called 'World Tree', "; mes "is the name of the tree that has been the source of life in this world."; break; case 3: mes "[Saphien Layless]"; mes "Great Schott...If you don't know, just say so."; mes "By the way, " + strcharinfo(PC_NAME) + ", you just got - 10 points for lying and for being wrong."; break; } next; break; case 2: mes "[Saphien Layless]"; mes "Ah well, I expected you would know at least a little bit about Yggdrasil..."; mes "Yggdrasil is the name of the tree that is the source of life in this world."; next; break; } mes "[Saphien Layless]"; mes "Before we start the class, I'll need some reserve items."; mes "It's for better understanding of Yggdrasil."; next; mes "[Saphien Layless]"; mes "Anything is fine as long as it's related to the Yggdrasil tree."; mes "Seeds or fruits of the tree would be good. I know it's difficult to find, but please try."; next; SAGE_Q2 = 1; changequest 2047,2050; mes "[Saphien Layless]"; mes "When we have the reserve items, we will start the class."; mes "Please come back."; close; } else { if (countitem(Yggdrasilberry) > 0) { mes "[Saphien Layless]"; mes "Oh, did you bring them with you? Excellent!"; mes "You brought Yggdrasilberry!"; next; mes "[Saphien Layless]"; mes "Okay, now I am starting the class."; mes "Listen carefully, I will not accept dozing off in the middle of class."; next; } else if (countitem(Seed_Of_Yggdrasil) > 0) { mes "[Saphien Layless]"; mes "Hmm, did you prepare for class? Let's see..."; mes "Oh! So you brought me the Yggdrasil Seed?"; next; mes "[Saphien Layless]"; mes "Very well. Now I am starting the class.."; mes "Listen carefully, I will not accept dozing off in the middle of class."; next; } else if (countitem(Leaf_Of_Yggdrasil) > 0) { mes "[Saphien Layless]"; mes "Hmm, did you prepare for class? Let's see..."; mes "Yggdrasil Leaf..."; next; mes "[Saphien Layless]"; mes "You can purchase this item from the town of Al De Baran! You didn't show any effort."; mes "So, I must give you - 10 points, " + strcharinfo(PC_NAME) + "."; next; mes "[Saphien Layless]"; mes "Okay, now I am starting the class."; mes "Listen carefully, I will not accept you dozing off in the middle of class, or any more slacking."; next; } else { mes "[Saphien Layless]"; mes "Huh? You're not ready to this class yet!"; mes "I told you to bring me any items related Yggdrasil."; next; mes "[Saphien Layless]"; mes "Tell me when you're ready."; mes "Don't worry about being late, we professors are paid to wait around."; close; } mes "[Saphien Layless]"; mes "The root of this world, Yggdrasil, is a gigantic tree."; mes "It takes root all over the continent of Rune-Midgarts and its leaves reach the sky."; next; mes "[Saphien Layless]"; mes "Outside of this continent, there is a ocean where a giant snake named Yormungandr is coiled up."; mes "The world as we know it consists of 3 places: Asgard, Midgard and Utgard."; next; mes "[Saphien Layless]"; mes "Utgard is where all the titans live."; next; mes "[Saphien Layless]"; mes "Midgard is where all human beings live."; next; mes "[Saphien Layless]"; mes "And Asgard is where the gods reside..."; mes "An ash tree taking root in the middle of the Rune-Midgarts continent, that is Yggdrasil."; next; mes "[Saphien Layless]"; mes "This continent was born from the heart of Ymir, and Yggdrasil holds the continent together by grasping it with its 3 roots."; mes "These roots stretch into 3 different places."; next; mes "[Saphien Layless]"; mes "The first root reaches Asgard where the gods live and "; mes "where we, mere humans, haven't yet explored or experienced."; next; mes "[Saphien Layless]"; mes "The second root reaches Jotunnheim where all the giants live."; mes "We've been told this name many times through myths and legends."; next; mes "[Saphien Layless]"; mes "The third one reaches Niflheim."; mes "That place is rumored to be covered with a thick, black fog."; next; mes "[Saphien Layless]"; mes "Items, such as Seed of Yggdrasil, Yggdrasilbrry and Leaf of Yggdrasil are"; mes "considered a part of Yggdrasil tree."; next; mes "[Saphien Layless]"; mes "Yggdrasilberry has a fascinating scent that is rumored to"; mes "restore full HP and SP at once."; next; mes "[Saphien Layless]"; mes "The seed of Yggdrasil which has the fragrance of a blooming flower and the flavor of nut is rumored to"; mes "restore half of HP and SP at once."; next; mes "[Saphien Layless]"; mes "The leaf of Yggdrasil which is filled with vital force is rumored to"; mes "revive the dead, bringing them back to this world."; next; mes "[Saphien Layless]"; mes "Lastly... if by some chance you discover a way into Asgard in the future, "; mes "I hope you will find the Yggdrasil tree."; next; mes "[Saphien Layless]"; mes "Even though the story of the Yggdrasil tree only exists in myths and legends, "; mes "we Sages are obligated to discover the truth of the Yggdrasil tree."; next; mes "[Saphien Layless]"; mes "That is the end of today's class."; mes "Please record the articles you've learned today, and try to remember as much as you can."; next; mes "[Saphien Layless]"; mes "In the next class, you will write a thesis about Yggdrasil..."; mes "Please bring the following items to prepare for class."; next; mes "[Saphien Layless]"; mes "^3355FF1 Feather of Birds^000000 which will be used as a pen,"; mes "^3355FF1 Animal Skin^000000 which will be used as paper,"; mes "^3355FF1 Trunk^000000 which will be used to bind a book,"; mes "^3355FF1 Squid Ink^000000 which will be used as ink,"; mes "^3355FF1 Empty Bottle^000000 which will be used for holding the squid ink."; next; SAGE_Q2 = 0; SAGE_Q = 10; changequest 2050,2051; mes "[Saphien Layless]"; mes "I will help you to write your thesis when you're ready with all those items."; mes "I am looking forward to the next class with you."; close; } } else if (SAGE_Q == 10) { if (countitem(Feather_Of_Birds) > 0 && countitem(Animals_Skin) > 0 && countitem(Wooden_Block) > 0 && countitem(Chinese_Ink) > 0 && countitem(Empty_Bottle) > 0) { delitem Feather_Of_Birds,1; delitem Animals_Skin,1; delitem Wooden_Block,1; delitem Chinese_Ink,1; delitem Empty_Bottle,1; mes "Now, you're writing your thesis."; mes "I will assist you with your writing."; next; mes ".........."; next; mes "...................."; next; mes "................................."; next; mes ".....There is a ocean around the continent,"; mes "The ocean is coiled up by"; switch(select("A giant ash tree.", "A giant snake Yormungandr.", "A giant turtle and elephants.", "A giant dragon.")) { case 1: .@w_point += 1; mes "A giant ash tree."; break; case 2: mes "A giant snake Yormungandr."; break; case 3: .@w_point += 1; mes "A giant turtle and elephants."; break; case 4: .@w_point += 1; mes "A giant dragon."; break; } mes "The continent consists of three places such as,"; switch(select("Mt.Mjolnir, where spiders live,", "Uranos, where titans live,", "Utgard, where titans live,", "Lutie, the winter land,")) { case 1: .@w_point += 1; mes "Mt.Mjolnir where spiders live,"; break; case 2: .@w_point += 1; mes "Uranos where titans live,"; break; case 3: mes "Utgard where titans live,"; break; case 4: .@w_point += 1; mes "Lutie, the winter land,"; break; } switch(select("Midgard, where humans live,", "Rune-Midgarts where humans live,", "Tritonia, where mermaids live,", "Morroc, the desert city,")) { case 1: mes "Midgard, where humans live in,"; break; case 2: .@w_point += 1; mes "Rune-Midgarts, where humans live,"; break; case 3: .@w_point += 1; mes "Tritonia, where mermaids live,"; break; case 4: .@w_point += 1; mes "Morroc, the desert city,"; break; } switch(select("Abguard, where gods live.", "Asgard, where gods live.", "Schwarzwald, where citizens live.", "Prontera, the capital of Rune-Midgarts.")) { case 1: .@w_point += 1; mes "Abguard where gods live."; break; case 2: mes "Asgard, where gods live."; break; case 3: .@w_point += 1; mes "Schwarzwald, where citizens live."; break; case 4: .@w_point += 1; mes "Prontera, the capital of Rune-Midgarts."; break; } mes "The continent consists of the three places stated above."; next; if (.@w_point > 0) { mes "[Saphien Layless]"; mes "..." + strcharinfo(PC_NAME) + ", have you lost your mind?"; mes "Your work is too poor to be considered as a thesis!"; next; mes "[Saphien Layless]"; mes "I don't think you can submit your work to the dean."; mes "Go study harder and try again!"; close; } mes ".....as we studied from the last class,"; mes "Yggdrasil is..."; switch(select("A giant ash tree.", "A fabulous Mastella tree.", "A giant willow.", "A giant dead branch.")) { case 1: mes "A giant ash tree."; break; case 2: .@w_point += 1; mes "A fabulous Mastella tree."; break; case 3: .@w_point += 1; mes "A giant willow."; break; case 4: .@w_point += 1; mes "A giant dead branch."; break; } mes "The root of Yggdrasil is divided into 3 parts. Those parts reach to 3 places..."; switch(select("Schwarzwald, Jotunnheim, Niflheim.", "Midgard, Jotunnheim, Naffleheim.", "Asgard, Jotunnheim, Naffleheim.", "Asgard, Jotunnheim, Niflheim.")) { case 1: .@w_point += 1; mes "Schwarzwald, Jotunnheim, Niflheim."; break; case 2: .@w_point += 1; mes "Midgard, Jotunnheim, Naffleheim."; break; case 3: .@w_point += 1; mes "Asgard, Jotunnheim, Naffleheim."; break; case 4: mes "Asgard, Jotunnheim, Niflheim."; break; } mes "One who has a Seed of Yggdrasil,"; switch(select("can be cured from all the abnormal statuses.", "can restore full HP and SP at once.", "can restore half of total HP and SP.", "can be cured from Silence, Curse and Chaos.")) { case 1: .@w_point += 1; mes "can be cured from all the abnormal statuses."; break; case 2: .@w_point += 1; mes "can restore full HP and SP at once."; break; case 3: mes "can restore half of total HP and SP."; break; case 4: .@w_point += 1; mes "can be cured from Silence, Curse and Chaos."; break; } next; if (.@w_point > 0) { mes "[Saphien Layless]"; mes "..." + strcharinfo(PC_NAME) + ", have you lost your mind?"; mes "Your work is too poor to be considered as a thesis!"; next; mes "[Saphien Layless]"; mes "I don't think you can submit your work to the dean."; mes "Go study harder and try again!"; close; } mes ".........."; next; mes "...................."; next; mes "................................."; next; SAGE_Q = 15; changequest 2051,2052; mes "[Saphien Layless]"; mes "Oh, did you finish already? Well done."; mes "Please handle this with care, because you won't be able to do this ever again."; getitem Book,1; next; mes "[Saphien Layless]"; mes "I assume you're ready to submit your work to the dean."; mes "Whether you will pass the test or not is his decision."; close; } else { mes "I am not sure that you're ready to write a thesis."; mes "I am afraid to say I already informed you of what you need."; next; mes "[Saphien Layless]"; mes "^3355FF1 Feather of Birds^000000 which will be used as a pen,"; mes "^3355FF1 Animal Skin^000000 which will be used as paper,"; mes "^3355FF1 Trunk^000000 which will be used to bind a book,"; mes "^3355FF1 Squid Ink^000000 which will be used as ink,"; mes "^3355FF1 Empty Bottle^000000 which will be used for holding squid ink."; next; mes "[Saphien Layless]"; mes "I will assist you in writing your thesis."; mes "Please bring all those items with you."; close; } } else if (SAGE_Q == 15) { mes "Huh? Aren't you supposed to head over to the dean?"; mes "If you've finished writing your thesis, please bring it to the dean."; next; mes "[Saphien Layless]"; mes "You can have only one chance to write your thesis before you become a Sage."; mes "So please move on."; close; } else { mes "I am not sure if you have business with me, but please come back later."; mes "I have some issues to think about.."; close; } } yuno_in03,32,102,1 script Biology Professor#sa 4_M_SAGE_C,{ mes "[Lucius Celsus]"; if (BaseJob != Job_Mage) { if (BaseJob == Job_Sage) { mes "What is your business with me?"; mes "You must make a reservation a week in advance if you have any questions."; next; mes "[Lucius Celsus]"; mes "You don't know how busy person I am...don't you?"; mes "If you're a Sage, you're supposed to know about me by now."; next; mes "[Lucius Celsus]"; mes "You have too much time on your hands. Go explore some dungeons."; mes "I think it will be more helpful than wasting your time on me."; } else if (BaseJob == Job_Novice) { mes "What brings you to me, kid?"; next; mes "[Lucius Celsus]"; mes "You'd better go out and play with your pals. "; mes "This is not a place where you can fool around."; } else { mes "Hmm? What brings you to me? Are you interested in watching monsters?"; next; mes "[Lucius Celsus]"; mes "You're allowed to watch. However, do not disturb them by making any fuss."; mes "And keep your hands off, some of these guys are way too dangerous to touch."; next; mes "[Lucius Celsus]"; mes "By the way, if you catch any rare monsters in future, let me know."; mes "I am willing to purchase those at any cost."; } close; } if (SAGE_Q == 11) { if (SAGE_Q2 == 0) { mes "Welcome to my class, did you earn good results in the practical exam?"; mes "My name is Lucius Celsus, the expert of Biology."; next; mes "[Lucius Celsus]"; mes "Huh...how rude of you! You're expected to introduce yourself to me as soon as I greet you!"; mes "What is your name, young one?"; next; select(strcharinfo(PC_NAME)); mes "[Lucius Celsus]"; mes "A fine name. It's nice to meet you."; mes "So, are you aware of the subject you're studying?"; next; mes "[Lucius Celsus]"; mes "As you know, your topic of study is monsters."; mes "How many times have you fought with monsters?"; next; if (select("Well, I can't even count.", "A few times, I guess...") == 1) { mes "[Lucius Celsus]"; mes "Oh shut up, you brat. Don't be so sure about yourself."; mes "Even if you have much experience with monsters, you will have a hard time comprehending my lecture."; } mes "[Lucius Celsus]"; mes "Yes, that's what I guessed about you. You're just book smart."; mes "However, I am sure you will encounter most of the monsters mentioned in my lecture."; next; sage_m4 = rand(1,3); mes "[Lucius Celsus]"; mes "Let's get started."; mes "Make sure you're ready for the practical examination during my lecture."; next; if (sage_m4 == 1) { SAGE_Q2 = 1; changequest 2048,2053; mes "[Lucius Celsus]"; mes "Go bring the following items to me."; mes "5 ^3355FFTentacle^000000,"; mes "5 ^3355FFSingle Cell^000000,"; mes "5 ^3355FFFish Tail^000000."; } else if (sage_m4 == 2) { SAGE_Q2 = 2; changequest 2048,2054; mes "[Lucius Celsus]"; mes "Go bring the following items to me."; mes "5 ^3355FFNipper^000000,"; mes "5 ^3355FFClam Flesh^000000,"; mes "5 ^3355FFHeart of Mermaid^000000."; } else { SAGE_Q2 = 3; changequest 2048,2054; mes "[Lucius Celsus]"; mes "Go bring following items to me."; mes "5 ^3355FFTendon^000000,"; mes "5 ^3355FFNipper^000000,"; mes "5 ^3355FFSharp Scale^000000."; } next; mes "[Lucius Celsus]"; mes "I will proceed with the class when you bring those to me."; mes "Have fun."; close; } else if (SAGE_Q2 >= 1 && SAGE_Q2 <=3) { switch(SAGE_Q2) { case 1: setarray .@items[0],962,1052,1023; break; //Nipper, Clam Flesh, Heart of Mermaid case 2: setarray .@items[0],960,966,950; break; //Tendon, Nipper, Sharp Scale case 3: setarray .@items[0],1050,960,963; break; } if (countitem(.@items[0]) > 4 && countitem(.@items[1]) > 4 && countitem(.@items[2]) > 4) { mes "You showed great effort to gather all of those."; mes "Well, I am not sure if you gathered them by yourself or bought them from shops..."; next; mes "[Lucius Celsus]"; mes "Somehow the monsters that drop those items have something in common."; mes "Can you tell me what that similarity is?"; next; switch(select("They possess water property.", "They are fishes.", "They are aggressive.", "Um...they monsters.")) { case 1: mes "[Lucius Celsus]"; mes "Yes, they possess water property and at the same time they are fishes."; mes "Most fish class monsters live underwater, so they are attributed with the water property."; break; case 2: mes "[Lucius Celsus]"; mes "Yes, they possess water property and at the same time they are fishes."; mes "Most fish class monsters live underwater, so they are attributed with the water property."; break; case 3: sage_m4 = 4; mes "[Lucius Celsus]"; mes "...I didn't know Phens were aggressive nowadays?"; mes "Or do Marina and Plankton team up to start a fight with you?"; next; mes "[Lucius Celsus]"; mes "All the monsters from which you obtained these items are not agressive... get a grip."; mes "They are all fishes and possess water property."; break; case 4: sage_m4 = 4; mes "[Lucius Celsus]"; mes "What...! What are you here for!? You are here to study about specific monsters, microcephalic moron!"; mes "Sigh...they are all fishes and possess water property."; break; } next; mes "[Lucius Celsus]"; mes "Not all fish class monsters possess water property, but most of them do."; mes "So which kind of magic would work best on most fish class monsters?"; next; switch(select("Lightening Bolt.", "Fire Bolt.", "Thunder Storm.", "Frost Diver.")) { case 1: mes "[Lucius Celsus]"; mes "That's right, Lightening Bolt, which possesses the wind property, works best on water property monsters."; mes "Although you might want to be careful of monsters that recognize magic casting."; break; case 2: sage_m4 = 4; mes "[Lucius Celsus]"; mes "What? Fire Bolt! Fire cannot beat water, you imbecile!"; mes "Most fishes are attributed with the water property. Therefore, they are weak to wind property magic spells. Don't you get it?"; break; case 3: mes "[Lucius Celsus]"; mes "Yeah, Thunder Storm spell is fine... it's a wind property spell."; mes "However, you will be in trouble if you use the spell in a poorly chosen spot."; break; case 4: sage_m4 = 4; mes "[Lucius Celsus]"; mes "I can't fathom such stupidity! This question asks you to choose a property that counters water! Don't you get it?"; mes "Logically, any magic spell possessing the water property cannot overcome the water atrribute monsters!"; break; } next; mes "[Lucius Celsus]"; mes "By the way, although some monsters such as Penomena or Aster are considered to be fish class monsters, "; mes "they have a different property than the others. You'd better be careful with them."; next; mes "[Lucius Celsus]"; mes "Okay, let me teach you about insect monsters."; mes "Let's see... hmm... hmm..."; next; switch(rand(1,4)) { case 1: SAGE_Q2 = 4; if (questprogress(2053)) { changequest 2053,2056; } else if (questprogress(2054)) { changequest 2054,2056; } else { changequest 2055,2056; } mes "5 ^3355FFCobweb^000000,"; mes "5 ^3355FFShell^000000,"; mes "5 ^3355FFInsect Feeler^000000."; break; case 2: SAGE_Q2 = 5; if (questprogress(2053)) { changequest 2053,2057; } else if (questprogress(2054)) { changequest 2054,2057; } else { changequest 2055,2057; } mes "5 ^3355FFHorn^000000,"; mes "5 ^3355FFSnail's Shell^000000,"; mes "5 ^3355FFMoth Dust^000000."; break; case 3: SAGE_Q2 = 6; if (questprogress(2053)) { changequest 2053,2058; } else if (questprogress(2054)) { changequest 2054,2058; } else { changequest 2055,2058; } mes "5 ^3355FFMantis Scythe^000000,"; mes "5 ^3355FFWorm Peeling^000000,"; mes "5 ^3355FFRainbow Shell^000000."; break; case 4: SAGE_Q2 = 7; if (questprogress(2053)) { changequest 2053,2059; } else if (questprogress(2054)) { changequest 2054,2059; } else { changequest 2055,2059; } mes "5 ^3355FFCobweb^000000,"; mes "5 ^3355FFMantis Scythe^000000,"; mes "5 ^3355FFSolid Shell^000000."; } next; mes "[Lucius Celsus]"; mes "I will proceed with the class when you bring those to me."; mes "Have fun."; close; } mes "What, you already forgot what I told you just a minute before?"; mes "What a nusance... listen carefully this time."; next; mes "[Lucius Celsus]"; mes "5 ^3355FF"+getitemname(.@items[0])+"^000000,"; mes "5 ^3355FF"+getitemname(.@items[1])+"^000000,"; mes "5 ^3355FF"+getitemname(.@items[2])+"^000000,"; close; } else if (SAGE_Q2 >= 4 && SAGE_Q2 <= 7) { switch(SAGE_Q2) { case 4: setarray .@items[0],1025,935,928; break; //Horn, Snail's Shell, Moth Dust case 5: setarray .@items[0],947,946,1057; break; //Mantis Scythe, Worm Peeling, Rainbow Shell case 6: setarray .@items[0],1031,955,1013; break; //Cobweb, Mantis Scythe, Solid Shell case 7: setarray .@items[0],1025,1031,943; break; } if (countitem(.@items[0]) > 4 && countitem(.@items[1]) > 4 && countitem(.@items[2]) > 4) { mes "Well done. So, did you watch insects while gathering those items?"; mes "Oh well, I believe you did a good job with the task."; next; mes "[Lucius Celsus]"; mes "Insect class monsters do not share the same property most of the time, "; mes "You must think twice before you cast a magic spell on an insect."; next; mes "[Lucius Celsus]"; mes "It's remarkable that insects can detect hidden objects."; mes "Therefore, any hiding skill such as the Hiding skill or Cloaking skill will not work on insect monsters."; next; mes "[Lucius Celsus]"; mes "Some insects form a group and live together."; mes "They are controlled by the head of the group..."; next; mes "[Lucius Celsus]"; mes "For instance, Maya the queen ant..."; mes "Mistress, the queen of hornets,"; mes "or Golden Thiefbug, the king of thiefbugs..."; next; mes "[Lucius Celsus]"; mes "You cannot beat those boss monsters alone, "; mes "you'd better form a party if you want to fight with them."; next; mes "[Lucius Celsus]"; mes "That's the end of my class...it's time for you to write a thesis."; mes "Bring me following items for writing the thesis."; next; mes "[Lucius Celsus]"; mes "^3355FF1 Feather of Birds^000000 which will be used as a pen,"; mes "^3355FF1 Animal Skin^000000 which will be used as paper,"; mes "^3355FF1 Trunk^000000 which will be used to bind a book,"; mes "^3355FF1 Squid Ink^000000 which will be used as ink,"; mes "^3355FF1 Empty Bottle^000000 which will be used for holding squid ink."; next; SAGE_Q2 = 0; SAGE_Q = 12; if (questprogress(2056)) { changequest 2056,2051; } else if (questprogress(2057)) { changequest 2057,2051; } else if (questprogress(2058)) { changequest 2058,2051; } else { changequest 2059,2051; } mes "[Lucius Celsus]"; mes "I will help you in writing the thesis when you bring all of those items."; mes "You're almost there. Isn't learning easy?"; close; } mes "What, you already forgot what I told you?"; mes "What a nuisance...listen carefully this time."; next; mes "[Lucius Celsus]"; mes "5 ^3355FF"+getitemname(.@items[0])+"^000000,"; mes "5 ^3355FF"+getitemname(.@items[1])+"^000000,"; mes "5 ^3355FF"+getitemname(.@items[2])+"^000000,"; close; } mes "Zzz...Zzz..."; close; } else if (SAGE_Q == 12) { if (countitem(Feather_Of_Birds) > 0 && countitem(Animals_Skin) > 0 && countitem(Wooden_Block) > 0 && countitem(Chinese_Ink) > 0 && countitem(Empty_Bottle) > 0) { delitem Feather_Of_Birds,1; delitem Animals_Skin,1; delitem Wooden_Block,1; delitem Chinese_Ink,1; delitem Empty_Bottle,1; mes "Hmph. Lucky brat brought all of the items."; mes "Well, I don't expect you to write an outrageously great thesis though..."; next; mes "[Lucius Celsus]"; mes "Well, if you really want to write it by yourself, I can let you handle it but..."; mes "I will give you a work of staggering genius. Just make a copy of it under your name."; next; mes "[Lucius Celsus]"; mes "You got a problem with that? Tough, that's my style."; mes "Just do what I say."; next; mes ".........."; next; mes "...................."; next; mes "................................."; next; select(".....Monsters vary by physical appearance,"); mes ".....Monsters vary by physical appearance,"; select("...and possess various elemental properties."); mes "...and possess various elemental properties."; select("You must be aware of each monster's properties,"); mes "You must be aware of each monster's properties,"; select("...and be aware that certain spells work differently on different monsters."); mes "...and be aware that certain spells work differently on different monsters."; select("You must be especially careful of holy property and shadow property monsters."); mes "You must be especially careful of holy property and shadow property monsters."; select("These monsters are most dangerous, though occasionally cute."); mes "These monsters are most dangerous."; next; mes ".........."; next; mes "...................."; next; mes "................................."; next; SAGE_Q = 15; changequest 2051,2052; mes "[Lucius Celsus]"; mes "Are you done? Okay, then it's over."; mes "You won't be able to write another thesis again, handle this with care."; getitem Book,1; next; mes "[Lucius Celsus]"; mes "Show this masterpiece to the dean."; mes "Then, he will let you graduate from the academy. See you."; close; } else { mes "What, are you sure that you're ready? No, I don't think so."; mes "Oh well... listen carefully this time."; next; mes "[Lucius Celsus]"; mes "^3355FF1 Feather of Birds^000000 which will be used as a pen,"; mes "^3355FF1 Animal Skin^000000 which will be used as paper,"; mes "^3355FF1 Trunk^000000 which will be used to bind a book,"; mes "^3355FF1 Squid Ink^000000 which will be used as ink,"; mes "^3355FF1 Empty Bottle^000000 which will be used for holding squid ink."; next; mes "[Lucius Celsus]"; mes "You have been doing fine, I guess you can do this without a problem."; mes "Go get them. Hurry up."; close; } } else if (SAGE_Q == 15) { mes "What are you doing here, Go show your thesis to the dean!"; mes "Don't wasn't any more time here."; next; mes "[Lucius Celsus]"; mes "It seems you have too much time on your hands. Okay, I will assign you some tasks."; mes "Hahaha, did you say no? Alright then, fine. Scram."; close; } else { mes "Wah~! My brain is gonna blow up soon! Why must I have to prepare all of these things?!"; mes "Who are you?! Don't disturb me, I'm busy!!"; next; mes "[Lucius Celsus]"; mes "If you just want to watch monsters here, fine with me..."; mes "Just don't ask me any questions."; close; } } yuno_in03,244,31,3 script Physics Professor#sa 2_M_PHARMACIST,{ mes "[Aebecee George]"; if (BaseJob != Job_Mage) { if (BaseJob == Job_Sage) { mes "Tee hee, hello there! What brings you here again, sweetie?"; mes "Oh, I see... you're just excited because you finally became a Sage? Tee hee~"; next; mes "[Aebecee George]"; mes "Oh well, although you have become a Sage, you're just doing the same thing, tee hee...we're mages down to the core!"; mes "We're way better than any other class because we're pretty good with our heads, you know?"; next; mes "[Aebecee George]"; mes "Okay, is there anything you want to talk about?"; mes "Oh dearie, don't be nervous...where's your sense of adventure?"; } else if (BaseJob == Job_Novice) { mes "Well, aren't you the cutest little Novice~"; next; mes "[Aebecee George]"; mes "What are you doing here, sweetcakes? Do you just come over to see what's in here?"; mes "Do you want some candy? Candy, my precious? Tee hee."; next; mes "[Aebecee George]"; mes "Oh gosh...Sorry, I thought I had some..."; mes "But I've got other treats, you catch my drift?"; } else { mes "Hey there, tee hee, how's it going sailor?"; next; mes "[Aebecee George]"; mes "Did you come here to look around? Huh...?"; mes "Well, if you're not here for business, you must be here..."; next; mes "[Aebecee George]"; mes "...for PLEASURE."; mes "Hey wait! Come back~!"; } close; } if (SAGE_Q == 13) { if (SAGE_Q2 == 0) { mes "Hello~? Nice to meet you, tee hee."; mes "Did you come to see me? Oh, you're a student!"; next; mes "[Aebecee George]"; mes "Tee hee, I am the Professor in charge of you, Abecee George."; mes "So...aren't you happy to be with me, dearie? Aren't you gay? Tee hee~"; next; mes "[Aebecee George]"; mes "However, before we get start class, I need you to do me...a favor."; mes "Don't be scared, its just an eensy weensy favor. Tee hee~"; next; mes "[Aebecee George]"; mes "Please bring me ^3355FF30 Stone^000000, that's all."; mes "It's not so hard, isn't it?"; next; SAGE_Q2 = 1; changequest 2049,2060; mes "[Aebecee George]"; mes "Why don't you ask a thief pal for help?"; mes "We'll start the class when you bring me those stones~ Tee hee~"; close; } else if (SAGE_Q2 == 1) { if (countitem(Stone) > 29) { mes "Oh~ how sweet! You brought them all~ thank you~"; mes "Oh, can you wait a little bit? I need to do something before we start. Tee hee~"; next; mes "[Aebecee George]"; mes "Hocus-focus!!"; next; mes "[Aebecee George]"; mes "Hocus~focus!!"; next; mes "[Aebecee George]"; mes "Ho~cus~fo~cus!!"; next; delitem Stone,30; mes "[Aebecee George]"; mes "Tee hee, you naughty stone~"; mes "Only 3 of them worked for me. Tee hee~"; next; mes "[Aebecee George]"; mes "Here's my other favor to ask of you. Oh, are those tears of...joy?"; mes "Oh, I'm sooo excited too! Tee hee~"; next; getitem Crystal_Blue,1; getitem Yellow_Live,1; getitem Wind_Of_Verdure,1; mes "[Aebecee George]"; mes "I will give you these elemental ores...but...they are not for free."; mes "Whoa there cowboy! Don't pull out so soon~ Listen, tee hee~"; SAGE_Q2 = 2; changequest 2060,2061; next; mes "[Aebecee George]"; mes "Please make arrows using these items and bring them to me, pretty please~"; mes "50 ^3355FFCrystal Arrow^000000,"; mes "50 ^3355FFStone Arrow^000000,"; mes "50 ^3355FFWind Arrow^000000."; next; mes "[Aebecee George]"; mes "Ask any of your Archer friends if you know any."; mes "I am looking forward to seeing you again, tee hee~"; close; } else { mes "You don't have all the items? And here I was, getting all hot and bothered."; mes "Go on, sweetheart, and hurry baaack~"; next; mes "[Aebecee George]"; mes "I asked you to bring ^3355FF30 Stone^000000."; mes "There are many out there, so you won't have too hard a time getting them~ tee hee."; close; } } else if (SAGE_Q2 == 2) { if (countitem(Crystal_Arrow) > 49 && countitem(Stone_Arrow) > 49 && countitem(Arrow_Of_Wind) > 49) { mes "Oh~ how sweet! You brought them all~ Oh thank you~"; mes "Well now, let's get down to business. Tee hee~"; next; mes "[Aebecee George]"; mes "I'll say something, and you just write everything down."; mes "Don't forget to underline the important sentences~"; next; mes "[Aebecee George]"; mes "Water property magic is sooo strong against the fire property."; mes "Just remember those burly, sexay fire fighters, shall we say, putting out that fire with water. Ooh, wet!"; next; mes "[Aebecee George]"; mes "Wind property magic totally dominates the water property! Oh, yes~"; mes "Think of a hot flash, and by that I mean ligntening, striking a lake. Oh, I'm bad!"; next; mes "[Aebecee George]"; mes "In terms of strength, magic with earth property goes on top of wind property magic! Ho~~"; mes "Just think of how the wind passionately beats against the cliffside near the Lookout Point or Lover's Lane. Tee hee~"; next; mes "[Aebecee George]"; mes "Magic with fire property is strong against earth property! Tee hee~"; mes "Just think of burning wood, sprung from the earth, in a cozy fireplace. On the bearskin, in the dark~"; next; mes "[Aebecee George]"; mes "...Oh my gosh! Time flies sooo fast!"; mes "Let's call it a day, dear, tee hee~"; next; delitem Crystal_Arrow,50; delitem Stone_Arrow,50; delitem Arrow_Of_Wind,50; mes "[Aebecee George]"; mes "When you come to the next class, bring ^3355FF1 Holy Water^000000~"; mes "I hope you have at least one Priest friend. Oh, you don't? Well, it couldn't hurt to get friendly with one."; SAGE_Q2 = 3; changequest 2061,2062; close; } else { mes "What are you doing here, precious...are you trying to fool me? Tee hee~"; mes "I hope you didn't sell the elemental ores I gave you? Naughty naughty~ Don't you know diamonds are a girl's best friend? Tee hee~"; next; mes "[Aebecee George]"; mes "50 ^3355FFCrystal Arrow^000000,"; mes "50 ^3355FFStone Arrow^000000,"; mes "50 ^3355FFWind Arrow^000000."; mes "Ask your Archer friend if you have one~ tee hee."; close; } } else if (SAGE_Q2 == 3) { if (countitem(Holy_Water) > 0) { mes "Oh~ how sweet! You brought some Holy Water~ thanks honey~"; mes "Oh righty, we should start class. Tee hee~"; next; mes "[Aebecee George]"; mes "Just Like last time, I will speak and you just write down everything I say."; mes "Even if you don't understand, just pretend and go with the flow, alright? Tee hee~"; next; mes "[Aebecee George]"; mes "Water Magic is weak against wind property! Yes, that's right~"; mes "Just remember why you don't keep the electric fan around when you're taking a hot bubble bath. Ooh! So electric!"; next; mes "[Aebecee George]"; mes "Magic with the wind property is weak against earth property!"; mes "Think of how the wind can't, shall we say, penetrate a mud facial mask~"; next; mes "[Aebecee George]"; mes "Magic with earth property is weak against fire property! Tee hee~"; mes "Just think of burning wood, sprung from the earth, in a cozy fireplace. On the be--oh? I said that already? Oh poopy."; next; mes "[Aebecee George]"; mes "Magic with fire property is weak against water property! Yes~"; mes "When things get flaming hot, it's best to splash things in cold water. Don't you agree~?"; next; mes "[Aebecee George]"; mes "Oh, it's the end of the class~ tee hee."; mes "So? Do you think you've learned a lot? You can thank me, honey!"; next; delitem Holy_Water,1; mes "[Aebecee George]"; mes "Well, that's it. You can write your thesis with what I've taught you!"; mes "Tee hee~ yes! Yes! I am the best teacher in the world! Oh, I am on fire! Tee hee~"; SAGE_Q2 = 0; SAGE_Q = 14; changequest 2062,2051; next; mes "[Aebecee George]"; mes "Okay, please gather these items so you can write the thesis, dear~ Tee hee~"; mes "^3355FF1 Feather of Birds^000000 which will be used as a pen,"; mes "^3355FF1 Animal Skin^000000 which will be used as paper,"; mes "^3355FF1 Trunk^000000 which will be used to bind a book,"; mes "^3355FF1 Squid Ink^000000 which will be used as ink,"; mes "^3355FF1 Empty Bottle^000000 to keep that Squid Ink from splashing."; next; mes "[Aebecee George]"; mes "So get on out there cowboy and hurry back~ Tee hee~"; close; } else { mes "What are you doing here, precious...are you playing games? Tee hee."; mes "Oh, poor dear. Did you already forget what I told you? Do you want me to remind you? Tee hee~"; next; mes "[Aebecee George]"; mes "^3355FF1 Holy Water^000000,"; mes "It couldn't hurt to get friendly with an Aco or Priest...tee hee."; close; } } else { mes "So...do you have the time? I'm kidding, girlfriend!"; close; } } else if (SAGE_Q == 14) { if (countitem(Feather_Of_Birds) > 0 && countitem(Animals_Skin) > 0 && countitem(Wooden_Block) > 0 && countitem(Chinese_Ink) > 0 && countitem(Empty_Bottle) > 0) { delitem Feather_Of_Birds,1; delitem Animals_Skin,1; delitem Wooden_Block,1; delitem Chinese_Ink,1; delitem Empty_Bottle,1; mes "Okay~ so its now or never~ tee hee~"; mes "I taught you everything I know. Don't be nervous, you'll be okay~"; next; mes ".........."; next; mes "...................."; next; mes "................................."; next; mes ".....Magic spells are varied into 4 elements such as"; switch(select("Water, Earth, Fire and Wind.", "Earth, Water, Fire and Wind.", "Water, Wind, Earth and Fire.")) { case 1: mes "Water, Earth, Fire and Wind."; break; case 2: mes "Earth, Water, Fire and Wind."; break; case 3: mes "Water, Wind, Earth and Fire."; break; } mes "Each property has an opposing property,"; switch(select("Magic with wind property is strong against water", "Magic with water property is strong against fire", "Magic with fire property is strong against earth")) { case 1: mes "Magic with wind property is strong against water"; break; case 2: mes "Magic with water property is strong against fire"; break; case 3: mes "Magic with fire property is strong against earth"; break; } mes "Magic with earth property is strong against wind."; switch(select("However, that does not work on the opposite case ", "This theory works the same for earth property weapons", "Elemental properties are varied by monster types")) { case 1: mes "However, that does not work on the opposite case "; break; case 2: mes "This theory works the same for earth property weapons"; break; case 3: mes "Elemental properties are varied by monster types"; break; } switch(select("You must be aware of the limit of your ability.", "You must apply different types of property by the situation or place.", "Red Potion is rumored to taste like strawberries.")) { case 1: mes "You must be aware of the limit of your ability."; break; case 2: mes "You must apply different types of property by the situation or place."; break; case 3: mes "Red Potion is rumored to taste like strawberries."; break; } next; switch(select("The most adorable NPC is YuPi in Prontera", "Red Potion is rumored to be made out of Porings", "You never know the limits of magic")) { case 1: mes "The most adorable NPC is YuPi in Prontera"; break; case 2: mes "Red Potion is rumored to be made out of Porings"; break; case 3: mes "You never know the limits of magic"; break; } switch(select("Merchant Lady in Morroc is also as cute as YuPi.", "Nobody knows why Red Potion tastes like strawberries.", "It is not suggested to be too addicted to magic spells.")) { case 1: mes "Merchant Lady in Morroc is also as cute as YuPi."; break; case 2: mes "Nobody knows why Red Potion tastes like strawberries."; break; case 3: mes "It is not suggested to be too addicted to magic spells."; break; } switch(select("If I had a Bunny Band,", "If so, what about the taste of White Potion?", "Only pertinent uses of magic, as well as rest")) { case 1: mes "If I had a Bunny Band,"; break; case 2: mes "If so, what about the taste of White Potion?"; break; case 3: mes "Only pertinent uses of magic, as well as rest"; break; } switch(select("I would want to give it to her as a present.", "I can't even imagine the taste.", "will guarantee you a safe battle.")) { case 1: mes "I would want to give it to her as a present."; break; case 2: mes "I can't even imagine the taste."; break; case 3: mes "will guarantee you a safe battle."; break; } switch(select("Although the Bunny Band best fits the Acolyte class", "I love this thrilling feeling", "Forming a party with people of different classes")) { case 1: mes "Although the Bunny Band best fits the Acolyte class"; break; case 2: mes "I love this thrilling feeling"; break; case 3: mes "Forming a party with people of different classes"; break; } switch(select("I still wonder if the Bunny Band would be perfect for GOD-POING.", "I won't be able to drink it even if my HP is less than 1.", "is considered the best way to ready for battle.")) { case 1: mes "I still wonder if the Bunny Band would be perfect for GOD-POING."; break; case 2: mes "I won't be able to drink it even if my HP is less than 1."; break; case 3: mes "is considered the best way to ready for battle."; break; } next; mes ".........."; next; mes "...................."; next; mes "................................."; next; SAGE_Q = 15; changequest 2051,2052; mes "[Aebecee George]"; mes "Tee hee, so... are you done with your thesis? What do you think of your work? I think you did fine~"; mes "Don't forget, this is the first and the last time you'll write a thesis, okay? Tee hee~"; getitem Book,1; next; mes "[Aebecee George]"; mes "Okay, now you can show the dean your thesis~"; mes "You're almost there~ tee hee."; close; } else { mes "What are you still doing here, sweet cheeks? Tee hee~"; mes "Oh, poor dear. Did you already forget what I told you? Do you want me to remind you? Not a problem, tee hee."; next; mes "[Aebecee George]"; mes "^3355FF1 Feather of Birds^000000 which will be used as a pen,"; mes "^3355FF1 Animal Skin^000000 which will be used as paper,"; mes "^3355FF1 Trunk^000000 which will be used to bind a book,"; mes "^3355FF1 Squid Ink^000000 which will be used as ink,"; mes "^3355FF1 Empty Bottle^000000 which will be used for holding squid ink."; next; mes "[Aebecee George]"; mes "You are supposed to prepare all of those items, aren't you?"; mes "Hurry baaack~! Tee hee~"; close; } } else if (SAGE_Q == 15) { mes "What are you doing here, dearie? Don't you want to meet the dean and show him your stuff?"; mes "Take it from me, boys like him won't wait for you forever, tee hee~"; next; mes "[Aebecee George]"; mes "I know, I know...you wanna play with little ol' me. But you should become a Sage first."; mes "Please hurry up, tee hee."; close; } else { mes "Well well...what do we have here?"; next; mes "[Aebecee George]"; mes "You're not a Sage. Pity, sweet thang like yourself..."; mes "But seeing as you're not here for business, you must be here for..."; next; mes "[Aebecee George]"; mes "...PLEASURE. Wait, where are you going, hon?"; close; } } job_sage,50,165,4 script Test Helper#talk 8_F_GIRL,{ mes "[Test Helper]"; mes "Welcome to the Sage practical examination hall."; mes "If you wish to take the test right now, please enter the waiting room."; next; mes "[Test Helper]"; mes "If someone is currently taking the test, please wait until that person finishes."; mes "The progression of the test is announced on the entire map. An announcement will be made when the next person is ready to leave the waiting room."; next; mes "[Test Helper]"; mes "The Test takes 5 ~ 10 minutes per each person."; mes "If you wish to leave the arena, please log out from the game."; close; } job_sage,50,165,4 script Waiting Room#sg 8_F_GIRL,{ end; OnInit: disablenpc "Waiting Room#sg"; waitingroom "Waiting Room",20,"Waiting Room#sg::OnStartArena",1; enablewaitingroomevent; end; OnStartArena: warpwaitingpc "job_sage",116,97; donpcevent "Arena#1::OnEnable"; disablewaitingroomevent; end; OnEnable: enablewaitingroomevent; end; } - script Arena#1 1_F_01,{ OnInit: disablenpc "Arena#1"; end; OnEnable: enablenpc "Arena#1"; .MyMobs = 16; monster "job_sage",111,102,"Grade F",1183,1,"Arena#1::OnMyMobDead"; monster "job_sage",120,102,"Grade F",1183,1,"Arena#1::OnMyMobDead"; monster "job_sage",111,93,"Grade F",1183,1,"Arena#1::OnMyMobDead"; monster "job_sage",120,93,"Grade F",1183,1,"Arena#1::OnMyMobDead"; monster "job_sage",107,98,"Grade F",1183,1,"Arena#1::OnMyMobDead"; monster "job_sage",124,98,"Grade F",1183,1,"Arena#1::OnMyMobDead"; monster "job_sage",115,106,"Grade F",1183,1,"Arena#1::OnMyMobDead"; monster "job_sage",115,90,"Grade F",1183,1,"Arena#1::OnMyMobDead"; monster "job_sage",103,110,"Grade D",1184,1,"Arena#1::OnMyMobDead"; monster "job_sage",128,110,"Grade D",1184,1,"Arena#1::OnMyMobDead"; monster "job_sage",103,85,"Grade D",1184,1,"Arena#1::OnMyMobDead"; monster "job_sage",128,85,"Grade D",1184,1,"Arena#1::OnMyMobDead"; monster "job_sage",107,106,"Grade D",1184,1,"Arena#1::OnMyMobDead"; monster "job_sage",124,106,"Grade D",1184,1,"Arena#1::OnMyMobDead"; monster "job_sage",107,89,"Grade D",1184,1,"Arena#1::OnMyMobDead"; monster "job_sage",124,89,"Grade D",1184,1,"Arena#1::OnMyMobDead"; initnpctimer; end; OnReset: killmonsterall "job_sage"; end; OnMyMobDead: --.MyMobs; if (.MyMobs < 1) { mapannounce "job_sage"," " + strcharinfo(PC_NAME) + ", successfully defeat all the monsters.",bc_map; donpcevent "Arena#2::OnEnable"; stopnpctimer; } end; OnTimer1000: mapannounce "job_sage","The practical examination has started.",bc_map; end; OnTimer2000: mapannounce "job_sage","1st test - time limit 3 minutes.",bc_map; end; OnTimer3000: mapannounce "job_sage","Please defeat all the monsters within the time limit.",bc_map; end; OnTimer33000: mapannounce "job_sage","2 minutes 30 seconds remaining.",bc_map; end; OnTimer63000: mapannounce "job_sage","2 minutes remaining.",bc_map; end; OnTimer93000: mapannounce "job_sage","1 minute 30 seconds remaining.",bc_map; end; OnTimer123000: mapannounce "job_sage","1 min remaining.",bc_map; end; OnTimer153000: mapannounce "job_sage","30 seconds remaining.",bc_map; end; OnTimer173000: mapannounce "job_sage","10 seconds remaining.",bc_map; end; OnTimer183000: mapannounce "job_sage","Time over.",bc_map; donpcevent "Arena#1::OnReset"; end; OnTimer184000: areawarp "job_sage",100,82,131,113,"yuno",324,258; end; OnTimer185000: mapannounce "job_sage","Next candidate, enter.",bc_map; end; OnTimer186000: disablenpc "Arena#1"; donpcevent "Waiting Room#sg::OnEnable"; stopnpctimer; end; } - script Arena#2 FAKE_NPC,{ OnInit: disablenpc "Arena#2"; end; OnEnable: enablenpc "Arena#2"; donpcevent "Arena#1::OnReset"; disablenpc "Arena#1"; .MyMobs = 24; monster "job_sage",111,102,"Numerical Value",1063,1,"Arena#2::OnMyMobDead"; monster "job_sage",111,102,"Physics",1063,1,"Arena#2::OnMyMobDead"; monster "job_sage",111,102,"History",1063,1,"Arena#2::OnMyMobDead"; monster "job_sage",120,102,"Geography",1063,1,"Arena#2::OnMyMobDead"; monster "job_sage",120,102,"Astronomy",1063,1,"Arena#2::OnMyMobDead"; monster "job_sage",120,102,"Meteorology",1063,1,"Arena#2::OnMyMobDead"; monster "job_sage",111,93,"Architecture",1063,1,"Arena#2::OnMyMobDead"; monster "job_sage",111,93,"Control",1063,1,"Arena#2::OnMyMobDead"; monster "job_sage",111,93,"Instrumentology",1063,1,"Arena#2::OnMyMobDead"; monster "job_sage",120,102,"Statistics;",1063,1,"Arena#2::OnMyMobDead"; monster "job_sage",120,102,"Graphic Method",1063,1,"Arena#2::OnMyMobDead"; monster "job_sage",120,102,"Language",1063,1,"Arena#2::OnMyMobDead"; monster "job_sage",111,93,"Sitology",1063,1,"Arena#2::OnMyMobDead"; monster "job_sage",111,93,"Dietetics",1063,1,"Arena#2::OnMyMobDead"; monster "job_sage",111,93,"Landscape Architecture",1063,1,"Arena#2::OnMyMobDead"; monster "job_sage",120,93,"Anthropology",1063,1,"Arena#2::OnMyMobDead"; monster "job_sage",120,93,"Biology",1063,1,"Arena#2::OnMyMobDead"; monster "job_sage",120,93,"Ethics",1063,1,"Arena#2::OnMyMobDead"; monster "job_sage",107,98,"Economy",1063,1,"Arena#2::OnMyMobDead"; monster "job_sage",107,98,"Politics",1063,1,"Arena#2::OnMyMobDead"; monster "job_sage",107,98,"Photography",1063,1,"Arena#2::OnMyMobDead"; monster "job_sage",124,98,"Dendrology",1063,1,"Arena#2::OnMyMobDead"; monster "job_sage",124,98,"Hygiene",1063,1,"Arena#2::OnMyMobDead"; monster "job_sage",124,98,"Sociology",1063,1,"Arena#2::OnMyMobDead"; initnpctimer; end; OnReset: killmonsterall "job_sage"; end; OnMyMobDead: --.MyMobs; if (.MyMobs < 1) { mapannounce "job_sage"," " + strcharinfo(PC_NAME) + ", successfully defeat all the monsters.",bc_map; donpcevent "Arena#Doorkeeper::OnEnable"; donpcevent "Arena#3::OnEnable"; stopnpctimer; } end; OnTimer1000: mapannounce "job_sage","Second test - time limit 3 minutes.",bc_map; end; OnTimer2000: mapannounce "job_sage","Please defeat all the monsters within the time limit.",bc_map; end; OnTimer33000: mapannounce "job_sage","2 minutes 30 seconds remaining.",bc_map; end; OnTimer63000: mapannounce "job_sage","2 minutes remaining.",bc_map; end; OnTimer93000: mapannounce "job_sage","1 minute 30 seconds remaining.",bc_map; end; OnTimer123000: mapannounce "job_sage","1 min remaining.",bc_map; end; OnTimer153000: mapannounce "job_sage","30 seconds remaining.",bc_map; end; OnTimer173000: mapannounce "job_sage","10 seconds remaining.",bc_map; end; OnTimer183000: mapannounce "job_sage","Time over.",bc_map; donpcevent "Arena#2::OnReset"; end; OnTimer184000: areawarp "job_sage",100,82,131,113,"yuno",324,258; end; OnTimer185000: mapannounce "job_sage","Next candidate, please enter.",bc_map; end; OnTimer186000: disablenpc "Arena#2"; donpcevent "Waiting Room#sg::OnEnable"; stopnpctimer; end; } - script Arena#Doorkeeper FAKE_NPC,{ OnInit: disablenpc "Arena#Doorkeeper"; end; OnEnable: enablenpc "Arena#Doorkeeper"; donpcevent "Arena#2::OnReset"; disablenpc "Arena#2"; .MyMobs = 1; monster "job_sage",116,97,"Academic Probation",1179,1,"Arena#Doorkeeper::OnMyMobDead"; initnpctimer; end; OnReset: killmonsterall "job_sage"; end; OnDisable: disablenpc "Arena#3"; disablenpc "Arena#Doorkeeper"; end; OnMyMobDead: --.MyMobs; if (.MyMobs < 1) { mapannounce "job_sage","Congratulations, " + strcharinfo(PC_NAME) + ". You passed the test.",bc_map; SAGE_Q = 8; donpcevent "Test Helper#sg::OnEnable"; disablenpc "Arena#Doorkeeper"; stopnpctimer; } end; OnTimer1000: mapannounce "job_sage","3rd test - Time limit 1 minute.",bc_map; end; OnTimer30000: mapannounce "job_sage","30 seconds remaining.",bc_map; end; OnTimer50000: mapannounce "job_sage","10 seconds remaining.",bc_map; end; OnTimer60000: mapannounce "job_sage","Time over.",bc_map; donpcevent "Arena#Doorkeeper::OnReset"; end; OnTimer61000: areawarp "job_sage",100,82,131,113,"yuno",324,258; end; OnTimer62000: mapannounce "job_sage","Next candidate, please enter.",bc_map; end; OnTimer63000: disablenpc "Arena#Doorkeeper"; donpcevent "Waiting Room#sg::OnEnable"; stopnpctimer; end; } - script Arena#3 FAKE_NPC,{ OnInit: disablenpc "Arena#3"; end; OnEnable: monster "job_sage",107,106,"Absent 3 times",1185,1; monster "job_sage",124,106,"Being Late 5 times",1185,1; monster "job_sage",107,89,"Cheating 2 times",1185,1; monster "job_sage",124,89,"Cheating 4 times",1185,1; end; OnDisable: killmonsterall "job_sage"; end; } - script Test Helper#sg FAKE_NPC,{ OnInit: disablenpc "Test Helper#sg"; end; OnEnable: initnpctimer; end; OnTimer2000: mapannounce "job_sage","Please go back to where you came from and finish the rest of your job change quest.",bc_map; end; OnTimer4000: mapannounce "job_sage","This is the end of practical examination. Next candidate, please get ready.",bc_map; end; OnTimer5000: areawarp "job_sage",100,82,131,113,"yuno_in03",163,180; end; OnTimer7000: mapannounce "job_sage","Next candidate, please enter.",bc_map; end; OnTimer9000: disablenpc "Test Helper#sg"; donpcevent "Waiting Room#sg::OnEnable"; stopnpctimer; end; }