summaryrefslogtreecommitdiff
path: root/npc/pre-re/jobs/2-2/sage.txt
diff options
context:
space:
mode:
authorshennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-07-08 19:30:07 +0000
committershennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-07-08 19:30:07 +0000
commit31825ccc2dde034a218d9ad466dd721c40b5651d (patch)
tree961b976e45988f7f7158d33b3f11a18688f34b1f /npc/pre-re/jobs/2-2/sage.txt
parent22c75b070526de8b103032f5bf13504af81e0095 (diff)
downloadhercules-31825ccc2dde034a218d9ad466dd721c40b5651d.tar.gz
hercules-31825ccc2dde034a218d9ad466dd721c40b5651d.tar.bz2
hercules-31825ccc2dde034a218d9ad466dd721c40b5651d.tar.xz
hercules-31825ccc2dde034a218d9ad466dd721c40b5651d.zip
Okie ladies and gentleman if this commit breaks anything it's jman's and maki's fault, yes, blame them.
Fixing pre-re / re npc support, moving /config/ folder to src root so other servers may also make use of the #define renewal dir and other stuff. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16382 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'npc/pre-re/jobs/2-2/sage.txt')
-rw-r--r--npc/pre-re/jobs/2-2/sage.txt2912
1 files changed, 2912 insertions, 0 deletions
diff --git a/npc/pre-re/jobs/2-2/sage.txt b/npc/pre-re/jobs/2-2/sage.txt
new file mode 100644
index 000000000..fead53630
--- /dev/null
+++ b/npc/pre-re/jobs/2-2/sage.txt
@@ -0,0 +1,2912 @@
+//===== rAthena Script =======================================
+//= Sage Job Quest
+//===== By: ==================================================
+//= jAthena (0.9) - I guess
+//= Unknown Translator (1.0)
+//= Darkchild (1.2)
+//===== Current Version: =====================================
+//= 2.8
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= [Aegis Conversion]
+//= Job quest for Sage classes
+//===== Additional Comments: =================================
+//= 2.1 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf]
+//= No longer uses function "F_BlockHigh"
+//= 2.2 Small bug fix (== -> !=) thanks to Saithis. [L0ne_W0lf]
+//= 2.2b ANotehr smaLL bugfix, pointed out by Cara. [L0ne_W0lf]
+//= 2.3 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf]
+//= 2.4 Fixes bug with first room monsters not being reset. [L0ne_W0lf]
+//= 2.4a Deleted unused variables. [Samuray22]
+//= 2.5 Updated waiting room. (Removes global var) [L0ne_W0lf]
+//= 2.5a Corrected some "mes"s without the getitemname. (bugreport:1564) [Samuray22]
+// -Changed an incorrect "!=" to "==". (bugreport:1572)
+// -And Small Typo Error
+//= 2.6 Fixed Kayron Grik cutin not being removed as reported by jc1991, bugreport:1825 [Brainstorm]
+//= 2.6a Fixed a Little Bug with Whispers Summoned in the Last Test. (bugreport:2253) [Samuray22]
+//= 2.7 Added Quest Log commands. [Kisuka]
+//= 2.8 Removed the need for use of 'goto.' [L0ne_W0lf]
+//============================================================
+
+yuno_in02,38,61,5 script Dean of the Academy#sa 743,{
+ 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(1550) > 0) {
+ if (JobLevel < 40) {
+ set 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 742,{
+ 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(0));
+ mes "[Metheus Sylphe]";
+ mes "Your name is ... " + strcharinfo(0) + ". 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.";
+ set 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) {
+ set zeny,zeny-70000;
+ mes "[Metheus Sylphe]";
+ mes "Thank you, your application has been accepted.";
+ mes "Next, you will take an entrance test.";
+ set 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(1006) > 0 && countitem(1007) > 0) {
+ delitem 1006,1; //Old_Magic_Book
+ delitem 1007,1; //Penetration
+ mes "[Metheus Sylphe]";
+ mes "Thank you, your application has been accepted.";
+ mes "Next, you will take the entrance test.";
+ set 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(0));
+ mes "[Metheus Sylphe]";
+ mes "Your name is ... " + strcharinfo(0) + ". It's a very nice name.";
+ next;
+ mes "[Metheus Sylphe]";
+ mes "Yes, everything's ready.";
+ mes "Next, you will take the entrance test.";
+ set 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:
+ set 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:
+ set 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:
+ set 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(1006) > 0 && countitem(1007) > 0) {
+ delitem 1006,1; //Old_Magic_Book
+ delitem 1007,1; //Penetration
+ mes "[Metheus Sylphe]";
+ mes "Well done. Let me proceed with your application request.";
+ set SAGE_Q,4;
+ next;
+ }
+ else if (Zeny > 69999) {
+ set zeny,zeny-70000;
+ mes "[Metheus Sylphe]";
+ mes "Well done. Let me proceed with your application request.";
+ set 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;
+ }
+ set .@size, (getarraysize(.@item)-1);
+ for( set .@i,0 ; .@i < .@size && countitem(.@item[.@i]) >= .@count[.@i] ; set .@i,.@i+1 );
+ if(.@i == .@size) {
+ if (Zeny > 29999) {
+ for (set .@i, 0; .@i < .@size ; set .@i, .@i+1)
+ delitem .@item[.@i], .@count[.@i];
+ set zeny,zeny-30000;
+ mes "[Metheus Sylphe]";
+ mes "Well done. Let me proceed with your application request.";
+ set .@SAGE_Q_T,SAGE_Q;
+ set 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(0));
+ mes "[Metheus Sylphe]";
+ switch (.@SAGE_Q_T) {
+ case 1: mes "Your name is ... " + strcharinfo(0) + ". It's a very nice name."; break;
+ case 2: mes "Your name is ... " + strcharinfo(0) + ". It sounds very sagacious."; break;
+ case 3: mes "Your name is ... " + strcharinfo(0) + ". Interesting name."; break;
+ }
+ next;
+ mes "[Metheus Sylphe]";
+ mes "Ah yes, everything is in readiness.";
+ mes "Next, you will take an entrance test.";
+ set SAGE_Q,4;
+ if(checkquest(2043) != -1) {
+ changequest 2043,2041;
+ }
+ else if(checkquest(2044) != -1) {
+ changequest 2044,2041;
+ }
+ else if(checkquest(2045) != -1) {
+ 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 754,{
+ 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) {
+ 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(0) + "...";
+ 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.";
+L_AskQuestions:
+ 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)
+ set .@sage_t,.@sage_t+5;
+ mes "2. Choose a city where you cannot purchase a Stiletto.";
+ next;
+ if (select("Prontera:Morroc:Geffen:Lutie") == 1)
+ set .@sage_t,.@sage_t+5;
+ mes "3. Choose the closest city to Turtle Island.";
+ next;
+ if (select("Al De Baran:Alberta:Comodo:Izlude") == 2)
+ set .@sage_t,.@sage_t+5;
+ mes "4. Choose the monster that is a different type than the others.";
+ next;
+ if (select("Raggler:Pest:Frilldora:Aster") == 4)
+ set .@sage_t,.@sage_t+5;
+ mes "5. Choose the monster that has a different attribute than the others.";
+ next;
+ if (select("Mantis:Metaller:Rocker:Horn") == 2)
+ set .@sage_t,.@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)
+ set .@sage_t,.@sage_t+5;
+ mes "7. Choose the monster which doesn't drop 'Alcohol'.";
+ next;
+ if (select("Horong:Plankton:Poison Spore:Toad") == 3)
+ set .@sage_t,.@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)
+ set .@sage_t,.@sage_t+5;
+ mes "9. Choose the NPC that is not a citizen of Prontera.";
+ next;
+ if (select("Tono:Pina:YuPi:Hollgrehenn") == 2)
+ set .@sage_t,.@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)
+ set .@sage_t,.@sage_t+5;
+ mes "11. How much SP is spent to use lvl 7 Thunderstorm?";
+ next;
+ if (select("49:59:69:74") == 2)
+ set .@sage_t,.@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)
+ set .@sage_t,.@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)
+ set .@sage_t,.@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)
+ set .@sage_t,.@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)
+ set .@sage_t,.@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)
+ set .@sage_t,.@sage_t+5;
+ mes "17. Choose the class that cannot equip Padded Armor.";
+ next;
+ if (select("Swordman:Merchant:Thief:Archer") == 4)
+ set .@sage_t,.@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)
+ set .@sage_t,.@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)
+ set .@sage_t,.@sage_t+5;
+ mes "20. Choose the god of Crusaders.";
+ next;
+ if (select("Odin:Loki:Thor:Venadin") == 1)
+ set .@sage_t,.@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)
+ set .@sage_t,.@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)
+ set .@sage_t,.@sage_t+5;
+ mes "3. Choose the closest city to the Maze.";
+ next;
+ if (select("Prontera:Morroc:Geffen:Payon") == 1)
+ set .@sage_t,.@sage_t+5;
+ mes "4. Choose the monster that is a different type than the others.";
+ next;
+ if (select("Muka:Drops:Plankton:Penomena") == 4)
+ set .@sage_t,.@sage_t+5;
+ mes "5. Choose the monster with the different attribute.";
+ next;
+ if (select("Dokebi:Isis:Giearth:Deviruchi") == 3)
+ set .@sage_t,.@sage_t+5;
+ mes "6. Choose the monster that is different in size.";
+ next;
+ if (select("Thiefbug (Aggressive):Horn:Metaller:Argos") == 4)
+ set .@sage_t,.@sage_t+5;
+ mes "7. Choose the monster which does not drop 'Yggdrasil Leaf'.";
+ next;
+ if (select("Marduk:Baphomet Jr.:Angeling:Wanderer") == 1)
+ set .@sage_t,.@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)
+ set .@sage_t,.@sage_t+5;
+ mes "9. Choose the NPC that is not a citizen of Morroc.";
+ next;
+ if (select("Syvia:Akira:Antonio:Dmitrii") == 3)
+ set .@sage_t,.@sage_t+5;
+ mes "10. Choose the Kafra lady who has gorgeous blue hair.";
+ next;
+ if (select("Pavianne:Roxie:Leilah:Curly Sue") == 1)
+ set .@sage_t,.@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)
+ set .@sage_t,.@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)
+ set .@sage_t,.@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)
+ set .@sage_t,.@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)
+ set .@sage_t,.@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)
+ set .@sage_t,.@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)
+ set .@sage_t,.@sage_t+5;
+ mes "17. Choose the class that cannot equip Saint Robe.";
+ next;
+ if (select("Swordman:Merchant:Thief:Acolyte") == 3)
+ set .@sage_t,.@sage_t+5;
+ mes "18. Choose the abnormal status that cannot be cured by Green Potion.";
+ next;
+ if (select("Silence:Chaos:Blind:Curse") == 4)
+ set .@sage_t,.@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)
+ set .@sage_t,.@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)
+ set .@sage_t,.@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)
+ set .@sage_t,.@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)
+ set .@sage_t,.@sage_t+5;
+ mes "3. Choose the closest city to Glast Heim.";
+ next;
+ if (select("Prontera:Geffen:Morroc:Payon") == 2)
+ set .@sage_t,.@sage_t+5;
+ mes "4. Choose the monster that is a different type than the others.";
+ next;
+ if (select("Aster:Marc:Marse:Marin") == 4)
+ set .@sage_t,.@sage_t+5;
+ mes "5. Choose the monster that has a different attribute.";
+ next;
+ if (select("Baby Desert Wolf:Smokie:Picky:Choco") == 2)
+ set .@sage_t,.@sage_t+5;
+ mes "6. Choose the monster that is different sized.";
+ next;
+ if (select("Drake:Wraith:Evil Druid:Khalitzburg") == 1)
+ set .@sage_t,.@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)
+ set .@sage_t,.@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)
+ set .@sage_t,.@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)
+ set .@sage_t,.@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)
+ set .@sage_t,.@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)
+ set .@sage_t,.@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)
+ set .@sage_t,.@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)
+ set .@sage_t,.@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)
+ set .@sage_t,.@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)
+ set .@sage_t,.@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)
+ set .@sage_t,.@sage_t+5;
+ mes "17. Choose the class that cannot equip Coat.";
+ next;
+ if (select("Swordman:Merchant:Thief:Novice") == 4)
+ set .@sage_t,.@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)
+ set .@sage_t,.@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)
+ set .@sage_t,.@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)
+ set .@sage_t,.@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!";
+ set 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) {
+ set 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) {
+ set 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 == 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;
+ set 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.";
+ set SAGE_Q,5;
+ goto L_AskQuestions;
+ end;
+ }
+ 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 755,{
+ 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) {
+ set 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;
+ }
+ set 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:
+ set 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:
+ set 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:
+ set 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 109,{
+ 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(0) + ". 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(0) + ", 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(0) + ", 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;
+ set 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(607) > 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(608) > 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(610) > 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(0) + ".";
+ 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;
+ set SAGE_Q2,0;
+ set 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(916) > 0 && countitem(919) > 0 && countitem(1019) > 0 && countitem(1024) > 0 && countitem(713) > 0) {
+ delitem 916,1; //Feather_Of_Birds
+ delitem 919,1; //Animal's_Skin
+ delitem 1019,1; //Wooden_Block
+ delitem 1024,1; //Chinese_Ink
+ delitem 713,1; //Empty_Bottle
+ 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:
+ set .@w_point,.@w_point+1;
+ mes "A giant ash tree.";
+ break;
+ case 2:
+ mes "A giant snake Yormungandr.";
+ break;
+ case 3:
+ set .@w_point,.@w_point+1;
+ mes "A giant turtle and elephants.";
+ break;
+ case 4:
+ set .@w_point,.@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:
+ set .@w_point,.@w_point+1;
+ mes "Mt.Mjolnir where spiders live,";
+ break;
+ case 2:
+ set .@w_point,.@w_point+1;
+ mes "Uranos where titans live,";
+ break;
+ case 3:
+ mes "Utgard where titans live,";
+ break;
+ case 4:
+ set .@w_point,.@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:
+ set .@w_point,.@w_point+1;
+ mes "Rune-Midgarts, where humans live,";
+ break;
+ case 3:
+ set .@w_point,.@w_point+1;
+ mes "Tritonia, where mermaids live,";
+ break;
+ case 4:
+ set .@w_point,.@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:
+ set .@w_point,.@w_point+1;
+ mes "Abguard where gods live.";
+ break;
+ case 2:
+ mes "Asgard, where gods live.";
+ break;
+ case 3:
+ set .@w_point,.@w_point+1;
+ mes "Schwarzwald, where citizens live.";
+ break;
+ case 4:
+ set .@w_point,.@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(0) + ", 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:
+ set .@w_point,.@w_point+1;
+ mes "A fabulous Mastella tree.";
+ break;
+ case 3:
+ set .@w_point,.@w_point+1;
+ mes "A giant willow.";
+ break;
+ case 4:
+ set .@w_point,.@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:
+ set .@w_point,.@w_point+1;
+ mes "Schwarzwald, Jotunnheim, Niflheim.";
+ break;
+ case 2:
+ set .@w_point,.@w_point+1;
+ mes "Midgard, Jotunnheim, Naffleheim.";
+ break;
+ case 3:
+ set .@w_point,.@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:
+ set .@w_point,.@w_point+1;
+ mes "can be cured from all the abnormal statuses.";
+ break;
+ case 2:
+ set .@w_point,.@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:
+ set .@w_point,.@w_point+1;
+ mes "can be cured from Silence, Curse and Chaos.";
+ break;
+ }
+ next;
+ if (.@w_point > 0) {
+ mes "[Saphien Layless]";
+ mes "..." + strcharinfo(0) + ", 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;
+ set 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 1550,1; //Book
+ 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 755,{
+ 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(0));
+ 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;
+ set 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) {
+ set 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) {
+ set 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 {
+ set 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:
+ set 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:
+ set 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:
+ set 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:
+ set 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:
+ set SAGE_Q2,4;
+ if(checkquest(2053) != -1) {
+ changequest 2053,2056;
+ }
+ else if(checkquest(2054) != -1) {
+ changequest 2054,2056;
+ }
+ else {
+ changequest 2055,2056;
+ }
+ mes "5 ^3355FFCobweb^000000,";
+ mes "5 ^3355FFShell^000000,";
+ mes "5 ^3355FFInsect Feeler^000000.";
+ break;
+ case 2:
+ set SAGE_Q2,5;
+ if(checkquest(2053) != -1) {
+ changequest 2053,2057;
+ }
+ else if(checkquest(2054) != -1) {
+ 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:
+ set SAGE_Q2,6;
+ if(checkquest(2053) != -1) {
+ changequest 2053,2058;
+ }
+ else if(checkquest(2054) != -1) {
+ 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:
+ set SAGE_Q2,7;
+ if(checkquest(2053) != -1) {
+ changequest 2053,2059;
+ }
+ else if(checkquest(2054) != -1) {
+ 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;
+ set SAGE_Q2,0;
+ set SAGE_Q,12;
+ if(checkquest(2056) != -1) {
+ changequest 2056,2051;
+ }
+ else if(checkquest(2057) != -1) {
+ changequest 2057,2051;
+ }
+ else if(checkquest(2058) != -1) {
+ 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(916) > 0 && countitem(919) > 0 && countitem(1019) > 0 && countitem(1024) > 0 && countitem(713) > 0) {
+ delitem 916,1; //Feather_Of_Birds
+ delitem 919,1; //Animal's_Skin
+ delitem 1019,1; //Wooden_Block
+ delitem 1024,1; //Chinese_Ink
+ delitem 713,1; //Empty_Bottle
+ 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;
+ set 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 1550,1; //Book
+ 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 120,{
+ 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;
+ set 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(7049) > 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 7049,30; //Stone
+ 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 991,1; //Crystal_Blue
+ getitem 993,1; //Yellow_Live
+ getitem 992,1; //Wind_Of_Verdure
+ 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~";
+ set 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(1754) > 49 && countitem(1756) > 49 && countitem(1755) > 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 1754,50; //Crystal_Arrow
+ delitem 1756,50; //Stone_Arrow
+ delitem 1755,50; //Arrow_Of_Wind
+ 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.";
+ set 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(523) > 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 523,1; //Holy_Water
+ 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~";
+ set SAGE_Q2,0;
+ set 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(916) > 0 && countitem(919) > 0 && countitem(1019) > 0 && countitem(1024) > 0 && countitem(713) > 0) {
+ delitem 916,1; //Feather_Of_Birds
+ delitem 919,1; //Animal's_Skin
+ delitem 1019,1; //Wooden_Block
+ delitem 1024,1; //Chinese_Ink
+ delitem 713,1; //Empty_Bottle
+ 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;
+ set 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 1550,1; //Book
+ 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 700,{
+ 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 700,{
+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 66,{
+OnInit:
+ disablenpc "Arena#1";
+ end;
+
+OnEnable:
+ enablenpc "Arena#1";
+ set .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:
+ set .MyMobs,.MyMobs-1;
+ if (.MyMobs < 1) {
+ mapannounce "job_sage"," " + strcharinfo(0) + ", 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 -1,{
+OnInit:
+ disablenpc "Arena#2";
+ end;
+
+OnEnable:
+ enablenpc "Arena#2";
+ donpcevent "Arena#1::OnReset";
+ disablenpc "Arena#1";
+ set .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:
+ set .MyMobs,.MyMobs-1;
+ if (.MyMobs < 1) {
+ mapannounce "job_sage"," " + strcharinfo(0) + ", 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 -1,{
+OnInit:
+ disablenpc "Arena#Doorkeeper";
+ end;
+
+OnEnable:
+ enablenpc "Arena#Doorkeeper";
+ donpcevent "Arena#2::OnReset";
+ disablenpc "Arena#2";
+ set .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:
+ set .MyMobs,.MyMobs-1;
+ if (.MyMobs < 1) {
+ mapannounce "job_sage","Congratulations, " + strcharinfo(0) + ". You passed the test.",bc_map;
+ set 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 -1,{
+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 -1,{
+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;
+}
+
+//============================================================
+// Mapflag
+//============================================================
+
+//============================================================
+// Old changelog
+//============================================================
+//= Script mostly based on translated jA script
+//= Written test questions/answers weren't translated 100% corectly
+//= So a lot of those are based upon mRO site and my own info
+//= IF you by excident have (or can get) screenshots of these questions
+//= Then PLEASE send them to Darkchild
+//= 1.3 Baby class Support added [Lupus] 1.5 Fixed possible EXP abuse [Lupus]
+//= 1.6 Added a func which prevent advanced classes passing
+//= 2nd Job Quests again. It also guides adv classes where to go. [Lupus]
+//= 1.7 Fixed tuition fee. Fixed some answers, names & typos, added missing labels [Lupus]
+//= 1.7a Moved JFunc back in the main file, fixed typos [Lupus]
+//= 2.0 Changed numbers to constants. [Vicious]
+//= 2.0a Fixed double warp [KarLaeda] 2.0b Mantis Scythe Item name fix