summaryrefslogtreecommitdiff
path: root/npc/jobs/2-2
diff options
context:
space:
mode:
Diffstat (limited to 'npc/jobs/2-2')
-rw-r--r--npc/jobs/2-2/alchemist.txt2002
-rw-r--r--npc/jobs/2-2/bard.txt951
-rw-r--r--npc/jobs/2-2/crusader.txt1485
-rw-r--r--npc/jobs/2-2/dancer.txt1400
-rw-r--r--npc/jobs/2-2/monk.txt2628
-rw-r--r--npc/jobs/2-2/rogue.txt2034
-rw-r--r--npc/jobs/2-2/sage.txt2912
7 files changed, 13412 insertions, 0 deletions
diff --git a/npc/jobs/2-2/alchemist.txt b/npc/jobs/2-2/alchemist.txt
new file mode 100644
index 000000000..fd0f077f5
--- /dev/null
+++ b/npc/jobs/2-2/alchemist.txt
@@ -0,0 +1,2002 @@
+//===== rAthena Script =======================================
+//= Alchemist Job Quest
+//===== By: ==================================================
+//= nestor_zulueta (Fusion), converted by Darkchild
+//===== Current Version: =====================================
+//= 3.0
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= [Aegis Conversion]
+//= Job quest for Alchemist classes
+//===== Additional Comments: =================================
+//= 2.5 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf]
+//= No longer uses function "F_BlockHigh"
+//= 2.6 Corrected a bug in advanced class checking. [L0ne_W0lf]
+//= 2.7 Added missing checkweights. [L0ne_W0lf]
+//= 2.8 Fixed minor typo in test section. [L0ne_W0lf]
+//= 2.9 Added Quest Log commands. [Kisuka]
+//= 3.0 Removed the need for use of 'goto.' [L0ne_W0lf]
+//============================================================
+
+alde_alche,27,185,5 script Alchemist Guildsman#am 744,{
+ mes "[Parmy Gianino]";
+ if (Upper == 1) {
+ mes "Welcome to the";
+ mes "Alchemist Unio--";
+ mes "I-Impossible! How c-can";
+ mes "something like this happen?";
+ next;
+ mes "[Parmy Gianino]";
+ mes "Wait, wait...";
+ mes "I'm sorry. I was confused,";
+ mes "that's all. You look just like";
+ mes "someone I used to know. ";
+ mes "Still, I get this weird";
+ mes "feeling about you...";
+ close;
+ }
+ if (BaseJob != Job_Merchant) {
+ if (BaseJob == Job_Alchemist) {
+ mes "Welcome, " + strcharinfo(0) + ".";
+ mes "The Alchemist Union";
+ mes "is busy today, like always.";
+ next;
+ mes "[Parmy Gianino]";
+ mes "Everyone is busy with their";
+ mes "own research, but recently, some headway has been made in the field of biotechnology.";
+ next;
+ mes "[Parmy Gianino]";
+ mes "Everyone is hoping that the biotechnological studies will yield positive results. Speaking of which, I wonder how the Alchemists working on artificial life are doing...";
+ close;
+ }
+ else if (BaseClass == Job_Novice) {
+ mes "Welcome to the";
+ mes "Alchemist Union.";
+ mes "We are recruiting";
+ mes "talented people";
+ mes "with novel ideas.";
+ next;
+ mes "[Parmy Gianino]";
+ mes "If you're interested in working with chemistry, visit us later when you become more knowledgable.";
+ next;
+ mes "[Parmy Gianino]";
+ mes "Just one thing:";
+ mes "You've got to have";
+ mes "knowledge of items";
+ mes "as a Merchant first.";
+ close;
+ }
+ mes "Welcome to the";
+ mes "Alchemist Union.";
+ mes "We are recruiting";
+ mes "talented people";
+ mes "with novel ideas.";
+ next;
+ mes "[Parmy Gianino]";
+ mes "If you know any exceptional Merchants, by all means, please refer them to us. Those types of people tend to have a talent for Alchemy and experimentation~";
+ close;
+ }
+ if (ALCH_Q == 0) {
+ mes "Welcome to the";
+ mes "Alchemist Union.";
+ mes "How may I help you?";
+ next;
+ switch(select("I would like to learn about Alchemists.:I want to become an Alchemist.:Nothing.")) {
+ case 1:
+ mes "[Parmy Gianino]";
+ mes "Alchemists study and create new substances and items out of existing materials. Our knowledge allows us to change the properties of chemicals at the atomic level.";
+ next;
+ mes "[Parmy Gianino]";
+ mes "Most people think our final goal";
+ mes "is to create gold, but that's not the entire truth. We also want to create things like medicines";
+ mes "and new materials.";
+ next;
+ mes "[Parmy Gianino]";
+ mes "A few of us research the";
+ mes "creation of life, although many of us consider that god's territory. That field is so complex, most of us deal with slightly less complicated projects anyway.";
+ next;
+ mes "[Parmy Gianino]";
+ mes "If you are interested in becoming an Alchemist, I recommend that you first get a lot of experience as a Merchant. Being a Merchant is a great opportunity to learn about materials as you deal with them.";
+ next;
+ mes "[Parmy Gianino]";
+ mes "Whether or not you try to become";
+ mes "an Alchemist is your decision. The road to becoming an Alchemist is very challenging, and you'll need to focus on experimentation and research, instead of commerce.";
+ close;
+ case 2:
+ mes "[Parmy Gianino]";
+ mes "Is that so?";
+ mes "Nice to meet you.";
+ mes "My name is Parmy Gianino";
+ mes "of the Alchemist Union.";
+ next;
+ mes "[Parmy Gianino]";
+ mes "If you join our Union and";
+ mes "complete the training, you";
+ mes "will be officially recognized";
+ mes "as an Alchemist and be able";
+ mes "to contribute to our research.";
+ next;
+ mes "[Parmy Gianino]";
+ mes "But we don't accept everyone.";
+ mes "You must have a lot of tenacity";
+ mes "and sincere devotion in exploring";
+ mes "the various fields of science.";
+ next;
+ mes "[Parmy Gianino]";
+ mes "There are a couple";
+ mes "of requirements to join";
+ mes "the Alchemist Union, but";
+ mes "we'll discuss that";
+ mes "after you apply.";
+ next;
+ mes "[Parmy Gianino]";
+ mes "Well then, would";
+ mes "you like to apply";
+ mes "for registration?";
+ next;
+ if (select("I would like to apply.:I'll do it later.") == 1) {
+ if (JobLevel < 40) {
+ mes "[Parmy Gianino]";
+ mes "Hmmm...";
+ mes "Just a moment.";
+ mes "I'm sorry to say that";
+ mes "you're not experienced";
+ mes "enough as a Merchant to";
+ mes "join us right now.";
+ next;
+ mes "[Parmy Gianino]";
+ mes "You must be at least";
+ mes "^551A8BJob Level 40^000000 to become";
+ mes "an Alchemist. Come back";
+ mes "later when you meet the";
+ mes "Job Level requirement, okay?";
+ close;
+ }
+ mes "[Parmy Gianino]";
+ mes "Alright, your application has been accepted. Now, you must pay the 50,000 Zeny application fee and bring some items before you can begin your formal training.";
+ next;
+ mes "[Parmy Gianino]";
+ mes "But if you bring an ^551A8BOld Magic Book^000000 and ^551A8BHammer of Blacksmith^000000,";
+ mes "we will accept that as a substitute for the item requirement.";
+ next;
+ mes "[Parmy Gianino]";
+ mes "Now...";
+ mes "Please sign";
+ mes "the application.";
+ next;
+ select(strcharinfo(0));
+ mes "[Parmy Gianino]";
+ mes "Good, good. Now, if you have";
+ mes "the Zeny for your application fee ready, I will tell you which items you will need to bring. Now, pay attention.";
+ next;
+ if (Zeny < 50000) {
+ mes "[Parmy Gianino]";
+ mes "Uh oh. You don't";
+ mes "seem to have enough Zeny.";
+ mes "Come back to me when you have 50,000 Zeny, otherwise we can't process your application.";
+ close;
+ }
+ set zeny,zeny-50000;
+ mes "[Parmy Gianino]";
+ mes "Let's see.";
+ mes "" + strcharinfo(0);
+ mes "needs to bring...";
+ switch(rand(1,3)) {
+ case 1:
+ set ALCH_Q,1;
+ setquest 2028;
+ mes "^551A8B7 Berserk Potions^000000.";
+ break;
+ case 2:
+ set ALCH_Q,2;
+ setquest 2029;
+ mes "^551A8B100 Mini Furnaces^000000.";
+ break;
+ case 3:
+ set ALCH_Q,3;
+ setquest 2030;
+ mes "^551A8B7,500 Fire Arrows^000000.";
+ }
+ next;
+ mes "[Parmy Gianino]";
+ mes "Once you've gathered";
+ mes "those items, come back";
+ mes "to me and your training";
+ mes "as an Alchemist will begin.";
+ mes "See you soon~";
+ close;
+ }
+ mes "[Parmy Gianino]";
+ mes "Talented Merchants";
+ mes "are always welcome here.";
+ mes "Please come back soon.";
+ close;
+ case 3:
+ mes "[Parmy Gianino]";
+ mes "Umm...";
+ mes "Please let me know";
+ mes "if you need anything.";
+ close;
+ }
+ }
+ else if (ALCH_Q >= 1 && ALCH_Q <= 3) {
+ if (countitem(1006) > 0 && countitem(1005) > 0) {
+ mes "Well now~!";
+ mes "You've brought an";
+ mes "Old Magic Book and";
+ mes "a Hammer of Blacksmith.";
+ mes "We'll put these items";
+ mes "to good use.";
+ next;
+ delitem 1006,1; //Old_Magic_Book
+ delitem 1005,1; //Hammer_Of_Blacksmith
+ mes "[Parmy Gianino]";
+ mes "Okay, now you need to learn";
+ mes "the basics to being an Alchemist and learn the procedures for mixing chemicals and medicines.";
+ set ALCH_Q,4;
+ if(checkquest(2028) != -1) {
+ changequest 2028,2031;
+ }
+ else if(checkquest(2029) != -1) {
+ changequest 2029,2031;
+ }
+ else {
+ changequest 2030,2031;
+ }
+ next;
+ mes "[Parmy Gianino]";
+ mes "But before all of that, you need to speak to Raspuchin. I'm not really sure what you'll be talking about with him...";
+ next;
+ mes "[Parmy Gianino]";
+ mes "It shouldn't be anything extraordinary, but you're still required to speak to Raspuchin, since apparently he's a part of the Alchemist selection process.";
+ close;
+ }
+ switch(ALCH_Q) {
+ case 1: setarray .@items[0],657,7; break;
+ case 2: setarray .@items[0],612,100; break;
+ case 3: setarray .@items[0],1752,7500; break;
+ }
+ if (countitem(.@items[0]) >= .@items[1]) {
+ mes "Seems like";
+ mes "you're all ready.";
+ mes "The Union will put";
+ mes "these items to good use.";
+ next;
+ delitem .@items[0],.@items[1];
+ mes "[Parmy Gianino]";
+ mes "Okay, now you need to learn";
+ mes "the basics to being an Alchemist and learn the procedures for mixing chemicals and medicines.";
+ set ALCH_Q,4;
+ if(checkquest(2028) != -1) {
+ changequest 2028,2031;
+ }
+ else if(checkquest(2029) != -1) {
+ changequest 2029,2031;
+ }
+ else {
+ changequest 2030,2031;
+ }
+ next;
+ mes "[Parmy Gianino]";
+ mes "But before all of that, you need to speak to Raspuchin. I'm not really sure what you'll be talking about with him...";
+ next;
+ mes "[Parmy Gianino]";
+ mes "It shouldn't be anything extraordinary, but you're still required to speak to Raspuchin, since apparently he's a part of the Alchemist selection process.";
+ close;
+ }
+ mes "Aren't you ready?";
+ mes "Like I said before,";
+ mes "you must bring";
+ mes "^551A8B"+.@items[1]+" "+getitemname(.@items[0])+"s^000000.";
+ next;
+ mes "[Parmy Gianino]";
+ mes "Come back when you";
+ mes "have prepared the";
+ mes "required items.";
+ close;
+ }
+ else if (ALCH_Q == 4) {
+ mes "Go and talk to";
+ mes "Mr. Raspuchin.";
+ mes "He's involved in the";
+ mes "Alchemist selection process, whatever that might mean.";
+ next;
+ mes "[Parmy Gianino]";
+ mes "Hopefully, it";
+ mes "won't be too much of";
+ mes "a problem. I guess he'll just interview you, and ask you";
+ mes "some simple questions.";
+ close;
+ }
+ else {
+ mes "Ah, I'm sorry, but";
+ mes "I'm busy right now~";
+ next;
+ mes "[Parmy Gianino]";
+ mes "Why don't you ask";
+ mes "someone else if you're";
+ mes "not sure who to visit";
+ mes "next? Good luck~";
+ close;
+ }
+}
+
+alde_alche,175,107,3 script Fastidious Alchemist#am 749,{
+ mes "[Raspuchin Gregory]";
+ if (BaseJob != Job_Merchant) {
+ if (BaseJob == Job_Alchemist) {
+ mes "Heeheehee";
+ mes "keheheh~!";
+ mes "Eh? What do you want?!";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "You're not here to steal my experimental results or plagiarize my work, are you? How dare you consider intellectual theft!";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "You're not, are you?";
+ mes "Well, as a colleague,";
+ mes "let me just warn you";
+ mes "that such tricks aren't";
+ mes "tolerated here in the";
+ mes "Alchemist Union!";
+ close;
+ }
+ else if (BaseClass == Job_Novice) {
+ mes "Heeheehee";
+ mes "keheheh~!";
+ mes "How cute, you've come";
+ mes "all this way just to play...";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "I'll let you";
+ mes "go this time...";
+ mes "But next time, don't";
+ mes "expect to leave so easily...";
+ close;
+ }
+ else {
+ mes "What is it?!";
+ mes "You're curious as";
+ mes "to what I'm doing?";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "Heehee";
+ mes "keheheh~!";
+ mes "Why, I'm busy";
+ mes "researching,";
+ mes "of course!";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "Once this";
+ mes "potion is complete...";
+ mes "You can use it to take";
+ mes "over an entire nation!";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "Hee hee hee!";
+ mes "Something this";
+ mes "dangerous has to";
+ mes "be kept a secret!";
+ mes "Understand?";
+ close;
+ }
+ }
+ if (ALCH_Q == 0) {
+ mes "Heeheehee";
+ mes "keheheh~!";
+ mes "What do you";
+ mes "want, kid?";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "A Merchant should go and set up shop and vend items. Why are you wandering in a place like this?";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "Heheheh~!";
+ mes "Go vend somwhere else!";
+ mes "And leave me to my";
+ mes "dark enterprise!";
+ close;
+ }
+ else if (ALCH_Q >= 1 && ALCH_Q <= 3) {
+ mes "Heeheehee";
+ mes "keheheh~!";
+ mes "What do you";
+ mes "want, kid?";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "What...?";
+ mes "Learn Alchemy?!";
+ mes "Don't even speak";
+ mes "such nonsense!";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "Even if you tried studying for a thousand years, maybe even more, it'd be useless to you! Forget about it and just worry about your store!";
+ close;
+ }
+ else if ((ALCH_Q == 4) || (ALCH_Q == 5)) {
+ if (ALCH_Q == 4) {
+ mes "Heeheehee";
+ mes "keheheh~!";
+ mes "What do you";
+ mes "want, kid?";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "What...?";
+ mes "Join the Union!?";
+ mes "I don't like it...";
+ mes "I just don't...!";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "Nowadays, anyone thinks they can";
+ mes "be Alchemists just by knowing how to mix a few herbs. That's why my interview is necessary.";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "Heeheehee";
+ mes "keheheh~!";
+ mes "I plan on weeding out all the dumb and incompetent, and chase them";
+ mes "all away! We don't need morons!";
+ next;
+ if (JobLevel == 50) {
+ mes "[Raspuchin Gregory]";
+ mes "Wait...";
+ mes "Maybe I've";
+ mes "misjudged you.";
+ if (sex == 1) {
+ mes "You might be a pretty boy,";
+ mes "but I can tell you're smart";
+ mes "from your eyes.";
+ }
+ else {
+ mes "Huh. You're a cutie alright,";
+ mes "but I can tell you've got brains.";
+ }
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "You're not just some stupid kid.";
+ mes "I can tell youve gone through some rough times as a Merchant. Excellent. Keh heh heh~";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "Fine, just so we don't insult each other's intelligence, I'll just let you pass the interview.";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "So hurry up, become an Alchemist, do some good research, and you might turn out to be of some help to me. Hahahahahaha~!";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "Now go to Darwin!";
+ mes "He'll teach you how to do the experiments. Just tell him that";
+ mes "I sent you.";
+ set ALCH_Q,6;
+ close;
+ }
+ else {
+ mes "[Raspuchin Gregory]";
+ mes "Surprised, are you?";
+ mes "Keheheh~ If you thought";
+ mes "becoming an Alchemist was";
+ mes "just a matter of changing";
+ mes "your clothes, then you're";
+ mes "sadly mistaken.";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "Now, try solving";
+ mes "all these problems.";
+ mes "Let's see how smart";
+ mes "really are.";
+ }
+ }
+ else if (ALCH_Q == 5) {
+ mes "What...?!";
+ mes "You want to take";
+ mes "the test again?!";
+ mes "I thought I told";
+ mes "you to leave!";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "I don't like it...";
+ mes "I don't like this!";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "Fine...";
+ mes "I'll try to overlook your pitiful performance last time and give";
+ mes "you another chance. Don't screw";
+ mes "up again, got it?";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "Now then,";
+ mes "give me all the";
+ mes "^551A8Bright^000000 answers";
+ mes "this time.";
+ }
+ next;
+ switch(rand(1,3)) {
+ case 1:
+ mes "[Raspuchin Gregory]";
+ mes "12 + 23 + 34 + 45 = ?";
+ next;
+ input .@input;
+ if (.@input != 114) set .@w_point,.@w_point+1;
+ mes "[Raspuchin Gregory]";
+ mes "1000 - 36 - 227 - 348 = ?";
+ next;
+ input .@input;
+ if (.@input != 389) set .@w_point,.@w_point+1;
+ mes "[Raspuchin Gregory]";
+ mes "14 * 17 * 3 = ?";
+ next;
+ input .@input;
+ if (.@input != 714) set .@w_point,.@w_point+1;
+ mes "[Raspuchin Gregory]";
+ mes "9765 / 3 / 5 / 7 = ?";
+ next;
+ input .@input;
+ if (.@input != 93) set .@w_point,.@w_point+1;
+ mes "[Raspuchin Gregory]";
+ mes "(47 * 28) - (1376 / 4) = ?";
+ next;
+ input .@input;
+ if (.@input != 972) set .@w_point,.@w_point+1;
+ mes "[Raspuchin Gregory]";
+ mes "(2646 / 7) + (13 * 28) = ?";
+ next;
+ input .@input;
+ if (.@input != 742) set .@w_point,.@w_point+1;
+ mes "[Raspuchin Gregory]";
+ mes "How much do";
+ mes "12 Red Potions,";
+ mes "1 Butterfly Wing";
+ mes "and 5 Fly Wings cost";
+ mes "after a 24 % discount?";
+ next;
+ input .@input;
+ if (.@input != 909) set .@w_point,.@w_point+1;
+ mes "[Raspuchin Gregory]";
+ mes "What is the";
+ mes "total weight of";
+ mes "3 Scimiters, 2 Helms";
+ mes "and 1 Long Coat?";
+ next;
+ input .@input;
+ if (.@input != 450) set .@w_point,.@w_point+1;
+ mes "[Raspuchin Gregory]";
+ mes "What is the";
+ mes "total defense of";
+ mes "a Biretta, Mantle,";
+ mes "Opera Mask, Ribbon,";
+ mes "Muffler, Boots, and";
+ mes "Ear Muffs?";
+ next;
+ input .@input;
+ if (.@input != 20) set .@w_point,.@w_point+1;
+ mes "[Raspuchin Gregory]";
+ mes "If you buy 5 Helms";
+ mes "with a 24 % discount";
+ mes "and sell it at 20";
+ mes "how much profit";
+ mes "do you earn?";
+ next;
+ input .@input;
+ if (.@input != 8800) set .@w_point,.@w_point+1;
+ break;
+ case 2:
+ mes "[Raspuchin Gregory]";
+ mes "13 + 25 + 37 + 48 = ?";
+ next;
+ input .@input;
+ if (.@input != 123) set .@w_point,.@w_point+1;
+ mes "[Raspuchin Gregory]";
+ mes "1000 - 58 - 214 - 416 = ?";
+ next;
+ input .@input;
+ if (.@input != 312) set .@w_point,.@w_point+1;
+ mes "[Raspuchin Gregory]";
+ mes "12 * 24 * 3 = ?";
+ next;
+ input .@input;
+ if (.@input != 864) set .@w_point,.@w_point+1;
+ mes "[Raspuchin Gregory]";
+ mes "10530 / 3 / 5 / 2 = ?";
+ next;
+ input .@input;
+ if (.@input != 351) set .@w_point,.@w_point+1;
+ mes "[Raspuchin Gregory]";
+ mes "(35 * 19) - (1792 / 7) = ?";
+ next;
+ input .@input;
+ if (.@input != 409) set .@w_point,.@w_point+1;
+ mes "[Raspuchin Gregory]";
+ mes "(2368 / 8) + (24 * 17) = ?";
+ next;
+ input .@input;
+ if (.@input != 704) set .@w_point,.@w_point+1;
+ mes "[Raspuchin Gregory]";
+ mes "(2646 / 7) + (13 * 28) = ?";
+ next;
+ input .@input;
+ if (.@input != 742) set .@w_point,.@w_point+1;
+ mes "[Raspuchin Gregory]";
+ mes "What is the";
+ mes "total price of";
+ mes "15 Green Potions,";
+ mes "6 Magnifiers and";
+ mes "4 Traps after";
+ mes "a 24 % discount?";
+ next;
+ input .@input;
+ if (.@input != 934) set .@w_point,.@w_point+1;
+ mes "[Raspuchin Gregory]";
+ mes "What is the";
+ mes "total weight of";
+ mes "3 Ring Pommel Sabers,";
+ mes "4 Caps, and 2 Boots?";
+ next;
+ input .@input;
+ if (.@input != 550) set .@w_point,.@w_point+1;
+ mes "[Raspuchin Gregory]";
+ mes "What is the";
+ mes "total defense of";
+ mes "a Buckler, Long Coat,";
+ mes "Gas Mask, Big Ribbon,";
+ mes "Cute Ribbon, Sakkat,";
+ mes "and Glasses?";
+ next;
+ input .@input;
+ if (.@input != 16) set .@w_point,.@w_point+1;
+ mes "[Raspuchin Gregory]";
+ mes "How much profit do you";
+ mes "make if you buy Tights";
+ mes "at a 24 % discount and";
+ mes "sell it at 20 % of";
+ mes "the normal price?";
+ next;
+ input .@input;
+ if (.@input != 8520) set .@w_point,.@w_point+1;
+ break;
+ case 3:
+ mes "[Raspuchin Gregory]";
+ mes "12 + 23 + 34 + 45 = ?";
+ next;
+ input .@input;
+ if (.@input != 114) set .@w_point,.@w_point+1;
+ mes "[Raspuchin Gregory]";
+ mes "1000 - 58 - 214 - 416 = ?";
+ next;
+ input .@input;
+ if (.@input != 312) set .@w_point,.@w_point+1;
+ mes "[Raspuchin Gregory]";
+ mes "14 * 17 * 3 = ?";
+ next;
+ input .@input;
+ if (.@input != 714) set .@w_point,.@w_point+1;
+ mes "[Raspuchin Gregory]";
+ mes "10530 / 3 / 5 / 2 = ?";
+ next;
+ input .@input;
+ if (.@input != 351) set .@w_point,.@w_point+1;
+ mes "[Raspuchin Gregory]";
+ mes "(47 * 28) - (1376 / 4) = ?";
+ next;
+ input .@input;
+ if (.@input != 972) set .@w_point,.@w_point+1;
+ mes "[Raspuchin Gregory]";
+ mes "(2646 / 7) + (13 * 28) = ?";
+ next;
+ input .@input;
+ if (.@input != 742) set .@w_point,.@w_point+1;
+ mes "[Raspuchin Gregory]";
+ mes "What is the";
+ mes "total cost of";
+ mes "6 Red Potions,";
+ mes "7 Green Potions,";
+ mes "and 8 Fly Wings";
+ mes "after a 24 % discount?";
+ next;
+ input .@input;
+ if (.@input != 798) set .@w_point,.@w_point+1;
+ mes "[Raspuchin Gregory]";
+ mes "What is the";
+ mes "total weight of";
+ mes "2 Ring Pommel Sabers,";
+ mes "3 Caps, and 3 boots?";
+ next;
+ input .@input;
+ if (.@input != 480) set .@w_point,.@w_point+1;
+ mes "[Raspuchin Gregory]";
+ mes "What is the";
+ mes "total defense of";
+ mes "a Mirror Shield, Mr. Smile, Leather Jacket, Silk Robe, Wedding Veil, Muffler, and Eye Patch?";
+ next;
+ input .@input;
+ if (.@input != 12) set .@w_point,.@w_point+1;
+ mes "[Raspuchin Gregory]";
+ mes "If you buy 4 Padded Armors";
+ mes "at a 24% discount and sell";
+ mes "them at 20% of the original";
+ mes "price, how much profit would";
+ mes "you make from this sale?";
+ next;
+ input .@input;
+ if (.@input != 7680) set w_point,w_point+1;
+ }
+ if (.@w_point == 0) {
+ mes "[Raspuchin Gregory]";
+ mes "Ooh...";
+ mes "Excellent! Great!";
+ mes "You got them all correct!?";
+ mes "Keheheh, I have no choice but to acknowledge you...";
+ next;
+ }
+ else if (.@w_point == 1) {
+ mes "[Raspuchin Gregory]";
+ mes "You got one wrong!";
+ mes "But I'll let it slide.";
+ mes "You pass the interview!";
+ next;
+ }
+ else if (.@w_point == 2 && ALCH_Q == 5) {
+ mes "[Raspuchin Gregory]";
+ mes "You've got serious";
+ mes "weaknesses in math,";
+ mes "but I'll let you go this time...";
+ next;
+ }
+ else {
+ set ALCH_Q,5;
+ mes "[Raspuchin Gregory]";
+ mes "Keheheh! Idiot!";
+ mes "Just listening to your";
+ mes "answers is making me feel";
+ mes "stupider! You might as well";
+ mes "have got them all wrong!";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "How can a person that";
+ mes "can't even answer all of";
+ mes "these simple questions think";
+ mes "of becoming an Alchemist?!";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "Hm...?";
+ mes "Did you get";
+ mes "any right?";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "Fool! Even if you make one little mistake, everything goes wrong";
+ mes "in Alchemy! Now get out of here!";
+ mes "You make me sick!";
+ close;
+ }
+ mes "[Raspuchin Gregory]";
+ mes "So hurry up, become an Alchemist, do some good research, and you might turn out to be of some help to me. Hahahahahaha~!";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "Now go to Darwin!";
+ mes "He'll teach you how to do the experiments. Just tell him that";
+ mes "I sent you.";
+ set ALCH_Q,6;
+ changequest 2031,2032;
+ close;
+ }
+ else if (ALCH_Q == 6) {
+ mes "What are you doing?";
+ mes "Go and find Darwin now.";
+ next;
+ mes "[Raspuchin Gregory]";
+ mes "Keheheheheheheheh~";
+ mes "Don't think this is the end of it!";
+ close;
+ }
+ mes "Keheheheheheheheh~";
+ mes "Don't think this is the end of it!";
+ close;
+}
+
+alde_alche,13,15,7 script Studying Man#am 750,{
+ if (checkweight(1201,1) == 0) {
+ mes "- Wait a minute! -";
+ mes "- Currently you are carrying -";
+ mes "- too many items with you. -";
+ mes "- Please come back again -";
+ mes "- after you store some items into kafra storage. -";
+ close;
+ }
+ mes "[Darwin]";
+ if (BaseJob != Job_Merchant) {
+ if (BaseJob == Job_Alchemist) {
+ mes "Ah...";
+ mes "You...";
+ mes "You've become";
+ mes "an Alchemist.";
+ next;
+ mes "[Darwin]";
+ mes "Remember...";
+ mes "In your quest";
+ mes "to make your";
+ mes "dreams come true,";
+ mes "do not lose what";
+ mes "you cherish.";
+ next;
+ mes "[Darwin]";
+ mes "Ah...";
+ mes "Harmona...";
+ mes "My love...";
+ close;
+ }
+ else {
+ mes "When you have";
+ mes "your dreams, you";
+ mes "have everything.";
+ mes "Without them, you have";
+ mes "nothing more to lose.";
+ next;
+ mes "[Darwin]";
+ mes "These cursed eyes...";
+ mes "They've lost sight of";
+ mes "my dreams a long time ago.";
+ mes "Ha ha ha ha...";
+ next;
+ mes "[Darwin]";
+ mes "Does paradise";
+ mes "really exist...?";
+ mes "Not without my love...";
+ mes "Not without Harmona...";
+ close;
+ }
+ }
+ if (ALCH_Q == 6) {
+ mes "...";
+ next;
+ mes "[Darwin]";
+ mes "...";
+ mes "......";
+ next;
+ mes "[Darwin]";
+ mes "...";
+ mes "......";
+ mes "Who is it...?";
+ next;
+ monster "alde_alche",13,15,"Wolf",1013,1;
+ killmonsterall "alde_alche";
+ mes "[Darwin]";
+ mes "A wolf?";
+ mes "Or a human?";
+ mes "You must be seeking";
+ mes "something, are you not?";
+ next;
+ mes "[Darwin]";
+ mes "After all...";
+ mes "Everyone has desires";
+ mes "to fulfill. Be be careful.";
+ mes "Do not be like the wild";
+ mes "wolf drawn to the flowers.";
+ next;
+ mes "[Darwin]";
+ mes "In your efforts to gain something else, you may end up sacrificing something precious to you.";
+ next;
+ mes "[Darwin]";
+ mes "Cultivating joy and happiness";
+ mes "is much like cultivating flowers.";
+ mes "If something is missing, the";
+ mes "flower will wilt away...";
+ next;
+ mes "[Darwin]";
+ mes "What brings you";
+ mes "to this kind of place?";
+ next;
+ switch(select("I want to learn how to experiment.:Tell me more about flowers.:Nothing.")) {
+ case 1:
+ mes "[Darwin]";
+ mes "You wish to";
+ mes "learn Alchemy?";
+ mes "Everything I know,";
+ mes "I've learned for the";
+ mes "sake of making my";
+ mes "dream come true...";
+ next;
+ mes "[Darwin]";
+ mes "I'll teach";
+ mes "you the basics...";
+ mes "But everything you";
+ mes "learn afterwards must";
+ mes "be directed through";
+ mes "your own motivations.";
+ next;
+ mes "[Darwin]";
+ mes "I will teach you";
+ mes "how to make simple";
+ mes "medicine. So please";
+ mes "bring the following";
+ mes "materials right away.";
+ next;
+ mes "[Darwin]";
+ mes "^551A8B3 Medicine Bowls^000000,";
+ mes "^551A8B3 Empty Bottles^000000,";
+ mes "^551A8B1 Red Herb^000000,";
+ mes "^551A8B1 Yellow Herb^000000 and";
+ mes "^551A8B1 White Herb^000000.";
+ set ALCH_Q,7;
+ changequest 2032,2033;
+ next;
+ mes "[Darwin]";
+ mes "Once you have";
+ mes "prepared everything,";
+ mes "return to me.";
+ close;
+ case 2:
+ mes "[Darwin]";
+ mes "Flowers...?";
+ mes "In the darkest";
+ mes "recesses of my mind,";
+ mes "there is a blossum";
+ mes "that I faintly remember...";
+ next;
+ mes "[Darwin]";
+ mes "For the one that";
+ mes "I love, I put all";
+ mes "of my efforts into";
+ mes "researching that one thing.";
+ next;
+ mes "[Darwin]";
+ mes "I won't tell you the details,";
+ mes "but I was basically researching";
+ mes "the relationship between";
+ mes "wolves and flowers.";
+ next;
+ mes "[Darwin]";
+ mes "But yes...";
+ mes "It was a flower.";
+ mes "With its shine, it was said";
+ mes "to let you see paradise.";
+ mes "The ^551A8BIllusion Flower^000000...";
+ next;
+ mes "[Darwin]";
+ mes "I even made";
+ mes "a Homunculus,";
+ mes "but no one believed that I could create new life from a flower...";
+ next;
+ mes "[Darwin]";
+ mes "Then...";
+ mes "Well, some other things happened, and now I have nothing left. Time no longer has any meaning for me.";
+ next;
+ mes "[Darwin]";
+ mes "Ahh...";
+ mes "Harmona...";
+ mes "Where have you gone?";
+ mes "I hope you're in a field";
+ mes "of beautiful flowers...";
+ close;
+ case 3:
+ mes "[Darwin]";
+ mes "Consider what";
+ mes "is most precious";
+ mes "to you. It cannot";
+ mes "be protected if you";
+ mes "do not recognize it.";
+ close;
+ }
+ }
+ else if (ALCH_Q == 7) {
+ mes "...";
+ mes "......";
+ next;
+ mes "[Darwin]";
+ mes "...";
+ mes "......";
+ mes "Who is it...?";
+ next;
+ mes "[Darwin]";
+ mes "Ah...";
+ mes "You are the one who";
+ mes "wishes to learn Alchemy.";
+ mes "Have you prepared everything?";
+ next;
+ if (countitem(710) > 0) {
+ mes "[Darwin]";
+ mes "Wait.";
+ mes "That Illusion Flower.";
+ mes "How did you get that?";
+ next;
+ mes "[Darwin]";
+ mes "Where did you find it?!";
+ mes "The flower that slowly";
+ mes "blooms under the";
+ mes "moonlight?";
+ mes "It's beautiful...!";
+ next;
+ mes "[Darwin]";
+ mes "Th-That flower...";
+ mes "Please let me see it.";
+ mes "The Illusion Flower!";
+ mes "Uwaaaaaaah!!";
+ next;
+ mes "[Darwin]";
+ mes "Would you be so kind";
+ mes "as to let me have this flower?";
+ mes "I'm sure that this is the Moonlight Flower that I've been seeking!";
+ next;
+ if (select("Sorry, I can't give it to you.:I brought it to give to you.") == 1) {
+ mes "[Darwin]";
+ mes "I understand.";
+ mes "You can't give";
+ mes "such a precious";
+ mes "flower to just anyone.";
+ mes "Well... It's okay.";
+ next;
+ mes "[Darwin]";
+ mes "It just brought back old memories. I shouldn't have asked in the first place. In any case, please bring what is needed for the experiment.";
+ next;
+ mes "[Darwin]";
+ mes "Please leave that flower";
+ mes "somewhere else. It brings";
+ mes "back too many memories...";
+ close;
+ }
+ mes "[Darwin]";
+ mes "Are you";
+ mes "serious?!";
+ mes "Thank you!";
+ mes "Such a precious flower.";
+ mes "Ah, Harmona, my love...";
+ next;
+ mes "[Darwin]";
+ mes "Yes...";
+ mes "I shall repay you for this.";
+ mes "I shall plant all of my knowledge of Alchemy directly into your mind...";
+ next;
+ mes "[Darwin]";
+ mes "Open your eyes wide,";
+ mes "and look into my eyes!!";
+ mes "Don't stop until the end!!";
+ next;
+ mes "Lorem ipsum dolor sit amet,";
+ next;
+ mes "Lorem ipsum dolor sit amet,";
+ mes "consectetuer adipiscing elit.";
+ next;
+ mes "Lorem ipsum dolor sit amet,";
+ mes "consectetuer adipiscing elit.";
+ mes "Aenean fermentum ullamcorper.";
+ next;
+ mes "Lorem ipsum dolor sit amet,";
+ mes "consectetuer adipiscing elit.";
+ mes "Aenean fermentum ullamcorper.";
+ mes "Vestibulum ante ipsum primis in";
+ next;
+ mes "Lorem ipsum dolor sit amet,";
+ mes "consectetuer adipiscing elit.";
+ mes "Aenean fermentum ullamcorper.";
+ mes "Vestibulum ante ipsum primis in";
+ mes "faucibus orci luctus et ultrices";
+ next;
+ mes "Lorem ipsum dolor sit amet,";
+ mes "consectetuer adipiscing elit.";
+ mes "Aenean fermentum ullamcorper.";
+ mes "Vestibulum ante ipsum primis in";
+ mes "faucibus orci luctus et ultrices";
+ mes "posuere cubilia Curae; Morbi";
+ next;
+ mes "Lorem ipsum dolor sit amet,";
+ mes "consectetuer adipiscing elit.";
+ mes "Aenean fermentum ullamcorper.";
+ mes "Vestibulum ante ipsum primis in";
+ mes "faucibus orci luctus et ultrices";
+ mes "posuere cubilia Curae; Morbi";
+ mes "massa, fermentum vitae...";
+ next;
+ delitem 710,1; //Illusion_Flower
+ mes "[Darwin]";
+ mes "^666666*Gasp...*^000000";
+ mes "You are now";
+ mes "an Alchemist!!";
+ mes "Go to the Union";
+ mes "and cast away the last";
+ mes "vestiges of Merchant life!!";
+ set ALCH_Q,40;
+ close;
+ }
+ else if (countitem(7134) > 2 && countitem(713) > 2 && countitem(507) > 0 && countitem(508) > 0 && countitem(509) > 0) {
+ mes "[Darwin]";
+ mes "Seems like you have everything ready. As promised, I will teach you how to make simple medicine.";
+ next;
+ mes "[Darwin]";
+ mes "First, prepare the Medicine Bowl. Then, you put the Herbs inside, like this, and slowly crush them.";
+ next;
+ mes "[Darwin]";
+ mes "Pour small amounts";
+ mes "of clean water and stir";
+ mes "the mixture until it thickens.";
+ mes "Afterwards, add some more Herbs.";
+ next;
+ mes "[Darwin]";
+ mes "That's how you make it. If you think you have enough, gently pour the mixture into an empty bottle.";
+ delitem 7134,3; //Medicine_Bowl
+ delitem 713,3; //Empty_Bottle
+ delitem 507,1; //Red_Herb
+ delitem 508,1; //Yellow_Herb
+ delitem 509,1; //White_Herb
+ next;
+ mes "[Darwin]";
+ mes "There you go,";
+ mes "it's complete.";
+ mes "Now, make some medicine";
+ mes "using the simple procedure";
+ mes "I just explained to you.";
+ set w_point,0;
+ next;
+ switch(select("Prepare the Medicine Bowl.:Put the Medicine Bowl on your head.:Kick the Medicine Bowl.")) {
+ case 1:
+ break;
+ case 2:
+ set .@w_point,.@w_point+1;
+ mes "[Darwin]";
+ mes "What...?";
+ next;
+ break;
+ case 3:
+ set .@w_point,.@w_point+1;
+ mes "[Darwin]";
+ mes "No!";
+ next;
+ break;
+ }
+ switch(select("Put some dirt in the Medicine Bowl.:Put some Herbs in the Medicine Bowl.:Put a Harp in the Medicine Bowl.")) {
+ case 1:
+ set .@w_point,.@w_point+1;
+ mes "[Darwin]";
+ mes "...Eh!?";
+ mes "That's not";
+ mes "medicine!";
+ next;
+ break;
+ case 2:
+ break;
+ case 3:
+ set .@w_point,.@w_point+1;
+ mes "[Darwin]";
+ mes "A Harp?";
+ mes "And how would";
+ mes "you do that?";
+ next;
+ break;
+ }
+ switch(select("Crush the Herbs.:Crush the Medicine Bowl.:Crush Darwin's foot.")) {
+ case 1:
+ break;
+ case 2:
+ set .@w_point,.@w_point+1;
+ mes "[Darwin]";
+ mes "Wh-What are";
+ mes "you doing!?";
+ next;
+ break;
+ case 3:
+ set .@w_point,.@w_point+1;
+ mes "[Darwin]";
+ mes "Agh...!";
+ mes "What do you";
+ mes "think you're";
+ mes "doing?!";
+ next;
+ break;
+ }
+ switch(select("Spray clean water.:Drink clean water.:Pour clean water.")) {
+ case 1:
+ set .@w_point,.@w_point+1;
+ mes "[Darwin]";
+ mes "Huh?";
+ mes "What are you doing?";
+ next;
+ break;
+ case 2:
+ set .@w_point,.@w_point+1;
+ mes "[Darwin]";
+ mes "W-wait...";
+ mes "Are you";
+ mes "taking a break?";
+ next;
+ break;
+ case 3:
+ break;
+ }
+ switch(select("Continue crushing the Herbs.:Continue eating the Herbs.:Continue dancing and singing.")) {
+ case 1:
+ break;
+ case 2:
+ set .@w_point,.@w_point+1;
+ mes "[Darwin]";
+ mes "Eat the Herbs?";
+ mes "I think you need";
+ mes "to focus on the";
+ mes "task at hand...";
+ next;
+ break;
+ case 3:
+ set .@w_point,.@w_point+1;
+ mes "[Darwin]";
+ mes "Singing and";
+ mes "dancing? Alchemists";
+ mes "don't do that, have";
+ mes "you gone crazy?";
+ next;
+ break;
+ }
+ switch(select("Put noodles in and fry it.:Pour it in an empty bottle.:Hold the Medicine Bowl and drink it.")) {
+ case 1:
+ set .@w_point,.@w_point+1;
+ mes "[Darwin]";
+ mes "We're Alchemists,";
+ mes "not restaurant chefs.";
+ next;
+ break;
+ case 2:
+ break;
+ case 3:
+ set .@w_point,.@w_point+1;
+ mes "[Darwin]";
+ mes "Huh...";
+ mes "Pretty sloppy...";
+ next;
+ break;
+ }
+ if (.@w_point > 0) {
+ mes "[Darwin]";
+ mes "...";
+ mes "......";
+ next;
+ mes "[Darwin]";
+ mes "You messed up the mixture";
+ mes "since you didn't follow the procedure! Get some more ingredients so you can try it";
+ mes "again until you get it right.";
+ close;
+ }
+ getitem 501,1; //Red_Potion
+ getitem 503,1; //Yellow_Potion
+ getitem 504,1; //White_Potion
+ mes "[Darwin]";
+ mes "Good job.";
+ mes "It came out pretty well considering it's your first time. Go ahead and keep the medicines that you've just made.";
+ set ALCH_Q,8;
+ changequest 2033,2035;
+ next;
+ mes "[Darwin]";
+ mes "Now, go into the next room";
+ mes "and speak to Van Helmont to";
+ mes "continue your training.";
+ next;
+ mes "[Darwin]";
+ mes "Never forget...";
+ mes "You must always protect";
+ mes "what is most precious to you.";
+ close;
+ }
+ else {
+ mes "[Darwin]";
+ mes "Have you forgotten";
+ mes "what you need to bring?";
+ mes "Let me remind you once";
+ mes "again. You must come";
+ mes "back with...";
+ next;
+ mes "[Darwin]";
+ mes "^551A8B3 Medicine Bowls^000000,";
+ mes "^551A8B3 Empty Bottle^000000,";
+ mes "^551A8B1 Red Herb^000000,";
+ mes "^551A8B1 Yellow Herb^000000 and";
+ mes "^551A8B1 White Herb^000000.";
+ next;
+ mes "[Darwin]";
+ mes "Come back";
+ mes "when you are";
+ mes "ready...";
+ close;
+ }
+ }
+ else if (ALCH_Q == 8) {
+ mes "I said to go";
+ mes "to Van Helmont.";
+ mes "I'd like to teach you";
+ mes "more, but I can't.";
+ next;
+ mes "[Darwin]";
+ mes "Aah...";
+ mes "Harmona, my love.";
+ mes "I can't even see the flower anymore. My soul quietly";
+ mes "withers as well..";
+ close;
+ }
+ else if (ALCH_Q == 40) {
+ mes "I have already given you all of my knowledge and have nothing more";
+ mes "to teach you.";
+ next;
+ mes "[Darwin]";
+ mes "Go to the second floor and talk to speak to our Union Leader. Once";
+ mes "you do that, your life as an Alchemist will begin.";
+ close;
+ }
+ else {
+ mes "When you have";
+ mes "your dreams, you";
+ mes "have everything.";
+ mes "Without them, you have";
+ mes "nothing more to lose.";
+ next;
+ mes "[Darwin]";
+ mes "These cursed eyes...";
+ mes "They've lost sight of";
+ mes "my dreams a long time ago.";
+ mes "Ha ha ha ha...";
+ next;
+ mes "[Darwin]";
+ mes "Does paradise";
+ mes "really exist...?";
+ mes "Not without my love...";
+ mes "Not without Harmona...";
+ close;
+ }
+}
+
+alde_alche,79,19,5 script Experiment Expert#am 748,{
+ mes "[Van Helmont]";
+ if (BaseJob != Job_Merchant) {
+ if (BaseJob == Job_Alchemist) {
+ mes "What do you want?";
+ mes "I'm busy!! Don't";
+ mes "bother me and get";
+ mes "on your way.";
+ next;
+ mes "[Van Helmont]";
+ mes "Now, come on...";
+ mes "You'll never get";
+ mes "any research completed if you just slack off. Go out and learn all that you can.";
+ next;
+ mes "[Van Helmont]";
+ mes "Reading science journals and performing experiments. That's what Alchemy is all about. Now, let me get back to work!";
+ close;
+ }
+ else {
+ mes "Just a little...";
+ mes "A little bit more...";
+ mes "Nooo! Just a little";
+ mes "bit more and it";
+ mes "would've been done!";
+ next;
+ mes "[Van Helmont]";
+ mes "Why...?!";
+ mes "Why, another failure?!";
+ mes "My calculations were";
+ mes "all correct! W-Wait...!";
+ next;
+ mes "[Van Helmont]";
+ mes "Perhaps, if I capacitated the thermal flux by using the neutronic gradient, it just might work...!";
+ close;
+ }
+ }
+ if (ALCH_Q == 8) {
+ mes "Arrrrgh...!";
+ mes "Why isn't this formula working? What's wrong? In theory, it's all correct, but there must be an error in the formula somewhere...";
+ next;
+ mes "[Van Helmont]";
+ mes "I pour it in here, and it should stop. Wait, this is the wrong solution! How could I make such";
+ mes "a dumb mistake?! When did these";
+ mes "get switched?!";
+ next;
+ mes "[Van Helmont]";
+ mes "Okay, okay...";
+ mes "I just need to fix this part.";
+ mes "No need to start over. I just";
+ mes "need to fix it... But wait. Wait...";
+ next;
+ mes "[Van Helmont]";
+ mes ".................";
+ next;
+ mes "[Van Helmont]";
+ mes "Um...";
+ mes "Who are you?";
+ next;
+ if (select("I want to become an Alchemist.:.......") == 2) {
+ mes "[Van Helmont]";
+ mes "Hmm...?";
+ mes "What, did you just want to watch? Fine, fine, but do it quietly and leave right when you're done.";
+ next;
+ mes "[Van Helmont]";
+ mes "Stay out of my way and don't go around touching stuff. There might be some volatile materials, so it'd be dangerous to have any accidents.";
+ close;
+ }
+ mes "[Van Helmont]";
+ mes "You...?";
+ mes "An Alchemist?";
+ mes "What a funny Merchant.";
+ next;
+ mes "[Van Helmont]";
+ mes "Well, that's nice, but I have very urgent experiments that require";
+ mes "my attention, so don't get";
+ mes "in the way.";
+ next;
+ if (select("Teach me something.:...") == 1) {
+ mes "[Van Helmont]";
+ mes "Argh...!";
+ mes "Didn't I just tell you not to bother me? What's so hard to understand about that?";
+ next;
+ mes "[Van Helmont]";
+ mes "Fine, fine. I'll give you an assignment. Learn something";
+ mes "new and come back. Let's see.";
+ mes "What would be good...";
+ next;
+ mes "[Van Helmont]";
+ mes "Okay, I got it.";
+ mes "Go learn how to make";
+ mes "a Counteragent and Mixture";
+ mes "from Molgenstein.";
+ next;
+ mes "[Van Helmont]";
+ mes "You don't need to bring anything. Just go watch him at work and have him tell you how he makes those solutions. Got it?";
+ next;
+ mes "[Van Helmont]";
+ set ALCH_Q,9;
+ changequest 2035,2036;
+ mes "Well then, see you later.";
+ mes "You'd better get going as";
+ mes "soon as you can.";
+ close;
+ }
+ mes "[Van Helmont]";
+ mes "...";
+ next;
+ mes "[Van Helmont]";
+ mes "...";
+ mes "......";
+ next;
+ mes "[Van Helmont]";
+ mes "...";
+ mes "......";
+ next;
+ mes "[Van Helmont]";
+ mes "So if I recalibrate the combustion rate of this compound, that should negate any cohesive tendencies in this particle flux...";
+ next;
+ mes "[Van Helmont]";
+ mes "But what am I going to do";
+ mes "about all of this spontaneous";
+ mes "crystallization?! I can't very well remove this matrix, I need it for the catalyst to reach the triple point.";
+ next;
+ mes "[Van Helmont]";
+ mes "Damn!";
+ mes "What am";
+ mes "I going to do?!";
+ close;
+ }
+ else if (ALCH_Q == 9) {
+ mes "Alright, if I make an incision here in the Tentacle, and add a Jellopy and Sticky Mucus solution into the... Where the hell did my Medicine Bowl go?";
+ next;
+ mes "[Van Helmont]";
+ mes "Did I use them all at a time like this?! I wonder if Nicholas has any left. Ugh, what a pain. Wait. Wait a minute...";
+ next;
+ mes "[Van Helmont]";
+ mes "...";
+ next;
+ mes "[Van Helmont]";
+ mes "...";
+ mes "......";
+ mes "Who are you?";
+ next;
+ if (select("I want to become an Alchemist?:.......") == 2) {
+ mes "[Van Helmont]";
+ mes "Hmm...?";
+ mes "What, did you just want to watch? Fine, fine, but do it quietly and leave right when you're done.";
+ next;
+ mes "[Van Helmont]";
+ mes "Stay out of my way and don't go around touching stuff. There might be some volatile materials, so it'd be dangerous to have any accidents.";
+ close;
+ }
+ mes "[Van Helmont]";
+ mes "Ah, of course. The Merchant from before. So what did you learn from Molgenstein? I didn't just send you there for fun, you know.";
+ next;
+ mes "[Van Helmont]";
+ mes "Let me ask you";
+ mes "some questions to";
+ mes "check what you've";
+ mes "learned.";
+ next;
+ if(MISC_QUEST & 4) {
+ mes "[Van Helmont]";
+ mes "Which item is not";
+ mes "necessary to make";
+ mes "a Counteragent?";
+ next;
+ if (select("Karvodailnirol:Detrimindexta:Alcohol") != 1) set .@w_point,.@w_point+1;
+ mes "[Van Helmont]";
+ mes "What item is not";
+ mes "necessary to make";
+ mes "a Mixture?";
+ next;
+ if (select("Karvodailnirol:Detrimindexta:Alcohol") != 2) set .@w_point,.@w_point+1;
+ if (.@w_point > 0) {
+ mes "[Van Helmont]";
+ mes "Weren't you listening to Molgenstein at all? Maybe you";
+ mes "have to watch him make it again.";
+ next;
+ mes "[Van Helmont]";
+ mes "If you can't tell the exact items that you need in an experiment,";
+ mes "you might end up hurting yourself!";
+ close;
+ }
+ mes "[Van Helmont]";
+ mes "Good, you've learned well.";
+ mes "Okay, now you know something about experimentation. You're done here, so now I can continue with my experiments.";
+ next;
+ mes "[Van Helmont]";
+ mes "Go out and find the room next";
+ mes "to this one and talk to Nicholas. He'll continue your training.";
+ next;
+ set ALCH_Q,20;
+ changequest 2036,2037;
+ mes "[Van Helmont]";
+ mes "What are you";
+ mes "still doing here?";
+ mes "Go! We both have";
+ mes "more important";
+ mes "things to do!";
+ close;
+ }
+ else {
+ mes "[Van Helmont]";
+ mes "What item do";
+ mes "you need to make";
+ mes "a Counteragent?";
+ next;
+ select("Feather:Sticky Mucus:Animal Gore");
+ mes "[Van Helmont]";
+ mes "What item do";
+ mes "you need to make";
+ mes "a Mixture?";
+ next;
+ select("Monster Feed:Ancient Lips:Rotten Bandage");
+ mes "[Van Helmont]";
+ mes "Be honest. You don't know, do you?! Didn't I say to go to Molgenstein and have him teach you?!";
+ next;
+ mes "[Van Helmont]";
+ mes "Don't even think about coming back until you talk to him! Now stop bothering me and get out of here!";
+ close;
+ }
+ }
+ else if (ALCH_Q == 20) {
+ mes "What...?";
+ mes "I thought I told you to";
+ mes "talk to Nicholas next door?";
+ next;
+ mes "[Van Helmont]";
+ mes "I need to continue my research,";
+ mes "and you need to finish becoming an Alchemist. Come on, get moving!";
+ close;
+ }
+ else {
+ mes "Just a little...";
+ mes "A little bit more...";
+ mes "Nooo! Just a little";
+ mes "bit more and it";
+ mes "would've been done!";
+ next;
+ mes "[Van Helmont]";
+ mes "Why...?!";
+ mes "Why, another failure?!";
+ mes "My calculations were";
+ mes "all correct! Wait...";
+ next;
+ mes "[Van Helmont]";
+ mes "Perhaps, if I capacitated the thermal flux by using the neutronic gradient, it just might work...";
+ close;
+ }
+}
+
+alde_alche,101,184,4 script Master Alchemist#am 122,{
+ cutin "job_alche_vincent",2;
+ mes "[Vincent Carsciallo]";
+ if (Upper == 1) {
+ mes "You have transcended...";
+ mes "Excellent, excellent.";
+ next;
+ mes "[Vincent Carsciallo]";
+ mes "You don't belong here.";
+ mes "Go and explore the wide world, my friend.";
+ close2;
+ cutin "",255;
+ end;
+ }
+ if (BaseJob != Job_Merchant) {
+ if (BaseJob == Job_Alchemist) {
+ mes "Welcome!";
+ mes "So how is your";
+ mes "research coming along?";
+ next;
+ mes "[Vincent Carsciallo]";
+ mes "At times you get results that are unexpected from an experiment. Although these may be setbacks in your research, such results can also lead to new discoveries.";
+ next;
+ mes "[Vincent Carsciallo]";
+ mes "If you discover something new,";
+ mes "come and tell us. Don't forget that we are all working together to unlock the mysteries of science!";
+ }
+ else if (BaseClass == Job_Novice) {
+ mes "Hm...";
+ mes "A Novice?";
+ mes "You shouldn't be";
+ mes "playing in a place";
+ mes "like this.";
+ next;
+ mes "[Vincent Carsciallo]";
+ mes "There are a lot of volatile chemicals and dangerous";
+ mes "materials in this building. It'd be a lot better if you just played outside.";
+ }
+ else {
+ mes "Hmm...?";
+ mes "What's an adventurer";
+ mes "doing here in the";
+ mes "Alchemist Union?";
+ next;
+ mes "[Vincent Carsciallo]";
+ mes "I'm afraid there's";
+ mes "not much we can offer";
+ mes "you here if you're not";
+ mes "a member of our Union.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ }
+ if (ALCH_Q == 0) {
+ mes "Hmm...?";
+ mes "A Merchant?";
+ mes "Are you interested";
+ mes "in learning Alchemy?";
+ next;
+ mes "[Vincent Carsciallo]";
+ mes "This is the Alchemist Union.";
+ mes "We research and experiment with many different substances in order to create new materials without using magic.";
+ next;
+ mes "[Vincent Carsciallo]";
+ mes "Someday, we hope to unlock";
+ mes "the secret of life, as well as the other mysteries of science.";
+ next;
+ mes "[Vincent Carsciallo]";
+ mes "After being traveling as a Merchant for a long time, you must have developed some scientific curiosity. If you'd like to learn Alchemy, why don't you try joining the Alchemist Union?";
+ close2;
+ cutin "",255;
+ end;
+ }
+ else if (ALCH_Q == 40) {
+ if (JobLevel < 40) {
+ set ALCH_Q,0;
+ mes "Hmm...you don't seem to be qualified yet.";
+ mes "Remember, you must reach at least job level 40 to become an Alchemist.";
+ close2;
+ cutin "",255;
+ end;
+ }
+ if (SkillPoint) {
+ mes "Ah, you're almost";
+ mes "ready to become an";
+ mes "Alchemist, but you must";
+ mes "first allocate your unused";
+ mes "Skill Points.";
+ next;
+ mes "[Vincent Carsciallo]";
+ mes "Talk to me again";
+ mes "once you have spent";
+ mes "all of your extra";
+ mes "Skill Points.";
+ close2;
+ cutin "",255;
+ end;
+ }
+ if(checkquest(2039) != -1) {
+ changequest 2039,2040;
+ }
+ mes "Ah, well done.";
+ mes "I can see that you";
+ mes "have learned all of";
+ mes "the basics of Alchemy.";
+ next;
+ set ALCH_Q,0;
+ completequest 2040;
+ set .@jlevel,JobLevel;
+ callfunc "Job_Change",Job_Alchemist;
+ callfunc "F_ClearJobVar";
+ mes "[Vincent Carsciallo]";
+ mes "Henceforth, you are";
+ mes "now a member of our";
+ mes "illustrious Union.";
+ mes "I hope you learn a lot...";
+ next;
+
+ if (.@jlevel == 50) {
+ getitem 7133,1; //Slim_Potion_Create_Book
+ mes "[Vincent Carsciallo]";
+ mes "Let me give you";
+ mes "something special.";
+ mes "You can use this to";
+ mes "begin your life";
+ mes "of research.";
+ }
+ else {
+ switch(rand(1,6)) {
+ case 1:
+ getitem 7127,1; //Alcol_Create_Book
+ break;
+ case 2:
+ getitem 7128,1; //FireBottle_Create_Book
+ break;
+ case 3:
+ getitem 7129,1; //Acid_Create_Book
+ break;
+ case 4:
+ getitem 7130,1; //Plant_Create_Book
+ break;
+ case 5:
+ getitem 7131,1; //Mine_Create_Book
+ break;
+ case 6:
+ getitem 7144,1; //Normal_Potion_Book
+ }
+ mes "[Vincent Carsciallo]";
+ mes "And...";
+ mes "Here's a little";
+ mes "something to help";
+ mes "you begin your";
+ mes "research.";
+ }
+ next;
+ mes "[Vincent Carsciallo]";
+ mes "I'll see";
+ mes "you later then...";
+ mes "Remember to carry";
+ mes "yourself with pride";
+ mes "as an Alchemist!";
+ close2;
+ cutin "",255;
+ end;
+ }
+ else {
+ mes "Ah...";
+ mes "I believe you've";
+ mes "already registered";
+ mes "for training to become";
+ mes "an Alchemist.";
+ next;
+ mes "[Vincent Carsciallo]";
+ mes "Please listen to the";
+ mes "other Alchemists and follow their instructions carefully. You will learn much from them.";
+ close2;
+ cutin "",255;
+ end;
+ }
+}
+
+alde_alche,145,19,1 script Chief Researcher#am 57,{
+ if (checkweight(1201,1) == 0) {
+ mes "- Wait a minute! -";
+ mes "- Currently you are carrying -";
+ mes "- too many items with you. -";
+ mes "- Please come back again -";
+ mes "- after you store some items into kafra storage. -";
+ close;
+ }
+ if (ALCH_Q > 19 && ALCH_Q < 22) {
+ if (ALCH_Q == 20) {
+ mes "[Nicholas Flamel]";
+ mes "Ooh...";
+ mes "You're the upstart";
+ mes "Merchant that wants";
+ mes "to become an Alchemist?";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "Not just anyone can become an Alchemist, you know. You've got to have motivation and clear goals and a strong sense of focus.";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "Alchemists must memorize many chemical equations, scientific laws and a lot of other information. It's actually pretty tough.";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "If you can't focus, you'll be confused later when you look at Alchemy charts. My test will judge your ability to do just that.";
+ next;
+ }
+ mes "[Nicholas Flamel]";
+ mes "Find the words scrambled";
+ mes "in the group of letters I give you. They can be made by using some";
+ mes "or all of the letters.";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "You pass if you";
+ mes "choose the word";
+ mes "that is ^551A8BIN^000000 the puzzle.";
+ next;
+ switch(rand(1,3)) {
+ case 1:
+ mes "t m y a n y e o b n e g p r i";
+ next;
+ if (select("Brake:Brass:Bug:Broken:Brigan?") == 5) set .@alch_t,.@alch_t+10;
+ mes "o n c u t a p j l e r s v m u";
+ next;
+ if (select("vendor:storage:weapon:simple:streetshop") == 1) set .@alch_t,.@alch_t+10;
+ mes "t v a r m e g p h e u b o y l";
+ next;
+ if (select("molasses:party:leader:sweets:treacle") == 2) set .@alch_t,.@alch_t+10;
+ mes "q z a h n a i n b r d p t n c";
+ next;
+ if (select("partisan:partizan:pato:paros:pack") == 2) set .@alch_t,.@alch_t+10;
+ break;
+ case 2:
+ mes "m p d i c f a r o g n k w a s";
+ next;
+ if (select("packman:sunshine:ragnarok:wonderland:frost") == 1) set .@alch_t,.@alch_t+10;
+ mes "g b n o p r e f a r e t a s k";
+ next;
+ if (select("purple:smoker:ragnarok:bolt:burnt wood") == 3) set .@alch_t,.@alch_t+10;
+ mes "u g n i s j e k c e o g n d p";
+ next;
+ if (select("scab:kinship:donate:source:opening") == 5) set .@alch_t,.@alch_t+10;
+ mes "r o e h n r o m c a i n p t t";
+ next;
+ if (select("forgemerchant:potionmerchant:dcmerchant:vendingmerchant:battlemerchant") == 2) set .@alch_t,.@alch_t+10;
+ break;
+ case 3:
+ mes "s m i e x b w u n e t a g l r";
+ next;
+ if (select("tiger:wolf:pumpkin:tripped:tore") == 1) set .@alch_t,.@alch_t+10;
+ mes "n i e g b o p d s o a u w r v";
+ next;
+ if (select("bash:provoke:endure:stun:abracadabra") == 3) set .@alch_t,.@alch_t+10;
+ mes "l r m g r e x t a v i n e d e";
+ next;
+ if (select("alberta:latifoliate:crimson:maple:evergreen") == 5) set .@alch_t,.@alch_t+10;
+ mes "r o e h n r o m c a i n p t t";
+ next;
+ if (select("forgemerchant:potionmerchant:dcmerchant:vendingmerchant:battlemerchant") == 2) set .@alch_t,.@alch_t+10;
+ break;
+ }
+ mes "[Nicholas Flamel]";
+ mes "Ah, you finished.";
+ mes "Now, let's see...";
+ if (.@alch_t > 30) {
+ set ALCH_Q,22;
+ mes "Excellent job!";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "Great, you found all of those hidden words. With that kind of concentration, you should have no problem memorizing information.";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "Come back in a little bit while";
+ mes "I prepare the next assignment";
+ mes "for your training.";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "Oh, and before you talk to";
+ mes "me again, make sure you have";
+ mes "^551A8Bplenty of room in your inventory^000000.";
+ close;
+ }
+ else {
+ set ALCH_Q,21;
+ mes "^666666*Gasp!*^000000 H-horrible!";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "Judging from these results, you obviously have a problem with concentrating.";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "If you can't even solve these easy word puzzles, how can you keep track of your experiments and research?";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "Why don't you relax";
+ mes "and rest a bit before";
+ mes "you take the test again?";
+ close;
+
+ }
+ }
+ else if (ALCH_Q == 22) {
+ set .@now_weight,MaxWeight-Weight;
+ if (.@now_weight < 1370) {
+ mes "[Nicholas Flamel]";
+ mes "Whoa...";
+ mes "You're carrying too much stuff! First, put some of your things in Kafra Storage.";
+ close;
+ }
+ mes "[Nicholas Flamel]";
+ mes "Alright...";
+ mes "For your next";
+ mes "assignment, you'll";
+ mes "need to travel to ^551A8BJuno^000000.";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "There, you'll need to talk to ^551A8BBain^000000 and ^551A8BBajin^000000. Those two are doing Alchemy research with the Sages";
+ mes "in Juno. You'll learn something by assisting them with their project.";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "Come back here to me after you";
+ mes "help them out. They'll need all of these items to continue their experiments.";
+ next;
+ set ALCH_Q,23;
+ changequest 2037,2038;
+ mes "[Nicholas Flamel]";
+ mes "1 Mixture,";
+ mes "5 Burnt Tree,";
+ mes "5 Fine Sand,";
+ mes "3 Rough Oridecon";
+ mes "and 3 Rough Elunium.";
+ getitem 974,1; //Mixture
+ getitem 7068,5; //Burn_Tree
+ getitem 7043,5; //Fine_Sand
+ getitem 756,3; //Oridecon_Stone
+ getitem 757,3; //Elunium_Stone
+ next;
+ mes "[Nicholas Flamel]";
+ mes "Alright.";
+ mes "Have a safe trip";
+ mes "and come back in";
+ mes "one piece.";
+ close;
+ }
+ else if (ALCH_Q == 23) {
+ mes "[Nicholas Flamel]";
+ mes "Didn't I say to";
+ mes "go to Juno and help";
+ mes "Bain and Bajin with";
+ mes "their Alchemy research?";
+ close;
+ }
+ else if (ALCH_Q == 24) {
+ set ALCH_Q,40;
+ changequest 2038,2039;
+ mes "[Nicholas Flamel]";
+ mes "Ah, you're back!";
+ mes "I just got a message from Bain";
+ mes "and Bajin. They let me know that they were very happy with your assistance.";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "If you were good enough";
+ mes "to help out those brothers,";
+ mes "you definitely qualify to be";
+ mes "an Alchemist.";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "Good work!";
+ mes "All you have to do now is speak to the Union Leader on the 2nd floor! Congratulations, you'll become an Alchemist very soon!";
+ close;
+ }
+ else if (ALCH_Q == 40 && BaseJob == Job_Merchant) {
+ mes "[Nicholas Flamel]";
+ mes "All you have to do now is speak to the Union Leader on the 2nd floor! Congratulations, you'll become an Alchemist very soon!";
+ close;
+ }
+ else {
+ mes "[Nicholas Flamel]";
+ mes "Lorem ipsum dolor sit amet,";
+ mes "consectetuer adipiscing elit.";
+ mes "Vivamus sem. Sed metus";
+ mes "lacus, viverra id, rutrum eget,";
+ mes "rhoncus sit amet, lectus.";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "Suspendisse sit amet urna in";
+ mes "nisl fringilla faucibus. Nulla scelerisque eros...";
+ mes "^666666*Mumble Mumble*^000000";
+ close;
+ }
+}
+
+//============================================================
+// Old changelog
+//============================================================
+//= v1.0 Working.
+//= npc/quests/counteragent_mixture.txt Also Needed
+//= npc/quests/quests_yuno.txt Also Needed [Darkchild]
+//= v1.1 Fixed some minor bugs. Optimized some lines. Re-organized the script a bit.
+//= Giving Parmry NPC, Hammer and Old Book now waves the 50000 fee. (based of mRO website)
+//= Having a joblvl of 50 allows you to skip Rasputin's test. (based of mRO website) [kobra_k88]
+//= 1.2 fixed a few typos (have to hunt more) [Lupus]
+//= 1.3 Added Baby Class Support [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.6a fixed some wrong answers, thanks to zlider for info [Lupus]
+//= 2.0 Changed numbers to constants. [Vicious]
+//= 2.2 Got rid of 'al_morgen' var. Now uses (MISC_QUEST & 4) [Lupus]
+//= 2.3 Optimized, changed job numbers to constants. Fixed some spelling [Lupus]
+//= 2.4 Added alternative prizes according to JobLevel [Lupus]
+//= 2.4a Fixed 2 wrong answers in Rasputin's test [Lupus]
diff --git a/npc/jobs/2-2/bard.txt b/npc/jobs/2-2/bard.txt
new file mode 100644
index 000000000..a4b158ec8
--- /dev/null
+++ b/npc/jobs/2-2/bard.txt
@@ -0,0 +1,951 @@
+//===== rAthena Script =======================================
+//= Bard Job Quest
+//===== By: ==================================================
+//= Muad_Dib(The Prometheus Project), Lupus, Samuray22
+//===== Current Version: =====================================
+//= 2.6
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= [Aegis Conversion]
+//= Job quest for Bard class
+//===== Additional Comments: =================================
+//= 2.1b Updated to the Official One. [Samuray22]
+//= 2.2 Fixed BUG when baby classes weren't able to get a job,
+//= - fixed bug with final prize [Lupus] HAVE TO CHANE ALL ITEMS to numeric IDs
+//= 2.3 Updated NPC dialogs and cutins using Aegis 10.3 files. [L0ne_W0lf]
+//= - Fixed error with the present checking. (Lupus beat me to committing)
+//= - Changed the reward checking to use callsub (fixed the flow of the script)
+//= - Optimized and changed the flow of things slightly.
+//= - Temporary character variables "@" are now ".@"
+//= - Fixed some indentation.
+//= - Changed item names to item IDs
+//= 2.4 Fixed hang up on bard quest. ($kiN.) [L0ne_W0lf]
+//= 2.5 Added Quest Log commands. [Kisuka]
+//= 2.6 Removed the need for use of 'goto.' [L0ne_W0lf]
+//============================================================
+
+//=============== Ayealo ============================
+comodo,226,123,5 script Wandering Bard 741,{
+ if(Upper == 1) {
+ mes "[Lalo]";
+ mes "Chosen ones who are destined to become Gods";
+ mes "are so many in this era";
+ mes "but they never realise their fate while alive.";
+ mes "They end up to become ordinary men...";
+ next;
+ mes "[Lalo]";
+ mes "Wind and Clouds, please send this message to them,";
+ mes "who pursue food, clothing, shelter and wealth.";
+ mes "Tell them they are wasting their time...";
+ mes "Tell them they forget the most important goal of the life...";
+ close2;
+ cutin "job_bard_aiolo01",255;
+ end;
+ }
+ else if(BaseJob != Job_Archer) {
+ if(BaseJob == Job_Bard) {
+ mes "[Lalo]";
+ mes "Ooh hey! How's your singing these days?";
+ mes "I wonder if your voice got any better.";
+ next;
+ mes "[Lalo]";
+ mes "You don't forget to spread good news in each town, right?";
+ mes "And don't forget to learn new songs, too...";
+ next;
+ mes "[Lalo]";
+ mes "Never forget to have a positive attitude and the meaning of joy.";
+ mes "Our songs are supposed to deliver happiness and joy to everyone.";
+ }
+ else if(Class == Job_Novice) {
+ cutin "job_bard_aiolo01",2;
+ mes "[Lalo]";
+ mes "The sadness that overcomes my heart.. ";
+ mes "It will not reside..";
+ mes "Is this the reason behind my troubles,";
+ mes "is this why I am weak,";
+ mes "This must be why I cannot seem to forget you...";
+ next;
+ mes "[Lalo]";
+ mes "Oh, sorry. I didn't see you because I was concentrating on writing some lyrics.";
+ mes "Do you want to listen to my songs? Shall I sing a song for you?";
+ next;
+ mes "[Lalo]";
+ mes "Heh... try asking someone else.";
+ mes "I'm trying to compose a new song.";
+ }
+ else {
+ cutin "job_bard_aiolo01",2;
+ mes "[Lalo]";
+ mes "Lalala, lalala. Beautiful Comodo.";
+ mes "Always full of happy moments~";
+ next;
+ mes "[Lalo]";
+ if (sex) {
+ mes "Forget about your worries~";
+ mes "And enjoy everything~";
+ }
+ else mes "Cute lady, shall we dance~";
+ mes "Youth never repeats itself~";
+ }
+ close2;
+ cutin "job_bard_aiolo01",255;
+ end;
+ }
+ else if(BARD_Q == 0) {
+ cutin "job_bard_aiolo01",2;
+ mes "[Lalo]";
+ if (sex) mes "Hi! Delightful Archer.";
+ else mes "Hello! Beautiful Archer Lady.";
+ mes "How can a wanderer like me help you?";
+ next;
+ switch(select("You have a nice voice.:Could you sing for me, please?:Nothing.")) {
+ case 1:
+ mes "[Lalo]";
+ mes "Hahaha! Of course!";
+ mes "if you sing with a happy heart, your voice always gets better.";
+ next;
+ mes "[Lalo]";
+ mes "But, to Bards your voice is your life.";
+ mes "Sometimes your voice will go, but you must be careful.";
+ break;
+
+ case 2:
+ mes "[Lalo]";
+ mes "A song... let's see.";
+ mes "Ok, I got one...";
+ next;
+ mes "[Lalo]";
+ mes "I'll sing.. Drums of War.";
+ mes "*ehem...*cough...gag..mememememe...";
+ mes "1, 2, 3, 4...";
+ next;
+ mes "^000088The sound of horses galloping over the horizon";
+ mes "The dust that covers the distant sun";
+ mes "When thousands of eyes open in the night sky";
+ mes "The castle's fire will burn with power.^000000";
+ next;
+ mes "^000088I can hear.. the beating of my heart.";
+ mes "I can feel.. the blood rushing through my veins.";
+ mes ".. and the weight of my armor.";
+ mes "I can see.. my enemies.^000000";
+ next;
+ mes "^000088Louder, louder louder..";
+ mes "Give strength to the warriors!";
+ mes "Higher, higher, higher..";
+ mes "This day will never come again!^000000";
+ next;
+ mes "^000088Shake the sky and roar through the land.";
+ mes "Make my heart pound again!";
+ mes "Let the trumpets sound, and castle walls ring.";
+ mes "This moment will never come again!^000000";
+ next;
+ mes "[Lalo]";
+ mes "Hmm... that's always a good song to sing.";
+ mes "How was it? Don't you think it's a nice song?";
+ next;
+ if (select("Yes, it was very nice.:No, not really...") == 1) {
+ mes "[Lalo]";
+ mes "Thanks! if you enjoyed my song, it makes me happy, too.";
+ next;
+ if (Sex == 1 && JobLevel > 39) {
+ mes "[Lalo]";
+ mes "It would be nice if more people went around and sang...";
+ mes "Well, it's quite ok as it is now... hmmhmm.";
+ set BARD_Q,1;
+ setquest 3000;
+ close2;
+ cutin "job_bard_aiolo01",255;
+ end;
+ }
+ mes "[Lalo]";
+ mes "if you ever want to hear my song again, just ask.";
+ close2;
+ cutin "job_bard_aiolo01",255;
+ end;
+ }
+ cutin "job_bard_aiolo02",2;
+ mes "[Lalo]";
+ mes "Hmm... Did I lose my senses, I'll have to try harder.";
+ mes "Anyways.. Thanks for listening.";
+ break;
+
+ case 3:
+ cutin "job_bard_aiolo02",2;
+ mes "[Lalo]";
+ mes "Oy, not requesting a song when you run into a Bard isn't very polite.";
+ mes "Well... can't help it since you look like you're in a hurry anyways.";
+ next;
+ mes "[Lalo]";
+ mes "Hunting is good... but you can't forget to relax once in a while.";
+ mes "Youth is short and won't come again once it passes by..";
+ break;
+ }
+ close2;
+ cutin "job_bard_aiolo02",255;
+ end;
+ }
+ else if(BARD_Q == 1) {
+ cutin "job_bard_aiolo01",2;
+ mes "[Lalo]";
+ mes "Hey there Archer fellow.";
+ mes "How can a wanderer like me help you?";
+ next;
+ switch(select("You have a nice voice.:Could you sing for me, please?:Nothing.")) {
+ case 1:
+ mes "[Lalo]";
+ mes "Hoho, your voice is rather nice as well?";
+ mes "Ever think about singing?";
+ next;
+ if (select("Of course!:I can't quite possibly...") == 1) {
+ mes "[Lalo]";
+ mes "Haha, nice attitude. You have to be like that to become a Bard.";
+ mes "I'll help you become a Bard then.";
+ next;
+ mes "[Lalo]";
+ mes "But before that... do you think you can bring me a Flower?";
+ mes "I need to smell the scent of a Flower to feel like teaching.";
+ next;
+ mes "[Lalo]";
+ mes "It doesn't really matter which Flower, but try to bring one that I like.";
+ mes "And don't just buy any random Flower, ok?";
+ set BARD_Q,2;
+ changequest 3000,3001;
+ close2;
+ cutin "job_bard_aiolo01",255;
+ end;
+ }
+ mes "[Lalo]";
+ mes "Haha, what a timid one.";
+ mes "Don't think so little of yourself.";
+ next;
+ mes "[Lalo]";
+ mes "You have plenty of talent.";
+ mes "Come again if you change your mind.";
+ break;
+
+ case 2:
+ mes "[Lalo]";
+ mes "Hmm... seems like you have some singing talents?";
+ mes "Don't just request songs.. singing to others is quite fun, too.";
+ next;
+ mes "[Lalo]";
+ mes "Try enjoying your life as a Bard.";
+ mes "You go from town to town, singing to the people. Doesn't it sound great?";
+ break;
+
+ case 3:
+ mes "[Lalo]";
+ mes "Hmm... I'm not sure what's what, but enjoy life.";
+ mes "You look too uptight.";
+ next;
+ mes "[Lalo]";
+ mes "Well then~ Have a great time~";
+ break;
+ }
+ close2;
+ cutin "job_bard_aiolo01",255;
+ end;
+ }
+ else if(BARD_Q == 2) {
+ cutin "job_bard_aiolo01",2;
+ mes "[Lalo]";
+ mes "Welcome! Archer friend.";
+ mes "Did you bring a Flower? Let me see.";
+ next;
+ mes "[Lalo]";
+ //Good Flowers
+ if (countitem(629) > 0) {
+ mes "Ooh! It's a Singing Flower!";
+ mes "It's full of my memories...";
+ next;
+ delitem 629,1; //Singing Flower
+ mes "[Lalo]";
+ mes "My friend Tchaikovsky used to like it.";
+ mes "I wonder what he's doing now...";
+ }
+ else if(countitem(703) > 0) {
+ mes "Aah... the cute Hinelle...";
+ mes "It doesn't have a scent but it's a very moderate cute flower.";
+ next;
+ delitem 703,1; //Hinalle
+ mes "[Lalo]";
+ mes "The leaves gave me strength when I used to fall.";
+ mes "I really like this flower, thank you.";
+ }
+ else if(countitem(704) > 0) {
+ mes "Aloe... This is a rare flower.";
+ mes "How'd you get it? Rather skilled, eh?";
+ next;
+ delitem 704,1; //Aloe
+ mes "[Lalo]";
+ mes "The leaves are good and Aloe Vera is delicious, too..";
+ mes "but it's defnitely the most beautiful when it's a flower.";
+ }
+ else if(countitem(708) > 0) {
+ mes "Ment... You can forget about all your hardships with one of these.";
+ mes "Nice to see it in such a long time!";
+ next;
+ delitem 708,1; //Ment
+ mes "[Lalo]";
+ mes "I heard you can make Anodyne with it...";
+ mes "But that would be a slight waste.. thanks!";
+ }
+ else if(countitem(709) > 0) {
+ mes "Ooh, isn't this an Izidor?";
+ mes "It's a dangerous yet beautiful flower...";
+ next;
+ delitem 709,1; //Izidor
+ mes "[Lalo]";
+ mes "The deep purple charms a person.. ";
+ mes "Thank you, I really like this flower.";
+ }
+ else if(countitem(748) > 0) {
+ mes "Ooh, a Witherless Rose. The strong flower that doesn't wither.";
+ mes "Great to give to a girlfriend.";
+ next;
+ delitem 748,1; //Witherless_Rose
+ mes "[Lalo]";
+ mes "I wonder if it would be ok for a wanderer like me to accept it.";
+ mes "Haha, it should be ok.. right?";
+ }
+ else if(countitem(749) > 0 ) {
+ mes "Frozen Rose... you can't really call this a flower,";
+ mes "But it is still beautiful... a clear Rose.";
+ next;
+ delitem 749,1; //Frozen_Rose
+ mes "[Lalo]";
+ mes "You can call it a flower even though it doesn't have a scent anymore.";
+ mes "Then I'll greatly take this.";
+ }
+ else if(countitem(710) > 0) {
+ mes "Oh, isn't this an Illusion Flower!?";
+ mes "Wow, how did you obtain such a rare flower!!";
+ next;
+ delitem 710,1; //Illusion_Flower
+ mes "[Lalo]";
+ mes "Than you very much, aah... I feel like heaven is in front of my eyes.";
+ mes "What a wonderful feeling! I'm really happy!";
+ }
+ //Bad Flowers
+ else if(countitem(712) > 0) {
+ cutin "job_bard_aiolo02",2;
+ mes "Eh? This is just a normal flower.";
+ mes "I like it... but it's not enough.";
+ next;
+ mes "[Lalo]";
+ mes "You can get this flower from the girl in Prontera.";
+ mes "Please bring me a different flower.";
+ close2;
+ cutin "job_bard_aiolo02",255;
+ end;
+ }
+ else if(countitem(744) > 0) {
+ mes "Oh no, you brought a Bouquet?";
+ mes "You can't bring me something like this.";
+ next;
+ mes "[Lalo]";
+ mes "Go give this to a graduating Sage or something.";
+ mes "Since it's great as that kind of gift... Bring a different flower.";
+ close2;
+ cutin "job_bard_aiolo01",255;
+ end;
+ }
+ else if(countitem(745) > 0) {
+ cutin "job_bard_aiolo02",2;
+ mes "Oy oy... did you go to a wedding or something?";
+ mes "What do you expect a guy to do with a Wedding Bouquet?";
+ next;
+ mes "[Lalo]";
+ mes "It's not me. Go give it to a lady or something.";
+ mes "This isn't the type of flower I wanted.";
+ close2;
+ cutin "job_bard_aiolo02",255;
+ end;
+ }
+ else if(countitem(2207) > 0) {
+ mes "Mmm... a Fancy Flower.";
+ mes "It's nice... but this isn't good enough.";
+ next;
+ mes "[Lalo]";
+ mes "I like flowers that have a scent and are beautiful.";
+ mes "I don't like fake flowers that go on top of heads.";
+ close2;
+ cutin "job_bard_aiolo01",255;
+ end;
+ }
+ else if(countitem(1032) > 0) {
+ cutin "job_bard_aiolo02",2;
+ mes "...Agh, why'd you bring such a hideous thing?";
+ mes "Are you thinking at all?";
+ next;
+ mes "[Lalo]";
+ mes "if you were trying to be funny, it was a good attempt...";
+ mes "but bring a normal flower now.";
+ close2;
+ cutin "job_bard_aiolo02",255;
+ end;
+ }
+ else {
+ cutin "job_bard_aiolo02",2;
+ mes "Hmm? What... you didnt' bring anything.";
+ mes "Didn't I ask you to bring a flower?";
+ next;
+ mes "[Lalo]";
+ mes "Well... if you want to learn on your own, then so be it.";
+ mes "Anyone can just go out and sing.";
+ close2;
+ cutin "job_bard_aiolo02",255;
+ end;
+ }
+ next;
+ cutin "job_bard_aiolo01",2;
+ mes "[Lalo]";
+ mes "As I promised, I'll help you become a Bard.";
+ mes "But it's not easy my friend. Haha!";
+ next;
+ mes "[Lalo]";
+ mes "It is important to get to know a lot of people to learn how to sing.";
+ mes "You must also keep up with all the things going on in different villages...";
+ next;
+ mes "[Lalo]";
+ mes "There's a talking snowman in a town called Lutie.";
+ mes "Go there and bring back a present.";
+ next;
+ set BARD_Q,3;
+ changequest 3001,3002;
+ set xmas_npc,1;
+ mes "[Lalo]";
+ mes "if you become friends with ^008800Jack Frost^000000, you will receive something.";
+ mes "And also talk to the townspeople while you're at it...";
+ close2;
+ cutin "job_bard_aiolo01",255;
+ end;
+ }
+ else if ((BARD_Q >= 3) || (BARD_Q <= 5)) {
+ if (BARD_Q == 3) {
+ if(xmas_npc > 10) { //this var is set in LUTIE.TXT
+ cutin "job_bard_aiolo01",2;
+ mes "[Lalo]";
+ mes "How was the trip? Did you meet a lot of people?";
+ mes "You should have been able to learn something more important than a gift.";
+ next;
+ mes "[Lalo]";
+ mes "Then, do you want to try singing...?";
+ mes "I'll sing a short melody...";
+ mes "and you try after.";
+ if(checkquest(3003) == -1) {
+ changequest 3002,3003;
+ }
+ next;
+ mes "[Lalo]";
+ mes "Here I go.";
+ mes "Ehem *clears throat*";
+ mes "1, 2, 3, 4";
+ next;
+ }
+ else {
+ cutin "job_bard_aiolo01",2;
+ set xmas_npc,1;
+ mes "[Lalo]";
+ mes "Eh, you still haven't become his friend?";
+ mes "Talking will not be enough.";
+ next;
+ mes "[Lalo]";
+ mes "if you become friends with ^008800Jack Frost^000000, you will receive something.";
+ mes "And talk with the village people, too...";
+ close2;
+ cutin "job_bard_aiolo01",255;
+ end;
+ }
+ }
+ else if (BARD_Q == 4) {
+ cutin "job_bard_aiolo01",2;
+ mes "[Lalo]";
+ mes "Hmm... this time you can do better, right?";
+ mes "Let's try again, you can do it.";
+ next;
+ mes "[Lalo]";
+ mes "I'll sing one part...";
+ mes "and you try it after.";
+ next;
+ mes "[Lalo]";
+ mes "Here we go.";
+ mes "*Ehem*";
+ mes "1, 2, 3, 4";
+ next;
+ }
+ if (BARD_Q != 5) {
+ set .@bard_s, rand(1,5);
+ if (.@bard_s == 1) {
+ mes "^3377FFThere was a man^000000";
+ mes "who was said to be immortal.";
+ mes "His name Jichfreid,";
+ mes "Son of the hero Jichmunt.";
+ mes "The evil giant Papner,";
+ mes "Turned into a dragon and ate him.";
+ next;
+ input .@Song$;
+ if (.@Song$ != "There was a man")
+ set .@w_point,.@w_point+1;
+
+ mes "^3377FFThere was a man";
+ mes "who was said to be immortal.^000000";
+ mes "His name Jichfreid,";
+ mes "Son of the hero Jichmunt.";
+ mes "The evil giant Papner,";
+ mes "Turned into a dragon and ate him.";
+ next;
+ input .@Song$;
+ if (.@Song$ != "who was said to be immortal.")
+ set .@w_point,.@w_point+1;
+
+ mes "^3377FFThere was a man";
+ mes "who was said to be immortal.";
+ mes "His name Jichfreid,^000000";
+ mes "Son of the hero Jichmunt.";
+ mes "The evil giant Papner,";
+ mes "Turned into a dragon and ate him.";
+ next;
+ input .@Song$;
+ if (.@Song$ != "His name Jichfreid,")
+ set .@w_point,.@w_point+1;
+
+ mes "^3377FFThere was a man";
+ mes "who was said to be immortal.";
+ mes "His name Jichfreid,";
+ mes "Son of the hero Jichmunt.^000000";
+ mes "The evil giant Papner,";
+ mes "Turned into a dragon and ate him.";
+ next;
+ input .@Song$;
+ if (.@Song$ != "Son of the hero Jichmunt.")
+ set .@w_point,.@w_point+1;
+
+ mes "^3377FFThere was a man";
+ mes "who was said to be immortal.";
+ mes "His name Jichfreid,";
+ mes "Son of the hero Jichmunt.";
+ mes "The evil giant Papner,^000000";
+ mes "Turned into a dragon and ate him.";
+ next;
+ input .@Song$;
+ if (.@Song$ != "The evil giant Papner,")
+ set .@w_point,.@w_point+1;
+
+ mes "^3377FFThere was a man";
+ mes "who was said to be immortal.";
+ mes "His name Jichfreid,";
+ mes "Son of the hero Jichmunt.";
+ mes "The evil giant Papner,";
+ mes "Turned into a dragon and ate him.^000000";
+ next;
+ input .@Song$;
+ if (.@Song$ != "Turned into a dragon and ate him.")
+ set .@w_point,.@w_point+1;
+ }
+ else if (.@bard_s == 2) {
+ mes "^3377FFA Merchant without money or equipment,^000000";
+ mes "a Merchant that couldn't sell anything.";
+ mes "But he was too proud to beg.";
+ mes "So he gathered some money selling items.";
+ mes "At first he only sold Red Potions.";
+ mes "Some say he sold Sweet Potatoes, too.";
+ next;
+ input .@Song$;
+ if (.@Song$ != "A Merchant without money or equipment,")
+ set .@w_point,.@w_point+1;
+
+ mes "^3377FFA Merchant without money or equipment,";
+ mes "a Merchant that couldn't sell anything.^000000";
+ mes "But he was too proud to beg.";
+ mes "So he gathered some money selling items.";
+ mes "At first he only sold Red Potions.";
+ mes "Some say he sold Sweet Potatoes, too.";
+ next;
+ input .@Song$;
+ if (.@Song$ != "a Merchant that couldn't sell anything.")
+ set .@w_point,.@w_point+1;
+
+ mes "^3377FFA Merchant without money or equipment,";
+ mes "a Merchant that couldn't sell anything.";
+ mes "But he was too proud to beg.^000000";
+ mes "So he gathered some money selling items.";
+ mes "At first he only sold Red Potions.";
+ mes "Some say he sold Sweet Potatoes, too.";
+ next;
+ input .@Song$;
+ if (.@Song$ != "But he was too proud to beg.")
+ set .@w_point,.@w_point+1;
+
+ mes "^3377FFA Merchant without money or equipment,";
+ mes "a Merchant that couldn't sell anything.";
+ mes "But he was too proud to beg.";
+ mes "So he gathered some money selling items.^000000";
+ mes "At first he only sold Red Potions.";
+ mes "Some say he sold Sweet Potatoes, too.";
+ next;
+ input .@Song$;
+ if (.@Song$ != "So he gathered some money selling items.")
+ set .@w_point,.@w_point+1;
+
+ mes "^3377FFA Merchant without money or equipment,";
+ mes "a Merchant that couldn't sell anything.";
+ mes "But he was too proud to beg.";
+ mes "So he gathered some money selling items.";
+ mes "At first he only sold Red Potions.^000000";
+ mes "Some say he sold Sweet Potatoes, too.";
+ next;
+ input .@Song$;
+ if (.@Song$ != "At first he only sold Red Potions.")
+ set .@w_point,.@w_point+1;
+
+ mes "^3377FFA Merchant without money or equipment,";
+ mes "a Merchant that couldn't sell anything.";
+ mes "But he was too proud to beg.";
+ mes "So he gathered some money selling items.";
+ mes "At first he only sold Red Potions.";
+ mes "Some say he sold Sweet Potatoes, too.^000000";
+ next;
+ input .@Song$;
+ if (.@Song$ != "Some say he sold Sweet Potatoes, too.")
+ set .@w_point,.@w_point+1;
+ }
+ else if (.@bard_s == 3) {
+ mes "^3377FFAll Gods never age.^000000";
+ mes "The ever so Beautiful Goddess Eden,";
+ mes "Beautiful and graceful Goddess Eden,";
+ mes "Odin's daughter-in-law and Bragi's wife.";
+ mes "Her sweet apples in her basket,";
+ mes "All thanks to her sweet apples.";
+ next;
+ input .@Song$;
+ if (.@Song$ != "All Gods never age.")
+ set .@w_point,.@w_point+1;
+
+ mes "^3377FFAll Gods never age.";
+ mes "The ever so Beautiful Goddess Eden,^000000";
+ mes "Beautiful and graceful Goddess Eden,";
+ mes "Odin's daughter-in-law and Bragi's wife.";
+ mes "Her sweet apples in her basket,";
+ mes "All thanks to her sweet apples.";
+ next;
+ input .@Song$;
+ if (.@Song$ != "The ever so Beautiful Goddess Eden,")
+ set .@w_point,.@w_point+1;
+
+ mes "^3377FFAll Gods never age.";
+ mes "The ever so Beautiful Goddess Eden,";
+ mes "Beautiful and graceful Goddess Eden,^000000";
+ mes "Odin's daughter-in-law and Bragi's wife.";
+ mes "Her sweet apples in her basket,";
+ mes "All thanks to her sweet apples.";
+ next;
+ input .@Song$;
+ if (.@Song$ != "Beautiful and graceful Goddess Eden,")
+ set .@w_point,.@w_point+1;
+
+ mes "^3377FFAll Gods never age.";
+ mes "The ever so Beautiful Goddess Eden,";
+ mes "Beautiful and graceful Goddess Eden,";
+ mes "Odin's daughter-in-law and Bragi's wife.^000000";
+ mes "Her sweet apples in her basket,";
+ mes "All thanks to her sweet apples.";
+ next;
+ input .@Song$;
+ if (.@Song$ != "Odin's daughter-in-law and Bragi's wife.")
+ set .@w_point,.@w_point+1;
+
+ mes "^3377FFAll Gods never age.";
+ mes "The ever so Beautiful Goddess Eden,";
+ mes "Beautiful and graceful Goddess Eden,";
+ mes "Odin's daughter-in-law and Bragi's wife.";
+ mes "Her sweet apples in her basket,^000000";
+ mes "All thanks to her sweet apples.";
+ next;
+ input .@Song$;
+ if (.@Song$ != "Her sweet apples in her basket,")
+ set .@w_point,.@w_point+1;
+
+ mes "^3377FFAll Gods never age.";
+ mes "The ever so Beautiful Goddess Eden,";
+ mes "Beautiful and graceful Goddess Eden,";
+ mes "Odin's daughter-in-law and Bragi's wife.";
+ mes "Her sweet apples in her basket,";
+ mes "All thanks to her sweet apples.^000000";
+ next;
+ input .@Song$;
+ if (.@Song$ != "All thanks to her sweet apples.")
+ set .@w_point,.@w_point+1;
+ }
+ else if (.@bard_s == 4) {
+ mes "^3377FFBragi, Bragi,^000000";
+ mes "Forever call the poets name.";
+ mes "My songs are his breath,";
+ mes "My mind is his will,";
+ mes "All wandering poets are his people,";
+ mes "And all praise shall go to him.";
+ next;
+ input .@Song$;
+ if (.@Song$ != "Bragi, Bragi,")
+ set .@w_point,.@w_point+1;
+
+ mes "^3377FFBragi, Bragi,";
+ mes "Forever call the poets name.^000000";
+ mes "My songs are his breath,";
+ mes "My mind is his will,";
+ mes "All wandering poets are his people,";
+ mes "And all praise shall go to him.";
+ next;
+ input .@Song$;
+ if (.@Song$ != "Forever call the poets name.")
+ set .@w_point,.@w_point+1;
+
+ mes "^3377FFBragi, Bragi,";
+ mes "Forever call the poets name.";
+ mes "My songs are his breath,^000000";
+ mes "My mind is his will,";
+ mes "All wandering poets are his people,";
+ mes "And all praise shall go to him.";
+ next;
+ input .@Song$;
+ if (.@Song$ != "My songs are his breath,")
+ set .@w_point,.@w_point+1;
+
+ mes "^3377FFBragi, Bragi,";
+ mes "Forever call the poets name.";
+ mes "My songs are his breath,";
+ mes "My mind is his will,^000000";
+ mes "All wandering poets are his people,";
+ mes "And all praise shall go to him.";
+ next;
+ input .@Song$;
+ if (.@Song$ != "My mind is his will,")
+ set .@w_point,.@w_point+1;
+
+ mes "^3377FFBragi, Bragi,";
+ mes "Forever call the poets name.";
+ mes "My songs are his breath,";
+ mes "My mind is his will,";
+ mes "All wandering poets are his people,^000000";
+ mes "And all praise shall go to him.";
+ next;
+ input .@Song$;
+ if (.@Song$ != "All wandering poets are his people,")
+ set .@w_point,.@w_point+1;
+
+ mes "^3377FFBragi, Bragi,";
+ mes "Forever call the poets name.";
+ mes "My songs are his breath,";
+ mes "My mind is his will,";
+ mes "All wandering poets are his people,";
+ mes "And all praise shall go to him.^000000";
+ next;
+ input .@Song$;
+ if (.@Song$ != "And all praise shall go to him.")
+ set .@w_point,.@w_point+1;
+ }
+ else {
+ mes "^3377FFLouder, louder, louder.^000000";
+ mes "Give strength to the warriors!";
+ mes "Shake the sky and roar through the land.";
+ mes "Make my heart pound again!";
+ mes "Let the castle walls ring.";
+ mes "This day will never come again!";
+ next;
+ input .@Song$;
+ if (.@Song$ != "Louder, louder, louder.")
+ set .@w_point,.@w_point+1;
+
+ mes "^3377FFLouder, louder, louder.";
+ mes "Give strength to the warriors!^000000";
+ mes "Shake the sky and roar through the land.";
+ mes "Make my heart pound again!";
+ mes "Let the castle walls ring.";
+ mes "This day will never come again!";
+ next;
+ input .@Song$;
+ if (.@Song$ != "Give strength to the warriors!")
+ set .@w_point,.@w_point+1;
+
+ mes "^3377FFLouder, louder, louder.";
+ mes "Give strength to the warriors!";
+ mes "Shake the sky and roar through the land.^000000";
+ mes "Make my heart pound again!";
+ mes "Let the castle walls ring.";
+ mes "This day will never come again!";
+ next;
+ input .@Song$;
+ if (.@Song$ != "Shake the sky and roar through the land.")
+ set .@w_point,.@w_point+1;
+
+ mes "^3377FFLouder, louder, louder.";
+ mes "Give strength to the warriors!";
+ mes "Shake the sky and roar through the land.";
+ mes "Make my heart pound again!^000000";
+ mes "Let the castle walls ring.";
+ mes "This day will never come again!";
+ next;
+ input .@Song$;
+ if (.@Song$ != "Make my heart pound again!")
+ set .@w_point,.@w_point+1;
+
+ mes "^3377FFLouder, louder, louder.";
+ mes "Give strength to the warriors!";
+ mes "Shake the sky and roar through the land.";
+ mes "Make my heart pound again!";
+ mes "Let the castle walls ring.^000000";
+ mes "This day will never come again!";
+ next;
+ input .@Song$;
+ if (.@Song$ != "Let the castle walls ring.")
+ set .@w_point,.@w_point+1;
+
+ mes "^3377FFLouder, louder, louder.";
+ mes "Give strength to the warriors!";
+ mes "Shake the sky and roar through the land.";
+ mes "Make my heart pound again!";
+ mes "Let the castle walls ring.";
+ mes "This day will never come again!^000000";
+ next;
+ input .@Song$;
+ if (.@Song$ != "This day will never come again!")
+ set .@w_point,.@w_point+1;
+ }
+
+ if (.@w_point) {
+ cutin "job_bard_aiolo02",2;
+ mes "[Lalo]";
+ mes "Oy, You got the lyrics wrong!";
+ mes "Can't you even sing along..?";
+ next;
+ mes "[Lalo]";
+ mes "Your pronunciation is very unclear.";
+ mes "Do a better job next time.";
+ close2;
+ cutin "job_bard_aiolo02",255;
+ end;
+ }
+ mes "[Lalo]";
+ mes "..........";
+ next;
+ set BARD_Q,5;
+ mes "[Lalo]";
+ mes "Wonderful! Finished it in one try!";
+ mes "You can become a great Bard. ";
+ next;
+ mes "[Lalo]";
+ mes "Mmm... So you will not become a Bard.";
+ mes "But I want to give you a souvenir...";
+ next;
+ mes "[Lalo]";
+ mes "Do you want to just change jobs now?";
+ mes "Or do you want a present.";
+ next;
+ set .@selection,select("Just change my job please.:I'd be thankful for a present.");
+ }
+ if ((.@selection == 1) || (BARD_Q == 5)) {
+ if(SkillPoint) {
+ cutin "job_bard_aiolo01",2;
+ mes "[Lalo]";
+ mes "Ah... Everything is good, but you still have some skill points left.";
+ mes "Go learn the rest of the skills and come back.";
+ next;
+ mes "[Lalo]";
+ mes "And I am going to give you a small present...";
+ mes "So bring some trunks.";
+ mes "It doesn't matter what kind, as long as they are 60 of the same kind...";
+ close2;
+ cutin "job_bard_aiolo01",255;
+ end;
+ }
+ else {
+ switch(BARD_Q) {
+ case 5:
+ if(countitem(1019) > 59) callsub S_ChangeJob,1019,1901;
+ else if(countitem(1068) > 59) callsub S_ChangeJob,1068,1903;
+ else if(countitem(1067) > 59) callsub S_ChangeJob,1067,1903;
+ else if(countitem(1066) > 59) {
+ if(JobLevel > 49) callsub S_ChangeJob,1066,1910;
+ else callsub S_ChangeJob,1066,1905;
+ }
+ cutin "job_bard_aiolo01",2;
+ mes "[Lalo]";
+ mes "Mmm? Seems like you haven't prepared all trunks the yet? ";
+ mes "Do you want to just change jobs anyways?";
+ next;
+ if (select("Yes, just change my job already.:No, I'll go prepare them.") == 2)
+ break;
+ default:
+ completequest 3003;
+ callfunc "Job_Change",Job_Bard;
+ callfunc "F_ClearJobVar"; //clears all job variables for the current player
+ mes "[Lalo]";
+ mes "Very well! Hope you sing happy enjoyable songs.";
+ mes "Live like the wind and the clouds!";
+ next;
+ mes "[Lalo]";
+ mes "See you again next time!";
+ close2;
+ cutin "job_bard_aiolo01",255;
+ end;
+ }
+ }
+ }
+ changequest 3003,3004;
+ mes "[Lalo]";
+ mes "Hmm... very well, bring some trunks.";
+ mes "It doesn't matter what kind, as long as they are 60 of the same kind...";
+ next;
+ mes "[Lalo]";
+ mes "I will give you a gift once you bring them.";
+ mes "Have a safe trip.";
+ close2;
+ cutin "job_bard_aiolo01",255;
+ end;
+ }
+ cutin "job_bard_aiolo01",2;
+ mes "[Lalo]";
+ mes "Whee~ whee~ whee~";
+ close2;
+ cutin "job_bard_aiolo01",255;
+ end;
+
+S_ChangeJob:
+ completequest 3004;
+ callfunc "Job_Change",Job_Bard;
+ callfunc "F_ClearJobVar";
+ mes "[Lalo]";
+ mes "Good job. I will make you a job change souvenir with this.";
+ mes "Wait just a moment.";
+ next;
+ mes "[Lalo]";
+ mes "^3355FFScrape Scrape Tang Tang^000000";
+ mes "^3355FFSqueak Squeak Scratch Scratch^000000";
+ delitem getarg(0),60;
+ getitem getarg(1),1;
+ next;
+ mes "[Lalo]";
+ mes "Here you go, a souvenir. It is useful when you sing.";
+ mes "Hope you sing happy songs.";
+ next;
+ mes "[Lalo]";
+ mes "See you next time!";
+ close2;
+ cutin "job_bard_aiolo01",255;
+ end;
+}
+
+//============================================================
+// Old changelog
+//============================================================
+//= 07/06/05 : Added 1st Version. [Muad_Dib]
+//= Converted to rAthena format by Dr.Evil
+//= Info about gifts and other info --> http://www.ragnainfo.net/forums/viewtopic.php?t=51467&start=0
+//= 1.1 Optimized, changed some stuff, fixed some bugs [Lupus]
+//= 1.1a minor song test fix [Lupus]
+//= 1.2 Fixed wrong item ID, added missing commands [Lupus]
+//= 1.3 Updated flower sub-quest according to official [Lupus]
+//= 1.4 Changed priority for the gifts. Now you can win the 1st
+//= prize, too. Added Izidor flower [Lupus]
+//= 2.0 Changed numbers to constants. [Vicious]
diff --git a/npc/jobs/2-2/crusader.txt b/npc/jobs/2-2/crusader.txt
new file mode 100644
index 000000000..5f0cebf45
--- /dev/null
+++ b/npc/jobs/2-2/crusader.txt
@@ -0,0 +1,1485 @@
+//===== rAthena Script =======================================
+//= Crusader Quest
+//===== By: ==================================================
+//= Made by: Black Dragon
+//= Converted by: Shin
+//===== Current Version: =====================================
+//= 3.3
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= [Aegis Conversion]
+//= Job quest for Crusader classes
+//===== Additional Comments: =================================
+//= 2.2 Updated All NPCs to the officials one [Samuray22]
+//= -Based on the ASB 4.0 Package.
+//=-Maybe need be checked the monsters in the test 2 and 4.
+//= 2.3 Fixed some bugs that prevented from going further. [SinSloth]
+//= 2.4 Updated NPC dialogs using Aegis 10.3 files. [L0ne_W0lf]
+//= - Fixed logic error with job change reward for job 50 swordies.
+//= - Completely redid the 1st and third tests.
+//= - Optimized first four NPC scripts slightly.
+//= - Temporary character variables "@" are now ".@"
+//= - Fixed some indentation.
+//= 2.5 Fixed some spelling and grammar in crusader quest. [L0ne_W0lf]
+//= 2.6 Fixed bug (about totally blocked baby class), optimized,
+//= made some NPC more unique names: Monster Summon#cr1 [Lupus]
+//= 2.7 Fixed Some variables like ".@item", and changed to "@item". [Samuray22]
+//= 2.8 Fixed a little minor bug. [Samuray22]
+//= 2.9 Minor fixes, typos, an incorrect answer. Thanks to yyCC. [L0ne_W0lf]
+//= 2.9a Deleted unused variables. [Samuray22]
+//= 3.0 Updated waiting room. (Removes global var) [L0ne_W0lf]
+//= 3.1 Adding Hermemton's changes. [L0ne_W0lf]
+//= 3.2 Added Quest Log commands. [Kisuka]
+//= 3.3 Removed the need for use of 'goto.' [L0ne_W0lf]
+//============================================================
+
+
+//=============== Senior Crusader: 1st Collect Items Test============================
+prt_castle,45,169,5 script Senior Crusader 752,{
+ mes "[Michael Halig]";
+ if (Upper == 1) { //the baby classes were totally blocked... due to missing == 1
+ mes "Go and train yourself in preparation for the holy war that is coming. Victory will be in the hands of those who are most ready to receive it.";
+ next;
+ mes "[Michael Halig]";
+ mes "You don't belong here, my friend.";
+ mes "Be advised to continue practicing yourself.";
+ close;
+ }
+ else if(BaseJob != Job_Swordman) {
+ if(BaseJob == Job_Crusader) {
+ mes "Go and train yourself in preparation for the holy war that is coming. Victory will be in the hands of those who are most ready to receive it.";
+ next;
+ mes "[Michael Halig]";
+ mes "Chaos will one day arise to challenge our principles of peace, justice and order. Until we have eliminated evil and created our ideal world, we must not cease training.";
+ close;
+ }
+ else if(BaseJob == Job_Novice) {
+ mes "We are Crusaders,";
+ mes "warriors preparing";
+ mes "to fight in the Holy War.";
+ next;
+ mes "[Michael Halig]";
+ mes "If you wish to join us, you must first learn the Swordsman discipline and train yourself thoroughly...";
+ close;
+ }
+ mes "We are Crusaders,";
+ mes "warriors preparing";
+ mes "to fight in the Holy War.";
+ next;
+ mes "[Michael Halig]";
+ mes "As it happened one thousand years ago, evil forces will one day attack in droves in an attempt to take over the world once again.";
+ close;
+ }
+ else if(CRUS_Q <= 3 && countitem(1004) && countitem(1009)) {
+ mes "Ah...";
+ mes "I see that you have been called to become a Crusader. We are assured of your will, but now we must test your capabilities.";
+ next;
+ mes "[Michael Halig]";
+ mes "Meet with Moorenak Miyol who is training in the underground dungeon of the Prontera Castle. Go, and speak with him first.";
+ next;
+ delitem 1004, 1;
+ delitem 1009, 1;
+ set CRUS_Q,4;
+ mes "[Michael Halig]";
+ mes "Moorenak and others like him will test the limits of your capabilities and help you find your path. Return to me after you have completed their tests...";
+ close;
+ }
+ else if(CRUS_Q == 0) {
+ mes "We are Crusaders, warriors preparing for the Holy War.";
+ mes "What brings you";
+ mes "to this place?";
+ next;
+ if (select("I want to prepare for the Holy War!:Nothing in particular.") == 1) {
+ mes "[Michael Halig]";
+ mes "You wish to become";
+ mes "a Crusader...?";
+ mes "Joining us is not as";
+ mes "easy as it sounds.";
+ next;
+ mes "[Michael Halig]";
+ mes "I am Michael Halig. I am one of but many Crusaders preparing for the Holy War. We continuously train ourselves with sincere faith and endless loyalty.";
+ next;
+ mes "[Michael Halig]";
+ mes "We recruit Swordsmen that express exceptional faith, or those who were born as warriors";
+ mes "by Odin's will.";
+ next;
+ mes "[Michael Halig]";
+ mes "Possessing the ^3355FFChivalry Emblem^000000 and ^3355FFHand of God^000000 is seen as a sign that you have been called to become a Crusader.";
+ next;
+ mes "[Michael Halig]";
+ mes "After obtaining those items and passing our tests, you too, can become a Crusader.";
+ next;
+ mes "[Michael Halig]";
+ mes "I don't know what type of person you are right now though. But";
+ mes "I shall test you if you desire. Are you willing to endure these tests in preparation for the Holy War?";
+ next;
+ if (select("Yes, I do.:I'd like to think about it.") == 1) {
+ if(JobLevel < 40) {
+ mes "[Michael Halig]";
+ mes "Wait...";
+ mes "You're not ready yet.";
+ mes "You need to be at least";
+ mes "Job Level 40 to become";
+ mes "a Crusader.";
+ next;
+ mes "[Michael Halig]";
+ mes "Train yourself more as a Swordsman and wait for your calling. I understand your intent, but as of now, you cannot join us.";
+ close;
+ }
+ if (Skillpoint) {
+ mes "[Michael Halig]";
+ mes "You haven't finished learning everything as a Swordsman. Use all of your remaining skill points, and then return to me.";
+ close;
+ }
+ mes "[Michael Halig]";
+ mes "Then...";
+ mes "I shall test you to see if you are fit to become a Crusader.";
+ next;
+ mes "[Michael Halig]";
+ mes "Your name is";
+ mes "" + strcharinfo(0) + "...?";
+ mes "Let's see...";
+ next;
+ if (countitem(1004) && countitem(1009)) {
+ mes "[Michael Halig]";
+ mes "Ah...";
+ mes "I see that you have been called to become a Crusader. We are assured of your will, but now we must test your capabilities.";
+ next;
+ mes "[Michael Halig]";
+ mes "Meet with Moorenak Miyol who is training in the underground dungeon of the Prontera Castle. Go, and speak with him first.";
+ next;
+ delitem 1004, 1;
+ delitem 1009, 1;
+ set CRUS_Q,4;
+ setquest 3009;
+ mes "[Michael Halig]";
+ mes "Moorenak and others like him will test the limits of your capabilities and help you find your path. Return to me after you have completed their tests...";
+ close;
+ }
+ mes "[Michael Halig]";
+ mes "Mmm. I can't discern whether or not you have the heart to become a Crusader. However, if you have the will and put forth the effort, you may have what it takes.";
+ next;
+ mes "[Michael Halig]";
+ mes "Now...";
+ mes "This is my test for you. Bring me the following items and prove your determination to me.";
+ next;
+ mes "[Michael Halig]";
+ set .@cru_m1,rand(1,3);
+ if(.@cru_m1 == 1) {
+ set CRUS_Q, 1;
+ setquest 3006;
+ mes "10 ^3355FF"+getitemname(957)+"^000000";
+ mes "10 ^3355FF"+getitemname(959)+"^000000";
+ mes "10 ^3355FF"+getitemname(1099)+"^000000";
+ mes "10 ^3355FF"+getitemname(901)+"^000000";
+ next;
+ }
+ else if(.@cru_m1 == 2) {
+ set CRUS_Q, 2;
+ setquest 3007;
+ mes "10 ^3355FF"+getitemname(932)+"^000000";
+ mes "10 ^3355FF"+getitemname(1043)+"^000000";
+ mes "10 ^3355FF"+getitemname(1098)+"^000000";
+ mes "10 ^3355FF"+getitemname(1094)+"^000000";
+ next;
+ }
+ else {
+ set CRUS_Q, 3;
+ setquest 3008;
+ mes "10 ^3355FF"+getitemname(958)+"^000000";
+ mes "10 ^3355FF"+getitemname(930)+"^000000";
+ mes "10 ^3355FF"+getitemname(1041)+"^000000";
+ mes "10 ^3355FF"+getitemname(1062)+"^000000";
+ next;
+ }
+ mes "[Michael Halig]";
+ mes "Show me the strength of your will by gathering these items. If you prove successful, you will progress to the next test. May Odin protect you.";
+ close;
+ }
+ mes "[Michael Halig]";
+ mes "Nobody knows when the Holy War will come. We must prepare in advance and cannot afford to slacken";
+ mes "our training.";
+ next;
+ mes "[Michael Halig]";
+ mes "If you feel that participating in the Holy War is your calling, please come back right away and take the test to become";
+ mes "a Crusader.";
+ close;
+ }
+ mes "[Michael Halig]";
+ if (sex) mes "If you, too, are a man of the sword, constantly train and prepare yourself. No one knows when the Holy War may begin.";
+ else mes "As a woman of the sword, you must train diligently and constantly. Prepare yourself, for no one knows when the Holy War may be coming.";
+ close;
+ }
+ else if(CRUS_Q >= 1 && CRUS_Q <= 3) {
+ mes "Have you proven your determination with the task I have given you, or do you possess the items proving that you have received your calling?";
+ next;
+ switch(CRUS_Q) {
+ case 1:
+ set @item1, 957;
+ set @item2, 959;
+ set @item3, 1099;
+ set @item4, 901;
+ break;
+ Case 2:
+ set @item1, 932;
+ set @item2, 1043;
+ set @item3, 1098;
+ set @item4, 1094;
+ break;
+ Case 3:
+ set @item1, 958;
+ set @item2, 930;
+ set @item3, 1041;
+ set @item4, 1062;
+ break;
+ }
+ if (countitem(@item1) > 9 && countitem(@item2) > 9 && countitem(@item3) > 9 && countitem(@item4) > 9) {
+ mes "[Michael Halig]";
+ mes "Ah, well done.";
+ mes "I must acknowledge your efforts and determination. You may now proceed to take the next test.";
+ next;
+ mes "[Michael Halig]";
+ mes "Meet with Moorenak Miyol who is training in the underground dungeon of the Prontera Castle. Go, and speak with him first.";
+ next;
+ delitem @item1, 10;
+ delitem @item2, 10;
+ delitem @item3, 10;
+ delitem @item4, 10;
+ set CRUS_Q, 4;
+ if(checkquest(3006) != -1) {
+ changequest 3006,3009;
+ }
+ else if(checkquest(3007) != -1) {
+ changequest 3007,3009;
+ }
+ else {
+ changequest 3008,3009;
+ }
+ mes "[Michael Halig]";
+ mes "Moorenak and others like him will test the limits of your capabilities and help you find your path. Return to me after you have completed their tests...";
+ close;
+ }
+ mes "[Michael Halig]";
+ mes "Ah, you still have not completed the task I have given to you. Bring me the following items, and prove your will to become a Crusader to me...";
+ next;
+ mes "[Michael Halig]";
+ mes "10 ^3355FF"+getitemname(@item1)+"^000000";
+ mes "10 ^3355FF"+getitemname(@item2)+"^000000";
+ mes "10 ^3355FF"+getitemname(@item3)+"^000000";
+ mes "10 ^3355FF"+getitemname(@item4)+"^000000";
+ next;
+ mes "[Michael Halig]";
+ mes "If you put forth the effort, you'll be able to accomplish this task. May Odin protect you on your journeys.";
+ close;
+ }
+ else if(CRUS_Q == 10) {
+ if(SkillPoint) {
+ mes "You haven't finished learning everything as a Swordsman. Use all of your remaining skill points, and then return to me.";
+ close;
+ }
+ mes "Congratulations on completing all of your tests. You are truly worthy of fighting alongside side us in the Holy War as a Crusader.";
+ next;
+ mes "[Michael Halig]";
+ mes "Together, let us ready ourselves and be victorious over evil and tyranny!";
+ next;
+ set .@Joblevel,JobLevel;
+ completequest 3015;
+ callfunc "Job_Change",Job_Crusader;
+ callfunc "F_ClearJobVar"; //clears all job variables for the current player
+ mes "[Michael Halig]";
+ mes "Behold...!";
+ mes "You are now a Crusader!";
+ mes "When the Holy War comes, we shall fight side by side against the forces of evil.";
+ next;
+ mes "[Michael Halig]";
+ mes "Now you are";
+ mes "one of us!";
+ if (sex) mes "...Brother.";
+ else mes "...Comrade.";
+ next;
+ if(.@JobLevel != 50) getitem 504, 6;
+ else getitem 504, 12;
+ mes "[Michael Halig]";
+ mes "And use this in times of dire peril. It will give you strength when your wounds are most grievous.";
+ next;
+ mes "[Michael Halig]";
+ mes "Never forget that the Holy War is approaching. We must be prepare for the inevitable tide of evil that will sweep this world. Now, go forth and fight for the principles of freedom and justice!";
+ close;
+ }
+ mes "It seems that you have not yet completed all of the testing. You will not be ready to become a Crusader until you have completed the tests set before you.";
+ next;
+ mes "[Michael Halig]";
+ mes "Return to me when you have completed all of your tests. When you finally prove eligible, you will join the proud ranks of the mighty Crusaders.";
+ close;
+}
+
+//===================== Suffering Man: 2nd Endurance Test ===============================================
+prt_castle,164,32,1 script Man in Anguish 733,{
+ mes "[Murnak Mijoul]";
+ if(BaseJob != Job_Swordman) {
+ if (BaseJob == Job_Crusader) {
+ mes "Don't linger around in a place like this and forge your own path towards discovering your own strengths. The day that we will join hands in battle will come soon.";
+ close;
+ }
+ else if(BaseJob == Job_Novice) {
+ mes "A Novice...?";
+ mes "So green, and yet,";
+ mes "so much potential.";
+ next;
+ mes "[Murnak Mijoul]";
+ mes "Let me assure you that I'm no criminal. I'm here merely to train myself. Perhaps as you become stronger, you will understand.";
+ close;
+ }
+ mes "Hm. You have no business in a place like this. Please leave, and do not interrupt my training.";
+ close;
+ }
+ else if(CRUS_Q >= 0 && CRUS_Q <= 3) {
+ mes "What do you want...?";
+ mes "If you have no business here,";
+ mes "then please leave. A tranquil state of mind is essential in self training...";
+ next;
+ mes "[Murnak Mijoul]";
+ mes "I wish to improve the sense of serenity in my heart in preparation for the Holy War that is to come. So please, do not disturb me.";
+ close;
+ }
+ else if(CRUS_Q == 4) {
+ mes "What is it...?";
+ mes "Do you have business";
+ if (sex) mes "with me, man of the sword?";
+ else mes "with me, woman of the sword?";
+ next;
+ if (select("I'd like to take the Crusader test.:Nothing.") == 1) {
+ mes "[Murnak Mijoul]";
+ mes "You wish to become a Crusader...? Hm, fighting in the Holy War is an admirable goal we may both share.";
+ next;
+ mes "[Murnak Mijoul]";
+ mes "Your name is";
+ mes "" + strcharinfo(0) + "...?";
+ mes "Let me take";
+ mes "a look at your face.";
+ next;
+ if(getequipid(7) != 2608 && getequipid(8) != 2608) {
+ mes "[Murnak Mijoul]";
+ mes "Hmm. You wish to become a Crusader, but do not wear a Rosary? I have no business with you if you cannot uphold our customs.";
+ close;
+ }
+ mes "[Murnak Mijoul]";
+ mes "Hmm...";
+ mes "You seem so-so, but also young and ambitious. Ambition may work against you if it is not tempered with patience.";
+ next;
+ mes "[Murnak Mijoul]";
+ mes "Don't give me a reason to doubt you, and show me your patience. You must endure my test with your patience if you wish to become a Crusader.";
+ next;
+ mes "[Murnak Mijoul]";
+ mes "You may take my test right away. It's actually quite simple. All you must do is walk to the end of the corridor.";
+ next;
+ mes "[Murnak Mijoul]";
+ mes "But...";
+ mes "You must keep one thing in mind. Under no condition are you allowed to kill the monsters.";
+ next;
+ set CRUS_Q,5;
+ changequest 3009,3010;
+ mes "[Murnak Mijoul]";
+ mes "Well then...";
+ mes "Good luck.";
+ close2;
+ warp "job_cru",98,40;
+ end;
+ }
+ mes "[Murnak Mijoul]";
+ mes "You seem to have a lot of time on your hands. Why don't you do something more productive, like pick Jellopy off the streets or something?";
+ close;
+ }
+ else if(CRUS_Q == 5) {
+ mes "What is it...?";
+ mes "You're the Swordman from before. What happened, did you fail?";
+ next;
+ if (select("Let me retake the test.:What kind of test was that?!") == 1) {
+ mes "[Murnak Mijoul]";
+ mes "I'll let you retake the test as much as you like. But if you continuously fail, there's an inherent problem with your";
+ mes "state of mind.";
+ next;
+ if(getequipid(7) != 2608 && getequipid(8) != 2608) {
+ mes "[Murnak Mijoul]";
+ mes "Wait...";
+ mes "Where have you left your Rosary? You can't let that lie around just anywhere. We are supposed to be warriors of holiness.";
+ next;
+ mes "[Murnak Mijoul]";
+ mes "Carelessly losing things is an attitude for mere Swordsmen. If you really want to retake the test, you must respect the Crusader traditions.";
+ close;
+ }
+ mes "[Murnak Mijoul]";
+ mes "Your problem is your habit of hitting monsters the moment you see one. You must develop your patience and endurance.";
+ next;
+ mes "[Murnak Mijoul]";
+ mes "Just focus...";
+ mes "Your only goal is to walk from one end of the corridor to the other. It's simple when you think";
+ mes "about it.";
+ next;
+ mes "[Murnak Mijoul]";
+ mes "No matter what you do, do not kill any of the monsters. This time, think carefully before you draw your sword.";
+ next;
+ set CRUS_Q,5;
+ mes "[Murnak Mijoul]";
+ mes "Well then...";
+ mes "Good luck.";
+ close2;
+ warp "job_cru",98,40;
+ }
+ mes "[Murnak Mijoul]";
+ mes "Who are you to say that you don't like my test? With that kind of attitude, you'll never become a Crusader.";
+ next;
+ mes "[Murnak Mijoul]";
+ mes "I can understand if you are easily frustrated, but you must overcome your frustration to pass this test.";
+ close;
+ }
+ else if(CRUS_Q == 6) {
+ mes "Hmm, seems like you did well. It shouldn't have been too hard. You no longer have any business";
+ mes "with me.";
+ next;
+ mes "[Murnak Mijoul]";
+ mes "For your next test, go look for Gabriel Valentine in the Prontera Sanctuary. Well then, I'll see you around.";
+ close;
+ }
+ mes "Hmmm...";
+ mes "You still have tests to complete if you want to become a Crusader, don't you?";
+ close;
+}
+
+//===================== Gabriel Valentine: 3rd Knowledge Test =================================
+prt_church,95,127,3 script Crusader 745,{
+ mes "[Gabriel Valentine]";
+ if(BaseJob != Job_Swordman) {
+ if (BaseJob == Job_Crusader) {
+ mes "Welcome, fellow Crusader.";
+ mes "How is your training";
+ mes "coming along?";
+ next;
+ mes "[Gabriel Valentine]";
+ mes "You must not forget to train everyday, and prepare for the day the Holy War will come upon us.";
+ close;
+ }
+ else if(BaseJob == Job_Novice) {
+ mes "Welcome, I am a Crusader.";
+ mes "I am preparing for the";
+ mes "foretold Holy War";
+ mes "that is to come.";
+ next;
+ mes "[Gabriel Valentine]";
+ mes "If you are interested in becoming a Crusader, you must train first as a Swordman. Come and visit us again when you believe that you have learned enough as a Swordman...";
+ next;
+ mes "[Gabriel Valentine]";
+ mes "We are located in the Prontera Central Palace, so if you have time, it wouldn't hurt to stop by.";
+ close;
+ }
+ mes "Welcome, we are Crusaders.";
+ mes "We are preparing for the";
+ mes "foretold Holy War";
+ mes "that is to come.";
+ next;
+ mes "[Gabriel Valentine]";
+ mes "I hope you will train yourself in preparation for the future as well.";
+ close;
+ }
+ else if(CRUS_Q == 0) {
+ mes "Welcome. We are Crusaders.";
+ mes "We are preparing for the";
+ mes "foretold Holy War";
+ mes "that is to come.";
+ next;
+ mes "[Gabriel Valentine]";
+ mes "If you would like to become a Crusader, please speak with our leader in the Prontera Central Palace.";
+ close;
+ }
+ else if((CRUS_Q == 6) || (CRUS_Q == 7)) {
+ if(CRUS_Q == 6) {
+ mes "Welcome.";
+ mes "Did you do well";
+ mes "on those painful tests?";
+ mes "I will be conducting your next test.";
+ next;
+ mes "[Gabriel Valentine]";
+ mes "My name is Gabriel Valentine. I, too, am preparing for the Holy War. For the time being, I act as guard for this church.";
+ next;
+ mes "[Gabriel Valentine]";
+ mes "I will test to see if you have acquired the knowledge that is necessary to become a Crusader.";
+ mes "We can't very well win the Holy War just by swinging a sword.";
+ next;
+ mes "[Gabriel Valentine]";
+ mes "I will give";
+ mes "you 10 questions.";
+ mes "Answer them correctly.";
+ next;
+ }
+ else if(CRUS_Q == 7) {
+ mes "Welcome back~";
+ mes "Did you prepare";
+ mes "well for this test?";
+ mes "Let's try again,";
+ mes "shall we...?";
+ next;
+ mes "[Gabriel Valentine]";
+ mes "Once again, I'm going";
+ mes "to give you 10 questions";
+ mes "Listen carefully, and";
+ mes "choose the correct answer.";
+ next;
+ }
+ set .@cru_m,rand(1,3);
+ if (.@cru_m == 1) {
+ mes "[Gabriel Valentine]";
+ mes "1. Which attribute is the most effective in atttacking the Undead?";
+ next;
+ if (select("Neutral:Earth:Undead:Holy") == 4)
+ set .@cru_t,.@cru_t+10;
+
+ mes "[Gabriel Valentine]";
+ mes "2. If the monster is a Level 2 Undead, how much more damage does a Holy attack do compared to Fire?";
+ next;
+ if (select("25 %:50 %:75 %:100 %") == 1)
+ set .@cru_t,.@cru_t+10;
+
+ mes "[Gabriel Valentine]";
+ mes "3. What item can you not get from an Evil Druid?";
+ next;
+ if (select("Monk Hat:Yggdrasil leaf:White Herb:Amulet ") == 1)
+ set .@cru_t,.@cru_t+10;
+
+ mes "[Gabriel Valentine]";
+ mes "4. Which Undead monster";
+ mes "has the highest HP?";
+ next;
+ if (select("Ghoul:Skeleton Prisoner:Wraith:Zombie Prisoner") == 4)
+ set .@cru_t,.@cru_t+10;
+
+ mes "[Gabriel Valentine]";
+ mes "5. Which of the following monsters is a different size than the others?";
+ next;
+ if (select("Wraith:Khalitzburg:Drake:Evil Druid") == 3)
+ set .@cru_t,.@cru_t+10;
+
+ mes "[Gabriel Valentine]";
+ mes "6. Which card grants you tolerance to Undead property attacks?";
+ next;
+ if (select("Orc Skeleton Card:Orc Zombie Card:Ghoul Card:Skel Worker Card") == 2)
+ set .@cru_t,.@cru_t+10;
+
+ mes "[Gabriel Valentine]";
+ mes "7. What was the relationship between Munak and Bongun before they passed away?";
+ next;
+ if (select("Big Brother and Little Sister:Childhood friends in the same village:Stepbrother and sister:Complete strangers") == 2)
+ set .@cru_t,.@cru_t+10;
+
+ mes "[Gabriel Valentine]";
+ mes "8. Which of the following monsters is not aggressive?";
+ next;
+ if (select("Soldier Skeleton:Orc Skeleton:Skeleton:Skel Worker") == 3)
+ set .@cru_t,.@cru_t+10;
+
+ mes "[Gabriel Valentine]";
+ mes "9. What is the name of the shield in which a Munak Card has been inserted?";
+ next;
+ if (select("Atomic Shield:Amulet Shield:Hypnotic Shield:Homeroth Shield") == 2)
+ set .@cru_t,.@cru_t+10;
+
+ mes "[Gabriel Valentine]";
+ mes "10. Which of the following monsters does not drop Memento?";
+ next;
+ if (select("Munak:Ghoul:Mummy:Soldier Skeleton") == 1)
+ set .@cru_t,.@cru_t+10;
+ }
+ else if (.@cru_m == 2) {
+ mes "[Gabriel Valentine]";
+ mes "1. Which of the following monsters is a different attribute than the others?";
+ next;
+ if (select("Carat:Wind Ghost:Isis:Wanderer") == 3)
+ set .@cru_t,.@cru_t+10;
+
+ mes "[Gabriel Valentine]";
+ mes "2. Which sword is effective in attacking Demon monsters?";
+ next;
+ if (select("Decussate Tsurugi:Hollowed Tsurugi:Damned Tsurugi:Drowsy Tsurugi") == 1)
+ set .@cru_t,.@cru_t+10;
+
+ mes "[Gabriel Valentine]";
+ mes "3. Which item is NOT dropped by Dokebi?";
+ next;
+ if (select("Rough Elunium:Golden Hammer:Sword Mace:Mighty Staff") == 2)
+ set .@cru_t,.@cru_t+10;
+
+ mes "[Gabriel Valentine]";
+ mes "4. Which Demon monster has the most HP?";
+ next;
+ if (select("Giearth:Magnolia:Dokebi:Marionette") == 4)
+ set .@cru_t,.@cru_t+10;
+
+ mes "[Gabriel Valentine]";
+ mes "5. Which Demon monster is a different size than the others?";
+ next;
+ if (select("Ghostring:Whisper:Deviruchi:Baphomet Junior") == 1)
+ set .@cru_t,.@cru_t+10;
+
+ mes "[Gabriel Valentine]";
+ mes "6. Which shield reduces damage inflicted by Demon monsters?";
+ next;
+ if (select("Satanic Shield:Shield from Hell:Amulet Shield:Excellent Shield") == 2)
+ set .@cru_t,.@cru_t+10;
+
+ mes "[Gabriel Valentine]";
+ mes "7. Which attribute is the most effective on the Wind Ghost?";
+ next;
+ if (select("Water:Earth:Fire:Wind") == 2)
+ set .@cru_t,.@cru_t+10;
+
+ mes "[Gabriel Valentine]";
+ mes "8. Which monster is different from the other Demon monsters?";
+ next;
+ if (select("Sohee:Isis:Dokebi:Whisper") == 4)
+ set .@cru_t,.@cru_t+10;
+
+ mes "[Gabriel Valentine]";
+ mes "9. What effect does the Marionette Card have?";
+ next;
+ if (select("Increase defense against Shadow attacks by 30 %:Increase defense against poison attacks by 30 %:Increase defense against Ghost attacks by 30 %:Increase defense against Neutral attacks by 30 %") == 3)
+ set .@cru_t,.@cru_t+10;
+
+ mes "[Gabriel Valentine]";
+ mes "10. Which of the following is an effective way to react when encountering a demon monster?";
+ next;
+ if (select("Scream, 'Evil one, go away!':Offer your soul and get a deal.:Put Holy Water on a weapon and attack.:Put on a Deviruchi hat.") == 3)
+ set .@cru_t,.@cru_t+10;
+ }
+ else {
+ mes "[Gabriel Valentine]";
+ mes "1. What level of 'Divine Protection' do you need to learn 'Demon Bane?'";
+ next;
+ if (select("Level 1:Level 2:Level 3:Level 4") == 3)
+ set .@cru_t,.@cru_t+10;
+
+ mes "[Gabriel Valentine]";
+ mes "2. If your INT is 30, including INT bonuses from quipment, at level 55, how much HP does Level 5 Heal recover?";
+ next;
+ if (select("396:440:484:528") == 2)
+ set .@cru_t,.@cru_t+10;
+
+ mes "[Gabriel Valentine]";
+ mes "3. With Level 7 Divine Protection, by how much is your defense against the Undead increased?";
+ next;
+ if (select("21:22:23:24") == 1)
+ set .@cru_t,.@cru_t+10;
+
+ mes "[Gabriel Valentine]";
+ mes "4. Which of the following spears can attack Nightmare, which is endowed with the Ghost attribute?";
+ next;
+ if (select("Lance:Bill Guisarme:Cresent scythe:Zephyrus") == 4)
+ set .@cru_t,.@cru_t+10;
+
+ mes "[Gabriel Valentine]";
+ mes "5. What level of 'Heal' do you need to learn 'Cure?'";
+ next;
+ if (select("Level 1:Level 2:Level 3:Level 4") == 2)
+ set .@cru_t,.@cru_t+10;
+
+ mes "[Gabriel Valentine]";
+ mes "6. What is the attack speed when Level 3 Cavalier Mastery is learned?";
+ next;
+ if (select("70 % of normal speed:80 % of normal speed:90 % of normal speed:100 % of normal speed") == 2)
+ set .@cru_t,.@cru_t+10;
+
+ mes "[Gabriel Valentine]";
+ mes "7. Which of the following is not correct of the Demon Bane skill?";
+ next;
+ if (select("Increase attack on Undead:Only Acolytes can learn the skill:When mastered, + 30 increase:Passive Skill") == 2)
+ set .@cru_t,.@cru_t+10;
+
+ mes "[Gabriel Valentine]";
+ mes "8. How much SP does Level 7 Heal use?";
+ next;
+ if (select("30:31:33:35") == 2)
+ set .@cru_t,.@cru_t+10;
+
+ mes "[Gabriel Valentine]";
+ mes "9. What status cannot be";
+ mes "cured with the Cure skill?";
+ next;
+ if (select("Curse:Silence:Chaos:Blind") == 1)
+ set .@cru_t,.@cru_t+10;
+
+ mes "[Gabriel Valentine]";
+ mes "10. What best describes a Crusader?";
+ next;
+ if (select("One preparing for matrimony.:One preparing for the Holy War.:One preparing consummation.:One preparing potions.") == 2)
+ set .@cru_t,.@cru_t+10;
+
+ }
+ mes "[Gabriel Valentine]";
+ mes "Good work~";
+ mes "Well, first let me";
+ mes "look at your results.";
+ next;
+ mes "[Gabriel Valentine]";
+ mes " " + strcharinfo(0) + "'s score";
+ mes "is " + .@cru_t + " points...";
+ if(.@cru_t == 100) {
+ set CRUS_Q, 8;
+ changequest 3011,3013;
+ mes "Superb! Now, it's time for";
+ mes "you to take the next test.";
+ next;
+ mes "[Gabriel Valentine]";
+ mes "Go to Prontera Castle";
+ mes "and meet Bliant Piyord.";
+ mes "I will inform him that";
+ mes "he will be testing you next.";
+ close;
+ }
+ else if(.@cru_t == 90) {
+ set CRUS_Q, 8;
+ changequest 3011,3013;
+ mes "Well done~ Now, it's time for";
+ mes "you to take the next test.";
+ next;
+ mes "[Gabriel Valentine]";
+ mes "Go to Prontera Castle";
+ mes "and meet Bliant Piyord.";
+ mes "I will inform him that";
+ mes "he will be testing you next.";
+ close;
+ }
+ else if (.@cru_t == 80 && CRUS_Q == 7) {
+ set CRUS_Q,8;
+ changequest 3011,3013;
+ mes "Seems like you prepared a lot so I'll let you pass this time.";
+ mes "Hurry now and go take the next test.";
+ next;
+ mes "[Gabriel Valentine]";
+ mes "Go to the Prontera Castle and meet Bliant Piyord.";
+ mes "I will inform him to prepare the next test.";
+ close;
+ }
+ set CRUS_Q,7;
+ if(checkquest(3011) != -1) {
+ changequest 3011,3012;
+ }
+ mes "Hmmm... What a pity.";
+ mes "Go study some more and";
+ mes "take this test again, okay?";
+ next;
+ mes "[Gabriel Valentine]";
+ mes "Don't stress, you need to know a lot in order to pass this test. In any case, I'll be waiting right here. When you think you're ready, come back, alright?";
+ close;
+ }
+ else if(CRUS_Q == 8 || CRUS_Q == 9) {
+ mes "Like I mentioned before, you should go to Prontera Castle and meet with Bliant Piyord to take your next test. Good luck, and become a Crusder soon, alright?";
+ close;
+ }
+ else if(CRUS_Q == 10) {
+ mes "What are you still doing here? You've already completed all the tests. Go talk to our leader, you're pretty much ready to become a Crusader now.";
+ next;
+ mes "[Gabriel Valentine]";
+ mes "You will soon join us in our preparations for the Holy War. Continue to live with faith after becoming a Crusader.";
+ close;
+ }
+ mes "Mmm...?";
+ mes "It seems that you're";
+ mes "an aspiring Crusader...";
+ mes "But, it's not my turn";
+ mes "to test you quite yet.";
+ next;
+ mes "[Gabriel Valentine]";
+ mes "Finish those other tests,";
+ mes "and come to me once you're";
+ mes "instructed. Until then,";
+ mes "I'll see you later~";
+ close;
+}
+
+//===================== Crusader: 4th Purification Test =====================================================
+prt_castle,35,151,5 script Patron Knight 751,{
+ mes "[Bliant Piyord]";
+ mes "Welcome.";
+ if(BaseJob != Job_Swordman) {
+ if(BaseJob == Job_Crusader) {
+ mes "How goes";
+ mes "your training?";
+ next;
+ mes "[Bliant Piyord]";
+ mes "Develop your faith. From faith springs strength and discipline. Day after day, train yourself and become a great Crusader.";
+ close;
+ }
+ else if(BaseJob == Job_Novice) {
+ mes "We are Crusaders,";
+ mes "warriors of holiness preparing for the great Holy War that is to come.";
+ next;
+ mes "[Bliant Piyord]";
+ mes "Are you interested";
+ mes "in becoming a Crusader?";
+ mes "We are always waiting";
+ mes "for more capable men and";
+ mes "women to join our ranks.";
+ next;
+ mes "[Bliant Piyord]";
+ mes "Train as a Swordsman and come to us when you think you are ready. If you have been called by Odin to become a Crusader, that would be even better.";
+ close;
+ }
+ mes "We are Crusaders,";
+ mes "warriors of holiness preparing for the great Holy War that is to come.";
+ next;
+ mes "[Bliant Piyord]";
+ mes "Even in these relatively peaceful times, our training is ceaseless. We must be ready for the day with the tides of darkness shall rush against mankind...";
+ close;
+ }
+ else if(CRUS_Q == 0) {
+ mes "We are Crusaders,";
+ mes "warriors of holiness preparing for the great Holy War that is to come.";
+ next;
+ mes "[Bliant Piyord]";
+ mes "Are you interested";
+ mes "in becoming a Crusader?";
+ mes "We are always waiting";
+ mes "for more capable men and";
+ mes "women to join our ranks.";
+ next;
+ mes "[Bliant Piyord]";
+ mes "To become a Crusader, you must train until you are Job Level 40. For more details, please speak with our leader inside.";
+ next;
+ mes "[Bliant Piyord]";
+ mes "May Odin";
+ mes "be with you...";
+ close;
+ }
+ else if(CRUS_Q == 8 || CRUS_Q == 9) {
+ if (CRUS_Q == 8) {
+ mes "It's nice";
+ mes "to meet you.";
+ mes "It is now time";
+ mes "for your final test.";
+ next;
+ mes "[Bliant Piyord]";
+ mes "My name is Bliant Piyord and I too, am preparing for the Holy War. It must've been quite a hassle to come all this way.";
+ next;
+ mes "[Bliant Piyord]";
+ mes "This test will gauge your skills in battle. Only those with great fighting ability can become Crusaders.";
+ next;
+ mes "[Bliant Piyord]";
+ mes "To take the battle test, bring";
+ mes "1 ^3355FFHoly Water^000000. This will be used to purify you prior to taking the test.";
+ if(checkquest(3013) != -1) {
+ changequest 3013,3014;
+ }
+ next;
+ mes "[Bliant Piyord]";
+ mes "Well then...";
+ mes "Shall we";
+ mes "begin right away?";
+ mes "Or do you need time";
+ mes "to prepare yourself?";
+ }
+ else {
+ mes "Are you prepared";
+ mes "for the test now?";
+ next;
+ mes "[Bliant Piyord]";
+ mes "Would you like to begin now, or do you still need time to make preparations?";
+ }
+ next;
+ if (select("I would like to begin.:Give me some time to prepare.") == 1) {
+ if(getequipid(7) != 2608 && getequipid(8) != 2608) {
+ mes "[Bliant Piyord]";
+ mes "Just a second, you do not have a Rosary equipped. As a Crusader, you must always have a Rosary on your person.";
+ next;
+ mes "[Bliant Piyord]";
+ mes "Come back and take";
+ mes "the test after you";
+ mes "have a Rosary.";
+ close;
+ }
+ else if(countitem(523) < 1) {
+ mes "[Bliant Piyord]";
+ mes "For the battle test, please prepare one ^3355FFHoly water^000000.";
+ mes "I told you just to purify the candidates.";
+ next;
+ mes "[Bliant Piyord]";
+ mes "Get prepares and come back to here.";
+ mes "I will wait for you.";
+ close;
+ }
+ delitem 523, 1; //Holy Water
+ mes "[Bliant Piyord]";
+ mes "Then, I'll start";
+ mes "the test. You will";
+ mes "be purified with the";
+ mes "Holy Water you prepared.";
+ next;
+ mes "[Bliant Piyord]";
+ mes "...............";
+ next;
+ mes "[Bliant Piyord]";
+ mes "Let's begin.";
+ mes "Go and enter";
+ mes "the waiting room.";
+ mes "Defeat the monsters";
+ mes "that appear in";
+ mes "the 4 stages.";
+ close2;
+ warp "job_cru",24,169;
+ end;
+ }
+ mes "[Bliant Piyord]";
+ mes "Prepare 1 ^3355FFHoly Water^000000 to take the battle test. As I've said, it will be used to purify you prior to taking the test.";
+ next;
+ mes "[Bliant Piyord]";
+ mes "Come back and take";
+ mes "the test after you";
+ mes "have prepared";
+ mes "1 Holy Water.";
+ mes "I shall be";
+ mes "waiting.";
+ close;
+ }
+ else if(CRUS_Q == 10) {
+ mes "Congratulations.";
+ mes "You have completed";
+ mes "all the tests to";
+ mes "become a Crusader.";
+ next;
+ mes "[Bliant Piyord]";
+ mes "Go talk to our";
+ mes "leader inside.";
+ mes "We welcome you into";
+ mes "the ranks of those";
+ mes "preparing for the";
+ mes "coming Holy War.";
+ close;
+ }
+ mes "Are you not one of the ones in the process of becoming a Crusader?";
+ next;
+ mes "[Bliant Piyord]";
+ mes "It's not your turn";
+ mes "to take my test yet.";
+ mes "Come back after taking";
+ mes "all the other tests.";
+ next;
+ mes "[Bliant Piyord]";
+ mes "I'll see you soon.";
+ mes "May Odin's blessings";
+ mes "be with you.";
+ close;
+}
+
+
+
+//=== Actual tests ========================================
+//=== Endurance Test ======================================
+job_cru,1,1,1 script Summoner#cr1 -1,{
+OnTimer300000:
+ donpcevent "Summoner#cr1::OnReset";
+ end;
+
+OnTimer300500:
+ donpcevent "Summoner#cr1::OnEnd";
+ end;
+
+OnTimer301000:
+ donpcevent "Summoner#cr1::OnStart";
+ stopnpctimer;
+ end;
+
+OnInit:
+ enablenpc "Summoner#cr1";
+ monster "job_cru",94,45,"Mandragora",1020,1,"Summoner#cr1::OnDead";
+ monster "job_cru",94,55,"Mandragora",1020,1,"Summoner#cr1::OnDead";
+ monster "job_cru",94,65,"Mandragora",1020,1,"Summoner#cr1::OnDead";
+ monster "job_cru",94,75,"Mandragora",1020,1,"Summoner#cr1::OnDead";
+ monster "job_cru",94,85,"Mandragora",1020,1,"Summoner#cr1::OnDead";
+ monster "job_cru",94,95,"Mandragora",1020,1,"Summoner#cr1::OnDead";
+ monster "job_cru",101,45,"Mandragora",1020,1,"Summoner#cr1::OnDead";
+ monster "job_cru",101,55,"Mandragora",1020,1,"Summoner#cr1::OnDead";
+ monster "job_cru",101,65,"Mandragora",1020,1,"Summoner#cr1::OnDead";
+ monster "job_cru",101,75,"Mandragora",1020,1,"Summoner#cr1::OnDead";
+ monster "job_cru",101,85,"Mandragora",1020,1,"Summoner#cr1::OnDead";
+ monster "job_cru",101,95,"Mandragora",1020,1,"Summoner#cr1::OnDead";
+ initnpctimer;
+ end;
+
+OnStart:
+ enablenpc "Summoner#cr1";
+ monster "job_cru",94,45,"Mandragora",1020,1,"Summoner#cr1::OnDead";
+ monster "job_cru",94,55,"Mandragora",1020,1,"Summoner#cr1::OnDead";
+ monster "job_cru",94,65,"Mandragora",1020,1,"Summoner#cr1::OnDead";
+ monster "job_cru",94,75,"Mandragora",1020,1,"Summoner#cr1::OnDead";
+ monster "job_cru",94,85,"Mandragora",1020,1,"Summoner#cr1::OnDead";
+ monster "job_cru",94,95,"Mandragora",1020,1,"Summoner#cr1::OnDead";
+ monster "job_cru",101,45,"Mandragora",1020,1,"Summoner#cr1::OnDead";
+ monster "job_cru",101,55,"Mandragora",1020,1,"Summoner#cr1::OnDead";
+ monster "job_cru",101,65,"Mandragora",1020,1,"Summoner#cr1::OnDead";
+ monster "job_cru",101,75,"Mandragora",1020,1,"Summoner#cr1::OnDead";
+ monster "job_cru",101,85,"Mandragora",1020,1,"Summoner#cr1::OnDead";
+ monster "job_cru",101,95,"Mandragora",1020,1,"Summoner#cr1::OnDead";
+ initnpctimer;
+ end;
+
+OnReset:
+ killmonster "job_cru","Summoner#cr1::OnDead";
+ end;
+
+OnEnd:
+ disablenpc "Summoner#cr1";
+ end;
+
+OnDead:
+ warp "prt_fild05",353,251;
+ end;
+}
+
+job_cru,1,2,1 script Summoner#cr2 -1,{
+OnTimer345000:
+ donpcevent "Summoner#cr2::OnReset";
+ end;
+
+OnTimer345500:
+ donpcevent "Summoner#cr2::OnEnd";
+ end;
+
+OnTimer346000:
+ donpcevent "Summoner#cr2::OnStart";
+ stopnpctimer;
+ end;
+
+OnInit:
+ enablenpc "Summoner#cr2";
+ monster "job_cru",98,50,"Flora",1118,1,"Summoner#cr2::OnDead";
+ monster "job_cru",92,60,"Flora",1118,1,"Summoner#cr2::OnDead";
+ monster "job_cru",104,60,"Flora",1118,1,"Summoner#cr2::OnDead";
+ monster "job_cru",98,70,"Flora",1118,1,"Summoner#cr2::OnDead";
+ monster "job_cru",92,80,"Flora",1118,1,"Summoner#cr2::OnDead";
+ monster "job_cru",104,90,"Flora",1118,1,"Summoner#cr2::OnDead";
+ monster "job_cru",98,90,"Flora",1118,1,"Summoner#cr2::OnDead";
+ initnpctimer;
+ end;
+
+OnStart:
+ enablenpc "Summoner#cr2";
+ monster "job_cru",98,50,"Flora",1118,1,"Summoner#cr2::OnDead";
+ monster "job_cru",92,60,"Flora",1118,1,"Summoner#cr2::OnDead";
+ monster "job_cru",104,60,"Flora",1118,1,"Summoner#cr2::OnDead";
+ monster "job_cru",98,70,"Flora",1118,1,"Summoner#cr2::OnDead";
+ monster "job_cru",92,80,"Flora",1118,1,"Summoner#cr2::OnDead";
+ monster "job_cru",104,90,"Flora",1118,1,"Summoner#cr2::OnDead";
+ monster "job_cru",98,90,"Flora",1118,1,"Summoner#cr2::OnDead";
+ initnpctimer;
+ end;
+
+OnReset:
+ killmonster "job_cru","Summoner#cr2::OnDead";
+ end;
+
+OnEnd:
+ disablenpc "Summoner#cr2";
+ end;
+
+OnDead:
+ warp "prt_fild05",353,251;
+ end;
+}
+
+job_cru,1,3,1 script Summoner#cr3 -1,{
+OnTimer345000:
+ donpcevent "Summoner#cr3::OnReset";
+ end;
+
+OnTimer345500:
+ donpcevent "Summoner#cr3::OnEnd";
+ end;
+
+OnTimer346000:
+ donpcevent "Summoner#cr3::OnStart";
+ stopnpctimer;
+ end;
+
+OnInit:
+ enablenpc "Summoner#cr3";
+ monster "job_cru",92,50,"Greatest General",1277,1,"Summoner#cr3::OnDead";
+ monster "job_cru",104,50,"Greatest General",1277,1,"Summoner#cr3::OnDead";
+ monster "job_cru",98,50,"Greatest General",1277,1,"Summoner#cr3::OnDead";
+ monster "job_cru",92,70,"Greatest General",1277,1,"Summoner#cr3::OnDead";
+ monster "job_cru",104,70,"Greatest General",1277,1,"Summoner#cr3::OnDead";
+ monster "job_cru",98,80,"Greatest General",1277,1,"Summoner#cr3::OnDead";
+ monster "job_cru",92,90,"Greatest General",1277,1,"Summoner#cr3::OnDead";
+ monster "job_cru",104,90,"Greatest General",1277,1,"Summoner#cr3::OnDead";
+ Initnpctimer;
+ end;
+
+OnStart:
+ enablenpc "Summoner#cr3";
+ monster "job_cru",92,50,"Greatest General",1277,1,"Summoner#cr3::OnDead";
+ monster "job_cru",104,50,"Greatest General",1277,1,"Summoner#cr3::OnDead";
+ monster "job_cru",98,50,"Greatest General",1277,1,"Summoner#cr3::OnDead";
+ monster "job_cru",92,70,"Greatest General",1277,1,"Summoner#cr3::OnDead";
+ monster "job_cru",104,70,"Greatest General",1277,1,"Summoner#cr3::OnDead";
+ monster "job_cru",98,80,"Greatest General",1277,1,"Summoner#cr3::OnDead";
+ monster "job_cru",92,90,"Greatest General",1277,1,"Summoner#cr3::OnDead";
+ monster "job_cru",104,90,"Greatest General",1277,1,"Summoner#cr3::OnDead";
+ Initnpctimer;
+ end;
+
+OnReset:
+ killmonster "job_cru","Summoner#cr3::OnDead";
+ end;
+
+OnEnd:
+ disablenpc "Summoner#cr3";
+ end;
+
+OnDead:
+ warp "prt_fild05",353,251;
+ end;
+}
+
+job_cru,1,4,1 script Summoner#cr4 -1,{
+OnTimer345000:
+ donpcevent "Summoner#cr4::OnReset";
+ end;
+
+OnTimer345500:
+ donpcevent "Summoner#cr4::OnEnd";
+ end;
+
+OnTimer346000:
+ donpcevent "Summoner#cr4::OnStart";
+ stopnpctimer;
+ end;
+
+OnInit:
+ enablenpc "Summoner#cr4";
+ monster "job_cru",98,50,"Familiar",1005,1,"Summoner#cr3::OnDead";
+ monster "job_cru",98,55,"Familiar",1005,1,"Summoner#cr3::OnDead";
+ monster "job_cru",98,60,"Familiar",1005,1,"Summoner#cr3::OnDead";
+ monster "job_cru",98,65,"Familiar",1005,1,"Summoner#cr3::OnDead";
+ monster "job_cru",98,70,"Familiar",1005,1,"Summoner#cr3::OnDead";
+ monster "job_cru",98,75,"Familiar",1005,1,"Summoner#cr3::OnDead";
+ monster "job_cru",98,80,"Familiar",1005,1,"Summoner#cr3::OnDead";
+ monster "job_cru",98,85,"Familiar",1005,1,"Summoner#cr3::OnDead";
+ monster "job_cru",98,90,"Familiar",1005,1,"Summoner#cr3::OnDead";
+ monster "job_cru",90,34,"Mushroom",1182,1,"Summoner#cr3::OnDead";
+ monster "job_cru",105,34,"Mushroom",1182,1,"Summoner#cr3::OnDead";
+ initnpctimer;
+ end;
+
+OnStart:
+ enablenpc "Summoner#cr4";
+ monster "job_cru",98,50,"Familiar",1005,1,"Summoner#cr3::OnDead";
+ monster "job_cru",98,55,"Familiar",1005,1,"Summoner#cr3::OnDead";
+ monster "job_cru",98,60,"Familiar",1005,1,"Summoner#cr3::OnDead";
+ monster "job_cru",98,65,"Familiar",1005,1,"Summoner#cr3::OnDead";
+ monster "job_cru",98,70,"Familiar",1005,1,"Summoner#cr3::OnDead";
+ monster "job_cru",98,75,"Familiar",1005,1,"Summoner#cr3::OnDead";
+ monster "job_cru",98,80,"Familiar",1005,1,"Summoner#cr3::OnDead";
+ monster "job_cru",98,85,"Familiar",1005,1,"Summoner#cr3::OnDead";
+ monster "job_cru",98,90,"Familiar",1005,1,"Summoner#cr3::OnDead";
+ monster "job_cru",90,34,"Mushroom",1182,1,"Summoner#cr3::OnDead";
+ monster "job_cru",105,34,"Mushroom",1182,1,"Summoner#cr3::OnDead";
+ initnpctimer;
+ end;
+
+OnReset:
+ killmonster "job_cru","Summoner#cr4::OnDead";
+ end;
+
+OnEnd:
+ disablenpc "Summoner#cr4";
+ end;
+
+OnDead:
+ warp "prt_fild05",353,251;
+ end;
+}
+
+
+job_cru,98,105,4 script Summoner#cr5 45,3,3,{
+OnTouch:
+ set CRUS_Q,6;
+ changequest 3010,3011;
+ warp "prt_castle",164,28;
+ end;
+}
+
+//=== Purification Test ===================================
+job_cru,24,187,4 script Patron Knight#2 751,{
+ mes "[Bliant Piyord]";
+ mes "Welcome.";
+ mes "You will take";
+ mes "the last test here.";
+ mes "If you are ready for";
+ mes "the test, enter the";
+ mes "waiting room.";
+ next;
+ mes "[Bliant Piyord]";
+ mes "Only one person can take the test at a time. If someone else is already testing, please wait until the testing area is made available once again.";
+ next;
+ mes "[Bliant Piyord]";
+ mes "Each person will get 4 minutes to complete the test. If you wish to leave in the middle of the test, please disconnect from the game.";
+ close;
+}
+
+job_cru,24,187,2 script Waiting Room#cr1 700,{
+ end;
+
+OnInit:
+ disablenpc "Waiting Room#cr1";
+ waitingroom "Waiting Room",20,"Waiting Room#cr1::OnStartArena",1;
+ enablewaitingroomevent;
+ end;
+
+OnStartArena:
+ warpwaitingpc "job_cru",168,21;
+ donpcevent "Monster Summon#cr0::OnStart";
+ disablewaitingroomevent;
+ end;
+
+OnStart:
+ enablewaitingroomevent;
+ end;
+}
+
+job_cru,168,17,0 script Zombie Guide -1,2,2,{
+OnTouch:
+ mes "[Bliant Piyord]";
+ mes "Go forth and defeat all";
+ mes "the monsters that appear.";
+ mes "You will not pass if any";
+ mes "are remaining.";
+ next;
+ mes "[Bliant Piyord]";
+ mes "You will be given";
+ mes "4 minutes. Go forth";
+ mes "and do your best...";
+ close;
+}
+
+job_cru,2,1,1 script Monster Summon#cr0 -1,{
+OnInit:
+ disablenpc "Monster Summon#cr0";
+ end;
+
+OnStart:
+ set .MyMonsterCount,0;
+ enablenpc "Monster Summon#cr0";
+ donpcevent "Monster Summon#cr1::OnStart";
+ donpcevent "Monster Summon#cr2::OnStart";
+ donpcevent "Monster Summon#cr3::OnStart";
+ donpcevent "Monster Summon#cr4::OnStart";
+ donpcevent "Monster Summon#cr6::OnStart";
+ end;
+
+OnMonster1:
+ monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#cr0::OnDead";
+ monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#cr0::OnDead";
+ monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#cr0::OnDead";
+ monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#cr0::OnDead";
+ monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#cr0::OnDead";
+ monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#cr0::OnDead";
+ end;
+
+OnMonster2:
+ monster "job_cru",168,80,"Soldier Skeleton",1028,1,"Monster Summon#cr0::OnDead";
+ monster "job_cru",168,80,"Soldier Skeleton",1028,1,"Monster Summon#cr0::OnDead";
+ monster "job_cru",168,80,"Soldier Skeleton",1028,1,"Monster Summon#cr0::OnDead";
+ end;
+
+OnMonster3:
+ monster "job_cru",168,110,"Archer Skeleton",1016,1,"Monster Summon#cr0::OnDead";
+ monster "job_cru",168,115,"Mummy",1041,1,"Monster Summon#cr0::OnDead";
+ end;
+
+OnDead:
+ set .MyMonsterCount,.MyMonsterCount+1;
+ if (.MyMonsterCount >= 10) {
+ set CRUS_Q,10;
+ changequest 3014,3015;
+ }
+ end;
+
+OnEnd:
+ disablenpc "Monster Summon#cr0";
+ end;
+
+OnReset:
+ killmonster "job_cru","Monster Summon#cr0::OnDead";
+ end;
+}
+
+job_cru,168,45,0 script Monster Summon#cr1 -1,15,1,{
+OnInit:
+ disablenpc "Monster Summon#cr1";
+ end;
+
+OnTouch:
+ donpcevent "Monster Summon#cr0::OnMonster1";
+ donpcevent "Monster Summon#cr1::OnEnd";
+ end;
+
+OnStart:
+ enablenpc "Monster Summon#cr1";
+ end;
+
+OnEnd:
+ disablenpc "Monster Summon#cr1";
+ end;
+}
+
+job_cru,168,80,0 script Monster Summon#cr2 -1,15,1,{
+OnInit:
+ disablenpc "Monster Summon#cr2";
+ end;
+
+OnTouch:
+ donpcevent "Monster Summon#cr0::OnMonster2";
+ donpcevent "Monster Summon#cr2::OnEnd";
+ end;
+
+OnStart:
+ enablenpc "Monster Summon#cr2";
+ end;
+
+OnEnd:
+ disablenpc "Monster Summon#cr2";
+ end;
+}
+
+job_cru,165,115,0 script Monster Summon#cr3 -1,15,1,{
+OnInit:
+ disablenpc "Monster Summon#cr3";
+ end;
+
+OnTouch:
+ donpcevent "Monster Summon#cr0::OnMonster3";
+ donpcevent "Monster Summon#cr3::OnEnd";
+ end;
+
+OnStart:
+ enablenpc "Monster Summon#cr3";
+ end;
+
+OnEnd:
+ disablenpc "Monster Summon#cr3";
+ end;
+}
+
+job_cru,168,150,0 script Monster Summon#cr4 -1,15,1,{
+OnInit:
+ disablenpc "Monster Summon#cr4";
+ end;
+
+OnTouch:
+ monster "job_cru",168,150,strcharinfo(0),1036,1,"Monster Summon#cr4-a::OnDead";
+ donpcevent "Monster Summon#cr4::OnEnd";
+ end;
+
+OnDead:
+ donpcevent "Monster Summon#cr5::OnStart";
+ end;
+
+OnStart:
+ enablenpc "Monster Summon#cr4";
+ end;
+
+OnReset:
+ killmonster "job_cru","Monster Summon#cr4-a::OnDead";
+ end;
+
+OnEnd:
+ disablenpc "Monster Summon#cr4";
+ end;
+
+}
+
+job_cru,168,150,0 script Monster Summon#cr4-a -1,{
+OnDead:
+ donpcevent "Monster Summon#cr5::OnStart";
+ end;
+}
+
+job_cru,168,180,4 script Monster Summon#cr5 45,3,3,{
+OnInit:
+ disablenpc "Monster Summon#cr5";
+ end;
+
+OnTouch:
+ warp "prt_castle",35,147;
+ donpcevent "Monster Summon#cr0::OnReset";
+ donpcevent "Monster Summon#cr4::OnReset";
+ donpcevent "Monster Summon#cr0::OnEnd";
+ donpcevent "Monster Summon#cr4::OnEnd";
+ donpcevent "Monster Summon#cr5::OnEnd";
+ donpcevent "Monster Summon#cr6::OnStop";
+ donpcevent "Monster Summon#cr6::OnEnd";
+ donpcevent "Waiting Room#cr1::OnStart";
+ end;
+
+OnStart:
+ enablenpc "Monster Summon#cr5";
+ end;
+
+OnEnd:
+ disablenpc "Monster Summon#cr5";
+ end;
+}
+
+job_cru,2,2,1 script Monster Summon#cr6 -1,{
+OnTimer241000:
+ areawarp "job_cru",160,14,175,178,"job_cru",24,169;
+ donpcevent "Monster Summon#cr0::OnReset";
+ donpcevent "Monster Summon#cr4::OnReset";
+ donpcevent "Monster Summon#cr0::OnEnd";
+ donpcevent "Monster Summon#cr4::OnEnd";
+ donpcevent "Monster Summon#cr5::OnEnd";
+ donpcevent "Monster Summon#cr6::OnStop";
+ donpcevent "Monster Summon#cr6::OnEnd";
+ donpcevent "Waiting Room#cr1::OnStart";
+ end;
+
+OnInit:
+ disablenpc "Monster Summon#cr6";
+ end;
+
+OnStart:
+ enablenpc "Monster Summon#cr6";
+ initnpctimer;
+ end;
+
+OnEnd:
+ disablenpc "Monster Summon#cr6";
+ end;
+
+OnStop:
+ stopnpctimer;
+ end;
+}
+
+//============================================================
+// mapflag
+//============================================================
+
+//============================================================
+// Old changelog
+//============================================================
+//= Need optimalization and fixing
+//= thanks to Komurka, KiLLaLeN, Lupus (fixing error)
+//= just a temp Job Quest
+//= 1.2 minor fix of announcement by Freya people
+//= 1.3 Added Baby Class Support, fixed 40/50 lvl item reward
+//= also fixed too common script names [Lupus]
+//= 1.3a fixed "dead lock" bugs [Lupus]
+//= 1.3b changed monsters ID in patience test [Komurka]
+//= 1.4 Fixed Job Level parameters mix-up. [massdriller] (Thanks to Komurka)
+//= 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 Updated names and required items, Chivalry Emblem +
+//= Hand of God allow to skip item gathering [DracoRPG]
+//= 2.0 Changed numbers to constants. [Vicious]
+//= 2.1 Fixed endless loop, wrong condition check [Lupus]
+//= also changed all job numbers to constants, fixed logic
diff --git a/npc/jobs/2-2/dancer.txt b/npc/jobs/2-2/dancer.txt
new file mode 100644
index 000000000..db81f1a17
--- /dev/null
+++ b/npc/jobs/2-2/dancer.txt
@@ -0,0 +1,1400 @@
+//===== rAthena Script =======================================
+//= Dancer Job Quest
+//===== By: ==================================================
+//= Kalen - Original jAthena
+//= Fredzilla - Converted, Lupus
+//===== Current Version: =====================================
+//= 3.7
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= [Aegis Conversion]
+//= Job quest for Dancer classes
+//===== Additional Comments: =================================
+//= 3.2 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf]
+//= No longer uses function "F_BlockHigh"
+//= 3.2a Deleted unused variables. [Samuray22]
+//= 3.3 Updated waiting room. (Removes global var) [L0ne_W0lf]
+//= 3.4 Fixed bad variables, bugreport:1685 [Brainstorm]
+//= 3.5 Minor corrections to script. (bugreport:1766) [L0ne_W0lf]
+//= 3.6 Applied Correction bug with for loop. [L0ne_W0lf]
+//= 3.6a Fixed a little Exploit to bug the quest with a timeout. (bugreport:2252) [Samuray22]
+//= 3.7 Added Quest Log commands. [Kisuka]
+//============================================================
+
+comodo,180,153,4 script Sonotora#1 90,{
+ mes "[Athena Sonotora]";
+ mes "They say the";
+ mes "famous dance school";
+ mes "here in Comodo is going";
+ mes "to open soon.";
+ next;
+ mes "[Athena Sonotora]";
+ mes "Aah...";
+ mes "To be a prima donna";
+ mes "in the spotlight!";
+ next;
+ mes "[Athena Sonotora]";
+ mes "I want to sign up too,";
+ mes "but the requirements are";
+ mes "so specific. I wonder if";
+ mes "I should just try anyways...";
+ close;
+}
+
+comodo,193,151,4 script Bor Robin#1 86,{
+ mes "[Bor Robin]";
+ mes "Aah....";
+ mes "A prima donna";
+ mes "in the spotlight!";
+ mes "I'll be able to watch them become Dancers right before my eyes...!";
+ next;
+ mes "[Bor Robin]";
+ mes "It's great to be";
+ mes "a man in this day and age! Hurray for the Comodo Theater!";
+ next;
+ mes "[Bor Robin]";
+ mes "Mm?";
+ mes "You want";
+ mes "to go, too?";
+ mes "It's a good opportunity to watch the Dancer job change test.";
+ next;
+ if (select("Go to the Job Change Area:Cancel") == 1) {
+ mes "[Bor Robin]";
+ mes "Yaay~~";
+ mes "Let's go!";
+ close2;
+ warp "job_duncer",70,49;
+ end;
+ }
+ mes "[Bor Robin]";
+ mes "Huh...";
+ mes "Well, I can't";
+ mes "help it if you don't";
+ mes "want to accompany me.";
+ close;
+}
+
+job_duncer,43,93,4 script Aile#da 724,{
+ if (Upper == 1) {
+ mes "[Aile]";
+ mes "One two three four,";
+ mes "Two two three four,";
+ mes "three four, three four,";
+ mes "one two three four.";
+ mes "Um?";
+ next;
+ mes "[Aile]";
+ mes "I'm sorry, but you're interrupting my practice by looking at me funny.";
+ next;
+ mes "[Aile]";
+ mes ".......";
+ mes ".....Hey, haven't I seen you before?";
+ next;
+ mes "[Aile]";
+ mes "Err...";
+ mes "That's weird, I can't remember where I've seen you.";
+ close2;
+ cutin "",255;
+ end;
+ }
+ if (BaseJob != Job_Archer) {
+ if (BaseJob == Job_Bard) {
+ cutin "job_dancer_eir01",2;
+ mes "[Aile]";
+ mes "Welcome~!";
+ mes "Let me know";
+ mes "if you have any new songs. We can always use some new music to complement our performances.";
+ close2;
+ cutin "",255;
+ end;
+ }
+ else if (BaseJob == Job_Dancer) {
+ cutin "",2;
+ mes "[Aile]";
+ mes "Welcome~!";
+ mes "How are you";
+ mes "these days?";
+ mes "Do many people enjoy";
+ mes "your performances?";
+ close2;
+ cutin "",255;
+ end;
+ }
+ cutin "job_dancer_eir03",2;
+ mes "[Aile]";
+ mes "Welco--Mmm?";
+ mes "Hey, only authorized personnel can come here. Not just anyone can enter the Dance School.";
+ next;
+ mes "[Aile]";
+ mes "If you want to watch, why don't you go to the Dance Stage in town?";
+ close2;
+ cutin "",255;
+ end;
+ }
+ if (DANC_Q == 0 && sex == 0 && BaseJob == Job_Archer) {
+ cutin "job_dancer_eir01",2;
+ mes "[Aile]";
+ mes "Welcome~!";
+ mes "This is the";
+ mes "'Comodo Dance School,'";
+ mes "where we teach various dances from different countries. We provide entertainement for travelers from all over the world.";
+ next;
+ mes "[Aile]";
+ mes "We also provide the opportunity for aspiring Dancers to become famous throughout the Rune-Midgarts Kingdom! Doesn't dancing in the spotlight sound spectacular?";
+ next;
+ mes "[Aile]";
+ mes "I think it's fair to let you know that our school is selective. So we don't accept students who don't seem to have the talent to become Dancers.";
+ next;
+ cutin "job_dancer_eir02",2;
+ mes "[Aile]";
+ mes "What do you think?";
+ mes "Do you want to sign up? You only have to write a couple of things on the application, and you can just come to the lessons once or twice and try it out.";
+ next;
+ cutin "job_dancer_eir01",2;
+ mes "[Aile]";
+ mes "So what do";
+ mes "you want to do~?";
+ next;
+ if (select("Fill out the application.:I'll pass.") == 1) {
+ if (JobLevel > 39) {
+ cutin "job_dancer_eir02",2;
+ mes "[Aile]";
+ mes "Good choice!!";
+ mes "Just fill out the application right there.";
+ next;
+ mes "...";
+ next;
+ mes "...";
+ mes "......";
+ next;
+ mes "^3355FF*Shuffle Shuffle*^000000";
+ next;
+ cutin "job_dancer_eir01",2;
+ mes "[Aile]";
+ mes "Your name is";
+ mes "" + strcharinfo(0) + "?";
+ mes "Wow! What a pretty name! Just a moment, I have to show this to the director, so come back in a little bit, okay?";
+ close2;
+ cutin "",255;
+ set DANC_Q,1;
+ setquest 7000;
+ end;
+ }
+ else {
+ cutin "job_dancer_eir01",2;
+ mes "[Aile]";
+ mes "Mmm...";
+ mes "It seems that";
+ mes "you aren't quite qualified to enroll in our school yet. You need to be at least Job Level 40.";
+ next;
+ mes "[Aile]";
+ mes "Well, I hope";
+ mes "that you apply";
+ mes "again when you meet";
+ mes "the requirements.";
+ close2;
+ cutin "",255;
+ end;
+ }
+ }
+ cutin "job_dancer_eir01",2;
+ mes "[Aile]";
+ mes "Aww~";
+ mes "Just think about it.";
+ mes "Don't forget to come back";
+ mes "if you change your mind.";
+ close2;
+ cutin "",255;
+ end;
+ }
+ else if (sex == 1) {
+ cutin "job_dancer_eir03",2;
+ mes "[Aile]";
+ mes "Welco--Mmm?";
+ mes "Hey, this place is only for authorized personnel. If you want to sing, you should go look into being a Bard.";
+ next;
+ mes "[Aile]";
+ mes "Not all Archers";
+ mes "can become Dancers.";
+ mes "At least, not without some sort of sex change~";
+ close2;
+ cutin "",255;
+ end;
+ }
+ else if (DANC_Q == 1) {
+ cutin "job_dancer_eir01",2;
+ mes "[Aile]";
+ mes "Good.";
+ mes "Since you signed up earlier, I'll let you know some things you'll need to bring for your lessons.";
+ next;
+ mes "[Aile]";
+ mes "We're short on some supplies, but you'll be using them for yourself anyway. Just think of it as part of the tuition, so don't worry too much.";
+ next;
+ set .@item_nd,rand(1,10);
+ if (.@item_nd > 0 && .@item_nd < 3) {
+ set DANC_Q,2;
+ changequest 7000,7001;
+ mes "[Aile]";
+ mes "First, there's the tuition fee of ^CD688910,000 Zeny^000000. Then, you'll about ^CD688920 Sticky Mucus^000000 for shoe polish.";
+ next;
+ mes "[Aile]";
+ mes "Then, bring ^CD68893 Jellopy^000000 and ^CD68895 Red Potions^000000 to use as ointment. And of course, you'll need a pair of ^CD6889Shoes^000000.";
+ next;
+ mes "[Aile]";
+ mes "Once again, that's";
+ mes "^CD688910,000 Zeny^000000,";
+ mes "^CD688920 Sticky Mucus^000000,";
+ mes "^CD68893 Jellopy^000000,";
+ mes "^CD68895 Red Potions^000000 and";
+ mes "^CD68891 Shoes^000000.";
+ }
+ else if (.@item_nd == 4) {
+ set DANC_Q,3;
+ changequest 7000,7002;
+ mes "[Aile]";
+ mes "First, there's the tuition fee of ^CD688910,000 Zeny^000000. Then, bring ^CD68895 Earthworm Peelings^000000 for polishing the floor and, of course, a pair of ^CD6889Boots^000000.";
+ next;
+ mes "[Aile]";
+ mes "Once again that's";
+ mes "^CD688910,000 Zeny^000000,";
+ mes "^CD68895 Earthworm Peelings^000000 and ";
+ mes "^CD68891 Boots^000000.";
+ }
+ else {
+ set DANC_Q,4;
+ changequest 7000,7003;
+ mes "[Aile]";
+ mes "First, there's the tuition fee of ^CD688910,000 Zeny^000000. Then, bring ^CD68892 Clam Shells^000000 for your costume, ^CD68895 Yellow Potions^000000 and ^CD688920 Jellopy^000000 to treat foot injuries.";
+ next;
+ mes "[Aile]";
+ mes "You'll also need to bring ^CD688910 Black Hairs^000000 to make wigs for the performances and, of course, a pair of ^CD6889Sandals^000000. Once again, that's...";
+ next;
+ mes "[Aile]";
+ mes "^CD688910,000 Zeny^000000,";
+ mes "^CD68892 Clam Shells^000000,";
+ mes "^CD68895 Yellow Potions^000000,";
+ mes "^CD688920 Jellopy^000000,";
+ mes "^CD688910 Black Hairs^000000 and";
+ mes "^CD6889Sandals^000000.";
+ }
+ next;
+ mes "[Aile]";
+ mes "Once you've gathered everything that you need, come back so that we can begin the lessons, okay?";
+ close2;
+ cutin "",255;
+ end;
+ }
+ else if (DANC_Q >= 2 && DANC_Q <= 4) {
+ switch(DANC_Q) {
+ case 2:
+ setarray .@item[0], 938,909,501,2403;
+ setarray .@count[0], 20,3,5,1;
+ break;
+ case 3:
+ setarray .@item[0], 1055,2405;
+ setarray .@count[0], 5,1;
+ break;
+ case 4:
+ setarray .@item[0], 965,503,909,1020,2401;
+ setarray .@count[0], 2,5,20,10,1;
+ break;
+ }
+ set .@size, getarraysize(.@item);
+ for( set .@i, 0; .@i < .@size; set .@i,.@i+1 ) {
+ if( countitem(.@item[.@i]) < .@count[.@i] ) {
+ break;
+ }
+ }
+ if( .@i == .@size && Zeny > 9999 ) {
+ cutin "job_dancer_eir02",2;
+ mes "[Aile]";
+ mes "Oh...!";
+ mes "You brought";
+ mes "everything!";
+ mes "Alright then,";
+ mes "let me take your";
+ mes "tuition fee.";
+ next;
+ cutin "job_dancer_eir01",2;
+ set zeny,zeny-10000;
+ mes "[Aile]";
+ mes "Next, go to ^CD6889Bijou^000000, who is in charge of the interviewing process. She will have a couple of things she'll need to ask you.";
+ set DANC_Q,5;
+ if(checkquest(7001) != -1) {
+ changequest 7001,7004;
+ }
+ else if(checkquest(7002) != -1) {
+ changequest 7002,7004;
+ }
+ else {
+ changequest 7003,7004;
+ }
+ close2;
+ cutin "",255;
+ end;
+ }
+ else {
+ cutin "job_dancer_eir01",2;
+ mes "[Aile]";
+ mes "Mmm...?";
+ mes "You don't have";
+ mes "everything yet?";
+ mes "Let me remind you";
+ mes "so you can bring";
+ mes "what you need next time.";
+ next;
+ mes "[Aile]";
+ mes "Bring...";
+ mes "^CD688910,000 Zeny^000000,";
+ if (DANC_Q == 2) {
+ mes "^CD6889"+.@count[0]+" "+getitemname(.@item[0])+"^000000,";
+ mes "^CD6889"+.@count[1]+" "+getitemname(.@item[1])+"^000000,";
+ mes "^CD6889"+.@count[2]+" "+getitemname(.@item[2])+"^000000 and";
+ mes "^CD6889"+.@count[3]+" "+getitemname(.@item[3])+"^000000.";
+ }
+ else if (DANC_Q == 3) {
+ mes "^CD6889"+.@count[0]+" "+getitemname(.@item[0])+"^000000 and";
+ mes "^CD6889"+.@count[1]+" "+getitemname(.@item[1])+"^000000.";
+ }
+ else {
+ mes "^CD6889"+.@count[0]+" "+getitemname(.@item[0])+"^000000,";
+ mes "^CD6889"+.@count[1]+" "+getitemname(.@item[1])+"^000000,";
+ mes "^CD6889"+.@count[2]+" "+getitemname(.@item[2])+"^000000,";
+ mes "^CD6889"+.@count[3]+" "+getitemname(.@item[3])+"^000000 and";
+ mes "^CD6889"+.@count[4]+" "+getitemname(.@item[4])+"^000000.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ }
+ }
+ else if (DANC_Q == 5) {
+ cutin "job_dancer_eir01",2;
+ mes "[Aile]";
+ mes "Hmm...?";
+ mes "Are you having";
+ mes "trouble finding";
+ mes "^CD6889Bijou^000000?";
+ next;
+ mes "[Aile]";
+ mes "You need to talk to her because she's in charge of the interviewing process. Don't worry, she should be somewhere here in the Dance School.";
+ close2;
+ cutin "",255;
+ end;
+ }
+ else if (DANC_Q > 5) {
+ cutin "job_dancer_eir01",2;
+ mes "[Aile]";
+ mes "I'll be looking";
+ mes "forward to a great";
+ mes "performance~";
+ close2;
+ cutin "",255;
+ end;
+ }
+ else {
+ cutin "job_dancer_eir03",2;
+ mes "[Aile]";
+ mes "Welcom--Hm?";
+ mes "Hey, only authorized";
+ mes "personnel are allowed";
+ mes "in here.";
+ next;
+ mes "[Aile]";
+ mes "If you want to watch, be quiet and don't disturb the performers. Everyone here is busy practicing so that they can become fine Dancers.";
+ close2;
+ cutin "",255;
+ end;
+ }
+}
+
+job_duncer,95,93,4 script Bijou#da 101,{
+ if (SkillPoint) {
+ mes "[Bijou]";
+ mes "You can't change jobs";
+ mes "if you still have skill";
+ mes "points left. Use the rest";
+ mes "and come back later.";
+ close;
+ }
+ if (BaseJob != Job_Archer) {
+ if (BaseJob == Job_Bard) {
+ mes "[Bijou]";
+ mes "Welcome~";
+ mes "Ooh, a Bard! Do you have any new songs to show us? We can always use some musical accompaniment for our dances.";
+ close;
+ }
+ else if (BaseJob == Job_Dancer) {
+ mes "[Bijou]";
+ mes "Oh my...!";
+ mes "Welcome back~";
+ next;
+ mes "[Bijou]";
+ mes "How are you";
+ mes "these days?";
+ mes "A lot of people";
+ mes "must love watching";
+ mes "you dance. Are you";
+ mes "enjoying the spotlight?";
+ close;
+ }
+ mes "[Bijou]";
+ mes "Oh dear~";
+ mes "You seem to have traveled quite a distance to watch me perform.";
+ next;
+ mes "[Bijou]";
+ mes "I'm sorry, but I've retired. Now I'm focusing on training new Dancers. If you go to the Center Stage, you can watch my students~";
+ close;
+ }
+ else if (DANC_Q < 5) {
+ mes "[Bijou]";
+ mes "Oh my~";
+ mes "You want to";
+ mes "become a Dancer,";
+ mes "don't you?";
+ next;
+ mes "[Bijou]";
+ mes "I know you're excited, but the first step is the application. Go over to the left side of the stage where Aile can help you with that.";
+ close;
+ }
+ else if (DANC_Q > 4 && DANC_Q < 7) {
+ if (DANC_Q == 5) {
+ mes "[Bijou]";
+ mes "Oh my~";
+ mes "You want to";
+ mes "become a Dancer,";
+ mes "don't you?";
+ next;
+ mes "[Bijou]";
+ mes "G-goodness!";
+ mes "Look at that stomach fat!";
+ mes "Well, it's not much, so you'll lose it in no time. Especially since I'll be handling your training~";
+ next;
+ mes "[Bijou]";
+ mes "Still...";
+ mes "The idea of the";
+ mes "perfect body sure";
+ mes "has changed since";
+ mes "I was young. Anyway...";
+ next;
+ mes "[Bijou]";
+ mes "Let's start";
+ mes "with the interview.";
+ mes "I'm only going to ask";
+ mes "a couple of simple things";
+ mes "so don't worry~";
+ next;
+ mes "[Bijou]";
+ mes "Okay...";
+ mes "Let's begin.";
+ next;
+ }
+ else {
+ mes "[Bijou]";
+ mes "Oh, you're back~";
+ mes "Have you studied";
+ mes "some more? Try to";
+ mes "pass this time, okay?";
+ next;
+ }
+ switch(rand(1,3)) {
+ case 1:
+ mes "[Bijou]";
+ mes "1. The Dancer's dance, ^CD6889Lady Luck^000000,";
+ mes "increases which of the following?";
+ next;
+ if (select("Intelligence (INT):Dexterity (DEX):Vitality (VIT):Critical Attack Rate") == 4)
+ set .@da_score,.@da_score+10;
+ mes "[Bijou]";
+ mes "2. Of the following,";
+ mes "which can you not consider";
+ mes "to be a dance?";
+ next;
+ switch(select("Tango:Tap Dance:HIP-HOP:Hip Shaker:Lightning Bolt")) {
+ default:
+ set .@da_score,.@da_score-10;
+ break;
+ case 5:
+ set .@da_score,.@da_score+10;
+ break;
+ }
+ mes "[Bijou]";
+ mes "3. Which of the following";
+ mes "best describes a Dancer?";
+ next;
+ if (select("Person who yells.:A loud person.:A person who dances.:A person who sings.") == 3)
+ set .@da_score,.@da_score+10;
+ mes "[Bijou]";
+ mes "4. Which of the following";
+ mes "cannot be associated with Comodo?";
+ next;
+ if (select("Beach city.:Dancer Job Change.:Always dark like the night.:Dungeons in 3 directions.:A lot of Thieves.") == 5)
+ set .@da_score,.@da_score+10;
+ mes "[Bijou]";
+ mes "5. Before Comodo, what is the region name of the region NorthEast of Pharoah's Lighthouse Island?";
+ next;
+ if (select("Elmeth Plateau:Comuko Beach:Comodo Beach:Ginai Swamp") == 3)
+ set .@da_score,.@da_score+10;
+ mes "[Bijou]";
+ mes "6. Who is the most";
+ mes "beautiful dancer?";
+ next;
+ switch(select("" + strcharinfo(0) + ":Bijou:Aile:Bonjour")) {
+ case 1:
+ mes "[Bijou]";
+ mes "...";
+ mes "That's...";
+ mes "^660000completely wrong^000000.";
+ mes "Didn't you see the";
+ mes "other choices?!";
+ mes "Minus points...!";
+ set .@da_score,.@da_score-10;
+ next;
+ break;
+ case 2:
+ set .@da_score,.@da_score+10;
+ break;
+ default:
+ break;
+ }
+ mes "[Bijou]";
+ mes "7. Of the following,";
+ mes "who can perform together";
+ mes "with a Dancer?";
+ next;
+ if (select("Assassin:Bard:Alchemist:Sage") == 2)
+ set .@da_score,.@da_score+10;
+ mes "[Bijou]";
+ mes "8. Which of the following";
+ mes "is not a specialty of Comodo?";
+ next;
+ if (select("Berserk Potion:Clam Shell:Crab Shell:Shining Stone") == 4)
+ set .@da_score,.@da_score+10;
+ mes "[Bijou]";
+ mes "9. Who is the manager";
+ mes "of the Comodo Casino?";
+ next;
+ if (select("Yoo:Moo:Hoon:Roul") == 2)
+ set .@da_score,.@da_score+10;
+ mes "[Bijou]";
+ mes "10. Who accepts the";
+ mes "Dancer job change";
+ mes "applications?";
+ next;
+ if (select("Bijou:Aile:Athena:Sonotora") == 2)
+ set .@da_score,.@da_score+10;
+ break;
+ case 2:
+ mes "[Bijou]";
+ mes "1. What is the effect";
+ mes "of the combined skill,";
+ mes "^CD6889Mental Sensing^000000?";
+ next;
+ if (select("Instant monster death.:Doubles damage.:Increases experience.:Increases attack speed.") == 3)
+ set .@da_score,.@da_score+10;
+ mes "[Bijou]";
+ mes "2. Which is considered";
+ mes "bad etiquette on the dance";
+ mes "floor after a dance?";
+ next;
+ if (select("Thank your partner.:Praise your partner's dance.:Ask to dance a different dance.:Criticize your partner.") == 4)
+ set .@da_score,.@da_score+10;
+ mes "[Bijou]";
+ mes "3. Which is not an";
+ mes "appropriate response";
+ mes "when someone makes";
+ mes "a mistake while you";
+ mes "are dancing together?";
+ next;
+ if (select("Smile at each other and continue dancing.:Point out the mistake.:Ignore it if the dancer does not realize it.:Give them a smile.") == 2)
+ set .@da_score,.@da_score+10;
+ mes "[Bijou]";
+ mes "4. In which town";
+ mes "can you change jobs";
+ mes "to a Dancer?";
+ next;
+ if (select("Cocomo:Sandarman:Comudo:Comodo") == 4)
+ set .@da_score,.@da_score+10;
+ mes "[Bijou]";
+ mes "5. How many dungeons";
+ mes "are directly connected";
+ mes "to Comodo?";
+ next;
+ if (select("1:2:3:4") == 3)
+ set .@da_score,.@da_score+10;
+ mes "[Bijou]";
+ mes "6. Which of the following";
+ mes "is not a Cute Pet monster?";
+ next;
+ if (select("Isis:Argiope:Dokebi:Deviruchi") == 2)
+ set .@da_score,.@da_score+10;
+ mes "[Bijou]";
+ mes "7. Who is the most";
+ mes "graceful dancer?";
+ next;
+ switch(select("" + strcharinfo(0) + ":Bijou:Isis:Mercy Bokou")) {
+ case 1:
+ mes "[Bijou]";
+ mes "...";
+ mes "That's...";
+ mes "^660000completely wrong^000000.";
+ mes "Didn't you see the";
+ mes "other choices?!";
+ mes "Minus points...!";
+ set .@da_score,.@da_score-10;
+ next;
+ break;
+ case 2:
+ set .@da_score,.@da_score+10;
+ break;
+ default:
+ break;
+ }
+ mes "[Bijou]";
+ mes "8. What is the";
+ mes "exact name of the";
+ mes "Kafra in Comodo?";
+ next;
+ if (select("Kafra Headquarters:Kafra West Headquarters:Kafra Service:Kafra Headquarters: Western Branch") == 4)
+ set .@da_score,.@da_score+10;
+ mes "[......]";
+ mes "9. What is my name?";
+ next;
+ if (select("Borjuis:Bourgeois:Bijou:Beruberu") == 3)
+ set .@da_score,.@da_score+10;
+ mes "[Bijou]";
+ mes "10. What is the";
+ mes "effect of ^CD6889Lullaby^000000?";
+ next;
+ if (select("Casts the Blind effect in the area.:Casts the Sleep effect on the area.:Puts a night effect on the area.:Freezes the area.") == 2)
+ set .@da_score,.@da_score+10;
+ break;
+ case 3:
+ mes "[Bijou]";
+ mes "1. What is the effect";
+ mes "of the skill ^CD6889Dance Lessons^000000?";
+ next;
+ switch(select("Increases INT:Increases the effect of dancing skills:Increase damage of Whip weapons.:Inflict Stun on a certain area around the caster.")) {
+ default:
+ break;
+ case 2:
+ case 3:
+ set .@da_score,.@da_score+10;
+ break;
+ }
+ mes "[Bijou]";
+ mes "2. What dance uses shoes";
+ mes "that are designed to make";
+ mes "sound as the dancer rolls";
+ mes "their feet and taps the";
+ mes "ground to create a rhythm?";
+ next;
+ if (select("Tap Dance:Improve Concentration:Tango:Double Strafing") == 1)
+ set .@da_score,.@da_score+10;
+ mes "[Bijou]";
+ mes "3. Which of the following";
+ mes "is not a characteristic of a Dancer?";
+ next;
+ if (select("Uses Dance skills. :Attacks from a distance.:Uses Whips.:Uses Two-handed swords.") == 4)
+ set .@da_score,.@da_score+10;
+ mes "[Bijou]";
+ mes "4. Which town has";
+ mes "the most Dancers?";
+ next;
+ if (select("Al De Baran:Juno:Morroc:Comodo") == 4)
+ set .@da_score,.@da_score+10;
+ mes "[Bijou]";
+ mes "5. Of the following,";
+ mes "who dances most beautifully?";
+ next;
+ switch(select("" + strcharinfo(0) + ":Bijou:Isis:Guton Tak")) {
+ case 1:
+ mes "[Bijou]";
+ mes "...";
+ mes "That's...";
+ mes "^660000completely wrong^000000.";
+ mes "Didn't you see the";
+ mes "other choices?!";
+ mes "Minus points...!";
+ set .@da_score,.@da_score-10;
+ next;
+ break;
+ case 2:
+ set .@da_score,.@da_score+10;
+ break;
+ default:
+ break;
+ }
+ mes "[Bijou]";
+ mes "6. What is the Dancer";
+ mes "better at than the other";
+ mes "job classes?";
+ next;
+ if (select("Health:Acting :Dancing :Magic ") == 3)
+ set .@da_score,.@da_score+10;
+ mes "[Bijou]";
+ mes "7. Who is the manager";
+ mes "of the Comodo Casino?";
+ next;
+ if (select("Ryu:Moo:Roul:Hoon") == 2)
+ set .@da_score,.@da_score+10;
+ mes "[Bijou]";
+ mes "8. What item cannot";
+ mes "be equipped by a Dancer?";
+ next;
+ if (select("Kitty Band :Two-handed Sword:Sandals:Earring") == 2)
+ set .@da_score,.@da_score+10;
+ mes "[Bijou]";
+ mes "9. Do you think you";
+ mes "can say this quiz is";
+ mes "frustrating and annoying?";
+ next;
+ select("Yes:No");
+ set .@da_score,.@da_score+10;
+ mes "[Bijou]";
+ mes "10. Which of the following";
+ mes "is not a Jazz musician?";
+ next;
+ if (select("Art Blakey:Billie Holiday :Louis Armstrong :Bud Powell :Elder Willow ") == 5)
+ set .@da_score,.@da_score+10;
+ }
+ mes "[Bijou]";
+ mes "Good job~";
+ mes "It seems like you";
+ mes "answered all the";
+ mes "questions~";
+ next;
+ mes "[Bijou]";
+ mes "Let's see...";
+ mes "Your score is";
+ mes "" + .@da_score + " points...";
+ if (.@da_score == 100) {
+ set DANC_Q,7;
+ mes "Very well done!";
+ mes "A perfect score!";
+ next;
+ mes "[Bijou]";
+ mes "There aren't too many people who apply for the Dancer job with this kind of knowledge. I'm sorry for judging you by your looks~";
+ next;
+ mes "[Bijou]";
+ mes "Whew~";
+ mes "Now you only have the Dance Test. While we prepare the test, why don't you rest a bit? Ho ho ho~";
+ close;
+ }
+ else if (.@da_score > 70) {
+ set DANC_Q,7;
+ mes "It wasn't perfect, but I'll let you pass.";
+ close;
+ }
+ else {
+ set DANC_Q,6;
+ mes "You.. You failed!";
+ next;
+ mes "[Bijou]";
+ mes "Was it too hard?";
+ mes "When I was young, everyone knew at least enough to pass this test. Go and study some more before coming back, okay?";
+ close;
+ }
+ }
+ else if (DANC_Q == 7) {
+ mes "[Bijou]";
+ mes "Okay...";
+ mes "Are you ready";
+ mes "for the Dance Test?";
+ mes "If you like, I can";
+ mes "explain the instructions.";
+ next;
+ if (select("Listen to instructions.:Go to the testing area.") == 1) {
+ mes "[Bijou]";
+ mes "First of all, each person gets ^CD68891 minute^000000 for the test, and everyone dances ^CD6889one at a time^000000. Don't worry if you've never danced before~";
+ next;
+ mes "[Bijou]";
+ mes "Once you enter the testing area, you will see the stage. First, ^CD6889change your camera angle so that it faces forward^000000. It will probably work if you ^CD6889double-click on the right mouse button^000000.";
+ next;
+ mes "[Bijou]";
+ mes "If you don't reset your camera angle, you may get the ^CD6889Up, Down, Left, Right^000000 commands confused.";
+ next;
+ mes "[Bijou]";
+ mes "Wait for your turn in the ^CD6889waiting room^000000. If the person in front of you fails, or if it's your turn in line, your test will begin.";
+ next;
+ mes "[Bijou]";
+ mes "If there are a lot of people, not everyone might fit in the waiting room. If that's the case, just create an orderly line~";
+ next;
+ mes "[Bijou]";
+ mes "When the test begins, the music will be broadcast, as well as the direction in which you should move. Just follow the instructions and move your legs.";
+ next;
+ mes "[Bijou]";
+ mes "Remember, ^CD6889you will be disqualified if you don't perform the steps with the right timing^000000. Be careful, the test is very strict~";
+ close;
+ }
+ mes "[Bijou]";
+ mes "Well then~";
+ mes "Good luck...!!";
+ changequest 7004,7005;
+ set DANC_Q,8;
+ close2;
+ warp "job_duncer",105,109;
+ end;
+ }
+ else if (DANC_Q == 8) {
+ mes "[Bijou]";
+ mes "Oh my...";
+ mes "Did you";
+ mes "fail last time?";
+ mes "Don't worry, just";
+ mes "try to feel the rhythm~";
+ close2;
+ warp "job_duncer",105,109;
+ end;
+ }
+ else if (DANC_Q == 9) {
+ if (SkillPoint) {
+ mes "[Bijou]";
+ mes "You can't change jobs";
+ mes "if you still have skill";
+ mes "points left. Use the rest";
+ mes "and come back later.";
+ close;
+ }
+ mes "[Bijou]";
+ mes "Oh my...";
+ mes "I saw your";
+ mes "dance earlier.";
+ mes "You were great!";
+ next;
+ mes "[Bijou]";
+ mes "Your performance shows that you are than qualified to become a Dancer. Well then, let me change your job.";
+ next;
+ mes "[Bijou]";
+ mes "With the blessing of our goddess, you shall be reborn as a Dancer. From now on, no one will leave your presense without a smile~";
+ next;
+ set .@jlevel,JobLevel;
+ mes "[Bijou]";
+ completequest 7006;
+ callfunc "Job_Change",Job_Dancer;
+ callfunc "F_ClearJobVar";
+ mes "Ooh...!";
+ mes "You look great";
+ mes "as a Dancer~";
+ mes "Congratulations!";
+ next;
+ mes "[Bijou]";
+ mes "Here's a small";
+ mes "gift from me.";
+ mes "Please take it.";
+ mes "May your performances always bring joy to your audience~";
+ if (.@jlevel == 50)
+ getitem 1953,1; //Line_
+ else
+ getitem 1950,1; //Rope
+ close;
+ }
+}
+
+// Waiting Room
+//============================================================
+job_duncer,32,154,1 script Waiting Room#dance 66,{
+OnInit:
+ waitingroom "Waiting Room",20,"Waiting Room#dance::OnStartArena",1;
+ enablewaitingroomevent;
+ end;
+
+OnStartArena:
+ disablenpc "dance#up";
+ disablenpc "dance#down";
+ disablenpc "dance#left";
+ disablenpc "dance#right";
+ disablenpc "dance#cen";
+ donpcevent "dance#return::OnDisable";
+ warpwaitingpc "job_duncer",69,110,1;
+ donpcevent "Bijou#dance_timer::OnEnable";
+ disablewaitingroomevent;
+ end;
+
+OnEnable:
+ enablewaitingroomevent;
+ end;
+}
+
+job_duncer,32,154,1 script Waiting Room#click 66,{
+ mes "[Pyorgin]";
+ mes "Please wait in";
+ mes "the waiting room.";
+ mes "Click the Chatroom";
+ mes "box to enter.";
+ next;
+ mes "[Pyorgin]";
+ mes "Also, those who";
+ mes "are curious about";
+ mes "the test can watch";
+ mes "backstage.";
+ close;
+}
+
+// Dance Timer
+//============================================================
+job_duncer,69,105,0 script Bijou#dance_timer -1,{
+OnEnable:
+ initnpctimer;
+ end;
+
+OnDisable:
+ stopnpctimer;
+ end;
+
+OnTimer2000:
+ mapannounce "job_duncer","Okay, let's begin. Now relax, the test is 1 minute~",bc_map;
+ end;
+
+OnTimer5000:
+ mapannounce "job_duncer"," Up!",bc_map;
+ end;
+
+OnTimer7000:
+ disablenpc "dance#up";
+ enablenpc "dance#down";
+ enablenpc "dance#left";
+ enablenpc "dance#right";
+ enablenpc "dance#cen";
+ end;
+
+OnTimer8000:
+ donpcevent "Backdancer#1::OnSmile";
+ disablenpc "dance#up";
+ disablenpc "dance#down";
+ disablenpc "dance#left";
+ disablenpc "dance#right";
+ disablenpc "dance#cen";
+ mapannounce "job_duncer"," Down!",bc_map;
+ end;
+
+OnTimer11000:
+ enablenpc "dance#up";
+ disablenpc "dance#down";
+ enablenpc "dance#left";
+ enablenpc "dance#right";
+ enablenpc "dance#cen";
+ end;
+
+OnTimer12000:
+ donpcevent "Backdancer#1::OnSmile";
+ disablenpc "dance#up";
+ disablenpc "dance#down";
+ disablenpc "dance#left";
+ disablenpc "dance#right";
+ disablenpc "dance#cen";
+ mapannounce "job_duncer"," Left~!",bc_map;
+ end;
+
+OnTimer15000:
+ enablenpc "dance#up";
+ enablenpc "dance#down";
+ disablenpc "dance#left";
+ enablenpc "dance#right";
+ enablenpc "dance#cen";
+ end;
+
+OnTimer16000:
+ donpcevent "Backdancer#1::OnSmile";
+ disablenpc "dance#up";
+ disablenpc "dance#down";
+ disablenpc "dance#left";
+ disablenpc "dance#right";
+ disablenpc "dance#cen";
+ mapannounce "job_duncer"," Left, then Right~!",bc_map;
+ end;
+
+OnTimer19000:
+ enablenpc "dance#up";
+ enablenpc "dance#down";
+ enablenpc "dance#left";
+ disablenpc "dance#right";
+ enablenpc "dance#cen";
+ end;
+
+OnTimer20000:
+ donpcevent "Backdancer#1::OnSmile";
+ disablenpc "dance#up";
+ disablenpc "dance#down";
+ disablenpc "dance#left";
+ disablenpc "dance#right";
+ disablenpc "dance#cen";
+ mapannounce "job_duncer"," Back to the Center~ !",bc_map;
+ end;
+
+OnTimer23000:
+ enablenpc "dance#up";
+ enablenpc "dance#down";
+ enablenpc "dance#left";
+ enablenpc "dance#right";
+ disablenpc "dance#cen";
+ end;
+
+OnTimer23500:
+ donpcevent "Backdancer#1::OnSmile";
+ mapannounce "job_duncer"," Hold in place... ",bc_map;
+ end;
+
+OnTimer27000:
+ donpcevent "Backdancer#1::OnSmile";
+ mapannounce "job_duncer"," Hold then 'Improve Concentration!'",bc_map;
+ end;
+
+OnTimer28500:
+ mapannounce "job_duncer"," Pay attention! ",bc_map;
+ end;
+
+OnTimer30000:
+ donpcevent "Backdancer#1::OnSmile";
+ disablenpc "dance#up";
+ disablenpc "dance#down";
+ disablenpc "dance#left";
+ disablenpc "dance#right";
+ disablenpc "dance#cen";
+ mapannounce "job_duncer"," Left!",bc_map;
+ end;
+
+OnTimer34000:
+ enablenpc "dance#up";
+ enablenpc "dance#down";
+ disablenpc "dance#left";
+ enablenpc "dance#right";
+ enablenpc "dance#cen";
+ end;
+
+OnTimer35000:
+ donpcevent "Backdancer#1::OnSmile";
+ disablenpc "dance#up";
+ disablenpc "dance#down";
+ disablenpc "dance#left";
+ disablenpc "dance#right";
+ disablenpc "dance#cen";
+ mapannounce "job_duncer"," Down!",bc_map;
+ end;
+
+OnTimer38500:
+ mapannounce "job_duncer"," Down, then Right~ ",bc_map;
+ end;
+
+OnTimer40000:
+ enablenpc "dance#up";
+ enablenpc "dance#down";
+ enablenpc "dance#left";
+ disablenpc "dance#right";
+ enablenpc "dance#cen";
+ mapannounce "job_duncer"," Hold it~",bc_map;
+ end;
+
+OnTimer43000:
+ donpcevent "Backdancer#1::OnSmile";
+ disablenpc "dance#up";
+ disablenpc "dance#down";
+ disablenpc "dance#left";
+ disablenpc "dance#right";
+ disablenpc "dance#cen";
+ mapannounce "job_duncer"," Left, Center, Right, Up!",bc_map;
+ end;
+
+OnTimer49000:
+ disablenpc "dance#up";
+ enablenpc "dance#down";
+ enablenpc "dance#left";
+ enablenpc "dance#right";
+ enablenpc "dance#cen";
+ end;
+
+OnTimer50000:
+ donpcevent "Backdancer#1::OnSmile";
+ disablenpc "dance#up";
+ disablenpc "dance#down";
+ disablenpc "dance#left";
+ disablenpc "dance#right";
+ disablenpc "dance#cen";
+ mapannounce "job_duncer"," Right!",bc_map;
+ end;
+
+OnTimer53000:
+ enablenpc "dance#up";
+ enablenpc "dance#down";
+ enablenpc "dance#left";
+ disablenpc "dance#right";
+ enablenpc "dance#cen";
+ end;
+
+OnTimer54000:
+ donpcevent "Backdancer#1::OnSmile";
+ disablenpc "dance#up";
+ disablenpc "dance#down";
+ disablenpc "dance#left";
+ disablenpc "dance#right";
+ disablenpc "dance#cen";
+ mapannounce "job_duncer"," Left, Center, Down, Up~! ",bc_map;
+ end;
+
+OnTimer60000:
+ disablenpc "dance#up";
+ enablenpc "dance#down";
+ enablenpc "dance#left";
+ enablenpc "dance#right";
+ enablenpc "dance#cen";
+ end;
+
+OnTimer61000:
+ donpcevent "Backdancer#1::OnSmile";
+ disablenpc "dance#up";
+ disablenpc "dance#down";
+ disablenpc "dance#left";
+ disablenpc "dance#right";
+ disablenpc "dance#cen";
+ mapannounce "job_duncer"," Once again~ Left, Center, Down, Up~ ! ",bc_map;
+ end;
+
+OnTimer66000:
+ disablenpc "dance#up";
+ enablenpc "dance#down";
+ enablenpc "dance#left";
+ enablenpc "dance#right";
+ enablenpc "dance#cen";
+ end;
+
+OnTimer67000:
+ donpcevent "Backdancer#1::OnSmile";
+ disablenpc "dance#up";
+ disablenpc "dance#down";
+ disablenpc "dance#left";
+ disablenpc "dance#right";
+ disablenpc "dance#cen";
+ mapannounce "job_duncer"," Down~!",bc_map;
+ end;
+
+OnTimer69000:
+ enablenpc "dance#up";
+ disablenpc "dance#down";
+ enablenpc "dance#left";
+ enablenpc "dance#right";
+ enablenpc "dance#cen";
+ end;
+
+OnTimer70000:
+ donpcevent "Backdancer#1::OnSmile";
+ disablenpc "dance#up";
+ disablenpc "dance#down";
+ disablenpc "dance#left";
+ disablenpc "dance#right";
+ disablenpc "dance#cen";
+ mapannounce "job_duncer"," Left!",bc_map;
+ end;
+
+OnTimer74000:
+ enablenpc "dance#up";
+ enablenpc "dance#down";
+ disablenpc "dance#left";
+ enablenpc "dance#right";
+ enablenpc "dance#cen";
+ end;
+
+OnTimer75000:
+ donpcevent "Backdancer#1::OnSmile";
+ disablenpc "dance#up";
+ disablenpc "dance#down";
+ disablenpc "dance#left";
+ disablenpc "dance#right";
+ disablenpc "dance#cen";
+ mapannounce "job_duncer"," Center!",bc_map;
+ end;
+
+OnTimer80000:
+ enablenpc "dance#up";
+ enablenpc "dance#down";
+ enablenpc "dance#left";
+ enablenpc "dance#right";
+ disablenpc "dance#cen";
+ end;
+
+OnTimer81000:
+ donpcevent "Backdancer#1::OnSmile";
+ disablenpc "dance#up";
+ disablenpc "dance#down";
+ disablenpc "dance#left";
+ disablenpc "dance#right";
+ disablenpc "dance#cen";
+ mapannounce "job_duncer"," Okay, Finish~ 'Arrow Shower!'",bc_map;
+ end;
+
+OnTimer82000:
+ donpcevent "dance#poring::OnEnable";
+ end;
+
+OnTimer89000:
+ donpcevent "dance#poring::OnDisable";
+ donpcevent "dance#return::OnEnable";
+ end;
+}
+
+job_duncer,69,110,0 script dance#return -1,1,4,{
+OnTouch:
+ mapannounce "job_duncer","Good! Well done! Go back to Bijou!",bc_map;
+ set DANC_Q,9;
+ changequest 7005,7006;
+ warp "comodo",188,162;
+ end;
+
+OnDisable:
+ disablenpc "dance#return";
+ donpcevent "dance#return#2::OnDisable";
+ donpcevent "dance#return#3::OnDisable";
+ end;
+
+OnEnable:
+ enablenpc "dance#return";
+ donpcevent "dance#return#2::OnEnable";
+ end;
+}
+
+job_duncer,66,110,0 script dance#return#2 -1,1,1,{
+OnTouch:
+ set DANC_Q,9;
+ warp "comodo",188,162;
+ end;
+
+OnDisable:
+ disablenpc "dance#return#2";
+ end;
+
+OnEnable:
+ enablenpc "dance#return#2";
+ donpcevent "dance#return#3::OnEnable";
+ end;
+}
+
+job_duncer,72,110,0 script dance#return#3 -1,1,1,{
+OnTouch:
+ set DANC_Q,9;
+ warp "comodo",188,162;
+ end;
+
+OnDisable:
+ disablenpc "dance#return#3";
+ end;
+
+OnEnable:
+ enablenpc "dance#return#3";
+ donpcevent "Bijou#dance_timer::OnDisable";
+ donpcevent "Waiting Room#dance::OnEnable";
+ end;
+}
+
+// Dance Move Triggers
+//============================================================
+- script dancestep::StepTrigger -1,1,1,{
+OnTouch:
+ donpcevent "Backdancer#1::OnOmg";
+ mapannounce "job_duncer"," " + strcharinfo(0) + ", you lack rhythm... Your timing was too late!",bc_map;
+ set DANC_Q,8;
+ donpcevent "Bijou#dance_timer::OnDisable";
+ donpcevent "Waiting Room#dance::OnEnable";
+ warp "comodo",188,162;
+ end;
+}
+
+job_duncer,69,113,0 duplicate(StepTrigger) dance#up -1,1,1
+job_duncer,69,107,0 duplicate(StepTrigger) dance#down -1,1,1
+job_duncer,66,110,0 duplicate(StepTrigger) dance#left -1,1,1
+job_duncer,72,110,0 duplicate(StepTrigger) dance#right -1,1,1
+job_duncer,69,110,0 duplicate(StepTrigger) dance#cen -1,1,1
+
+job_duncer,10,10,0 script dance#poring -1,{
+OnEnable:
+ monster "job_duncer",69,106,"Poring",1002,1,"dance#poring::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ mapannounce "job_duncer"," Good! Well done! ",bc_map;
+ end;
+
+OnDisable:
+ killmonsterall "job_duncer";
+ end;
+
+}
+
+// Backup Dancers
+//============================================================
+job_duncer,63,110,4 script Backdancer#1::BackDancer 724,{
+ end;
+
+OnSmile:
+ Emotion e_no1;
+ donpcevent "Backdancer#2::OnSmile";
+ donpcevent "Backdancer#3::OnSmile";
+ donpcevent "Backdancer#4::OnSmile";
+ end;
+
+OnOmg:
+ Emotion e_omg;
+ donpcevent "Backdancer#2::OnOmg";
+ donpcevent "Backdancer#3::OnOmg";
+ donpcevent "Backdancer#4::OnOmg";
+ end;
+}
+
+job_duncer,66,113,4 script Backdancer#2 724,{
+ end;
+
+OnSmile:
+ Emotion e_no1;
+ end;
+
+OnOmg:
+ Emotion e_omg;
+ end;
+}
+
+job_duncer,72,113,4 script Backdancer#3 724,{
+ end;
+
+OnSmile:
+ Emotion e_no1;
+ end;
+
+OnOmg:
+ Emotion e_omg;
+ end;
+}
+
+job_duncer,75,110,4 script Backdancer#4 724,{
+ end;
+
+OnSmile:
+ Emotion e_no1;
+ end;
+
+OnOmg:
+ Emotion e_omg;
+ end;
+}
+
+//============================================================
+// Old changelog
+//============================================================
+//= 1.1 Removed the warp I left here my accident, added a check for using
+//= Improved Concentration and arrow shower, people could get away with it
+//= [Fredzilla]
+//= 1.0 I tried to keep as much the same from the Jap version as possible
+//= this turned out to be quite hard, but on the whole it is the same script
+//= I have added some new things, and changed some of the used commands,
+//= along with some optimization. [Fredzilla]
+//= 1.5 Added Baby Class Support [Fredzilla]
+//= 1.6 Added a func which prevent advanced classes passing
+//= 2nd Job Quests again. It also guides adv classes where
+//= to go. [Lupus]
+//= 2.0 Changed numbers to constants. [Vicious]
+//= 2.1 Script check #1. [Lance]
+//= 2.2 Fixed unpassable part, thx2 Alis [Lupus]
+//= 2.3 Updated initnpctimer to attach player to jobDq script [Skotlex]
+//= 2.4 Attached chrid to be able obtain player's SP on mobs death, optimized a bit [Lupus]
+//= 2.5 Final fix of chrid issues, changed 'Improved
+//= Concentration' to 'Attention Concentrate' [Lupus]
+//= 3.0 Some optimization, typos, added missing dialogues (4Kb lighter) [Lupus]
+//= 3.1 Implemented JOBLVL as in other quests [Lupus]
diff --git a/npc/jobs/2-2/monk.txt b/npc/jobs/2-2/monk.txt
new file mode 100644
index 000000000..869011f09
--- /dev/null
+++ b/npc/jobs/2-2/monk.txt
@@ -0,0 +1,2628 @@
+//===== rAthena Script =======================================
+//= Monk Job Quest
+//===== By: ==================================================
+//= Dino9021, Edited / Translated by Celest
+//===== Current Version: =====================================
+//= 2.5
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= [Aegis Conversion]
+//= Job quest for Monk classes
+//===== Additional Comments: =================================
+//= 2.2 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf]
+//= No longer uses function "F_BlockHigh"
+//= 2.3 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf]
+//= 2.3a Deleted unused variables. [Samuray22]
+//= 2.4 Added Quest Log commands. [Kisuka]
+//= 2.5 Removed the need for use of 'goto.' [L0ne_W0lf]
+//============================================================
+
+prt_monk,59,247,1 script Guarding Monk#mk 120,6,2,{
+ if (Upper == 1) {
+ mes "[Tohobu]";
+ mes "Hmm? What business do you have here?";
+ mes "If you wish to enter this sacred area,";
+ mes "you must give me your name and job level!";
+ next;
+ mes "[Tohobu]";
+ mes "....Eh?";
+ mes "Oh!^FF0000gosh^000000! I am sorry, I think I misunderstood you from someone I know.";
+ next;
+ mes "[Tohobu]";
+ mes ".......";
+ mes "........";
+ next;
+ mes "[Tohobu]";
+ mes "It is odd...I never misunderstand people...oh, well. Have a good day.";
+ close;
+ }
+ if (BaseJob == Job_Acolyte && MONK_Q == 0) {
+ mes "[Tohobu]";
+ mes "Hmm? What business do you have here?";
+ mes "If you wish to enter this sacred area,";
+ mes "you must give me your name and job level!";
+ next;
+ mes "[Tohobu]";
+ mes "Now, please tell me your name and job level.";
+ next;
+ if (select("Ignore him.:Tell him.") == 1) {
+ mes "[Tohobu]";
+ mes "To ignore another is disrespectful, get out!";
+ close2;
+ warp "prt_fild03",357,256;
+ end;
+ }
+ mes "[Tohobu]";
+ mes "Hmm... " + strcharinfo(0) + " is your name?";
+ mes "...did I say it right?";
+ mes "Okay, and your job level is " + JobLevel + " correct?";
+ next;
+ mes "[Tohobu]";
+ mes "Very well... why have you come here";
+ mes "" + strcharinfo(0) + "?";
+ next;
+ switch(select("To visit and learn about monks.:I wish to become a monk...:I'm tired and need to rest...")) {
+ case 1:
+ mes "[Tohobu]";
+ mes "I see...";
+ mes "We monks live our lives for spiritual enlightenment.";
+ mes "We improve our bodies as well as our minds to reach true inner peace.";
+ mes "May you find your inner peace as well.";
+ set MONK_Q,1;
+ close;
+ case 2:
+ if (BaseJob == Job_Acolyte && JobLevel > 39) {
+ mes "[Tohobu]";
+ mes "Hmm you seem as though you have been training for this...";
+ mes "That is good. Go see our sensei Moohae. Speak with him.";
+ mes "He will help you start your training.";
+ set MONK_Q,2;
+ setquest 3016;
+ close;
+ }
+ else if (BaseJob == Job_Acolyte && JobLevel < 40) {
+ mes "[Tohobu]";
+ mes "Hmm, you do not seem ready to become a monk.";
+ mes "To become a monk you must be,";
+ mes "at least a job level 40 Acolyte.";
+ mes "If not, you are not yet ready to become a monk.";
+ next;
+ mes "[Tohobu]";
+ mes "Come back to me when you have trained more";
+ mes "and I will let you know if you are ready.";
+ next;
+ mes "[Tohobu]";
+ mes "I hope that you will soon join us on our";
+ mes "path of inner peace and enlightenment.";
+ mes "I'll be waiting here for you.";
+ set MONK_Q,1;
+ close;
+ }
+ else {
+ mes "[Tohobu]";
+ mes "Hahahha that was a good joke!";
+ close;
+ }
+ case 3:
+ mes "[Tohobu]";
+ mes "Yes, we all need to take a rest once in a while...";
+ mes "It is a good idea not to stress your self.";
+ mes "Come in and make yourself comfortable.";
+ mes "Rest as long as you need to.";
+ next;
+ mes "[Tohobu]";
+ mes "I hope that you become energized";
+ mes "when observing our brothers in their";
+ mes "pursuit of spiritual enlightenment.";
+ mes "I hope you reach it too.";
+ set MONK_Q,1;
+ close;
+ }
+ }
+ else {
+ if (MONK_Q == 1 && BaseJob == Job_Acolyte) {
+ mes "[Tohobu]";
+ mes "What do you think? Did your visit reveal anything to your spirit?";
+ next;
+ switch(select("No...:I wish to become a monk.:I need to rest...")) {
+ case 1:
+ mes "[Tohobu]";
+ mes "I see, there is no shame in that.";
+ mes "I hope that your experience here with";
+ mes "our brothers has helped you become one";
+ mes "step closer to true enlightenment.";
+ set MONK_Q,1;
+ close;
+ case 2:
+ if (BaseJob == Job_Acolyte && JobLevel > 39) {
+ mes "[Tohobu]";
+ mes "Hmm you seem as though you have been training for this...";
+ mes "That is good. Go see our sensei Moohae. Speak with him.";
+ mes "He will help you start your training.";
+ set MONK_Q,2;
+ setquest 3016;
+ close;
+ }
+ else if (BaseJob == Job_Acolyte && JobLevel < 40) {
+ mes "[Tohobu]";
+ mes "Hmm, you do not seem ready to become a monk.";
+ mes "To become a monk you must be,";
+ mes "at least a job level 40 Acolyte.";
+ mes "If not, you are not yet ready to become a monk.";
+ next;
+ mes "[Tohobu]";
+ mes "Come back to me when you have trained more on your own";
+ mes "and I will let you know if you are ready.";
+ next;
+ mes "[Tohobu]";
+ mes "I hope that you will soon join us in our";
+ mes "path to inner peace and enlightenment.";
+ mes "I'll be waiting here for you.";
+ set MONK_Q,1;
+ close;
+ }
+ else {
+ mes "[Tohobu]";
+ mes "Hahahha that was a good joke!";
+ close;
+ }
+ case 3:
+ mes "[Tohobu]";
+ mes "Yes, we all need to take a rest once in a while...";
+ mes "It is a good idea not to stress your self.";
+ mes "Come in and make yourself comfortable.";
+ mes "Rest as long as you need to.";
+ next;
+ mes "[Tohobu]";
+ mes "I hope that you become energized";
+ mes "when observing our brothers in their";
+ mes "pursuit of spiritual enlightenment.";
+ mes "I hope you reach it too.";
+ set MONK_Q,1;
+ close;
+ }
+ }
+ if (MONK_Q == 0) {
+ mes "[Tohobu]";
+ mes "Hmm? What business do you have here?";
+ mes "If you wish to enter this sacred area,";
+ mes "You must give me your name, job level, and level!";
+ next;
+ mes "[Tohobu]";
+ mes "Now, please tell me your name as well as your job level!";
+ next;
+ if (select("Ignore.:Tell him.") == 1) {
+ mes "[Tohobu]";
+ mes "To ignore another is disrespectful, get out!";
+ close2;
+ warp "prt_fild03",357,256;
+ end;
+ }
+ mes "[Tohobu]";
+ mes "Hmm... " + strcharinfo(0) + " is your name?";
+ mes "...did I say it right?";
+ mes "Okay, and your job level is " + JobLevel + " correct?";
+ next;
+ mes "[Tohobu]";
+ mes "Okay, Now, why have you come here";
+ mes "" + strcharinfo(0) + "?";
+ next;
+ switch(select("To visit and learn about monks.:I wish to become a monk...:I'm tired and need to rest...")) {
+ case 1:
+ mes "[Tohobu]";
+ mes "I see...";
+ mes "We monks live our lives for God and spiritual enlightenment.";
+ mes "We improve our bodies as well as our minds to reach true inner peace.";
+ mes "May you find your inner peace as well.";
+ set MONK_Q,1;
+ close;
+ case 2:
+ if (BaseJob == Job_Acolyte && JobLevel > 39) {
+ mes "[Tohobu]";
+ mes "Hmm you seem as though you have been training for this...";
+ mes "That is good. Go see our sensei Moohae, speak with him";
+ mes "and he will help you start new training.";
+ set MONK_Q,2;
+ setquest 3016;
+ close;
+ }
+ else if (BaseJob == Job_Acolyte && JobLevel < 40) {
+ mes "[Tohobu]";
+ mes "Hmm, you do not seem ready to become a monk.";
+ mes "To become a monk you must be,";
+ mes "at least a job level 40 Acolyte.";
+ mes "If not, you are not yet ready to become a monk.";
+ next;
+ mes "[Tohobu]";
+ mes "Come back to me when you have trained more on your own";
+ mes "and I will let you know if you are ready.";
+ next;
+ mes "[Tohobu]";
+ mes "I hope that you will soon join us in our";
+ mes "path to inner peace and enlightenment.";
+ mes "I'll be waiting here for you.";
+ set MONK_Q,1;
+ close;
+ }
+ else {
+ mes "[Tohobu]";
+ mes "Hahahha that was a good joke!";
+ close;
+ }
+ case 3:
+ mes "[Tohobu]";
+ mes "Yes, we all need to take a rest once in a while...";
+ mes "It is a good idea not to stress your self.";
+ mes "Come in and make yourself comfortable.";
+ mes "Rest as long as you need to.";
+ next;
+ mes "[Tohobu]";
+ mes "I hope that you become energized";
+ mes "when observing our brothers in their";
+ mes "pursuit of spiritual enlightenment.";
+ mes "I hope you reach it too.";
+ set MONK_Q,1;
+ close;
+ }
+ }
+ else if (MONK_Q == 1) {
+ mes "[Tohobu]";
+ mes "Listen carefully on your journey.";
+ mes "There is much to learn.";
+ close;
+ }
+ else if (BaseJob == Job_Acolyte && MONK_Q == 2) {
+ mes "[Tohobu]";
+ mes "Hmm... would you like to meet sensei Moohae?";
+ mes "He is in the south east area in 'The Hall of Monks'.";
+ close;
+ }
+ else if (BaseJob == Job_Acolyte && MONK_Q > 2) {
+ mes "[Tohobu]";
+ mes "I hope you do well in your training and I look forward to seeing you again.";
+ close;
+ }
+ else {
+ mes "[Tohobu]";
+ mes "Welcome to the central chamber of our Church.";
+ mes "Please, try not to disturb the other monks.";
+ mes "Even if you are a monk yourself.";
+ close;
+ }
+ }
+
+OnTouch:
+ if (MONK_Q == 0) {
+ mes "[Tohobu]";
+ mes "How dare you set foot in";
+ mes "this holy building! ! !";
+ mes "Where is your respect?!";
+ next;
+ mes "[Tohobu]";
+ mes "Leave this place ! ! !";
+ close;
+ }
+ if (MONK_Q == 1) {
+ mes "[Tohobu]";
+ mes "Hmmm... come in.";
+ mes "You may learn something...";
+ close;
+ }
+ if (BaseJob == Job_Acolyte && MONK_Q == 2) {
+ mes "[Tohobu]";
+ mes "Hmm.....you wish to see our sensei Moohae?";
+ mes "He is in the south east section of this building.";
+ close;
+ }
+ if (BaseJob == Job_Acolyte && MONK_Q > 2) {
+ mes "[Tohobu]";
+ mes "I look forward to seeing you become a monk and joining us.";
+ close;
+ }
+ end;
+}
+
+monk_in,99,58,1 script Sensei Moohae#mk 60,{
+ mes "[Sensei Moohae]";
+ mes "Greetings, you seem to be on a pure path.";
+ mes "Come in, come in, what can I do for you today?";
+ next;
+ if (SkillPoint) {
+ mes "[Sensei Moohae]";
+ mes "If you have free skill points, you will lose them during a job change.";
+ mes "Make sure to use any skill points you have.";
+ close;
+ }
+ if (BaseJob == Job_Acolyte && MONK_Q == 2 && JobLevel > 39) {
+ mes "[Sensei Moohae]";
+ mes "I sense a fighting spirit, do you wish to become a monk? ";
+ next;
+ if (select("Yes.:No.") == 2) {
+ mes "[Sensei Moohae]";
+ mes "My apologies... It has been some time since";
+ mes "I have sensed someone with your strength.";
+ mes "I hope you find your path young one.";
+ close;
+ }
+ mes "[Sensei Moohae]";
+ mes "There are still those who wish to follow the old ways.";
+ if (Sex)
+ mes "A strong young man. I am pleased of your will to join us.";
+ else
+ mes "Such a delicate flower. I am pleased to see your will to join us.";
+ next;
+ mes "[Sensei Moohae]";
+ mes "Oh, you are the new pupil that wishes to join us...";
+ mes "Well there are a few things that you should know prior to beginning your training.";
+ next;
+ mes "[Sensei Moohae]";
+ mes "We monks are on a path of inner peace and enlightenment.";
+ mes "We strive to bring such peace to all others with great care.";
+ next;
+ mes "[Sensei Moohae]";
+ mes "We monks achieve this from mental and physical training.";
+ mes "We search for enlightenment in our surroundings and in nature.";
+ next;
+ mes "[Sensei Moohae]";
+ mes "It is, of course, important to always keep our original faith in God.";
+ next;
+ mes "[Sensei Moohae]";
+ mes "This is not an easy life and the true test of becoming a monk is having the ability to endure all of which I said...";
+ mes "The life of a monk is not for everybody, only those strong enough can become a monk.";
+ next;
+ mes "[Sensei Moohae]";
+ mes "Now, that you understand all of this,";
+ mes "prepare yourself to train";
+ mes "your strength and spirit.";
+ next;
+ mes "[Sensei Moohae]";
+ mes "Let us start with a simple task.";
+ next;
+ switch(rand(1,7)) {
+ case 1: setarray .@items[0], 938,5, 1055,10, 511,20, 3; changequest 3016,3017; break;
+ case 2: setarray .@items[0], 942,20, 1002,5, 510,3, 4; changequest 3016,3018; break;
+ case 3: setarray .@items[0], 905,30, 909,5, 955,10, 5; changequest 3016,3019; break;
+ case 4: setarray .@items[0], 943,5, 935,20, 912,5, 6; changequest 3016,3020; break;
+ case 5: setarray .@items[0], 7053,5, 509,10, 508,10, 7; changequest 3016,3021; break;
+ case 6: setarray .@items[0], 913,10, 948,4, 7033,20, 8; changequest 3016,3022; break;
+ case 7: setarray .@items[0], 1027,5, 1025,20, 1042,10, 9; changequest 3016,3023; break;
+ }
+ mes "[Sensei Moohae]";
+ mes .@items[1]+" "+getitemname(.@items[0])+",";
+ mes .@items[3]+" "+getitemname(.@items[2])+",";
+ mes .@items[5]+" "+getitemname(.@items[4])+".";
+ mes "Find these items and return to me.";
+ set MONK_Q,.@items[6];
+ next;
+ mes "[Sensei Moohae]";
+ switch (.@items[6]) {
+ case 3: mes "Why the face? This is a test of your abilities."; break;
+ case 4: mes "What's wrong? This is a test of your abilities."; break;
+ case 5: mes "You do understand don't you? This is a test of your abilities."; break;
+ case 6: mes "Don't look at me like that. This is a test of your abilities."; break;
+ case 7: mes "You don't seem concerned, this is a test of your abilities You should take this seriously."; break;
+ case 8: mes "It is a test of your abilities so make sure you acquire these on your own."; break;
+ case 9: mes "Don't be concerned, I believe you can do it. This is only to test your abilities."; break;
+ }
+ next;
+ mes "[Sensei Moohae]";
+ mes "If you are unable to return with these items, you are not yet ready to become a monk.";
+ mes "Be sure to collect all the items I listed.";
+ mes "May God be with you.";
+ close;
+ }
+ else if (MONK_Q == 3) {
+ mes "[Sensei Moohae]";
+ mes "You are back, did you bring what I asked?";
+ next;
+ if (countitem(938) > 4 && countitem(1055) > 9 && countitem(511) > 19) {
+ mes "[Sensei Moohae]";
+ mes "Well done, you found all the items.";
+ mes "I will tell this to the elders.";
+ set MONK_Q,10;
+ changequest 3017,3024;
+ delitem 938,5; //Sticky_Mucus
+ delitem 1055,10; //Earthworm_Peeling
+ delitem 511,20; //Green_Herb
+ next;
+ mes "[Sensei Moohae]";
+ mes "Let's see who is to see you next..";
+ mes "Ah... go find elder Touha.";
+ mes "He is in the north west.";
+ close;
+ }
+ else {
+ mes "[Sensei Moohae]";
+ mes "How can you think to be done?";
+ mes "You do not have what I asked for!";
+ mes "5 Sticky Mucus,";
+ mes "10 Earthworm Peeling,";
+ mes "20 Green Herb.";
+ mes "These are the items I require, go find them all.";
+ close;
+ }
+ }
+ else if (MONK_Q == 4) {
+ mes "[Sensei Moohae]";
+ mes "...eh?";
+ next;
+ if (countitem(942) > 19 && countitem(1002) > 4 && countitem(510) > 2) {
+ mes "[Sensei Moohae]";
+ mes "Very good, you found all the items.";
+ mes "I will tell this to the elders.";
+ set MONK_Q,10;
+ changequest 3018,3024;
+ delitem 942,20; //Yoyo_Tail
+ delitem 1002,5; //Iron_Ore
+ delitem 510,3; //Blue_Herb
+ next;
+ mes "[Sensei Moohae]";
+ mes "Let's see who is to see you next..";
+ mes "Ah... go find elder Touha.";
+ mes "He is in the north west.";
+ close;
+ }
+ else {
+ mes "[Sensei Moohae]";
+ mes "Why did you return?";
+ mes "You do not have what I asked for!";
+ mes "20 Yoyo Tail,";
+ mes "5 Iron Ore,";
+ mes "3 Blue Herb.";
+ mes "These are the items I require, go find them all.";
+ close;
+ }
+ }
+ else if (MONK_Q == 5) {
+ mes "[Sensei Moohae]";
+ mes "Hmm?";
+ next;
+ if (countitem(905) > 29 && countitem(909) > 4 && countitem(955) > 9) {
+ mes "[Sensei Moohae]";
+ mes "See, that wasn't so bad you real found all the items.";
+ mes "I will tell this to the elders.";
+ set MONK_Q,10;
+ changequest 3019,3024;
+ delitem 905,30; //Stem
+ delitem 909,5; //Jellopy
+ delitem 955,10; //Worm_Peelings
+ next;
+ mes "[Sensei Moohae]";
+ mes "The next step will be given";
+ mes "to you by Touha.";
+ mes "He is in the north west.";
+ close;
+ }
+ else {
+ mes "[Sensei Moohae]";
+ mes "How can you think to be done?";
+ mes "You do not have what I asked for!";
+ mes "30 Stem,";
+ mes "5 Jellopy";
+ mes "10 Worm Peelings";
+ mes "These are the items I require, go find them all.";
+ close;
+ }
+ }
+ else if (MONK_Q == 6) {
+ mes "[Sensei Moohae]";
+ mes "I have been waiting for you.";
+ next;
+ if (countitem(943) > 4 && countitem(935) > 19 && countitem(912) > 4) {
+ mes "[Sensei Moohae]";
+ mes "Impressive, you really found all the items.";
+ mes "I will tell this to the elders.";
+ set MONK_Q,10;
+ changequest 3020,3024;
+ delitem 943,5; //Solid_Shell
+ delitem 935,20; //Shell
+ delitem 912,5; //Zargon
+ next;
+ mes "[Sensei Moohae]";
+ mes "Your next step will be with..";
+ mes "elder Touha. Go find him.";
+ mes "He is in the north west.";
+ close;
+ }
+ else {
+ mes "[Sensei Moohae]";
+ mes "How can you think to be done?";
+ mes "You do not have what I asked for!";
+ mes "5 Solid Shell,";
+ mes "20 Shell,";
+ mes "5 Zargon.";
+ mes "These are the items I require, go find them all.";
+ close;
+ }
+ }
+ else if (MONK_Q == 7) {
+ mes "[Sensei Moohae]";
+ mes "Hello again. Back so soon?";
+ next;
+ if (countitem(7053) > 4 && countitem(509) > 9 && countitem(508) > 9) {
+ mes "[Sensei Moohae]";
+ mes "Very nice, you found all the items.";
+ mes "I will tell this to the elders.";
+ set MONK_Q,10;
+ changequest 3021,3024;
+ delitem 7053,5; //Cyfar
+ delitem 509,10; //White_Herb
+ delitem 508,10; //Yellow_Herb
+ next;
+ mes "[Sensei Moohae]";
+ mes "Let's see who is to see you next..";
+ mes "Ah... go find elder Touha.";
+ mes "He is in the north west.";
+ close;
+ }
+ else {
+ mes "[Sensei Moohae]";
+ mes "Where are the items...?";
+ mes "You do not have what I asked for!";
+ mes "5 Cyfar,";
+ mes "10 White Herb,";
+ mes "10 Yellow Herb.";
+ mes "These are the items I require, go find them all.";
+ close;
+ }
+ }
+ else if (MONK_Q == 8) {
+ mes "[Sensei Moohae]";
+ mes "Hmm?";
+ next;
+ if (countitem(913) > 9 && countitem(948) > 4 && countitem(7033) > 19) {
+ mes "[Sensei Moohae]";
+ mes "Excellent, all the items I asked for.";
+ mes "I will tell this to the elders.";
+ set MONK_Q,10;
+ changequest 3022,3024;
+ delitem 913,10; //Tooth_Of_Bat
+ delitem 948,5; //Bear's_Foot
+ delitem 7033,20; //Poison_Spore
+ next;
+ mes "[Sensei Moohae]";
+ mes "Let's see who is to see you next..";
+ mes "Ah... go find elder Touha.";
+ mes "He is in the north west.";
+ close;
+ }
+ else {
+ mes "[Sensei Moohae]";
+ mes "How can you think to be done?";
+ mes "You do not have what I asked for!";
+ mes "10 Tooth of Bat,";
+ mes "5 Bear's Foot skin";
+ mes "20 Poison Spore";
+ mes "These are the items I require, go find them all.";
+ close;
+ }
+ }
+ else if (MONK_Q == 9) {
+ mes "[Sensei Moohae]";
+ mes "Welcome back.";
+ next;
+ if (countitem(1027) > 4 && countitem(1025) > 19 && countitem(1042) > 9) {
+ mes "[Sensei Moohae]";
+ mes "Wow, you found all the items!!";
+ mes "I will tell this to the elders.";
+ set MONK_Q,10;
+ changequest 3023,3024;
+ delitem 1027,5; //Porcupine_Spike
+ delitem 1025,20; //Spiderweb
+ delitem 1042,10; //Short_Leg
+ next;
+ mes "[Sensei Moohae]";
+ mes "Let's see who is to see you next..";
+ mes "Ah... go find elder Touha.";
+ mes "He is in the north west.";
+ close;
+ }
+ else {
+ mes "[Sensei Moohae]";
+ mes "How can you think to be done?";
+ mes "You do not have what I asked for!";
+ mes "5 Porcupine Quill,";
+ mes "20 Cobweb,";
+ mes "10 Bug Leg.";
+ mes "These are the items I require, go find them all.";
+ close;
+ }
+ }
+ else if (MONK_Q > 9 && MONK_Q < 14) {
+ mes "[Sensei Moohae]";
+ mes "I told you already.";
+ mes "Go find ^CC0000Touha^000000.";
+ mes "He is a little north west of here.";
+ close;
+ }
+ else if (MONK_Q > 13 && MONK_Q < 26) {
+ mes "[Sensei Moohae]";
+ mes "Oh, are you still in the process of training?";
+ mes "Hurry and finish!";
+ close;
+ }
+ else if (MONK_Q > 25 && MONK_Q < 27) {
+ mes "[Sensei Moohae]";
+ mes "I hear good things coming from your training.";
+ mes "Good luck and work hard. You will do great things as a monk.";
+ close;
+ }
+ else if (MONK_Q == 27 && BaseJob == Job_Acolyte) {
+ mes "[Sensei Moohae]";
+ mes ".......Hmmm.....";
+ mes "Go to Tomoon, get a special potion from him. It will look like a green potion, but it isn't. Bring it to me...";
+ close;
+ }
+ else if (MONK_Q == 28 && BaseJob == Job_Acolyte) {
+ if (countitem(506) > 0) {
+ mes "[Sensei Moohae]";
+ mes "Do you still have the medicine you were supposed to bring?";
+ mes "You must drink that green potion to strengthen yourself for becoming a monk.";
+ }
+ else if (countitem(506) == 0) {
+ mes "[Sensei Moohae]";
+ mes "Have you finished the task? Good, so you do have what it takes to become a monk.";
+ mes "You didn't throw away the precious potion did you?";
+ next;
+ mes "[Sensei Moohae]";
+ mes "The potion you drank earlier must be taking its effect by now.";
+ mes "Now that you drank the potion your training to become a monk will begin shortly...";
+ next;
+ mes "[Sensei Moohae]";
+ mes "But first, answer me these questions.";
+ mes "Do you dedicate the remainder of your life to the pursuit of purity?";
+ next;
+ if (select("Yes.:No.") == 2) {
+ mes "[Sensei Moohae]";
+ mes "....with that kind of reply...";
+ mes "Have you not enough heart to become a monk?";
+ mes "Do you feel you have not suffered enough?";
+ next;
+ mes "[Sensei Moohae]";
+ mes "Think about it a little more and return!";
+ mes "We cannot accept a monk who is tainted with doubt...";
+ close;
+ }
+ mes "[Sensei Moohae]";
+ mes "Will you take advantage of the abilities gained through our training to use for personal benefit?";
+ next;
+ if (select("Yes.:No.") == 1) {
+ mes "[Sensei Moohae]";
+ mes "...then we cannot accept you as a monk. We, monks do not practice for personal benefit.";
+ mes "We lead our lives honorably and as holy executioners to the damned.";
+ next;
+ mes "[Sensei Moohae]";
+ mes "Go back where you're from and reconsider what it means to be a monk...";
+ mes "How you stand before me now, you will never last as a monk and will be tainted by that which is evil...";
+ close;
+ }
+ mes "[Sensei Moohae]";
+ mes "Will you punishing those who are against";
+ mes "veritas and aequitas? ^CCCCCC(Truth and Justice)^000000";
+ next;
+ if (select("Yes.:No.") == 2) {
+ mes "[Sensei Moohae]";
+ mes "Who do you think we, the monks are for!";
+ mes "Any creature that is against the will of such spawns from the dregs of the world!";
+ mes "They are not worthy to exist!";
+ next;
+ mes "[Sensei Moohae]";
+ mes "Return when you are ready to face and eliminate that which is evil.";
+ mes "Then you will know what you have to do next without my instructions.";
+ close;
+ }
+ mes "[Sensei Moohae]";
+ mes "Will you cooperate with others who have the same goal as yours and sacrifice yourself as a means to an end?";
+ next;
+ if (select("Yes.:No.") == 2) {
+ mes "[Sensei Moohae]";
+ mes "Did you say no...? This is unacceptable...";
+ mes "If you can help your comrades by sacrificing yourself that is a true display of purity.";
+ next;
+ mes "[Sensei Moohae]";
+ mes "Go back and contemplate upon what it means to sacrifice yourself for those you care for.";
+ mes "Sacrificing yourself for others may seem easy, but it's the most difficult thing to do as a human being.";
+ close;
+ }
+ mes "[Sensei Moohae]";
+ mes "Will you assist your comrades by gathering monsters to follow you?";
+ next;
+ if (select("Yes.:No.") == 1) {
+ mes "[Sensei Moohae]";
+ mes "That is not acceptable. Purposely taunting monsters to follow you can be very dangerous and harmful to others. This is not the way of a monk.";
+ mes "... that behavior is regarded as careless and is not tolerated.";
+ next;
+ mes "[Sensei Moohae]";
+ mes "Even though you may be nearly invincible when hardening your body that skill is meant to be used for emergency situation not to be used for such disrespectful use!";
+ next;
+ mes "[Sensei Moohae]";
+ mes "You might feel that's helping others, but it's not true.";
+ mes "Consider what it is you must do as a monk for others again.";
+ close;
+ }
+ mes "[Sensei Moohae]";
+ mes "Will you yell and shout the same things over and over again in towns or in fields?";
+ next;
+ if (select("Yes.:No.") == 1) {
+ mes "[Sensei Moohae]";
+ mes "You are not allowed to do so. This doesn't apply only to monks but to everyone.";
+ mes "Nobody wants their peace disturbed!";
+ mes "Even if you mean well by it, it is disrespectful and not allowed.";
+ close;
+ }
+ mes "[Sensei Moohae]";
+ mes "Are you willing to die for others on your monk's path of being a holy executioner?";
+ next;
+ if (select("Yes.:No.") == 2) {
+ mes "[Sensei Moohae]";
+ mes "You cannot become a monk with such an attitude!!!";
+ mes "If we can eliminate at least one more enemy of ours by sacrificing ourselves, that's what is expected of you as a holy executioner in whom we are trained to be.";
+ next;
+ mes "[Sensei Moohae]";
+ mes "If you are unwilling to sacrifice yourself for those you care about,";
+ mes "how can you expect to reach true enlightenment?";
+ mes "Ponder upon the real meaning of life and death!!";
+ close;
+ }
+ mes "Lastly, make your oath that you will keep these vows.";
+ next;
+ if (select(" I vow to keep these oaths.:...eh...no...") == 2) {
+ mes "[Sensei Moohae]";
+ mes "..............";
+ next;
+ mes "[Sensei Moohae]";
+ mes "Then your training isn't completed.";
+ if (Sex)
+ mes "You will not be accepted as a monk my boy.";
+ else
+ mes "You will not be accepted as a monk little girl.";
+ next;
+ mes "[Sensei Moohae]";
+ mes "In light of this, your training will start again from the beginning....";
+ next;
+ mes "Calm down yourself... I reconsidered... perhaps you are simply not ready for the commitment yet.";
+ mes "Come back later when you're ready...";
+ next;
+ mes "[Sensei Moohae]";
+ if (Sex)
+ mes "I hope that you are able to realize what you are to become soon my boy...";
+ else
+ mes "I hope that you are able to realize what you are to become soon my girl...";
+ close;
+ }
+ mes "[Sensei Moohae]";
+ mes "Then your training is complete...";
+ mes "Please come closer.";
+ if (Sex)
+ mes "We welcome you brother, in our holy battle against evil!";
+ else
+ mes "We welcome you sister, in our holy battle against evil!";
+ next;
+ mes "[Sensei Moohae]";
+ if (Sex)
+ mes "My brother, your oath has been heard by all around us.";
+ else
+ mes "My sister, your oath has been heard by all around us.";
+ next;
+ mes "[Sensei Moohae]";
+ mes "I will now perform the ultimate techniques upon your body...";
+ next;
+ mes "[Sensei Moohae]";
+ mes "I will use these ancient techniques to amplify your strength through the use of pressure points on your body.";
+ next;
+ mes "[Sensei Moohae]";
+ mes "Close your eyes.........";
+ next;
+ mes "[Sensei Moohae]";
+ mes "And relax your body.......";
+ next;
+ mes "["+ strcharinfo(0) +"]";
+ mes "^00CCCC- You breathe in deeply -^000000";
+ next;
+ mes "["+ strcharinfo(0) +"]";
+ mes "^CC0000- You feel fingers poking you all over your body with swiftness -^000000";
+ next;
+ mes "[Sensei Moohae]";
+ mes "Kiiii~~~Yahahhhhhhh!!!";
+ next;
+ mes "[Sensei Moohae]";
+ mes "Ooooohaaa!!!";
+ next;
+ mes "[Sensei Moohae]";
+ mes "Kiii~~~Yahahhhhhhh!!!";
+ next;
+ mes "[Sensei Moohae]";
+ mes "Haa~ Haa~ Haa~!!!!!";
+ next;
+ mes "[Sensei Moohae]";
+ mes ".... now open your eyes......";
+ next;
+ mes "[Sensei Moohae]";
+ mes "....and see life through the eyes of a monk.";
+ next;
+ set .@jlevel,JobLevel;
+ completequest 3032;
+ callfunc "Job_Change",Job_Monk;
+ callfunc "F_ClearJobVar";
+ mes "[Sensei Moohae]";
+ mes "....You are a monk.";
+ next;
+ mes "[Sensei Moohae]";
+ mes "...heh.";
+ next;
+ mes "[Sensei Moohae]";
+ mes "Well...I guess I am too old to do that anymore...I was better when I was younger...";
+ next;
+ mes "[Sensei Moohae]";
+ mes "...anyways, you are a monk now.";
+ mes "Welcome!";
+ next;
+ mes "[Sensei Moohae]";
+ mes "I hope you will keep your vow..";
+ next;
+ mes "[Sensei Moohae]";
+ mes "continue your training on your path and practice harder.";
+ next;
+ mes "[Sensei Moohae]";
+ mes "Now...you may leave where the wind may take you.";
+ mes "Oh and I have a gift for you before you leave.";
+ if (.@jlevel == 50)
+ getitem 1804,1; //Knuckle_Duster_
+ else
+ getitem 1801,1; //Waghnakh
+ }
+ close;
+ }
+ else if (BaseJob == Job_Acolyte) {
+ mes "[Sensei Moohae]";
+ mes "You are...an acolyte..?";
+ mes "If you seek consultation, go to the Sanctuary in Prontera. This place is for Monks, not for you.";
+ mes "Unless you intend to become a monk....please leave.";
+ close;
+ }
+ else if (BaseJob == Job_Monk) {
+ mes "[Sensei Moohae]";
+ mes "How's your practice going?";
+ mes "I hope you are still training and keeping your vows.";
+ next;
+ mes "[Sensei Moohae]";
+ mes "We must always continue our training in life and stay true to our path.";
+ mes "Otherwise evil will come and taint our mind with impurities.";
+ next;
+ mes "[Sensei Moohae]";
+ mes "Don't forget your vows, stay on your path and";
+ mes "do not let any evil taint your pure heart.";
+ close;
+ }
+ else {
+ mes "[Sensei Moohae]";
+ mes "If you seek consultation, go to the Sanctuary in Prontera.";
+ mes "We do not have anything of interest to you here, please leave and do not disturb the other monks.";
+ close;
+ }
+}
+
+prt_monk,251,255,1 script Touha#mk 79,{
+ if (MONK_Q >= 10 && MONK_Q < 14) {
+ if (MONK_Q == 10) {
+ mes "[Touha]";
+ mes "What brings you to me.";
+ mes "Do you wish to share a conversation with me?";
+ next;
+ mes "[Touha]";
+ mes "Oh, I see. You're on the monk in training.";
+ mes "You already possess a similar spirit as a monk's.";
+ next;
+ mes "[Touha]";
+ mes "By the looks of you, it seems, you";
+ mes "have already visited Sensei Moohae. Good.";
+ next;
+ mes "[Touha]";
+ mes "Let me inform you about certain things you must know as a monk.";
+ mes "Then I will help you to strengthen your body so that you can bear your next training.";
+ next;
+ mes "[Touha]";
+ mes "Calm your mind.";
+ mes "Relax your body...are you ready?";
+ next;
+ if (select("Yes.:No.") == 2) {
+ mes "[Touha]";
+ mes "Please come back when you're ready.";
+ close;
+ }
+ mes "[Touha]";
+ mes "Ok...then.";
+ next;
+ mes "[Touha]";
+ mes "Please repeat after me.";
+ next;
+ changequest 3024,3025;
+ }
+ else {
+ mes "[Touha]";
+ mes "Now, pay attention this time...";
+ next;
+ }
+ mes "[Touha]";
+ set .@rand,rand(1,3);
+ if ((.@rand == 1) || (MONK_Q == 11)) {
+ set MONK_Q,11;
+ mes "I seek the path";
+ next;
+ mes "[Touha]";
+ mes "of enlightenment.";
+ next;
+ mes "[Touha]";
+ mes "We monks";
+ next;
+ mes "[Touha]";
+ mes "shall hold true";
+ next;
+ mes "[Touha]";
+ mes "to what we believe";
+ next;
+ mes "[Touha]";
+ mes "and will help protect others";
+ next;
+ mes "[Touha]";
+ mes "through the teachings";
+ next;
+ mes "[Touha]";
+ mes "we learn through our lives.";
+ next;
+ mes "[Touha]";
+ mes "In nomine Patris, et Filii";
+ next;
+ mes "[Touha]";
+ mes "et Spiritus Sancti.";
+ }
+ else if ((.@rand == 2) || (MONK_Q == 12)) {
+ set MONK_Q,12;
+ mes "I commit myself to";
+ next;
+ mes "[Touha]";
+ mes "veritas and aequitas.";
+ next;
+ mes "[Touha]";
+ mes "I will follow my path";
+ next;
+ mes "[Touha]";
+ mes "to enlightenment and purity.";
+ next;
+ mes "[Touha]";
+ mes "I will protect my";
+ next;
+ mes "[Touha]";
+ mes "brothers with my life.";
+ next;
+ mes "[Touha]";
+ mes "Evil shall never be";
+ next;
+ mes "[Touha]";
+ mes "victorious while I breathe.";
+ next;
+ mes "[Touha]";
+ mes "In nomine Patris, et Filii";
+ next;
+ mes "[Touha]";
+ mes "et Spiritus Sancti.";
+ }
+ else if ((.@rand == 3) || (MONK_Q == 13)) {
+ set MONK_Q,13;
+ mes "And shepherds we shall be,";
+ next;
+ mes "[Touha]";
+ mes "for thee my lord for thee.";
+ next;
+ mes "[Touha]";
+ mes "Power hath descended forth";
+ next;
+ mes "[Touha]";
+ mes "from the hand";
+ next;
+ mes "[Touha]";
+ mes "so our feet may swiftly carry";
+ next;
+ mes "[Touha]";
+ mes "out thy command. And we shall";
+ next;
+ mes "[Touha]";
+ mes "flow a river forth to thee and";
+ next;
+ mes "[Touha]";
+ mes "teeming with souls shall it ever be";
+ next;
+ mes "[Touha]";
+ mes "In nomine Patris, et Filii";
+ next;
+ mes "[Touha]";
+ mes "et Spiritus Sancti.";
+ }
+ next;
+ if (MONK_Q == 10) {
+ mes "[Touha]";
+ mes "Ok, that is all. Now repeat what I have spoken.";
+ mes "" + strcharinfo(0) + ", your turn.";
+ next;
+ }
+ if (MONK_Q == 11) {
+ switch(select("shall hold true:We monks:and will help protect others:through the teachings:In nomine Patris, et Filii:to what we believe:I seek the path:we learn through our lives.:et Spiritus Sancti.:of enlightenment.")) {
+ case 1:
+ mes "[" + strcharinfo(0) + "]";
+ mes "shall hold true";
+ break;
+ case 2:
+ mes "[" + strcharinfo(0) + "]";
+ mes "We monks";
+ break;
+ case 3:
+ mes "[" + strcharinfo(0) + "]";
+ mes "and will help protect others";
+ break;
+ case 4:
+ mes "[" + strcharinfo(0) + "]";
+ mes "through the teachings";
+ break;
+ case 5:
+ mes "[" + strcharinfo(0) + "]";
+ mes "In nomine Patris, et Filii";
+ break;
+ case 6:
+ mes "[" + strcharinfo(0) + "]";
+ mes "to what we believe";
+ break;
+ case 7:
+ set .@monk_t,.@monk_t+10;
+ mes "[" + strcharinfo(0) + "]";
+ mes "I seek the path";
+ break;
+ case 8:
+ mes "[" + strcharinfo(0) + "]";
+ mes "we learn through our lives.";
+ break;
+ case 9:
+ mes "[" + strcharinfo(0) + "]";
+ mes "et Spiritus Sancti.";
+ break;
+ case 10:
+ mes "[" + strcharinfo(0) + "]";
+ mes "of enlightenment.";
+ break;
+ }
+ switch(select("We monks:In nomine Patris, et Filii:I seek the path:shall hold true:of enlightenment.:and will help protect others:we learn through our lives.:through the teachings:to what we believe:et Spiritus Sancti.")) {
+ case 1: mes "We monks"; break;
+ case 2: mes "In nomine Patris, et Filii"; break;
+ case 3: mes "I seek the path"; break;
+ case 4: mes "shall hold true"; break;
+ case 5:
+ set .@monk_t,.@monk_t+10;
+ mes "of enlightenment.";
+ break;
+ case 6: mes "and will help protect others"; break;
+ case 7: mes "we learn through our lives."; break;
+ case 8: mes "through the teachings"; break;
+ case 9: mes "to what we believe"; break;
+ case 10: mes "et Spiritus Sancti."; break;
+ }
+ switch(select("to what we believe:We monks:I seek the path:shall hold true:of enlightenment.:we learn through our lives.:In nomine Patris, et Filii:and will help protect others:through the teachings:et Spiritus Sancti.")) {
+ case 1: mes "to what we believe"; break;
+ case 2:
+ set .@monk_t,.@monk_t+10;
+ mes "We monks";
+ break;
+ case 3: mes "I seek the path"; break;
+ case 4: mes "shall hold true"; break;
+ case 5: mes "of enlightenment."; break;
+ case 6: mes "we learn through our lives."; break;
+ case 7: mes "In nomine Patris, et Filii"; break;
+ case 8: mes "and will help protect others"; break;
+ case 9: mes "through the teachings"; break;
+ case 10: mes "et Spiritus Sancti."; break;
+ }
+ switch(select("shall hold true:I seek the path:We monks:In nomine Patris, et Filii:of enlightenment.:et Spiritus Sancti.:to what we believe:we learn through our lives.:and will help protect others:through the teachings")) {
+ case 1:
+ set .@monk_t,.@monk_t+10;
+ mes "shall hold true";
+ break;
+ case 2: mes "I seek the path"; break;
+ case 3: mes "We monks";
+ break;
+ case 4: mes "In nomine Patris, et Filii"; break;
+ case 5: mes "of enlightenment."; break;
+ case 6: mes "et Spiritus Sancti."; break;
+ case 7: mes "to what we believe"; break;
+ case 8: mes "we learn through our lives."; break;
+ case 9: mes "and will help protect others"; break;
+ case 10: mes "through the teachings"; break;
+ }
+ switch(select("of enlightenment.:I seek the path:We monks:shall hold true:and will help protect others:through the teachings:we learn through our lives.:In nomine Patris, et Filii:to what we believe:et Spiritus Sancti.")) {
+ case 1: mes "of enlightenment."; break;
+ case 2: mes "I seek the path"; break;
+ case 3: mes "We monks"; break;
+ case 4: mes "shall hold true"; break;
+ case 5: mes "and will help protect others"; break;
+ case 6: mes "through the teachings"; break;
+ case 7: mes "we learn through our lives."; break;
+ case 8: mes "In nomine Patris, et Filii"; break;
+ case 9:
+ set .@monk_t,.@monk_t+10;
+ mes "to what we believe";
+ break;
+ case 10: mes "et Spiritus Sancti."; break;
+ }
+ switch(select("I seek the path:through the teachings:and will help protect others:of enlightenment.:shall hold true:et Spiritus Sancti.:In nomine Patris, et Filii:to what we believe:We monks:we learn through our lives.")) {
+ case 1: mes "I seek the path"; break;
+ case 2: mes "through the teachings"; break;
+ case 3:
+ set .@monk_t,.@monk_t+10;
+ mes "and will help protect others";
+ break;
+ case 4: mes "of enlightenment."; break;
+ case 5: mes "shall hold true"; break;
+ case 6: mes "et Spiritus Sancti."; break;
+ case 7: mes "In nomine Patris, et Filii"; break;
+ case 8: mes "to what we believe"; break;
+ case 9: mes "We monks"; break;
+ case 10: mes "we learn through our lives."; break;
+ }
+ switch(select("we learn through our lives.:In nomine Patris, et Filii:et Spiritus Sancti.:I seek the path:of enlightenment.:to what we believe:We monks:shall hold true:and will help protect others:through the teachings")) {
+ case 1: mes "we learn through our lives."; break;
+ case 2: mes "In nomine Patris, et Filii"; break;
+ case 3: mes "et Spiritus Sancti."; break;
+ case 4: mes "I seek the path"; break;
+ case 5: mes "of enlightenment."; break;
+ case 6: mes "to what we believe"; break;
+ case 7: mes "We monks"; break;
+ case 8: mes "shall hold true"; break;
+ case 9: mes "and will help protect others"; break;
+ case 10:
+ set .@monk_t,.@monk_t+10;
+ mes "through the teachings";
+ break;
+ }
+ switch(select("we learn through our lives.:In nomine Patris, et Filii:through the teachings:I seek the path:We monks:shall hold true:to what we believe:and will help protect others:of enlightenment.:et Spiritus Sancti.")) {
+ case 1:
+ set .@monk_t,.@monk_t+10;
+ mes "we learn through our lives.";
+ break;
+ case 2: mes "In nomine Patris, et Filii"; break;
+ case 3: mes "through the teachings"; break;
+ case 4: mes "I seek the path"; break;
+ case 5: mes "We monks"; break;
+ case 6: mes "shall hold true"; break;
+ case 7: mes "to what we believe"; break;
+ case 8: mes "and will help protect others"; break;
+ case 9: mes "of enlightenment."; break;
+ case 10: mes "et Spiritus Sancti."; break;
+ }
+ switch(select("I seek the path:of enlightenment.:We monks:shall hold true:to what we believe:et Spiritus Sancti.:and will help protect others:through the teachings:we learn through our lives.:In nomine Patris, et Filii")) {
+ case 1: mes "I seek the path"; break;
+ case 2: mes "of enlightenment."; break;
+ case 3: mes "We monks"; break;
+ case 4: mes "shall hold true"; break;
+ case 5: mes "to what we believe"; break;
+ case 6: mes "et Spiritus Sancti."; break;
+ case 7: mes "and will help protect others"; break;
+ case 8: mes "through the teachings"; break;
+ case 9: mes "we learn through our lives."; break;
+ case 10:
+ set .@monk_t,.@monk_t+10;
+ mes "In nomine Patris, et Filii";
+ break;
+ }
+ switch(select("I seek the path:of enlightenment.:We monks:shall hold true:to what we believe:and will help protect others:through the teachings:we learn through our lives.:In nomine Patris, et Filii:et Spiritus Sancti.")) {
+ case 1: mes "I seek the path"; break;
+ case 2: mes "of enlightenment."; break;
+ case 3: mes "We monks"; break;
+ case 4: mes "shall hold true"; break;
+ case 5: mes "to what we believe"; break;
+ case 6: mes "and will help protect others"; break;
+ case 7: mes "through the teachings"; break;
+ case 8: mes "we learn through our lives."; break;
+ case 9: mes "In nomine Patris, et Filii"; break;
+ case 10:
+ set .@monk_t,.@monk_t+10;
+ mes "et Spiritus Sancti.";
+ break;
+ }
+ }
+ else if (MONK_Q == 12) {
+ switch(select("I will follow my path:veritas and aequitas.:to enlightenment and purity.:I commit myself to:I will protect my:victorious while I breathe.:brothers with my life.:Evil shall never be:In nomine Patris, et Filii:et Spiritus Sancti.")) {
+ case 1:
+ mes "[" + strcharinfo(0) + "]";
+ mes "I will follow my path";
+ break;
+ case 2:
+ mes "[" + strcharinfo(0) + "]";
+ mes "veritas and aequitas.";
+ break;
+ case 3:
+ mes "[" + strcharinfo(0) + "]";
+ mes "to enlightenment and purity.";
+ break;
+ case 4:
+ mes "[" + strcharinfo(0) + "]";
+ set .@monk_t,.@monk_t+10;
+ mes "I commit myself to";
+ break;
+ case 5:
+ mes "[" + strcharinfo(0) + "]";
+ mes "I will protect my";
+ break;
+ case 6:
+ mes "[" + strcharinfo(0) + "]";
+ mes "victorious while I breathe.";
+ break;
+ case 7:
+ mes "[" + strcharinfo(0) + "]";
+ mes "brothers with my life.";
+ break;
+ case 8:
+ mes "[" + strcharinfo(0) + "]";
+ mes "Evil shall never be";
+ break;
+ case 9:
+ mes "[" + strcharinfo(0) + "]";
+ mes "In nomine Patris, et Filii";
+ break;
+ case 10:
+ mes "[" + strcharinfo(0) + "]";
+ mes "et Spiritus Sancti.";
+ break;
+ }
+ switch(select("I will follow my path:I will protect my:brothers with my life.:to enlightenment and purity.:Evil shall never be:victorious while I breathe.:et Spiritus Sancti.:I commit myself to:veritas and aequitas.:In nomine Patris, et Filii")) {
+ case 1: mes "I will follow my path"; break;
+ case 2: mes "I will protect my"; break;
+ case 3: mes "brothers with my life."; break;
+ case 4: mes "to enlightenment and purity."; break;
+ case 5: mes "Evil shall never be"; break;
+ case 6: mes "victorious while I breathe."; break;
+ case 7: mes "et Spiritus Sancti."; break;
+ case 8: mes "I commit myself to"; break;
+ case 9:
+ set .@monk_t,.@monk_t+10;
+ mes "veritas and aequitas.";
+ break;
+ case 10: mes "In nomine Patris, et Filii"; break;
+ }
+ switch(select("I will follow my path:veritas and aequitas.:I commit myself to:et Spiritus Sancti.:Evil shall never be:to enlightenment and purity.:In nomine Patris, et Filii:I will protect my:brothers with my life.:victorious while I breathe.")) {
+ case 1:
+ set .@monk_t,.@monk_t+10;
+ mes "I will follow my path";
+ break;
+ case 2: mes "veritas and aequitas."; break;
+ case 3: mes "I commit myself to"; break;
+ case 4: mes "et Spiritus Sancti."; break;
+ case 5: mes "Evil shall never be"; break;
+ case 6: mes "to enlightenment and purity."; break;
+ case 7: mes "In nomine Patris, et Filii"; break;
+ case 8: mes "I will protect my"; break;
+ case 9: mes "brothers with my life."; break;
+ case 10: mes "victorious while I breathe."; break;
+ }
+ switch(select("veritas and aequitas.:Evil shall never be:I will follow my path:I will protect my:victorious while I breathe.:to enlightenment and purity.:brothers with my life.:In nomine Patris, et Filii:et Spiritus Sancti.:I commit myself to")) {
+ case 1: mes "veritas and aequitas."; break;
+ case 2: mes "Evil shall never be"; break;
+ case 3: mes "I will follow my path"; break;
+ case 4: mes "I will protect my"; break;
+ case 5: mes "victorious while I breathe."; break;
+ case 6:
+ set .@monk_t,.@monk_t+10;
+ mes "to enlightenment and purity.";
+ break;
+ case 7: mes "brothers with my life."; break;
+ case 8: mes "In nomine Patris, et Filii"; break;
+ case 9: mes "et Spiritus Sancti."; break;
+ case 10: mes "I commit myself to"; break;
+ }
+ switch(select("victorious while I breathe.:I commit myself to:to enlightenment and purity.:brothers with my life.:Evil shall never be:In nomine Patris, et Filii:et Spiritus Sancti.:I will follow my path:veritas and aequitas.:I will protect my")) {
+ case 1: mes "victorious while I breathe."; break;
+ case 2: mes "I commit myself to"; break;
+ case 3: mes "to enlightenment and purity."; break;
+ case 4: mes "brothers with my life."; break;
+ case 5: mes "Evil shall never be"; break;
+ case 6: mes "In nomine Patris, et Filii"; break;
+ case 7: mes "et Spiritus Sancti."; break;
+ case 8: mes "I will follow my path"; break;
+ case 9: mes "veritas and aequitas."; break;
+ case 10:
+ set .@monk_t,.@monk_t+10;
+ mes "I will protect my";
+ break;
+ }
+ switch(select("to enlightenment and purity.:I will follow my path:veritas and aequitas.:I commit myself to:brothers with my life.:I will protect my:victorious while I breathe.:Evil shall never be:et Spiritus Sancti.:In nomine Patris, et Filii")) {
+ case 1: mes "to enlightenment and purity."; break;
+ case 2: mes "I will follow my path"; break;
+ case 3: mes "veritas and aequitas."; break;
+ case 4: mes "I commit myself to"; break;
+ case 5:
+ set .@monk_t,.@monk_t+10;
+ mes "brothers with my life.";
+ break;
+ case 6: mes "I will protect my"; break;
+ case 7: mes "victorious while I breathe."; break;
+ case 8: mes "Evil shall never be"; break;
+ case 9: mes "et Spiritus Sancti."; break;
+ case 10: mes "In nomine Patris, et Filii"; break;
+ }
+ switch(select("veritas and aequitas.:Evil shall never be:brothers with my life.:victorious while I breathe.:I will follow my path:to enlightenment and purity.:I will protect my:In nomine Patris, et Filii:et Spiritus Sancti.:I commit myself to")) {
+ case 1: mes "veritas and aequitas."; break;
+ case 2:
+ set .@monk_t,.@monk_t+10;
+ mes "Evil shall never be";
+ break;
+ case 3: mes "brothers with my life."; break;
+ case 4: mes "victorious while I breathe."; break;
+ case 5: mes "I will follow my path"; break;
+ case 6: mes "to enlightenment and purity."; break;
+ case 7: mes "I will protect my"; break;
+ case 8: mes "In nomine Patris, et Filii"; break;
+ case 9: mes "et Spiritus Sancti."; break;
+ case 10: mes "I commit myself to"; break;
+ }
+ switch(select("victorious while I breathe.:to enlightenment and purity.:I will protect my:veritas and aequitas.:brothers with my life.:I will follow my path:Evil shall never be:In nomine Patris, et Filii:I commit myself to:et Spiritus Sancti.")) {
+ case 1:
+ set .@monk_t,.@monk_t+10;
+ mes "victorious while I breathe.";
+ break;
+ case 2: mes "to enlightenment and purity."; break;
+ case 3: mes "I will protect my"; break;
+ case 4: mes "veritas and aequitas."; break;
+ case 5: mes "brothers with my life."; break;
+ case 6: mes "I will follow my path"; break;
+ case 7: mes "Evil shall never be"; break;
+ case 8: mes "In nomine Patris, et Filii"; break;
+ case 9: mes "I commit myself to"; break;
+ case 10: mes "et Spiritus Sancti."; break;
+ }
+ switch(select("I commit myself to:I will follow my path:veritas and aequitas.:I will protect my:to enlightenment and purity.:brothers with my life.:Evil shall never be:In nomine Patris, et Filii:victorious while I breathe.:et Spiritus Sancti.")) {
+ case 1: mes "I commit myself to"; break;
+ case 2: mes "I will follow my path"; break;
+ case 3: mes "veritas and aequitas."; break;
+ case 4: mes "I will protect my"; break;
+ case 5: mes "to enlightenment and purity."; break;
+ case 6: mes "brothers with my life."; break;
+ case 7: mes "Evil shall never be"; break;
+ case 8:
+ set .@monk_t,.@monk_t+10;
+ mes "In nomine Patris, et Filii";
+ break;
+ case 9: mes "victorious while I breathe."; break;
+ case 10: mes "et Spiritus Sancti."; break;
+ }
+ switch(select("I commit myself to:veritas and aequitas.:I will follow my path:to enlightenment and purity.:I will protect my:brothers with my life.:Evil shall never be:victorious while I breathe.:In nomine Patris, et Filii:et Spiritus Sancti.")) {
+ case 1: mes "I commit myself to"; break;
+ case 2: mes "veritas and aequitas."; break;
+ case 3: mes "I will follow my path"; break;
+ case 4: mes "to enlightenment and purity."; break;
+ case 5: mes "I will protect my"; break;
+ case 6: mes "brothers with my life."; break;
+ case 7: mes "Evil shall never be"; break;
+ case 8: mes "victorious while I breathe."; break;
+ case 9: mes "In nomine Patris, et Filii"; break;
+ case 10:
+ set .@monk_t,.@monk_t+10;
+ mes "et Spiritus Sancti.";
+ break;
+ }
+ }
+ else if (MONK_Q == 13) {
+ switch(select("for thee my lord for thee.:And shepherds we shall be,:Power hath descended forth:out thy command. And we shall:from the hand:flow a river forth to thee and:so our feet may swiftly carry:teeming with souls shall it ever be:et Spiritus Sancti.:In nomine Patris, et Filii")) {
+ case 1:
+ mes "[" + strcharinfo(0) + "]";
+ mes "for thee my lord for thee.";
+ break;
+ case 2:
+ mes "[" + strcharinfo(0) + "]";
+ set .@monk_t,.@monk_t+10;
+ mes "And shepherds we shall be,";
+ break;
+ case 3:
+ mes "[" + strcharinfo(0) + "]";
+ mes "Power hath descended forth";
+ break;
+ case 4:
+ mes "[" + strcharinfo(0) + "]";
+ mes "out thy command. And we shall";
+ break;
+ case 5:
+ mes "[" + strcharinfo(0) + "]";
+ mes "from the hand";
+ break;
+ case 6:
+ mes "[" + strcharinfo(0) + "]";
+ mes "flow a river forth to thee and";
+ break;
+ case 7:
+ mes "[" + strcharinfo(0) + "]";
+ mes "so our feet may swiftly carry";
+ break;
+ case 8:
+ mes "[" + strcharinfo(0) + "]";
+ mes "teeming with souls shall it ever be";
+ break;
+ case 9:
+ mes "[" + strcharinfo(0) + "]";
+ mes "et Spiritus Sancti.";
+ break;
+ case 10:
+ mes "[" + strcharinfo(0) + "]";
+ mes "In nomine Patris, et Filii";
+ break;
+ }
+ switch(select("teeming with souls shall it ever be:flow a river forth to thee and:so our feet may swiftly carry:In nomine Patris, et Filii:et Spiritus Sancti.:Power hath descended forth:And shepherds we shall be,:for thee my lord for thee.:from the hand:out thy command. And we shall")) {
+ case 1: mes "teeming with souls shall it ever be"; break;
+ case 2: mes "flow a river forth to thee and"; break;
+ case 3: mes "so our feet may swiftly carry"; break;
+ case 4: mes "In nomine Patris, et Filii"; break;
+ case 5: mes "et Spiritus Sancti."; break;
+ case 6: mes "Power hath descended forth"; break;
+ case 7: mes "And shepherds we shall be,"; break;
+ case 8:
+ set .@monk_t,.@monk_t+10;
+ mes "for thee my lord for thee.";
+ break;
+ case 9: mes "from the hand"; break;
+ case 10: mes "out thy command. And we shall"; break;
+ }
+ switch(select("And shepherds we shall be,:for thee my lord for thee.:Power hath descended forth:from the hand:teeming with souls shall it ever be:et Spiritus Sancti.:In nomine Patris, et Filii:so our feet may swiftly carry:out thy command. And we shall:flow a river forth to thee and")) {
+ case 1: mes "And shepherds we shall be,"; break;
+ case 2: mes "for thee my lord for thee."; break;
+ case 3:
+ set .@monk_t,.@monk_t+10;
+ mes "Power hath descended forth";
+ break;
+ case 4: mes "from the hand"; break;
+ case 5: mes "teeming with souls shall it ever be"; break;
+ case 6: mes "et Spiritus Sancti."; break;
+ case 7: mes "In nomine Patris, et Filii"; break;
+ case 8: mes "so our feet may swiftly carry"; break;
+ case 9: mes "out thy command. And we shall"; break;
+ case 10: mes "flow a river forth to thee and"; break;
+ }
+ switch(select("for thee my lord for thee.:And shepherds we shall be,:Power hath descended forth:so our feet may swiftly carry:from the hand:flow a river forth to thee and:out thy command. And we shall:In nomine Patris, et Filii:teeming with souls shall it ever be:et Spiritus Sancti.")) {
+ case 1: mes "for thee my lord for thee."; break;
+ case 2: mes "And shepherds we shall be,"; break;
+ case 3: mes "Power hath descended forth"; break;
+ case 4: mes "so our feet may swiftly carry"; break;
+ case 5:
+ set .@monk_t,.@monk_t+10;
+ mes "from the hand";
+ break;
+ case 6: mes "flow a river forth to thee and"; break;
+ case 7: mes "out thy command. And we shall"; break;
+ case 8: mes "In nomine Patris, et Filii"; break;
+ case 9: mes "teeming with souls shall it ever be"; break;
+ case 10: mes "et Spiritus Sancti."; break;
+ }
+ switch(select("And shepherds we shall be,:for thee my lord for thee.:Power hath descended forth:so our feet may swiftly carry:from the hand:so our feet may swiftly carry:flow a river forth to thee and:In nomine Patris, et Filii:teeming with souls shall it ever be:et Spiritus Sancti.")) {
+ case 1: mes "And shepherds we shall be,"; break;
+ case 2: mes "for thee my lord for thee."; break;
+ case 3: mes "Power hath descended forth"; break;
+ case 4:
+ set .@monk_t,.@monk_t+10;
+ mes "so our feet may swiftly carry";
+ break;
+ case 5: mes "from the hand"; break;
+ case 6: mes "so our feet may swiftly carry"; break;
+ case 7: mes "flow a river forth to thee and"; break;
+ case 8: mes "In nomine Patris, et Filii"; break;
+ case 9: mes "teeming with souls shall it ever be"; break;
+ case 10: mes "et Spiritus Sancti."; break;
+ }
+ switch(select("for thee my lord for thee.:Power hath descended forth:And shepherds we shall be,:from the hand:so our feet may swiftly carry:flow a river forth to thee and:out thy command. And we shall:teeming with souls shall it ever be:In nomine Patris, et Filii:et Spiritus Sancti.")) {
+ case 1: mes "for thee my lord for thee."; break;
+ case 2: mes "Power hath descended forth"; break;
+ case 3: mes "And shepherds we shall be,"; break;
+ case 4: mes "from the hand"; break;
+ case 5: mes "so our feet may swiftly carry"; break;
+ case 6: mes "flow a river forth to thee and"; break;
+ case 7:
+ set .@monk_t,.@monk_t+10;
+ mes "out thy command. And we shall";
+ break;
+ case 8: mes "teeming with souls shall it ever be"; break;
+ case 9: mes "In nomine Patris, et Filii"; break;
+ case 10: mes "et Spiritus Sancti."; break;
+ }
+ switch(select("for thee my lord for thee.:teeming with souls shall it ever be:flow a river forth to thee and:In nomine Patris, et Filii:et Spiritus Sancti.:Power hath descended forth:And shepherds we shall be,:so our feet may swiftly carry:from the hand:out thy command. And we shall")) {
+ case 1: mes "for thee my lord for thee."; break;
+ case 2: mes "teeming with souls shall it ever be"; break;
+ case 3:
+ set .@monk_t,.@monk_t+10;
+ mes "flow a river forth to thee and";
+ break;
+ case 4: mes "In nomine Patris, et Filii"; break;
+ case 5: mes "et Spiritus Sancti."; break;
+ case 6: mes "Power hath descended forth"; break;
+ case 7: mes "And shepherds we shall be,"; break;
+ case 8: mes "so our feet may swiftly carry"; break;
+ case 9: mes "from the hand"; break;
+ case 10: mes "out thy command. And we shall"; break;
+ }
+ switch(select("teeming with souls shall it ever be:In nomine Patris, et Filii:And shepherds we shall be,:for thee my lord for thee.:Power hath descended forth:from the hand:so our feet may swiftly carry:out thy command. And we shall:flow a river forth to thee and:et Spiritus Sancti.")) {
+ case 1:
+ set .@monk_t,.@monk_t+10;
+ mes "teeming with souls shall it ever be";
+ break;
+ case 2: mes "In nomine Patris, et Filii"; break;
+ case 3: mes "And shepherds we shall be,"; break;
+ case 4: mes "for thee my lord for thee."; break;
+ case 5: mes "Power hath descended forth"; break;
+ case 6: mes "from the hand"; break;
+ case 7: mes "so our feet may swiftly carry"; break;
+ case 8: mes "out thy command. And we shall"; break;
+ case 9: mes "flow a river forth to thee and"; break;
+ case 10: mes "et Spiritus Sancti."; break;
+ }
+ switch(select("Power hath descended forth:for thee my lord for thee.:And shepherds we shall be,:In nomine Patris, et Filii:so our feet may swiftly carry:from the hand:teeming with souls shall it ever be:flow a river forth to thee and:out thy command. And we shall:et Spiritus Sancti.")) {
+ case 1: mes "Power hath descended forth"; break;
+ case 2: mes "for thee my lord for thee."; break;
+ case 3: mes "And shepherds we shall be,"; break;
+ case 4:
+ set .@monk_t,.@monk_t+10;
+ mes "In nomine Patris, et Filii";
+ break;
+ case 5: mes "so our feet may swiftly carry"; break;
+ case 6: mes "from the hand"; break;
+ case 7: mes "teeming with souls shall it ever be"; break;
+ case 8: mes "flow a river forth to thee and"; break;
+ case 9: mes "out thy command. And we shall"; break;
+ case 10: mes "et Spiritus Sancti."; break;
+ }
+ switch(select("And shepherds we shall be,:for thee my lord for thee.:Power hath descended forth:from the hand:out thy command. And we shall:so our feet may swiftly carry:flow a river forth to thee and:teeming with souls shall it ever be:In nomine Patris, et Filii:et Spiritus Sancti.")) {
+ case 1: mes "And shepherds we shall be,"; break;
+ case 2: mes "for thee my lord for thee."; break;
+ case 3: mes "Power hath descended forth"; break;
+ case 4: mes "from the hand"; break;
+ case 5: mes "out thy command. And we shall"; break;
+ case 6: mes "so our feet may swiftly carry"; break;
+ case 7: mes "flow a river forth to thee and"; break;
+ case 8: mes "teeming with souls shall it ever be"; break;
+ case 9: mes "In nomine Patris, et Filii"; break;
+ case 10:
+ set .@monk_t,.@monk_t+10;
+ mes "et Spiritus Sancti.";
+ break;
+ }
+ }
+ next;
+ mes "[Touha]";
+ mes "...";
+ next;
+ mes "[Touha]";
+ mes "Hmm...";
+ next;
+ if (.@monk_t > 90) {
+ set MONK_Q,14;
+ changequest 3025,3026;
+ mes "[Touha]";
+ mes "...well done, that was perfect. You pay attention well...";
+ next;
+ mes "[Touha]";
+ mes "However, now is not the time to relax. Your path is still long ahead of you.";
+ next;
+ mes "[Touha]";
+ mes "Now as I promised, I will help strengthen your body.";
+ next;
+ mes "Focus your mind and do not move.";
+ next;
+ mes "^33CCFFYou feel wind all around your body.^000000";
+ next;
+ mes "^33CCFFAn energy within you grows.^000000";
+ next;
+ mes "[Touha]";
+ mes "I feel what grows within you.";
+ mes "You may now continue on...";
+ next;
+ mes "[Touha]";
+ mes "...the next course will be with Boohae.";
+ next;
+ mes "[Touha]";
+ mes "I wish you well on your journey.";
+ mes "Don't forget, his name is ^CC0000Boohae^000000.";
+ close;
+ }
+ else {
+ mes "[Touha]";
+ mes "I see you did not pay attention.. If you wish to become a monk, you must take this seriously.";
+ next;
+ mes "[Touha]";
+ mes "Perhaps the path of a monk is too difficult for you?";
+ mes "You must take this seriously if you wish to continue...";
+ next;
+ mes "[Touha]";
+ mes "I will give you another chance.";
+ next;
+ mes "[Touha]";
+ mes "If you cannot pay attention and repeat what I ask you to, I will not allow you to continue your training here..";
+ close;
+ }
+ }
+ else if (MONK_Q == 14) {
+ mes "[Touha]";
+ mes "Hmm... did you forget who to visit?";
+ next;
+ mes "[Touha]";
+ mes "I wonder about your abilities if you cannot remember such a simple thing.";
+ next;
+ mes "[Touha]";
+ mes "...are you testing my patience?";
+ next;
+ mes "[Touha]";
+ mes "You wear my patience thin...";
+ mes "... go visit Boohae.";
+ close;
+ }
+ else if (MONK_Q > 14 && BaseJob == Job_Acolyte) {
+ mes "[Touha]";
+ mes "...do your best for the final test.";
+ close;
+ }
+ else {
+ mes "[Touha]";
+ mes "Never shall innocent blood be shed.";
+ next;
+ mes "[Touha]";
+ mes "Yet the blood of the wicked shall flow like a river.";
+ next;
+ mes "[Touha]";
+ mes "We shall spread our blackened wings and be the vengeful striking hammer of god.";
+ next;
+ mes "[Touha]";
+ mes "We shall flow a river forth to thee, and teeming with souls shall it ever be.";
+ next;
+ mes "[Touha]";
+ mes "In nomine Patris, et Filii, et Spiritus Sancti.";
+ next;
+ mes "[Touha]";
+ mes "...You don't have to be afraid of me...";
+ close;
+ }
+}
+
+prt_monk,57,179,1 script Boohae#mk 110,{
+ if (MONK_Q == 14 && BaseJob == Job_Acolyte) {
+ mes "[Boohae]";
+ mes "...";
+ next;
+ mes "[Boohae]";
+ mes "......";
+ next;
+ mes "[Boohae]";
+ mes ".........";
+ next;
+ mes "[Boohae]";
+ mes "............";
+ next;
+ select("...excuse me...?");
+ mes "[Boohae]";
+ mes "...";
+ mes "You just interrupted my meditation, I should break your legs...";
+ next;
+ mes "[Boohae]";
+ mes "........";
+ mes "I will give you a chance to explain why you interrupted me.";
+ next;
+ mes "[Boohae]";
+ mes ".....";
+ next;
+ mes "[Boohae]";
+ mes "Well, start explaining... or you'll be crawling soon...";
+ next;
+ if (select("Touha sent me.:Sorry, nothing.") == 2) {
+ mes "[Boohae]";
+ mes "........";
+ mes "...you must have a death wish to have interrupted me intentionally...";
+ close;
+ }
+ mes "[Boohae]";
+ mes "I see...";
+ mes "Well then, let's see....";
+ next;
+ mes "[Boohae]";
+ mes "....your body seems..";
+ mes "strengthened. Good...";
+ next;
+ mes "[Boohae]";
+ mes "What did you do with Touha?";
+ next;
+ switch(select("Umm... well...ah..:We recited a holy pledge.:He diagnosed my physical status.")) {
+ case 1:
+ mes "[Boohae]";
+ mes "You are not ready if you";
+ mes "cannot answer a simple question.";
+ mes "Leave me to my prayers.";
+ close;
+ case 2:
+ mes "[Boohae]";
+ mes "... I see...";
+ mes "Didn't he do anything for you?";
+ next;
+ switch(select("Umm... well...ah..:He diagnosed my physical status.:He taught me about being a monk.:He modified my body.")) {
+ case 1:
+ mes "[Boohae]";
+ mes "You are not ready if you";
+ mes "cannot answer a simple question.";
+ mes "Leave me to my prayers.";
+ close;
+ case 2:
+ mes "[Boohae]";
+ mes "That is unimportant to me...";
+ mes "Stop disturbing me and go away!";
+ close;
+ case 3:
+ mes "[Boohae]";
+ mes "The teachings of becoming a monk are learned after becoming one.";
+ mes "This is not what I am looking for...";
+ close;
+ case 4:
+ mes "[Boohae]";
+ mes "Very well, you seem to realize your body has something new inside.";
+ mes "Well then, we shall move on to the next step...";
+ next;
+ break;
+ }
+ break;
+ case 3:
+ mes "[Boohae]";
+ mes "...You interrupted me to tell me that...?";
+ mes "Get lost before I break your legs...";
+ close;
+ }
+ mes "[Boohae]";
+ mes "Alright... well we have two tests...";
+ mes "Choose which one you want to do...";
+ next;
+ if (select("Gathering mushrooms:Marathon") == 1) {
+ set MONK_Q,15;
+ changequest 3026,3027;
+ mes "[Boohae]";
+ mes "Hmm....gathering mushrooms. So you want to test your tolerance huh?";
+ mes "Go prepare and come back later when you're ready.";
+ close;
+ }
+ set MONK_Q,16;
+ changequest 3026,3028;
+ mes "[Boohae]";
+ mes "Good choice. Forcing your physical limits to their boundaries and grants a higher amount of self control.";
+ mes "Go prepare and come back later when you're ready.";
+ close;
+ }
+ if (MONK_Q == 15) {
+ mes "[Boohae]";
+ mes "So, are you ready? You won't need anything but a great deal of determination.";
+ next;
+ mes "[Boohae]";
+ mes "The gathering mushroom test is intended,";
+ mes "to test your patience.";
+ next;
+ mes "[Boohae]";
+ mes "Go inside the building near this abbey.";
+ next;
+ mes "[Boohae]";
+ mes "Other monk candidates will be with you for the same test,";
+ next;
+ mes "[Boohae]";
+ mes "The more people that are there, the less mushrooms they'll find.";
+ mes "So I hope you will understand that they are testing their patience, just like you.";
+ close;
+ }
+ if (MONK_Q == 16) {
+ mes "[Boohae]";
+ mes "Welcome back, did you prepare? You won't need anything except strong legs.";
+ next;
+ mes "[Boohae]";
+ mes "The marathon is intended,";
+ mes "to test your self-control ability.";
+ next;
+ mes "[Boohae]";
+ mes "Go inside the building near this abbey.";
+ next;
+ mes "[Boohae]";
+ mes "All you have to do is run around the building as many times as you're required.";
+ mes "Well... get going.";
+ close;
+ }
+ if (MONK_Q == 17) {
+ mes "[Boohae]";
+ mes "Now, go visit 'Tomoon'. How many times should I tell you this?";
+ mes "Now you have a lot of chance to damage your body because you're so exhausted right now.";
+ mes "'Tomoon' is staying in a deepest place inside a building near this abbey.";
+ close;
+ }
+ if (MONK_Q > 17 && MONK_Q < 24) {
+ mes "[Boohae]";
+ mes "...........";
+ next;
+ mes "-He seems to be in meditation.-";
+ close;
+ }
+ else {
+ mes "[Boohae]";
+ mes "Hmmmm....!!";
+ next;
+ mes "-He seems to be in meditation.-";
+ close;
+ }
+}
+
+prt_monk,199,169,3 script Door Keeper#mk 746,{
+ mes "[Keeper Chorip]";
+ mes "....this place is for those";
+ mes " in testing for becoming a monk.";
+ next;
+ if (MONK_Q == 14) {
+ mes "[Keeper Chorip]";
+ mes "Huh? Did you just say Boohae?";
+ next;
+ mes "[Keeper Chorip]";
+ mes "Boohae... tends to hide in some quite places, so you might not be able to find him. For instance... a corner...";
+ close;
+ }
+ else if (MONK_Q > 14 && MONK_Q < 25) {
+ mes "[Keeper Chorip]";
+ mes "Is your name " + strcharinfo(0) + "?";
+ next;
+ if (select("Yes.:No.") == 1) {
+ mes "[Keeper Chorip]";
+ mes "Alright you're cool... go on in. Your test is waiting for you. Good luck.";
+ close;
+ }
+ mes "[Keeper Chorip]";
+ mes "Yeah right, I know who you are... get in there... your test is ready.";
+ close;
+ }
+ else {
+ mes "[Keeper Chorip]";
+ mes "...please be quiet inside.";
+ close;
+ }
+}
+
+monk_test,329,61,3 script Bashu#mk 753,{
+ if (MONK_Q > 14 && MONK_Q < 25) {
+ if (MONK_Q == 15) {
+ mes "[Bashu]";
+ mes "So, which test do you want to do...?";
+ next;
+ mes "[Bashu]";
+ mes "From what I've heard, you chose the mushroom test...";
+ mes "Oh well, it's still your choice.";
+ }
+ else if (MONK_Q == 16) {
+ mes "[Bashu]";
+ mes "Which test hall do you wish to enter?";
+ next;
+ mes "[Bashu]";
+ mes "Well, as far as I've been told, you chose the marathon test...";
+ mes "Oh well, it's your choice.";
+ }
+ else {
+ mes "[Bashu]";
+ mes "Which test hall do you wish to enter?";
+ mes "You can choose which one you want.";
+ next;
+ }
+ next;
+ if (select("Tolerance - Gathering Mushrooms:Self-Control - Marathon") == 1) {
+ mes "You have decided to take the test of tolerance by ^FF0000gathering mushrooms^000000.";
+ close2;
+ warp "job_monk",226,175;
+ end;
+ }
+ mes "You have decided to take the test of self control by taking a ^FF0000marathon^000000.";
+ close2;
+ warp "monk_test",386,387;
+ end;
+ }
+ else {
+ mes "[Bashu]";
+ mes "Welcome... this place is a training place for monks, Saint Capitolina Abbey.";
+ mes "When you go inside....you will meet Tomoon the oldest monk who succeeds to the predecessors,";
+ next;
+ mes "[Bashu]";
+ mes "Please be advised and do not touch anything.";
+ mes "And please avoid talking loud in front of Tomoon.";
+ next;
+ mes "[Bashu]";
+ mes "I hope you will have a great time in here.";
+ close;
+ }
+}
+
+monk_test,386,388,4 script Apprentice Monk#mk 110,{
+ mes "[Monk Apprentice]";
+ mes "W... welcome!";
+ mes "Th... this place is for testing the tolerance of monk candidates!";
+ next;
+ mes "[Monk Apprentice]";
+ mes "Ju... just run...";
+ mes "until you're told to stop,";
+ mes "Ru...ruu....run!";
+ next;
+ mes "[Monk Apprentice]";
+ mes "M... m... me? I'll run one of these days!";
+ next;
+ mes "[Monk Apprentice]";
+ mes "M... monk... are you going to be... a... m...m...monk??";
+ next;
+ mes "[Monk Apprentice]";
+ mes "Ar...are...you...sure you are.. aren't... going to quit?";
+ next;
+ if (select("Quit.:Keep running.") == 1) {
+ mes "[Monk Apprentice]";
+ mes "" + strcharinfo(0) + "...q.q..q. .quit! ...the marathon!! Y...you do not have what it takes to be a m... monk!";
+ mapannounce "monk_test","" + strcharinfo(0) + "...q.q..q. .quit! ...the marathon!! Y...you do not have what it takes to be a m... monk!",bc_map;
+ close2;
+ set MONK_Q,15;
+ changequest 3028,3027;
+ warp "prt_monk",194,168;
+ end;
+ }
+ mes "[Monk Apprentice]";
+ mes "Until you're told to stop,";
+ mes "Ru...ruu....run!";
+ close;
+}
+
+monk_test,387,350,0 script Supervisor#race_monk 45,2,2,{
+OnTouch:
+ if (MONK_Q >= 15 && MONK_Q <= 23) {
+ set MONK_Q,MONK_Q+1;
+ warp "monk_test",385,388;
+ end;
+ }
+ else if (MONK_Q == 24) {
+ set MONK_Q,25;
+ changequest 3028,3029;
+ mapannounce "monk_test","Now! This is the last lap!! If you make it you need to go visit Tomoon for the next test!",bc_map;
+ warp "monk_test",385,388;
+ end;
+ }
+ else if (MONK_Q == 25) {
+ mes "[Supervisor]";
+ mes "Now...you may go visit Tomoon.";
+ mes "Tomoon is in the deepest room inside a building near this abbey.";
+ mapannounce "monk_test","Congratulations!" + strcharinfo(0) +"!! You completed the marathon!",bc_map;
+ close2;
+ warp "prt_monk",194,168;
+ end;
+ }
+}
+
+monk_test,82,384,0 script Trap#t_monk1_1::MonkTrap -1,{
+OnTouch:
+ mapannounce "monk_test",""+ strcharinfo(0) + ", you're trapped. You will be returned.",bc_map;
+ warp "monk_test",387,387;
+ end;
+}
+
+monk_test,83,384,0 duplicate(MonkTrap) Trap#t_monk1_2 -1
+monk_test,82,385,0 duplicate(MonkTrap) Trap#t_monk1_3 -1
+monk_test,83,385,0 duplicate(MonkTrap) Trap#t_monk1_4 -1
+monk_test,38,388,0 duplicate(MonkTrap) Trap#t_monk2_1 -1,0,1
+monk_test,39,388,0 duplicate(MonkTrap) Trap#t_monk2_2 -1,0,1
+monk_test,38,386,0 duplicate(MonkTrap) Trap#t_monk2_3 -1
+monk_test,39,386,0 duplicate(MonkTrap) Trap#t_monk2_4 -1
+monk_test,11,158,0 duplicate(MonkTrap) Trap#t_monk3_1 -1,1,0
+monk_test,11,159,0 duplicate(MonkTrap) Trap#t_monk3_2 -1,1,0
+monk_test,13,159,0 duplicate(MonkTrap) Trap#t_monk3_3 -1
+monk_test,13,158,0 duplicate(MonkTrap) Trap#t_monk3_4 -1
+monk_test,11,30,0 duplicate(MonkTrap) Trap#t_monk4_1 -1,3,0
+monk_test,11,31,0 duplicate(MonkTrap) Trap#t_monk4_2 -1,3,0
+monk_test,15,30,0 duplicate(MonkTrap) Trap#t_monk4_3 -1
+monk_test,15,31,0 duplicate(MonkTrap) Trap#t_monk4_4 -1
+monk_test,70,12,0 duplicate(MonkTrap) Trap#t_monk5_1 -1,0,1
+monk_test,71,12,0 duplicate(MonkTrap) Trap#t_monk5_2 -1,0,1
+monk_test,70,10,0 duplicate(MonkTrap) Trap#t_monk5_3 -1
+monk_test,71,10,0 duplicate(MonkTrap) Trap#t_monk5_4 -1
+monk_test,186,11,0 duplicate(MonkTrap) Trap#t_monk6_1 -1,2,3
+monk_test,189,11,0 duplicate(MonkTrap) Trap#t_monk6_2 -1,0,3
+monk_test,387,43,0 duplicate(MonkTrap) Trap#t_monk7_1 -1,1,0
+monk_test,387,42,0 duplicate(MonkTrap) Trap#t_monk7_2 -1,1,0
+monk_test,389,43,0 duplicate(MonkTrap) Trap#t_monk7_3 -1
+monk_test,389,42,0 duplicate(MonkTrap) Trap#t_monk7_4 -1
+
+job_monk,225,180,1 script Hyunmoo#mk 89,{
+ if ((countitem(1069) > 0 || countitem(1070) > 0) && (countitem(1069) < 30 || countitem(1070) < 30)) {
+ mes "[Hyunmoo]";
+ mes "You didn't bring enough mushrooms... go get some more.";
+ next;
+ mes "[Hyunmoo]";
+ mes "Or is it you want to quit... do you want to quit?";
+ next;
+ switch(select("No.:Yes.") == 1) {
+ mes "[Hyunmoo]";
+ mes "Then move!";
+ close;
+ }
+ mes "[Hyunmoo]";
+ mes ".....I figured as much....you don't have a spirit.";
+ mapannounce "job_monk","" + strcharinfo(0) + ", has quit his testing to become a monk.",bc_map;
+ close2;
+ set MONK_Q,16;
+ changequest 3027,3028;
+ warp "prt_monk",194,168;
+ end;
+ }
+ else if (MONK_Q > 14 && MONK_Q < 25 && (countitem(1069) == 0 || countitem(1070) == 0)) {
+ mes "[Hyunmoo]";
+ mes "Nice to meet you. My name is Hyunmoo. I am in charge of the mushroom test.";
+ next;
+ mes "[Hyunmoo]";
+ mes "Your task will be to gather mushrooms.";
+ mes "Understand?";
+ next;
+ mes "[Hyunmoo]";
+ mes "Picking the mushrooms is to train your tolerance.";
+ mes "We planted a garden in order to survive as well as to discipline our minds.";
+ next;
+ mes "[Hyunmoo]";
+ mes "I believe there is no better way to find true inner peace then to be one with nature.";
+ mes "So we created our garden, however these mushrooms started sprouting up everywhere!";
+ next;
+ mes "[Hyunmoo]";
+ mes "What we ask of you as part of your training is to remove these mushrooms.";
+ mes "Go help the others remove as many mushrooms as you can and bring me back";
+ mes "enough ^FF0000Orange Net Mushrooms^000000 and ^FF0000Orange Gooey Mushroom^000000 as proof.";
+ next;
+ mes "[Hyunmoo]";
+ mes "Now, go get some mushrooms.";
+ mes "Check back with me when you have picked some, I will tell you if it is enough.";
+ mes "And remember, find peace when gardening.";
+ next;
+ mes "[Hyunmoo]";
+ mes "...or do you want to quit?";
+ next;
+ if (select("No.:Yes.") == 1) {
+ mes "[Hyunmoo]";
+ mes "Alright then, keep going.";
+ close;
+ }
+ mes "[Hyunmoo]";
+ mes ".....yeah I thought as much....you don't have the spirit needed to become a monk.";
+ mapannounce "job_monk","" + strcharinfo(0) + ", has quit his testing to become a monk.",bc_map;
+ delitem 1069,countitem(1069); //Mushroom_Of_Thief_1
+ delitem 1070,countitem(1070); //Mushroom_Of_Thief_2
+ close2;
+ mapannounce "job_monk","" + strcharinfo(0) + ", has quit his training to become a monk.",bc_map;
+ warp "prt_monk",194,168;
+ set MONK_Q,16;
+ changequest 3027,3028;
+ end;
+ }
+ else if (MONK_Q > 14 && MONK_Q < 25 && (countitem(1069) > 29 || countitem(1070) > 29)) {
+ mes "[Hyunmoo]";
+ mes "...hmm... not bad.";
+ mes "Ok, you passed.";
+ next;
+ mes "[Hyunmoo]";
+ mes "Go meet Tomoon for your next test.";
+ mes "Tomoon is staying in the deepest room inside a building near this abbey.";
+ set MONK_Q,25;
+ changequest 3027,3029;
+ delitem 1069,countitem(1069); //Mushroom_Of_Thief_1
+ delitem 1070,countitem(1070); //Mushroom_Of_Thief_2
+ close2;
+ warp "prt_monk",194,168;
+ end;
+ }
+ else if (MONK_Q > 24) {
+ mes "[Hyunmoo]";
+ mes "Didn't I tell you to go meet ^FF0000Tomoon^000000? Or do you want to pick some more mushrooms?";
+ mes "Tomoon is staying in the deepest room inside a building near this abbey.";
+ close;
+ }
+}
+
+prt_monk,225,180,1 script Hyunmoo#mk2 89,{
+ if (MONK_Q < 25) {
+ mes "[Hyunmoo]";
+ mes "As I see vegetables growing, I feel myself growing within.";
+ next;
+ mes "[Hyunmoo]";
+ mes "As I see other monks working hard on growing vegetables,";
+ mes "it warms my heart to see others enjoying gardening as I do.";
+ next;
+ mes "[Hyunmoo]";
+ mes "To be honest with you, I think gardening is the greatest thing ever...";
+ mes "We should give thanks to the brothers who prepare our food for us through their hard work.";
+ next;
+ mes "[Hyunmoo]";
+ mes "Don't forget to thank them as you go by for their hard work.";
+ close;
+ }
+ else if (MONK_Q > 24 && BaseJob == Job_Acolyte) {
+ mes "[Hyunmoo]";
+ mes "Didn't I tell you to go meet Tomoon? Or do you want to pick more mushrooms?";
+ mes "Tomoon is staying in the deepest room inside a building near this abbey.";
+ close;
+ }
+ else {
+ mes "[Hyunmoo]";
+ mes "As I see vegetables growing, I feel myself growing within.";
+ next;
+ mes "[Hyunmoo]";
+ mes "As I see other monks working hard on growing vegetables,";
+ mes "it warms my heart to see others enjoying gardening as I do.";
+ next;
+ mes "[Hyunmoo]";
+ mes "To be honest with you, I think gardening is the greatest thing ever...";
+ mes "We should give thanks to the brothers who prepare our food for us through their hard work.";
+ next;
+ mes "[Hyunmoo]";
+ mes "Don't forget to thank them as you go by for their hard work.";
+ close;
+ }
+}
+
+monk_test,319,139,1 script Tomoon#mk 52,{
+ if (MONK_Q == 25) {
+ mes "[Tomoon]";
+ mes "Welcome young one.";
+ mes "My name is Tomoon, I am in charge of the last test of spiritual training!";
+ next;
+ mes "[Tomoon]";
+ mes "Now you don't need to be instructed any more then this:";
+ mes "^990000Terminate every living thing in your way!^000000 That's all!";
+ next;
+ mes "[Tomoon]";
+ mes "While you're wandering around within the maze, if you encounter any evil creatures, just kill them! Release their tortured souls!!";
+ next;
+ mes "[Tomoon]";
+ mes "Do not compare us to the weakling priests! We are monks and we will always be the strongest!!";
+ next;
+ mes "[Tomoon]";
+ mes "We are not like priests who cower behind the strength of others!";
+ next;
+ mes "[Tomoon]";
+ mes "Now, focus!! Keep your fists tight and your eyes open! It's time to show me what you got.";
+ next;
+ mes "[Tomoon]";
+ mes "Let's see if you got what it takes to be a true monk!!";
+ close2;
+ set MONK_Q,26;
+ changequest 3029,3031;
+ warp "monk_test",88,74;
+ end;
+ }
+ else if (MONK_Q == 26) {
+ mes "[Tomoon]";
+ mes "Hmm... you failed?";
+ mes "Cheer up! Failure is but a process to success!";
+ mes "Go! Start again! Kill them all!!";
+ close2;
+ warp "monk_test",88,74;
+ end;
+ }
+ else if (MONK_Q == 27) {
+ mes "[Tomoon]";
+ mes "Excellent job!!";
+ mes "I knew you'd make it through!";
+ mes "Now...I will give you a secret potion which will double your physical strength.";
+ next;
+ getitem 506,1; //Green_Potion
+ mes "Drink this potion and you will be able to become a monk!!!";
+ mes "... now go back to sensei Moohae!!!";
+ set MONK_Q,28;
+ changequest 3031,3032;
+ close;
+ }
+ else if (MONK_Q == 28) {
+ mes "[Tomoon]";
+ mes "I already told you, go back to sensei Moohae!!!";
+ close;
+ }
+ else {
+ mes "[Tomoon]";
+ mes "....be quiet.";
+ mes ".....";
+ next;
+ mes "[Tomoon]";
+ mes "I will not allow anyone to cause any trouble in this abbey.";
+ next;
+ mes "[Tomoon]";
+ mes "You'd better not be thinking about causing any trouble.";
+ close;
+ }
+}
+
+monk_test,82,85,1 script Proctor#mk 95,{
+ mes "[Proctor]";
+ mes "So, are you ready to undergo the spiritual training?";
+ next;
+ switch(select("Yes!:No.:What do I have to do?")) {
+ case 1:
+ mes "[Proctor]";
+ mes "Alright! I wish you luck. If you get lost and can't find a way out, simply log out and log back in.";
+ mes "Then you will return to your save point. What's that mean? Heck if I know, I'm just told to say that. Oh yes and also, please cooperate with your comrades.";
+ close2;
+ set MONK_Q,26;
+ warp "monk_test",125,277;
+ end;
+ case 2:
+ mes "[Proctor]";
+ mes "I see. Take your time.";
+ close;
+ case 3:
+ mes "[Proctor]";
+ mes "Inside this test hall is the maze of spirits.";
+ mes "There are spirits inside which will block you from moving freely.";
+ next;
+ mes "[Proctor]";
+ mes "If you want to exit the test hall, you must make your way to the warp portal located at the opposite side from the start point.";
+ next;
+ mes "[Proctor]";
+ mes "....Oh yes and also there are monsters wandering around in the maze, please clear them.";
+ mes "Good luck.";
+ close;
+ }
+}
+
+monk_test,144,277,0 script mob_monk#1_1 -1,1,1,{
+OnTouch:
+ monster "monk_test",144,277,"Zombie",1015,1;
+ monster "monk_test",144,277,"Zombie",1015,1;
+ monster "monk_test",144,277,"Zombie",1015,1;
+ monster "monk_test",144,277,"Zombie",1015,1;
+ end;
+
+OnDisable:
+ killmonsterall "monk_test";
+ end;
+}
+
+monk_test,134,291,0 script mob_monk#1_2 -1,1,1,{
+OnTouch:
+ monster "monk_test",134,291,"Zombie",1015,1;
+ monster "monk_test",134,291,"Zombie",1015,1;
+ monster "monk_test",134,291,"Zombie",1015,1;
+ monster "monk_test",134,291,"Zombie",1015,1;
+ end;
+
+OnDisable:
+ killmonsterall "monk_test";
+ end;
+}
+
+monk_test,157,284,0 script mob_monk#1_3 -1,1,1,{
+OnTouch:
+ monster "monk_test",157,284,"Mummy",1041,1;
+ end;
+
+OnDisable:
+ killmonsterall "monk_test";
+ end;
+}
+
+monk_test,156,261,0 script mob_monk#1_4 -1,1,1,{
+OnTouch:
+ monster "monk_test",156,261,"Mummy",1041,1;
+ end;
+
+OnDisable:
+ killmonsterall "monk_test";
+ end;
+}
+
+monk_test,149,268,0 script mob_monk#1_5 -1,1,1,{
+OnTouch:
+ monster "monk_test",149,268,"Zombie",1015,1;
+ monster "monk_test",149,268,"Zombie",1015,1;
+ monster "monk_test",149,268,"Zombie",1015,1;
+ monster "monk_test",149,268,"Zombie",1015,1;
+ monster "monk_test",149,268,"Zombie",1015,1;
+ end;
+
+OnDisable:
+ killmonsterall "monk_test";
+ end;
+}
+
+monk_test,166,278,0 script exit_monk#1 45,1,1,{
+OnTouch:
+ mes "[Proctor]";
+ mes "You did well. Please return to Tomoon, he's waiting for you.";
+ set MONK_Q,27;
+ donpcevent "mob_monk#1_5::OnDisable";
+ donpcevent "mob_monk#1_4::OnDisable";
+ donpcevent "mob_monk#1_3::OnDisable";
+ donpcevent "mob_monk#1_2::OnDisable";
+ donpcevent "mob_monk#1_1::OnDisable";
+ close2;
+ warp "prt_monk",196,168;
+ end;
+}
+
+monk_test,88,91,1 script Proctor#mk2 52,{
+ mes "[Proctor]";
+ mes "So, are you ready to undergo this spiritual training?";
+ next;
+ switch(select("Yes!:No.:Check the caution for the test.")) {
+ case 1:
+ mes "[Proctor]";
+ mes "Alright! I wish you luck. If you get lost and can't find a way out, simply log out and log back in.";
+ mes "Then you will return to your save point. What's that mean? Heck if I know, I'm just told to say that. Oh yes and also, please cooperate with your comrades.";
+ close2;
+ set MONK_Q,26;
+ warp "monk_test",125,177;
+ end;
+ case 2:
+ mes "[Proctor]";
+ mes "I see. Take your time.";
+ close;
+ case 3:
+ mes "[Proctor]";
+ mes "Inside this test hall is the maze of spirits.";
+ mes "There are spirits inside which will block you from moving freely.";
+ next;
+ mes "[Proctor]";
+ mes "If you want to exit the test hall, you must make your way to the warp portal located at the opposite side from the start point.";
+ next;
+ mes "[Proctor]";
+ mes "....Oh yes and also there are monsters wandering around in the maze, please clear them.";
+ mes "Good luck.";
+ close;
+ }
+}
+
+monk_test,140,181,0 script mob_monk#2_1 -1,1,1,{
+OnTouch:
+ monster "monk_test",140,181,"Zombie",1015,1;
+ monster "monk_test",140,181,"Zombie",1015,1;
+ monster "monk_test",140,181,"Zombie",1015,1;
+ monster "monk_test",140,181,"Zombie",1015,1;
+ end;
+
+OnDisable:
+ killmonsterall "monk_test";
+ end;
+}
+
+monk_test,150,164,0 script mob_monk#2_2 -1,1,1,{
+OnTouch:
+ monster "monk_test",150,164,"Zombie",1015,1;
+ monster "monk_test",150,164,"Zombie",1015,1;
+ monster "monk_test",150,164,"Zombie",1015,1;
+ monster "monk_test",150,164,"Zombie",1015,1;
+ end;
+
+OnDisable:
+ killmonsterall "monk_test";
+ end;
+}
+
+monk_test,158,192,0 script mob_monk#2_3 -1,1,1,{
+OnTouch:
+ monster "monk_test",158,192,"Mummy",1041,1;
+ end;
+
+OnDisable:
+ killmonsterall "monk_test";
+ end;
+}
+
+monk_test,165,186,0 script mob_monk#2_4 -1,1,1,{
+OnTouch:
+ monster "monk_test",165,186,"Mummy",1041,1;
+ end;
+
+OnDisable:
+ killmonsterall "monk_test";
+ end;
+}
+
+monk_test,162,182,0 script mob_monk#2_5 -1,1,1,{
+OnTouch:
+ monster "monk_test",162,182,"Zombie",1015,1;
+ monster "monk_test",162,182,"Zombie",1015,1;
+ monster "monk_test",162,182,"Zombie",1015,1;
+ monster "monk_test",162,182,"Zombie",1015,1;
+ monster "monk_test",162,182,"Zombie",1015,1;
+ end;
+
+OnDisable:
+ killmonsterall "monk_test";
+ end;
+}
+
+monk_test,166,178,0 script exit_monk#2 45,1,1,{
+OnTouch:
+ mes "[Proctor]";
+ mes "You did well. Please return to Tomoon, he's waiting for you.";
+ set MONK_Q,27;
+ donpcevent "mob_monk#2_5::OnDisable";
+ donpcevent "mob_monk#2_4::OnDisable";
+ donpcevent "mob_monk#2_3::OnDisable";
+ donpcevent "mob_monk#2_2::OnDisable";
+ donpcevent "mob_monk#2_1::OnDisable";
+ close2;
+ warp "prt_monk",196,168;
+ end;
+}
+
+monk_test,95,85,1 script Proctor#btl#3 79,{
+ mes "[Proctor]";
+ mes "So, are you ready to undergo this spiritual training?";
+ next;
+ switch(select("Yes!:No.:Check the caution for the test.")) {
+ case 1:
+ mes "[Proctor]";
+ mes "Alright! I wish you luck. If you get lost and can't find a way out, simply log out and log back in.";
+ mes "Then you will return to your save point. What's that mean? Heck if I know, I'm just told to say that. Oh yes and also, please cooperate with your comrades.";
+ close2;
+ set MONK_Q,26;
+ warp "monk_test",230,277;
+ end;
+ case 2:
+ mes "[Proctor]";
+ mes "I see. Take your time.";
+ close;
+ case 3:
+ mes "[Proctor]";
+ mes "Inside this test hall is the maze of spirits.";
+ mes "There are spirits inside which will block you from moving freely.";
+ next;
+ mes "[Proctor]";
+ mes "If you want to exit the test hall, you must make your way to the warp portal located at the opposite side from the start point.";
+ next;
+ mes "[Proctor]";
+ mes "....Oh yes and also there are monsters wandering around in the maze, please clear them.";
+ mes "Good luck.";
+ close;
+ }
+}
+
+monk_test,249,277,0 script mob_monk#3_1 -1,1,1,{
+OnTouch:
+ monster "monk_test",249,277,"Zombie",1015,1;
+ monster "monk_test",249,277,"Zombie",1015,1;
+ monster "monk_test",249,277,"Zombie",1015,1;
+ monster "monk_test",249,277,"Zombie",1015,1;
+ end;
+
+OnDisable:
+ killmonsterall "monk_test";
+}
+
+monk_test,231,296,0 script mob_monk#3_2 -1,1,1,{
+OnTouch:
+ monster "monk_test",231,296,"Zombie",1015,1;
+ monster "monk_test",231,296,"Zombie",1015,1;
+ monster "monk_test",231,296,"Zombie",1015,1;
+ monster "monk_test",231,296,"Zombie",1015,1;
+ end;
+
+OnDisable:
+ killmonsterall "monk_test";
+ end;
+}
+
+monk_test,264,292,0 script mob_monk#3_3 -1,1,1,{
+OnTouch:
+ monster "monk_test",264,292,"Mummy",1041,1;
+ end;
+
+OnDisable:
+ killmonsterall "monk_test";
+ end;
+}
+
+monk_test,252,284,0 script mob_monk#3_4 -1,1,1,{
+OnTouch:
+ monster "monk_test",252,284,"Mummy",1041,1;
+ end;
+
+OnDisable:
+ killmonsterall "monk_test";
+ end;
+}
+
+monk_test,257,285,0 script mob_monk#3_5 -1,1,1,{
+OnTouch:
+ monster "monk_test",257,285,"Zombie",1015,1;
+ monster "monk_test",257,285,"Zombie",1015,1;
+ monster "monk_test",257,285,"Zombie",1015,1;
+ monster "monk_test",257,285,"Zombie",1015,1;
+ monster "monk_test",257,285,"Zombie",1015,1;
+ monster "monk_test",257,285,"Zombie",1015,1;
+ end;
+
+OnDisable:
+ killmonsterall "monk_test";
+ end;
+}
+
+monk_test,270,278,0 script exit_monk#3 45,1,1,{
+OnTouch:
+ mes "[Proctor]";
+ mes "You did well. Please return to Tomoon, he's waiting for you.";
+ set MONK_Q,27;
+ donpcevent "mob_monk#3_5::OnDisable";
+ donpcevent "mob_monk#3_4::OnDisable";
+ donpcevent "mob_monk#3_3::OnDisable";
+ donpcevent "mob_monk#3_2::OnDisable";
+ donpcevent "mob_monk#3_1::OnDisable";
+ close2;
+ warp "prt_monk",196,168;
+ end;
+}
+
+monk_test,3,3,0 script resetter#monk -1,{
+OnTimer500000:
+ donpcevent "mob_monk#1_1::OnDisable";
+ donpcevent "mob_monk#1_2::OnDisable";
+ donpcevent "mob_monk#1_3::OnDisable";
+ donpcevent "mob_monk#1_4::OnDisable";
+ donpcevent "mob_monk#1_5::OnDisable";
+ donpcevent "mob_monk#2_1::OnDisable";
+ donpcevent "mob_monk#2_2::OnDisable";
+ donpcevent "mob_monk#2_3::OnDisable";
+ donpcevent "mob_monk#2_4::OnDisable";
+ donpcevent "mob_monk#2_5::OnDisable";
+ donpcevent "mob_monk#3_1::OnDisable";
+ donpcevent "mob_monk#3_2::OnDisable";
+ donpcevent "mob_monk#3_3::OnDisable";
+ donpcevent "mob_monk#3_4::OnDisable";
+ donpcevent "mob_monk#3_5::OnDisable";
+ initnpctimer;
+ end;
+
+
+OnInit:
+OnEnable:
+ initnpctimer;
+ end;
+}
+
+monk_test,137,338,1 script switchreset#monkmonk 79,{
+ mes "Grrrr...";
+ mes "All monsters in the monk job chance place have been reset.";
+ mes "Timer's activated.";
+ donpcevent "mob_monk#1_1::OnDisable";
+ donpcevent "mob_monk#1_2::OnDisable";
+ donpcevent "mob_monk#1_3::OnDisable";
+ donpcevent "mob_monk#1_4::OnDisable";
+ donpcevent "mob_monk#1_5::OnDisable";
+ donpcevent "mob_monk#2_1::OnDisable";
+ donpcevent "mob_monk#2_2::OnDisable";
+ donpcevent "mob_monk#2_3::OnDisable";
+ donpcevent "mob_monk#2_4::OnDisable";
+ donpcevent "mob_monk#2_5::OnDisable";
+ donpcevent "mob_monk#3_1::OnDisable";
+ donpcevent "mob_monk#3_2::OnDisable";
+ donpcevent "mob_monk#3_3::OnDisable";
+ donpcevent "mob_monk#3_4::OnDisable";
+ donpcevent "mob_monk#3_5::OnDisable";
+ donpcevent "resetter#monk::OnEnable";
+ close;
+}
+
+//============================================================
+// Monsters of Mushroom Collecting
+//============================================================
+job_monk,0,0,0,0 monster Thief Mushroom 1182,70,0,0,0
+job_monk,0,0,0,0 monster Thief Bug Larva 1051,20,0,0,0
+
+//============================================================
+// mapflag
+//============================================================
+
+//============================================================
+// Old changelog
+//============================================================
+//= 1.1 Fixed missing '";'. Now it's loading fine [Lupus]
+//= 1.1+ Edited/Translated 5% [Celest]
+//= 1.2 Made Poetry Quiz passable, Fixed Marathon Part [Lupus]
+//= 1.3 Added Baby Class Support [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 warps19/20 [Yor]
+//= 1.8 Fixed bugs. Fixed Green Potion exploit. Getting rid of Jfunc mess [Lupus]
+//= 1.9 Added a missing check in Fuhai and fixed a LOT of Engrish. [Zephiris]
+//= 1.9b Fixed another bug in Fuhai. [Zephiris]
+//= 2.0 Changed numbers to constants. [Vicious]
+//= 2.1 Removed Duplicates [Silent]
diff --git a/npc/jobs/2-2/rogue.txt b/npc/jobs/2-2/rogue.txt
new file mode 100644
index 000000000..6d9ffe14f
--- /dev/null
+++ b/npc/jobs/2-2/rogue.txt
@@ -0,0 +1,2034 @@
+//===== rAthena Script =======================================
+//= Rogue Job Quest
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 2.9
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= [Aegis Conversion]
+//= Job quest for Rogue classes
+//===== Additional Comments: =================================
+//= 2.4 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf]
+//= No longer uses function "F_BlockHigh"
+//= 2.4a Deleted unused variables. [Samuray22]
+//= 2.4b Changed a Problem with JobLevel what made
+//= impossible get a Gladius [3]. (bugreport:481) [Samuray22]
+//= 2.4c Corrected a Typo error ";;" and a typo error with "rouge". (bugreport:909) [Samuray22]
+//= 2.5 Added dummy "OnMyMobDead" labels. (bugreport:1100) [L0ne_W0lf]
+//= 2.6 Fixed a few bugs in the Rogue Guildsman. [L0ne_W0lf]
+//= 2.7 Fixed a bug on Markie question 5, bugreport:1600 [Brainstorm]
+//= 2.8 Moved "Thug" to Morroc Ruins. [L0ne_W0lf]
+//= 2.9 Added Quest Log commands. [Kisuka]
+//============================================================
+
+moc_ruins,86,103,1 script Thug#rg 118,{
+ mes "[Thug]";
+ mes "*Sigh...*";
+ mes "What is life?";
+ mes "And what use";
+ mes "is money? ...Damn.";
+ mes "Damn this worthless life!";
+ next;
+ mes "[Thug]";
+ mes "Hey, kid.";
+ mes "What the hell";
+ mes "are you lookin' at?";
+ next;
+ if (select("Me? N-nothing!':........") == 1) {
+ mes "[Thug]";
+ mes "Then get the";
+ mes "hell out of my face!";
+ mes "Didn't you hear me?";
+ mes "Get lost!";
+ close;
+ }
+ mes "[Thug]";
+ mes "Hmmm...";
+ mes "Maybe I'll swing by the ^0000FFRogue Guild^000000 in ^0000FFParos Lighthouse^000000...";
+ next;
+ mes "[Thug]";
+ mes "I needz my money,";
+ mes "and they best have it...";
+ close;
+}
+
+in_rogue,363,122,4 script Rogue Guildsman#rg 747,{
+ if (Upper == 1) {
+ mes "[Markie]";
+ mes "Eh? You...you...?!";
+ mes "Hey, haven't we met before?";
+ next;
+ mes "[Markie]";
+ mes "..............";
+ mes "Awww, ^FF0000I am sorry^000000! I think I misunderstood you from someone I know.";
+ next;
+ mes "[Markie]";
+ mes ".......";
+ mes "........It is strange though. Umm.";
+ next;
+ mes "[Markie]";
+ mes "I never misunderstand people...oh well, be safe anyway!";
+ close;
+ }
+ if (BaseJob == Job_Thief) {
+ if (SkillPoint) {
+ mes "[Rogue Guildsman]";
+ mes "Yo, what are you doin'?!";
+ mes "You can't change your job if you got unused skill points, so use 'em all up. You bettah check yo-self before you wreck yo-self.";
+ close;
+ }
+ if (JobLevel > 39) {
+ if (ROGUE_Q == 0) {
+ mes "[Rogue Guildsman]";
+ mes "So what's a kid";
+ mes "like you doin' here?";
+ if (sex == 1) {
+ mes "Oh, I get it now...";
+ mes "The widdle boy wants";
+ }
+ else {
+ mes "Oh, I see...";
+ mes "Lil' cutie wants ";
+ }
+ mes "to be a ^800000Rogue^000000.";
+ next;
+ mes "[Rogue Guildsman]";
+ mes "Eh, nice meetin' you, I guess. I'm Markie, and I do work for the Rogue Guild, a philanthro-- *ahem* a ^800000feelanthropist^000000 group, as you can see. So what's your name?";
+ next;
+ mes "[Markie]";
+ mes "..." + strcharinfo(0) + "?";
+ mes "Heh heh! Cool name.";
+ mes "If it was dorky, we'd";
+ mes "make you change it,";
+ mes "so you're in luck.";
+ next;
+ mes "[Markie]";
+ mes "So why you wanna join up with the Rogues? I guess you gave me your real name, so you'd be an honest Rogue. Not many of those around, heh heh~";
+ next;
+ mes "[Markie]";
+ mes "Rule number 1 for Rogues...";
+ mes "Never give out your real identity to most people, most of the time. It's just a little backup measure we like to use.";
+ next;
+ mes "[Markie]";
+ mes "Right. I'm officially accepting your application, so now you gotta take a test. Don't sweat it, this first one is real simple.";
+ next;
+ mes "[Markie]";
+ mes "Alright...";
+ mes "Let's get started!";
+ next;
+ }
+ else if (ROGUE_Q == 1) {
+ mes "[Markie]";
+ mes "You again?";
+ mes "Okay, you probably screwed up last time 'cuz you were way too nervous. So just chill and pass";
+ mes "this test, okay?";
+ next;
+ }
+ else if (ROGUE_Q == 2) {
+ mes "[Markie]";
+ mes "Go talk to Smith. His test might be pretty hard. He's one of the guys who makes sure that people pay up their debts to us. So yeah, he might be a bit of a hard case.";
+ next;
+ mes "[Markie]";
+ mes "Yeah...";
+ mes "That guy can be pretty anal, but we need a guy like him in our guild. Anyway, be careful. Lots of luck to you, pal.";
+ close;
+ }
+ else if (ROGUE_Q > 2 && ROGUE_Q < 16) {
+ mes "[Markie]";
+ mes "Hey yo...";
+ mes "Do your best.";
+ next;
+ mes "[Markie]";
+ mes "Heh heh...";
+ mes "Fresh meat. This'll be";
+ mes "a cinch to--Wait! Er, I wasn't talkin' about you! I meant the other fresh meat~";
+ close;
+ }
+ else if (ROGUE_Q == 16 || ROGUE_Q == 17) {
+ changequest 2026,2027;
+ mes "[Markie]";
+ if (ROGUE_Q == 16) {
+ mes "Oh hey, it's you!";
+ mes "You did a good job, guy.";
+ mes "Now, lemme change your";
+ mes "job to Rogue. You earned it!";
+ next;
+ mes "[Markie]";
+ mes "Congrats~!";
+ mes "You look";
+ mes "sooo dope!";
+ }
+ else {
+ mes "Oh! It's you!";
+ mes "You were actually able to put up with that guy? Good stuff! Must've had a rough time collect all those items, eh?";
+ next;
+ mes "[Markie]";
+ mes "Hey hey~";
+ mes "Congrats!";
+ mes "You've been";
+ mes "doin' a great job~";
+ }
+ set .@jlevel,JobLevel;
+ callfunc "Job_Change",Job_Rogue;
+ callfunc "F_ClearJobVar";
+ completequest 2027;
+ next;
+ mes "[Markie]";
+ mes "Now...";
+ mes "It's time";
+ mes "for me to make";
+ mes "a speech~ *Ahem*";
+ next;
+ mes "[Markie]";
+ mes "Enjoy your freedom as a Rogue. Just remember that you gotta be free and responsible at the same time. So treat other guys the way you wanna be treated, kay? Alright, seeya round.";
+ close2;
+ if (.@jlevel == 50) {
+ getitem 1220,1; //Gladius_
+ } else {
+ getitem 1219,1; //Gladius
+ }
+ end;
+ }
+ if (select("I'm ready.:Hold on, I need to get ready!") == 2) {
+ mes "[Markie]";
+ mes "Get ready...?";
+ mes "Fine, fine.";
+ mes "Take your sweet";
+ mes "time, why don't you?";
+ mes "But hurry up and";
+ mes "come back, got it?";
+ close;
+ }
+ next;
+ mes "[Markie]";
+ mes "Listen carefully, and";
+ mes "pick the right answer.";
+ mes "Capish? Now, lemme";
+ mes "read these questions...";
+ next;
+ switch(rand(1,3)) {
+ case 1:
+ mes "[Markie]";
+ mes "1. Choose the skill necessary for learning ^880000Stalk^000000.";
+ next;
+ if (select("^880000Hiding^000000:^880000Steal^000000:^880000Improve Dodge^000000:^880000Bash^000000") == 1)
+ set .@assassin_t,.@assassin_t+10;
+
+ mes "[Markie]";
+ mes "2. In comparison to the Merchant's Level 10 ^880000Discount^000000 skill, how much more of a discount, in terms of percent, can a Rogue get with Level 10 ^880000Haggle^000000 skill?";
+ next;
+ if (select("3 %:2 %:1 %:0 %") == 3)
+ set .@assassin_t,.@assassin_t+10;
+
+ mes "[Markie]";
+ mes "3. What is the correct description for the skill, ^880000Mug^000000?";
+ next;
+ if (select("Steal items from players:Steal items from monsters:Steal Zeny from monsters:Steal Zeny from players") == 3)
+ set .@assassin_t,.@assassin_t+10;
+
+ mes "[Markie]";
+ mes "4. How many Rogues does it require to activate the skill, ^880000Slyness^000000?";
+ next;
+ if (select("1 Rogues + 2 Assassin:1 Thief + 2 Rogue:4 Thieves:2 Rogues") == 4)
+ set .@assassin_t,.@assassin_t+10;
+
+ mes "[Markie]";
+ mes "5. Choose the skill that you can learn at Level 5 ^880000Divest Helm^000000.";
+ next;
+ if (select("^880000Envenom^000000:^880000Strip Tease^000000:^880000Venom Splasher^000000:^880000Divest Shield^000000") == 4)
+ set .@assassin_t,.@assassin_t+10;
+
+ mes "[Markie]";
+ mes "6. Choose the skill which allows its user to move while hiding.";
+ next;
+ if (select("^880000Hiding^000000:^880000Back Slide^000000:^880000Stalk^000000:^880000Sand Attack^000000") == 3)
+ set .@assassin_t,.@assassin_t+10;
+
+ mes "[Markie]";
+ mes "7. Choose the card that increases the accuracy rate of its owner.";
+ next;
+ if (select("Andre Card.:Familiar Card.:Mummy Card.:Marina Card.") == 3)
+ set .@assassin_t,.@assassin_t+10;
+
+ mes "[Markie]";
+ mes "8. Choose the monster that receives more damage when it's attacked by a weapon with the Vadon card (20 % more damage on Fire property).";
+ next;
+ if (select("Vadon:Deviruchi:Elder Willow:Baphomet") == 3)
+ set .@assassin_t,.@assassin_t+10;
+
+ mes "[Markie]";
+ mes "9. How much SP does the skill ^880000Double Attack^000000 require when used with a Dagger?";
+ next;
+ if (select("15:Passive skill, no SP required.:Passive skill, 10 SP:54") == 2)
+ set .@assassin_t,.@assassin_t+10;
+
+ mes "[Markie]";
+ mes "10. Choose the most efficient dagger to use in the Byalan Dungeon.";
+ next;
+ if (select("Wind Main-Gauche:Ice Main-Gauche:Earth Main-Gauche:Fire Main-Gauche") == 1)
+ set .@assassin_t,.@assassin_t+10;
+ break;
+ case 2:
+ mes "[Markie]";
+ mes "1. Which monster drops a slotted Gladius?";
+ next;
+ if (select("Thief Bug:Peco Peco:Desert Wolf:Kobold") == 4)
+ set .@assassin_t,.@assassin_t+10;
+
+ mes "[Markie]";
+ mes "2. Which monster drops a slotted Main-Gauche?";
+ next;
+ if (select("Hornet:Desert Wolf:Marionette:Myst") == 1)
+ set .@assassin_t,.@assassin_t+10;
+
+ mes "[Markie]";
+ mes "3. Choose the class that is able to create unique potions.";
+ next;
+ if (select("Merchant:Alchemist:Blacksmith:Priest") == 2)
+ set .@assassin_t,.@assassin_t+10;
+
+ mes "[Markie]";
+ mes "4. Choose the weapon that Rogues aren't allowed to use.";
+ next;
+ if (select("Gakkung:Crossbow:Gladius:Katar") == 4)
+ set .@assassin_t,.@assassin_t+10;
+
+ mes "[Markie]";
+ mes "5. Choose the property that the monster Hode possesses.";
+ next;
+ if (select("Water:Fire:Wind:Earth") == 4)
+ set .@assassin_t,.@assassin_t+10;
+
+ mes "[Markie]";
+ mes "6. Choose the monster that is unable to be tamed for as a Cute Pet.";
+ next;
+ if (select("Poporing:Creamy:Orc:Poison Spore") == 2)
+ set .@assassin_t,.@assassin_t+10;
+
+ mes "[Markie]";
+ mes "7. Choose the monster that receives more damage from a Dagger with the Fire property.";
+ next;
+ if (select("Dagger Goblin:Mace Goblin:Morning Star Goblin:Hammer Goblin") == 4)
+ set .@assassin_t,.@assassin_t+10;
+
+ mes "[Markie]";
+ mes "8. Choose the town that doesn't have any guild castles.";
+ next;
+ if (select("Prontera:Al De Baran:Alberta:Payon") == 3)
+ set .@assassin_t,.@assassin_t+10;
+
+ mes "[Markie]";
+ mes "9. Choose the plant that drops Blue Herbs.";
+ next;
+ switch(select("Green Plant:Yellow Plant:Blue Plant:Shining Plant")) {
+ default:
+ break;
+ case 3:
+ set .@assassin_t,.@assassin_t+10;
+ break;
+ case 4:
+ set .@assassin_t,.@assassin_t+10;
+ break;
+ }
+ mes "[Markie]";
+ mes "10. Choose the monster that does not have the Undead property.";
+ next;
+ if (select("Zombie:Megalodon:Familiar:Khalitzburg") == 3)
+ set .@assassin_t,.@assassin_t+10;
+ break;
+ case 3:
+ mes "[Markie]";
+ mes "1. By what percentage is the flee rate increased when a Thief masters the ^880000Improve Dodge^000000?";
+ next;
+ if (select("30:40:160:20") == 1)
+ set .@assassin_t,.@assassin_t+10;
+
+ mes "[Markie]";
+ mes "2. Choose the monster that detects a characters using the Hiding or Cloaking skill.";
+ next;
+ if (select("Worm Tail:Argos:Mummy:Soldier Skeleton") == 2)
+ set .@assassin_t,.@assassin_t+10;
+
+ mes "[Markie]";
+ mes "3. Choose the location where Thieves can change their jobs to Rogues.";
+ next;
+ if (select("Comodo:Kokomo Beach:Paros Lighthouse:Morroc") == 3)
+ set .@assassin_t,.@assassin_t+10;
+
+ mes "[Markie]";
+ mes "4. In which town can Novices change their jobs to Thieves?";
+ next;
+ if (select("Comodo:Lutie:Alberta:Morroc") == 4)
+ set .@assassin_t,.@assassin_t+10;
+
+ mes "[Markie]";
+ mes "5. Choose the card that does not affect the DEX stat.";
+ next;
+ if (select("Rocker Card:Mummy Card:Zerom Card:Drops Card") == 2)
+ set .@assassin_t,.@assassin_t+10;
+
+ mes "[Markie]";
+ mes "6. So what's cool about being a Rogue?";
+ next;
+ select("Being totally badass.:The clothes, the style.:Getting to call other people, 'foo'':Excellent attack strength");
+ set .@assassin_t,.@assassin_t+10;
+
+ mes "[Markie]";
+ mes "7. When is it possible to change jobs from Thief to Rogue?";
+ next;
+ switch(select("At job Level 30:At job Level 35:At Job Level 40:At Job Level 50")) {
+ default:
+ break;
+ case 3:
+ set .@assassin_t,.@assassin_t+10;
+ break;
+ case 4:
+ set .@assassin_t,.@assassin_t+10;
+ break;
+ }
+ mes "[Markie]";
+ mes "8. You want to dye your hair blue. What town do you go to, and in which direction, with 12 o' clock being North.";
+ next;
+ if (select("Morroc, 7 o'clock:Prontera, 7 o'clock:Morroc, 5 o'clock:Prontera, 1 o'clock") == 2)
+ set .@assassin_t,.@assassin_t+10;
+
+ mes "[Markie]";
+ mes "9. Choose the mushroom that is required on the Thief job change quest.";
+ next;
+ switch(select("Orange Gooey Mushroom:Red Hairy Mushroom:Orange Net Mushroom:Orange Sticky Mushroom")) {
+ default:
+ break;
+ case 1:
+ case 3:
+ set .@assassin_t,.@assassin_t+10;
+ break;
+ }
+ mes "[Markie]";
+ mes "10. Choose the card that least benefits the Rogue class.";
+ next;
+ if (select("Whisper Card:Elder Willow Card:Zerom Card:Matyr Card") == 2)
+ set .@assassin_t,.@assassin_t+10;
+ }
+ mes "[Markie]";
+ mes "*Whew~*";
+ mes "Finally.";
+ mes "We're done.";
+ next;
+ mes "[Markie]";
+ mes "Let's see.";
+ mes "You got...";
+ mes "" + .@assassin_t + " points.";
+ if (.@assassin_t > 80) {
+ set ROGUE_Q,2;
+ setquest 2017;
+ mes "Good. You passed.";
+ mes "We don't gotta";
+ mes "do that again.";
+ next;
+ mes "[Markie]";
+ mes "But don't get too comfortable just yet, you got more o' these tests. Your next one will be from Smith.";
+ next;
+ mes "[Markie]";
+ mes "So...";
+ mes "Go find Smith and finish up this test, yeah? Be careful though, Smith's a pretty anal guy.";
+ close;
+ }
+ else {
+ set ROGUE_Q,1;
+ mes "Aw crud... You failed!";
+ next;
+ mes "[Markie]";
+ mes "Man, you shoulda learned more when you had the chance. Thanks for wasting my time.";
+ next;
+ mes "[Markie]";
+ mes "*Sigh...* Lemme give you some tips, yeah? I'm supposed to tell you about some kind of ^990000iro.ragnarokonline.com^000000 to help you learn what you need to know.";
+ next;
+ mes "[Markie]";
+ mes "Of course, I don't know what the heck it means, but if you understand it, it'll probably help you out a lot.";
+ close;
+ }
+ }
+ else if (JobLevel < 40) {
+ mes "[Rogue Guildsman]";
+ mes "Whoa, slow down newbie. We only accept people who are at least Thief Job Level 40. I ain't risking myself by letting you in before you're ready. Got it?";
+ close;
+ }
+ }
+ else if (BaseJob == Job_Assassin) {
+ mes "[Rogue Guildsman]";
+ mes "Huh...?";
+ mes "What's an Assassin doin' here? Uh, you haven't been assigned to kill someone in the Rogue Guild, are you?";
+ next;
+ mes "[Rogue Guildsman]";
+ mes "In any case, don't mess with us! You can't catch me... I'm a smooth criminal!";
+ next;
+ mes "[Rogue Guildsman]";
+ mes "Don't get it, huh? It's something I always used to say to Huey. If you're in the Assassin Guild, you oughta have met him...";
+ close;
+ }
+ else if (BaseJob == Job_Rogue) {
+ mes "[Markie]";
+ mes "Hey hey~";
+ mes "Long time no see.";
+ mes "Eh, right now we don't";
+ mes "any requests from the";
+ mes "guild for you, so just";
+ mes "check back again later.";
+ close;
+ }
+ else {
+ mes "[Rogue Guildsman]";
+ mes "Hey you...";
+ mes "Get your ugly";
+ mes "ass out of here";
+ mes "before I redecorate";
+ mes "that face of yours!";
+ close;
+ }
+}
+
+in_rogue,376,23,1 script Mr. Smith#rg 57,{
+ if (ROGUE_Q == 2) {
+ mes "[Mr. Smith]";
+ mes "Welcome to";
+ mes "the Rogue guild.";
+ mes "From here on, I will";
+ mes "verify your qualification.";
+ next;
+ mes "[Mr. Smith]";
+ mes "Before we get started,";
+ mes "I want you to know";
+ mes "about something...";
+ next;
+ mes "[Mr. Smith]";
+ mes "All new Rogues are required to pay an application fee, so I hope you take care of that first.";
+ next;
+ mes "[Mr. Smith]";
+ mes "What you have to understand is that the Rogue Guild does a lot of business, ^666666sometimes illegally^000000, that needs financial backup.";
+ next;
+ set .@item_need,rand(1,15);
+ if (.@item_need > 0 && .@item_need < 6) callsub S_Req,"10 Skel-bone","6 Blue Herb","10 Decayed Nail","10 Horrendous Mouth",3;
+ else if (.@item_need > 5 && .@item_need < 11) callsub S_Req,"10 Green Herb","10 Crab Shell","10 Snake Scale","10 Garlet",4;
+ else if (.@item_need > 10 && .@item_need < 15) callsub S_Req,"10 Yellow Herb","10 Shell","10 Grasshopper's Leg","10 Bear's Footskin",5;
+ else if (.@item_need == 15) {
+ mes "[Mr. Smith]";
+ mes "I will let you know...";
+ set ROGUE_Q,6;
+ changequest 2017,2021;
+ next;
+ mes "[Mr. Smith]";
+ mes "I will let you know......";
+ next;
+ mes "[Mr. Smith]";
+ mes "I will let you know........";
+ mes "By the way.....";
+ next;
+ mes "[Mr. Smith]";
+ mes "Oh man...";
+ mes "This is...";
+ mes "Damn...";
+ mes "Annoying!";
+ next;
+ mes "[Mr. Smith]";
+ mes "...";
+ next;
+ mes "[Mr. Smith]";
+ mes "...";
+ mes "......";
+ next;
+ mes "[Mr. Smith]";
+ mes "...";
+ mes "......";
+ mes ".........";
+ next;
+ mes "[Mr. Smith]";
+ mes "Today, I'm in a pissed off mood, ya' know why?! I haven't collected any bills! God! Idiot Thieves coming at me all the time, wanting to become Rogues!";
+ next;
+ mes "[Mr. Smith]";
+ mes "Jesus! Now I understand why our leader told us that working as customer support sucks.";
+ next;
+ mes "[Mr. Smith]";
+ mes "That god damn guild master assigned me to this shitty job. I'm better than this F$@king job!";
+ mapannounce "in_rogue","That god damn guild master assigned me to this shitty job! That Bastard!",bc_map;
+ mes "That bastard should go to F$@king hell, I'm gonna kick that mother F$@kers ass! F#%k F#%k F#%k !!!";
+ mapannounce "in_rogue","That bastard should go to F$@king hell, I'm gonna kick that mother F$@kers ass! F#%k F#%k F#%k !!!",bc_map;
+ next;
+ mes "[Mr. Smith]";
+ mes "That dipshit who just tried to change his job, the one before you...";
+ mapannounce "in_rogue","That dipshit who just tried to change his job, the one before you...",bc_map;
+ mes "You know what the f#@k he talked to me about?!?";
+ mapannounce "in_rogue","You know what the f#@k he talked to me about?!?",bc_map;
+ mes "F#$@%#$*#$%@#$!!";
+ mapannounce "in_rogue","F#$@%#$*#$%@#$!!",bc_map;
+ next;
+ mes "[Mr. Smith]";
+ mes "What the--?! What's with this chat filter?! Stop #*!@$ing me! you stupid F#$%*! Let me talk!!!";
+ mapannounce "in_rogue","What the--?! What's with this chat filter?! Stop #*!@$ing me! you stupid F#$%*! Let me talk!!!",bc_map;
+ next;
+ mes "[Mr. Smith]";
+ mes "What the f#@k you looking at...? " + strcharinfo(0) + "? That's your name!?";
+ mapannounce "in_rogue","What the f#@k you looking at...? " + strcharinfo(0) + "? That's your name!?",bc_map;
+ mes " ";
+ mes "[" + strcharinfo(0) + "]";
+ mes "Umm...";
+ mes "Sir...?";
+ mes "I didn't mean to make you upset. I just came here to so I could become a Rogue.";
+ next;
+ mes "[Mr. Smith]";
+ mes "Holy shit on a stick, what the f#$k was I just f!#king talking about, you moron!";
+ mapannounce "in_rogue","Holy shit on a stick, what the f#$k was I just f!#king talking about, you moron!",bc_map;
+ next;
+ mes "[Mr. Smith]";
+ mes "Just leave me alone! Just leave alone! Just leave me alone!";
+ mapannounce "in_rogue","Just leave me alone! Just leave alone! Just leave me alone!",bc_map;
+ next;
+ mes "[Mr. Smith]";
+ mes "Do whatever you want, okay? Just do whatever the F$!!K you want...!!";
+ mapannounce "in_rogue","Do whatever you want, okay? Just do whatever the F$!!K you want...!!",bc_map;
+ next;
+ mes "[Mr. Smith]";
+ mes "Your application fee... ^FF000010,000 zeny^000000!!";
+ next;
+ mes "[Mr. Smith]";
+ mes "^FF00005 Crysalis^000000!";
+ mes "^FF00005 Empty Bottle^000000!";
+ mes "^FF00005 Iron Ore^000000!";
+ mes "^FF00005 Stone Heart^000000!!";
+ next;
+ mes "[Mr. Smith]";
+ mes "^FF00005 Red Herb^000000!";
+ mes "^FF00005 Animal Skin^000000!!";
+ mes "^FF00005 Yellow Gemstone^000000!!";
+ next;
+ mes "[Mr. Smith]";
+ mes "^FF00005 Tooth of Bat^000000!";
+ mes "^FF00005 Scorpion Tail^000000!!";
+ mes "^FF00005 Yoyo Tail^000000!!";
+ next;
+ mes "[Mr. Smith]";
+ mes "^FF00005 Monster's Feed^000000!";
+ mes "^FF00005 Fluff^000000!!";
+ mes "^FF00005 Clover^000000!!";
+ next;
+ mes "[Mr. Smith]";
+ mes "^FF00005 Feather of Birds^000000!";
+ mes "^FF00005 Talon^000000!!";
+ mes "^FF00005 Spawn^000000!!";
+ next;
+ mes "[Mr. Smith]";
+ mes "Don't even think about coming back until you've got all those or I'll kill you where you stand.";
+ next;
+ mes "[Mr. Smith]";
+ mes "What the F$@k? Did you just say I'm annoying you? Shut up, you ungrateful prick!";
+ next;
+ mes "[Mr. Smith]";
+ mes "I just added ^FF000010 Raccoon Leaf^000000 to the list. You better get it!";
+ next;
+ mes "[Mr. Smith]";
+ mes "F%$#*&#@$%#@$@#$%@$%&*k! Haven't you ever thought about how hard it would be to be an NPC!?!";
+ mapannounce "in_rogue","F%$#*&#@$%#@$@#$%@$%&*k! Haven't you ever thought about how hard it would be to be an NPC!?!",bc_map;
+ close;
+ }
+ }
+ else if (ROGUE_Q < 2) {
+ mes "[Mr. Smith]";
+ mes "Three thousand, two hundred seventy two. Three thousand, two hundred seventy three. Three thousand, two hundred seventy four...";
+ next;
+ mes "[Mr. Smith]";
+ mes "Uhh...";
+ mes "Headache...";
+ mes "This is too much";
+ mes "zeny to count.";
+ next;
+ mes "[Mr. Smith]";
+ mes "Uh...?";
+ mes "What are you doing here? If you're going to talk about the job change, you need to speak to the other guy first.";
+ next;
+ mes "[Mr. Smith]";
+ mes "...Shit!";
+ mes "I lost count!";
+ close;
+ }
+ else if (ROGUE_Q > 2) {
+ if (ROGUE_Q == 3) callsub S_CheckItems,510,6,932,10,957,10,958,10;
+ else if (ROGUE_Q == 4) callsub S_CheckItems,511,10,910,10,926,10,964,10;
+ else if (ROGUE_Q == 5) callsub S_CheckItems,508,10,948,10,935,10,940,10;
+ else if (ROGUE_Q == 6) {
+ if (zeny > 9999 && countitem(915) > 4 && countitem(713) > 4 && countitem(1002) > 4 &&
+ countitem(953) > 4 && countitem(507) > 4 && countitem(919) > 4 && countitem(715) > 4 &&
+ countitem(913) > 4 && countitem(904) > 4 && countitem(942) > 4 && countitem(528) > 4 &&
+ countitem(914) > 4 && countitem(705) > 4 && countitem(916) > 4 && countitem(917) > 4 &&
+ countitem(908) > 4 && countitem(945) > 4) {
+ mes "[Mr. Smith]";
+ mes "Ummm...let's see...";
+ set zeny,zeny-10000;
+ delitem 915,5; //Chrysalis
+ delitem 713,5; //Empty_Bottle
+ delitem 1002,5; //Iron_Ore
+ delitem 953,5; //Stone_Heart
+ delitem 507,5; //Red_Herb
+ delitem 919,5; //Animal's_Skin
+ delitem 715,5; //Yellow_Gemstone
+ delitem 913,5; //Tooth_Of_Bat
+ delitem 904,5; //Scorpion's_Tail
+ delitem 942,5; //Yoyo_Tail
+ delitem 528,5; //Monster's_Feed
+ delitem 914,5; //Fluff
+ delitem 705,5; //Clover
+ delitem 916,5; //Feather_Of_Birds
+ delitem 917,5; //Talon
+ delitem 908,5; //Spawn
+ delitem 945,5; //Raccoon_Leaf
+ set ROGUE_Q,8;
+ next;
+ mes "[Mr. Smith]";
+ mes "Wow, you've brought each and every single thing I asked you to. Good work... I salute you.";
+ next;
+ mes "^CCCCCC- Middle Finger -^000000'";
+ mes "*Grins*";
+ set ROGUE_Q,8;
+ changequest 2021,2025;
+ next;
+ mes "[Mr. Smith]";
+ mes "Since you showed such great effort, I'm going to write a recommendation letter for you. I usually don't do that, you know.";
+ next;
+ mes "[Mr. Smith]";
+ mes "But I'm sure you'll be a great asset to the Rogue Guild. Hmm, I don't have a blank piece of paper right now, so take this instead...";
+ getitem 1097,1; //Worn_Out_Page
+ next;
+ mes "[Mr. Smith]";
+ mes "*Sigh...*";
+ mes "I know, I know. I'm supposed to control myself in the work place. Getting enraged is a bad habit...";
+ next;
+ mes "[Mr. Smith]";
+ mes "*Mumble mumble...*";
+ mes "How was I... *Mumble...*";
+ mes "How did... I remember...";
+ mes "*Sigh* It was all because of my bad temper!";
+ next;
+ mes "[Mr. Smith]";
+ mes "Wah....!!!";
+ next;
+ mes "^3355FFIt might be a better";
+ mes "idea to come back later.^000000";
+ close;
+ }
+ mes "[Mr. Smith]";
+ mes "Listen this time!";
+ mes "Application fee:";
+ mes "^FF000010000 zeny^000000,";
+ mes "^FF00005 Crysalis^000000!";
+ mes "^FF00005 Empty Bottle^000000!";
+ mes "^FF00005 Iron Ore^000000!";
+ next;
+ mes "[Mr. Smith]";
+ mes "^FF00005 Stone Heart^000000!!";
+ mes "^FF00005 Red Herb^000000!";
+ mes "^FF00005 Animal Skin^000000!!";
+ mes "^FF00005 Yellow Gemstone^000000!!";
+ next;
+ mes "[Mr. Smith]";
+ mes "^FF00005 Tooth of Bat^000000!";
+ mes "^FF00005 Scorpion Tail^000000!!";
+ mes "^FF00005 Yoyo Tail^000000!!";
+ next;
+ mes "[Mr. Smith]";
+ mes "^FF00005 Monster's Feed^000000!";
+ mes "^FF00005 Fluff^000000!!";
+ mes "^FF00005 Clover^000000!!";
+ next;
+ mes "[Mr. Smith]";
+ mes "^FF00005 Feather of Birds^000000!";
+ mes "^FF00005 Talon^000000!!";
+ mes "^FF00005 Spawn^000000!!";
+ mes "^FF000010 Raccoon Leaf^000000!!";
+ next;
+ mes "[Mr. Smith]";
+ mes "Don't even think";
+ mes "of coming back";
+ mes "without them!";
+ close;
+ }
+ else if (ROGUE_Q == 7) {
+ mes "[Mr. Smith]";
+ mes "Let me see...";
+ mes "Who would should";
+ mes "I send you to...?";
+ switch(rand(1,3)) {
+ case 1:
+ set ROGUE_Q,9;
+ if(checkquest(2018) != -1) {
+ changequest 2018,2022;
+ }
+ else if(checkquest(2019) != -1) {
+ changequest 2019,2022;
+ }
+ else {
+ changequest 2020,2022;
+ }
+ next;
+ mes "[Mr. Smith]";
+ mes "Right! I know";
+ mes "just the guy~!";
+ next;
+ mes "[Mr. Smith]";
+ mes "Go visit Aragham Junior who lives South of the Sandarman Fortress. That area is located one field east from here.";
+ next;
+ mes "[Mr. Smith]";
+ mes "He's a pretty nice guy, you know. He works hard and is really good at bill collecting.";
+ next;
+ mes "[Mr. Smith]";
+ mes "Before he joined the Rogue Guild, people have been trying to kill him for something his father did in the past. So, he became a runaway.";
+ next;
+ mes "[Mr. Smith]";
+ mes "Well anyway, that's why he's been with us. We've been helping him hide from his enemies.";
+ next;
+ mes "[Mr. Smith]";
+ mes "Ah, you might want to remember the password if you want to meet him. He doesn't let anybody in his house without the password.";
+ next;
+ mes "[Mr. Smith]";
+ mes "The password is ^0000FFAragham never hoarded upgrade items^000000.";
+ next;
+ mes "[Mr. Smith]";
+ mes "Well, I will wish you luck. His place isn't that far from here, so come back as soon as possible. Being swift... That is the spirit of the Rogue.";
+ close;
+ case 2:
+ set ROGUE_Q,10;
+ if(checkquest(2018) != -1) {
+ changequest 2018,2023;
+ }
+ else if(checkquest(2019) != -1) {
+ changequest 2019,2023;
+ }
+ else {
+ changequest 2020,2023;
+ }
+ next;
+ mes "[Mr. Smith]";
+ mes "Hmm...";
+ mes "This guy might be";
+ mes "good for you, but...";
+ mes "He's a little dangerous.";
+ next;
+ mes "[Mr. Smith]";
+ mes "I want you to meet Antonio Junior, son of Antonio the first. For some reason people have been trying to kill him because of something his father did in the past.";
+ next;
+ mes "[Mr. Smith]";
+ mes "He was brought up in Payon, but he's staying in an empty house near the Kokomo beach at the moment.";
+ next;
+ mes "[Mr. Smith]";
+ mes "I've heard lately that he's been complaining a lot about the noise outside of his house, and he fears an assassination attempt. Anyway...";
+ next;
+ mes "[Mr. Smith]";
+ mes "He's kind of tense, so he throws a dagger at anyone who approches his house. He has a violent personality.";
+ next;
+ mes "[Mr. Smith]";
+ mes "However, he does have magnificiant business skills. And he also loves gambling. Once you get to know him, he'll take care of your Rogue training really well.";
+ next;
+ mes "[Mr. Smith]";
+ mes "Ah, you might want to remember the password to meet him in person. The password is ^0000FFAntonio doesn't enjoy destroying upgrade items^000000.";
+ close;
+ case 3:
+ set ROGUE_Q,11;
+ if(checkquest(2018) != -1) {
+ changequest 2018,2024;
+ }
+ else if(checkquest(2019) != -1) {
+ changequest 2019,2024;
+ }
+ else {
+ changequest 2020,2024;
+ }
+ next;
+ mes "[Mr. Smith]";
+ mes "Hmm...";
+ mes "This guy might be";
+ mes "good for you, but...";
+ mes "He's a little dangerous.";
+ next;
+ mes "[Mr. Smith]";
+ mes "His name is";
+ mes "Hollgrehenn Junior,";
+ mes "a genius at manipulation.";
+ next;
+ mes "[Mr. Smith]";
+ mes "However, because of something his father did long ago, people ahve been trying to kill him. Because of this, he is very high strung and will throw daggers at people he doesn't trust.";
+ next;
+ mes "[Mr. Smith]";
+ mes "Our leader has been able to get him to join our guild, and his brilliant mind has been an asset to us. Once you get to know him, he'll take care of your Rogue training really well.";
+ next;
+ mes "[Mr. Smith]";
+ mes "Ah, you might want to remember the password to meet him in person. The password is ^0000FFMy father never hoarded upgrade items^000000.";
+ close;
+ }
+ }
+ else if (ROGUE_Q == 8) {
+ mes "[Mr. Smith]";
+ mes "Alright... Now that I've calmed down, I can inform you of your next destination. *Whew*";
+ next;
+ mes "[Mr. Smith]";
+ mes "Go and find Hermanthorn Junior, who is living near the ^0000FFthe checkpoint of Paros Lighthouse^000000, which is at the border between Morroc and Comodo.";
+ next;
+ mes "[Mr. Smith]";
+ mes "Ah...almost forgot, keep in mind not to mention anything about upgrading items. This is very important.";
+ close;
+ }
+ else if (ROGUE_Q == 9) {
+ mes "[Mr. Smith]";
+ mes "What...?";
+ mes "Did you just";
+ mes "say that you";
+ mes "forgot where to go?";
+ next;
+ mes "[Mr. Smith]";
+ mes "Head one field East and enter the building that is South of the Sandarman Fortress to meet Aragham Junior.";
+ next;
+ mes "[Mr. Smith]";
+ mes "The password is ^0000FFAragham never hoarded upgrade items^000000.";
+ close;
+ }
+ else if (ROGUE_Q == 10) {
+ mes "[Mr. Smith]";
+ mes "What...?";
+ mes "Did you just";
+ mes "say that you";
+ mes "forgot where to go?";
+ next;
+ mes "[Mr. Smith]";
+ mes "Go to the building";
+ mes "at Kokomo Beach,";
+ mes "which is on the way";
+ mes "to Comodo, to meet";
+ mes "Antonio Junior.";
+ next;
+ mes "[Mr. Smith]";
+ mes "The password is ^0000FF'Antonio doesn't enjoy destroying upgrade items'^000000.";
+ close;
+ }
+ else if (ROGUE_Q == 11) {
+ mes "[Mr. Smith]";
+ mes "What...?";
+ mes "Did you just";
+ mes "say that you";
+ mes "forgot where to go?";
+ next;
+ mes "[Mr. Smith]";
+ mes "Go to the field South of Sandarman Fortress, which is on the way to Morroc from here, to meet Hollgrehenn Junior.";
+ next;
+ mes "[Mr. Smith]";
+ mes "The password is ^0000FFMy father never hoarded upgrade items^000000.";
+ close;
+ }
+ else if (ROGUE_Q > 11) {
+ mes "[Mr. Smith]";
+ mes "Hmmm...?";
+ mes "Don't you have";
+ mes "to go somewhere";
+ mes "else to complete";
+ mes "your Rogue training?";
+ close;
+ }
+ }
+
+
+S_Req:
+ mes "[Mr. Smith]";
+ mes "First, the";
+ mes "application fee:";
+ mes "^FF000010,000 zeny^000000.";
+ next;
+ mes "[Mr. Smith]";
+ mes "We also need";
+ mes "you to bring";
+ mes "^FF0000"+getarg(0)+"^000000,";
+ mes "^FF0000"+getarg(1)+"^000000,";
+ mes "^FF0000"+getarg(2)+"^000000 and";
+ mes "^FF0000"+getarg(3)+"^000000.";
+ set ROGUE_Q,getarg(4);
+ if(getarg(4) == 3) {
+ changequest 2017,2018;
+ }
+ else if(getarg(4) == 4) {
+ changequest 2017,2019;
+ }
+ else {
+ changequest 2017,2020;
+ }
+ next;
+ mes "[Mr. Smith]";
+ mes "Hmm...?";
+ mes "What was that?";
+ mes "Did you just say that";
+ mes "you're willing to donate";
+ mes "more for the guild?";
+ next;
+ mes "[Mr. Smith]";
+ mes "That sounds sweet,";
+ mes "I appreciate that.";
+ mes "But come back when";
+ mes "you're ready.";
+ close;
+
+
+S_CheckItems:
+ if (Zeny > 9999 && countitem(getarg(0)) >= getarg(1) && countitem(getarg(2)) >= getarg(3) && countitem(getarg(4)) >= getarg(5) && countitem(getarg(6)) >= getarg(7)) {
+ mes "[Mr. Smith]";
+ mes "Okay, we've got the application fee, ^FF000010,000 zeny^000000, "+getarg(1)+" "+getitemname(getarg(0))+", "+getarg(3)+" "+getitemname(getarg(2))+", "+getarg(5)+" "+getitemname(getarg(4))+" and "+getarg(7)+" "+getitemname(getarg(6))+"...";
+ set zeny,zeny-10000;
+ delitem getarg(0),getarg(1);
+ delitem getarg(2),getarg(3);
+ delitem getarg(4),getarg(5);
+ delitem getarg(6),getarg(7);
+ set ROGUE_Q,7;
+ next;
+ mes "[Mr. Smith]";
+ mes "Great, great...";
+ mes "I think you";
+ mes "brought everything.";
+ set ROGUE_Q,7;
+ next;
+ mes "[Mr. Smith]";
+ mes "Alright, wait just a moment while";
+ mes "I prepare these things. Let's see... Your next test is...";
+ close;
+ }
+ mes "[Mr. Smith]";
+ mes "What the f$@k!? You didn't bring all the required items?! Are you telling me that you need to check the requirements again!?";
+ next;
+ mes "[Mr. Smith]";
+ mes "Now listen...!";
+ mes "Bring ^FF000010,000 zeny^000000,";
+ mes "and the following items...";
+ next;
+ mes "[Mr. Smith]";
+ mes "^FF0000 "+getarg(1)+" "+getitemname(getarg(0))+"^000000,";
+ mes "^FF0000 "+getarg(3)+" "+getitemname(getarg(2))+"^000000,";
+ mes "^FF0000 "+getarg(5)+" "+getitemname(getarg(4))+"^000000,";
+ mes "^FF0000 "+getarg(7)+" "+getitemname(getarg(6))+"^000000,";
+ mes "You got it this time?";
+ close;
+}
+
+cmd_fild09,106,195,0 script Warp#1 45,1,1,{
+OnTouch:
+ mes "[???]";
+ mes "Who's there?!";
+ mes "Who would dare";
+ mes "intrude my territory?";
+ next;
+ switch(select("My father:Aragham:Aragon:Legolas")) {
+ case 1:
+ mes "[" + strcharinfo(0) + "]";
+ mes "My father";
+ break;
+ case 2:
+ mes "[" + strcharinfo(0) + "]";
+ mes "Aragham";
+ set .@rogue_t,.@rogue_t+10;
+ break;
+ case 3:
+ mes "[" + strcharinfo(0) + "]";
+ mes "Aragon";
+ break;
+ case 4:
+ mes "[" + strcharinfo(0) + "]";
+ mes "Legolas";
+ break;
+ }
+ switch(select("did not:didn't:never:ever")) {
+ case 1: mes "did not"; break;
+ case 2: mes "didn't"; break;
+ case 3:
+ mes "never";
+ set .@rogue_t,.@rogue_t+10;
+ break;
+ case 4: mes "ever"; break;
+ }
+ switch(select("hoard:hoarded:hide:took:take")) {
+ case 1: mes "hoard"; break;
+ case 2:
+ mes "hoarded";
+ set .@rogue_t,.@rogue_t+10;
+ break;
+ case 3: mes "hide"; break;
+ case 4: mes "took"; break;
+ case 5: mes "take"; break;
+ }
+ switch(select("upgrade items.:forging items.:refining item.:upgrade item.")) {
+ case 1:
+ mes "upgrade items.";
+ set .@rogue_t,.@rogue_t+10;
+ break;
+ case 2: mes "forging items."; break;
+ case 3: mes "refining item."; break;
+ case 4: mes "upgrade item."; break;
+ }
+ next;
+ if (.@rogue_t > 30) {
+ mes "^3355FF*Creeeeak*";
+ mes "The door slowly opens.^000000";
+ close2;
+ warp "in_rogue",246,25;
+ end;
+ }
+ else {
+ mes "[???]";
+ mes "What the...?";
+ mes "Get lost!";
+ close;
+ }
+}
+
+cmd_fild09,335,143,0 script Warp#2 45,1,1,{
+OnTouch:
+ mes "[???]";
+ mes "Who's there?!";
+ mes "Who would dare";
+ mes "intrude my territory?";
+ next;
+ switch(select("My father:Aragham:Aragon:Legolas")) {
+ case 1:
+ mes "[" + strcharinfo(0) + "]";
+ mes "My father";
+ set .@rogue_t,.@rogue_t+10;
+ break;
+ case 2:
+ mes "[" + strcharinfo(0) + "]";
+ mes "Aragham";
+ break;
+ case 3:
+ mes "[" + strcharinfo(0) + "]";
+ mes "Aragon";
+ break;
+ case 4:
+ mes "[" + strcharinfo(0) + "]";
+ mes "Legolas";
+ break;
+ }
+ switch(select("did not:didn't:never:ever")) {
+ case 1: mes "did not"; break;
+ case 2: mes "didn't"; break;
+ case 3:
+ mes "never";
+ set .@rogue_t,.@rogue_t+10;
+ break;
+ case 4: mes "ever"; break;
+ }
+ switch(select("hoard:takes:hide:took:hoarded")) {
+ case 1: mes "hoard"; break;
+ case 2: mes "takes"; break;
+ case 3: mes "hide"; break;
+ case 4: mes "took"; break;
+ case 5:
+ mes "hoarded";
+ set .@rogue_t,.@rogue_t+10;
+ break;
+ }
+ switch(select("upgrade items.:forging items.:refining item.:upgrade item.")) {
+ case 1:
+ mes "upgrade items.";
+ set .@rogue_t,.@rogue_t+10;
+ break;
+ case 2: mes "forging items."; break;
+ case 3: mes "refining item."; break;
+ case 4: mes "upgrade item."; break;
+ }
+ next;
+ if (.@rogue_t > 30) {
+ mes "^3355FF*Creeeeak*";
+ mes "The door slowly opens.^000000";
+ close2;
+ warp "in_rogue",169,34;
+ end;
+ }
+ else {
+ mes "[???]";
+ mes "What the...?";
+ mes "Get lost!";
+ close;
+ }
+}
+
+cmd_fild04,304,180,0 script Warp#3 45,1,1,{
+OnTouch:
+ mes "[???]";
+ mes "Who's there?!";
+ mes "Who would dare";
+ mes "intrude my territory?";
+ next;
+ switch(select("Anntonio:Aragham:Antonio:Hollgrehenn")) {
+ case 1:
+ mes "[" + strcharinfo(0) + "]";
+ mes "Anntonio";
+ break;
+ case 2:
+ mes "[" + strcharinfo(0) + "]";
+ mes "Aragham";
+ break;
+ case 3:
+ mes "[" + strcharinfo(0) + "]";
+ mes "Antonio";
+ set .@rogue_t,.@rogue_t+10;
+ break;
+ case 4:
+ mes "[" + strcharinfo(0) + "]";
+ mes "Hollgrehenn";
+ break;
+ }
+ switch(select("enjoys:doesn't enjoy:likes:doesn't like")) {
+ case 1: mes "enjoys"; break;
+ case 2:
+ mes "doesn't enjoy";
+ set .@rogue_t,.@rogue_t+10;
+ break;
+ case 3: mes "likes"; break;
+ case 4: mes "doesn't like"; break;
+ }
+ switch(select("damaging:destroying:fixing:forging")) {
+ case 1: mes "damaging"; break;
+ case 2:
+ mes "destroying";
+ set .@rogue_t,.@rogue_t+10;
+ break;
+ case 3: mes "fixing"; break;
+ case 4: mes "forging"; break;
+ }
+ switch(select("forging item.:refining items.:upgrade items.:refined items.:upgraded items.:forged items.")) {
+ case 1: mes "forging item."; break;
+ case 2: mes "refining items."; break;
+ case 3:
+ mes "upgrade items.";
+ set .@rogue_t,.@rogue_t+10;
+ break;
+ case 4: mes "refined items."; break;
+ case 5: mes "upgraded items."; break;
+ case 6: mes "forged items."; break;
+ }
+ next;
+ if (.@rogue_t > 30) {
+ mes "^3355FF*Creeeeak*";
+ mes "The door slowly opens.^000000";
+ close2;
+ warp "in_rogue",164,106;
+ end;
+ }
+ else {
+ mes "[???]";
+ mes ".....Get lost!";
+ close;
+ }
+}
+
+in_rogue,272,135,1 script Hermanthorn Jr#rg 85,{
+ if (ROGUE_Q == 8) {
+ mes "[HermanthornJr.]";
+ mes "I see...";
+ mes "You must be from";
+ mes "the Rogue guild.";
+ mes "You must be one of the";
+ mes "ones Mr. Smith wasn't";
+ mes "too happy with...";
+ next;
+ mes "[HermanthornJr.]";
+ mes "He threw a fit and you brought him all the items he asked for, didn't you? Well, I can see that you're still pretty naive. Hahaha~";
+ next;
+ mes "[HermanthornJr.]";
+ mes "I suppose he suckered you into gathering those items, and then passed you on to me. Sad, really.";
+ next;
+ mes "[HermanthornJr.]";
+ mes "Well, since you were tortured by him, I'll try to be especially generous to you. My test for you will be simple, so simple.";
+ next;
+ mes "[HermanthornJr.]";
+ mes "All you have to do is go through a underground tunnel, and walk all the way back to the Rogue Guild.";
+ next;
+ mes "[HermanthornJr.]";
+ mes "There is one thing I should tell you, though. You might want to be careful inside, alright?";
+ next;
+ mes "[HermanthornJr.]";
+ mes "A bunch of pricks have been throwing Dead Branches and casting Hocus Pocus all over the place...";
+ next;
+ mes "[HermanthornJr.]";
+ mes "Well...";
+ mes "Just make it back to the Rogue Guild alive. That's all you have to do!";
+ set ROGUE_Q,12;
+ changequest 2025,2026;
+ close;
+ }
+ else if (ROGUE_Q == 12) {
+ mes "[HermanthornJr.]";
+ mes "Oh right. This is really important. You need a password to enter the tunnel. To unlock the door, the four number combination is ^0000FF3019^000000.";
+ close;
+ }
+ else {
+ mes "[HermanthornJr.]";
+ mes "Huh...?";
+ mes "What the hell";
+ mes "are you doing here.";
+ mes "Scram, why don't you?";
+ close;
+ }
+}
+
+in_rogue,270,130,0 script he_to_rogue#rg 45,1,1,{
+OnTouch:
+ mes "^3355FFThe door is locked. You'll need to enter the four number combination to open it.^000000";
+ next;
+ input .@input;
+ if (.@input < 1 || .@input > 10000) {
+ if (ROGUE_Q == 12)
+ mes "^3355FFIt didn't work. Please re-enter the four number combination.^000000";
+ else
+ mes "^3355FFPlease enter a combination of four numbers.^000000";
+ close;
+ }
+ else if (.@input == 3019) {
+ if (ROGUE_Q == 12) {
+ mes "^3355FFThe door";
+ mes "has opened.^000000";
+ close2;
+ warp "in_rogue",10,21;
+ set ROGUE_Q,12;
+ end;
+ }
+ else {
+ mes "[HermanthornJr.]";
+ mes "Well...";
+ mes "Didn't I tell you";
+ mes "that I changed the";
+ mes "password? *Wink Wink*";
+ close;
+ }
+ }
+ else {
+ mes "^3355FFThe door";
+ mes "is still locked.^000000";
+ close;
+ }
+}
+
+in_rogue,200,389,0 script gen_ro#1 -1,3,3,{
+OnTouch:
+ if (BaseJob == Job_Thief) {
+ monster "in_rogue",200,389,"Zombie",1015,1,"gen_ro#1::OnMyMobDead";
+ monster "in_rogue",201,389,"Zombie",1015,1,"gen_ro#1::OnMyMobDead";
+ donpcevent "gen_ro#2::OnDisable";
+ donpcevent "gen_ro#3::OnDisable";
+ donpcevent "gen_ro#4::OnDisable";
+ }
+ else
+ warp "mag_dun02",181,176;
+ end;
+
+OnDisable:
+ killmonster "in_rogue","gen_ro#1::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ end;
+}
+
+in_rogue,100,389,0 script gen_ro#2 -1,3,3,{
+OnTouch:
+ if (BaseJob == Job_Thief) {
+ monster "in_rogue",100,389,"Mummy",1041,1,"gen_ro#2::OnMyMobDead";
+ donpcevent "gen_ro#1::OnDisable";
+ }
+ else
+ warp "mag_dun02",181,176;
+ end;
+
+OnDisable:
+ killmonster "in_rogue","gen_ro#2::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ end;
+}
+
+in_rogue,150,389,0 script gen_ro#3 -1,3,3,{
+OnTouch:
+ if (BaseJob == Job_Thief) {
+ monster "in_rogue",145,389,"Zombie",1015,1,"gen_ro#3::OnMyMobDead";
+ monster "in_rogue",143,389,"Mummy",1041,1,"gen_ro#3::OnMyMobDead";
+ donpcevent "gen_ro#2::OnDisable";
+ }
+ else
+ warp "mag_dun02",181,176;
+ end;
+
+OnDisable:
+ killmonster "in_rogue","gen_ro#3::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ end;
+}
+
+in_rogue,250,389,0 script gen_ro#4 -1,3,3,{
+OnTouch:
+ if (BaseJob == Job_Thief) {
+ monster "in_rogue",200,389,"Abysmal Knight",1219,1,"gen_ro#4::OnMyMobDead";
+ donpcevent "gen_ro#3::OnDisable";
+ }
+ else
+ warp "mag_dun02",181,176;
+ end;
+
+OnDisable:
+ killmonster "in_rogue","gen_ro#4::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ end;
+}
+
+in_rogue,9,389,0 script oneway_to_gu 45,1,1,{
+OnTouch:
+ donpcevent "gen_ro#4::OnDisable";
+ set ROGUE_Q,17;
+ warp "in_rogue",367,10;
+ end;
+}
+
+in_rogue,244,39,1 script Aragham Junior#rg 99,{
+ if (ROGUE_Q == 9) {
+ mes "[Aragham Jr.]";
+ mes "Oh, you must be";
+ mes "from the Rogue Guild...";
+ next;
+ mes "[Aragham Jr.]";
+ mes "My name is";
+ mes "Aragham Junior,";
+ mes "Rogue of the Desert.";
+ mes "Are you ready to learn";
+ mes "how to be a Rogue?";
+ next;
+ mes "[Aragham Jr.]";
+ mes "See, as a Rogue, our motto is, '^0000FFAvoid the strong! Be malicious to the weak!^000000' That rule especially goes true for monsters.";
+ next;
+ mes "[Aragham Jr.]";
+ mes "Avoid the strong!";
+ mes "Be malicious to the weak!";
+ mes "It's a simple rule...";
+ next;
+ mes "[Aragham Jr.]";
+ mes "Now, remember it as you go through ^0000FFthe Underground Tunnel^000000. Try to walk all the way to the Rogue Guild.";
+ next;
+ mes "[Aragham Jr.]";
+ mes "There will be a few monsters, but don't worry. I know you're strong. Alright, are you ready to go or what?";
+ next;
+ if (select("Yes, let's go.:Nah~") == 1) {
+ mes "[Aragham Jr.]";
+ mes "Alright...";
+ mes "Good luck, then.";
+ close2;
+ warp "in_rogue",15,105;
+ set ROGUE_Q,13;
+ changequest 2022,2026;
+ end;
+ }
+ mes "[Aragham Jr.]";
+ mes "Fine, fine.";
+ mes "Take your time";
+ mes "and come back";
+ mes "when you're ready.";
+ close;
+ }
+ else if (ROGUE_Q == 13) {
+ mes "[Aragham Jr.]";
+ mes "Oh, you're back.";
+ mes "I think you'll do well this time. Another motto Rogues have is '^0000FFFailure teaches success^000000.' Well, then again...";
+ next;
+ if (select("Re-Test:Cancel") == 1) {
+ mes "[Aragham Jr.]";
+ mes "Good luck.";
+ close2;
+ warp "in_rogue",15,105;
+ end;
+ }
+ mes "[Aragham Jr.]";
+ mes "Fine, fine.";
+ mes "Take your time";
+ mes "and come back";
+ mes "when you're ready.";
+ close;
+ }
+ else if (BaseJob != Job_Rogue) {
+ mes "[Aragham Jr.]";
+ mes "Huh...?";
+ mes "Who are you?!";
+ mes "You're not from";
+ mes "the Rogue Guild!!";
+ next;
+ mes "[Aragham Jr.]";
+ mes "You've come here to kill me, haven't you? N-no! I'm can't die yet! Get lost! Otherwise, I'll kill you first!";
+ close;
+ }
+ else {
+ mes "[Aragham Jr.]";
+ mes "Hey...";
+ mes "what brings";
+ mes "you back here?";
+ mes "Why don't you";
+ mes "take a rest";
+ mes "before you leave?";
+ close;
+ }
+}
+
+in_rogue,160,34,1 script Hollgrehenn junior#rg 85,{
+ if (ROGUE_Q == 11) {
+ mes "[Hollgrehenn Jr.]";
+ mes "Huh...";
+ mes "From the";
+ mes "Rogue guild, huh?";
+ next;
+ mes "[Hollgrehenn Jr.]";
+ mes "I'm Hollgrehenn Junior. I tend to a lot of our underground business. So are you ready to take on my test?";
+ next;
+ mes "[Hollgrehenn Jr.]";
+ mes "We Rogues share this motto: ^0000FFAvoid the strong! Be malicious to the weak!^000000 This rule applies to any threat, especially monsters.";
+ next;
+ mes "[Hollgrehenn Jr.]";
+ mes "It's easy to remember.";
+ mes "Just don't forget to put it into practice. You got it?";
+ next;
+ mes "[Hollgrehenn Jr.]";
+ mes "For my test, you'll go through the ^0000FFUnderground Tunnel^000000. Follow it all the way back to the Rogue Guild.";
+ next;
+ mes "[Hollgrehenn Jr.]";
+ mes "There are some monsters there, but that'll be part of your training. Now, are you ready to go or not?";
+ next;
+ if (select("Yes, I am.:Nah~") == 1) {
+ mes "[Hollgrehenn Jr.]";
+ mes "Good luck.";
+ close2;
+ warp "in_rogue",15,105;
+ set ROGUE_Q,15;
+ changequest 2024,2026;
+ end;
+ }
+ mes "[Hollgrehenn Jr.]";
+ mes "Take your time.";
+ mes "Come back here";
+ mes "when you're ready.";
+ close;
+ }
+ else if (ROGUE_Q == 15) {
+ mes "[Hollgrehenn Jr.]";
+ mes "Huh.";
+ mes "You failed.";
+ mes "Gonna try again?";
+ next;
+ if (select("Re-Test:Cancel.") == 1) {
+ mes "[Hollgrehenn Jr.]";
+ mes "Good luck.";
+ close2;
+ warp "in_rogue",15,105;
+ end;
+ }
+ mes "[Hollgrehenn Jr.]";
+ mes "Take your time.";
+ mes "Come back here";
+ mes "when you're ready.";
+ close;
+ }
+ else if (BaseJob != Job_Rogue) {
+ mes "[Hollgrehenn Jr.]";
+ mes "Huh...?";
+ mes "You're not from";
+ mes "the Rogue Guild...";
+ next;
+ mes "[Hollgrehenn Jr.]";
+ mes "You better get out";
+ mes "of here right now";
+ mes "if you know what's";
+ mes "good for you...";
+ next;
+ mes "[Hollgrehenn Jr.]";
+ mes "Now...";
+ mes "Beat it before";
+ mes "I change my mind";
+ mes "about killing you.";
+ close;
+ }
+ else {
+ mes "[Hollgrehenn Jr.]";
+ mes "Hey...";
+ mes "Come to visit?";
+ mes "We Rogues gotta";
+ mes "stick together, huh?";
+ close;
+ }
+}
+
+in_rogue,177,109,1 script Antonio junior#rg 88,{
+ if (ROGUE_Q == 10) {
+ mes "[Antonio Jr.]";
+ mes "You're from";
+ mes "the Rogue guild?";
+ mes "If you wanna learn";
+ mes "about becoming a Rogue,";
+ mes "then shut up and stay put.";
+ next;
+ mes "[Antonio Jr.]";
+ mes "^0000FFAvoid the strong! Be malicious to the weak!^000000 That's our motto for battling monsters.";
+ next;
+ mes "[Antonio Jr.]";
+ mes "Show no mercy when you fight weaker monsters, and try to keep away from stronger monsters.";
+ next;
+ mes "[Antonio Jr.]";
+ mes "Now, I want you to walk all the way to the Rogue Guild through this ^0000FFUnderground Tunnel^000000.";
+ next;
+ mes "[Antonio Jr.]";
+ mes "There are monsters there, but if you avoid the strong and be malicious to the weak, you'll be fine.";
+ next;
+ if (select("Let's go!:W-wait~") == 1) {
+ mes "[Antonio Jr.]";
+ mes "I hope you do";
+ mes "not fail this test";
+ mes "You can only become";
+ mes "a Rogue if you pass...";
+ close2;
+ warp "in_rogue",15,105;
+ set ROGUE_Q,14;
+ changequest 2023,2026;
+ end;
+ }
+ mes "[Antonio Jr.]";
+ mes "I don't have time";
+ mes "to fool around with";
+ mes "you. Hurry up, get";
+ mes "ready, then take";
+ mes "the test.";
+ close;
+ }
+ else if (ROGUE_Q == 14) {
+ mes "[Antonio Jr.]";
+ mes "You failed...?";
+ mes "I guess that's life.";
+ mes "Are you gonna try";
+ mes "again or what?";
+ next;
+ if (select("Re-test:Cancel") == 1) {
+ mes "[Antonio Jr.]";
+ mes "Remember, I'm doing";
+ mes "you a favor here...";
+ mes "Now, don't come back";
+ mes "until you're a Rogue.";
+ close2;
+ warp "in_rogue",15,105;
+ end;
+ }
+ mes "[Antonio Jr.]";
+ mes "I don't have time";
+ mes "to fool around with";
+ mes "you. Hurry up, get";
+ mes "ready, then take";
+ mes "the test.";
+ close;
+ }
+ else if (BaseJob != Job_Rogue) {
+ mes "Huh...?";
+ mes "Who are you?!";
+ mes "You're not from";
+ mes "the Rogue Guild!!";
+ next;
+ mes "[Antonio Jr.]";
+ mes "You've come here to kill me?! I won't let you!! Come on, give me your best shot! You can't fight if I rip out your eyes!";
+ close;
+ }
+ else {
+ mes "[Antonio Jr.]";
+ mes "Hey, how's it goin'?";
+ mes "Take it easy, and just";
+ mes "relax before you leave.";
+ close;
+ }
+}
+
+in_rogue,370,320,0 script quest_out 45,1,1,{
+OnTouch:
+ set ROGUE_Q,16;
+ warp "in_rogue",378,113;
+ end;
+}
+
+in_rogue,15,184,0 script mob_rogue#1 -1,8,1,{
+OnTouch:
+ if (BaseJob == Job_Thief) {
+ monster "in_rogue",14,187,"Zombie",1015,1,"mob_rogue#1::OnMyMobDead";
+ monster "in_rogue",15,188,"Zombie",1015,1,"mob_rogue#1::OnMyMobDead";
+ monster "in_rogue",16,189,"Zombie",1015,1,"mob_rogue#1::OnMyMobDead";
+ monster "in_rogue",17,187,"Zombie",1015,1,"mob_rogue#1::OnMyMobDead";
+ monster "in_rogue",18,188,"Zombie",1015,1,"mob_rogue#1::OnMyMobDead";
+ monster "in_rogue",19,189,"Zombie",1015,1,"mob_rogue#1::OnMyMobDead";
+ }
+ else
+ warp "mag_dun02",181,176;
+ end;
+
+OnDisable:
+ killmonster "in_rogue","mob_rogue#1::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ end;
+}
+
+in_rogue,15,273,0 script mob_rogue#2 -1,8,1,{
+OnTouch:
+ if (BaseJob == Job_Thief) {
+ monster "in_rogue",15,276,"Mummy",1041,1,"mob_rogue#2::OnMyMobDead";
+ monster "in_rogue",13,276,"Mummy",1041,1,"mob_rogue#2::OnMyMobDead";
+ monster "in_rogue",11,276,"Mummy",1041,1,"mob_rogue#2::OnMyMobDead";
+ }
+ else
+ warp "mag_dun02",181,176;
+ end;
+
+OnDisable:
+ killmonster "in_rogue","mob_rogue#2::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ end;
+}
+
+in_rogue,15,333,0 script mob_rogue#3 -1,8,1,{
+OnTouch:
+ if (BaseJob == Job_Thief) {
+ monster "in_rogue",15,336,"Zombie",1015,1,"mob_rogue#3::OnMyMobDead";
+ monster "in_rogue",15,336,"Zombie",1015,1,"mob_rogue#3::OnMyMobDead";
+ monster "in_rogue",15,336,"Zombie",1015,1,"mob_rogue#3::OnMyMobDead";
+ monster "in_rogue",15,336,"Zombie",1015,1,"mob_rogue#3::OnMyMobDead";
+ donpcevent "mob_rogue#4::OnDisable";
+ donpcevent "mob_rogue#7::OnDisable";
+ donpcevent "mob_rogue#8::OnDisable";
+ }
+ else
+ warp "mag_dun02",181,176;
+ end;
+
+OnDisable:
+ killmonster "in_rogue","mob_rogue#3::OnMyMObDead";
+ end;
+
+OnMyMobDead:
+ end;
+}
+
+in_rogue,39,341,0 script mob_rogue#4 -1,1,8,{
+OnTouch:
+ if (BaseJob == Job_Thief) {
+ monster "in_rogue",39,341,"Mummy",1041,1,"mob_rogue#4::OnMyMobDead";
+ monster "in_rogue",40,341,"Ghoul",1036,1,"mob_rogue#4::OnMyMobDead";
+ monster "in_rogue",41,341,"Abysmal Knight",1219,1,"mob_rogue#4::OnMyMobDead";
+ monster "in_rogue",42,341,"Mummy",1041,1,"mob_rogue#4::OnMyMobDead";
+ }
+ else
+ warp "mag_dun02",181,176;
+ end;
+
+OnDisable:
+ killmonster "in_rogue","mob_rogue#4::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ end;
+}
+
+in_rogue,102,334,0 script mob_rogue#5 -1,1,4,{
+OnTouch:
+ if (BaseJob == Job_Thief) {
+ monster "in_rogue",92,334,"Khalitzburg",1132,1,"mob_rogue#5::OnMyMobDead";
+ donpcevent "mob_rogue#1::OnDisable";
+ donpcevent "mob_rogue#2::OnDisable";
+ donpcevent "mob_rogue#3::OnDisable";
+ }
+ else
+ warp "mag_dun02",181,176;
+ end;
+
+OnDisable:
+ killmonster "in_rogue","mob_rogue#5::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ end;
+}
+
+in_rogue,58,309,0 script mob_rogue#6 -1,4,1,{
+OnTouch:
+ if (BaseJob == Job_Thief) {
+ monster "in_rogue",57,301,"Khalitzburg",1132,1,"mob_rogue#6::OnMyMobDead";
+ donpcevent "mob_rogue#1::OnDisable";
+ donpcevent "mob_rogue#2::OnDisable";
+ donpcevent "mob_rogue#3::OnDisable";
+ }
+ else
+ warp "mag_dun02",181,176;
+ end;
+
+OnDisable:
+ killmonster "in_rogue","mob_rogue#6::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ end;
+}
+
+in_rogue,101,264,0 script mob_rogue#7 -1,5,5,{
+OnTouch:
+ if (BaseJob == Job_Thief) {
+ monster "in_rogue",101,264,"Abysmal Knight",1219,1,"mob_rogue#7::OnMyMobDead";
+ monster "in_rogue",102,264,"Abysmal Knight",1219,1,"mob_rogue#7::OnMyMobDead";
+ }
+ else
+ warp "mag_dun02",181,176;
+ end;
+
+OnDisable:
+ killmonster "in_rogue","mob_rogue#7::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ end;
+}
+
+in_rogue,140,312,0 script mob_rogue#8 -1,5,5,{
+OnTouch:
+ if (BaseJob == Job_Thief)
+ monster "in_rogue",140,312,"Abysmal Knight",1219,1,"mob_rogue#8::OnMyMobDead";
+ else
+ warp "mag_dun02",181,176;
+ end;
+
+OnDisable:
+ killmonster "in_rogue","mob_rogue#8::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ end;
+}
+
+in_rogue,139,246,0 script mob_rogue#9 -1,4,4,{
+OnTouch:
+ if (BaseJob == Job_Thief) {
+ monster "in_rogue",139,246,"Zombie",1015,1,"mob_rogue#9::OnMyMobDead";
+ monster "in_rogue",149,246,"Zombie",1015,1,"mob_rogue#9::OnMyMobDead";
+ monster "in_rogue",140,246,"Zombie",1015,1,"mob_rogue#9::OnMyMobDead";
+ monster "in_rogue",141,246,"Zombie",1015,1,"mob_rogue#9::OnMyMobDead";
+ monster "in_rogue",150,246,"Zombie",1015,1,"mob_rogue#9::OnMyMobDead";
+ monster "in_rogue",151,246,"Zombie",1015,1,"mob_rogue#9::OnMyMobDead";
+ }
+ else
+ warp "mag_dun02",181,176;
+ end;
+
+OnDisable:
+ killmonster "in_rogue","mob_rogue#9::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ end;
+}
+
+in_rogue,197,249,0 script mob_rogue#10 -1,1,8,{
+OnTouch:
+ if (BaseJob == Job_Thief) {
+ monster "in_rogue",176,211,"Ghoul",1036,1,"mob_rogue#10::OnMyMobDead";
+ monster "in_rogue",176,212,"Zombie",1015,1,"mob_rogue#10::OnMyMobDead";
+ monster "in_rogue",176,213,"Zombie",1015,1,"mob_rogue#10::OnMyMobDead";
+ monster "in_rogue",177,214,"Abysmal Knight",1219,1,"mob_rogue#10::OnMyMobDead";
+ monster "in_rogue",177,211,"Zombie",1015,1,"mob_rogue#10::OnMyMobDead";
+ monster "in_rogue",177,212,"Zombie",1015,1,"mob_rogue#10::OnMyMobDead";
+ monster "in_rogue",177,213,"Zombie",1015,1,"mob_rogue#10::OnMyMobDead";
+ monster "in_rogue",177,214,"Zombie",1015,1,"mob_rogue#10::OnMyMobDead";
+ monster "in_rogue",178,211,"Zombie",1015,1,"mob_rogue#10::OnMyMobDead";
+ monster "in_rogue",178,212,"Zombie",1015,1,"mob_rogue#10::OnMyMobDead";
+ monster "in_rogue",178,213,"Zombie",1015,1,"mob_rogue#10::OnMyMobDead";
+ monster "in_rogue",178,214,"Archer Skeleton",1016,1,"mob_rogue#10::OnMyMobDead";
+ monster "in_rogue",179,211,"Zombie",1015,1,"mob_rogue#10::OnMyMobDead";
+ monster "in_rogue",179,212,"Zombie",1015,1,"mob_rogue#10::OnMyMobDead";
+ monster "in_rogue",179,213,"Zombie",1015,1,"mob_rogue#10::OnMyMobDead";
+ monster "in_rogue",179,214,"Zombie",1015,1,"mob_rogue#10::OnMyMobDead";
+ donpcevent "mob_rogue#4::OnDisable";
+ donpcevent "mob_rogue#5::OnDisable";
+ donpcevent "mob_rogue#6::OnDisable";
+ }
+ else
+ warp "mag_dun02",181,176;
+ end;
+
+OnDisable:
+ killmonster "in_rogue","mob_rogue#10::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ end;
+}
+
+in_rogue,96,205,0 script mob_rogue#11 -1,1,8,{
+OnTouch:
+ if (BaseJob == Job_Thief) {
+ donpcevent "mob_rogue#7::OnDisable";
+ donpcevent "mob_rogue#8::OnDisable";
+ donpcevent "mob_rogue#9::OnDisable";
+ donpcevent "mob_rogue#10::OnDisable";
+ }
+ else
+ warp "mag_dun02",181,176;
+ end;
+}
+
+in_rogue,86,187,0 script mob_rogue#12 -1,1,8,{
+OnTouch:
+ if (BaseJob == Job_Thief) {
+ monster "in_rogue",90,187,"Mummy",1041,1,"mob_rogue#12::OnMyMobDead";
+ monster "in_rogue",90,183,"Mummy",1041,1,"mob_rogue#12::OnMyMobDead";
+ monster "in_rogue",90,190,"Mummy",1041,1,"mob_rogue#12::OnMyMobDead";
+ }
+ else
+ warp "mag_dun02",181,176;
+ end;
+
+OnDisable:
+ killmonster "in_rogue","mob_rogue#12::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ end;
+}
+
+in_rogue,223,187,0 script mob_rogue#13 -1,1,8,{
+OnTouch:
+ if (BaseJob == Job_Thief) {
+ monster "in_rogue",236,186,"Abysmal Knight",1219,1,"mob_rogue#13::OnMyMobDead";
+ monster "in_rogue",238,186,"Abysmal Knight",1219,1,"mob_rogue#13::OnMyMobDead";
+ monster "in_rogue",234,186,"Abysmal Knight",1219,1,"mob_rogue#13::OnMyMobDead";
+ donpcevent "mob_rogue#12::OnDisable";
+ }
+ else
+ warp "mag_dun02",181,176;
+ end;
+
+OnDisable:
+ killmonster "in_rogue","mob_rogue#13::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ end;
+}
+
+in_rogue,233,207,0 script mob_rogue#14 -1,8,3,{
+OnTouch:
+ if (BaseJob == Job_Thief)
+ donpcevent "mob_rogue#13::OnDisable";
+ else
+ warp "mag_dun02",181,176;
+ end;
+}
+
+in_rogue,244,319,0 script mob_rogue#15 -1,1,8,{
+OnTouch:
+ if (BaseJob == Job_Thief) {
+ monster "in_rogue",240,319,"Mummy",1041,1,"mob_rogue#15::OnMyMobDead";
+ monster "in_rogue",259,319,"Archer Skeleton",1016,1,"mob_rogue#15::OnMyMobDead";
+ monster "in_rogue",259,320,"Ghoul",1036,1,"mob_rogue#15::OnMyMobDead";
+ monster "in_rogue",240,319,"Mummy",1041,1,"mob_rogue#15::OnMyMobDead";
+ monster "in_rogue",259,319,"Archer Skeleton",1016,1,"mob_rogue#15::OnMyMobDead";
+ monster "in_rogue",259,320,"Ghoul",1036,1,"mob_rogue#15::OnMyMobDead";
+ }
+ else
+ warp "mag_dun02",181,176;
+ end;
+
+OnDisable:
+ killmonster "in_rogue","mob_rogue#15::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ end;
+}
+
+in_rogue,334,319,0 script mob_rogue#16 -1,8,8,{
+OnTouch:
+ if (BaseJob == Job_Thief)
+ donpcevent "mob_rogue#15::OnDisable";
+ else
+ warp "mag_dun02",181,176;
+ end;
+}
+
+in_rogue,3,3,0 script resetter#rogue -1,{
+OnTimer500000:
+ donpcevent "mob_rogue#1::OnDisable";
+ donpcevent "mob_rogue#2::OnDisable";
+ donpcevent "mob_rogue#3::OnDisable";
+ donpcevent "mob_rogue#4::OnDisable";
+ donpcevent "mob_rogue#5::OnDisable";
+ donpcevent "mob_rogue#6::OnDisable";
+ donpcevent "mob_rogue#7::OnDisable";
+ donpcevent "mob_rogue#8::OnDisable";
+ donpcevent "mob_rogue#9::OnDisable";
+ donpcevent "mob_rogue#10::OnDisable";
+ donpcevent "mob_rogue#12::OnDisable";
+ donpcevent "mob_rogue#13::OnDisable";
+ donpcevent "mob_rogue#15::OnDisable";
+ initnpctimer;
+ end;
+
+OnEnable:
+ initnpctimer;
+ end;
+
+OnInit:
+ donpcevent "resetter#rogue::OnEnable";
+ end;
+}
+
+in_rogue,399,286,1 script switch#rogreset 88,{
+ mes "^F08080Tah dah~";
+ mes "Monsters for the";
+ mes "Rogue Job Change";
+ mes "have been reset^000000.";
+ donpcevent "mob_rogue#1::OnDisable";
+ donpcevent "mob_rogue#2::OnDisable";
+ donpcevent "mob_rogue#3::OnDisable";
+ donpcevent "mob_rogue#4::OnDisable";
+ donpcevent "mob_rogue#5::OnDisable";
+ donpcevent "mob_rogue#6::OnDisable";
+ donpcevent "mob_rogue#7::OnDisable";
+ donpcevent "mob_rogue#8::OnDisable";
+ donpcevent "mob_rogue#9::OnDisable";
+ donpcevent "mob_rogue#10::OnDisable";
+ donpcevent "mob_rogue#12::OnDisable";
+ donpcevent "mob_rogue#13::OnDisable";
+ donpcevent "mob_rogue#15::OnDisable";
+ donpcevent "resetter#rogue::OnEnable";
+ close;
+}
+
+//============================================================
+// mapflag
+//============================================================
+
+//============================================================
+// Old changelog
+//============================================================
+//= 1.1 fixed 3 wrong questions, added missing lines [Lupus]
+//= 1.3 Baby Class Support + 40/50 JobLevel Item fix [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]
+//= 2.0 Changed numbers to constants. [Vicious]
+//= 2.1 Removed Duplicates [Silent]
+//= 2.2 Merged JFunc [Lupus]
+//= 2.3 Added a possibility for players doing Meginjyard quest
+//= to enter Rogue guild as there's a NPC inside [SinSloth]
+//= 2.3a fixed test4 person interaction, let BABY thieves pass
+//= the test, too [Lupus]
diff --git a/npc/jobs/2-2/sage.txt b/npc/jobs/2-2/sage.txt
new file mode 100644
index 000000000..fead53630
--- /dev/null
+++ b/npc/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