diff options
Diffstat (limited to 'npc/pre-re/jobs')
52 files changed, 56784 insertions, 0 deletions
diff --git a/npc/pre-re/jobs/1-1/acolyte.txt b/npc/pre-re/jobs/1-1/acolyte.txt new file mode 100644 index 000000000..a200ec514 --- /dev/null +++ b/npc/pre-re/jobs/1-1/acolyte.txt @@ -0,0 +1,334 @@ +//===== rAthena Script ======================================= +//= Renewal Acolyte Job Change +//===== By: ================================================== +//= Kisuka +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Job Change to Acolyte Class +//===== Additional Comments: ================================= +//= 1.0 First Version. [Kisuka] +//= 1.1 Added back the npcs used for the priest quest. +//============================================================ +prt_church,184,41,4 script Cleric#aco 60,{ + if (Upper == 1) { + if (ADVJOB == Job_High_Priest || ADVJOB == Job_Champion) { + if (Class == Job_Novice_High) { + mes "[Father Mareusis]"; + mes "Ah, I sense you have endured"; + mes "a past life experience. You must have learned many things before entering Valhalla."; + next; + if (getskilllv("NV_BASIC") < 9) { + mes "[Father Mareusis]"; + mes "Unfortunately, I don't think you're ready to become an Acolyte yet. Please finish learning all of the Basic Skills first."; + next; + mes "[Father Mareusis]"; + mes "In the meantime,"; + mes "I will wait until"; + mes "you are ready."; + mes "May God be"; + mes "with you."; + close; + } + mes "[Father Mareusis]"; + mes "Well, I welcome you"; + mes "back from Valhalla and"; + mes "wish you luck on your"; + mes "new life's journey."; + next; + skill 143,0,0; + jobchange Job_Acolyte_High; + skill 156,1,0; + mes "[Father Mareusis]"; + mes "Now, venture forth and seek those who need your help. May God light your path."; + close; + }else{ + mes "[Father Mareusis]"; + mes "Now, venture forth to seek people who need your help. May God enlighten your way."; + close; + } + }else{ + mes "[Father Mareusis]"; + mes "I sense that you have endured a past life experience. You must have learned many things before entering Valhalla."; + next; + mes "[Father Mareusis]"; + mes "However, I can tell that you are not suited to be an Acolyte. Please remember who you were in your past life and find your path."; + close; + } + } + mes "[Father Mareusis]"; + mes "What is it that you seek?"; + next; + switch(select("Change your job to acolyte.:Ask the requirements to be an acolyte.:Quit it.")) { + case 1: + if(Class != Job_Novice) { + mes "[Father Mareusis]"; + if(Class == Job_Acolyte) { + mes "Are you feeling okay today? I can tell by your attire that you are already an Acolyte. You're not joking around, are you?"; + }else{ + mes "I'm sorry but it seems you already have your own job, aren't you?"; + } + close; + }else{ + mes "[Father Mareusis]"; + mes "Do you truly wish to become a servant of God?"; + mes "Let's see whether you are ready for it or not... Hmm..."; + next; + if (getskilllv("NV_BASIC") < 9) { + mes "[Father Mareusis]"; + mes "Oh my?! You haven't accomplished the basic practice yet?! You have a long way to go! Come again after increasing your job level!"; + close; + } + mes "[Father Mareusis]"; + mes "Hmm... your job level is enough..."; + mes "Good. Now I will give you the qualification to become an Acolyte."; + next; + mes "[Father Mareusis]"; + mes "Always remember to be thankful to God, who takes care of us all the time. In chaos and times of difficulty, face your hardships with unwavering faith."; + jobchange Job_Acolyte; + getitem 1545,1; // N_Mace + next; + mes "[Father Mareusis]"; + mes "Lastly, I want to sincerely congratulate you on persevering through your trial of penance."; + close; + } + case 2: + mes "[Father Mareusis]"; + mes "Do you wish to become an Acolyte?"; + mes "Then, you must fulfill the following requirements thinking those are the practices given by God."; + next; + mes "[Father Mareusis]"; + mes "First, you have to reach at least Novice Job Level 9 and learn all of the Basic Skills."; + mes "This is the most basic thing to do, so you need to regard it as the way of training yourself."; + next; + mes "[Father Mareusis]"; + mes "When you think you fulfilled this requirement, then come back to me again. Then you will have a holy job in which you can spread God's will."; + close; + case 3: + close; + } +} + +prt_fild03,365,255,2 script Ascetic#aco 89,{ + mes "[Father Rubalkabara]"; + if (BaseJob == Job_Novice) { + if (job_acolyte_q == 6) { + mes "Please take care. They should know that you've met me by the time you arrive at the Prontera Sanctuary."; + next; + mes "[Father Rubalkabara]"; + mes "I've sent a carrier pigeon with a message. I hope it will arrive there safely..."; + close; + } + if (job_acolyte_q != 0) { + if (job_acolyte_q == 2) { + mes "Oh...? You must be the one who aspires to become an Acolyte. I've already received news from the Sanctuary that you might be coming."; + next; + mes "[Father Rubalkabara]"; + mes "Now, your name was " + strcharinfo(0) + ", right? Excellent, thank you for visiting me."; + next; + mes "[Father Rubalkabara]"; + mes "I believe you've been told much about Acolytes from Friar Mareusis. Plus, there's plenty of helpful people in the Prontera Sanctuary."; + next; + mes "[Father Rubalkabara]"; + mes "I guess there's really no need for me to teach you much. Besides, I'm sure your someone from your generation may have trouble listening to an old man like me. Hahaha~"; + next; + mes "[Father Rubalkabara]"; + mes "Still, lessons may come from the places you'd least expect. God loves to teach his children in strange ways. You'll see."; + next; + mes "[Father Rubalkabara]"; + mes "Well, I'll send the message telling them that you've come to visit me. So, you may now return to the Prontera Sanctuary."; + next; + mes "[Father Rubalkabara]"; + mes "Farewell."; + close2; + savepoint "prt_fild03",361,255; + set job_acolyte_q,6; + end; + } + else { + mes "Oh..."; + mes "Are you one of the"; + mes "Acolyte applicants...?"; + mes "Let's see..."; + next; + mes "[Father Rubalkabara]"; + mes "Your name is " + strcharinfo(0) + "?"; + mes "I don't think your name"; + mes "is on my list. Hmmm..."; + next; + mes "[Father Rubalkabara]"; + mes "Why don't you go back to the Prontera Sanctuary and check again?"; + close; + } + } + else { + mes "Huh? What brings you here? This is a very dangerous place for a Novice like yourself!"; + close; + } + } + else if (BaseJob == Job_Acolyte) callfunc "F_FatherRub"; + else { + if (BaseJob == Job_Priest) { + mes "Greetings."; + next; + mes "[Father Rubalkabara]"; + mes "Welcome to the Deep. Feel free to sit and contemplate God's message with me. This place is beautiful, even if danger accompanies its sense of serenity..."; + close; + } + else { + mes "Oh ho..."; + mes "Have you come into the Deep here for training? Or are you just a Wanderer?"; + next; + mes "[Father Rubalkabara]"; + mes "Whoever you are, please take care of yourself. The monsters in here are shockingly strong, contrary to their cute appearance."; + close; + } + } +} + +moc_fild07,41,355,4 script Ascetic#2aco 95,{ + mes "[Mother Mathilda]"; + if (BaseJob == Job_Novice) { + if (job_acolyte_q == 7) { + mes "I will send a carrier pigeon to the Prontera Sanctuary. When you return, the Priest there should already have received my message."; + next; + mes "[Mother Mathilda]"; + mes "I will pray to God, and hope that you become an Acolyte soon."; + close; + } + if (job_acolyte_q != 0) { + if (job_acolyte_q == 3) { + mes "Ah, you must be one of the Acolyte applicants. I sincerely welcome you."; + next; + mes "[Mother Mathilda]"; + mes "What is your name? " + strcharinfo(0) + "? Let's see... Ah, you're on my list."; + next; + mes "[Mother Mathilda]"; + mes "I will send a message to the Sanctuary confirming that you, " + strcharinfo(0) + " visited me and completed your penance."; + next; + mes "[Mother Mathilda]"; + mes "Please return to the Prontera Sanctuary and speak to the Priest in charge."; + close2; + savepoint "moc_fild07",35,355; + set job_acolyte_q,7; + end; + } + else { + mes "Ah...!"; + mes "You must be one"; + mes "of the Acolyte applicants."; + mes "I sincerely welcome you."; + next; + mes "[Mother Mathilda]"; + mes "Now, what is your name?"; + mes "" + strcharinfo(0) + "? Let's see..."; + next; + mes "[Mother Mathilda]"; + mes "Hmm..."; + mes "It seems your name"; + mes "is not on my list..."; + next; + mes "[Mother Mathilda]"; + mes "Perhaps you should return to the Prontera Sanctuary and check the destination for your penance trial once again."; + close; + } + } + else { + mes "..."; + close; + } + } + else if (BaseJob == Job_Acolyte) callfunc "F_MotherMart"; + else { + if (BaseJob == Job_Priest) { + mes "Hello there~"; + next; + mes "[Mother Mathilda]"; + mes "How is your practice coming along? I certainly hope you're enjoying living in the grace of God."; + close; + } + else { + mes "May God"; + mes "be with you..."; + close; + } + } +} + +prt_fild00,208,218,6 script Ascetic#3aco 98,{ + mes "[Father Yosuke]"; + if (BaseJob == Job_Novice) { + if (job_acolyte_q == 8) { + mes "What?"; + next; + mes "[Father Yosuke]"; + mes "Have you any more business with me?! You don't! Go back to the Sanctuary now!"; + close; + } + if (job_acolyte_q != 0) { + if (job_acolyte_q == 4) { + mes "Hey."; + mes "Whatever you are,"; + mes "you look like an"; + mes "Acolyte applicant."; + mes "Right?"; + next; + mes "[Father Yosuke]"; + mes "Not bad, not bad. You withstood the penance trial pretty well."; + mes "So what's your name?"; + next; + mes "[Father Yosuke]"; + mes "" + strcharinfo(0) + ", huh?"; + next; + mes "[Father Yosuke]"; + mes "Okay. I'll send a message to the Sanctuary that you, " + strcharinfo(0) + ", came to visit me."; + next; + mes "[Father Yosuke]"; + mes "Now go back to the Santuary and finish becoming an Acolyte, kid."; + close2; + savepoint "prt_fild00",206,230; + set job_acolyte_q,8; + end; + } + else { + mes "Hey."; + mes "You look like an Acolyte Applicant. Am I right?"; + next; + mes "[Father Yosuke]"; + mes "Not bad at all, you've made it all the way here from Prontera. So what's your name, kid?"; + next; + mes "[Father Yosuke]"; + mes "" + strcharinfo(0) + ", huh? Why isn't your name on my list?"; + next; + mes "[Father Yosuke]"; + mes "You probably made a mistake. Go back to the Santuary, and check with the Bishop."; + close; + } + } + else { + mes "You..."; + mes "Novice."; + mes "There something"; + mes "you wanna tell me?"; + close; + } + } + else if (BaseJob == Job_Acolyte) callfunc "F_FatherYos"; + else { + if (BaseJob == Job_Priest) { + mes "Hey..."; + next; + mes "[Father Yosuke]"; + mes "If you like, come sit here with me and meditate the great truths. God's majesty is truly inspiring..."; + close; + } + else { + mes "Do you have anything to say? Because unfortunately for you,"; + mes "I don't any replies."; + close; + } + } +} + diff --git a/npc/pre-re/jobs/1-1/archer.txt b/npc/pre-re/jobs/1-1/archer.txt new file mode 100644 index 000000000..46325309c --- /dev/null +++ b/npc/pre-re/jobs/1-1/archer.txt @@ -0,0 +1,129 @@ +//===== rAthena Script ======================================= +//= Renewal Archer Job Change +//===== By: ================================================== +//= Kisuka +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Job Change to Archer Class +//===== Additional Comments: ================================= +//= 1.0 First Version. [Kisuka] +//============================================================ +payon_in02,64,71,4 script Archer Guildsman#archer 85,{ + if (Upper == 1) { + if (Class == Job_Novice_High && (ADVJOB == Job_Sniper || ADVJOB == Job_Clown || ADVJOB == Job_Gypsy)) { + mes "[Archer Guildsman]"; + mes "Hey, I know you."; + mes "You took this test"; + mes "before, didn't you?"; + next; + mes "[Archer Guildsman]"; + mes "Ah, you must have been"; + mes "to Valhalla and been reborn."; + mes "Wow, that's so impressive!"; + next; + if (getskilllv("NV_BASIC") < 9) { + mes "[Archer Guildsman]"; + mes "Err..."; + mes "You'd better learn all the Basic Skills first before you can become an Archer."; + next; + mes "[Archer Guildsman]"; + mes "Alright, see you later."; + close; + } + mes "[Archer Guildsman]"; + mes "Well then. I don't"; + mes "need to say anything else."; + mes "I know you'll make a great Archer..."; + next; + skill 143,0,0; + jobchange Job_Archer_high; + skill 147,1,0; + skill 148,1,0; + mes "[Archer Guildsman]"; + mes "Although there's no special"; + mes "reward for you this time, I hope you understand. Take care of yourself."; + close; + }else{ + mes "[Archer Guildsman]"; + mes "Oh...?"; + mes "Hey, what are"; + mes "you doing here...?"; + next; + mes "[Archer Guildsman]"; + mes "I can tell that you're not cut out to be an Archer. It sort of feels like you're meant to do"; + mes "something else..."; + close; + } + } + mes "[Archer Guildsman]"; + mes "Nice to meet you. How may I help you?"; + next; + switch(select("I want to be an Archer.:I need the requirements, please.:Nothing, thanks.")) { + case 1: + if(Class != Job_Novice) { + mes "[Archer Guildsman]"; + if(Class == Job_Archer) { + mes "Haha, you are kidding me.."; + }else{ + mes "I feel sorry but only Novices can change their job."; + mes "You already have your own decent job, don't you?"; + } + close; + }else{ + mes "[Archer Guildsman]"; + mes "You are... "+strcharinfo(0)+". right?"; + next; + if (getskilllv("NV_BASIC") < 9) { + mes "[Archer Guildsman]"; + mes "Well, you're not at the right skill level."; + mes "Your job level must be at least ^4A4AFF10^000000 and your Basic Skill level should reach ^4A4AFFlevel 9"; + next; + mes "[Archer Guildsman]"; + mes "Because an Archer needs extremely high concentration, so we do not accept those who have little patience."; + close; + } + mes "[Archer Guildsman]"; + mes "Your Basic Skill is now enough.."; + mes "....Hm~~ so you are now ready to be an Archer. I will take the step right away."; + next; + mes "[Archer Guildsman]"; + mes "Congratulations! You are now an Archer! Also, we hope that you actively participate in many programs for the revival of the Archer Guild."; + mes "Ah, items have arrived from the Production Department. Here, take these! These are all yours!"; + jobchange Job_Archer; + getitem 1742,1; // N_Composite_Bow + getitem 12004,1; // Arrow_Container + getitem 12009,1; // Silver_Arrow_Container + getitem 12008,1; // Fire_Arrow_Container + next; + mes "[Archer Guildsman]"; + mes "Having a bow and arrows, now you became a real Archer."; + mes "If you open the arrow container, there are arrows in it and then you can equip them."; + mes "Well, I expect to hear better news from you. It's time to say goodbye."; + mes "Bye."; + close; + } + case 2: + mes "[Archer Guildsman]"; + mes "An Archer has skills using a bow and has various talents."; + mes "The greatest ability of an Archer is attacking enemies from a long distance."; + next; + mes "[Archer Guildsman]"; + mes "Although an Archer has weaker HP, he or she can shoot enemies at a long range,"; + mes "so an Archer is safer in a real battle."; + next; + mes "[Archer Guildsman]"; + mes "Although an Archer in Ragnarok has lower HP, he or she has high accuracy and attack rate so that the archer can kill monsters before they get close to an Archer."; + next; + mes "[Archer Guildsman]"; + mes "^8C2121An Archer can change jobs to a Hunter.^000000"; + mes "^8C2121Other than Hunter, if you are a man, you can change your job to Bard and if you are a woman, you can change your job to Dancer.^000000"; + close; + case 3: + mes "[Archer Guildsman]"; + mes "If you have any questions, feel free to come and ask me."; + close; + } +} diff --git a/npc/pre-re/jobs/1-1/mage.txt b/npc/pre-re/jobs/1-1/mage.txt new file mode 100644 index 000000000..99cca81c4 --- /dev/null +++ b/npc/pre-re/jobs/1-1/mage.txt @@ -0,0 +1,131 @@ +//===== rAthena Script ======================================= +//= Renewal Mage Job Change +//===== By: ================================================== +//= Kisuka +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Job Change to Mage Class +//===== Additional Comments: ================================= +//= 1.0 First Version. [Kisuka] +//============================================================ +geffen_in,164,124,4 script Mage Guildsman#mage 123,{ + if (Upper == 1) { + if (ADVJOB == Job_High_Wizard || ADVJOB == Job_Professor) { + if (Class == Job_Novice_High) { + mes "[Mage Guildsman]"; + mes "Whoa, long time no see! But weren't you supposed to be dead?"; + next; + mes "[Mage Guildsman]"; + mes "Ah, you must have been reborn. Well, I'm glad to have you back."; + next; + if (getskilllv("NV_BASIC") < 9) { + mes "[Mage Guildsman]"; + mes "I'm sorry, but I don't think you're ready to learn magic yet. Why don't you go finish learning the Basic Skills first?"; + next; + mes "[Mage Guildsman]"; + mes "Take your time. The more you learn, the more ready you'll be to learn magic again."; + close; + } + mes "[Mage Guildsman]"; + mes "Well, since you have passed the Mage test once, I will not question your qualification. You want to have your magic skills back immediately, don't you?"; + next; + skill 143,0,0; + jobchange Job_Mage_High; + skill 157,1,0; + mes "[Mage Guildsman]"; + mes "Wow, for some reason, you look way better than you did before. Anyway, I believe you will do a better job being a Mage as well."; + close; + }else{ + mes "[Mage Guildsman]"; + mes "Is there anything more I can help you with? If not, why don't you go test your skills? The world is waiting for you~!"; + close; + } + }else{ + mes "[Mage Guildsman]"; + mes "What, are you interested in the Mage guild? I didn't want to tell you this, but you don't belong here."; + next; + mes "[Mage Guildsman]"; + mes "I am not sure why you're still standing in front of me, but I can tell that you're not meant to be a Mage."; + close; + } + } + if(Class != Job_Novice) { + mes "[Mage Guildsman]"; + if(Class == Job_Mage) { + mes "Hey, haven't you realized? You're already a Mage, silly!"; + mes "One of these days you'll realize the power inside of you when you can make Fire with your mind!"; + }else{ + mes "Hey~ C'mon. Quit playing games. You can't be a Mage because you already have another Job."; + } + close; + }else{ + mes "[Mage Guildsman]"; + mes "Hey?"; + next; + switch(select("I want to be a Mage:What are the requirements to be a Mage?:Nothing, thanks.")) { + case 1: + mes "[Mage Guildsman]"; + mes "Wanna be a Mage? Eh..."; + next; + mes "[Mage Guildsman]"; + if (Sex) { + mes "Hey, look at you! You're kinda cute~! Not my type though..."; + }else{ + mes "Oooh, you're such a hot babe~!"; + mes "I like girls like you~"; + } + mes "Right, you said that you wanna be a Mage?"; + next; + if(select("I want to be a Mage.:Nothing, thanks.") == 2) { + mes "[Mage Guildsman]"; + mes "Whaaaaat~?! Right after you tell me that you wanna become a Mage, you change your mind?! Be a bit more decisive!"; + close; + } + mes "[Mage Guildsman]"; + if (getskilllv("NV_BASIC") < 9) { + mes "Oh, man your Basic Skill Level doesn't reach enough to be a Mage."; + mes "Go back and level up your Basic Skill."; + close; + } + mes "Alright.. sign the application form.... Wow~ you have good handwriting! Ahh, okay. That's enough."; + mes "You are... "+strcharinfo(0)+"."; + next; + mes "[Mage Guildsman]"; + mes "Hmm I can see that you've tried hard in your own way. Though it seems to be a little clumsy, but well I think it's okay!"; + mes "Good! Always sticking to the basics is the best! I will transform you right away."; + next; + mes "[Mage Guildsman]"; + mes "Hahh..! You are now a Mage, one of our colleagues!"; + mes "We welcome you to the Mage Guild, our new friend!"; + next; + mes "[Mage Guildsman]"; + mes "'Welcome to the Mage Guild~'"; + mes "Congratulations on becoming a member of the Mage Guild! Go for it!"; + callfunc "Job_Change",Job_Mage; + getitem 1639,1; // N_Rod + close; + case 2: + mes "[Mage Guildsman]"; + mes "Wanna be a Mage, eh?"; + mes "I'd be happy to explain the requirements for a pretty girl like you!"; + next; + mes "[Mage Guildsman]"; + mes "First of all, you have to reach Novice Job Level 10 and learn all of the Basic Skills."; + next; + mes "[Mage Guildsman]"; + mes "In the past, there was a complicated potion making test. Because of that, we'd lost an aplicant slowly."; + mes "So, we decided to accept all aplicants who meet the basic requirements."; + next; + mes "[Mage Guildsman]"; + mes "Don't hesitate. Just be a magician!"; + close; + case 3: + mes "[Mage Guildsman]"; + mes "Nothing...?"; + close; + } + } +} diff --git a/npc/pre-re/jobs/1-1/merchant.txt b/npc/pre-re/jobs/1-1/merchant.txt new file mode 100644 index 000000000..4b7e091f0 --- /dev/null +++ b/npc/pre-re/jobs/1-1/merchant.txt @@ -0,0 +1,125 @@ +//===== rAthena Script ======================================= +//= Renewal Merchant Job Change +//===== By: ================================================== +//= Kisuka +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Job Change to Merchant Class +//===== Additional Comments: ================================= +//= 1.0 First Version. [Kisuka] +//============================================================ +alberta_in,53,43,6 script Merchant#mer 86,{ + if (Upper == 1) { + if (Class == Job_Novice_High && (ADVJOB == Job_Whitesmith || ADVJOB == Job_Creator)) { + mes "[Chief Mahnsoo]"; + mes "Long time no see!"; + mes "Hey, you didn't quit"; + mes "your business, did you?"; + mes "What happened?"; + next; + mes "[Chief Mahnsoo]"; + mes "Whoa..."; + mes "You've actually been to Valhalla?! Wow, you've come a long way..."; + next; + if (getskilllv("NV_BASIC") < 9) { + mes "[Chief Mahnsoo]"; + mes "Hmmm..."; + mes "It seems that you're not ready to become a Merchant again. Go finish learning the Basic Novice Skills first."; + next; + mes "[Chief Mahnsoo]"; + mes "Don't worry, we'll always have a Merchant position open for you. Just come back when you're ready, okay?"; + close; + } + mes "[Chief Mahnsoo]"; + mes "I guess it's destiny that we meet like this once more. Alright. Once again, let me change you into a Merchant!"; + next; + skill 143,0,0; + jobchange Job_Merchant_High; + skill 153,1,0; + skill 154,1,0; + skill 155,1,0; + mes "[Chief Mahnsoo]"; + mes "Ah~ How nostalgic. Just like old times! Alright, do your best!"; + close; + }else{ + mes "[Chief Mahnsoo]"; + mes "^333333*Sigh*^000000"; + mes "I'm so bored..."; + mes "When will I hear from my lovely Blossom?"; + close; + } + } + mes "[Guildsman Mahnsoo]"; + mes "Hey, why are you here?"; + next; + switch(select("I want to be a merchant.:I want to know more about merchants.:Ask him the requirements to be a merchant.:Nothing.")) { + case 1: + if(Class != Job_Novice) { + mes "[Guildsman Mahnsoo]"; + if(Class == Job_Merchant) { + mes ".....? Sorry? What are you saying?"; + mes "You are already a merchant. Oh my.."; + mes "Huh?! ...Do I need to laugh right now?!"; + }else{ + mes "Ahh? Are you trying to have both ways?"; + mes "How about just giving yourself over to your original job?"; + next; + mes "[Guildsman Mahnsoo]"; + mes "We have business ethics you know."; + } + close; + }else{ + mes "[Guildsman Mahnsoo]"; + mes "Want to be a merchant? Hmm..."; + next; + if (getskilllv("NV_BASIC") < 9) { + mes "[Guildsman Mahnsoo]"; + mes "But if you want to be a merchant, your basic skill level must reach Level 9 or you must spend all of your skill points."; + next; + mes "[Guildsman Mahnsoo]"; + mes "Don't you think we need to learn some basic skills although we just deal with money?"; + close; + } + mes "[Guildsman Mahnsoo]"; + mes "Good, I think you're fully ready for it seeing that your basic skill level is fulfilled."; + mes "Now I allow you to be a merchant."; + next; + mes "[Guildsman Mahnsoo]"; + mes "Congratulations on becoming a merchant!"; + mes "Congratulations again for being a member of the merchant guild and one of our colleagues. I expect your active participation from now on!"; + callfunc "Job_Change",Job_Merchant; + getitem 1381,1; // N_Battle_Axe + next; + mes "[Guildsman Mahnsoo]"; + mes "Absolutely, we need young people who have passion to achieve our great goal for securing 20% of the worldwide currency volume. You get it? Huh?"; + mes "Well, I'm just saying... it means let's make lots of money in the end. You guys know that~"; + close; + } + case 2: + mes "[Guildsman Mahnsoo]"; + mes "Merchant? To put it simply, the person who sells good and makes money is a merchant."; + mes "Not good at fighting and doesn't have special attack/recovery skills... but a merchant can buy things at a low price and then sell them and make money."; + next; + mes "[Guildsman Mahnsoo]"; + mes "Well, a merchant has an ultimate skill called Mammonite which strikes an enemy with his/her money... We can equip everything except Bows, Rods, and Two-Handed Swords. But we can always sell and buy those."; + mes "Yes... we merchants always have money on our minds, got it?"; + close; + case 3: + mes "[Guildsman Mahnsoo]"; + mes "To become a merchant, although just selling and receiving money is our job, you must reach at least basic skill level 9."; + next; + mes "[Guildsman Mahnsoo]"; + mes "Well, we used to receive a start-up fee before. Wasn't it hard to make that money?"; + mes "There were too many people who couldn't gather that money and kept crying."; + next; + mes "[Guildsman Mahnsoo]"; + mes "So recently, we decided to allow any Novice who wants to be a merchant become one."; + mes "Because to be alive or not later is all up to one's ability."; + close; + case 4: + close; + } +} diff --git a/npc/pre-re/jobs/1-1/swordman.txt b/npc/pre-re/jobs/1-1/swordman.txt new file mode 100644 index 000000000..6942c170b --- /dev/null +++ b/npc/pre-re/jobs/1-1/swordman.txt @@ -0,0 +1,127 @@ +//===== rAthena Script ======================================= +//= Renewal Swordman Job Change +//===== By: ================================================== +//= Kisuka +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Job Change to Swordman Class +//===== Additional Comments: ================================= +//= 1.0 First Version. [Kisuka] +//============================================================ +izlude_in,74,172,4 script Swordman#swd 119,{ + if (Upper == 1) { + if (Class == Job_Novice_High && (ADVJOB == Job_Lord_Knight || ADVJOB == Job_Paladin)) { + mes "[Swordman]"; + mes "It..."; + mes "Can't be..."; + mes "You've been reborn, haven't you?"; + next; + mes "[Swordman]"; + mes "I see you're retreading the path of the Swordman! Once you've gotten used to brandishing a sword, you can never go back!!"; + next; + if (getskilllv("NV_BASIC") < 9) { + mes "[Swordman]"; + mes "Hmm? Ah, you must first master the Basic Skills before you are ready to become a Swordman."; + next; + mes "[Swordman]"; + mes "Come back to me when you have finished learning the Basic Novice Skills."; + close; + } + mes "[Swordman]"; + mes "Excellent! Let me promote you to a Swordman right away!"; + next; + skill 143,0,0; + jobchange Job_Swordman_High; + skill 144,1,0; + skill 145,1,0; + skill 146,1,0; + mes "[Swordman]"; + mes "Hmm... You look like a well-experienced Swordman. Still, I'm sure that you must train to improve your skills and gain strength!"; + close; + }else{ + mes "[Swordman]"; + mes "Hm...?"; + mes "You're a reborn"; + mes "warrior, aren't you?"; + next; + mes "[Swordman]"; + mes "Hmmm..."; + mes "It seems that being"; + mes "a Swordman is not part"; + mes "of your destiny. I'm sorry,"; + mes "but it seems there is nothing"; + mes "I can do for you."; + close; + } + } + mes "[Swordman Guildsman]"; + mes "This is the Swordman Guild."; + mes "Why are you here?"; + next; + switch(select("Tell me about being a Swordman.:I want to be a Swordman.:Nothing.")) { + case 1: + mes "[Swordman Guildsman]"; + mes "So you wish to know more about the mighty Swordman? Okay!"; + next; + mes "[Swordman Guildsman]"; + mes "The most distinctive feature of the Swordman is that the Swordman can show us his/her real abilities in close combat."; + mes "There are three reasons!"; + next; + mes "[Swordman Guildsman]"; + mes "First, Swordman has higher HP than other jobs."; + mes "Second, except for Bows and Rods, Swordman can use all other weapons so they can fight at their optimal ability."; + mes "And third, most of the skills of the Swordman give powerful physical attacks."; + next; + mes "[Swordman Guildsman]"; + mes "Though I gave you a simple explanation, I believe you understand the core meaning of what it is to be a Swordman."; + mes "In my opinion, Swordman is the best job ever!"; + close; + case 2: + if(Class != Job_Novice) { + mes "[Swordman Guildsman]"; + if(Class == Job_Swordman) { + mes "You are already an excellent Swordman, aren't you?"; + mes "Just devote yourself to be a great Swordman."; + }else{ + mes "You already have one of the other jobs, don't you?"; + mes "You've gone too far with that joke."; + } + close; + }else{ + if (getskilllv("NV_BASIC") < 9) { + mes "[Swordman Guildsman]"; + mes "I'm sorry to tell you this but to be a Swordman, you must reach at least ^4A4AFFJob Level 10^000000."; + mes "and ^4A4AFFBasic Skill Level 9^000000."; + next; + mes "[Swordman Guildsman]"; + mes "Want to be a Swordman without having the minimum requirement?"; + mes "Do you think being a Swordman is that easy?"; + close; + } + mes "[Swordman Guildsman]"; + mes "Hmm, both your Job Level and Basic Skill Level check out."; + mes "Good. Do you want to be a Swordman right away?"; + next; + if(select("Yes, I do.:I'll consider it again.") == 2) { + mes "[Swordman Guildsman]"; + mes "Yeah. Prudent decision is needed for choosing a job."; + mes "But I feel sorry... that you consider it again after overcoming all the hardships...."; + close; + } + mes "[Swordman Guildsman]"; + mes "Congratulations! From now on, you are going to live a Swordman's life!"; + mes "Let's do it right now!"; + next; + mes "[Swordman Guildsman]"; + mes "Congratulations again for being a Swordman and I hope that you participate in many activities for the revival of our guild."; + callfunc "Job_Change",Job_Swordman; + getitem 13415,1; // N_Falchion + close; + } + case 3: + close; + } +} diff --git a/npc/pre-re/jobs/1-1/thief.txt b/npc/pre-re/jobs/1-1/thief.txt new file mode 100644 index 000000000..8d7e452f3 --- /dev/null +++ b/npc/pre-re/jobs/1-1/thief.txt @@ -0,0 +1,207 @@ +//===== rAthena Script ======================================= +//= Renewal Thief Job Change +//===== By: ================================================== +//= Kisuka +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Job Change to Thief Class +//===== Additional Comments: ================================= +//= 1.0 First Version. [Kisuka] +//============================================================ +moc_prydb1,39,129,2 script Thief Guide#thief 69,{ + if (Upper == 1) { + if (ADVJOB == Job_Assassin_Cross || ADVJOB == Job_Stalker) { + if (Class == Job_Novice_High) { + mes "[Thief Guide]"; + mes "Huh? Do I know you? It's creepy that you seem so familiar. You don't have a twin, do you?"; + next; + if (getskilllv("NV_BASIC") < 9) { + mes "[Thief Guide]"; + mes "What, do you want to be a Thief? I'm sorry, but you look like you need more training."; + next; + mes "[Thief Guide]"; + mes "Take your time and learn all the Basic Skills, will you? Well then, see you later~!"; + close; + } + mes "[Thief Guide]"; + mes "Well, I got this feeling like you've been through a lifetime of fighting, so I'm promoting you to a Thief right this minute. I better give you tough guys what you want..."; + next; + skill 143,0,0; + jobchange Job_Thief_High; + skill 149,1,0; + skill 150,1,0; + skill 151,1,0; + skill 152,1,0; + mes "[Thief Guide]"; + mes "Since you've become a Thief, live as a Thief. Now, go for it! Next~"; + close; + }else{ + mes "[Thief Guide]"; + if (sex) + mes "Hey, dude."; + else + mes "Hey, baby~"; + close; + } + }else{ + mes "[Thief Guide]"; + if (sex) + mes "Hey, dude."; + else + mes "Hey, baby."; + mes "...Hey! You look too goody-goody to want to be a Thief!! Now scram, I'm busy. Next!"; + close; + } + } + if(q_job_thief == 1) { + mes "[Thief Guildsman]"; + mes "Ehh... Seems like a beloved "+(Sex?"son":"daughter")+" of a rich family, but why are you here in this dirty place?"; + next; + mes "[Thief Guildsman]"; + mes "Well, I'm not in charge of making you a Thief. I just accept applications, get it?"; + mes "If you want to become a Thief, ask the sharp-eyed guy next to me."; + close; + } + if(Class != Job_Novice) { + if(Class == Job_Thief) { + mes "[Thief Guildsman]"; + mes "Hey~ if you have any trouble, get it out to me anytime, huh?"; + close; + }else{ + if(Sex) { + mes "[Thief Guildsman]"; + mes "What the heck...?"; + mes "Huh.. you are a "+jobname(Class)+" blockhead...!"; + next; + mes "[Thief Guildsman]"; + mes "Hey, brother."; + mes "Why are you here? Go back to your place~ go back~~"; + close; + }else{ + mes "[Thief Guildsman]"; + mes "What the heck...?"; + next; + mes "[Thief Guildsman]"; + mes "Hey, lady."; + mes "Why are you here? Go back to your place~ go back~~"; + close; + } + } + } + mes "[Thief Guildsman]"; + mes "Ehh... Seems like a beloved "+(Sex?"son":"daughter")+" of a rich family, but why are you here in this dirty place?"; + next; + if(select("I want to be a Thief.:Nothing.") == 2) { + mes "[Thief Guildsman]"; + mes "You know you cannot be a thief without an application....."; + mes "What's on your mind..?"; + close; + } + mes "[Thief Guildsman]"; + mes "Well, are you that proud of it?"; + mes "You're telling me so proudly that you want to be a Thief! Why don't you go to all the villages and advertise yourself for being a thief?"; + mes "'Ha ha ha! Go put up a banner that says 'I will be a proud thief who steals other people's stuff.'"; + next; + mes "[Thief Guildsman]"; + mes "Do you want to be a thief so badly?"; + next; + switch(select("Yes.:No.:How about you?")) { + case 1: + mes "[Thief Guildsman]"; + mes "Oh, do you...? Huh.. well... I do live and learn to see strange people like you."; + next; + break; + case 2: + mes "[Thief Guildsman]"; + mes "Then why are you here? Do you think you can become a thief so easily?"; + next; + break; + case 3: + mes "[Thief Guildsman]"; + mes "Eh..? me? me?"; + mes "Well... I just fit well to being a thief... characteristically... I don't mind this silly matter."; + next; + break; + } + mes "[Thief Guildsman]"; + mes "Anyway, in the outside world, never say that you want to be a Thief!!"; + next; + mes "[Thief Guildsman]"; + mes "So, do you want to apply for being a Thief?"; + next; + if(select("Yes, I do.:No.") == 2) { + mes "[Thief Guildsman]"; + mes "Well... do what you want to do~ Go your way~"; + close; + } + mes "[Thief Guildsman]"; + mes "Alright, tell me your name. Huh? What?"; + mes ""+strcharinfo(0)+". So "+strcharinfo(0)+", right...?"; + next; + if (getskilllv("NV_BASIC") < 9) { + mes "[Thief Guildsman]"; + mes "I can see your strong will to become a Thief......"; + mes "But only with your will, you cannot make it in a real fight, can you?"; + mes "So go and reach at least Basic Skill Level 9."; + close; + } + mes "[Thief Guildsman]"; + mes "Hmm.... I found your interesting criminal records from the data of the detective agency. Well you seem to have what it takes to be a good thief."; + mes ""+strcharinfo(0)+". I now declare that you have passed the job interview!"; + next; + mes "[Thief Guildsman]"; + mes "Well, I'm not in charge of making you a Thief. I just accept applications, get it?"; + mes "If you want to become a Thief, ask the guy next to me."; + set q_job_thief,1; + close; +} + +moc_prydb1,42,133,2 script Thief Guildsman#thief 118,{ + if(q_job_thief == 1) { + mes "[Thief Guildsman]"; + mes "Alright. You must have passed the job interview, huh?"; + mes "Good. I'll accept you."; + mes "Let's begin the job-changing ceremony of our guild!"; + next; + mes "[Commander of Thief Guild]"; + mes "'"+strcharinfo(0)+".'"; + mes "'For those who are ready, the moonlight shall open the way. Now you are fully ready, I now officially allow you to become a member of the Thief Guild.'"; + jobchange Job_Thief; + set q_job_thief,0; + getitem 13041,1; // N_Main_Gauche + next; + mes "[Commander of Thief Guild]"; + mes "'Congratulations on becoming a Thief.'"; + mes "'From now on, keep the rules of our guild and be an honorable member.'"; + mes "'If you bring us any disgrace by breaking our rules, you better watch your back.'"; + mes "'Anyway, I expect you to be a great thief.'"; + next; + mes "[Brad]"; + mes "Heee~Yaaaa~! Congratulations! My friend."; + mes "My name is 'Brad'. I'm in charge of human resources here."; + mes "I'm not sure for now but you'll have more chances to see me later on."; + next; + mes "[Brad]"; + mes "Okay, I've done what I can do to you, so go on your way. I'm quite a busy man."; + mes "See you again."; + close; + } + if(Class != Job_Novice) { + if(Class == Job_Thief) { + mes "[Brad]"; + mes "I don't have any special events now. So go on your way and come back later."; + }else{ + mes "[Thief Guildsman]"; + mes "Hey~ Hey~ You're not a novice or a thief!"; + mes "What are you doing here? You're not welcome to make this place your home~ Hweeeee~ Get outta here~"; + } + close; + } + mes "[Thief Guildsman]"; + mes "Ho? Why is a novice like you visiting here?"; + mes "If you are here to be a Thief, ask the nasty-tempered lady right next to me."; + close; +} diff --git a/npc/pre-re/jobs/1-1e/gunslinger.txt b/npc/pre-re/jobs/1-1e/gunslinger.txt new file mode 100644 index 000000000..4b768a58a --- /dev/null +++ b/npc/pre-re/jobs/1-1e/gunslinger.txt @@ -0,0 +1,423 @@ +//===== rAthena Script ======================================= +//= Gunslinger Job Quest +//===== By: ================================================== +//= erKURITA, RockmanEXE, Kisuka +//===== Current Version: ===================================== +//= 2.2 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Gunslinger Job Change Quest +//===== Additional Comments: ================================= +//= 1.0 Made the NPC [erKURITA] +//= 1.5 Couple fixes to the npc, aswell as adding the missing +//= 3 green herbs. [erKURITA] +//= 1.6 job number->const, commonized variable name, +//= optimized [Lupus] +//= 1.7 Now uses only ONE variable GUNS_Q [Lupus] +//= 1.7a Grammar fixes, few spelling fixes, etc [CBMaster] +//= 1.7b Parenthesis fixes [KarLaeda] +//= 1.8 Fixed the reward you can get [Playtester] +//= 1.9 Removed some 'clever' script constructs [ultramage] +//= 2.0 Updated to official version - Thanks to Omega for +//= his first try [SinSloth] 1.10b - removed .GATs [Lupus] +//= 2.1 Wise Bull Horn now deletes all items. Thanks to yyCC. [L0ne_W0lf] +//= 2.1a Corrected a Typo error ";;". [Samuray22] +//= 2.1b Corrected some typos errors. (bugreport:1549) [Samuray22] +//= 2.1c Fixed some missing/messed up item checks. (bugreport:2693) [Kisuka] +//= 2.2 Updated to match AEGIS script and Added Quest Log commands. [Kisuka] +//============================================================ + +que_ng,152,167,3 script Master Miller 901,{ + if (Upper == 2) { + mes "[Master Miller]"; + mes "Well, aren't you an"; + mes "adorable little child~"; + mes "Where's your mommy?"; + mes "This place is dangerous, so"; + mes "please go home soon, okay?"; + close; + } + if (Class == Job_Novice) { + if (JobLevel < 10 || getskilllv("NV_BASIC") < 9) { + mes "[Master Miller]"; + mes "Interested in becoming"; + mes "a Gunslinger, eh? You've"; + mes "got potential, but you're"; + mes "not yet experienced enough."; + mes "Just train yourself a bit more,"; + mes "and then come back, you hear?"; + close; + } + if (GUNS_Q == 0) { + mes "[Master Miller]"; + mes "I'm Miller, a full time"; + mes "Gunslinger drillmaster, and"; + mes "full time guardian for Lady"; + mes "Selena. Now, what do you"; + mes "need? If it's not important, then I can't make the time for you."; + next; + if(select("Nothing.:I want to become a Gunslinger.") == 1) { + mes "[Master Miller]"; + mes "Don't waste my time."; + mes "If you do want to become"; + mes "a Gunslinger, then come"; + mes "back and talk to me."; + close; + } + mes "[Master Miller]"; + mes "Hm. You're pretty young, but"; + mes "your eyes tell me that you're"; + mes "pretty ambitious. You'll need to pass our interview and educational"; + mes "course to become a Gunslinger. Do you want to apply for the job?"; + next; + if(select("Give me some time to think.:Sure!") == 1) { + mes "[Master Miller]"; + mes "Understandable."; + mes "If you do decide that"; + mes "you want to become"; + mes "a Gunslinger, then let"; + mes "me know right away."; + mes "I'll get you started."; + close; + } + mes "[Master Miller]"; + mes "Great, great. Alright then,"; + mes "let's get you started. Take"; + mes "this letter to Mr. Wise Bull"; + mes "Horn in Payon. He's a shaman"; + mes "that will judge whether or not"; + mes "you qualify to be a Gunslinger."; + set GUNS_Q,1; + setquest 6020; + close; + } + else if(GUNS_Q == 1) { + mes "[Master Miller]"; + mes "Take that letter of"; + mes "introduction I've written"; + mes "for you to Mr. Wise Bull"; + mes "Horn in Payon. He'll test"; + mes "you to see if you're really"; + mes "Gunslinger material."; + close; + } + else if(GUNS_Q == 2) { + mes "[Master Miller]"; + mes "Hmm... Wise Bull Horn"; + mes "asked you to collect the"; + mes "items you need to make the"; + mes "voucher? Hm. I guess that's"; + mes "part of his qualification test."; + close; + } + else if(GUNS_Q == 3) { + mes "[Master Miller]"; + mes "Wise Bull Horn asked"; + mes "you to bring him some"; + mes "Milk? He must really like"; + mes "you if he's already asking"; + mes "for favors. Good luck, friend."; + close; + } + else if(GUNS_Q == 4) { + mes "[Master Miller]"; + mes "I expect to hear good"; + mes "news from you soon. You"; + mes "know, I have no doubt that"; + mes "you'll become a Gunslinger."; + close; + } + else if(GUNS_Q == 5) { + if (Skillpoint != 0) { + mes "[Master Miller]"; + mes "Hey, you have leftover"; + mes "Skill Points. You better"; + mes "use them all up before you"; + mes "come and talk to me again."; + close; + } + mes "[Master Miller]"; + mes "Oh, you've brought a"; + mes "voucher from Wise Bull Horn?"; + mes "It's been a while since he's"; + mes "given one to anybody, so"; + mes "I'm really proud of you!"; + next; + mes "[Master Miller]"; + mes "If Wise Bull Horn approves,"; + mes "then I have no reason to"; + mes "reject you. Alright then, I'll"; + mes "promote you to a Gunslinger."; + mes "But first, let me explain"; + mes "our job in more detail."; + next; + mes "[Master Miller]"; + mes "As a Gunslinger, you must"; + mes "keep your gun with you at"; + mes "all times. The Gunslinger"; + mes "Guild keeps track of every Gun"; + mes "and Bullet, so you can only get"; + mes "them from our guild members."; + next; + mes "[Master Miller]"; + mes "Don't worry, Gunslinger"; + mes "Guildsmen can be found almost"; + mes "anywhere these days. Anyway,"; + mes "it has to be this way by order of our guild leader, Lady Selena."; + next; + mes "[Master Miller]"; + mes "You might get the chance to"; + mes "meet her one of these days."; + mes "Anyway, just now that we have"; + mes "to regulate Gun and Bullet sales to keep them away from evil"; + mes "or irresponsible folk."; + next; + mes "[Master Miller]"; + mes "In any case, it's always"; + mes "a pleasure for me to talk"; + mes "to another Gunslinger, so"; + mes "let's keep in touch. May the"; + mes "power of the earth protect"; + mes "you in all of your adventures~"; + callfunc "Job_Change",Job_Gunslinger; + set GUNS_Q,6; + completequest 6024; + if (rand(1,2) == 1) { + getitem 13100,1; // Six_Shooter + }else{ + getitem 13150,1; // Branch + } + close; + } + }else{ + if (Class == Job_Gunslinger) { + mes "[Master Miller]"; + mes "Oh! Long time, no see,"; + mes "friend. How have you been?"; + mes "I hope you've been keeping"; + mes "you Gun well maintained."; + mes "Take care of it, and it'll take"; + mes "care of you. Remember it."; + close; + }else{ + mes "[Master Miller]"; + mes "If you don't have"; + mes "any business with me,"; + mes "then please go on your way."; + close; + } + } +} + +payon,184,65,3 script Wise Bull Horn 866,{ + if (GUNS_Q == 1) { + mes "[Wise Bull Horn]"; + mes "Hello, young wolf."; + mes "What business has"; + mes "brought you before me?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Mr. Miller sent me to"; + mes "deliver this letter to you."; + mes "Actually, I'm interested in"; + mes "becoming a Gunslinger..."; + next; + mes "[Wise Bull Horn]"; + mes "Miller, you said?"; + mes "Hm, the Black Fox doesn't"; + mes "give introductions for anyone"; + mes "he doesn't believe will make"; + mes "a good Gunslinger. Yes, I think"; + mes "I know why he sent you to me."; + next; + mes "[Wise Bull Horn]"; + mes "I can see it in your eyes:"; + mes "you've got a warm heart and a"; + mes "strong sense of responsibility."; + mes "All you need is the blessing"; + mes "of the Earth to protect you"; + mes "as a Gunslinger."; + next; + mes "[Wise Bull Horn]"; + mes "I can make a voucher that"; + mes "will demonstrate your desire"; + mes "to become a warrior of the"; + mes "earth for you to present to"; + mes "Gunslinger drillmasters."; + mes "I shall need these items..."; + next; + mes "[Wise Bull Horn]"; + mes "^3355FF1 Trunk^000000,"; + mes "^3355FF3 Fluffs^000000,"; + mes "^3355FF3 Zargons^000000,"; + mes "^3355FF10 Shells^000000,"; + mes "^3355FF3 Green Herbs^000000, and"; + mes "^3355FF3 Rainbow Shells^000000."; + next; + mes "[Wise Bull Horn]"; + mes "After I complete the"; + mes "voucher, you may bring"; + mes "it to Black Fox, and he"; + mes "will help you achieve"; + mes "your goal of becoming"; + mes "a Gunslinger."; + set GUNS_Q,2; + changequest 6020,6021; + close; + } + else if(GUNS_Q == 2) { + if (countitem(912) < 3 || countitem(914) < 3 || countitem(1019) < 1 || countitem(935) < 10 || countitem(511) < 3 || countitem(1013) < 3) { + mes "[Wise Bull Horn]"; + mes "I can make a voucher that"; + mes "will demonstrate your desire"; + mes "to become a warrior of the"; + mes "earth for you to present to"; + mes "Gunslinger drillmasters."; + mes "I shall need these items..."; + next; + mes "[Wise Bull Horn]"; + mes "^3355FF1 Trunk^000000,"; + mes "^3355FF3 Fluffs^000000,"; + mes "^3355FF3 Zargons^000000,"; + mes "^3355FF10 Shells^000000,"; + mes "^3355FF3 Green Herbs^000000, and"; + mes "^3355FF3 Rainbow Shells^000000."; + next; + mes "[Wise Bull Horn]"; + mes "After I complete the"; + mes "voucher, you may bring"; + mes "it to Black Fox, and he"; + mes "will help you achieve"; + mes "your goal of becoming"; + mes "a Gunslinger."; + close; + } + delitem 912,3; // Zargon + delitem 914,3; // Fluff + delitem 1019,1; // Wooden_Block + delitem 935,10; // Shell + delitem 511,3; // Green_Herb + delitem 1013,3; // Colorful_Shell + set GUNS_Q,3; + changequest 6021,6022; + mes "[Wise Bull Horn]"; + mes "Ah, you've returned"; + mes "with everything I need."; + mes "Please give me some time"; + mes "to make the voucher. If you"; + mes "come back in a little while,"; + mes "I should be finished with it."; + close; + } + else if(GUNS_Q == 3) { + mes "[Wise Bull Horn]"; + mes "Oh, you've arrived just"; + mes "in time. It's been a while"; + mes "since I've made one of these vouchers, so I might be a little"; + mes "rusty. Still, this really takes me back to the days of my youth."; + next; + mes "[Wise Bull Horn]"; + mes "I've been serving in this"; + mes "position of choosing worthy"; + mes "recipients of Gunslinger"; + mes "vouchers for a few decades"; + mes "now. But before that, I was a"; + mes "young adventurer just like you."; + next; + mes "[Wise Bull Horn]"; + mes "It feels like it was only"; + mes "yesterday when I held my own"; + mes "little voucher as a Gunslinger,"; + mes "a warrior of the earth. That's"; + mes "when I met Selena's father..."; + mes "How can time pass so quickly?"; + next; + mes "[Wise Bull Horn]"; + mes "Ah... I reallly appreciate"; + mes "Selena and Black Fox for all"; + mes "of their help in recruiting"; + mes "young Gunslingers. I'm very"; + mes "old now, and can't do everything by myself. *Sigh...* Such is life."; + next; + mes "[Wise Bull Horn]"; + mes "Before you leave, may"; + mes "I ask you for a small favor?"; + mes "I'm thirsty, and would like"; + mes "a cold glass of Milk. Would"; + mes "you please bring me some?"; + set GUNS_Q,4; + changequest 6022,6023; + close; + } + else if(GUNS_Q == 4) { + if (countitem(519) < 1) { + mes "[Wise Bull Horn]"; + mes "I'm an old man that will"; + mes "soon be reunited with mother"; + mes "earth. Would you do this old"; + mes "Gunslinger a favor a bring me"; + mes "a cold glass of Milk, please?"; + close; + } + delitem 519,1; // Milk + set GUNS_Q,5; + changequest 6023,6024; + mes "[Wise Bull Horn]"; + mes "Oh, thank you for your!"; + mes "generosity--I see that"; + mes "you've brought me some"; + mes "Milk. Ahhhh, delicious~"; + next; + mes "[Wise Bull Horn]"; + mes "I admire the patience,"; + mes "gentleness, and kindness"; + mes "that you've proven by bringing"; + mes "this to me. Yes, those are traits we all want Gunslingers to have."; + next; + mes "[Wise Bull Horn]"; + mes "Now, please take this voucher"; + mes "to Miller, the Black Fox, with"; + mes "my whole hearted approval."; + mes "I hope that you will use your"; + mes "gun to uphold justice as a"; + mes "noble warrior of the earth."; + next; + mes "[Wise Bull Horn]"; + mes "Eeh~Yeah~Eeh~Hooom"; + mes "Eeh~Yeah~Eeh~Hooom"; + mes "Maaaaarrraaa Neeey~"; + mes "Yippee Yippee Yai Yocaiyay~"; + close; + } + else if(GUNS_Q == 5) { + mes "[Wise Bull Horn]"; + mes "Please take this voucher"; + mes "to Miller, the Black Fox, with"; + mes "my whole hearted approval."; + mes "I hope that you will use your"; + mes "gun to uphold justice as a"; + mes "noble warrior of the earth."; + next; + mes "[Wise Bull Horn]"; + mes "Eeh~Yeah~Eeh~Hooom"; + mes "Eeh~Yeah~Eeh~Hooom"; + mes "Maaaaarrraaa Neeey~"; + mes "Yippee Yippee Yai Yocaiyay~"; + close; + } + else if(GUNS_Q == 6) { + mes "[Wise Bull Horn]"; + mes "AAh, long time no see."; + mes "I hope that you become"; + mes "a smart beast, and use"; + mes "your powers as a Gunslinger to protect what is good and just."; + close; + } + else { + mes "[Wise Bull Horn]"; + mes "Zzzzzz~"; + mes "^333333*Phew*^000000"; + close; + } +} diff --git a/npc/pre-re/jobs/1-1e/ninja.txt b/npc/pre-re/jobs/1-1e/ninja.txt new file mode 100644 index 000000000..dcd9a851a --- /dev/null +++ b/npc/pre-re/jobs/1-1e/ninja.txt @@ -0,0 +1,588 @@ +//===== rAthena Script ======================================= +//= Ninja Job Quest +//===== By: ================================================== +//= Legionaire, Kisuka +//===== Current Version: ===================================== +//= 1.6 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Ninja Job Change Quest +//===== Additional Comments: ================================= +//= 1.1 Optimized, updated, checked [Lupus] +//= 1.2 Added Akagi [Playtester] +//= 1.3 Updated dialogs to official ones and optimized [SinSloth] +//= 1.4 Fixed a minor bug [SinSloth] +//= 1.5 Updated to match AEGIS script and Added Quest Log commands. [Kisuka] +//= 1.6 Fixed AEGIS amatsu warp typo. [Kisuka] +//============================================================ + +alberta,30,65,3 script Akagi 730,{ + if (Class == Job_Novice) { + if (JobLevel == 10) { + mes "[Akagi]"; + mes "Hmmm..."; + mes "You must have come,"; + mes "sensing that someone"; + mes "is waiting for you here."; + mes "Tell me, do you seek"; + mes "the path of patience?"; + next; + if(select("No:Yes") == 1) { + mes "[Akagi]"; + mes "I see."; + mes "To each his own,"; + mes "I suppose. Take"; + mes "care of yourself."; + close; + } + mes "[Akagi]"; + mes "Very well."; + mes "Then, let me"; + mes "set you on that"; + mes "path right away..."; + close2; + switch(rand(3)) { + case 1: + warp "amatsu",170,229; + end; + case 2: + warp "amatsu",216,188; + end; + default: + warp "amatsu",178,176; + end; + } + }else{ + mes "[Akagi]"; + mes "Hm? I cannot be"; + mes "of any service to"; + mes "you until you grow"; + mes "a little stronger..."; + close; + } + }else{ + mes "[Akagi]"; + mes "Hmm..."; + mes "You and I..."; + mes "We are fairly equal in"; + mes "terms of combat ability."; + mes "Perhaps we can spar"; + mes "together sometime."; + close; + } +} + +que_ng,30,65,3 script Cougar#nq 730,{ + if (Upper == 2) { + mes "[Cougar]"; + mes "I... I've never"; + mes "seen a baby as"; + mes "powerful as you!"; + mes "G-get away, you"; + mes "freak of nature!"; + close; + } + if (Class == Job_Novice) { + if (JobLevel < 10) { + mes "[Cougar]"; + mes "Hm? Have you come to"; + mes "learn how to be a Ninja?"; + mes "You're not quite experienced"; + mes "enough yet, so come back"; + mes "after you're more familiar"; + mes "with fighting monsters."; + close; + } + if (NINJ_Q == 0) { + mes "["+strcharinfo(0)+"]"; + mes "Excuse me."; + mes "H-hello?"; + next; + mes "[Cougar]"; + mes "..............................."; + mes "How did you do that?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Do what? I didn't"; + mes "do anything, I don't think..."; + next; + mes "[Cougar]"; + mes "H-How are you able to"; + mes "see me? I'm supposed to"; + mes "be invisible to the naked eye."; + mes "Ah, now I get it. Wildcat Joe"; + mes "must have sent you to kill me! I won't fall for your tricks! Die!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "W-wait! I-I don't even"; + mes "know who Wildcat Joe is!"; + mes "Calm down, there's no"; + mes "need to get violent!"; + next; + mes "[Cougar]"; + mes "What...?"; + mes "How did you dodge"; + mes "all of my attacks?"; + mes "You've got some talent,"; + mes "I'll give you that."; + next; + mes "["+strcharinfo(0)+"]"; + mes "..............................."; + mes "I came here hoping"; + mes "to change my job"; + mes "to a Ninja."; + next; + mes "[Cougar]"; + mes "...Oh. Is that all?"; + mes "Hmm, you've got great"; + mes "potential, but I can't help"; + mes "you now. I've got too many"; + mes "enemies, and I can't let my"; + mes "guard down for even a second."; + next; + mes "[Cougar]"; + mes "That Wildcat Joe is"; + mes "completely ruthless...!"; + mes "He could strike at any time!"; + mes "He'll do anything to achieve"; + mes "victory over his enemies!"; + next; + mes "[Cougar]"; + mes "Wait, wait, I just"; + mes "thought of something."; + mes "Maybe you can help me out."; + mes "Do what I ask, and I'll teach"; + mes "you a few of my skills if you"; + mes "really want to be a Ninja."; + next; + if(select("Sure.:No, thanks.") == 2) { + mes "[Cougar]"; + mes "Hm? Well, alright."; + mes "Still, I don't see"; + mes "why we can't help"; + mes "each other in this"; + mes "little predicament..."; + close; + } + mes "[Cougar]"; + mes "Great! Now, I wanted to"; + mes "ask Wildcat Joe if he'd"; + mes "agree to a temporary truce."; + mes "I'm aware that both of us"; + mes "are out of weapons, so we"; + mes "should get well equipped first."; + next; + mes "[Cougar]"; + mes "Please take this letter,"; + mes "and deliver it to Wildcat"; + mes "Joe in Einbroch. He's a master"; + mes "of disguise, so keep a careful"; + mes "eye out for him. Ah, and look"; + mes "for him in a high place."; + next; + mes "[Cougar]"; + mes "Yeah, Wildcat Joe"; + mes "always did have a thing"; + mes "for hiding in high places."; + mes "Anyway, after you give him"; + mes "the letter, come back and"; + mes "let me know his answer."; + set NINJ_Q,1; + setquest 6015; + close; + } + else if(NINJ_Q == 1) { + mes "[Cougar]"; + mes "Even if this task"; + mes "isn't that urgent,"; + mes "please hurry over to"; + mes "Einbroch and deliver"; + mes "my letter to Wildcat Joe."; + close; + } + else if(NINJ_Q == 2) { + mes "[Cougar]"; + mes "Did you deliver that"; + mes "letter to Wildcat Joe?"; + mes "I still need to know his"; + mes "response to my proposal"; + mes "for a truce. Anyway, see"; + mes "if you can needle him for it."; + close; + } + else if(NINJ_Q == 3) { + mes "[Cougar]"; + mes "Ah, you've returned."; + mes "So did Wildcat Joe send"; + mes "you back here with his"; + mes "response? Great, great,"; + mes "please let me read it."; + next; + mes "[Cougar]"; + mes "What...?! How could he"; + mes "reject my proposal for"; + mes "a truce?! This can only"; + mes "mean that he's made another"; + mes "Kunai. Nuts! I have to catch"; + mes "up to him, or I'm a goner!"; + next; + mes "[Cougar]"; + mes "Listen, you've got to help"; + mes "me out again! I need you to"; + mes "gather some materials so that"; + mes "I can craft my own Kunai to fight Wildcat Joe. Then, I'll go ahead"; + mes "and change your job to a Ninja."; + next; + mes "[Cougar]"; + mes "All you need"; + mes "to bring me is"; + mes "^3355FF5 Cyfars^000000 and"; + mes "^3355FF1 Phracon^000000."; + mes "Please get those"; + mes "as quickly as you can!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Huh? That's funny,"; + mes "Wildcat Joe actually"; + mes "asked me to gather"; + mes "those same materials."; + next; + mes "[Cougar]"; + mes "Curses! Then that means..."; + mes "You actually helped Joe"; + mes "in crafting his Kunai! No!"; + mes "I should have thought about"; + mes "that earlier! Well, it's too"; + mes "late now. Just h-hurry it up!"; + set NINJ_Q,4; + changequest 6017,6018; + close; + } + else if(NINJ_Q == 4) { + if (countitem(7053) < 5 || countitem(1010) < 1) { + mes "[Cougar]"; + mes "Hurry and bring"; + mes "^3355FF5 Cyfars^000000 and"; + mes "^3355FF1 Phracon^000000 to me,"; + mes "so that I can craft"; + mes "my own Kunai to use"; + mes "against Wildcat Joe!"; + close; + } + if (Skillpoint != 0) { + mes "[Cougar]"; + mes "Whoa, whoa..."; + mes "You still have some"; + mes "leftover Skill Points."; + mes "You'd better spend all"; + mes "of them before you"; + mes "change jobs, right?"; + close; + } + mes "[Cougar]"; + mes "Ah, you're back with"; + mes "everything that I need."; + mes "You've come earlier than"; + mes "I expected, eh? Great,"; + mes "as promised, I'll turn"; + mes "you into a Ninja."; + next; + mes "[Cougar]"; + mes "Let me formally introduce"; + mes "myself. I am High Ninja Cougar"; + mes "in the Touga Ninja Corps, and"; + mes "I'm in charge of the search"; + mes "party to find Sir Kazma."; + next; + mes "[Cougar]"; + mes "Sir Kazma is the chief"; + mes "of my village, but he's"; + mes "run away. This has resulted"; + mes "in an internal conflict within"; + mes "the Ninja Corps. Things are"; + mes "pretty unstable right now..."; + next; + mes "[Cougar]"; + mes "I initially didn't want to"; + mes "accept you as a Ninja because"; + mes "of this complicated situation."; + mes "However, you've proven that"; + mes "you're truly worthy of joining"; + mes "the Ninja ranks."; + next; + mes "[Cougar]"; + mes "According to his letter, even"; + mes "Joe thinks highly of you. Just"; + mes "remember that, as a Ninja, your"; + mes "mission is your highest priority. But don't let mission objectives"; + mes "supercede your conscience."; + next; + mes "[Cougar]"; + mes "''Secrecy above all else.''"; + mes "To keep our secrets in the"; + mes "shadows, you can only buy"; + mes "or sell Ninja weapons with"; + mes "authorized dealers. Please"; + mes "keep that in mind."; + next; + mes "[Cougar]"; + mes "As of today, you are"; + mes "now a proud member of the"; + mes "Touga Ninja Corps. Be as"; + mes "agile as the wind, and as"; + mes "quiet as the falling shadows."; + callfunc "Job_Change",Job_Ninja; + set NINJ_Q,5; + delitem 7053,5; // Cyfar + delitem 1010,1; // Phracon + getitem 13010,1; // Asura + completequest 6018; + close; + } + else { + mes "[Cougar]"; + mes "How have you been?"; + mes "Train hard: you want"; + mes "to be able to vanish"; + mes "without a trace. If you"; + mes "can do that, you'll get"; + mes "the respect of any Ninja~"; + close; + } + }else{ + if (Class == Job_Ninja) { + mes "[Cougar]"; + mes "How have you been?"; + mes "Train hard: you want"; + mes "to be able to vanish"; + mes "without a trace. If you"; + mes "can do that, you'll get"; + mes "the respect of any Ninja~"; + close; + }else{ + mes "[Cougar]"; + mes "What...?"; + mes "How were you able"; + mes "to find me hidden"; + mes "in the shadows?!"; + mes "You must be more than"; + mes "a common adventurer, eh?"; + close; + } + } +} + +einbroch,184,194,3 script Suspicious Man#nq 881,{ + if (NINJ_Q == 1) { + mes "[Suspicious Man]"; + mes "I've traveled to many"; + mes "countries, but I've never"; + mes "been on a building as high"; + mes "as Einbroch Tower. All the"; + mes "buildings in my hometown"; + mes "are tiny in comparison..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Oh, are you from"; + mes "Amatsu? I'm looking"; + mes "for someone named"; + mes "Wildcat Joe from there."; + next; + mes "[Suspicious Man]"; + mes "...No. No, I'm actually"; + mes "from Izlude, and I'm only"; + mes "here in Einbroch for some"; + mes "minerals. Tell me, why are"; + mes "you looking for this Wildcat Joe?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Well, I need to deliver"; + mes "this letter to him and"; + mes "get his response so that"; + mes "I can become a Ninja."; + next; + mes "[Suspicious Man]"; + mes "Really? Now that I think"; + mes "about it, I do think that I've"; + mes "run once or twice into him"; + mes "in this town. Though, he prefers to be called ''Red Leopard Joe,''"; + mes "instead of ''Wildcat Joe.''"; + next; + mes "["+strcharinfo(0)+"]"; + mes "I really want to help you"; + mes "find him, but first I need"; + mes "to find the minerals that"; + mes "I'm looking for. If you don't"; + mes "mind, would you help me?"; + mes "Then I can help you find Joe."; + next; + if(select("Don't worry, I'll find him alone.:Sure, I'll help you.") == 1) { + mes "[Suspicious Man]"; + mes "You sure about that...?"; + mes "Red Leopard Joe is a true"; + mes "master of disguise. You'll"; + mes "need all the help you can"; + mes "get to find him..."; + close; + } + mes "[Suspicious Man]"; + mes "Great, I'm glad to"; + mes "hear that. Please"; + mes "help me find"; + mes "^3355FF5 Cyfars^000000 and"; + mes "^3355FF1 Phracon^000000."; + set NINJ_Q,2; + changequest 6015,6016; + close; + } + else if(NINJ_Q == 2) { + if (countitem(7053) < 5 || countitem(1010) < 1) { + mes "[Suspicious Man]"; + mes "Please bring"; + mes "^3355FF5 Cyfars^000000 and"; + mes "^3355FF1 Phracon^000000 to me as"; + mes "soon as you can. Then,"; + mes "I can help you find"; + mes "Red Leopard Joe."; + close; + } + mes "[Suspicious Man]"; + mes "Good, good. You've"; + mes "brought the minerals..."; + mes "Now, it's my turn to"; + mes "help you now. Here,"; + mes "let me see that letter."; + next; + mes "["+strcharinfo(0)+"]"; + mes "?????!!"; + next; + mes "[Suspicious Man]"; + mes "Why? Didn't you bring Cougar's letter for me?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Are you..."; + mes "Are you Wildcat Joe?"; + next; + mes "[Suspicious Man]"; + mes "...Yes, but I prefer to"; + mes "be called Red Leopard Joe."; + mes "Cougar sent you to me, right?"; + mes "He's the only one who calls"; + mes "me that. So you want to be"; + mes "a Ninja, eh? Hmm, alright."; + next; + mes "[Red Leopard Joe]"; + mes "If you want to be a Ninja,"; + mes "you should always be careful"; + mes "of what you see and what you trust. Don't forget that if your"; + mes "secrets are ever discovered, then you're finished as a Ninja."; + next; + mes "[Red Leopard Joe]"; + mes "Remember to move"; + mes "quickly, and to always"; + mes "vanish without a trace."; + mes "To remain hidden in the"; + mes "shadows is really our"; + mes "ultimate power."; + next; + mes "["+strcharinfo(0)+"]"; + mes "I see..."; + mes "..........."; + next; + mes "[Red Leopard Joe]"; + mes "For now, let me read"; + mes "this letter. Let's see..."; + mes "Hm. I thought that Cougar"; + mes "would want to challenge me"; + mes "again, but he actually wants"; + mes "a temporary truce? Hah!"; + next; + mes "[Red Leopard Joe]"; + mes "Thanks to your help,"; + mes "I now have the minerals"; + mes "I need to construct a Kunai!"; + mes "Hahaha! I won't agree to a truce when I have the advantage!"; + next; + mes "[Red Leopard Joe]"; + mes "Anyway, let me write my"; + mes "response to him. I'll also"; + mes "give you my recommendation..."; + mes "I think you'll make a very fine"; + mes "Ninja, even if I did trick you"; + mes "just earlier. Heh heh heh!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "......"; + mes "........."; + mes "............"; + next; + mes "[Red Leopard Joe]"; + mes "Here you go."; + mes "Please bring this"; + mes "letter to Cougar."; + mes "It'll take a while to"; + mes "return to Amatsu, so let"; + mes "me send you there directly..."; + delitem 1010,1; // Phracon + delitem 7053,5; // Cyfar + set NINJ_Q,3; + changequest 6016,6017; + close2; + warp "amatsu",113,127; + end; + } + else if(NINJ_Q == 3) { + mes "[Red Leopard Joe]"; + mes "Eh? I'm not sure what"; + mes "happened, but it seems"; + mes "that you haven't delivered"; + mes "my response to Cougar yet."; + mes "Shall I directly send you"; + mes "to Amatsu right now?"; + next; + if(select("No, thanks.:Yes, please.") == 1) { + mes "[Red Leopard Joe]"; + mes "Alright. Well, I was"; + mes "just trying to save"; + mes "you some time."; + close; + } + mes "[Red Leopard Joe]"; + mes "Okay, then."; + mes "Goodbye for now."; + close2; + warp "amatsu",113,127; + end; + } + else if(NINJ_Q == 4) { + mes "[Red Leopard Joe]"; + mes "Cougar asked you to"; + mes "gather some materials"; + mes "too? Oh well, I suppose"; + mes "that I can't blame him."; + mes "Besides, I should be able"; + mes "to beat him in a fair fight~"; + close; + } + else if(NINJ_Q == 5 && Class == Job_Ninja) { + mes "[Red Leopard Joe]"; + mes "Oh, you're a Ninja~"; + mes "I hope you continue to"; + mes "train yourself and master"; + mes "all the Ninja skills that"; + mes "you can. Always remember"; + mes "to blend into the shadows."; + close; + } + else { + mes "[Tourist]"; + mes "I've traveled to many"; + mes "countries, but I've never"; + mes "been on a building as high"; + mes "as Einbroch Tower. All the"; + mes "buildings in my hometown"; + mes "are tiny in comparison..."; + close; + } +} diff --git a/npc/pre-re/jobs/1-1e/taekwon.txt b/npc/pre-re/jobs/1-1e/taekwon.txt new file mode 100644 index 000000000..54a6c8ce2 --- /dev/null +++ b/npc/pre-re/jobs/1-1e/taekwon.txt @@ -0,0 +1,423 @@ +//===== rAthena Script ======================================= +//= Taekwon Job Quest +//===== By: ================================================== +//= Tsuyuki & Samuray22 +//===== Current Version: ===================================== +//= 1.4 +//===== Compatible With: ===================================== +//= rAthena/Freya +//===== Description: ========================================= +//= Official iRO TaeKwon Job Change Quest +//===== Additional Comments: ================================= +//= 1.0 Replaced previous TK Job Quest with this one [Tsuyuki] +//= 1.1 Rewrote to the Aegis Standars. [Samuray22] +//= 1.2 Fixed position the npc is facing. [Kisuka] +//= 1.3 Added Quest Log commands. [Kisuka] +//= 1.4 Removed use of 'goto', and fixed some indentation. [L0ne_W0lf] +//============================================================ + + +payon,157,141,5 script Phoenix#TKJobChange 753,{ + if(Upper == 2) { + mes "[Phoenix]"; + mes "Hello, child."; + close; + } else if(Class == Job_Taekwon) { + mes "[Phoenix]"; + mes "How is your training"; + mes "coming along? As your"; + mes "techniques become more"; + mes "refined or spectacular,"; + mes "never forget that you can"; + mes "always rely on the basics."; + close; + } else if(Class > Job_Novice) || (Class == Job_Novice && TK_Q == 0) { + mes "[Phoenix]"; + mes "This land. Our once"; + mes "beautiful world has been"; + mes "stained by evil: there are"; + mes "too many men corrupted by"; + mes "darkness, too many monsters"; + mes "threatening the innocent..."; + next; + mes "[Phoenix]"; + mes "The havoc that reigns in this"; + mes "world is too much for normal"; + mes "humans, which cannot stand"; + mes "up for themselves against such"; + mes "overwhelming odds. Still, one"; + mes "must aspire to fight the odds."; + next; + mes "[Phoenix]"; + mes "And so, I've dedicated"; + mes "myself to becoming stronger."; + mes "I have been training to achieve"; + mes "enlightenment, developing an art to hone the mind and body that"; + mes "I wish to share with the world."; + next; + mes "[Phoenix]"; + mes "I may not be able to change"; + mes "the world on my own, but I'll"; + mes "never stop training myself"; + mes "spiritually and physically."; + mes "I know that the answer"; + mes "will come in time..."; + next; + if (Class != Job_Novice && TK_Q != 0) { + mes "[Phoenix]"; + mes "Noble adventurer:"; + mes "if you know anyone who"; + mes "has not chosen his path"; + mes "in life, please recommend"; + mes "him to me. If interested,"; + mes "I may teach him my art..."; + close; + } + mes "[Phoenix]"; + mes "If you have not decided on"; + mes "the path you wish to take in"; + mes "life, I'd like you to consider"; + mes "becoming a practitioner of my"; + mes "art. It won't be easy, but it will lead you to great strength..."; + next; + if(select("Okay, I will join you.","No, thank you.") == 1) { + if(getskilllv("NV_BASIC") < 9) { + mes "[Phoenix]"; + mes "How unfortunate!"; + mes "You're not yet ready to"; + mes "begin training under my"; + mes "tutelege with your current"; + mes "Job Level. Please return when you reach Job Level 9 or higher."; + close; + } + mes "[Phoenix]"; + mes "Very well... I accept you"; + mes "as my student. In beginning"; + mes "training, your physical body"; + mes "must first be conditioned in"; + mes "order to perform the skills"; + mes "that you will be learning."; + next; + if(BaseLevel > 19) { + mes "[Phoenix]"; + mes "Hm. I see that you have"; + mes "undergone sufficient physical"; + mes "training as a Novice. Very good. Then let us prepare for your"; + mes "spiritual training. Take a deep"; + mes "breath, speak to me when ready."; + set TK_Q, 2; + setquest 6001; + close; + } + mes "[Phoenix]"; + mes "The mind is not necessarily"; + mes "bound to the limits of the body, but you will never fulfill your"; + mes "true potential without integrating mind and body. Go, gain ^FF00001 more"; + mes "Base Level^000000, and then return."; + next; + set TAEK_Q, BaseLevel; + set TK_Q, 1; + setquest 6000; + mes "[Phoenix]"; + mes "I understand this is not an"; + mes "easy task for Novices, but you"; + mes "must ready yourself for the"; + mes "hardship for this job. I shall"; + mes "expect you to be stronger"; + mes "the next time we meet."; + close; + } + mes "[Phoenix]"; + mes "I understand. One's life can"; + mes "take many paths, but you can"; + mes "only choose to travel on one"; + mes "at a time. I hope that you work"; + mes "towards enlightenment in your"; + mes "very own way, adventurer."; + close; + } + switch(TK_Q) { + case 1: + if(BaseLevel > TAEK_Q) { + set TK_Q, 2; + changequest 6000,6001; + mes "[Phoenix]"; + mes "Good. I sense that you"; + mes "are more in tune with your"; + mes "inner strength. That is the"; + mes "natural result of leveling up."; + mes "We're ready to proceed with"; + mes "the next portion of training."; + close; + } + mes "[Phoenix]"; + mes "You must gain ^FF00001 more"; + mes "Base Level^000000 to prove that"; + mes "you can endure the hardship"; + mes "that entails this job. Never"; + mes "neglect your training."; + close; + case 2: + mes "[Phoenix]"; + mes "For your spiritual training,"; + mes "I will ask you a series of"; + mes "questions to test your spirit."; + mes "Relax. Answer as honestly"; + mes "as you can. Your will and"; + mes "convictions will be tested."; + next; + mes "[Phoenix]"; + mes "As a practitioner of my"; + mes "art, the ability to quickly"; + mes "make the best decision will"; + mes "be necessary in battle. Now,"; + mes "we will begin the questioning."; + next; + mes "[Phoenix]"; + mes "When you encounter"; + mes "great difficulty, how do"; + mes "you generally respond?"; + next; + switch(select( "I face it head on.:Avoid it somehow.:Regroup and analyze the problem.")) { + case 1: + mes "[Phoenix]"; + mes "Yes, that is the answer"; + mes "I wanted. Even if you cannot"; + mes "handle a problem at first, we"; + mes "can only benefit from such"; + mes "strong determination. Don't"; + mes "let any obstacle stop you."; + next; + mes "[Phoenix]"; + mes "Even if you fail, you"; + mes "can only learn from the"; + mes "experience when you give"; + mes "your all. Half-hearted"; + mes "attempts rarely yield"; + mes "fruitful results."; + next; + mes "[Phoenix]"; + mes "Seeing as you already"; + mes "understand the importance"; + mes "of one's will, we'll proceed"; + mes "to the next question."; + next; + break; + case 2: + mes "[Phoenix]"; + mes "Fool! How do you expect"; + mes "to mature if you run away"; + mes "from challenges? Fear can"; + mes "be a healthy reaction that"; + mes "can save your life, but true"; + mes "cowardice is despicable."; + next; + mes "[Phoenix]"; + mes "It disappoints me to"; + mes "hear you say that. Never"; + mes "say such a thing to me again."; + mes "Hm. Contemplate the meanings"; + mes "of courage and cowardice, and"; + mes "then speak to me once again."; + close; + case 3: + mes "[Phoenix]"; + mes "Regroup? It is good to do that"; + mes "after you have been defeated."; + mes "But it is best to face problems"; + mes "once you encounter them."; + mes "You will not always have"; + mes "the luxury of regrouping."; + next; + mes "[Phoenix]"; + mes "Problems can be predicted"; + mes "and analyzed, but I think"; + mes "immediate retreat is unwise."; + mes "Contemplate on your fears,"; + mes "as well as what you define as"; + mes "failure. Then, return to me."; + close; + } + mes "[Phoenix]"; + mes "On your travels, you will"; + mes "encounter many people with"; + mes "differing backgrounds and"; + mes "viewpoints. Inevitably, you"; + mes "will encounter someone whose"; + mes "way of life you cannot fathom."; + next; + mes "[Phoenix]"; + mes "Likewise, this person will"; + mes "not understand your way of"; + mes "life. When your two viewpoints"; + mes "clash, causing heated conflict,"; + mes "how would you respond?"; + next; + switch( select("Insist that I'm right, regardless:Disregard conflicting viewpoint:Accept differences and learn from them")) { + case 1: + mes "[Phoenix]"; + mes "It's important to have your"; + mes "own opinion. However, you"; + mes "must recognize that you may"; + mes "be wrong, and an opposing"; + mes "view may have some merit."; + next; + mes "[Phoenix]"; + mes "There is no one right"; + mes "answer and the light of"; + mes "truth can take many shades."; + mes "Such is the way of nature."; + mes "To force ideas on others is"; + mes "an oppressive practice."; + next; + mes "[Phoenix]"; + mes "Do not limit yourself"; + mes "to a single view, and do"; + mes "not stifle your growth by"; + mes "adhering to a single truth."; + mes "Contemplate on this, and"; + mes "then speak with me again."; + close; + case 2: + mes "[Phoenix]"; + mes "It is important to get"; + mes "along with others, but"; + mes "you will bring no value"; + mes "to this world without your"; + mes "own unique contributions,"; + mes "thoughts and opinions."; + next; + mes "[Phoenix]"; + mes "A conflict of ideals, when"; + mes "conducted with respect for"; + mes "yourself and others, is a"; + mes "great opportunity to broaden"; + mes "your understanding of the"; + mes "world as it is to others."; + next; + mes "[Phoenix]"; + mes "Reflect on this idea of"; + mes "establishing harmony with"; + mes "the self, and harmony with"; + mes "others. Then, return to me."; + close; + case 3: + mes "[Phoenix]"; + mes "Good. You must see"; + mes "differences for what they"; + mes "truly are. You must also"; + mes "take criticism to your own"; + mes "views with grace and "; + mes "sincere consideration."; + next; + mes "[Phoenix]"; + mes "It is impossible to know"; + mes "everything in this world."; + mes "It is impossible to understand"; + mes "every view. But that does not"; + mes "mean that views you do not"; + mes "understand are meritless."; + next; + mes "[Phoenix]"; + mes "The one with whom you"; + mes "disagree may have the"; + mes "answer you do not know."; + mes "In your time of weakness,"; + mes "this person may be your"; + mes "greatest help. Remember that."; + next; + } + mes "[Phoenix]"; + mes "I am satisfied by the"; + mes "answers you have given"; + mes "me. Please reflect on what"; + mes "we have discussed for a little"; + mes "while. When your mind is calm,"; + mes "come and speak to me."; + set TK_Q, 3; + changequest 6001,6002; + close; + case 3: + mes "[Phoenix]"; + mes "Are you feeling calm"; + mes "and at peace? I will ask"; + mes "you a very important question."; + mes "Give me your honest answer."; + next; + mes "[Phoenix]"; + mes "^FF0000Are you ready to dedicate"; + mes "yourself to the special art"; + mes "I will teach you, and uphold"; + mes "the dignity of its philosophy?"; + next; + if( select( "Yes.","No.") == 1) { + mes "[Phoenix]"; + mes "Very well. You are no"; + mes "longer just a student."; + mes "You are now entrusted with"; + mes "the powers and responsibilites"; + mes "of a disciple of ^FF0000Taekwon Do^000000."; + next; + mes "[Phoenix]"; + mes "''Taekwon'' has the meaning"; + mes "of ''punching and kicking,''"; + mes "and ''Do'' has the meaning"; + mes "of ''art.'' This martial art is"; + mes "focused on skills using"; + mes "the fists and the feet."; + next; + mes "[Phoenix]"; + mes "Please use this discipline"; + mes "to hone your body and mind"; + mes "and learn the skills that are"; + mes "best suited to you. Never"; + mes "shirk your training, or bring"; + mes "shame to Taekwon Do."; + next; + completequest 6002; + callfunc "Job_Change",Job_Taekwon; + callfunc "F_ClearJobVar"; + getitem 2101,1; // Guard[0] + mes "[Phoenix]"; + mes "You are still young, so"; + mes "I assume you'll want a job"; + mes "title. Mm. In that case, you"; + if(Sex == 0) { + mes "are now a ^FF0000Taekwon Girl^000000."; + } else { + mes "are now a ^FF0000Taekwon Boy^000000."; + } + mes "Yes, that sounds good. "; + next; + mes "[Phoenix]"; + mes "Please, take this training"; + mes "uniform and guard set: make"; + mes "good use of these gifts. As"; + mes "you travel and train, enlighten"; + mes "others about our art and learn^FFFFFF ^000000 what you can from them in return."; + next; + mes "[Phoenix]"; + mes "It is now time for you to"; + mes "embark on your own journey"; + mes "to find new challenges to"; + mes "develop your strength."; + mes "Carry yourself with pride"; + mes "as a Taekwon Do practitioner..."; + next; + mes "[Phoenix]"; + mes "Very well. I wish you luck."; + mes "I hope to see you again"; + mes "sometime, "+strcharinfo(0)+"."; + close; + } + mes "[Phoenix]"; + mes "Hm, perhaps you are not"; + mes "quite ready to progress from"; + mes "your status as a student to"; + mes "a full fledged disciple."; + mes "When you feel prepared,"; + mes "come and speak to me."; + close; + } +} + diff --git a/npc/pre-re/jobs/2-1/assassin.txt b/npc/pre-re/jobs/2-1/assassin.txt new file mode 100644 index 000000000..7f8febe58 --- /dev/null +++ b/npc/pre-re/jobs/2-1/assassin.txt @@ -0,0 +1,2299 @@ +//===== rAthena Script ======================================= +//= Assassin Job Quest +//===== By: ================================================== +//= kobra_k88 +//===== Current Version: ===================================== +//= 3.5 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Job Change quest for Assassin class. +//===== Additional Comments: ================================= +//= v1.0 Used some dialogue from the aegis Assassin script translated By: Pgro Team (OwNaGe) +//= Also converted the booby traps from the aegis script.[kobra_k88] +//= v1.1 Made adjustments to ontouch npcs to work with the new "ontouch" functionality. +//= Fixed some duplicate npc names. Added missing waitingroom triggers. +//= Fixed warp in "TimerSin", was supposed to be an areawarp. +//= For some reason sometimes the "Nameless One" would have message windows +//= without controls. Changed the doevent that triggers him to an +//= addtimer and that seemed make the prob. go away[kobra_k88] +//= 1.2 Fixed WRONG skillpoint check! [Lupus] +//= 1.2b Fixed missing commands and typos [Lupus] +//= 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] +//= 2.0 Changed numbers to constants. [Vicious] +//= 2.1 Removed Duplicates [Silent] +//= 2.2 Merged back JFunc. Fixed missing dialogue [Lupus] +//= 2.3 Fixed typo and change Nameless addtimer to 100 (with 700ms I +//= was still able to bypass it) [Toms] +//= 2.4 Fixed skipping of Nameless NPC [Lupus] +//= 2.5 Fixed a Rogue exploit [Lupus] +//= 2.6 Rescripted to Aegis 10.3 standards. [L0ne_W0lf] +//= 2.7 Several bugfixes with the help of Samuray22 and Barron-Monster. [L0ne_W0lf] +//= 2.8 Removed duplicate warps. [L0ne_W0lf] +//= 2.8a Deleted unused variables. [Samuray22] +//= 2.8b Fixed error caused in last updated, removed useless variable 'joblvl'. [L0ne_W0lf] +//= 2.9 Fixed an indent and added a 'break;' in hopes of 'fixing' an error [L0ne_W0lf] +//= 2.9a Corrected a Typo error ";;". [Samuray22] +//= 2.9b Moved a wrong 'break'. [Zephyrus_cr] +//= 3.0 Now uses enable and disable waitingroomevent. [L0ne_W0lf] +//= 3.1 Fixed problem with waiting room. (bugreport:1099) [L0ne_W0lf] +//= 3.1a Follow up fix. Forgot to replace a label. [L0ne_W0lf] +//= 3.1b Fixed waiting room not enabled in some situations [Zephyrus] +//= 3.2 Fixed a question having all correct answers. [brianluau] +//= 3.3 Added Quest Log commands. [Kisuka] +//= 3.4 Removed the need for use of 'goto.' [L0ne_W0lf] +//= 3.5 Fixed the waitingroom where player can enter the Test Area without passing the written exam. Now player will not be warp inside the Test Area when did not passed the written exam instead the player will be warp back to the written exam entrance [JayPee] +//============================================================ + +in_moc_16,19,33,1 script Guildsman#asn 55,{ + if (Upper == 1) { + mes "[Ferocious-looking guy]"; + mes "Hm? You....?"; + mes "I sense that you're different than most people..."; + next; + mes "[Ferocious-looking guy]"; + mes "I've never met anyone as intimidating as you! For some reason, I don't like you. I think you should leave!"; + close; + } + if (SkillPoint) { + mes "[Ferocious-looking guy]"; + mes "You can't change your job if you have any unused skill points from the 1st job. You better go and use those up first."; + close; + } + if (ASSIN_Q == 4) { + mes "[Ferocious-looking guy]"; + mes "Oh, stop making that face. Can you really be in that much pain?"; + next; + mes "[Ferocious-looking guy]"; + mes "Wah wah wah, you're hurting, I can see that. Look, I'll restore HP and SP. Happy?"; + percentheal 100,100; + next; + mes "[Ferocious-looking guy]"; + mes "Is it that hard to stay alive?"; + mes "Why don't you try harder next time? You can't force yourself too hard to become an Assassin..."; + next; + if (select("I will become an Assassin no matter what!:Oh man, I gotta take a break.") == 1) { + mes "[Ferocious-looking guy]"; + mes "Oh..."; + mes "Well then,"; + mes "go for it!"; + close2; + set ASSIN_Q,0; + warp "in_moc_16",19,76; + end; + } + mes "[Ferocious-looking guy]"; + mes "Take a break? Oh alright, have it your way. When you feel like you're ready to become an Assassin, come back."; + next; + mes "[Ferocious-looking guy]"; + mes "You'll have to walk if you want to get back to town. Oh, and don't forget to save your spawn point, alright?"; + close2; + set ASSIN_Q,0; + set ASSIN_Q2,0; + set ASSIN_Q3,0; + savepoint "in_moc_16",18,14; + warp "in_moc_16",18,14; + end; + } + if (BaseJob == Job_Thief && countitem(1008) == 0 && ASSIN_Q > 7) { + mes "[Assassin Expert 'Huey']"; + mes "Hey, what happened...? How come you didn't bring the ^006699Necklace of Oblivion^000000? You're supposed to carry that with you, so where is it?"; + next; + mes "[Assassin Expert 'Huey']"; + mes "You get better get that ^006699Necklace of Oblivion^000000 again before the guildmaster finds out! Hurry, and do your best to get it!"; + next; + mes "[Assassin Expert 'Huey']"; + mes "When you finally succeed in getting it, bring it to me! ^666666*Sigh...*^000000"; + close; + } + if (BaseJob == Job_Thief && countitem(1008) > 0 && ASSIN_Q > 7) { + mes "[Assassin Expert 'Huey']"; + mes "Well well well, you got it. Congratulations! But since it's been clearly scratched, I can't accept it. You'll never become an Assassin!"; + next; + mes "[Assassin Expert 'Huey']"; + mes "Hahahah~! I'm just joking, don't take it seriously. But I do need to check this necklace with the guildmaster first."; + next; + mes "[Assassin Expert 'Huey']"; + mes "..."; + next; + mes "[Assassin Expert 'Huey']"; + mes "..."; + mes "......"; + next; + delitem 1008,1; //Frozen_Heart + changequest 8007,8008; + mes "[Assassin Expert 'Huey']"; + mes "Alright!"; + mes "You've been approved!"; + next; + completequest 8008; + callfunc "Job_Change",Job_Assassin; + callfunc "F_ClearJobVar"; // clears all job variables for the current player + mes "[Assassin Expert 'Huey']"; + mes "Now! Do your best to be a great Assassin! Travel with faith and kill with dignity. Come by anytime and pay us a visit. Once again, congratulations."; + close; + } + else if (countitem(1008) > 0 && BaseJob == Job_Thief && ASSIN_Q < 7) { + mes "[Ferocious-looking guy]"; + mes "Eh?"; + mes "What do you want?"; + next; + mes "[Ferocious-looking guy]"; + mes "I see you're carrying a ^006699Necklace of Oblivion^000000... You want to become an Assassin, don't you? Let me check it..."; + next; + mes "[Ferocious-looking guy]"; + mes "..."; + next; + mes "[Ferocious-looking guy]"; + mes "..."; + mes "......"; + next; + mes "[Ferocious-looking guy]"; + mes "Wait a second..."; + mes "Why you no good BASTARD! THIS IS A FAKE!"; + next; + mes "[Ferocious-looking guy]"; + mes "How dare you think of trying to trick me with a fake! Are you stupid or what!? I should kill you..."; + close2; + warp "moc_fild16",206,229; + end; + } + else { + mes "[Ferocious-looking guy]"; + mes "What brings you here?"; + mes "I don't think I like the way you're looking at me... Punk."; + next; + if (BaseClass == Job_Novice) { + mes "[Ferocious-looking guy]"; + mes "Hey Newbie. You should really get out of here as soon as you can. I can't guarantee your safety."; + close; + } + else if (BaseClass == Job_Swordman) { + mes "[Ferocious-looking guy]"; + mes "What brings a man of the sword to this place? Why don't you try smashing stuff somewhere else, ya lunkhead."; + close; + } + else if (BaseClass == Job_Mage) { + mes "[Ferocious-looking guy]"; + mes "Now what would a magic user be doing here?"; + next; + mes "[Ferocious-looking guy]"; + mes "There's a library in Prontera and Juno where you're welcome, so why don't you make like a magic trick and disappear?"; + close; + } + else if (BaseClass == Job_Archer) { + mes "[Ferocious-looking guy]"; + mes "Well well well."; + mes "Look at that purdy bow."; + next; + mes "[Ferocious-looking guy]"; + mes "There aren't many Bowmen with the gall to even come close to this place. Well, what do you think you're doin' here?!"; + close; + } + else if (BaseClass == Job_Acolyte) { + mes "[Ferocious-looking guy]"; + mes "I thought something smelled funny. What's a servant of God doing in this place? You don't belong here."; + close; + } + else if (BaseClass == Job_Merchant) { + mes "[Ferocious-looking guy]"; + mes "We don't like greedy people around these parts. You better sell your stuff somewhere else, Moneybags."; + close; + } + else if (BaseJob == Job_Rogue) { + mes "[Ferocious-looking guy]"; + mes "You look like you don't have a care in the world. Well, I hope you enjoy your rest while you stay here. It's okay, since the Rogue and Assassin Guilds have always gotten along pretty well."; + next; + mes "[Ferocious-looking guy]"; + mes "By the way..."; + mes "Have you ever seen"; + mes "a girl named Markie?"; + next; + mes "[Ferocious-looking guy]"; + mes "Markie..."; + mes "We promised that we'd be together forever. ^666666*Sigh...*^000000 I don't even think she remembers that promise anymore. Then again, we were pretty young back then..."; + close; + } + else if (BaseJob == Job_Assassin) { + mes "[Assassin Expert 'Huey']"; + mes "Hey, I remember you~"; + mes "Wasn't your name, umm, I remember 'cause it sounded funny to me..."; + next; + mes "[Assassin Expert 'Huey']"; + mes ":+:" + strcharinfo(0) + ":+:, right? No wait, just "+ strcharinfo(0) +". Yeah, how's it goin'?"; + next; + mes "[Assassin Expert 'Huey']"; + mes "Unfortunately, I don't have any requests for you at this time from the guild. Just keep focusing on your training. Till then, see ya."; + close; + } + else if (BaseJob == Job_Thief && JobLevel > 39) { + if (SkillPoint) { + mes "[Ferocious-looking guy]"; + mes "You can't change your job if you still have unused skill points from First Job. You better use up those skill points first."; + close; + } + else { + mes "[Ferocious-looking guy]"; + mes "Hmm..."; + mes "A Thief...?"; + next; + mes "[Ferocious-looking guy]"; + mes "And a well-experienced Thief since I can't seem to find my wallet. We do need people like you, you know."; + next; + mes "[Ferocious-looking guy]"; + mes "So how about taking the next step and becoming an Assassin?"; + next; + switch(select("Yes. I've picked my last pocket.:What's the requirements?:Maybe later, I need to steal some things first.")) { + case 1: + mes "[Ferocious-looking guy]"; + mes "It's been a while since I've received a guest. I'm sending"; + mes "you to the office."; + close2; + set ASSIN_Q,0; + if(checkquest(8000) != -1) { + changequest 8000,8001; + }else{ + setquest 8001; + } + warp "in_moc_16",19,76; + end; + case 2: + mes "[Ferocious-looking guy]"; + mes "Requirements? Well, first you need to be a Thief. Second, you need to be at least Thief job level 40."; + next; + mes "[Ferocious-looking guy]"; + mes "And third, you need to pass a test to become an Assassin. You got"; + mes "all that? If you're sure of your ability as a Thief, you won't have to worry."; + close; + case 3: + mes "[Ferocious-looking guy]"; + mes "Hmm..."; + mes "Alright then."; + mes "But come back when"; + mes "you think you're ready."; + close; + } + } + } + else { + mes "[Ferocious-looking guy]"; + mes "Huh. You're not qualified to become an Assassin yet. There are requirements you need to meet first, you know."; + next; + mes "[Ferocious-looking guy]"; + mes "Well, keep training. You need to be at least job level 40, got it? But if you're above job level 40, that will probably be even better."; + close; + } + } +} + +in_moc_16,25,90,1 script Guildsman#ASN2 730,2,2,{ + mes "[Assassin 'Khai']"; + mes "Umm?!"; + Emotion e_gasp; + next; + mes "[Assassin 'Khai']"; + mes "Come closer. I prefer to talk to people face to face. It really irritates me if I have to raise my voice, just so you can hear me."; + mes "I feel irritated when somebody talks to me behind my back."; + close; + +OnTouch: + if (ASSIN_Q2 == 4) { + mes "[Assassin 'Khai']"; + mes "Ehhh?"; + mes "Didn't you just"; + mes "pass me a minute ago?"; + next; + mes "[Assassin 'Khai']"; + mes "Eh...?!"; + mes "You failed?"; + mes "Even on the"; + mes "writing test?"; + mes "Bwahahahahaha!"; + next; + mes "[Assassin 'Khai']"; + mes "Well..."; + mes "It's been a long time since"; + mes "I've met such a big failure."; + next; + mes "[Assassin 'Khai']"; + mes "HAH!"; + mes "Hahahahah~!"; + mes "Oh, you're killing me...."; + next; + mes "[Assassin 'Khai']"; + mes "Sorry for laughing, but this is hilarious! Hahaha~ So do you want me to give you some hints?"; + next; + switch(select("I beg you, give me hints.:Don't laugh at me! Now, give me hints!:...Shut up, I don't need your help!")) { + case 1: + mes "[Assassin 'Khai']"; + mes "Haaahahahaha!!!"; + mes "Well well, aren't we honest. You're not even an Assassin yet, but you're killing me, I tell you, killing me!"; + next; + mes "[The Anonymous One]"; + mes "Ho ho ho..."; + next; + mes "[Assassin 'Khai']"; + mes "Did you hear that Anonymous one?! 'I beg you, give me hints.' Hahahah!"; + next; + mes "[The Anonymous One]"; + mes "Yes."; + mes "This one is quite hilarious"; + mes "in a pathetic sort of way."; + next; + mes "[Assassin 'Khai']"; + mes "Hahahahahahah!"; + mes "Soooooo, you wanted"; + mes "some hints, right?"; + next; + mes "[Assassin 'Khai']"; + mes "..."; + next; + mes "[Assassin 'Khai']"; + mes "..."; + mes "......"; + next; + mes "[Assassin 'Khai']"; + mes "..."; + mes "......"; + mes "........."; + next; + mes "[Assassin 'Khai']"; + mes "..."; + mes "......"; + mes "........."; + mes "............"; + next; + mes "[Assassin 'Khai']"; + mes "..."; + mes "......"; + mes "........."; + mes "............"; + mes "..............."; + next; + mes "[Assassin 'Khai']"; + mes "Nah."; + mes "I changed my mind!"; + mes "I'm not gonna give you any hints after all. Hee hee hee~"; + close; + case 2: + mes "[Assassin 'Khai']"; + if (sex) { + mes "Huh. You must have a lot of self confidence to be a Thief nowadays."; + next; + mes "[Assassin 'Khai']"; + mes "Yeah yeah, I understand. Everyone messes up from time to time. Sorry for laughing at your mistakes."; + } + else + mes "Hmm. I like your attitude. You should keep your pride as a Thief. Sorry for laughing at your mistakes. I think you'll do better next time."; + next; + mes "[Assassin 'Khai']"; + mes "I'm not allowed to give you hints, I can tell you more about being an Assassin..."; + next; + mes "[Assassin 'Khai']"; + mes "Above all else, we value our dignity. We're Assassins, after all and people will need us."; + next; + mes "[Assassin 'Khai']"; + mes "If people are close to you in some way, they might not understand what I'm saying. We're born to be loners due to our nature."; + next; + mes "[Assassin 'Khai']"; + mes "Imagine if a lover or a friend saw the blood on your hands. There's a chance that they might not stay with you."; + next; + mes "[Assassin 'Khai']"; + mes "Sometimes it gets lonely but it's not that bad. At least I can do what I want to do, you know, and do things my way."; + next; + mes "[Assassin 'Khai']"; + mes "Well, that's all I can tell you for now. Does being an Assassin"; + mes "seem depressing to you?"; + close; + case 3: + mes "[Assassin 'Khai']"; + mes "...Hm."; + next; + mes "[Assassin 'Khai']"; + mes "Right, that's the spirit. Don't ever let anyone else look down"; + mes "on you. We're Assassins..."; + next; + mes "[Assassin 'Khai']"; + mes "I apologize for laughing at you earlier. I want you to remember to keep that sense of pride and dignity as an Assassin."; + next; + mes "[Assassin 'Khai']"; + mes "Along with keeping your pride,"; + mes "I want that you respect the blood that may stain your Katar or Dagger."; + next; + if (select("...Got you.:...I'm confused.") == 1) { + mes "[Assassin 'Khai']"; + mes "Yeah, I can trust you now. Let me give you some important tips."; + next; + switch(rand(1,3)) { + case 1: + mes "[Assassin 'Khai']"; + mes "First of all, Grimtooth is ...A skill specifically for the Katar. Therefore, it doesn't require any skills related to Dagger weapons."; + next; + mes "[Assassin 'Khai']"; + mes "Double attack ...Haven't you tried it? It allows you to attack an enemy twice at a time."; + next; + mes "[Assassin 'Khai']"; + mes "Red Blood is an elemental stone, Blue Gemstone doesn't have to do the Assassin job at all!"; + next; + mes "[Assassin 'Khai']"; + mes "Have you ever seen Mages hunt Elder willow using the Cold Bolt skill? Water overpowers Fire. Water puts Fire under control, and Wind puts water under control."; + next; + mes "[Assassin 'Khai']"; + mes "As long as you stick close to the shadows, by walls and things like that, Cloaking will hide you from sight perfectly! Unless some bastard uses a certain detecting skill, you know."; + next; + break; + case 2: + mes "[Assassin 'Khai']"; + mes "'Sharpened Legbone of Ghoul' possesses the Undead property."; + next; + mes "[Assassin 'Khai']"; + mes "What kind of weapon have you used so far? Damascus? Gladius? Stiletto? Or Main Gauche? What is that you're carrying now?"; + next; + mes "[Assassin 'Khai']"; + mes "It's possible to get a slotted Katar from Desert Wolf. Well, just keep that in mind. You will need this information someday."; + next; + mes "[Assassin 'Khai']"; + mes "You can gain a slotted Jur from a buddy living in a dark and damp place under the ground. Well, I have no idea why that dude has that weapon... Maybe he needs it to dig a hole?"; + next; + mes "[Assassin 'Khai']"; + mes "And..."; + mes "I've always wanted a frog as a pet. But it's impossible!"; + next; + mes "[Assassin 'Khai']"; + mes "As far as I know, a Goblin carrying a hammer possesses the Earth property. Keep in mind that Fire overcomes the Earth property."; + next; + mes "[Assassin 'Khai']"; + mes "You know elemental weapons? The names of Blacksmiths are engraved on them usually..."; + next; + break; + case 3: + mes "[Assassin 'Khai']"; + mes "Sell an Elder Willow Card to a Mage as soon as you can. They are mad about the card for some reason. Doesn't it increase the INT of a character? Hmmm..."; + next; + mes "[Assassin 'Khai']"; + mes "For us, Dodge and Attack is more important than defense. Don't ever think about wearing a helm. It's heavy, uncomfortable and will even block your sight."; + next; + mes "[Assassin 'Khai']"; + mes "'Increase Dodge' allows you to have +3% flee rate per skill lvl."; + next; + mes "[Assassin 'Khai']"; + mes "As I have told you repeatedly: Katar class weapons (Jamadhar/Jur/Katar etc) are two-handed!"; + next; + mes "[Assassin 'Khai']"; + mes "City of desert... I miss my hometown, Morroc. I haven't been there for a long time. I feel like I became a Thief a few days ago. Time flies so fast..."; + next; + mes "[Assassin 'Khai']"; + mes "Heh. I remember my Thief quest. I was so damn nervous when I broke into the farm to get Mushrooms..."; + next; + mes "[Assassin 'Khai']"; + mes "Insects detect hiding/cloaking skills. Their feelers never fail to find targets."; + next; + mes "[Assassin 'Khai']"; + mes "I've heard that the Baphomet Jr. Card adds +3 points to Agility and +1 point on Critical Attack..."; + next; + mes "[Assassin 'Khai']"; + mes "Yeah, we Assassins specialize in training Agility. We can gain a bonus of 10 Agility points even before mastering job level. The problem is it won't go up anymore after that, you know."; + next; + } + mes "[Assassin 'Khai']"; + mes "^666666*Phew*^000000 That's all I can tell you, though that's a lot of hints. I don't doubt that I told you almost everything."; + next; + mes "[Assassin 'Khai']"; + mes "Well then, go ask to take the test again with 'The Anonymous.'"; + close2; + warp "in_moc_16",19,144; + end; + } + mes "[Assassin 'Khai']"; + mes "^666666*Sigh...*^000000"; + mes "How can you not understand the concept of dignity? You just showed some to me just now!"; + next; + mes "[Assassin 'Khai']"; + mes "Oh, I get it. It wasn't pride you were showing, you were just being a jerk!"; + next; + mes "[Assassin 'Khai']"; + mes "Grrrrr..."; + mes "WARP PORTAL!"; + close2; + warp "c_tower4",64,76; + end; + } + } + else { + mes "[Assassin 'Khai']"; + mes "Oh, you must be an Assassin trainee. You are here to become"; + mes "an Assassin, aren't you?"; + next; + if (select("Yes, I am. :...No, I'm not.") == 1) { + mes "[Assassin 'Khai']"; + mes "Okay, good. Let's fill out the application form. Please sign your name and include your job level."; + next; + mes "[Assassin 'Khai']"; + mes "Let's see."; + mes "Your name is"; + mes "" + strcharinfo(0) + "..."; + mes "Job level " + JobLevel + "..."; + next; + if (JobLevel > 48) { + mes "[Assassin 'Khai']"; + mes "Wait, Job level " + JobLevel + "?! I can see you've been training pretty hard! My bosses will like this~"; + next; + mes "[Assassin 'Khai']"; + mes "Did you finish the form? Alright, go ahead and give it to me. Give me a second and I'll transport you to the Test Hall."; + next; + mes "[Assassin 'Khai']"; + mes "Alright then,"; + mes "best of luck to you!"; + close2; + set ASSIN_Q3,1; + set ASSIN_Q,1; + changequest 8001,8002; + warp "in_moc_16",19,144; + end; + } + else if (JobLevel < 49) { + mes "[Assassin 'Khai']"; + mes "Well, you passed"; + mes "the requirements."; + mes "Not bad at all."; + next; + mes "[Assassin 'Khai']"; + mes "Go ahead and give"; + mes "me the form when you're"; + mes "done filling it out."; + mes "Alright, thanks."; + next; + mes "[Assassin 'Khai']"; + mes "I'll transport you"; + mes "to the Test Hall."; + mes "Best of luck~"; + close2; + set ASSIN_Q3,2; + set ASSIN_Q,1; + changequest 8001,8002; + warp "in_moc_16",19,144; + end; + } + else { + mes "[Assassin 'Khai']"; + mes "Who the"; + mes "hell are you?"; + mes "...Guards!"; + close2; + warp "moc_fild16",206,229; + end; + } + } + else { + mes "[Assassin 'Khai']"; + mes "Huh...?"; + mes "What, are you trying to trick me or something? Don't you wanna be an Assassin?"; + next; + if (select("No.:Yes, I want to be an Assassin.") == 1) { + mes "[Assassin 'Khai']"; + mes "Eh, get outta here."; + mes "Stop wastin' my time..."; + close2; + set ASSIN_Q,0; + set ASSIN_Q3,0; + set ASSIN_Q2,0; + erasequest 8001; + warp "moc_fild16",206,229; + end; + } + mes "[Assassin 'Khai']"; + mes "..."; + mes "What the hell?"; + mes "Okay, then."; + next; + mes "[Assassin 'Khai']"; + mes "Fill out the application form with your name and job level."; + next; + mes "[Assassin 'Khai']"; + mes "" + strcharinfo(0) + "?"; + mes "That's your name?"; + mes "It sounds funny."; + mes "Let's see... Job Level " + JobLevel + "..."; + next; + if (JobLevel > 48) { + mes "[Assassin 'Khai']"; + mes "Ho? Job Level " + JobLevel + "?! You must have been training really hard. The bosses will like that for sure..."; + next; + mes "[Assassin 'Khai']"; + mes "Are you done filling out the form? Alright, give it to me so I can send you to the Test Hall. Good luck~"; + next; + set ASSIN_Q3,1; + set ASSIN_Q,1; + changequest 8001,8002; + warp "in_moc_16",19,144; + end; + } + else if (JobLevel < 49) { + mes "[Assassin 'Khai']"; + mes "Not bad. You fulfilled our requirements. Not bad at all. Now are you done filling out the form?"; + next; + mes "[Assassin 'Khai']"; + mes "Then give me the form so that I can send you to the Test Hall, alright?"; + mes "Good luck..."; + next; + set ASSIN_Q3,2; + set ASSIN_Q,1; + changequest 8001,8002; + warp "in_moc_16",19,144; + end; + } + else { + mes "[Assassin 'Khai']"; + mes "How the hell did"; + mes "you get in here?"; + mes "Get out!"; + close2; + warp "moc_fild16",206,229; + end; + } + } + } +} + +in_moc_16,19,154,0 script nameless_one -1,8,2,{ +OnTouch: + if (ASSIN_Q2 < 5) { + if (ASSIN_Q2 < 3) { + mes "[The Anonymous One]"; + mes "Welcome, guest."; + mes "Mwahaha, it's useless"; + mes "to try to find or see me..."; + next; + mes "[The Anonymous One]"; + mes "I am perfectly hidden!"; + mes "To become undetectable can only be done by the greatest Assassins!"; + next; + mes "[The Anonymous One]"; + mes "Aren't you scared that you can't see me? I could kill you at any time and it would be so easy..."; + next; + if (select("I think I crapped my pants!:You're all talk. I challenge you!") == 1) { + mes "[The Anonymous One]"; + mes "Now I see that"; + mes "you're nothing"; + mes "but a wimp."; + next; + mes "[The Anonymous One]"; + mes "Bwahahahahahah!"; + mes "Stop cowering in fear!"; + mes "It's making me laugh!"; + close; + } + mes "[The Anonymous One]"; + mes "So..."; + mes "You wish for"; + mes "a challenge?"; + mes "From me?!"; + next; + mes "[The Anonymous One]"; + mes "A river of blood follows my every footstep. I am nameless, for the sting of my blades is all anyone needs to know."; + next; + mes "[The Anonymous One]"; + mes "I am here to test your knowledge, as well as your capacity for heartlessness. Those are both necessary to become an Assassin."; + next; + mes "[The Anonymous One]"; + mes "For your challenge, you must"; + mes "answer my questions correctly. Very difficult questions that only an Assassin can answer."; + next; + mes "[The Anonymous One]"; + mes "Although I am heartless,"; + mes "I am not necessarily cruel. Before we proceed, is there anything you wish to know?"; + next; + set ASSIN_Q2,0; + while(ASSIN_Q2 < 3) { + switch(select("...Skills?:...Stats?:Hmpf, I know it all.")) { + case 1: + mes "[The Anonymous One]"; + mes "Skills...?"; + mes "Although skills can have circumstantial applications, I will tell you about the basic concepts."; + next; + mes "[The Anonymous One]"; + mes "First, ^3355FFKatar Mastery^000000. This skill increases the damage of Katar class weapons. The higher the skill level, the more damage is increased."; + next; + mes "[The Anonymous One]"; + mes "^3355FFLeft Hand Mastery^000000 and ^3355FFRight Hand Mastery^000000. Assassins can equip different weapons in each hand when using Dagger class weapons."; + next; + mes "[The Anonymous One]"; + mes "But it is obviously more difficult to handle 2 weapons at a time than using just one. The Left and Right Hand Mastery skills increase the damage when using two Daggers."; + next; + mes "[The Anonymous One]"; + mes "However, if you don't want to use two Daggers, you won't need this skill. You will see how 'Left Hand Mastery' works as soon as you reach 'Right Hand Mastery' Level 2."; + next; + mes "[The Anonymous One]"; + mes "^3355FFSonic Blow^000000 allows you to strike an enemy 8 times at once. This skill only works with Katar weapons because of the speed it requires."; + next; + mes "[The Anonymous One]"; + mes "Of course, the damage is affected by STR and weapon damage. You'll understand how this skill works when you reach Level 4 Katar Mastery."; + next; + mes "[The Anonymous One]"; + mes "^3355FFGrimtooth^000000 allows you to attack enemies while hiding under the ground. As you master it, you'll be able to attack foes from a distance."; + next; + mes "[The Anonymous One]"; + mes "Since it's a ranged attack, it can be very useful when you're surrounded by enemies."; + next; + mes "[The Anonymous One]"; + mes "Because you're required to perfectly hide yourself to use this skill, you must first learn Level 2 Cloaking before you can learn Grimtooth."; + next; + mes "[The Anonymous One]"; + mes "To learn ^3355FFCloaking^000000, you must learn Level 2 Hiding. Then you will be able to move while hiding if you are close to a wall."; + next; + mes "[The Anonymous One]"; + mes "The ^3355FFEnchant Poison^000000 skill allows you to enchant poison on the weapon you're using. This will temporarily give the weapon the Poison property."; + next; + mes "[The Anonymous One]"; + mes "This will also make your attacks poison the enemy by chance. You can also use this skill to enchant the weapons of your party members..."; + next; + mes "[The Anonymous One]"; + mes "^3355FFPoison React^000000 shields the user from attacks with the Poison property, and can be used on other people as well. However, you must learn Level 3 Enchant Poison first."; + next; + mes "[The Anonymous One]"; + mes "^3355FFVenom Dust^000000 consumes a Red Gemstone to contaminate an area with poison. The duration of contamination increases with the level of this skill."; + next; + mes "[The Anonymous One]"; + mes "You can learn the Venom Dust skill after you learn Level 5 Enchant Poison."; + next; + mes "[The Anonymous One]"; + mes "^3355FFVenom Splasher^000000 is a skill that, after it is used on a target, will cause it to explode when its HP is less than a certain amount after three seconds."; + next; + mes "[The Anonymous One]"; + mes "When the target explodes, the enemies in the vicinity are also damaged. This is an essential skill for Assassins. It requires Level 5 Poison React and Level 5 Venom Dust."; + next; + mes "[The Anonymous One]"; + mes "Now..."; + mes "That's all I have to tell you"; + mes "about Assassin skills."; + set ASSIN_Q2,1; + next; + break; + case 2: + mes "[The Anonymous One]"; + mes "Hmm, Stats..."; + mes "For Assassins, Agility, or AGI, is the most important stat."; + next; + mes "[The Anonymous One]"; + mes "For the sake of assassination, STR is probably the second most important stat. But that is only my recommendation."; + next; + mes "[The Anonymous One]"; + mes "I cannot give you better advice than that in regards to Stats. You should research and see which stats suit you, and decide what kind of Assassin you want to be."; + set ASSIN_Q2,2; + next; + break; + case 3: + if (ASSIN_Q2 == 0) { + mes "[The Anonymous One]"; + mes "Know everything do you?!"; + mes "I'll be the judge of that!"; + next; + } + set ASSIN_Q2,3; + break; + } + } + mes "[The Anonymous One]"; + mes "Hmpf. It is now time to test your knowledge. You are not allowed to miss more than one question."; + next; + mes "[The Anonymous One]"; + mes "In other words, if you want to pass this test, you must give me 9 correct answers out of 10 questions. I won't let you know which answer you got wrong..."; + next; + mes "[The Anonymous One]"; + mes "Are you ready?"; + mes "Prepare yourself!"; + } + else if (ASSIN_Q2 < 5) { + mes "[The Anonymous One]"; + mes "Having problems"; + mes "passing a simple test?"; + mes "You should have"; + mes "known better."; + next; + if (select("Help me, how do I pass?:I challenge you again!") == 1) { + mes "[The Anonymous One]"; + mes "Well, that's a damn good question. But you're banished from the Assassin Guild, so it's no concern of mine..."; + close2; + warp "moc_fild16",206,151; + end; + } + mes "[The Anonymous One]"; + mes "So I see..."; + mes "Now go, but do not fear. I will be by your side as you learn the outcome of your choice..."; + next; + mes "[The Anonymous One]"; + mes "Now, we shall test you once more! Keep in mind, you must answer 9 questions out of 10 correctly. Remember I am doing you a favor..."; + next; + mes "[The Anonymous One]"; + mes "You must answer 9 questions out of 10 correctly. If you miss more then one question, you can never become an Assassin."; + next; + mes "[The Anonymous One]"; + mes "Okay,"; + mes "are you ready?"; + mes "Good luck."; + } + next; + switch(rand(1,3)) { + case 1: + mes "[The Anonymous One]"; + mes "1. Choose skill that is not required to learn Grimtooth."; + next; + if (select("Cloaking level 2:Sonic Blow level 5:Katar Mastery level 4:Right hand Mastery level 2") == 4) + set .@assassin_t,.@assassin_t+10; + mes "[The Anonymous One]"; + mes "2. What property does Enchant Poison possess?"; + next; + if (select("Poison:Earth:Fire:Wind") == 1) + set .@assassin_t,.@assassin_t+10; + mes "[The Anonymous One]"; + mes "3. How does Level 4 Right Hand Mastery work?"; + next; + if (select("Recover 80% of damage decrease:Recover 90% of damage decrease:Increase 90% of damage:Increase 108% of damage") == 2) + set .@assassin_t,.@assassin_t+10; + mes "[The Anonymous One]"; + mes "4. What is the item required for using Venom Dust?"; + next; + if (select("Red Blood:Blue Gemstone:Yellow Gemstone:Red Gemstone") == 4) + set .@assassin_t,.@assassin_t+10; + mes "[The Anonymous One]"; + mes "5. Which skill can you learn when you reach Level 5 Enchant Poison?"; + next; + if (select("Envenom:Sonic Blow:Venom Splasher:Venom Dust") == 4) + set .@assassin_t,.@assassin_t+10; + mes "[The Anonymous One]"; + mes "6. Among the following skills, which allows you to walk while invisible?"; + next; + if (select("Hiding:Back Slide:Cloaking:Sand Attack") == 3) + set .@assassin_t,.@assassin_t+10; + mes "[The Anonymous One]"; + mes "7. Choose the condition that is unrelated to Venom Splasher."; + next; + if (select("Poisoned target.:Red Gemstone.:Remaing HP of Target.") == 2) + set .@assassin_t,.@assassin_t+10; + mes "[The Anonymous One]"; + mes "8. Which monster is weak to a weapon with Vadon card (adds 20% damage on Fire property monster)?"; + next; + if (select("Steel Chonchon:Deviruchi:Elder Willow:Baphomet") == 3) + set .@assassin_t,.@assassin_t+10; + mes "[The Anonymous One]"; + mes "9. How much SP does"; + mes "Double Attack need?"; + next; + if (select("15:It's a passive skill, so SP use is 0.:It's passive skill, so SP use is 10.:54") == 2) + set .@assassin_t,.@assassin_t+10; + mes "[The Anonymous One]"; + mes "10. What is the best elemental Main Gauche weapon for hunting in Izlude 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 "[The Anonymous One]"; + mes "1. Which monster"; + mes "drops a slotted Katar?"; + next; + if (select("Thief Bug:Peco Peco:Desert Wolf:Hammer Cobolt") == 3) + set .@assassin_t,.@assassin_t+10; + mes "[The Anonymous One]"; + mes "2. Which monster"; + mes "drops a slotted Jur?"; + next; + if (select("Martin:Desert Wolf:Marionette:Myst") == 1) + set .@assassin_t,.@assassin_t+10; + mes "[The Anonymous One]"; + mes "3. Which class is allowed to craft elemental weapons?"; + next; + if (select("Merchant:Blacksmith:Thief:Priest") == 2) + set .@assassin_t,.@assassin_t+10; + mes "[The Anonymous One]"; + mes "4. Choose the weapon which is not in the Katar class."; + next; + if (select("Jamadhar:Jur:Katar:Gladius") == 4) + set .@assassin_t,.@assassin_t+10; + mes "[The Anonymous One]"; + mes "5. What property do Izlude dungeon monsters posses?"; + next; + if (select("Water:Fire:Wind:Earth") == 1) + set .@assassin_t,.@assassin_t+10; + mes "[The Anonymous One]"; + mes "6. Which monster"; + mes "cannot be a Cute Pet?"; + next; + if (select("Poporing:Roda Frog:Smokie:Poison Spore") == 2) + set .@assassin_t,.@assassin_t+10; + mes "[The Anonymous One]"; + mes "7. Choose a monster that Fire property Daggers work the best on."; + next; + if (select("Dagger Goblin:Mace Goblin:Morning Star Goblin:Hammer Goblin") == 4) + set .@assassin_t,.@assassin_t+10; + mes "[The Anonymous One]"; + mes "8. Choose the non-elemental Katar from the following:"; + next; + if (select("Katar of Raging Blaze:Katar of Dusty Thornbush:Sharpened Legbone of Ghoul:Infiltrator") == 4) + set .@assassin_t,.@assassin_t+10; + mes "[The Anonymous One]"; + mes "9. Which is the uncommon monster?"; + next; + if (select("Poring:Mastering:Ghostring:Spore") == 3) + set .@assassin_t,.@assassin_t+10; + mes "[The Anonymous One]"; + mes "10. Choose the monster"; + mes "that is not Undead."; + next; + if (select("Drake:Megalodon:Spore:Khalitzburg") == 3) + set .@assassin_t,.@assassin_t+10; + break; + case 3: + mes "[The Anonymous One]"; + mes "1. Choose the correct amount of the maximum dodge rate increase from the 'Increase Dodge' skill when at level 10."; + next; + if (select("30:40:160:20") == 1) + set .@assassin_t,.@assassin_t+10; + mes "[The Anonymous One]"; + mes "2. Choose a monster which detects hiding/cloaking Thieves and Assassins."; + next; + if (select("Worm Tail:Andre:Mummy:Soldier Skeleton") == 2) + set .@assassin_t,.@assassin_t+10; + mes "[The Anonymous One]"; + mes "3. Choose a group of weapons that cannot be used by an Assassin at once."; + next; + if (select("Main Gaughe + Gladius:Stiletto + Main Gauche:Katar + Maingauche:Hammer + Stiletto") == 3) + set .@assassin_t,.@assassin_t+10; + mes "[The Anonymous One]"; + mes "4. Choose the town where Thieves can change their jobs."; + next; + if (select("Prontera:Lutie:Alberta:Morocc") == 4) + set .@assassin_t,.@assassin_t+10; + mes "[The Anonymous One]"; + mes "5. Choose a card that does not affect the AGI stat."; + next; + if (select("Baphomet Jr. card:Whisper Card:Female Thiefbug card:Male Thiefbug card") == 2) + set .@assassin_t,.@assassin_t+10; + mes "[The Anonymous One]"; + mes "6. Choose the correct specialty of the Assassin class."; + next; + if (select("Excellent singing talent:Excellent reading talent:Excellent dancing talent:Excellent dodge ability") == 4) + set .@assassin_t,.@assassin_t+10; + mes "[The Anonymous One]"; + mes "7. Choose the maximum AGI bonus an Assassin can get at job level 50."; + next; + if (select("7:8:9:10") == 4) + set .@assassin_t,.@assassin_t+10; + mes "[The Anonymous One]"; + mes "8. Choose the item that an Assassin cannot equip."; + next; + if (select("Dagger:Helm:Boots:Brooch") == 2) + set .@assassin_t,.@assassin_t+10; + mes "[The Anonymous One]"; + mes "9. Choose the job change item for Thief."; + next; + switch(select("Orange Gooey Mushroom:Red Gooey Mushroom:Orange Net Mushroom:Orange Hair Mushroom")) { + case 1: + case 3: + set .@assassin_t,.@assassin_t+10; + break; + default: + break; + } + mes "[The Anonymous One]"; + mes "10. Choose a card that would typically benefit an Assassin the least."; + next; + if (select("Whisper card:Elder Willow card:Soldier Skeleton card:Cobold card") == 2) + set .@assassin_t,.@assassin_t+10; + break; + } + if (ASSIN_Q2 == 3) { + next; + mes "[The Anonymous One]"; + mes "Hmpf."; + mes "Somehow, you"; + mes "have shown me"; + mes "great effort."; + next; + mes "[The Anonymous One]"; + mes "Let's see..."; + mes "You scored"; + mes "" + .@assassin_t + " percent..."; + if (.@assassin_t > 80) { + set ASSIN_Q2,5; + changequest 8002,8003; + mes "Well done."; + mes "You pass."; + next; + mes "[The Anonymous One]"; + mes "However, another test awaits you. When you go inside the next area, you will receive your instructions..."; + close; + } + else { + set ASSIN_Q2,4; + mes "That means you fail!"; + next; + mes "[The Anonymous One]"; + mes "How could you expect to be an Assassin with this score? Keep training and come back when you're ready."; + next; + mes "[The Anonymous One]"; + mes "I would ask 'Khai,' the one who processed your application, for advice."; + next; + mes "[The Anonymous One]"; + mes "You may also use this code: ^880000iro.ragnarokonline.com^000000. Somehow, those words are linked to a vast body of otherworldly knowledge..."; + close2; + warp "in_moc_16",19,76; + end; + } + } + else if (ASSIN_Q2 == 4) { + next; + mes "[The Anonymous One]"; + mes "You showed"; + mes "great effort..."; + next; + mes "[The Anonymous One]"; + mes "Let's see..."; + mes "You scored"; + mes "" + .@assassin_t + " points..."; + if (.@assassin_t > 80) { + set ASSIN_Q2,5; + changequest 8002,8003; + next; + mes "[The Anonymous One]"; + mes "You didn't fail this time! But you're not done just yet. You have another test ahead of you. Once you proceed, you will be informed about your next trial."; + close; + } + else { + set ASSIN_Q2,4; + mes "You failed!"; + next; + mes "[The Anonymous One]"; + mes "You're too underqualified. How can you even think about becoming an Assassin?!"; + next; + mes "[The Anonymous One]"; + mes "I'm surprised that you were even able to become a Thief. Go away, and come back only when you know what the hell you're doing."; + next; + mes "[The Anonymous One]"; + mes "Hmpf, if you really don't have a clue, I will give you a little advice."; + next; + mes "[The Anonymous One]"; + mes "Go ask 'Khai,' the guy who takes care of your test application, maybe he will help you."; + next; + mes "[The Anonymous One]"; + mes "You may also wish to take advantage of the ancient code, ^3355FFiro.ragnarokonline.com^000000. Supposedly, those words are linked to a vast body of otherworldly knowledge..."; + close2; + warp "in_moc_16",19,76; + end; + } + } + } + else { + mes "[The Anonymous One]"; + mes "...I will keep watching you."; + close; + } +} + +in_moc_16,21,165,2 script Standby Room#ASNTEST 725,{ + end; + +OnInit: + disablenpc "Standby Room#ASNTEST"; + waitingroom "Standby Room",10,"Standby Room#ASNTEST::OnStartArena",1; + enablewaitingroomevent; + end; + +OnStartArena: + warpwaitingpc "in_moc_16", 66, 151; + attachrid($@warpwaitingpc[0]); + if(ASSIN_Q2<5) + { + warpchar "in_moc_16",20,145,getcharid(0); + end; + } + + donpcevent "Beholder#ASNTEST::OnEnable"; + donpcevent "Keeper of the Door#ASN::OnDisable"; + set getvariableofnpc(.DisableTraps,"Beholder#ASNTEST"),0; + disablewaitingroomevent; + end; + +OnStart: + enablewaitingroomevent; + end; +} + +in_moc_16,21,165,2 script Test Guide#ASN 725,4,4,{ + end; + +OnTouch: + if (ASSIN_Q2 < 5) { + mes "[Barcardi]"; + mes "You can't take the next trial without passing the written test first. You better speak to the Anonymous One..."; + close2; + warp "in_moc_16",19,76; + end; + } + if (ASSIN_Q == 1 && ASSIN_Q2 == 5) { + mes "[Barcardi]"; + mes "" + strcharinfo(0) + "..."; + mes "You passed the test..?"; + next; + mes "[Barcardi]"; + mes "To be honest, I want to grant you the job change without any other condition. Too many pathetic people don't even have the basic knowledge to be Assassins..."; + next; + mes "[Barcardi]"; + mes "We must keep our dignity as Assassins and be truly great! Regrettably, there are too many idiots that don't have any pride."; + next; + mes "[Barcardi]"; + mes "All Assassins must respect the enemies they slay, the blood that they spill, and above all, maintain their sense of dignity!"; + next; + mes "[Barcardi]"; + mes "Alright. This next trial will test your ability to quickly find your target."; + next; + mes "[Barcardi]"; + mes "If you're going to be an Assassin, we need to determine whether or not you can distinguish friend from foe in an instant."; + next; + mes "[Barcardi]"; + mes "The main goal of this test is to find and kill as many monsters named ^008800Job change target^000000 as possible."; + next; + mes "[Barcardi]"; + mes "You must kill at least"; + mes "6 ^008800Job change target^000000 monsters. They're intermingled among similar looking monsters, so you need to be careful..."; + next; + mes "[Barcardi]"; + mes "If you fail, you'll have to restart this test. Go to the room above"; + mes "me to be transported to the Test Hall."; + next; + mes "[Barcardi]"; + mes "Only one person is allowed to take the test at a time, so if anyone is taking the test, you'll have to wait until that person finishes."; + close; + } + else { + mes "[Barcardi]"; + mes "Hey, don't be too hard"; + mes "on yourself. Cheer up!"; + next; + mes "[Barcardi]"; + mes "Hmm, if you're exhausted, I'm willing to bring you back. Of course, if you leave, you'll have to take the job test over again. So what do you want to do?"; + next; + if (select("Continue!:Quit the job change test for now.") == 1) { + mes "[Barcardi]"; + mes "Good choice!"; + mes "Remember, you"; + mes "must find and kill"; + mes "6 ^008800Job change target^000000 monsters!"; + mes "Good luck!"; + close; + } + mes "[Barcardi]"; + mes "Alright..."; + mes "I guess you"; + mes "could use a break..."; + close2; + set ASSIN_Q,0; + set ASSIN_Q3,0; + set ASSIN_Q2,0; + changequest 8003,8000; + warp "in_moc_16",19,13; + end; + } +} + +in_moc_16,1,1,0 script Beholder#ASNTEST -1,{ + end; + +OnEnable: + set .MyMobs,6; + // Target mobs + monster "in_moc_16",62,161,"Job change target",1002,1,"Beholder#ASNTEST::OnMyMobDead"; + monster "in_moc_16",85,169,"Job change target",1063,1,"Beholder#ASNTEST::OnMyMobDead"; + monster "in_moc_16",88,152,"Job change target",1002,1,"Beholder#ASNTEST::OnMyMobDead"; + monster "in_moc_16",90,143,"Job change target",1113,1,"Beholder#ASNTEST::OnMyMobDead"; + monster "in_moc_16",74,167,"Job change target",1031,1,"Beholder#ASNTEST::OnMyMobDead"; + monster "in_moc_16",77,173,"Job change target",1002,1,"Beholder#ASNTEST::OnMyMobDead"; + // Decoy mobs + monster "in_moc_16",62,161,"Job change creature",1063,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",85,169,"Job change creature",1031,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",79,174,"Job change creature",1113,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",85,156,"Job change creature",1063,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",74,171,"Job change monster",1002,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",68,173,"Job change dummy",1113,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",65,158,"Battle test target",1002,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",60,158,"Warrior test target",1113,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",64,169,"Job change targets",1002,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",71,173,"Jobs change target",1063,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",77,172,"Please don't hit me",1002,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",76,172,"Job change sample",1063,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",75,172,"Not me",1113,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",67,167,"I got yours right here",1063,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",86,170,"Job changes target",1031,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",86,171,"Job quest target",1002,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",85,170,"Job target change",1113,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",89,171,"Hit me",1063,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",85,170,"Battle Monster",1031,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",89,156,"Bouncer",1002,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",89,156,"Mungamorp",1113,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",89,156,"Battle test target",1063,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",89,156,"Dew of the Battle field",1113,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",89,156,"Tear of test",1031,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",83,169,"Evil Druid",1002,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",63,158,"Doppelganger",1063,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",63,157,"Job change dummy",1002,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",64,159,"Job ready dummy",1002,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",63,159,"Job change ready",1063,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",63,159,"Archer test target",1002,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",63,159,"Swordman test target",1002,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",83,148,"Thief test target",1002,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",82,148,"Acolyte test target",1002,1,"Beholder#ASNTEST::OnMyMobDead2"; + monster "in_moc_16",84,148,"Merchant test target",1002,1,"Beholder#ASNTEST::OnMyMobDead2"; + initnpctimer; + end; + +OnReset: + killmonster "in_moc_16","Beholder#ASNTEST::OnMyMobDead"; + killmonster "in_moc_16","Beholder#ASNTEST::OnMyMobDead2"; + stopnpctimer; + donpcevent "Standby Room#ASNTEST::OnStart"; + end; + +OnResetmob: + killmonster "in_moc_16","Beholder#ASNTEST::OnMyMobDead"; + killmonster "in_moc_16","Beholder#ASNTEST::OnMyMobDead2"; + stopnpctimer; + end; + +OnMyMobDead: + set .MyMobs,.MyMobs-1; + if (.MyMobs < 1) { + mapannounce "in_moc_16","You seem to be doing quite well. Keep it up!",bc_map; + set ASSIN_Q,3; + changequest 8003,8004; + donpcevent "timestopper#1::OnEnable"; + donpcevent "Keeper of the Door#ASN::OnEnable"; + donpcevent "Beholder#ASNTEST::OnResetmob"; + set .DisableTraps,1; + stopnpctimer; + } + else { + mapannounce "in_moc_16","Okay, you're doing good! Hang in there, you're almost there!",bc_map; + } + end; + +OnMyMobDead2: + mapannounce "in_moc_16",strcharinfo(0) + "! You made a mistake! I'm bringing you back!",bc_map; + set ASSIN_Q,2; + warp "in_moc_16",19,161; + donpcevent "Beholder#ASNTEST::OnReset"; + end; + +OnTimer1000: + mapannounce "in_moc_16"," Okay, let the test begin!",bc_map; + end; + +OnTimer2000: + mapannounce "in_moc_16","As you've been told before, find and only kill monsters named 'Job change target!'",bc_map; + end; + +OnTimer3000: + mapannounce "in_moc_16","The purpose of this test is to examine your ability to quickly distinguish enemies from other people!",bc_map; + end; + +OnTimer4000: + mapannounce "in_moc_16","You will have 3 minutes for the test! We will inform you of every minute passed.",bc_map; + end; + +OnTimer5000: + mapannounce "in_moc_16","Ok, now you've got exactly 3 minutes. Move! Move!",bc_map; + end; + +OnTimer65000: + mapannounce "in_moc_16","2 minutes left. As I've told you, get the 'Job change target' monsters!",bc_map; + end; + +OnTimer125000: + mapannounce "in_moc_16","1 minute left.",bc_map; + end; + +OnTimer180000: + mapannounce "in_moc_16","5 seconds left...",bc_map; + end; + +OnTimer181000: + mapannounce "in_moc_16","4 seconds left...",bc_map; + end; + +OnTimer182000: + mapannounce "in_moc_16","3 seconds left...",bc_map; + end; + +OnTimer183000: + mapannounce "in_moc_16","2 seconds left...",bc_map; + end; + +OnTimer184000: + mapannounce "in_moc_16","1 second left.",bc_map; + end; + +OnTimer185000: + mapannounce "in_moc_16","Time's up!",bc_map; + mapannounce "in_moc_16","Well, good job... If you wanted to waste your time. You'll have to try again!",bc_map; + //set ASSIN_Q,2; + end; + +OnTimer186000: + areawarp "in_moc_16",60,136,93,177,"in_moc_16",19,161; + end; + +OnTimer187000: + donpcevent "Beholder#ASNTEST::OnReset"; + end; +} + +in_moc_16,68,158,0 script 01_1::SinTrap -1,0,0,{ +OnTouch: + if (getvariableofnpc(.DisableTraps,"Beholder#ASNTEST") < 1) { + mapannounce "in_moc_16",strcharinfo(0) + ", you're trapped. You will be sent back.",bc_map; + set ASSIN_Q,2; + warp "in_moc_16",19,161; + donpcevent "Beholder#ASNTEST::OnResetmob"; + donpcevent "Standby Room#ASNTEST::OnStart"; + } + end; +} + +in_moc_16,69,158,0 duplicate(SinTrap) 01_2 -1,0,0 +in_moc_16,68,159,0 duplicate(SinTrap) 01_3 -1,0,0 +in_moc_16,69,159,0 duplicate(SinTrap) 01_4 -1,0,0 +in_moc_16,64,162,0 duplicate(SinTrap) 02_1 -1,0,0 +in_moc_16,65,162,0 duplicate(SinTrap) 02_2 -1,0,0 +in_moc_16,64,163,0 duplicate(SinTrap) 02_3 -1,0,0 +in_moc_16,65,163,0 duplicate(SinTrap) 02_4 -1,0,0 +in_moc_16,62,168,0 duplicate(SinTrap) 03_1 -1,0,0 +in_moc_16,63,168,0 duplicate(SinTrap) 03_2 -1,0,0 +in_moc_16,62,169,0 duplicate(SinTrap) 03_3 -1,0,0 +in_moc_16,63,169,0 duplicate(SinTrap) 03_4 -1,0,0 +in_moc_16,66,170,0 duplicate(SinTrap) 04_1 -1,0,0 +in_moc_16,67,170,0 duplicate(SinTrap) 04_2 -1,0,0 +in_moc_16,66,171,0 duplicate(SinTrap) 04_3 -1,0,0 +in_moc_16,67,171,0 duplicate(SinTrap) 04_4 -1,0,0 +in_moc_16,64,174,0 duplicate(SinTrap) 05_1 -1,0,0 +in_moc_16,64,175,0 duplicate(SinTrap) 05_2 -1,0,0 +in_moc_16,65,174,0 duplicate(SinTrap) 05_3 -1,0,0 +in_moc_16,65,175,0 duplicate(SinTrap) 05_4 -1,0,0 +in_moc_16,72,174,0 duplicate(SinTrap) 06_1 -1,0,0 +in_moc_16,72,175,0 duplicate(SinTrap) 06_2 -1,0,0 +in_moc_16,73,174,0 duplicate(SinTrap) 06_3 -1,0,0 +in_moc_16,73,175,0 duplicate(SinTrap) 06_4 -1,0,0 +in_moc_16,72,166,0 duplicate(SinTrap) 07_1 -1,0,0 +in_moc_16,72,167,0 duplicate(SinTrap) 07_2 -1,0,0 +in_moc_16,73,166,0 duplicate(SinTrap) 07_3 -1,0,0 +in_moc_16,73,167,0 duplicate(SinTrap) 07_4 -1,0,0 +in_moc_16,72,168,0 duplicate(SinTrap) 08_1 -1,0,0 +in_moc_16,72,169,0 duplicate(SinTrap) 08_2 -1,0,0 +in_moc_16,73,168,0 duplicate(SinTrap) 08_3 -1,0,0 +in_moc_16,73,169,0 duplicate(SinTrap) 08_4 -1,0,0 +in_moc_16,78,168,0 duplicate(SinTrap) 09_1 -1,0,0 +in_moc_16,78,169,0 duplicate(SinTrap) 09_2 -1,0,0 +in_moc_16,79,168,0 duplicate(SinTrap) 09_3 -1,0,0 +in_moc_16,79,169,0 duplicate(SinTrap) 09_4 -1,0,0 +in_moc_16,80,172,0 duplicate(SinTrap) 10_1 -1,0,0 +in_moc_16,81,172,0 duplicate(SinTrap) 10_2 -1,0,0 +in_moc_16,82,172,0 duplicate(SinTrap) 10_3 -1,0,0 +in_moc_16,83,172,0 duplicate(SinTrap) 10_4 -1,0,0 +in_moc_16,80,173,0 duplicate(SinTrap) 10_5 -1,0,0 +in_moc_16,81,173,0 duplicate(SinTrap) 10_6 -1,0,0 +in_moc_16,82,173,0 duplicate(SinTrap) 10_7 -1,0,0 +in_moc_16,83,173,0 duplicate(SinTrap) 10_8 -1,0,0 +in_moc_16,88,174,0 duplicate(SinTrap) 11_1 -1,0,0 +in_moc_16,88,175,0 duplicate(SinTrap) 11_2 -1,0,0 +in_moc_16,89,174,0 duplicate(SinTrap) 11_3 -1,0,0 +in_moc_16,89,175,0 duplicate(SinTrap) 11_4 -1,0,0 +in_moc_16,86,166,0 duplicate(SinTrap) 12_1 -1,0,0 +in_moc_16,86,167,0 duplicate(SinTrap) 12_2 -1,0,0 +in_moc_16,87,166,0 duplicate(SinTrap) 12_3 -1,0,0 +in_moc_16,87,167,0 duplicate(SinTrap) 12_4 -1,0,0 +in_moc_16,90,164,0 duplicate(SinTrap) 13_1 -1,0,0 +in_moc_16,90,165,0 duplicate(SinTrap) 13_2 -1,0,0 +in_moc_16,91,164,0 duplicate(SinTrap) 13_3 -1,0,0 +in_moc_16,91,165,0 duplicate(SinTrap) 13_4 -1,0,0 +in_moc_16,84,160,0 duplicate(SinTrap) 14_1 -1,0,0 +in_moc_16,85,160,0 duplicate(SinTrap) 14_2 -1,0,0 +in_moc_16,86,160,0 duplicate(SinTrap) 14_3 -1,0,0 +in_moc_16,87,160,0 duplicate(SinTrap) 14_4 -1,0,0 +in_moc_16,88,160,0 duplicate(SinTrap) 14_5 -1,0,0 +in_moc_16,89,160,0 duplicate(SinTrap) 14_6 -1,0,0 +in_moc_16,84,161,0 duplicate(SinTrap) 14_7 -1,0,0 +in_moc_16,85,161,0 duplicate(SinTrap) 14_8 -1,0,0 +in_moc_16,86,161,0 duplicate(SinTrap) 14_9 -1,0,0 +in_moc_16,87,161,0 duplicate(SinTrap) 14_10 -1,0,0 +in_moc_16,88,161,0 duplicate(SinTrap) 14_11 -1,0,0 +in_moc_16,89,161,0 duplicate(SinTrap) 14_12 -1,0,0 +in_moc_16,86,154,0 duplicate(SinTrap) 15_1 -1,0,0 +in_moc_16,86,155,0 duplicate(SinTrap) 15_2 -1,0,0 +in_moc_16,87,154,0 duplicate(SinTrap) 15_3 -1,0,0 +in_moc_16,87,155,0 duplicate(SinTrap) 15_4 -1,0,0 +in_moc_16,84,150,0 duplicate(SinTrap) 16_1 -1,0,0 +in_moc_16,84,151,0 duplicate(SinTrap) 16_2 -1,0,0 +in_moc_16,85,150,0 duplicate(SinTrap) 16_3 -1,0,0 +in_moc_16,85,151,0 duplicate(SinTrap) 16_4 -1,0,0 +in_moc_16,90,150,0 duplicate(SinTrap) 17_1 -1,0,0 +in_moc_16,90,151,0 duplicate(SinTrap) 17_2 -1,0,0 +in_moc_16,91,150,0 duplicate(SinTrap) 17_3 -1,0,0 +in_moc_16,91,151,0 duplicate(SinTrap) 17_4 -1,0,0 +in_moc_16,86,146,0 duplicate(SinTrap) 18_1 -1,0,0 +in_moc_16,86,147,0 duplicate(SinTrap) 18_2 -1,0,0 +in_moc_16,87,146,0 duplicate(SinTrap) 18_3 -1,0,0 +in_moc_16,87,147,0 duplicate(SinTrap) 18_4 -1,0,0 + +in_moc_16,87,137,0 script Keeper of the Door#ASN 45,2,1,{ +OnInit: + disablenpc "Keeper of the Door#ASN"; + end; + +OnTouch: + donpcevent "Thomas#ASNTEST::OnDisable"; + if (ASSIN_Q == 3) + set ASSIN_Q,3; + else + set ASSIN_Q,4; + warp "in_moc_16",87,102; + savepoint "in_moc_16",16,13; + end; + +OnEnable: + mapannounce "in_moc_16","The door to the next room, at coordinates 87 137, has opened.",bc_map; + enablenpc "Keeper of the Door#ASN"; + end; + +OnDisable: + disablenpc "Keeper of the Door#ASN"; + end; +} + +in_moc_16,3,3,0 script timestopper#1 -1,{ +OnEnable: + initnpctimer; + end; + +OnTimer187000: + donpcevent "Thomas#ASNTEST::OnDisable"; + stopnpctimer; + end; + +OnDisable: + stopnpctimer; + end; + +OnMyMobDead: + mapannounce "in_moc_16","Hey, what the hell was that?! I told you: No killing monsters!",bc_map; + mapannounce "in_moc_16","I'm bringing you back... *Sigh...*",bc_map; + set ASSIN_Q,3; + warp "in_moc_16",87,102; + killmonsterall "in_moc_16"; + end; +} + +in_moc_16,89,98,1 script Thomas#ASNTEST 118,5,1,{ + end; + +OnTouch: + if (ASSIN_Q == 4) { + mes "[Thomas]"; + mes "Damn...! You look like you're in a lot of pain. ^666666*Sigh*^000000 Give me a second, let me try to restore your HP and SP..."; + percentheal 100,100; + next; + mes "[Thomas]"; + mes "It looks like you're having a tough time. You're either trying too hard, or not trying hard"; + mes "enough, kid."; + next; + switch(select("I'm gonna try it again!:I... I quit!")) { + case 1: + mes "[Thomas]"; + mes "Hmm. Well, okay."; + mes "Good luck out there."; + close; + case 2: + mes "[Thomas]"; + mes "Huh..."; + mes "Quit the test, eh? Well, I guess you don't wanna waste any more of our time."; + next; + mes "[Thomas]"; + mes "Oh hey, don't forget to save your respawn point in town."; + close2; + mapannounce "in_moc_16",strcharinfo(0) + " got scared and quit the test...Who's Next?!",bc_map; + set ASSIN_Q,0; + set ASSIN_Q2,0; + set ASSIN_Q3,0; + changequest 8004,8000; + savepoint "in_moc_16",18,14; + warp "in_moc_16",18,14; + donpcevent "Standby Room#ASNTEST::OnStart"; + end; + } + } + + mes "[Thomas]"; + mes "Hey, I'm Thomas. I'm in charge of testing your use of the hiding skill. Think you're up to it?"; + next; + mes "[Thomas]"; + mes "Listen. In this test, you can't kill any monsters. Your goal is to reach 'Barcardi' at the opposite side of this room."; + next; + mes "[Thomas]"; + mes "So basically, get to the other side of this room and meet 'Barcardi' without killing a single monster. Understand?"; + next; + mes "[Thomas]"; + mes "If you run away, get a nose bleed and pass out or something like that, I'll fail ya'. Enough talk. Let's see what you got."; + close2; + set ASSIN_Q,4; + + monster "in_moc_16",81,77,"Mummy",1041,1,"timestopper#1::OnMyMobDead"; + monster "in_moc_16",82,77,"Mummy",1041,1,"timestopper#1::OnMyMobDead"; + monster "in_moc_16",83,77,"Mummy",1041,1,"timestopper#1::OnMyMobDead"; + monster "in_moc_16",84,77,"Mummy",1041,1,"timestopper#1::OnMyMobDead"; + monster "in_moc_16",85,77,"Mummy",1041,1,"timestopper#1::OnMyMobDead"; + monster "in_moc_16",86,77,"Mummy",1041,1,"timestopper#1::OnMyMobDead"; + monster "in_moc_16",88,77,"Mummy",1041,1,"timestopper#1::OnMyMobDead"; + monster "in_moc_16",89,77,"Mummy",1041,1,"timestopper#1::OnMyMobDead"; + monster "in_moc_16",90,77,"Mummy",1041,1,"timestopper#1::OnMyMobDead"; + monster "in_moc_16",77,77,"Mummy",1041,1,"timestopper#1::OnMyMobDead"; + monster "in_moc_16",78,56,"Mummy",1041,1,"timestopper#1::OnMyMobDead"; + monster "in_moc_16",79,56,"Mummy",1041,1,"timestopper#1::OnMyMobDead"; + monster "in_moc_16",80,56,"Mummy",1041,1,"timestopper#1::OnMyMobDead"; + monster "in_moc_16",81,56,"Mummy",1041,1,"timestopper#1::OnMyMobDead"; + monster "in_moc_16",91,55,"Mummy",1041,1,"timestopper#1::OnMyMobDead"; + monster "in_moc_16",92,56,"Mummy",1041,1,"timestopper#1::OnMyMobDead"; + monster "in_moc_16",93,56,"Mummy",1041,1,"timestopper#1::OnMyMobDead"; + monster "in_moc_16",94,56,"Mummy",1041,1,"timestopper#1::OnMyMobDead"; + monster "in_moc_16",95,56,"Mummy",1041,1,"timestopper#1::OnMyMobDead"; + monster "in_moc_16",96,56,"Mummy",1041,1,"timestopper#1::OnMyMobDead"; + monster "in_moc_16",97,56,"Mummy",1041,1,"timestopper#1::OnMyMobDead"; + monster "in_moc_16",76,62,"Hydra",1068,1,"timestopper#1::OnMyMobDead"; + monster "in_moc_16",79,62,"Hydra",1068,1,"timestopper#1::OnMyMobDead"; + monster "in_moc_16",79,65,"Hydra",1068,1,"timestopper#1::OnMyMobDead"; + monster "in_moc_16",76,65,"Hydra",1068,1,"timestopper#1::OnMyMobDead"; + monster "in_moc_16",96,62,"Hydra",1068,1,"timestopper#1::OnMyMobDead"; + monster "in_moc_16",96,65,"Hydra",1068,1,"timestopper#1::OnMyMobDead"; + monster "in_moc_16",99,62,"Hydra",1068,1,"timestopper#1::OnMyMobDead"; + monster "in_moc_16",99,65,"Hydra",1068,1,"timestopper#1::OnMyMobDead"; + end; + +OnDisable: + donpcevent "Standby Room#ASNTEST::OnStart"; + killmonsterall "in_moc_16"; + end; +} + +in_moc_16,87,48,2 script Barcardi#ASN 725,2,2,{ +OnTouch: + donpcevent "timestopper#1::OnDisable"; + donpcevent "Thomas#ASNTEST::OnDisable"; + mes "[Barcardi]"; + mes "Oh! Congratulations!"; + mes "You may now proceed to our Guildmaster's room. Good luck!!"; + close2; + set ASSIN_Q,5; + changequest 8004,8005; + warp "in_moc_16",181,183; + end; +} + +in_moc_16,182,169,0 script Maze Assistant 45,1,1,{ +OnTouch: + if (ASSIN_Q == 5 || ASSIN_Q == 6) { + warp "in_moc_16",181,183; + set ASSIN_Q,ASSIN_Q+1; + changequest 8005,8006; + } + else { + mapannounce "in_moc_16",strcharinfo(0)+" has entered 'Guildmaster's room.'",bc_map; + savepoint "in_moc_16",181,183; + donpcevent "Guildmaster#ASN2::OnDisable"; + warp "in_moc_16",167,113; + end; + } +} + +in_moc_16,167,110,0 script Guildmaster#ASN1 -1,3,1,{ +OnTouch: + savepoint "in_moc_16",167,110; + mes "[Guildmaster]"; + mes "Welcome. "; + mes "This place is called the 'Guildmaster's room,' the deepest place in the Assassin guild."; + next; + mes "[Guildmaster]"; + mes "I'm going to give you a simple test. Please find your way through this maze and come to me. It is this maze that protects our guild from intruders."; + next; + mes "[Guildmaster]"; + mes "I look forward"; + mes "to meeting you"; + mes "at the end of maze."; + close; + +OnDisable: + mapannounce "in_moc_16","...Next volunteer, please come in.",bc_map; + end; +} + +in_moc_16,149,80,4 script Guildmaster#ASN2 106,1,1,{ +OnTouch: + savepoint "morocc",100,100; + if (ASSIN_Q == 7 && BaseJob == Job_Thief) { + set ASSIN_Q,8; + mes "[Guildmaster]"; + mes "Welcome."; + mes "I apologize for"; + mes "making you go"; + mes "through the maze."; + next; + mes "[Guildmaster]"; + mes "I saw your resume just now. You're well known as a Thief with guts. Rarely do we receive potential Assassins of your stature."; + next; + mes "[Guildmaster]"; + mes "May I ask you some questions if you don't mind? You don't have to be nervous. Just remember: if you lie, I will kill you."; + next; + mes "[Guildmaster]"; + mes "First off, what do you think is the priority of an Assassin?"; + next; + switch(select("More power.:An Assassin's pride.:Endless practice.")) { + case 1: + mes "[Guildmaster]"; + mes "More power..."; + mes "Yes, you may think"; + mes "of Assassins as much"; + mes "stronger than Thieves."; + next; + mes "[Guildmaster]"; + mes "However, for what reason do you wish for more power? To show off? Personal revenge? For what purpose will you use this power?"; + next; + mes "[Guildmaster]"; + mes "Why do you want"; + mes "to be stronger"; + mes "than you are now?"; + next; + switch(select("Revenge...!:Money~:I want to travel.")) { + case 1: + set ASSIN_Q,8; + mes "[Guildmaster]"; + mes "Revenge...?"; + mes "Yes, I understand. All of us hold grudges against someone else eventually."; + next; + mes "[Guildmaster]"; + mes "However, keep in mind that we are not allowed to be emotionally attached. Carry out your duties without question. That is our way."; + next; + mes "[Guildmaster]"; + mes "Being an Assassin means"; + mes "to abandon the ego."; + next; + break; + case 2: + set ASSIN_Q,9; + mes "[Guildmaster]"; + mes "Financial reasons...? I won't deny that we all need money to live. But being Assassin means living for a higher purpose."; + next; + mes "[Guildmaster]"; + mes "Being an Assassin means"; + mes "to abandon such worldly"; + mes "attachments..."; + next; + break; + case 3: + set ASSIN_Q,10; + mes "[Guildmaster]"; + mes "Good idea. Traveling around the world will allow you to broaden your experiences."; + next; + mes "[Guildmaster]"; + mes "Most of us tend to avoid gathering into groups though, but I'm sure you already caught that, yes?"; + next; + mes "[Guildmaster]"; + mes "In a way, being an Assassin is to live life in loneliness..."; + next; + break; + } + break; + case 2: + mes "[Guildmaster]"; + mes "An Assassin's pride..."; + mes "Did other Assassins tell you that...?"; + next; + mes "[Guildmaster]"; + mes "Pride is certainly important, but pride is worth nothing if you do not have any ability."; + next; + mes "[Guildmaster]"; + mes "Most of the Assassins you've met before me are brethren that have shared many difficult times together."; + next; + mes "[Guildmaster]"; + mes "I can understand why their pride and dignity would be so important to them. Now, for what reason do you wish to become an Assassin?"; + next; + switch(select("I like the solitude.:Making money being an Assassin.:They just look interesting.")) { + case 1: + set ASSIN_Q,11; + mes "[Guildmaster]"; + mes "You got the point..."; + mes "We are lonely. We will always be alone, even amongst each other..."; + next; + mes "[Guildmaster]"; + mes "In a way, being"; + mes "an Assassin equals"; + mes "nothing, I would say."; + next; + mes "[Guildmaster]"; + mes "But, as I told you before, we have comrades. I recommend having at least one comrade to back up you when you're on a mission."; + next; + break; + case 2: + set ASSIN_Q,12; + mes "[Guildmaster]"; + mes "Well, I can't deny it, we do need money to make a living. But don't you think we should pursue something even more important than money?"; + next; + break; + case 3: + set ASSIN_Q,13; + mes "[Guildmaster]"; + mes "Style and appearance is only superficial. It is sad that many people think this way..."; + next; + mes "[Guildmaster]"; + mes "Such disgraceful Assassins that have lost their true focus are dealt with in our own manner..."; + next; + mes "[Guildmaster]"; + mes "Don't forget..."; + mes "Assassins don't toy around. We are not into a style or trend, and we never will be."; + next; + break; + } + break; + case 3: + mes "[Guildmaster]"; + mes "Endless Practice..."; + mes "I think you have what it takes. Is there a reason you want to be an Assassin?"; + next; + mes "[Guildmaster]"; + mes "Unlike the Thief class, the Assassin job doesn't allow self-indulgence. Tell me the"; + mes "reason you train endlessly."; + next; + switch(select("To broaden my skills.:It's a goal of mine.:For spiritual improvement.")) { + case 1: + set ASSIN_Q,14; + mes "[Guildmaster]"; + mes "Learning skills comes naturally with the Assassin job. But don't think of skills as the best value of your training."; + next; + mes "[Guildmaster]"; + mes "You won't be satisfied in becoming an Assassin if you think this..."; + next; + break; + case 2: + set ASSIN_Q,15; + mes "[Guildmaster]"; + mes "It's a goal of yours, eh? Well, I guess you've got to have goals..."; + next; + mes "[Guildmaster]"; + mes "I once knew a person who had goals. Long ago, I met someone on assignment who wanted to keep from getting killed before becoming a level 54 knight."; + next; + mes "[Guildmaster]"; + mes "It's to bad I had to kill him before he was level 52... ^666666*Sigh*^000000 Oh well."; + next; + mes "I'm a bit worried about you. I hope you realize that once you become an Assassin, there's no turning back..."; + next; + break; + case 3: + set ASSIN_Q,16; + mes "[Guildmaster]"; + mes "Good idea..."; + mes "That is a good way to improve yourself. I've seen many people who know how to be strong physically but not in their mental state."; + next; + mes "[Guildmaster]"; + mes "I hope you're not a hypocrite. Spiritual discipline is the best way for you to survive."; + next; + break; + } + break; + } + mes "[Guildmaster]"; + mes "Sadly, there are some nit-wits who are eager to be Assassins even though they don't know anything..."; + next; + mes "[Guildmaster]"; + mes "They cause problems and bring us disgrace. Their activities often result in horrible situations."; + next; + mes "[Guildmaster]"; + mes "Be careful lest you become one of them once you become an Assassin. The responsibility rests solely on your shoulders..."; + next; + mes "[Guildmaster]"; + mes "So if you could become an Assassin right now, what is the first thing you would do?"; + next; + switch(select("I would go hunt right away.:There are people waiting for me.:Check how I can help as an Assassin.")) { + case 1: + mes "[Guildmaster]"; + mes "Hunt..."; + mes "Is that all...?"; + next; + switch(select("I would level up fast.:I want to explore my Assassin skills.:I will go where I couldn't go as a Thief.")) { + case 1: + set .@assassin_sangdam,.@assassin_sangdam+10; + mes "[Guildmaster]"; + mes "Don't act recklessly..."; + mes "Being an Assassin never makes you a different person. And don't rely on chance."; + next; + break; + case 2: + set .@assassin_sangdam,.@assassin_sangdam+5; + mes "[Guildmaster]"; + mes "It is good for one to examine oneself. I can understand that you will be excited by the great change in your ability."; + next; + mes "[Guildmaster]"; + mes "In the meantime, I hope you won't forget the Assassin mentality."; + next; + break; + case 3: + mes "[Guildmaster]"; + mes "Very well..."; + mes "Exploring places you've never seen before. But know that being an Assassin never makes you a different person."; + next; + mes "[Guildmaster]"; + mes "Don't force yourself too much."; + mes "Take your time and travel wisely."; + next; + break; + } + break; + case 2: + mes "[Guildmaster]"; + mes "Who is waiting"; + mes "for you, might I ask?"; + next; + switch(select("My friends.:My Guildsmen.:My lover.")) { + case 1: + set .@assassin_sangdam,.@assassin_sangdam+5; + mes "[Guildmaster]"; + mes "I see..."; + mes "Appreciate them for caring about you, even when you're alone."; + next; + break; + case 2: + set .@assassin_sangdam,.@assassin_sangdam+5; + mes "[Guildmaster]"; + mes "Great..."; + mes "Comrades for whom you would die for..."; + next; + mes "[Guildmaster]"; + mes "As an Assassin, find a job that you can do for them without them knowing.."; + next; + break; + case 3: + mes "[Guildmaster]"; + mes "Haha, the needs of the body are sometimes hard to ignore. It's best to accept that part of human nature."; + next; + mes "[Guildmaster]"; + if (sex ) + mes "But you must never reveal to her the Assassin side of your life. No matter what it takes."; + else + mes "But you must never reveal to him the Assassin side of your life, no matter what it takes."; + next; + mes "[Guildmaster]"; + mes "Love your beloved forever, even if you can't openly express it. Sometimes, life doesn't allow you to find true love more than once."; + next; + break; + } + break; + case 3: + mes "[Guildmaster]"; + mes "That's most admirable. Is there anything that you would like to ask me about?"; + next; + switch(select("Places where Assassins can level up...:Main goals as an Assassin.:Financial consulting.")) { + case 1: + set .@assassin_sangdam,.@assassin_sangdam+5; + mes "[Guildmaster]"; + mes "It all depends on your mind. Any place could be the best to level up according to your mind state."; + next; + mes "[Guildmaster]"; + mes "You must know how to"; + mes "survive in any situation."; + next; + break; + case 2: + mes "[Guildmaster]"; + mes "There are many Assassins out there. Look to them as your trainers, and ask for their opinions."; + next; + mes "[Guildmaster]"; + mes "I hope you will become an excellent Assassin. And when you reach a certain level, you must guide newbies as your trainers have."; + next; + break; + case 3: + set .@assassin_sangdam,.@assassin_sangdam+10; + mes "[Guildmaster]"; + mes "Oh my lord..."; + mes "Are you planning to become an Assassin in order to make money?"; + next; + mes "[Guildmaster]"; + mes "People of that nature are unwelcome. If such is your goal, you may wish to reconsider your job..."; + next; + break; + } + break; + } + mes "[Guildmaster]"; + mes "It was nice to meet you. You reminded me of the good ol' days."; + next; + mes "[Guildmaster]"; + mes "Please give me"; + mes "one second..."; + next; + mapannounce "in_moc_16","Those involved with the testing of " + strcharinfo(0) + ", please gather before me.",bc_map; + mes "[Guildmaster]"; + mes "Those involved with the testing of " + strcharinfo(0) + ", please gather before me."; + next; + mes "[Guildmaster]"; + mes "They will"; + mes "be here soon."; + next; + enablenpc "[Huey]"; + enablenpc "[Khai]"; + enablenpc "[The Anonymous One]"; + enablenpc "[Barcardi]"; + enablenpc "[Beholder]"; + enablenpc "[Thomas]"; + enablenpc "[Gayle Maroubitz]"; + mes "[The Anonymous One]"; + mes "I am here."; + next; + mes "[Guildmaster]"; + mes "I would like to listen to your opinion of " + strcharinfo(0) + " for the job change test."; + next; + mes "[The Anonymous One]"; + mes "Ah yeah..."; + mes "I think"; + mes ""+ strcharinfo(0) +""; + mes "is decent."; + next; + mes "[Guildmaster]"; + mes "Well..."; + mes "The Anonymous One"; + mes "supports you. How"; + mes "about you, Huey?"; + next; + if (ASSIN_Q3 == 1) { + mes "[Huey]"; + mes "A rarity."; + mes "You can tell"; + mes "by the job level."; + next; + mes "[Huey]"; + mes "I agree with"; + mes "the Anonymous One."; + } + else { + mes "[Huey]"; + mes "Although "+ strcharinfo(0) +" looks too mellow and gentle, kind of like a pussycat, "+ strcharinfo(0) +" has the stuff."; + next; + mes "[Huey]"; + mes "If it's alright with you, I'd like to get back to my job."; + next; + mes "[Guildmaster]"; + mes "Yes..."; + mes "That is all, Huey."; + } + next; + mes "[Guildmaster]"; + mes "So..."; + mes "'Beholder,' what"; + mes "is your opinion?"; + next; + donpcevent "[Huey]::OnDisable"; + mes "[Beholder]"; + mes "Well, I don't like the course score. But, somehow the whole test was passed. I'm okay with this person."; + next; + mes "[Guildmaster]"; + mes "Hmm..."; + mes "It seems we are all in agreement. Good. I don't have any problem with "+ strcharinfo(0) +" as well..."; + next; + switch(ASSIN_Q) { + case 8: + mes "[Guildmaster]"; + mes "Even though you're driven by personal revenge, I hope it will go away as you train..."; + next; + break; + case 9: + mes "[Guildmaster]"; + mes "Even though your main concern for now is being a rich, I'm sure you'll pursue something even greater..."; + next; + break; + case 10: + mes "[Guildmaster]"; + mes "Eager to travel all around the world, I hope your real identity is found in your journeys..."; + next; + break; + case 11: + mes "[Guildmaster]"; + mes "You seem to know a lot about Assassins. I don't think frustration from being alone will be difficult for you..."; + next; + break; + case 12: + mes "[Guildmaster]"; + mes "You have an idiocy about money, but I believe that you should be able to overcome it."; + next; + mes "[Guildmaster]"; + mes "Although I do not trust you for now, I will give you a chance..."; + next; + break; + case 13: + mes "[Guildmaster]"; + mes "Even though you're enamored with Assassins superficially, I believe you will realize the real value of the Assassin job sooner or later."; + next; + break; + case 14: + mes "[Guildmaster]"; + mes "One of the rare people who seeks better skills, I hope you will realize the importance of spiritual discipline sooner or later."; + next; + break; + case 15: + mes "[Guildmaster]"; + mes "Sooner or later, you will find a new goal to which you can devote yourself..."; + next; + break; + case 16: + mes "[Guildmaster]"; + mes "I know some people care only about their physical training, but"; + mes "I believe you stand out amongst them..."; + next; + } + if (ASSIN_Q3 == 1 && BaseJob == Job_Thief && ASSIN_Q > 6 && ASSIN_Q < 17) { + set ASSIN_Q,17; + set ASSIN_Q3,2; + mes "[Guildmaster]"; + mes "Well, I've said too much. Please choose a weapon as a present."; + next; + mes "[Guildmaster]"; + mes "You can choose a Jur, Katar, Main Gauche, or a Gladius. As a master, I love them all."; + next; + switch(select("Jur:Katar:Main Gauche:Gladius")) { + case 1: + mes "[Guildmaster]"; + mes "A Jur..."; + mes "Good choice. There you are. I hope it will serve you well."; + getitem 1251,1; //Jur_ + break; + case 2: + mes "[Guildmaster]"; + mes "A Katar..."; + mes "Here you are."; + mes "Although it's used,"; + mes "I know it will"; + mes "serve you well."; + getitem 1253,1; //Katar_ + break; + case 3: + mes "[Guildmaster]"; + mes "I see. You want to use both hands. Here, take your Main Gauche."; + getitem 1208,1; //Main_Gauche_ + break; + case 4: + mes "[Guildmaster]"; + mes "A Gladius..."; + mes "It used to rule over the Assassin weapon market. Please take care of my gladius."; + getitem 1220,1; //Gladius_ + } + next; + } + else { + set ASSIN_Q,17; + mes "[Guildmaster]"; + mes "Well, I talked too much."; + mes "Please take this first."; + next; + switch(rand(1,5)) { + case 1: + getitem 1207,1; //Main_Gauche + break; + case 2: + getitem 1250,1; //Jur + break; + case 3: + getitem 1216,1; //Stiletto + break; + case 4: + getitem 1201,1; //Knife + break; + case 5: + getitem 1252,1; //Katar + } + } + mes "[Guildmaster]"; + mes "Well, I am giving you a token. Please return to the Assassin expert, the Ferocious-Looking Huey, at the entrance."; + next; + mes "[Guildmaster]"; + mes "Upon receiving this token, Huey will promote you to an Assassin."; + next; + mes "[Guildmaster]"; + mes "You, " + strcharinfo(0) + ", have chosen to live as an Assassin. May you learn our ways and be an honorable example to others."; + savepoint "morocc",100,100; + getitem 1008,1; //Frozen_Heart + changequest 8006,8007; + next; + mes "[Guildmaster]"; + mes "Okay, all of you may go back to your positions. I will send you to the entrance as well. Let's move..."; + disablenpc "[Huey]"; + disablenpc "[Khai]"; + disablenpc "[The Anonymous One]"; + disablenpc "[Barcardi]"; + disablenpc "[Beholder]"; + disablenpc "[Thomas]"; + disablenpc "[Gayle Maroubitz]"; + close2; + warp "in_moc_16",17,19; + end; + } + else if (ASSIN_Q == 17) { + mes "[Guildmaster]"; + mes "Umm...?"; + mes "How come you're in here...?"; + next; + mes "[Guildmaster]"; + mes "You already finished your test. Why don't you go try to get the ^006699Necklace of Oblivion^000000 so you can change your job?"; + close2; + warp "in_moc_16",17,19; + end; + } + else if (ASSIN_Q > 7 && ASSIN_Q < 17) { + set ASSIN_Q,7; + mes "[Guildmaster]"; + mes "What the hell? You pressed 'Cancel' during the process. Do you want to change your job or what?"; + next; + mes "[Guildmaster]"; + mes "^666666*Sigh...*^000000"; + mes "Ok, let's start again. If you don't listen this time, you won't leave this room alive. You got me?"; + close; + } + else { + mes "[Guildmaster]"; + mes "Umm? How come your in here?"; + next; + mes "[Guildmaster]"; + mes "You already finished your test, go give your ^006699Necklace of Oblivion^000000 to the Ferocious-looking guy so you can change your job!"; + close2; + warp "in_moc_16",17,19; + end; + } +} + +in_moc_16,186,81,1 script Master Assist 55,1,1,{ + mes "[Assistent Gayle Maroubitz]"; + mes "Sorry, but I'm not in charge of job changes. Go to the Guildmaster, as he has told you."; + close; +} + +in_moc_16,170,90,0 script info 1 -1,{ +OnTouch: + mes "[Guildmaster]"; + mes "Huh."; + mes "Now, that place is blocked. You might want to check the other side."; + close; +} + +in_moc_16,153,85,0 script info 2 -1,1,1,{ +OnTouch: + mes "[Guildmaster]"; + mes "You're getting warmer. You're almost there. Just, turn around a little bit."; + close; +} + +in_moc_16,160,85,0 script info 3 -1,1,1,{ +OnTouch: + mes "[Guildmaster]"; + mes "Hmm."; + mes "Now, that place"; + mes "is blocked."; + close; +} + +in_moc_16,175,89,0 script info 4 -1,1,1,{ +OnTouch: + mes "[Guildmaster]"; + mes "Umm..."; + mes "You're heading for my assistant. Do you still need to talk to him?"; + close; +} + +in_moc_16,164,88,0 script info 5 -1,{ +OnTouch: + mes "[Guildmaster]"; + mes "Well done..."; + mes "I can feel your steps near me."; + close; +} + +in_moc_16,149,95,0 script info 6 -1,1,1,{ +OnTouch: + mes "[Guildmaster]"; + mes "Hm? Not bad. You're almost here."; + close; +} + +in_moc_16,180,101,0 script info 7 -1,1,1,{ +OnTouch: + mes "[Guildmaster]"; + mes "I don't think you're going the right way."; + close; +} + +in_moc_16,186,107,0 script info 8 -1,1,1,{ +OnTouch: + mes "[Guildmaster]"; + mes "No sense of direction, eh?"; + close; +} + +in_moc_16,156,87,1 script [Huey] 55,{ + end; + +OnInit: + disablenpc "[Huey]"; + end; +} + +in_moc_16,156,85,1 script [Khai] 730,{ + end; + +OnInit: + disablenpc "[Khai]"; + end; +} + +in_moc_16,156,83,1 script [The Anonymous One] 106,{ + end; + +OnInit: + disablenpc "[The Anonymous One]"; + end; +} + +in_moc_16,156,81,2 script [Barcardi] 725,{ + end; + +OnInit: + disablenpc "[Barcardi]"; + end; +} + +in_moc_16,156,79,1 script [Beholder] 118,{ + end; + +OnInit: + disablenpc "[Beholder]"; + end; +} + +in_moc_16,156,77,1 script [Thomas] 118,{ + end; + +OnInit: + disablenpc "[Thomas]"; + end; +} + +in_moc_16,156,75,1 script [Gayle Maroubitz] 55,{ + end; + +OnInit: + disablenpc "[Gayle Maroubitz]"; + end; +} diff --git a/npc/pre-re/jobs/2-1/blacksmith.txt b/npc/pre-re/jobs/2-1/blacksmith.txt new file mode 100644 index 000000000..413fe69fd --- /dev/null +++ b/npc/pre-re/jobs/2-1/blacksmith.txt @@ -0,0 +1,1629 @@ +//===== rAthena Script ======================================= +//= Blacksmith Quest +//===== By: ================================================== +//= EREMES THE CANIVALIZER(Aegis) +//= Translated by: yoshiki. +//= Converted by: Komurka. +//= Optimized and further edited by kobra_k88. +//= Further bugfixed and tested by Lupus +//===== Current Version: ===================================== +//= 2.8 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Job Change quest for Blacksmith class. +//===== Additional Comments: ================================= +//= Changed some npc names to the iRO names. Changed some variable +//= names and labels. Edited some text.[kobra_k88] +//= Removed "if(JobLevel > 48) goto higher". It was a left over line. +//= Thx to "Decker".[kobra_k88] +//= Fixed some typos, thanks to Riotblade [celest] +//= 1.3-1.5 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.7 item quantity/ids typos fix +//= 1.8 Moved the Quest to Einbroch [Poki#3] +//= 2.0 Changed numbers to constants. [Vicious] +//= 2.1 Removed Duplicates [Silent] +//= 2.2 Merged Jfunc, changed job numbers to constants [Lupus] +//= 2.3 Rescripted to Aegis 10.3 standards. [L0ne_W0lf] +//= 2.4 Several bugfixes with the help of Barron-Monster. [L0ne_W0lf] +//= 2.4a Changed a BaseJob to baseclass. [L0ne_W0lf] +//= 2.4b Further bug fixes with teh hel of Barron-Monster. [L0ne_W0lf] +//= 2.4c More fixes courtosy of Micktu. [L0ne_W0lf] +//= 2.4d Fixed an incorrect answer in the quiz. (Trojal) [L0ne_W0lf] +//= 2.4e Touched up a few issues as pointed out by Ultramage. [L0ne_W0lf] +//= 2.5 Krongast is in Lighthalzen. (DarkValmir) [L0ne_W0lf] +//= 2.6 Fixed 4 bugs [Lupus] +//= 2.6a Typo fix [Yommy] +//= 2.7 Added Quest Log commands. [Kisuka] +//= 2.8 Removed the need for use of 'goto.' [L0ne_W0lf] +//============================================================== + +ein_in01,18,28,4 script Guildsman#BLS 731,{ + if (Upper == 1) { + mes "[Altiregen]"; + mes "Hey hey. I don't have time for chit-chat, I'm a pretty busy guy. There's all these Merchants working hard to become Blacksmiths."; + next; + mes "[Altiregen]"; + mes "Wait a minute, I think I've met you before."; + mes "Ummm....."; + next; + mes "[Altiregen]"; + mes "Are you the one who broke my weapon and ran away? Or are you the one who tortured me so that I'd forge a weapon for you? Why can't I remember?"; + next; + mes "[Altiregen]"; + mes "......."; + mes "I can't remember who you are for the life of me. Is this deja vu?"; + next; + mes "[Altiregen]"; + mes "Argh!! This is really bugging me! But still, I can sense that there's something special about you. Oh well, whatever. Have a good day~"; + close; + } + mes "[Altiregen]"; + mes "Welcome!"; + mes "We are Workers of Steel,"; + mes "the Blacksmith Guild."; + next; + mes "[Altiregen]"; + mes "We pour the fervor"; + mes "and passion of our souls into"; + mes "our craft. Our skills of melting metal into new weapons"; + mes "and tools is truly a form of art!"; + next; + if (BaseClass == Job_Novice) { + if (sex == 0) { + mes "[Altiregen]"; + mes "Oh~"; + mes "what a very"; + mes "pretty lady!"; + mes "Are you interested in"; + mes "becoming a Blacksmith?"; + next; + mes "[Altiregen]"; + mes "First, you must become a Merchant before you can become a Blacksmith. Go to the city of Alberta to learn the Merchant trade."; + close; + } + close; + } + else if (BaseClass == Job_Swordman) { + mes "[Altiregen]"; + mes "Oh, are you interested in having a weapon forged? I'm sorry to disappoint you, but I actually have a lot of business to attend to."; + close; + } + else if (BaseClass == Job_Archer) { + mes "[Altiregen]"; + mes "Oh..."; + mes "There's not much we can offer you here. And you can't really help out around here unless you know how to make stuff..."; + close; + } + else if (BaseClass == Job_Mage) { + mes "[Altiregen]"; + mes "Oh? What's a magic user doing here? I'm surprised. Usually this kind of rough work is beneath you intellectual types."; + close; + } + else if (BaseClass == Job_Acolyte) { + mes "[Altiregen]"; + mes "Oh! Am I correct in assuming you're a member of the Clergy? Would you please bless me before you leave!"; + close; + } + else if (BaseClass == Job_Thief) { + mes "[Altiregen]"; + mes "I'm sorry..."; + mes "But there really isn't anything for you to steal here. Well, there are the Daggers we keep in the back, but..."; + close; + } + else if (BaseJob == Job_Alchemist) { + mes "[Altiregen]"; + mes "So how's the pharmacy business going on recently?"; + mes "Well, my forging business does not seem to grow any longer."; + close; + } + else if (BaseJob == Job_Blacksmith) { + mes "[Altiregen]"; + mes "Oh! Long time no see."; + mes "Have you come to purchase supplies from Christopher? These days I'm stuck behind this desk. My body's itching to strike the ol' anvil."; + close; + } + else if (BaseJob == Job_Merchant) { + if (SkillPoint) { + mes "[Altiregen]"; + mes "You can't change to the Blacksmith Job Class without first using all your skill points. Please come back after wisely using your skill points."; + close; + } + if (BSMITH_Q == 0) { + mes "[Altiregen]"; + mes "Why don't you stop struggling"; + mes "to make zeny as a Merchant and"; + mes "join the elite Blacksmith class?"; + mes "If you're interested, fill out this application with your name"; + mes "and Job Level."; + next; + switch(select("Fill out Application.:What are the requirements?:Um, I need to think about it.")) { + case 1: + if (SkillPoint) { + mes "[Altiregen]"; + mes "You can't change to the Blacksmith Job Class without first using all your skill points. Please come back after wisely using your skill points."; + close; + } + else if (JobLevel > 39 && BSMITH_Q == 0) { + mes "[Altiregen]"; + mes "Hmmm..."; + mes "Looks like you"; + mes "meet the Job Level"; + mes "Requirement."; + next; + mes "[Altiregen]"; + mes "You see, we don't accept just anybody into our guild. First, we only accept experienced Merchants with a true desire to become great Blacksmiths. Let's see..."; + next; + mes "^3355FF*Shuffling of papers*^000000"; + next; + mes "[Altiregen]"; + mes "Hmmm..."; + mes "One of our Blacksmiths in Einbech, ^8E6B23Geschupenschte^000000 has sent us word that he's short on help. Your first test of character will be to help him out."; + next; + set BSMITH_Q,1; + setquest 2000; + mes "[Altiregen]"; + mes "Be careful"; + mes "and good luck!"; + close; + } + else if (JobLevel < 40) { + mes "[Altiregen]"; + mes "Hmmm, it seems that you lack experience as a Merchant. We require that you are at least Job Level 40, you see."; + next; + mes "[Altiregen]"; + mes "I feel bad turning you away after you've come so far, but rules are rules. Sorry to disappoint you, but we'll welcome you back once you're ready."; + close; + } + case 2: + mes "[Altiregen]"; + mes "You want to know our requirements? First, you need to have Job Level 40 or higher as a Merchant. Second, you need to pass a test that will be given by the Blacksmith Guild."; + next; + mes "[Altiregen]"; + mes "The test may consist of difficult tasks, but it's definitely not impossible. You will need to deliver certain items to different areas around the world"; + mes "to complete the test."; + close; + case 3: + mes "[Altiregen]"; + mes "Hmmm..."; + mes "Well, I hope"; + mes "to see you again."; + close; + } + } + else if (BSMITH_Q > 0 && BSMITH_Q < 8) { + mes "[Altiregen]"; + mes "You haven't left yet?"; + mes "Go to Einbech and find ^8E6B23Geschupenschte^000000. Finish helping him out, and when you're done, come back to me."; + close; + } + else if (BSMITH_Q > 8 && BSMITH_Q < 15) { + mes "[Altiregen]"; + mes "Was the work you did for ^8E6B23Geschupenschte^000000 to your liking? He's known for being pretty exacting..."; + close; + } + else if (BSMITH_Q == 15) { + mes "[Altiregen]"; + mes "Great job!!"; + mes "You have passed"; + mes "the first test..."; + next; + mes "[Altiregen]"; + mes "Hm? You look surprised."; + mes "I guess you didn't know that there's more than one test. "; + mes "Haha, but don't worry, you are not going to travel that far."; + mes "Please go talk to the guildsman inside the building for more details about your next test."; + next; + if (select("I want to change my job quickly! But...oh well.:Grrr! Enough is enough!") == 1) { + set BSMITH_Q,16; + changequest 2013,2014; + mes "[Altiregen]"; + mes "I'm sorry, but I'm sure you understand, right? We can't just casually accept anybody into"; + mes "our guild!"; + next; + mes "[Altiregen]"; + mes "If we don't keep our standards,"; + mes "we won't be able to maintain the respectability of the Blacksmith Guild!"; + mes "We can't embarass our guild in this manner! *Ahem* Anyway, you talk to the guildsman inside the building now."; + close; + } + mes "[Altiregen]"; + mes "Are you saying you're going"; + mes "to quit the application process? That's an insult to our guild!"; + mes "Get out of here! With that kind of attitude, you can forget becoming a member of the Blacksmith Guild!"; + next; + mes "[Altiregen]"; + mes "You have no spirit!"; + mes "If you can't endure this, you'll never be a Blacksmith!"; + close; + } + else if (BSMITH_Q == 16) { + mes "[Altiregen]"; + mes "Um? Haven't you talk to the guildsman yet?"; + mes "If you haven't, I suggest you to do so as soon as possible."; + close; + } + else if (BSMITH_Q == 17 && countitem(1005) > 0 && JobLevel > 39) { + mes "[Altiregen]"; + mes "Excellent, I can tell by the twinkle in your eye that you were successful. I can now bestow upon you the gift of the smithing, the art of the Blacksmith."; + if(checkquest(2015) != -1) { + changequest 2015,2016; + } + next; + set .@joblvl,JobLevel; + callfunc "Job_Change",Job_Blacksmith; + callfunc "F_ClearJobVar"; // clears all job variables for the current player + mes "[Altiregen]"; + mes "Always remember that we are creators, and artists over metals. Be wary that you do not fall into the pitfalls of selfishness"; + mes "and greed."; + next; + delitem 1005,1; //Hammer_Of_Blacksmith + completequest 2016; + mes "[Altiregen]"; + mes "Here is a little"; + mes "gift to mark the"; + mes "beginning of your"; + mes "life as a Blacksmith."; + mes "Congratulations!!!"; + if (.@joblvl > 48) + getitem 999,30; //Steel + else + getitem 999,5; //Steel + close; + } + } +} + +ein_in01,201,27,3 script Guildsman#alberta 63,{ + mes "[Geschupenschte]"; + mes "Hello there!"; + mes "I'm ^8E6B23Geschupenschte^000000,"; + mes "a Blacksmith by trade."; + mes "Nice to meet you!"; + next; + if (BaseJob == Job_Merchant) { + mes "[Geschupenschte]"; + mes "Oh ho ho!"; + mes "You're a Merchant!"; + mes "Excellent! I was"; + mes "in need of some help!"; + next; + if (BSMITH_Q == 0) { + mes "[Geschupenschte]"; + mes "But, of course,"; + mes "I wouldn't bother you"; + mes "if you're busy. Go along"; + mes "your way if you must~"; + next; + mes "[Geschupenschte]"; + mes "After all..."; + mes "I should know"; + mes "how it's like"; + mes "to be busy~"; + close; + } + else if ((BSMITH_Q == 1) || (BSMITH_Q == 2)) { + if (BSMITH_Q == 1) { + mes "[Geschupenschte]"; + mes "Am I correct in assuming you are the help sent by the Blacksmith Guild? There aren't many trustyworthy people I can hire to help me, so I'm always"; + mes "short on help."; + next; + mes "[Geschupenschte]"; + mes "Hmm, in any case,"; + mes "you are the help that was sent, right? Okay, I have some work for you that must be handled"; + mes "right away!"; + next; + mes "[Geschupenschte]"; + mes "Some time ago, I had a boy working for me who had no experience and bought the wrong supplies! It was terrible..."; + next; + mes "[Geschupenschte]"; + mes "Anyone would hate to lose money through a foolish mistake like that. However, I have a slightly more difficult job for you."; + next; + mes "[Geschupenschte]"; + mes "However, I want to make sure that you have some basic knowledge as a Merchant. I'd like to ask you some questions, if that's okay."; + next; + set .@selection,select("Yes.:Um, can I have some time to prepare?"); + } + else if (BSMITH_Q == 2) { + mes "[Geschupenschte]"; + mes "So, have you"; + mes "studied a little"; + mes "more this time?"; + next; + mes "[Geschupenschte]"; + mes "I admit that it's pretty unreasonable to expect anyone to get a perfect score the first time around, so I'll give you"; + mes "a little break..."; + next; + mes "[Geschupenschte]"; + mes "You can miss"; + mes "one problem!"; + mes "Alright, let's start"; + mes "with the questions~"; + next; + } + if (.@selection != 2) { + if (rand(2)) { + mes "[Geschupenschte]"; + mes "1. Which one of the following regions is matched incorrectly"; + mes "with its specialty item?"; + next; + if (select("Morroc - Thief Clothes:Alberta - Two Hand Axe:Comodo - Berserk Potion:Alberta - Swordmace") == 4) + set .@black_q,.@black_q+10; + mes "[Geschupenschte]"; + mes "2. What status can"; + mes "be inflicted with the"; + mes "^8E6B23Hammer Fall^000000 skill?"; + next; + if (select("Stun:Blind:Silence:Sleep") == 1) + set .@black_q,.@black_q+10; + mes "[Geschupenschte]"; + mes "3. Which one of the following skills cannot be performed"; + mes "by a Merchant?"; + next; + if (select("Vending:Discount:Overcharge:Increase AGI") == 4) + set .@black_q,.@black_q+10; + mes "[Geschupenschte]"; + mes "4. Where can you find a store"; + mes "that sells Blue Gemstones?"; + next; + if (select("Alberta:Morroc:Geffen:Prontera") == 3) + set .@black_q,.@black_q+10; + mes "[Geschupenschte]"; + mes "5. Where is the"; + mes "Tool Dealer"; + mes "located in Geffen?"; + next; + if (select("8 o'clock direction from the town square:11 o'clock direction from the town square:6 o'clock direction from the town square:5 o'clock direction from the town square") == 1) + set .@black_q,.@black_q+10; + mes "[Geschupenschte]"; + mes "6. Which weapon"; + mes "cannot be used"; + mes "by a Merchant?"; + next; + if (select("Stiletto:Ring Pommel Saber:Chain:Bible") == 4) + set .@black_q,.@black_q+10; + mes "[Geschupenschte]"; + mes "7. Which one of the following"; + mes "has the highest defense rate?"; + next; + if (select("Panties:Mink Coat:Wooden Mail:Silk Robe") == 2) + set .@black_q,.@black_q+10; + mes "[Geschupenschte]"; + mes "8. For Level 3 weapons,"; + mes "what is the ^8E6B23Safe^000000 limit"; + mes "for upgrading?"; + next; + if (select("up to + 3:up to + 4:up to + 5:up to + 6") == 3) + set .@black_q,.@black_q+10; + mes "9. What item"; + mes "can be made using"; + mes "the ^8E6B23Trunks^000000 item?"; + next; + if (select("Sakkat:Ghost Bandana:Majestic Goat:Antler") == 1) + set .@black_q,.@black_q+10; + mes "[Geschupenschte]"; + mes "10. The most important"; + mes "part of being a Merchant is...?"; + next; + select("Credit:Integrity:Money:Rhetoric"); + set .@black_q,.@black_q+10; + } + else { + mes "[Geschupenschte]"; + mes "1. Among the following cities, which one is not correctly matched with its specialty?"; + next; + if (select("Al De Baran - Yggdrasil Leaf:Alberta - Hammer:Comodo - Berserk Potion:Al De Baran - Hammer") == 4) + set .@black_q,.@black_q+10; + mes "[Geschupenschte]"; + mes "2. How much Zeny"; + mes "is one Jellopy worth?"; + next; + if (select("1 Zeny:2 Zeny:3 Zeny:4 Zeny") == 3) + set .@black_q,.@black_q+10; + mes "[Geschupenschte]"; + mes "3. What is required"; + mes "for a Merchant to use"; + mes "the ^8E6B23Vending^000000 Skill?"; + next; + if (select("Must have a Cart.:Must have items to sell.:Must be wielding a weapon.:Must be wearing armor.") == 1) + set .@black_q,.@black_q+10; + mes "[Geschupenschte]"; + mes "4. Where can you"; + mes "change your Job to"; + mes "become a Merchant?"; + next; + if (select("Alberta:Morroc:Geffen:Prontera") == 1) + set .@black_q,.@black_q+10; + mes "[Geschupenschte]"; + mes "5. Where is the"; + mes "Weapons Dealer"; + mes "located in Morroc?"; + next; + if (select("7 o'clock from the town's center:11 o'clock from the town's center:6 o'clock from the town's center:5 o'clock from the town's center") == 4) + set .@black_q,.@black_q+10; + mes "[Geschupenschte]"; + mes "6. What weapon"; + mes "can a Merchant"; + mes "not use?"; + next; + if (select("Main Gauche:Claymore:Chain:Two handed Axe") == 2) + set .@black_q,.@black_q+10; + mes "[Geschupenschte]"; + mes "7. Which one of the following"; + mes "has the highest defense rate?"; + next; + if (select("Panties:Mink Coat:Wooden Mail:Silk Robe") == 2) + set .@black_q,.@black_q+10; + mes "[Geschupenschte]"; + mes "8. For Level 3 weapons,"; + mes "what is the ^8E6B23Safe^000000 limit"; + mes "for upgrading?"; + next; + if (select("up to + 3:up to + 4:up to + 5:up to + 6") == 3) + set .@black_q,.@black_q+10; + mes "[Geschupenschte]"; + mes "9. What monster does"; + mes "NOT drop Iron Ore?"; + next; + if (select("Chon Chon:Steel Chon Chon:Zerom:Anolian") == 4) + set .@black_q,.@black_q+10; + mes "[Geschupenschte]"; + mes "10. What is most"; + mes "important to a Merchant?"; + next; + select("Rhetoric:Credit:Money:Experience"); + set .@black_q,.@black_q+10; + } + mes "[Geschupenschte]"; + mes "Umm. You did a good job!"; + next; + mes "[Geschupenschte]"; + mes "Let's see...your score is..." + .@black_q + " points."; + if (.@black_q == 100) { + set BSMITH_Q,3; + if(checkquest(2001) != -1) { + changequest 2001,2002; + }else{ + changequest 2000,2002; + } + mes "Oh ho ho~"; + mes "You'll have"; + mes "no problem"; + mes "with this score!"; + next; + mes "[Geschupenschte]"; + mes "I will entrust you with a job!"; + mes "Give me a little time to make the necessary arrangements."; + mes "When you get back, I'll be ready!"; + close; + } + set BSMITH_Q,2; + if(checkquest(2001) == -1) { + changequest 2000,2001; + } + mes "............."; + next; + mes "[Geschupenschte]"; + if (BSMITH_Q == 2) { + mes "How do I say this?"; + mes "How did you fail again?!"; + mes "If you plan to perform your duties in this manner, I can't trust you with any kind of job..."; + close; + } + mes "Hmm..."; + mes "It pains me to say this, but it seems you need to study a little more. You can never be"; + mes "a Blacksmith with"; + mes "this score!"; + close; + } + mes "[Geschupenschte]"; + mes "Ah, of course I don't mind if you came back a little later. Being prepared prevents disasters"; + mes "later, after all. No harm in"; + mes "being careful~"; + close; + } + /* + else if (BSMITH_Q == 2) { + mes "[Geschupenschte]"; + mes "So, have you"; + mes "studied a little"; + mes "more this time?"; + next; + mes "[Geschupenschte]"; + mes "I admit that it's pretty unreasonable to expect anyone to get a perfect score the first time around, so I'll give you"; + mes "a little break..."; + next; + mes "[Geschupenschte]"; + mes "You can miss"; + mes "one problem!"; + mes "Alright, let's start"; + mes "with the questions~"; + next; + goto L_AskQuestions; + } + */ + else if (BSMITH_Q == 3) { + mes "[Geschupenschte]"; + mes "Hmm..."; + mes "Now, where were"; + mes "those order request forms..."; + next; + mes "^3355FF*Shuffling of Papers*"; + mes "*Rustling of Papers*^000000"; + next; + mes "[Geschupenschte]"; + mes "Oh! Here it is!"; + mes "This is order that"; + mes "has been delayed"; + mes "the most..."; + mes "Heh heh~"; + next; + mes "[Geschupenschte]"; + mes "Well, to make"; + mes "this you will need..."; + next; + switch(rand(1,5)) { + //Steel, Rotten_Bandage, Blue_Gemstone, Arc_Wand + case 1: setarray .@items[0], 999,1, 930,1, 717,2, 1610,1, 4; changequest 2002,2003; break; + //Sparkling_Dust, Skel_Bone, Zargon, Gladius + case 2: setarray .@items[0], 1001,2, 932,1, 912,1, 1219,1, 5; changequest 2002,2004; break; + //Coal, Shell, Boody_Red, Tsurugi + case 3: setarray .@items[0], 1003,1, 935,2, 990,2, 1119,1, 6; changequest 2002,2005; break; + //Iron_Ore, Eye_Bandage, Blue_Gemstone, Arbalest + case 4: setarray .@items[0], 1002,1, 2212,1, 717,2, 1713,1, 7; changequest 2002,2006; break; + //Iron, Green_Herb, Animal's_Skin, Ring_Pommel_Saber + default: setarray .@items[0], 998,1, 511,1, 919,2, 1122,1, 8; changequest 2002,2007; break; + } + set BSMITH_Q,.@items[8]; + mes "[Geschupenschte]"; + mes "^8E6B23"+.@items[1]+" "+getitemname(.@items[0])+"^000000,"; + mes "^8E6B23"+.@items[3]+" "+getitemname(.@items[2])+"^000000,"; + mes "^8E6B23"+.@items[5]+" "+getitemname(.@items[4])+"^000000, and"; + mes "^8E6B23"+.@items[7]+" "+getitemname(.@items[6])+"^000000, the kind"; + mes "you can buy from"; + mes "an NPC shop."; + next; + mes "[Geschupenschte]"; + mes "Collecting these items will be your test. Coincidentally, it's also a bit of a good way for me to save money. I'll repeat what you'll need to bring back to me..."; + next; + mes "[Geschupenschte]"; + mes "Okay~"; + mes "Good luck"; + mes "on your first job!"; + close; + } + else if (BSMITH_Q > 3 && BSMITH_Q < 9) { + switch(BSMITH_Q) { + case 4: setarray .@items[0], 999,1, 930,1, 717,2, 1610,1, 9; break; + case 5: setarray .@items[0], 1001,2, 932,1, 912,1, 1219,1, 10; break; + case 6: setarray .@items[0], 1003,1, 935,2, 990,2, 1119,1, 11; break; + case 7: setarray .@items[0], 1002,1, 2212,1, 717,2, 1713,1, 12; break; + case 8: setarray .@items[0], 998,1, 511,1, 919,2, 1122,1, 13; break; + } + mes "[Geschupenschte]"; + mes "Ah, you're back!"; + mes "Did you bring"; + mes "everything that"; + mes "I requested?"; + next; + if (countitem(.@items[0]) >= .@items[1] && countitem(.@items[2]) >= .@items[3] && countitem(.@items[4]) >= .@items[5] && countitem(.@items[6]) >= .@items[7]) { + mes "[Geschupenschte]"; + mes "Wait..."; + mes "Didn't I tell you"; + mes "to get 3 Steel?"; + next; + mes "[Geschupenschte]"; + mes "Oh, I guess it was"; + mes "two after all. Let's see..."; + mes "Yeah, you got everything!"; + mes "Now, just give me a second."; + next; + mes "[Geschupenschte]"; + mes "Oh, you should make sure that you are not carrying ^FF0000more than one "+getitemname(.@items[6])+"^000000, you should really only have an "+getitemname(.@items[6])+" that you bought from an NPC shop in your inventory."; + next; + if (select("Oh, could you give me a second?:Oh, I brought what you asked for.") == 1) { + mes "[Geschupenschte]"; + mes "Hmmm, it would be"; + mes "a good idea to put the"; + mes "rest of your items"; + mes "in Kafra Storage."; + close; + } + mes "[Geschupenschte]"; + mes "Okay."; + mes "Great~!!"; + next; + mes "[Geschupenschte]"; + mes "^3355FF*Clang...!*^000000"; + next; + mes "[Geschupenschte]"; + mes "^3355FF*Crash Crash!*^000000"; + next; + delitem .@items[0],.@items[1]; + delitem .@items[2],.@items[3]; + delitem .@items[4],.@items[5]; + delitem .@items[6],.@items[7]; + set BSMITH_Q,.@items[8]; + mes "[Geschupenschte]"; + mes "Wooooo~~~"; + mes "All done..."; + switch(BSMITH_Q) { + case 9: + mes "Okay, now take this to ^8E6B23Baisulist^000000 in Geffen of Rune-Midgarts Kingdom. Simply deliver it and bring me the receipt."; + getitem 1610,1; //Arc_Wand + if(checkquest(2003) != -1) { + changequest 2003,2008; + } + next; + mes "[Geschupenschte]"; + mes "Hmm...?"; + mes "What's that look for?"; + mes "This is not a normal"; + mes "Arc Wand! Look closely"; + mes "at the handle..."; + next; + mes "^3355FFThe handle reads:"; + mes "'Super Arc Wand"; + mes "of Geschupenschte"; + mes "Mark 2.' It does seem"; + mes "to have a completely"; + mes "different feel.^000000"; + next; + mes "[Geschupenschte]"; + mes "Anyway, take this"; + mes "to ^8E6B23Baisulist^000000 in Geffen of Rune-Midgarts Kingdom,"; + break; + case 10: + mes "Okay, now take this to ^8E6B23Wickebine^000000 in Morroc of Rune-Midgarts Kingdom. Simply deliver it and bring me the receipt."; + getitem 1219,1; //Gladius + if(checkquest(2004) != -1) { + changequest 2004,2009; + } + next; + mes "[Geschupenschte]"; + mes "Hmm...?"; + mes "What's that look for?"; + mes "This is not a normal"; + mes "Gladius! Look closely"; + mes "at the handle..."; + next; + mes "^3355FFThe handle reads:"; + mes "'Super Gladius"; + mes "of Geschupenschte"; + mes "Mark 2.' It does seem"; + mes "to have a completely"; + mes "different feel.^000000"; + next; + mes "[Geschupenschte]"; + mes "Anyway, take this"; + mes "to ^8E6B23Wickebine^000000 in Morroc of Rune-Midgarts Kingdom,"; + break; + Case 11: + mes "Okay, now take this to ^8E6B23Krongast^000000 in Lighthalzen. Simply deliver it and bring me the receipt."; + getitem 1119,1; //Tsurugi + if(checkquest(2005) != -1) { + changequest 2005,2010; + } + next; + mes "[Geschupenschte]"; + mes "Hmm...?"; + mes "What's that look for?"; + mes "This is not a normal"; + mes "Tsurugi! Look closely"; + mes "at the blade..."; + next; + mes "^3355FFThe blade reads:"; + mes "'Fine-edged"; + mes "Geschupenschte"; + mes "Tsurugi Special.'"; + mes "It does seem to feel"; + mes "completely different"; + mes "than normal Tsurugis...^000000"; + next; + mes "[Geschupenschte]"; + mes "Anyway, take this"; + mes "to ^8E6B23Krongast^000000 in Lighthalzen"; + break; + case 12: + mes "Okay, now take this to ^8E6B23Talpiz^000000 in Payon of Rune-Midgarts Kingdom. Simply deliver this and bring me the receipt."; + getitem 1713,1; //Arbalest + if(checkquest(2006) != -1) { + changequest 2006,2011; + } + next; + mes "[Geschupenschte]"; + mes "Hmm...?"; + mes "What's that look for?"; + mes "This is not a normal"; + mes "Arbalest! Look closely"; + mes "at the bow..."; + next; + mes "^3355FFThe bow reads:"; + mes "Geschupenschte"; + mes "Arbalest Luxury Edition."; + mes "It does seem more luxurious"; + mes "than regular Arbalests.^000000"; + next; + mes "[Geschupenschte]"; + mes "Anyway, take this"; + mes "to ^8E6B23Talpiz^000000 in Payon of Rune-Midgarts Kindgom,"; + break; + case 13: + mes "Okay, now take this to ^8E6B23Bismarc^000000 in Hugel. Simply deliver this and bring back the receipt."; + getitem 1122,1; //Ring_Pommel_Saber + if(checkquest(2007) != -1) { + changequest 2007,2012; + } + next; + mes "[Geschupenschte]"; + mes "Hmm...?"; + mes "What's that look for?"; + mes "This is not a normal"; + mes "Ring Pommel Saber!"; + mes "Look closely at"; + mes "the handle..."; + next; + mes "^3355FFThe handle reads:"; + mes "'Green Herbal"; + mes "Ring Pommel Saber"; + mes "of Geschupenschte"; + mes "Mark 2.' It does seem"; + mes "to have a completely"; + mes "different feel.^000000"; + next; + mes "[Geschupenschte]"; + mes "The power of Green Herbs, which is imbued in this sword, can be very useful! You can save someone from slowly dying of poison by stabbing them quickly with this weapon!"; + next; + mes "[Geschupenschte]"; + mes "Anyway, take this"; + mes "to ^8E6B23Bismarc^000000 in Hugel"; + } + mes "and don't forget"; + mes "the receipt!"; + close; + } + else { + mes "[Geschupenschte]"; + mes "You still haven't"; + mes "brought all the items."; + mes "Do you need to be reminded"; + mes "or something? Bring me..."; + next; + mes "[Geschupenschte]"; + mes "^8E6B23"+.@items[1]+" "+getitemname(.@items[0])+"^000000,"; + mes "^8E6B23"+.@items[3]+" "+getitemname(.@items[2])+"^000000,"; + mes "^8E6B23"+.@items[5]+" "+getitemname(.@items[4])+"^000000, and"; + mes "^8E6B23"+.@items[7]+" "+getitemname(.@items[6])+"^000000, the kind"; + mes "you can buy from"; + mes "an NPC shop."; + next; + mes "[Geschupenschte]"; + mes "Now, be sure to have"; + mes "everything I need when"; + mes "you come back. Remember,"; + mes "this is a test! You can't"; + mes "be a Blacksmith if you"; + mes "slack off!"; + close; + } + } + else if (BSMITH_Q > 8 && BSMITH_Q < 14) { + mes "[Geschupenschte]"; + mes "What are you"; + mes "still doing here?"; + mes "Hurry and deliver"; + mes "the package~!"; + mes "Did you forget"; + mes "where to go?"; + next; + mes "[Geschupenschte]"; + if (BSMITH_Q == 9) { + mes "In Geffen, at the"; + mes "11 o'clock direction from the town center, you will find ^8E6B23Baisulist^000000. And don't forget the receipt."; + } + else if (BSMITH_Q == 10) { + mes "Find the Swordmace"; + mes "dealer ^8E6B23Wickebine^000000 in Morroc. And don't forget the receipt."; + } + else if (BSMITH_Q == 11) { + mes "In Lighthalzen, 6 o'clock direction from the town center, you will find ^8E6B23Krongast^000000 near the weapon shop. And don't forget the receipt."; + } + else if (BSMITH_Q == 12) { + mes "In Payon, at the 5 o'clock direction from the town center, you will find ^8E6B23Talpiz^000000. And don't forget the receipt."; + } + else { + mes "In Hugel, at the 1 o'clock direction from the town center, you will find ^8E6B23Bismarc^000000 near the airship. And don't forget the receipt."; + } + close; + } + else if (BSMITH_Q == 14) { + mes "[Geschupenschte]"; + mes "Hmmm...?"; + mes "Have you"; + mes "completed"; + mes "the delivery?"; + mes "Let's see that receipt~"; + next; + if (select("Yes sir, here it is.:Receipt? I, uh, have it somewhere.") == 1) { + if (countitem(1073) > 0) { + set BSMITH_Q,15; + delitem 1073,1; //Merchant_Voucher_1 + if(checkquest(2008) != -1) { + changequest 2008,2013; + } + else if(checkquest(2009) != -1) { + changequest 2009,2013; + } + else if(checkquest(2010) != -1) { + changequest 2010,2013; + } + else if(checkquest(2011) != -1) { + changequest 2011,2013; + } + else { + changequest 2012,2013; + } + mes "[Geschupenschte]"; + mes "Oh ho ho~"; + mes "Great!"; + mes "You're truly"; + mes "a great Merchant!"; + next; + mes "[Geschupenschte]"; + mes "Good job!"; + mes "Return to ^8E6B23Altiregen^000000 in Einbroch, the guy you first met when you applied for the Blacksmith job."; + next; + mes "[Geschupenschte]"; + mes "I have faith that you"; + mes "will be a great Blacksmith!"; + close; + } + set BSMITH_Q,3; + mes "[Geschupenschte]"; + mes "You mean..."; + mes "You didn't get"; + mes "a receipt?"; + mes "What...?"; + next; + mes "[Geschupenschte]"; + mes "A receipt is"; + mes "a Merchant's best friend!"; + mes "It's necessary to your job!"; + mes "You'll have to start your"; + mes "test all over again!"; + close; + } + mes "[Geschupenschte]"; + mes "Return when you"; + mes "find the receipt~"; + mes "You didn't forget"; + mes "to receive a receipt."; + mes "Right...?"; + close; + } + else if (BSMITH_Q == 15) { + mes "[Geschupenschte]"; + mes "Thank you"; + mes "very much"; + mes "your help."; + mes "Return to Einbroch"; + mes "and see ^8E6B23Altiregen^000000!"; + close; + } + mes "[Geschupenschte]"; + mes "Hmm...?"; + mes "You already finished"; + mes "your test here with me!"; + mes "And surprisingly, I don't"; + mes "need any more help, today."; + close; + } + else { + mes "[Geschupenschte]"; + mes "Being"; + mes "a Blacksmith"; + mes "is truly great!"; + mes "Don't you think so?"; + mes "Mwahahahahah!!"; + close; + } +} + +geffen,46,164,1 script Baisulist#BLS 69,{ + if (BSMITH_Q == 9 && countitem(1610) > 0) { + mes "[Baisulist]"; + mes "Oh, hello!"; + mes "Have you come"; + mes "to deliver my"; + mes "Arc Wand?"; + next; + mes "[Baisulist]"; + mes "You sure this is what I ordered, right? I mean, if it's been used,"; + mes "I don't want it."; + next; + if (select("Whoops, this is one of the items I use...:I'm sure! It's brand new!") == 1) { + mes "[Baisulist]"; + mes "Well..."; + mes "I guess I can"; + mes "wait a little longer."; + mes "Please hurry with"; + mes "my delivery~"; + close; + } + mes "[Baisulist]"; + mes "You're"; + mes "absolutely sure?"; + set BSMITH_Q,14; + delitem 1610,1; //Arc_Wand + next; + mes "[Baisulist]"; + mes "Thank you so much for traveling all the way here. That Geschupenschte, please smack him for me when you meet him for being so late on this order..."; + next; + mes "[Baisulist]"; + mes "Please wait"; + mes "a second, let"; + mes "me give you a receipt~"; + next; + getitem 1073,1; //Merchant_Voucher_1 + mes "[Baisulist]"; + mes "Here it is."; + mes "Thank you so much!"; + mes "Oh, and good luck~"; + mapannounce "geffen","Hey, " +strcharinfo(0)+ ", thank you so much for the delivery~",bc_map; + close; + } + else if (BSMITH_Q == 14) { + mes "[Baisulist]"; + mes "Thank you"; + mes "so much for"; + mes "the delivery~"; + close; + } + else { + mes "[Baisulist]"; + mes "Oh..."; + mes "It's been a while"; + mes "since I've been"; + mes "to Alberta."; + next; + mes "[Baisulist]"; + mes "I ordered something"; + mes "from there a while ago,"; + mes "but I haven't received"; + mes "my delivery..."; + next; + mes "[Baisulist]"; + mes "I wonder..."; + mes "Could the Blacksmith Guild"; + mes "be undermanned? I can't think of any other reason for them to be late..."; + next; + mes "[Baisulist]"; + mes "When will I get"; + mes "my special Arc Wand?"; + close; + } +} + +morocc,27,112,4 script Wickebine#BLS 725,{ + if (BSMITH_Q == 10 && countitem(1219) > 0) { + cutin "Job_Black_hucke01",2; + mes "[Wickebine]"; + mes "...!"; + mes "It's here!"; + next; + mes "[Wickebine]"; + mes "This is what I ordered, right?"; + mes "I don't want any used or old Gladius that you might have!"; + next; + if (select("Whoops, not that one.:I guarantee you it is new.") == 1) { + cutin "Job_Black_hucke03",2; + mes "[Wickebine]"; + mes "Oooh...!"; + mes "Hurry up"; + mes "with my Gladius~"; + next; + mes "- She seems to be upset. -"; + close2; + cutin "Job_Black_hucke03",255; + end; + } + cutin "Job_Black_hucke02",2; + mes "[Wickebine]"; + mes "Hah hah hah!"; + mes "Finally! Now..."; + mes "Let me have"; + mes "a look!"; + next; + mes "- She looks very happy. -"; + next; + set BSMITH_Q,14; + delitem 1219,1; //Gladius + cutin "Job_Black_hucke01",2; + mes "[Wickebine]"; + mes "Are you with the"; + mes "Einbroch Blacksmith Guild?"; + mes "Give this message to Geschupenschte!"; + next; + cutin "Job_Black_hucke03",2; + mes "[Wickebine]"; + mes "'^660000You're late!"; + mes "Do you know how long"; + mes "I've been waiting?!^000000'"; + next; + cutin "Job_Black_hucke02",2; + mes "[Wickebine]"; + mes "But, this is also"; + mes "a masterfully crafted item."; + mes "Tell him I'm satisfied with the quality of the workmanship."; + next; + getitem 1073,1; //Merchant_Voucher_1 + emotion e_lv; + mes "[Wickebine]"; + mes "Here's the receipt."; + mes "I think you did"; + mes "a good job."; + mapannounce "morocc","Thanks for delivering, " + strcharinfo(0) + "~!",bc_map; + close2; + cutin "Job_Black_hucke02",255; + end; + } + else if (BSMITH_Q == 14) { + emotion e_lv; + cutin "Job_Black_hucke02",2; + mes "[Wickebine]"; + mes "Thanks for the delivery."; + close2; + cutin "Job_Black_hucke02",255; + end; + } + else { + cutin "Job_Black_hucke03",2; + mes "[Wickebine]"; + mes "..."; + next; + mes "[Wickemine]"; + mes "..."; + mes "......"; + next; + mes "[Wickmine]"; + mes "They're late."; + mes "They're late,"; + mes "they're late,"; + mes "they're late~!"; + next; + mes "[Wickebine]"; + mes "How long does it take for something to ship from Geschupenschte? Usually, the Geffen Blacksmith Guild is pretty prompt..."; + next; + emotion e_lv; + mes "[Wickebine]"; + mes "Ooohh..."; + mes "This is very"; + mes "upsetting..."; + close2; + cutin "Job_Black_hucke03",255; + end; + } +} + +lighthalzen,209,80,4 script Krongast#BLS 734,{ + if (BSMITH_Q == 11 && countitem(1119) > 0) { + mes "[Krongast]"; + mes "Ohhhhhh~"; + mes "Is it here?"; + mes "Very nice."; + mes "Let me take a look."; + next; + mes "[Krongast]"; + mes "So you're sure this is the item"; + mes "I ordered, right? I wouldn't want it if it's been used."; + next; + if (select("Whoops, this one is used!:It was just made, so it's new.") == 1) { + mes "[Krongast]"; + mes "Hmmmmm!"; + mes "Please deliver"; + mes "the right sword!"; + mes "I've been waiting"; + mes "long enough already..."; + close; + } + mes "[Krongast]"; + mes "You double checked?"; + mes "Alright then, I'll take it!"; + next; + set BSMITH_Q,14; + delitem 1119,1; //Tsurugi + mes "[Krongast]"; + mes "Oh ho..."; + mes "This is good."; + mes "Much better than"; + mes "what I expected."; + next; + mes "[Krongast]"; + mes "With this sword..."; + mes "My special moves will be even more powerful! I may even be able to perfect my fast attacking techniques! I love it!"; + next; + mes "[Krongast]"; + mes "Okay then."; + mes "Let me give"; + mes "you a receipt."; + next; + getitem 1073,1; //Merchant_Voucher_1 + mes "[Krongast]"; + mes "Here is"; + mes "your receipt."; + mes "Thank you for"; + mes "your business!"; + mapannounce "lighthalzen",strcharinfo(0)+"... Thank you for the delivery.",bc_map; + close; + } + else if (BSMITH_Q == 14) { + mes "[Krongast]"; + mes "Thank you"; + mes "for the delivery."; + close; + } + else { + mes "[Krongast]"; + mes "..."; + next; + mes "[Krongast]"; + mes "..."; + mes "......"; + next; + mes "[Krongast]"; + mes "When will the sword"; + mes "I ordered finally arrive?"; + mes "I need to try my ultimate skill, ^2F4F4FFine Edge^000000 with it."; + next; + mes "[Krongast]"; + mes "Ahhhhhhh!"; + mes "I need to"; + mes "have that sword!"; + close; + } +} + +payon,214,79,4 script Talpiz#BLS 59,{ + if (BSMITH_Q == 12 && countitem(1713) > 0) { + mes "[Talpiz]"; + mes "Oh~"; + mes "Is it finally here?"; + mes "The package I ordered?"; + next; + mes "[Talpiz]"; + mes "Um, this is what I ordered, right? I don't want an Arbalest that's been used before."; + next; + if (select("Whoops, this is a used one.:I'm sure it's new.") == 1) { + mes "[Talpiz]"; + mes "Hmmmm."; + mes "Please hurry"; + mes "and bring the"; + mes "correct item."; + mes "I've waited too"; + mes "long already..."; + close; + } + mes "[Talpiz]"; + mes "So, you're sure?"; + mes "Let me take a look..."; + next; + set BSMITH_Q,14; + delitem 1713,1; //Arbalest + mes "[Talpiz]"; + mes "*wheet whoo*"; + mes "Very nice!!"; + next; + mes "[Talpiz]"; + mes "This is truly a quality made custom item. I love how there is a case for an eye patch! I really reallly love this~"; + next; + mes "[Talpiz]"; + mes "Thank you!"; + mes "For something of this quality,"; + mes "I can even sell it for a high price even after I've used it!"; + next; + getitem 1073,1; //Merchant_Voucher_1 + mes "[Talpiz]"; + mes "Here!"; + mes "Please take"; + mes "your receipt."; + mes "I really appreciate"; + mes "your hard work."; + mapannounce "payon","Thanks, " +strcharinfo(0)+ ", you really delivered. Everytime I look at this, I love it even more~",bc_map; + close; + } + else if (BSMITH_Q == 14) { + mes "[Talpiz]"; + mes "Really,"; + mes "I can't say it"; + mes "enough. This is"; + mes "top quality work~!"; + close; + } + else { + mes "[Talpiz]"; + mes "Eh..."; + mes "When will my"; + mes "order arrive?"; + next; + mes "[Talpiz]"; + mes "A custom made Arbalest"; + mes "with a quality case to hold your eye patches. Only one person can make something like that..."; + next; + mes "[Talpiz]"; + mes "Ahhhhhh..."; + mes "The waiting"; + mes "is unbearable!"; + close; + } +} + +hugel,168,183,1 script Bismarc#BLS 118,{ + if (BSMITH_Q == 13 && countitem(1122) > 0) { + mes "[Bismarc]"; + mes "Sweet God..."; + mes "Have you sent"; + mes "an angel...?"; + mes "Is that the Ring Pommel Saber"; + mes "I ordered? It's my only hope..."; + next; + mes "[Bismarc]"; + mes "^666666*Huuuk*^000000 This is what I ordered, right? I needed one especially"; + mes "made to stop this poison..."; + next; + if (select("Whoops, this is my own Ring Pommel Saber.:I'm sure this is the one.") == 1) { + mes "[Bismarc]"; + mes "N-Nooo..."; + mes "Hurry...!"; + mes "I need that"; + mes "sword for its"; + mes "an...ti...d-dote!"; + next; + mes "^3355FFIt looks like"; + mes "he's slowly dying...!"; + mes "You'd better hurry.^000000"; + close; + } + mes "[Bismarc]"; + mes "^666666*Ghklk*^000000"; + mes "Give it...!"; + mes "Pleeeease!"; + next; + set BSMITH_Q,14; + delitem 1122,1; //Ring_Pommel_Saber + mes "^3355FFBismarc stabs"; + mes "himself, repeatedly,"; + mes "with the Ring Pommel Saber"; + mes "that has been imbued with"; + mes "the power of Green Herbs.^000000"; + next; + mes "[Bismarc]"; + mes "^666666*Ghyklk*^000000"; + mes "*Gasp gasp*"; + next; + mes "[Bismarc]"; + mes "Please..."; + mes "Help me up."; + mes "The poison is"; + mes "still coarsing"; + mes "through my body..."; + next; + mes "[Bismarc]"; + mes "OwwwWWWW!!"; + mes "IT'S BURNING!"; + next; + mes "[Bismarc]"; + mes "*Gasp Gasp*"; + mes "*Whew* Okay,"; + mes "I can feel the"; + mes "antidote working now."; + mes "Just what I needed."; + next; + getitem 1073,1; //Merchant_Voucher_1 + mes "[Bismarc]"; + mes "Here is"; + mes "your receipt."; + mes "T-take it...!"; + mes "It's yours!"; + mapannounce "hugel","Thanks, " +strcharinfo(0)+ ", for the delivery. You saved my life...",bc_map; + close; + } + else if (BSMITH_Q == 14) { + mes "[Bismarc]"; + mes "Thank you."; + mes "You saved"; + mes "my life..."; + close; + } + else { + mes "[Bismarc]"; + mes "^666666*Ghyklk*^000000"; + mes "^666666*Huk Hukk*^000000"; + mes "When will my"; + mes "o-order arrive...?"; + next; + mes "[Bismarc]"; + mes "The poison in"; + mes "my body... the pain..."; + mes "excruciating... L-lord..."; + next; + mes "[Bismarc]"; + mes "When is the"; + mes "antidote gonna"; + mes "get here?!"; + close; + } +} + +ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ + if (BSMITH_Q == 16) { + emotion e_hmm; + mes "[Mitehmaeeuh]"; + mes "Oh...so you're the one who wants to be a blacksmith?"; + mes "Nice, heh heh."; + mes "As you've realized from your past tests, you won't be promoted from Merchant to Blacksmtih immediately."; + next; + mes "[Mitehmaeeuh]"; + mes "How much do you truly understand about smithing? Are you ready for me to ask you some questions?"; + next; + if (select("Yes:No, not yet~") == 1) { + mes "[Mitehmaeeuh]"; + mes "Alright..."; + mes "My test is simple."; + mes "I'll ask five questions."; + mes "If you miss too many,"; + mes "you fail. And I won't"; + mes "tell you what you missed."; + next; + set .@blackss_te,0; + mes "[Mitehmaeeuh]"; + mes "Please listen"; + mes "and answer carefully..."; + next; + switch(rand(1,3)) { + case 1: + mes "[Mitehmaeeuh]"; + mes "1. What ability"; + mes "is required to learn"; + mes "the ^8E6B23Discount^000000 skill?"; + next; + if (select("Level 3 Push Cart:Item Appraisal:Level 10 Mammonite:Level 3 Enlarge Weight") == 4) + set .@blackss_te,.@blackss_te+20; + mes "[Mitehmaeeuh]"; + mes "2. When you attack"; + mes "with ^8E6B23Hammerfall^000000,"; + mes "what status effect can"; + mes "you inflict on enemies?"; + next; + if (select("Stun:Blindness:Chaos:Silence") == 1) + set .@blackss_te,.@blackss_te+20; + mes "[Mitehmaeeuh]"; + mes "3. How much Zeny is spent"; + mes "when attacking with the"; + mes "mastered Mammonite skill?"; + mes "(Level 10 Mammonite)"; + next; + if (select("900 Zeny:1000 Zeny:2000 Zeny:100,000 Zeny") == 2) + set .@blackss_te,.@blackss_te+20; + mes "[Mitehmaeeuh]"; + mes "4. What is the"; + mes "discount rate when"; + mes "the ^8E6B23Discount^000000"; + mes "skill is mastered?"; + next; + if (select("21 % :22 % :23 % :24 % ") == 4) + set .@blackss_te,.@blackss_te+20; + mes "[Mitehmaeeuh]"; + mes "5. What is the maximum"; + mes "percentage that you can"; + mes "overcharge items sold to"; + mes "NPCs after mastering the"; + mes "^8E6B23Overcharge^000000 skill?"; + next; + if (select("21 % :22 % :23 % :24 % ") == 3) + set .@blackss_te,.@blackss_te+20; + break; + case 2: + mes "[Mitehmaeeuh]"; + mes "1. Which of the"; + mes "following monsters"; + mes "drops Steel?"; + next; + if (select("Zerom:Chon Chon:Skel Worker:Requiem") == 3) + set .@blackss_te,.@blackss_te+20; + mes "[Mitehmaeeuh]"; + mes "2. Which of the following"; + mes "stones can be made from"; + mes "Red Bloods?"; + next; + if (select("Flame Heart:Rough Wind:Great Nature:Mystic Frozen") == 1) + set .@blackss_te,.@blackss_te+20; + mes "[Mitehmaeeuh]"; + mes "3. Which of the following"; + mes "stones do you have the most"; + mes "of in your Kafra Storage?"; + next; + select("Wind of Verdure:Red Blood:Green Live:Crystal Blue"); + set .@blackss_te,.@blackss_te+20; + mes "[Mitehmaeeuh]"; + mes "4. In general,"; + mes "which of the following"; + mes "properties receives the"; + mes "most damage from a Wind"; + mes "attribute weapon?"; + next; + if (select("Fire Property:Water Property:Earth Property:Wind Property") == 2) + set .@blackss_te,.@blackss_te+20; + mes "[Mitehmaeeuh]"; + mes "5. How many Iron Ore"; + mes "is required to make"; + mes "1 Steel?"; + next; + if (select("5 Iron Ore :4 Iron Ore:3 Iron Ore:6 Iron Ore") == 1) + set .@blackss_te,.@blackss_te+20; + break; + case 3: + mes "[Mitehmaeeuh]"; + mes "1. What do you usually"; + mes "do when you meet someone"; + mes "randomly on the street?"; + next; + switch(select("Ask them what they need.:Have a brief conversation.:Ignore them.:Give items and run away.")) { + case 1: + case 2: + set .@blackss_te,.@blackss_te+20; + break; + default: + break; + } + mes "[Mitehmaeeuh]"; + mes "2. In what village"; + mes "can you learn the"; + mes "^8E6B23Crazy Uproar^000000 and"; + mes "^8E6B23Change Cart^000000 skills?"; + next; + if (select("Al De Baran:Alberta:Morroc:Izlude") == 2) + set .@blackss_te,.@blackss_te+20; + mes "[Mitehmaeeuh]"; + mes "3. From the center of Einbroch,"; + mes "in which direction is the Blacksmith Guild?"; + next; + if (select("11 o'clock:5 o'clock:7 o'clock:12 o'clock") == 2) + set .@blackss_te,.@blackss_te+20; + mes "[Mitehmaeeuh]"; + mes "4. In which town"; + mes "can you find the"; + mes "most Blacksmiths?"; + next; + if (select("Prontera:Morroc:Alberta:Einbroch") == 4) + set .@blackss_te,.@blackss_te+20; + mes "[Mitehmaeeuh]"; + mes "5. Which of the"; + mes "following statuses"; + mes "affect your skill"; + mes "as a Blacksmith?"; + next; + if (select("STR :DEX:AGI :VIT ") == 2) + set .@blackss_te,.@blackss_te+20; + break; + } + mes "[Mitehmaeeuh]"; + mes "Ah..."; + mes "You've completed"; + mes "the quiz. Let's see..."; + next; + mes "[Mitehmaeeuh]"; + mes "You earned"; + mes ""+ .@blackss_te +" points..."; + if (.@blackss_te > 70) { + mes "Very nice!"; + mes "Congratulations!"; + mes "You just passed!"; + next; + mes "[Mitehmaeeuh]"; + mes "However, don't let your early success make you overconfident. A Blacksmith's life isn't a picnic. As proof that you have passed the test, I give you this Hammer of Blacksmith."; + set BSMITH_Q,17; + getitem 1005,1; //Hammer_Of_Blacksmith + changequest 2014,2015; + next; + mes "[Mitehmaeeuh]"; + mes "Take this Hammer"; + mes "of Blacksmith and go back to the Altiregen. Okay then? I wish you the best of luck!"; + close; + } + mes "You failed! You better study up before coming back here."; + next; + mes "[Mitehmaeeuh]"; + mes "With your knowledge, or lack thereof, you'll just end up hurting yourself holding a hammer!"; + close; + } + mes "[Mitehmaeeuh]"; + mes "Okay then."; + mes "Please prepare"; + mes "yourself and return"; + mes "when you are ready..."; + close; + } + else if (BSMITH_Q == 17) { + emotion e_hmm; + mes "[Mitehmaeeuh]"; + mes "Yeap, you just passed the Blacksmith job test~"; + next; + mes "[Mitehmaeeuh]"; + mes "Why don't you go back to Mr.Altiregen?"; + next; + mes "[Mitehmaeeuh]"; + mes "Don't forget to bring the Hammer of Blacksmith with you!"; + next; + mes "[Mitehmaeeuh]"; + mes "Oh, also make sure that you have no skill point left before you change your job~"; + close; + } + else { + emotion e_hmm; + mes "[Mitehmaeeuh]"; + mes "I had to deal with the heat when I was in Morroc,"; + mes "and now I have to deal with the smog in this Einbroch!"; + next; + mes "[Mitehmaeeuh]"; + mes "But, I must admit that this is the perfect place for Blacksmiths because we have an abundance of crafting material supplies as well as highly developed equipment."; + next; + mes "[Mitehmaeeuh]"; + mes "We, Blacksmiths are trying our best to forge the best of the best weapons."; + next; + mes "[Mitehmaeeuh]"; + mes "We pledge our honor on that!"; + close; + } +} + +geffen_in,109,170,3 script Blacksmith Guildsman#gef 726,{ + mes "[Blacksmith Guildsman]"; + mes "Good day, are you here to visit Blacksmith Guild?"; + next; + mes "[Blacksmith Guildsman]"; + mes "I thank you for coming this far to visit our guild. However, I regret to inform you that Blacksmith Guild has been"; + mes "moved to ^3131FF'Einbroch' in the Schwaltzvalt Republic^000000."; + next; + mes "[Blacksmith Guildsman]"; + mes "You can travel to Schwaltzvalt Republic by using the airship."; + mes "I can provide you a teleport service to Izlude, where you can use the airship."; + mes "Would you like to move to Izlude immediately?"; + next; + switch(select("How to go to Einbroch:Yes!:No, thanks.")) { + case 1: + mes "[Blacksmith Guildsman]"; + mes "Oops, haven't you used the airship yet?"; + next; + mes "[Blacksmith Guildsman]"; + mes "Unlike Rune-Midgarts Kingdom, Schwalitzvalt Republic has 'the airship' instead of teleport services to move between towns."; + next; + mes "[Blacksmith Guildsman]"; + mes "In ^3131FF'Izlude'^000000, you can use ^3131FF'the international airship'^000000 which travels between ^3131FFIzlude and Juno in Schwaltzvalt Republic^000000."; + next; + mes "[Blacksmith Guildsman]"; + mes "Take the airship, and go to Juno. Then from Juno, you need to take ^3131FFthe domestic airship^000000 to go to Einbroch."; + mes "Remember, you are ^3131FFnot going outside of the airport^000000 upon transit from the international to the domestic airship."; + next; + mes "[Blacksmith Guildsman]"; + mes "It might sound complicated, but you will know once you are in the airport."; + mes "When you arrive in Blacksmith Guild, please send my regard to my coworkers!"; + close; + case 2: + if (Zeny < 600) { + mes "[Blacksmith Guildsman]"; + mes "Excuse me, but you do not have enough money."; + close; + } + set zeny,zeny-600; + warp "izlude",94,103; + end; + case 3: + mes "[Blacksmith Guildsman]"; + mes "Please take care!"; + close; + } +} diff --git a/npc/pre-re/jobs/2-1/hunter.txt b/npc/pre-re/jobs/2-1/hunter.txt new file mode 100644 index 000000000..7ec9fd7ec --- /dev/null +++ b/npc/pre-re/jobs/2-1/hunter.txt @@ -0,0 +1,1803 @@ +//===== rAthena Script ======================================= +//= Hunter Job Quest +//===== By: ================================================== +//= EREMES THE CANIVALIZER (Aegis)Translated by yoshiki (Aegis) +//= Converted by kobra_k88 +//= Further bugfixed and tested by Lupus +//===== Current Version: ===================================== +//= 3.7 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Job Change quest for Hunter class. +//===== Additional Comments: ================================= +//= 0.5 Fully working. +//= 0.6 Changed global variable names to unique ones. +//= 0.7 - 0.8 Updates for rAthena +Knight2,Crusader2 fix +//= 0.9 Fixed items quest fork bug [Lupus] +//= 1.0 Fixed items quest bug: added extra condition [Lupus] +//= 1.1 Fixed skillpoints check bug [Lupus] +//= 1.2 Fixed an exploit, thanks to nonox [celest] +//= 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.6a Infinite Arrows exploit fix (thanx to Lorky, that +//= reported the bug) [Lupus] +//= 1.7 Moved the Job QUest to Hugel [Poki#3] +//= 2.0 Changed numbers to constants. [Vicious] +//= 2.1 Removed Duplicates [Silent] +//= 2.2 Merged JFunc, fixed missing dialogues [Lupus] +//= 2.2a Fixed Sharon resetting the test2 item set [Lupus] +//= 2.3a 7 official sets of Demon Hunter,thx to Dr.Evil [Lupus] +//= 2.4a Added missing next;, missing NPC names [Lupus] +//= 2.5 "strcharinfo" -> "strcharinfo(0)" [FlavioJS] +//= 2.6 Fixed 3� Test. [Samuray22] +// -Changed Timers from 3 to 1 minute. +// -Changed "Job Change Monsters". +// -Thanks to ultradamage. +//= 2.7 Rescripted to Aegis 10.3 standards. [L0ne_W0lf] +//= 2.8 Several bugfixes with the help of Barron-Monster. [L0ne_W0lf] +//= 2.9 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf] +//= 2.9a Deleted unused variables. [Samuray22] +//= 3.0 Fixed a small typo, "jo" instead of "Job". [L0ne_W0lf] +//= 3.0a Corrected a Typo error ";;". [Samuray22] +//= 3.1 Now uses enable and disable waitingroomevent. [L0ne_W0lf] +//= 3.2 Fixes a bug where the timer was stopped causing the [L0ne_W0lf] +//= test to freeze. (bugreport:1099) +//= 3.3 Added missing next. [L0ne_W0lf] +//= 3.4 Corrected some Issues with the Waiting Room. (bugreport:1890) [Samuray22] +//= -Deleted a Unnecesary Next; on Hunter Guildsman#hnt. (bugreports:1665,2239,2179) +//= 3.5 Added Quest Log commands. [Kisuka] +//= 3.6 Removed the need for use of 'goto.' [L0ne_W0lf] +//= 3.7 Modified the quest to renewal. [Vali] (Thanks to Muad_Dib for the necessary info). +//============================================================ + +// Notices in the old Hunter Guild. +//============================================================ +in_hunter,99,99,4 script Hunter Info#hnt::HntNotice 727,{ + mes "============ Notice ============"; + mes "We would like to inform that the Hunter Job Change Location"; + mes "has been moved to ^ff0000Hugel^000000 in the Schwaltzvalt Republic."; + next; + mes "You can now use the Hugel airline, so please use the airship to visit Hugel."; + next; + mes "You will find the new Job Change Location at ^ff0000 Hugel 208 222 ^000000."; + next; + mes "^804000(You found a tiny line written at the end of the notice.)^000000"; + mes " "; + mes " "; + mes " "; + mes "I, the Falcon breeder have moved out as well."; + close; +} + +pay_fild10,148,252,3 duplicate(HntNotice) Job Change Location#hu 857 + +// Actual Job quest start +//============================================================ +hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ + if (Upper == 1) { + mes "[Hunter Sherin]"; + mes "Oh, how have you been? It's been a long time, hasn't it?"; + next; + mes "[Hunter Sherin]"; + mes "...Wait."; + mes "Oops! I'm sorry, I could have sworn that we've met before. Huh. How weird."; + close; + } + if (BaseJob == Job_Archer && JobLevel < 40) { + mes "[Hunter Guildsman]"; + mes "Eh? You haven't had enough training as an Archer yet. To become a Hunter, you must gain a certain level of experience as an Archer first."; + next; + mes "[Hunter Guildsman]"; + mes "Go out and train yourself a bit more. You'll need to be at least Job Level 40 before you'll be ready to become a Hunter. Of course, you can train more than that if you want."; + next; + mes "[Hunter Guildsman]"; + mes "See you next time~"; + close; + } + if (SkillPoint) { + mes "[Hunter Sherin]"; + mes "You can't change jobs without using all your skill points. Please use all of your skill points before applying to change jobs~"; + close; + } + if (BaseClass == Job_Novice) { + mes "[Hunter Guildsman]"; + mes "You must be..."; + mes "a Novice? Wow, you've got a long way ahead of you. I don't think there's much you can do here."; + close; + } + else if (BaseClass == Job_Swordman) { + mes "[Hunter Guildsman]"; + mes "You have chosen the path of the sword. I can respect the strength of your blade. Of course, from far away, you can't really afford to throw your sword at enemies, can you?"; + close; + } + else if (BaseClass == Job_Mage) { + mes "[Hunter Guildsman]"; + mes "You deal with magic? It must feel great to be able to wield mystic power."; + close; + } + else if (BaseClass == Job_Acolyte) { + mes "[Hunter Guildsman]"; + mes "Oh, a person who serves God! Nice to meet you. There aren't many people like you that visit this place~ Hehe."; + close; + } + else if (Baseclass == Job_Merchant) { + mes "[Hunter Guildsman]"; + mes "Oh..."; + mes "How's your business coming along?"; + close; + } + else if (BaseClass == Job_Thief) { + mes "[Hunter Guildsman]"; + mes "Agh?!"; + mes "This place doesn't have anything worth stealing or anyone worth killing!!"; + close; + } + else if (BaseJob == Job_Dancer || BaseJob == Job_Bard) { + mes "[Hunter Guildsman]"; + mes "Phew...sometimes it is really hard for being a hunter, you know..."; + mes "So how do you like your bohemian life? Yeah, I am envious of you for having so much freedom..."; + close; + } + else if (BaseJob == Job_Hunter) { + mes "[Hunter Sherin]"; + mes "Oh~ " + strcharinfo(0) + "!!"; + mes "Long time no see~ What brings you here? Did your Falcon run away or something?"; + next; + mes "[Hunter Sherin]"; + mes "I don't really have any official notices from the guild at the moment, so I hope you didn't come here just for that..."; + close; + } + else if (BaseJob == Job_Archer) { + if (SkillPoint) { + mes "[Hunter Sherin]"; + mes "You can't apply to change jobs if you still have unused skill points. Use your remaining skill points first."; + close; + } + else if (HNTR_Q == 17 && countitem(1007) == 0) { + mes "[Hunter Sherin]"; + mes "Hmm... I've been informed that you passed the test. But you don't have the necessary 'Necklace of Wisdom (Penetration)' that proves your accomplishment."; + next; + mes "[Hunter Sherin]"; + mes "I'll let you change your job, but you must bring back a 'Necklace of Wisdom (Penetration),' no matter what it takes."; + close; + } + else if (HNTR_Q == 17 && countitem(1007) > 0 && JobLevel > 39) { + mes "[Hunter Sherin]"; + mes "Oh...?"; + mes "You passed"; + mes "the job test?!"; + mes "Congratulations~!!"; + next; + mes "[Hunter Sherin]"; + mes "Well then,"; + mes "I will now change"; + mes "your job to a Hunter~"; + next; + delitem 1007,1; //Penetration + mes "[Hunter Sherin]"; + mes "Tada~ Congratulations!"; + mes "You look great as a Hunter!!"; + set .@joblvl,joblevel; + completequest 4013; + callfunc "Job_Change",Job_Hunter; + callfunc "F_ClearJobVar"; // clears all job variables for the current player + next; + mes "[Hunter Sherin]"; + mes "Become a noble person and become a worthy representative of our Hunter Guild. Show your love of nature as a Hunter~"; + next; + mes "[Hunter Sherin]"; + mes "And also, here is a little reward for all the effort you put in. It's from me, of course~"; + if (.@joblvl > 49) + getitem 1718,1; //Hunter_Bow + else + getitem 1710,1; //CrossBow + close; + } + else if ((JobLevel > 39) && ((HNTR_Q == 0) || (HNTR_Q == 1))) { + if (HNTR_Q == 0) { + mes "[Hunter Guildsman]"; + mes "Oh, you're an Archer! It seems as if you've trained enough as an Archer... You came here to become a Hunter, right?"; + next; + switch(select("Yes. That's what I'm here for.:What are the requirements to change jobs?:....I don't want to change yet.")) { + case 1: + mes "[Hunter Guildsman]"; + mes "Hehe~"; + mes "I was right! Let me put you on the candidate list. Let's see~*"; + next; + mes "[Hunter Guildsman]"; + mes "Hmm... Let's start with the interview. Wait and relax a moment. No need to worry, I'll prepare everything~"; + next; + mes "^3355FF*Gathers and flips through papers*^000000"; + next; + mes "^3355FF*Rummage rummage*^000000"; + next; + mes "[Hunter Guildsman]"; + mes "Ah!"; + mes "Here they are: the interview questions~ First of all, my name is 'Sherin.' Nice to meet you!"; + next; + mes "[Hunter Sherin]"; + mes "Well then,"; + mes "shall we begin?"; + next; + if (select("Yes~ Let's start now.:No, I'll be back later.") == 1) { + if(checkquest(4000) == -1) { + setquest 4000; + } + mes "[Hunter Sherin]"; + mes "Listen carefully to the scenarios I describe. When I ask a question, you choose an answer. Pretty simple, don't you think?"; + next; + mes "[Hunter Sherin]"; + mes "I just want to know how you think about life, and why you want to become a Hunter, so there's no need to be nervous."; + next; + } + else { + mes "[Hunter Sherin]"; + mes "Okay..."; + mes "Come back"; + mes "when you're ready~"; + close; + } + break; + case 2: + set .@selection,2; + break; + case 3: + set .@selection,3; + break; + } + } + else if (HNTR_Q == 1) { + mes "[Hunter Sherin]"; + mes "Welcome back...!"; + mes "Well, let's start with the interview. This time, carefully think about the answers to each question."; + next; + } + switch(.@selection) { + default: + mes "[Hunter Sherin]"; + mes "Well then,"; + mes "let's begin."; + next; + mes "[Hunter Sherin]"; + mes "You are an Archer, and you don't know where you should go to hunt. What do you do?"; + next; + switch(select("Scream out loud asking where you should go.:Quietly ask a person passing by.:Wander around alone and search for a place.")) { + case 2: + case 3: + set .@hunter_t,.@hunter_t+10; + default: + break; + } + mes "[Hunter Sherin]"; + mes "So you've decided on a place to hunt. You're going to hunt the monsters known as Hodes in the Sograt Desert."; + next; + mes "[Hunter Sherin]"; + mes "But you are in Payon!!"; + mes "How do you go to the desert?"; + next; + switch(select("Ask a Priest to open a free warp portal.:Use the Kafra service.:Walk with a friend.")) { + case 2: + case 3: + set .@hunter_t,.@hunter_t+10; + default: + break; + } + mes "[Hunter Sherin]"; + mes "There is no Priest to ask for a warp, and no friend is around to walk with you. You must use the Kafra service, but you have no Zeny!"; + next; + mes "[Hunter Sherin]"; + mes "How would you go"; + mes "about to make the"; + mes "Zeny that you need?"; + next; + switch(select("Beg here and there.:Sell items I do not need.:Hunt at a nearby field.")) { + case 2: + case 3: + set .@hunter_t,.@hunter_t+10; + default: + break; + } + mes "[Hunter Sherin]"; + mes "So you finally arrive at the Sograt Desert. But you realize that Hodes are a bit too strong for you to hunt alone."; + next; + mes "[Hunter Sherin]"; + mes "What is your"; + mes "solution to this"; + mes "situation?"; + next; + if (select("Attack a Hode from the top of a hill.:Go back to town.:Attack someone else's Hode.") == 2) + set .@hunter_t,.@hunter_t+10; + mes "[Hunter Sherin]"; + mes "Let's say you were having too much trouble hunting Hodes and returned to town. Now you are out of HP and a Priest happens to be around. How would you ask for a Heal?"; + next; + if (select("Would it be possible to get a Heal, please?:Heal, please.:Heal me.") == 1) + set .@hunter_t,.@hunter_t+10; + mes "[Hunter Sherin]"; + mes "This time, you found a rare item while you were going through your inventory. You go out to sell the item, and there are many people with stores and chatrooms open."; + next; + mes "[Hunter Sherin]"; + mes "What is the"; + mes "best way to"; + mes "sell your item?"; + next; + switch(select("Scream out loud to everyone in sight.:Open a chatroom and wait.:Look to see if anyone already wants it.")) { + case 2: + case 3: + set .@hunter_t,.@hunter_t+10; + default: + break; + } + mes "[Hunter Sherin]"; + mes "While you are waiting, someone is begging for items and Zeny. What should you do?"; + next; + if (select("Give some of my items and Zeny.:Ignore and walk away.:Tell the person about a good place to hunt.") == 1) + set .@hunter_t,.@hunter_t+10; + mes "[Hunter Sherin]"; + mes "By now, you decide to go to the Maze by yourself."; + next; + mes "[Hunter Sherin]"; + mes "But on your way, you run"; + mes "into someone that is lost."; + mes "What should you do?"; + next; + switch(select("Tell them which way to go.:Guide them to their destination.:Ignore.")) { + case 1: + case 2: + set .@hunter_t,.@hunter_t+10; + default: + break; + } + mes "[Hunter Sherin]"; + mes "After meeting this lost person, you decide to get back to hunting. Just then, you find that someone is attacking a boss!"; + next; + mes "[Hunter Sherin]"; + mes "What should you do?"; + next; + if (select("Watch, then attack when asked for help.:Attack and see what happens.:Just go back to town.") == 1) + set .@hunter_t,.@hunter_t+10; + mes "[Hunter Sherin]"; + mes "You are now very exhausted after your day of hunting. It's time to go back to town."; + next; + mes "[Hunter Sherin]"; + mes "But what's this!? You find an expensive item lying on the floor! What should you do with it?"; + next; + switch(select("Pick it up and keep it.:Try to find the owner.:Just walk by.")) { + case 2: + case 3: + set .@hunter_t,.@hunter_t+10; + default: + break; + } + mes "[Hunter Sherin]"; + mes "Okay, this is the end of the test!"; + next; + if (.@hunter_t == 100) { + set HNTR_Q,2; + changequest 4000,4001; + mes "[Hunter Sherin]"; + mes "Well done! Your answers show you've got the right outlook on life. You definitely have the right qualities to become a Hunter~"; + next; + mes "[Hunter Sherin]"; + mes "I'm glad to say you've passed the interview~ Now, go to that person in the corner and confirm which item is necessary for your job change test~"; + close; + } + else if (.@hunter_t == 90) { + set HNTR_Q,2; + changequest 4000,4001; + mes "[Hunter Sherin]"; + mes "Well, I'm looking at your answers and your score isn't perfect. But I'll let you pass anyway. I don't know what our Guildmaster will think, though."; + next; + mes "[Hunter Sherin]"; + mes "Just remember to always keep basic etiquette in mind. Try harder in the following tests and make me happy, okay?"; + close; + } + set HNTR_Q,1; + mes "[Hunter Sherin]"; + mes "Hmm... I don't think this'll work out. You can't become a Hunter without knowing basic etiquette."; + next; + mes "[Hunter Sherin]"; + mes "Think about how you answered the questions one more time. In order to value nature, you must first value your relationship with others."; + next; + mes "[Hunter Sherin]"; + mes "Then, you'll be more in tune with nature and with other people. It's this kind of harmony that makes the best Hunters."; + close; + case 2: + mes "[Hunter Guildsman]"; + mes "Job change"; + mes "requirements?"; + mes "First..."; + mes "You must be an Archer."; + next; + mes "[Hunter Guildsman]"; + mes "Second..."; + mes "You must be"; + mes "at least Job Level 40."; + next; + mes "[Hunter Guildsman]"; + mes "Third..."; + mes "You must bring all of the items that will be requested by the guild. You can worry about that later."; + next; + mes "[Hunter Guildsman]"; + mes "Fourth..."; + mes "You've gotta pass the test administered by the guild. If you have had enough training as an Archer, you should be able to pass the test~"; + break; + case 3: + mes "[Hunter Guildsman]"; + mes "Okay then,"; + mes "see you next time~"; + close; + } + } + else if (HNTR_Q > 2 && HNTR_Q < 10) { + mes "[Hunter Sherin]"; + mes "Just give the item to the Demon Hunter, the guy who's all the way to the left in this area~"; + next; + mes "[Hunter Sherin]"; + if (sex) + mes "If you decide to become a Hunter, promise to come visit me. I want to see you as a Hunter. You would look great!!"; + else + mes "If you decide to become a Hunter, come and visit me, okay? You're pretty, but... You'd be even prettier as a Hunter. Hehe~"; + close; + } + else if (HNTR_Q == 2) { + mes "[Hunter Sherin]"; + mes "????"; + next; + mes "[Hunter Sherin]"; + mes "You weren't able to find the Demon Hunter? That guy is just to the left! Hehe~"; + next; + mes "[Hunter Sherin]"; + mes "I want to see you become a Hunter...! Waaah~ I think you'd look great, so please hurry!"; + close; + } + mes "[Hunter Sherin]"; + mes "Hmm, I think you're supposed to visit someone else, not me. Like our Guildmaster who's out for business, you know?"; + next; + mes "[Hunter Sherin]"; + mes "I heard he's at the Payon Central Palace... Or in the Archer Village, one of those two places. Try visiting those places and find him, okay?"; + close; + } + mes "[Hunter Guildsman]"; + mes "Eh? You haven't trained enough as an Archer. To become a Hunter, you need to gain more experience as an Archer first."; + next; + mes "[Hunter Guildsman]"; + mes "Well then, go train some more. You must be at least Job Level 40 to be exact. Of course, you can always go higher. See you next time~"; + close; +} + +hu_in01,382,382,4 script Guild Receptionist#hnt 732,{ + if (HNTR_Q == 2) { + mes "[Guild Receptionist]"; + mes "Greetings. They call me... ^660000The Demon Hunter^000000. I am the one in charge of processing applications. Your name is ... " + strcharinfo(0) + ", correct?"; + next; + set .@selection,select("Yes, that is correct.:Nope~~(heeheehee)"); + if (.@selection == 2) { + mes "[Demon Hunter]"; + mes "Hey, stop messing around."; + mes "Your name is " + strcharinfo(0) + ", right?"; + next; + if (select("Yes...:Hehehe. I keep telling you, it's not~~") == 1) { + mes "[Demon Hunter]"; + mes "Okay, then. These are the items you need for the test. Since we provide all of the necessary arrows you'll use for the test, we need you to get the materials to make them."; + next; + mes "[Demon Hunter]"; + mes "You see, right now we're having some financial problems. Let's see, we're short on these items..."; + next; + } + else { + mes "[Demon Hunter]"; + mes "Leave if you plan to trifle me your petty tricks. Do you not realize that you are toying with ^660000The Demon Hunter^000000?!'"; + close2; + warp "hugel",208,223; + end; + } + } + mes "[Demon Hunter]"; + mes "Okay. These are the items you need for the test. Since we provide all the arrows you will be using for this test, we need you to get the materials to make them."; + next; + mes "[Demon Hunter]"; + mes "You see, we're having some financial problems. Let's see, we're short on these items..."; + next; + switch(rand(1,7)) { + //Insect_Feeler, Wooden_Block, White_Herb + case 1: setarray .@items[0], 928,5, 1019,5, 509,3, 3; changequest 4001,4002; break; + //Bill_Of_Birds, Skel_Bone, Green_Herb + case 2: setarray .@items[0], 925,3, 932,5, 511,3, 4; changequest 4001,4003; break; + //Colorful_Shell, Animal's_Skin, Red_Herb + case 3: setarray .@items[0], 1013,3, 919,3, 507,5, 5; changequest 4001,4004; break; + //Horn, Poison_Spore, Fluff + case 4: setarray .@items[0], 947,3, 7033,3, 914,10, 6; changequest 4001,4005; break; + //Shell, Worm_Peelings, Yellow_Herb + case 5: setarray .@items[0], 935,9, 955,9, 508,9, 7; changequest 4001,4006; break; + //Tooth_Of_Bat, Sticky_Mucus, Bear's_Foot + case 6: setarray .@items[0], 913,3, 938,1, 948,1, 8; changequest 4001,4007; break; + //Porcupine_Spike, Yoyo_Tailm Acorn + case 7: setarray .@items[0], 1027,2, 942,1, 1026,1, 9; changequest 4001,4008; break; + } + if (.@selection == 1) { + mes "[Demon Hunter]"; + mes "Hmm. ^660000"+.@items[1]+" "+getitemname(.@items[0])+"^000000 to use for arrow tips. ^660000"+.@items[3]+" "+getitemname(.@items[2])+"^000000 to use here and there. And ^660000"+.@items[5]+" "+getitemname(.@items[4])+"^000000 please."; + set HNTR_Q,.@items[6]; + next; + mes "[Demon Hunter]"; + mes "Oh right. Our Guildmaster has gone on an official trip to the Payon Central Palace. You have to go visit him because the one that administers the test."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back to me when you have everything ready~"; + } + close; + } + else if (HNTR_Q >= 3 && HNTR_Q <= 9) { + switch(HNTR_Q) { + //Insect_Feeler, Wooden_Block, White_Herb + case 3: setarray .@items[0], 928,5, 1019,5, 509,3, 10; break; + //Bill_Of_Birds, Skel_Bonem Green_Herb + case 4: setarray .@items[0], 925,3, 932,5, 511,3, 10; break; + //Colorful_Shell, Animal's_Skin, Red_Herb + case 5: setarray .@items[0], 1013,3, 919,3, 507,5, 10; break; + //Horn, Poison_Spore, Fluff + case 6: setarray .@items[0], 947,3, 7033,3, 914,10, 10; break; + //Shell, Worm_Peelings, Yellow_Herb + case 7: setarray .@items[0], 935,9, 955,9, 508,9, 11; break; + //Tooth_Of_Bat, Sticky_Mucus, Bear's_Foot + case 8: setarray .@items[0], 913,3, 938,1, 948,1, 11; break; + //Porcupine_Spike, Yoyo_Tailm Acorn + case 9: setarray .@items[0], 1027,2, 942,1, 1026,1, 11; break; + } + mes "[Demon Hunter]"; + mes "Hmm?"; + next; + if (countitem(.@items[0]) >= .@items[1] && countitem(.@items[2]) >= .@items[3] && countitem(.@items[4]) >= .@items[5]) { + mes "[Demon Hunter]"; + mes "You brought all of the necessary materials... You can get directions to the testing area from our Guildmaster who is currently in the Payon Central Palace."; + set HNTR_Q,.@items[6]; + if(checkquest(4002) != -1) { + changequest 4002,4009; + } + else if(checkquest(4003) != -1) { + changequest 4003,4009; + } + else if(checkquest(4004) != -1) { + changequest 4004,4009; + } + else if(checkquest(4005) != -1) { + changequest 4005,4009; + } + else if(checkquest(4006) != -1) { + changequest 4006,4010; + } + else if(checkquest(4007) != -1) { + changequest 4007,4010; + } + else { + changequest 4008,4010; + } + delitem .@items[0],.@items[1]; + delitem .@items[2],.@items[3]; + delitem .@items[4],.@items[5]; + close; + } + mes "[Demon Hunter]"; + mes "You don't have all"; + mes "of the required materials..."; + next; + mes "[Demon Hunter]"; + mes "The items you need are"; + mes "^660000"+.@items[1]+" "+getitemname(.@items[0])+"^000000,"; + mes "^660000"+.@items[3]+" "+getitemname(.@items[2])+"^000000 and"; + mes "^660000"+.@items[5]+" "+getitemname(.@items[4])+"^000000."; + mes "Come back once you have"; + mes "gathered all the items."; + close; + } + else if (HNTR_Q > 9 && HNTR_Q < 17) { + mes "[Demon Hunter]"; + mes "Hmm? You didn't go to the Guildmaster either in Payon Central Palace or at the Archer Guild? He should be at one of the two places, so go look for him."; + close; + } + else if (HNTR_Q == 17) { + mes "[Demon Hunter]"; + mes "Ooh. You passed the test. Congratulations~ You should go talk to Sherin now."; + close; + } + else { + mes "[Guild Receptionist]"; + mes "If you wish to change your job to a Hunter, you must register first."; + close; + } +} + +payon_in03,131,7,3 script Hunter#htnGM 59,{ + if (HNTR_Q == 10) { + mes "[Hunter Guildmaster]"; + mes "Hmpf. You must be here for the Hunter job test. Let me tell you about the testing process. What would you like to know?"; + next; + switch(select("What is the test?:What are the passing requirements?:Any warnings?:Begin test.")) { + case 1: + mes "[Hunter Guildmaster]"; + mes "You have to hunt down certain monsters with a particular name. But you must avoid all the traps while you're at it."; + next; + mes "[Hunter Guildmaster]"; + mes "This is to test your ability to move swiftly and locate targets in various situations."; + close; + case 2: + mes "[Hunter Guildmaster]"; + mes "Within the time limit, starting in the 6 o'clock direction of the map, you must hunt the target monsters and then hit the escape switch that will appear in the center of the map."; + next; + mes "[Hunter Guildmaster]"; + mes "You will pass if you are able to escape in the 12 o'clock direction of the map after you hit the switch."; + close; + case 3: + mes "[Hunter Guildmaster]"; + mes "Hmm. Warnings... Well, if you fall into a trap, you have to start from the beginning. Also, only one person can take the test at a time."; + next; + mes "[Hunter Guildmaster]"; + mes "I will send you to the testing place. There will be a waiting room, but if someone else is taking the test, you must wait in the chatroom."; + next; + mes "[Hunter Guildmaster]"; + mes "If the person in front succeeds, resigns or fails, the next person waiting in the chatroom is sent to the testing area. If nobody is waiting, the test will begin as soon as you enter the chatroom."; + close; + case 4: + if (.@a0) { + mes "[Hunter Guildmaster]"; + mes "Okay. I'll send you to the testing area right now. Don't blame me if you get lost or confused because you didn't listen to my explanation."; + next; + } + mes "[Hunter Guildmaster]"; + mes "Okay. Best of luck."; + mes "I'll send you right now."; + next; + } + mes "[Hunter Guildmaster]"; + mes "Well, then. Your arrows are probably still being made, so you can use mine to take the test."; + set HNTR_Q,12; + changequest 4009,4011; + getitem 1751,200; //Silver_Arrow + close2; + warp "job_hunte",176,22; + end; + } + else if (HNTR_Q > 1 && HNTR_Q < 10) { + mes "[Hunter Guildmaster]"; + mes "Mmm...?"; + mes "What is an Archer"; + mes "visiting me for?"; + next; + mes "[Hunter Guildmaster]"; + mes "I wasn't notified about anything in particular from the Hunter Guild. You're not trying to skip the middle part of the Hunter test, are you?"; + next; + mes "[Hunter Guildmaster]"; + mes "Go gather the items for the test, and come back after you've visited the Hunter Guild."; + close; + } + else if (HNTR_Q == 11) { + mes "[Hunter]"; + mes "Hmm? Can I help you? If you wish to change jobs, you should visit the person at the Archer Guild, not me."; + close; + } + else if (HNTR_Q > 11 && HNTR_Q < 16) { + mes "[Hunter Guildmaster]"; + mes "Hmm. You're the Archer that almost gave up on changing jobs. You do have everything ready, right? Then I'll send you to take the test right away."; + next; + mes "[Hunter Guildmaster]"; + mes "If you have any"; + mes "questions, ask now."; + next; + switch(select("What is the test?:What are the passing requirements?:Any warnings?:Begin test.")) { + case 1: + mes "[Hunter Guildmaster]"; + mes "You have to hunt down certain monsters with a particular name, but you also avoid all the traps at the same time. This is to test your ability to move swiftly and locate targets in various situations."; + close; + case 2: + mes "[Hunter Guildmaster]"; + mes "Within the given time, you will start at the 6 o'clock direction of the map, hunt the target monsters, and then hit the escape switch that will appear in the center of the map."; + next; + mes "[Hunter Guildmaster]"; + mes "You will pass if you are able to escape in the 12 o'clock direction of the map after you hit the switch."; + close; + case 3: + mes "[Hunter Guildmaster]"; + mes "Hmm. Warnings... Well, if you fall into a trap, you have to start from the beginning. Also, only one person can take the test at a time."; + next; + mes "[Hunter Guildmaster]"; + mes "I'll send you to the testing place. There is a waiting room, but if someone else is taking the test, you must wait in the chatroom."; + next; + mes "[Hunter Guildmaster]"; + mes "If the person in front succeeds, resigns or fails, the next person waiting in the chatroom is sent to the testing area. If nobody is waiting, the test will begin as soon as you enter the chatroom."; + close; + case 4: + mes "[Hunter Guildmaster]"; + mes "Okay. Good luck."; + mes "I'll send you right now."; + next; + } + mes "[Hunter Guildmaster]"; + mes "Eh? Why won't I give you Silver Arrows? Don't expect anything when you don't bring any materials."; + next; + mes "[Hunter Guildmaster]"; + mes "Anyway, I believe you've prepared it yourself. Let's begin now."; + next; + if (select("Okay. Let's start...:Ah, wait a sec.") == 1) { + mes "[Hunter Guildmaster]"; + mes "Okay!! I hope"; + mes "you will pass this time!"; + close2; + set HNTR_Q,12; + warp "job_hunte",176,22; + end; + } + mes "[Hunter Guildmaster]"; + mes "Then hurry and finish"; + mes "all of your preparations."; + close; + } + else if (HNTR_Q == 16) { + mes "[Hunter Guildmaster]"; + mes "Wow, you came back in one piece!"; + mes "I mean, good job. I'll give you the item which proves that you have passed the test."; + set HNTR_Q,17; + savepoint "payon",104,99; + getitem 1007,1; //Penetration + changequest 4012,4013; + next; + mes "[Hunter Guildmaster]"; + mes "Okay, here it is. Now, go back to the Hunter Guild. I have some more business left to do here, but I hope you can become a Hunter soon."; + close; + } + else if (HNTR_Q == 17) { + mes "[Hunter Guildmaster]"; + mes "I see you aren't in a hurry to become a Hunter? When I first became a Hunter, I ran around for a month wildly brandishing my bow because I was so happy. Hehe~"; + next; + mes "[Hunter Guildmaster]"; + mes "Now, you should go back to the Hunter Guild~"; + close; + } + else { + mes "[Hunter]"; + mes "...Can I help you?"; + mes "I'm here for official business and am busy at the moment. If you'll excuse me..."; + close; + } +} + +payon_in02,21,31,1 script Hunter#htnGM2 59,{ + cutin "job_huntermaster",2; + if (HNTR_Q == 11) { + mes "[Hunter Guildmaster]"; + mes "Mmm. I see you're here for the Hunter job test. Let me explain the testing process. What would you like to know?"; + next; + switch(select("What is the test?:What are the passing requirements?:Any warnings?:Begin test.")) { + case 1: + mes "[Hunter Guildmaster]"; + mes "You have to hunt down certain monsters with a particular name, but you must avoid all of the traps here at the same time."; + next; + mes "[Hunter Guildmaster]"; + mes "This is to test your ability to move swiftly and locate targets in various situations."; + close2; + cutin "job_huntermaster",255; + end; + case 2: + mes "[Hunter Guildmaster]"; + mes "Within the given time, you will start in the 6 o'clock direction of the map, hunt the target monsters, and hit the escape switch that will appear in the center of the map."; + next; + mes "[Hunter Guildmaster]"; + mes "You will pass if you are able to escape in the 12 o'clock direction of the map when the switch is activated."; + close2; + cutin "job_huntermaster",255; + end; + case 3: + mes "[Hunter Guildmaster]"; + mes "Mmm. Warnings... Well, if you fall into a trap, you have to start the test over from the beginning. And only one person can take the test at a time."; + next; + mes "[Hunter Guildmaster]"; + mes "I'll send you to the testing place. There is a waiting room, but if someone else is taking the test, you must wait in the chatroom."; + next; + mes "[Hunter Guildmaster]"; + mes "If the person currently taking the test passes or fails, the next person waiting in the chatroom is sent to the testing area. If nobody is waiting, the test will begin as soon as you enter the chatroom."; + close2; + cutin "job_huntermaster",255; + end; + case 4: + if (.@a0) { + mes "[Hunter Guildmaster]"; + mes "...Okay. I'll send you to the testing area right now. Don't blame me if you get lost or confused because you didn't listen to the explanation."; + next; + } + mes "[Hunter Guildmaster]"; + mes "Okay, best of luck."; + mes "I'll send you right now."; + next; + } + mes "[Hunter Guildmaster]"; + mes "Well, your arrows are probably still being made, so you can use mine to take the test."; + getitem 1751,200; //Silver_Arrow + next; + mes "[Hunter Guildmaster]"; + mes "Good luck."; + set HNTR_Q,12; + changequest 4010,4011; + warp "job_hunte",176,22; + cutin "job_huntermaster",255; + end; + } + else if (HNTR_Q > 1 && HNTR_Q < 10) { + mes "[Hunter Guildmaster]"; + mes "Mmm...?"; + mes "Why is an Archer"; + mes "visiting me?"; + next; + mes "[Hunter Guildmaster]"; + mes "I wasn't notified by the Hunter Guild about anything. You're not trying to skip the middle part of the Hunter test, are you?"; + next; + mes "[Hunter Guildmaster]"; + mes "Stop by once you have gathered all the items needed for the test."; + close2; + cutin "job_huntermaster",255; + end; + } + else if (HNTR_Q == 10) { + mes "[Hunter]"; + mes "Mmm?"; + mes "Can I help you"; + mes "with something?"; + mes "Oh, you must be"; + mes "a Hunter applicant."; + next; + mes "[Hunter]"; + mes "If you wish to change jobs, I think you need to go visit the person at Payon Central Palace."; + close2; + cutin "job_huntermaster",255; + end; + } + else if (HNTR_Q > 11 && HNTR_Q < 16) { + mes "[Hunter Guildmaster]"; + mes "Mmm? Aren't you the Archer who gave up last time? Now you're ready, right? Then I'll send you to the job change area right now."; + next; + mes "[Hunter Guildmaster]"; + mes "If you still"; + mes "have questions,"; + mes "feel free to ask."; + next; + switch(select("What is the test?:What are the requirements to pass the test?:Any warnings?:Begin test.")) { + case 1: + mes "[Hunter Guildmaster]"; + mes "You have to hunt down certain monsters with a particular name, but you must avoid all of the traps here at the same time."; + next; + mes "[Hunter Guildmaster]"; + mes "This is to test your ability to move swiftly and locate targets in various situations."; + close2; + cutin "job_huntermaster",255; + end; + case 2: + mes "[Hunter Guildmaster]"; + mes "Within the given time, you will start in the 6 o'clock direction of the map, hunt the target monsters, and hit the escape switch that will appear in the center of the map."; + next; + mes "[Hunter Guildmaster]"; + mes "You will pass if you are able to escape in the 12 o'clock direction of the map when the switch is activated."; + close2; + cutin "job_huntermaster",255; + end; + case 3: + mes "[Hunter Guildmaster]"; + mes "Mmm. Warnings... Well, if you fall into a trap, you have to start the test over from the beginning. And only one person can take the test at a time."; + next; + mes "[Hunter Guildmaster]"; + mes "I'll send you to the testing place. There is a waiting room, but if someone else is taking the test, you must wait in the chatroom."; + next; + mes "[Hunter Guildmaster]"; + mes "If the person currently taking the test passes or fails, the next person waiting in the chatroom is sent to the testing area. If nobody is waiting, the test will begin as soon as you enter the chatroom."; + close2; + cutin "job_huntermaster",255; + end; + case 4: + mes "[Hunter Guildmaster]"; + mes "Okay, good luck."; + mes "I'll send you right now..."; + next; + } + mes "[Hunter Guildmaster]"; + mes "Eh? Why don't I give you any Silver Arrows? Well, you shouldn't expect to get anything when you didn't even bring the materials."; + next; + mes "[Hunter Guildmaster]"; + mes "Well..."; + mes "I believe"; + mes "you're ready."; + mes "Let's begin."; + next; + if (select("Yes, let's start.:Ah, wait a moment.") == 1) { + mes "[Hunter Guildmaster]"; + mes "Okay!! Now..."; + mes "Pass this time!"; + close2; + cutin "job_huntermaster",255; + set HNTR_Q,12; + warp "job_hunte",176,22; + end; + } + mes "[Hunter Guildmaster]"; + mes "*Sigh...*"; + mes "Come back when"; + mes "you're done with"; + mes "your preparations."; + close2; + cutin "job_huntermaster",255; + end; + } + else if (HNTR_Q == 16) { + mes "[Hunter Guildmaster]"; + mes "Wow. You're back in one piece!"; + mes "I mean, good job. Well then, I'll give you the item which serves as proof that you passed the test."; + set HNTR_Q,17; + savepoint "payon",104,99; + getitem 1007,1; //Penetration + next; + mes "[Hunter Guildmaster]"; + mes "Well..."; + mes "There you go."; + mes "Now hurry back to the Hunter Guild, and join us~"; + close2; + cutin "job_huntermaster",255; + end; + } + else if (HNTR_Q == 17) { + mes "[Hunter Guildmaster]"; + mes "I see you're not in a hurry to become a Hunter. I was running around with joy, wildly brandishing my bow the first month I became a Hunter. Hehe~"; + next; + mes "[Hunter Guildmaster]"; + mes "Now hurry~"; + mes "They're waiting"; + mes "for you back"; + mes "at the Hunter Guild."; + close2; + cutin "job_huntermaster",255; + end; + } + else { + mes "[Hunter]"; + mes "What do you want? I'm on an official trip and am busy at the moment. Now if you'll excuse me."; + close2; + cutin "job_huntermaster",255; + end; + } +} + +job_hunte,178,32,1 script Guide#hnt 107,5,2,{ +OnTouch: + if (HNTR_Q == 12) { + mes "[Guide]"; + mes "Good day. Welcome to the Hunter testing site. The test begins when you enter the next room."; + next; + mes "[Guide]"; + mes "As explained before, hunt 4 or more of the monsters named ^3355FFJob change monster^000000. Upon doing so, a switch in the center of the map will then appear."; + next; + mes "[Guide]"; + mes "When you destroy the switch, the exit will appear in the 12 o'clock direction of the map. Complete everything within the given time and escape."; + next; + mes "[Guide]"; + mes "If you faint in the middle, fall into a trap, or go over the time limit, you'll fail. Then you must then retake the test."; + next; + mes "[Guide]"; + mes "We will provide the arrows, so just make sure that you bring a bow. Well, then. Please enter when you are ready."; + savepoint "job_hunte",176,22; + close; + } + else if (HNTR_Q > 12 && HNTR_Q < 16) { + mes "[Guide]"; + mes "Hmm..."; + mes "Did you mess up?"; + mes "I'll recover some"; + mes "of your HP and SP for now."; + percentheal 100,100; + next; + mes "[Guide]"; + mes "If it's too hard, it wouldn't hurt to try again next time. Would you like to resign for now?"; + next; + switch(select("Keep trying.:Resign.")) { + case 1: + mes "[Guide]"; + mes "Okay. Do your best and become a great Hunter. Please enter the waiting room. If someone is already taking the test, you must wait until that person is done."; + close; + case 2: + mapannounce "job_hunte",strcharinfo(0)+ " has resigned. Next person, please enter.",bc_map; + mes "[Guide]"; + mes "Very well. I'll send you to Payon. Hope to see you next time. Don't forget to save when you leave."; + // donpcevent "Waiting Room#hnt::OnStart"; + close2; + set HNTR_Q,13; + savepoint "payon",104,99; + warp "payon_in02",21,27; + } + } + else if (HNTR_Q > 15) { + mes "[Guide]"; + mes "You shouldn't be here. How about finding the required job change item first?"; + close2; + savepoint "payon",104,99; + warp "payon_in02",21,27; + } + end; +} + +job_hunte,178,38,1 script Waiting Room#hnt 66,{ + end; + +OnInit: + waitingroom "Waiting Room", 10,"Waiting Room#hnt::OnStartArena",1; + enablewaitingroomevent; + end; + +OnStartArena: + warpwaitingpc "job_hunte", 90, 67; + donpcevent "Manager#hnt::OnEnable"; + disablewaitingroomevent; + end; + +OnStart: + enablewaitingroomevent; + end; +} + +job_hunte,1,1,1 script Manager#hnt 66,{ +OnInit: + disablenpc "Manager#hnt"; + end; + +OnEnable: + donpcevent "Switch#hnt::OnDisable"; + enablenpc "Manager#hnt"; + set .MyMobs,6; + initnpctimer; + // Target Mosnters + monster "job_hunte",67,80,"Job Change Monster",1015,1,"Manager#hnt::OnMyMobDead"; + monster "job_hunte",114,78,"Job Change Monster",1015,1,"Manager#hnt::OnMyMobDead"; + monster "job_hunte",89,127,"Job Change Monster",1002,1,"Manager#hnt::OnMyMobDead"; + monster "job_hunte",53,73,"Job Change Monster",1041,1,"Manager#hnt::OnMyMobDead"; + monster "job_hunte",125,70,"Job Change Monster",1016,1,"Manager#hnt::OnMyMobDead"; + monster "job_hunte",90,92,"Job Change Monster",1015,1,"Manager#hnt::OnMyMobDead"; + // Decoy Monsters + monster "job_hunte",85,100,"Job Test Monster",1016,1,"Manager#hnt::OnMyMobDead2"; + monster "job_hunte",72,102,"Job Test Monster",1041,1,"Manager#hnt::OnMyMobDead2"; + monster "job_hunte",108,103,"Job Test Monster",1015,1,"Manager#hnt::OnMyMobDead2"; + monster "job_hunte",88,127,"Job Test Monster",1002,1,"Manager#hnt::OnMyMobDead2"; + monster "job_hunte",125,69,"Job Test Monster",1015,1,"Manager#hnt::OnMyMobDead2"; + monster "job_hunte",77,112,"Job Tester Monster",1016,1,"Manager#hnt::OnMyMobDead2"; + monster "job_hunte",53,106,"Job Tester Monster",1015,1,"Manager#hnt::OnMyMobDead2"; + monster "job_hunte",53,73,"Job Tester Monster",1002,1,"Manager#hnt::OnMyMobDead2"; + monster "job_hunte",125,70,"Job Tester Monster",1015,1,"Manager#hnt::OnMyMobDead2"; + monster "job_hunte",90,91,"Job Tester Monster",1015,1,"Manager#hnt::OnMyMobDead2"; + monster "job_hunte",67,80,"Hunter Change Monster",1015,1,"Manager#hnt::OnMyMobDead2"; + monster "job_hunte",77,112,"Hunter Change Monster",1016,1,"Manager#hnt::OnMyMobDead2"; + monster "job_hunte",53,106,"Hunter Change Monster",1015,1,"Manager#hnt::OnMyMobDead2"; + monster "job_hunte",53,73,"Hunter Change Monster",1015,1,"Manager#hnt::OnMyMobDead2"; + monster "job_hunte",125,70,"Hunter Change Monster",1015,1,"Manager#hnt::OnMyMobDead2"; + monster "job_hunte",90,91,"Job Transfer Monster",1041,1,"Manager#hnt::OnMyMobDead2"; + monster "job_hunte",85,100,"Job Transfer Monster",1002,1,"Manager#hnt::OnMyMobDead2"; + monster "job_hunte",72,102,"Job Transfer Monster",1015,1,"Manager#hnt::OnMyMobDead2"; + monster "job_hunte",108,103,"Job Transfer Monster",1015,1,"Manager#hnt::OnMyMobDead2"; + monster "job_hunte",77,112,"Job Transfer Monster",1015,1,"Manager#hnt::OnMyMobDead2"; + monster "job_hunte",112,139,"Binnie",1015,1,"Manager#hnt::OnMyMobDead2"; + monster "job_hunte",112,139,"Darrel",1015,1,"Manager#hnt::OnMyMobDead2"; + monster "job_hunte",112,139,"Rex",1015,1,"Manager#hnt::OnMyMobDead2"; + monster "job_hunte",112,139,"Anselmo",1015,1,"Manager#hnt::OnMyMobDead2"; + monster "job_hunte",90,91,"Anolian",1015,1,"Manager#hnt::OnMyMobDead2"; + monster "job_hunte",53,73,"Monster Sample",1002,1,"Manager#hnt::OnMyMobDead2"; + monster "job_hunte",53,106,"Not Me",1015,1,"Manager#hnt::OnMyMobDead2"; + monster "job_hunte",77,112,"Help Me",1015,1,"Manager#hnt::OnMyMobDead2"; + monster "job_hunte",72,102,"Do Not Hit Me",1015,1,"Manager#hnt::OnMyMobDead2"; + monster "job_hunte",108,103,"Attack Speed 184",1015,1,"Manager#hnt::OnMyMobDead2"; + end; + +OnMyMobDead: + set .MyMobs,.MyMobs-1; + if (.MyMobs < 3) { + mapannounce "job_hunte","Okay, good job... Now, find the switch in the center of the map!! Be careful of the traps!!",bc_map; + set HNTR_Q,14; + donpcevent "switch#hnt::OnEnable"; + donpcevent "Manager#hnt::OnDisable"; + } + else { + mapannounce "job_hunte","Okay~ You're almost there!!",bc_map; + } + end; + +OnMyMobDead2: + mapannounce "job_hunte",strcharinfo(0)+ "!! You made a mistake...Please try again.",bc_map; + set HNTR_Q,13; + warp "job_hunte",176,22; + donpcevent "Manager#hnt::OnReset"; + donpcevent "Waiting Room#hnt::OnStart"; + end; + +OnReset: + stopnpctimer; + +OnDisable: + killmonsterall "job_hunte"; + disablenpc "Manager#hnt"; + end; + +OnTimer1000: + mapannounce "job_hunte","The test shall now begin.",bc_map; + end; + +OnTimer3000: + mapannounce "job_hunte","As mentioned before, only hunt the monsters labeled 'Job change monster'.",bc_map; + end; + +OnTimer5000: + mapannounce "job_hunte","***** Be careful of the traps when hunting. *****",bc_map; + end; + +OnTimer7000: + mapannounce "job_hunte","Once you hunt 4 'Job change monster' the switch in the center will begin to operate.",bc_map; + end; + +OnTimer9000: + mapannounce "job_hunte","When you activate the escape switch, exit the testing area through the warp portal in the 12 o'clock direction.",bc_map; + end; + +OnTimer11000: + mapannounce "job_hunte","Everything must be completed within 3 minutes.",bc_map; + end; + +OnTimer13000: + mapannounce "job_hunte","You will have 3 minutes from now on. You will be notified after each minute passes.",bc_map; + end; + +OnTimer14000: + mapannounce "job_hunte"," ****** 3 minutes remaining. ****** ",bc_map; + end; + +OnTimer74000: + mapannounce "job_hunte"," ****** 2 minutes remaining. ****** ",bc_map; + end; + +OnTimer134000: + mapannounce "job_hunte"," ****** 1 minute remaining. ****** ",bc_map; + end; + +OnTimer164000: + mapannounce "job_hunte"," ****** 30 seconds remaining. ****** ",bc_map; + end; + +OnTimer187000: + mapannounce "job_hunte"," Test ends in 5 seconds...",bc_map; + end; + +OnTimer188000: + mapannounce "job_hunte"," Test ends in 4 seconds...",bc_map; + end; + +OnTimer189000: + mapannounce "job_hunte"," Test ends in 3 seconds...",bc_map; + end; + +OnTimer191000: + mapannounce "job_hunte"," Test ends in 2 seconds...",bc_map; + end; + +OnTimer192000: + mapannounce "job_hunte"," Test ends in 1 second.",bc_map; + end; + +OnTimer193000: + mapannounce "job_hunte"," 0 ",bc_map; + end; + +OnTimer194000: + mapannounce "job_hunte"," Time's up. Please try again.",bc_map; + end; + +OnTimer195000: + areawarp "job_hunte",50,64,129,143,"job_hunte",176,22; + end; + +OnTimer197000: + donpcevent "Manager#hnt::OnReset"; + donpcevent "Waiting Room#hnt::OnStart"; + end; +} + +job_hunte,93,101,1 script Switch#hnt 723,1,1,{ +OnTouch: + mes "^3355FFThere are 3 buttons"; + mes "on the escape switch.^000000"; + set HNTR_Q,15; + next; + switch(select("Escape:Cancel:Re-test")) { + case 1: + mes "^3355FFThe Escape Warp Portal"; + mes "has now been activated.^000000"; + close2; + mapannounce "job_hunte"," !! Escape Warp Portal activation complete. !! ",bc_map; + enablenpc "exit#hnttest"; + end; + case 2: + mes "^3355FFCanceling"; + mes "Operation.^000000"; + close2; + mapannounce "job_hunte"," !! Operation has been cancelled. !! ",bc_map; + end; + case 3: + mapannounce "job_hunte"," !! Cancellation warp activating... !! ",bc_map; + mes "^3355FFYou will soon be"; + mes "returned to the"; + mes "waiting room.^000000"; + close2; + set HNTR_Q,13; + warp "job_hunte",176,22; + donpcevent "Manager#hnt::OnReset"; + donpcevent "Waiting Room#hnt::OnStart"; + end; + } + +OnDisable: + disablenpc "exit#hnttest"; + disablenpc "Switch#hnt"; + end; + +OnEnable: + enablenpc "Switch#hnt"; + end; +} + +job_hunte,89,139,0 script exit#hnttest 45,2,2,{ +OnInit: + disablenpc "exit#hnttest"; + end; + +OnTouch: + donpcevent "Manager#hnt::OnReset"; + donpcevent "Waiting Room#hnt::OnStart"; + set HNTR_Q,16; + changequest 4011,4012; + savepoint "payon",104,99; + if (rand(1)) + warp "payon_in02",21,27; + warp "payon_in03",128,7; +} + +// Hunter Job test traps. +//============================================================ +job_hunte,52,140,0 script 1-1::HntTrap -1,0,1,{ +OnTouch: + switch(rand(200)) { + default: + case 1: mapannounce "job_hunte",strcharinfo(0) + ", you have fallen into a trap. You will be returned to the starting point.",bc_map; break; + case 2: mapannounce "job_hunte",strcharinfo(0) + ", yes you! Go back and start over!",bc_map; break; + case 3: mapannounce "job_hunte",strcharinfo(0) + " has failed!...well...you will if you don't start over...",bc_map; break; + case 4: mapannounce "job_hunte",strcharinfo(0) + ", has failed me! Go back to where you started!",bc_map; break; + case 5: mapannounce "job_hunte",strcharinfo(0) + ", you have blundered into a trap. I'm sorry, but for now, YOU LOSE.",bc_map; break; + case 6: mapannounce "job_hunte",strcharinfo(0) + ", what are you doing!? Go back and do it again!",bc_map; break; + case 7: mapannounce "job_hunte",strcharinfo(0) + ", come on! You can do better then this!! Try again!",bc_map; break; + case 8: mapannounce "job_hunte",strcharinfo(0) + ", has fallen into a trap...again. But don't worry, you're getting better.",bc_map; break; + case 9: mapannounce "job_hunte",strcharinfo(0) + ", fail, fail, fail... Go back to where you started!",bc_map; break; + case 10: mapannounce "job_hunte",strcharinfo(0) + "... aww~ Try again! You can do it!",bc_map; break; + case 11: mapannounce "job_hunte",strcharinfo(0) + ", @#$%#^!@ and you wanna be a what? Hunter? Get back there!",bc_map; break; + case 12: mapannounce "job_hunte",strcharinfo(0) + " was defeated by the forces of evil. Don't give up, hero!",bc_map; break; + case 13: mapannounce "job_hunte","I put a spell on you " + strcharinfo(0) + " and now you're mine! Go start over now.",bc_map; break; + case 14: mapannounce "job_hunte",strcharinfo(0) + ". G'day mate, welcome to the land down under. As a present, I'll send you to the starting point...",bc_map; break; + case 15: mapannounce "job_hunte","That's my nest " + strcharinfo(0) + "! dont step there, squawk~ Start over.",bc_map; break; + case 16: mapannounce "job_hunte",strcharinfo(0) + ", another archer down. 3 more to go!",bc_map; break; + case 17: mapannounce "job_hunte",strcharinfo(0) + ", have you got what it takes? Then try again.",bc_map; break; + case 18: mapannounce "job_hunte","Alas, " + strcharinfo(0) + ", you have fallen prey to the most feared of traps. The dreaded stink bomb! Run run run awaaaaaay!",bc_map; break; + case 19: mapannounce "job_hunte",strcharinfo(0) + " had too much prune juice to drink today. Back to the starting point~",bc_map; break; + case 20: mapannounce "job_hunte","No.... " + strcharinfo(0) + ", you have fallen into a trap. You will be returned to the starting point.",bc_map; break; + case 21: mapannounce "job_hunte","Meow *pounce* look my kitties we'll have some" + strcharinfo(0) + "stew. Back to the starting point if you don't want to become stew!",bc_map; break; + case 22: mapannounce "job_hunte","Sorry " + strcharinfo(0) + ", but you've actually found a BAD secret. You will be returned to the starting point.",bc_map; break; + case 23: mapannounce "job_hunte",strcharinfo(0) + ", silly Archer...your tenacity is touching. But it's back to the start for you...",bc_map; break; + case 24: mapannounce "job_hunte",strcharinfo(0) + ", you've fallen and you can't get up. You'll be carried back to the starting point.",bc_map; break; + case 25: mapannounce "job_hunte","Skip a turn " + strcharinfo(0) + ", go back to start.",bc_map; break; + case 26: mapannounce "job_hunte",strcharinfo(0) + ", nya nya, heh heh heh. You will be returned to the starting point.",bc_map; break; + case 27: mapannounce "job_hunte","Practice is over " + strcharinfo(0) + ". This time show me for real.",bc_map; break; + case 28: mapannounce "job_hunte",strcharinfo(0) + ", this is a Poring jellopy raid...Get out! Start from the beginning if you wish to continue.",bc_map; break; + case 29: mapannounce "job_hunte","Disconnected from server. " + strcharinfo(0) + ", you have to start over.",bc_map; break; + case 30: mapannounce "job_hunte",strcharinfo(0) + ", what does this button do...oops! I'm afraid you have to start over.",bc_map; break; + case 31: mapannounce "job_hunte",strcharinfo(0) + ", you have entered the bonus round! Aaaand, you lost. You will be returned to the starting point.",bc_map; break; + case 32: mapannounce "job_hunte","Oh, no " + strcharinfo(0) + ", you've stepped on a hive of bees. You narrowly escaped, all the way back to the beginning.",bc_map; break; + case 33: mapannounce "job_hunte",strcharinfo(0) + ", wait wait. That's a trap! Oh wait, that's dog. . . .",bc_map; break; + case 34: mapannounce "job_hunte","Stop " + strcharinfo(0) + "! For stepping on that trap, I shall punish you!",bc_map; break; + case 35: mapannounce "job_hunte",strcharinfo(0) + ", I'll be back. . . I hope you will too.",bc_map; break; + case 36: mapannounce "job_hunte",strcharinfo(0) + ", Come with me if you want to live. . to the starting point.",bc_map; break; + case 37: mapannounce "job_hunte",strcharinfo(0) + ", my... precious! Go back to the starting point.",bc_map; break; + case 38: mapannounce "job_hunte","Follow the yellow brick road... No wait, " + strcharinfo(0) + "!! Not that way...Back to the starting point it is.",bc_map; break; + case 39: mapannounce "job_hunte",strcharinfo(0) + ", you've really go to get the hang of this 'in tune with nature' thing. Now, you're lost!",bc_map; break; + case 40: mapannounce "job_hunte",strcharinfo(0) + ", it's only a story...not real. But you will be returned to the starting point.",bc_map; break; + case 41: mapannounce "job_hunte",strcharinfo(0) + ", you have fallen into a trap. And the trap...has fallen into you. Returning you to the starting point.",bc_map; break; + case 42: mapannounce "job_hunte","Fear not " + strcharinfo(0) + ", for you too, shall learn the powers of the dark side. You will now be returned to the starting point.",bc_map; break; + case 43: mapannounce "job_hunte",strcharinfo(0) + ", fell into a trap. Quite easily too, I'm afraid. But this hero won't be beaten that easily!",bc_map; break; + case 44: mapannounce "job_hunte"," Tip of the day: Do not step on the traps. You will be returned to the starting point.",bc_map; break; + case 45: mapannounce "job_hunte",strcharinfo(0) + " fell into a trap. Once again, for clarity's sake, the name is " + strcharinfo(0) + ".",bc_map; break; + case 46: mapannounce "job_hunte","Oy oy, " + strcharinfo(0) + ".. I've seen blind Porings get further! Go back to the starting point.",bc_map; break; + case 47: mapannounce "job_hunte","MY EYES!! " + strcharinfo(0) + ", you... you.. stepped on them. Go try again...I'd cry for you if I could even shed tears...",bc_map; break; + case 48: mapannounce "job_hunte",strcharinfo(0) + ", where are you? Right...NOT at the place where'd you be if you passed the test.",bc_map; break; + case 49: mapannounce "job_hunte"," Wow, they actually paid a guy to think of these comments. " + strcharinfo(0) + ", you can go back to the starting point.",bc_map; break; + case 50: mapannounce "job_hunte"," My word, " + strcharinfo(0) + "! You've precariously fallen into a trap! You will be returned back to the start. Cheerio~!",bc_map; break; + case 51: mapannounce "job_hunte",strcharinfo(0) + ", do you have any idea where you're going? Start over *sigh*.",bc_map; break; + case 52: mapannounce "job_hunte",strcharinfo(0) + ", do you like green tea ice cream? No? Go back to the starting point...*hmph*",bc_map; break; + case 53: mapannounce "job_hunte","Oh, no.. " + strcharinfo(0) + ", are you hurt? Come now, let's go back to the starting point.",bc_map; break; + case 54: mapannounce "job_hunte","Hi " + strcharinfo(0) + ", how are you? Here's a present~ a free warp! Back to the starting point.",bc_map; break; + case 55: mapannounce "job_hunte",strcharinfo(0) + ".......... did you know that that was a trap? I hope so, otherwise, I guess you'd be pretty embarassed.",bc_map; break; + case 56: mapannounce "job_hunte",strcharinfo(0) + ", what do you think of the interior design? I worked very hard on it... and this lovely feature that sends you back to the starting point.",bc_map; break; + case 57: mapannounce "job_hunte","BOOM BAM BOOM! " + strcharinfo(0) + ", you have fallen into my trap! But I won't kill you...just...humiliate you...",bc_map; break; + case 58: mapannounce "job_hunte","Oh, " + strcharinfo(0) + ".. You can do better. Try again!",bc_map; break; + case 59: mapannounce "job_hunte","Hello, this is your local Kafra worker... " + strcharinfo(0) + ", your mommy is waiting for you at the checkout line.",bc_map; break; + case 60: mapannounce "job_hunte",strcharinfo(0) + ", if you do well. I'll have a nice present waiting for you... What is it? You'll see if you pass~ Go try again now!",bc_map; break; + case 61: mapannounce "job_hunte",strcharinfo(0) + " faaaaaaaaaaaaaaaaailed.. Hehe, just kidding. You will be returned to the starting point so try again!",bc_map; break; + case 62: mapannounce "job_hunte",strcharinfo(0) + ", you fell into a trap. You should watch your feet more. What? Invisible? That's baby talk! Now go try again!",bc_map; break; + case 63: mapannounce "job_hunte"," Sorry, " + strcharinfo(0) + ", you have fallen into a trap. But I'll be nice and send you to the starting point.",bc_map; break; + case 64: mapannounce "job_hunte",strcharinfo(0) + ", HAHAHAHAHAHA!!!! I can't believe you fell for that one!",bc_map; break; + case 65: mapannounce "job_hunte",strcharinfo(0) + ", I was just about to tell you about that one...but, I didn't? Back to start.",bc_map; break; + case 66: mapannounce "job_hunte",strcharinfo(0) + "...I'm sorry my friend, but you lose. But don't worry, its not like this message is broadcast or anything.",bc_map; break; + case 67: mapannounce "job_hunte",strcharinfo(0) + ", I'm not so sure that you qualify for this anymore... Try again and prove me wrong.",bc_map; break; + case 68: mapannounce "job_hunte",strcharinfo(0) + ", OW...now that's gotta hurt. Back to the start~",bc_map; break; + case 69: mapannounce "job_hunte",strcharinfo(0) + ", I find your lack of faith disturbing... Let's start over.",bc_map; break; + case 70: mapannounce "job_hunte",strcharinfo(0) + ", your eyes can deceive you. Don't trust them. Stretch out with your feelings. Try again now.",bc_map; break; + case 71: mapannounce "job_hunte",strcharinfo(0) + ", if you once start down the dark path, forever it will dominate your destiny. You shall be returned to the starting point.",bc_map; break; + case 72: mapannounce "job_hunte",strcharinfo(0) + ", size doesn't matter. But, the number of traps that caught you do. Try again and win this time!",bc_map; break; + case 73: mapannounce "job_hunte",strcharinfo(0) + ", try not. Do or do not. There is no try.",bc_map; break; + case 74: mapannounce "job_hunte",strcharinfo(0) + ", that is why you fail. Now try again!",bc_map; break; + case 75: mapannounce "job_hunte",strcharinfo(0) + ", look. If its made of metal and looks like it has teeth, you shouldn't put your foot in it. So simple, really...",bc_map; break; + case 76: mapannounce "job_hunte",strcharinfo(0) + ", you are beaten. It is useless to resist.",bc_map; break; + case 77: mapannounce "job_hunte",strcharinfo(0) + ", I'm looking forward to completing your training. In time you will call me Master.",bc_map; break; + case 78: mapannounce "job_hunte",strcharinfo(0) + ", your overconfidence is your weakness.",bc_map; break; + case 79: mapannounce "job_hunte",strcharinfo(0) + ", watch your step. This place can be a little rough.",bc_map; break; + case 80: mapannounce "job_hunte",strcharinfo(0) + ", oh I told you it was dangerous here.",bc_map; break; + case 81: mapannounce "job_hunte",strcharinfo(0) + ", everything is proceeding as I have foreseen.",bc_map; break; + case 82: mapannounce "job_hunte",strcharinfo(0) + ", you should have not come back.",bc_map; break; + case 83: mapannounce "job_hunte",strcharinfo(0) + ", there are alternatives to fighting. But not to losing to this test. Now try again!",bc_map; break; + case 84: mapannounce "job_hunte",strcharinfo(0) + ", now that's a name I haven't heard in a while...let's hope I don't hear it again~!",bc_map; break; + case 85: mapannounce "job_hunte",strcharinfo(0) + ", we do not train to be merciful here, mercy is for the weak!",bc_map; break; + case 86: mapannounce "job_hunte",strcharinfo(0) + ", defeat does not exist here, does it?!",bc_map; break; + case 87: mapannounce "job_hunte",strcharinfo(0) + ", concentrate. Focus your powers!",bc_map; break; + case 88: mapannounce "job_hunte",strcharinfo(0) + ", am I going mad, or did the word -think- escape your lips?",bc_map; break; + case 89: mapannounce "job_hunte",strcharinfo(0) + ", you're just stalling now.",bc_map; break; + case 90: mapannounce "job_hunte",strcharinfo(0) + ", life isn't always fair.",bc_map; break; + case 91: mapannounce "job_hunte",strcharinfo(0) + ".... Uhhh...it's not OUR fault....",bc_map; break; + case 92: mapannounce "job_hunte",strcharinfo(0) + ", survivability takes priority.",bc_map; break; + case 93: mapannounce "job_hunte",strcharinfo(0) + ", people have the strength to overcome their obstacles...everyone can.",bc_map; break; + case 94: mapannounce "job_hunte",strcharinfo(0) + ", there is happiness for those who accept their fate, and there is glory for those who resist their fate.",bc_map; break; + case 95: mapannounce "job_hunte",strcharinfo(0) + ", some things are real and some things are false. Can't you tell the difference?",bc_map; break; + case 96: mapannounce "job_hunte",strcharinfo(0) + ", we are having fun aren't we? Everyday here is like a dream. I really hope it's going to be like this forever.",bc_map; break; + case 97: mapannounce "job_hunte",strcharinfo(0) + ", I'll give you just one piece of advice... dying hurts like hell.",bc_map; break; + case 98: mapannounce "job_hunte",strcharinfo(0) + ", don't give up the ghost! Just be more careful...",bc_map; break; + case 99: mapannounce "job_hunte",strcharinfo(0) + ", death is a gift given at birth. But...these traps won't kill you, don't worry.",bc_map; break; + case 100: mapannounce "job_hunte",strcharinfo(0) + ", I was counting on you from the beginning. But I guess you're gonna make me wait longer...",bc_map; break; + case 101: mapannounce "job_hunte",strcharinfo(0) + ", always with the end comes hope and rebirth. But it's back to the beginning for you~",bc_map; break; + case 102: mapannounce "job_hunte",strcharinfo(0) + ", have I ever told you about the power held in a single tear? Its okay to shed one now, I know its hard...",bc_map; break; + case 103: mapannounce "job_hunte",strcharinfo(0) + ", happiness often sneaks in through a door you didn't know you left open. Sort of like...hidden traps!",bc_map; break; + case 104: mapannounce "job_hunte",strcharinfo(0) + ", ....Chii?",bc_map; break; + case 105: mapannounce "job_hunte",strcharinfo(0) + ", Mine! Mine! Mine! Mine!",bc_map; break; + case 106: mapannounce "job_hunte",strcharinfo(0) + ", it's time to duel!",bc_map; break; + case 107: mapannounce "job_hunte",strcharinfo(0) + ", I choose you!...wait... uagh...not you!...",bc_map; break; + case 108: mapannounce "job_hunte",strcharinfo(0) + ", this isn't the time to be complimenting it!",bc_map; break; + case 109: mapannounce "job_hunte",strcharinfo(0) + "...Oh great, what else could go wrong today?",bc_map; break; + case 110: mapannounce "job_hunte",strcharinfo(0) + ", don't worry, I always keep a spare. We're not running out of traps anytime soon...",bc_map; break; + case 111: mapannounce "job_hunte",strcharinfo(0) + ", when bad things happen, don't give up. The day will come when you will look back and laugh at them. But not today.",bc_map; break; + case 112: mapannounce "job_hunte",strcharinfo(0) + ", don't worry about it. We're good at fighting losing battles, remember?",bc_map; break; + case 113: mapannounce "job_hunte",strcharinfo(0) + ", you remember how it was like when you felt really slick? That feeling won't come back for a while...",bc_map; break; + case 114: mapannounce "job_hunte",strcharinfo(0) + ", you must forget about your past for the sake of your own happiness.",bc_map; break; + case 115: mapannounce "job_hunte",strcharinfo(0) + ", if you can fool your friends, you can fool your enemies.",bc_map; break; + case 116: mapannounce "job_hunte",strcharinfo(0) + ", this world is made up of love and peace!",bc_map; break; + case 117: mapannounce "job_hunte",strcharinfo(0) + ", if you fail, you must drink this.....*evil grin*",bc_map; break; + case 118: mapannounce "job_hunte",strcharinfo(0) + ", don't say we didn't warn you!",bc_map; break; + case 119: mapannounce "job_hunte",strcharinfo(0) + ", curiosity killed the cat. Lucky for me I'm not a cat. Oh, and um, you too of course.",bc_map; break; + case 120: mapannounce "job_hunte",strcharinfo(0) + ", STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!",bc_map; break; + case 121: mapannounce "job_hunte",strcharinfo(0) + ", how you like me now? That's right, that was MY trap!",bc_map; break; + case 122: mapannounce "job_hunte",strcharinfo(0) + "...brilliant...just absolutely...genius. Sorry, I was talking about all these crazy traps.",bc_map; break; + case 123: mapannounce "job_hunte",strcharinfo(0) + ", it's time to bust out of that trap, Houdini-style! Hey, wait...come back!",bc_map; break; + case 124: mapannounce "job_hunte",strcharinfo(0) + ", it looks like you could really be in trouble this time...no worries, just try this again!",bc_map; break; + case 125: mapannounce "job_hunte",strcharinfo(0) + "...not smooth, dude. Go for it again, one more time!",bc_map; break; + case 126: mapannounce "job_hunte",strcharinfo(0) + ",it looks like you could really be in a pickle. Back to the starting point...",bc_map; break; + case 127: mapannounce "job_hunte",strcharinfo(0) + ", just think of it as Karma. Someday, you'll be setting hundreds of traps of your own...",bc_map; break; + case 128: mapannounce "job_hunte",strcharinfo(0) + ", bad news dude...its another trap. You'll get the hang of this, I believe in you!",bc_map; break; + case 129: mapannounce "job_hunte",strcharinfo(0) + ", don't give up! The world still needs you!",bc_map; break; + case 130: mapannounce "job_hunte",strcharinfo(0) + ", it's okay to cry. Just not too loudly.",bc_map; break; + case 131: mapannounce "job_hunte",strcharinfo(0) + "...oh man. It's tiring setting up all these traps. You guys have got to stop falling into them!",bc_map; break; + } + set HNTR_Q,13; + warp "job_hunte",176,22; + donpcevent "Manager#hnt::OnReset"; + donpcevent "Waiting Room#hnt::OnStart"; + end; +} + +job_hunte,53,140,0 duplicate(HntTrap) 1-2 -1,0,1 +job_hunte,54,141,0 duplicate(HntTrap) 1-3 -1,0,0 +job_hunte,55,141,0 duplicate(HntTrap) 1-4 -1,0,0 +job_hunte,55,140,0 duplicate(HntTrap) 1-5 -1,0,0 +job_hunte,54,140,0 duplicate(HntTrap) 1-6 -1,0,0 +job_hunte,52,138,0 duplicate(HntTrap) 1-7 -1,0,0 +job_hunte,53,138,0 duplicate(HntTrap) 1-8 -1,0,0 +job_hunte,62,140,0 duplicate(HntTrap) 2-1 -1,0,1 +job_hunte,63,140,0 duplicate(HntTrap) 2-2 -1,0,1 +job_hunte,64,140,0 duplicate(HntTrap) 2-3 -1,0,0 +job_hunte,64,141,0 duplicate(HntTrap) 2-4 -1,0,0 +job_hunte,65,140,0 duplicate(HntTrap) 2-5 -1,0,0 +job_hunte,65,141,0 duplicate(HntTrap) 2-6 -1,0,0 +job_hunte,62,138,0 duplicate(HntTrap) 2-7 -1,0,0 +job_hunte,63,138,0 duplicate(HntTrap) 2-8 -1,0,0 +job_hunte,72,140,0 duplicate(HntTrap) 3-1 -1,0,1 +job_hunte,73,140,0 duplicate(HntTrap) 3-2 -1,0,1 +job_hunte,72,138,0 duplicate(HntTrap) 3-3 -1,0,0 +job_hunte,72,138,0 duplicate(HntTrap) 3-4 -1,0,0 +job_hunte,78,140,0 duplicate(HntTrap) 4-1 -1,0,0 +job_hunte,78,141,0 duplicate(HntTrap) 4-2 -1,0,0 +job_hunte,79,140,0 duplicate(HntTrap) 4-3 -1,0,0 +job_hunte,79,141,0 duplicate(HntTrap) 4-4 -1,0,0 +job_hunte,82,138,0 duplicate(HntTrap) 5-1 -1,0,0 +job_hunte,82,139,0 duplicate(HntTrap) 5-2 -1,0,0 +job_hunte,83,138,0 duplicate(HntTrap) 5-3 -1,0,0 +job_hunte,83,139,0 duplicate(HntTrap) 5-4 -1,0,0 +job_hunte,99,138,0 duplicate(HntTrap) 6-1 -1,1,0 +job_hunte,99,139,0 duplicate(HntTrap) 6-2 -1,1,0 +job_hunte,101,138,0 duplicate(HntTrap) 6-3 -1,0,0 +job_hunte,101,139,0 duplicate(HntTrap) 6-4 -1,0,0 +job_hunte,106,140,0 duplicate(HntTrap) 7-1 -1,0,1 +job_hunte,107,140,0 duplicate(HntTrap) 7-2 -1,0,1 +job_hunte,106,138,0 duplicate(HntTrap) 7-3 -1,0,0 +job_hunte,107,138,0 duplicate(HntTrap) 7-4 -1,0,0 +job_hunte,112,140,0 duplicate(HntTrap) 8-1 -1,0,0 +job_hunte,112,141,0 duplicate(HntTrap) 8-2 -1,0,0 +job_hunte,113,140,0 duplicate(HntTrap) 8-3 -1,0,0 +job_hunte,113,141,0 duplicate(HntTrap) 8-4 -1,0,0 +job_hunte,116,140,0 duplicate(HntTrap) 9-1 -1,0,0 +job_hunte,116,141,0 duplicate(HntTrap) 9-2 -1,0,0 +job_hunte,117,140,0 duplicate(HntTrap) 9-3 -1,0,0 +job_hunte,117,141,0 duplicate(HntTrap) 9-4 -1,0,0 +job_hunte,120,138,0 duplicate(HntTrap) 10-1 -1,0,0 +job_hunte,120,139,0 duplicate(HntTrap) 10-2 -1,0,0 +job_hunte,121,138,0 duplicate(HntTrap) 10-3 -1,0,0 +job_hunte,121,139,0 duplicate(HntTrap) 10-4 -1,0,0 +job_hunte,126,139,0 duplicate(HntTrap) 11-1 -1,0,2 +job_hunte,127,139,0 duplicate(HntTrap) 11-2 -1,0,2 +job_hunte,126,136,0 duplicate(HntTrap) 11-3 -1,0,0 +job_hunte,127,136,0 duplicate(HntTrap) 11-4 -1,0,0 +job_hunte,52,134,0 duplicate(HntTrap) 12-1 -1,0,1 +job_hunte,53,134,0 duplicate(HntTrap) 12-2 -1,0,1 +job_hunte,52,132,0 duplicate(HntTrap) 12-3 -1,0,0 +job_hunte,53,132,0 duplicate(HntTrap) 12-4 -1,0,0 +job_hunte,124,130,0 duplicate(HntTrap) 13-1 -1,0,0 +job_hunte,124,131,0 duplicate(HntTrap) 13-2 -1,0,0 +job_hunte,125,130,0 duplicate(HntTrap) 13-3 -1,0,0 +job_hunte,125,131,0 duplicate(HntTrap) 13-4 -1,0,0 +job_hunte,64,128,0 duplicate(HntTrap) 14-1 -1,0,0 +job_hunte,64,129,0 duplicate(HntTrap) 14-2 -1,0,0 +job_hunte,65,128,0 duplicate(HntTrap) 14-3 -1,0,0 +job_hunte,65,129,0 duplicate(HntTrap) 14-4 -1,0,0 +job_hunte,68,126,0 duplicate(HntTrap) 15-1 -1,0,0 +job_hunte,68,127,0 duplicate(HntTrap) 15-2 -1,0,0 +job_hunte,69,126,0 duplicate(HntTrap) 15-3 -1,0,0 +job_hunte,69,127,0 duplicate(HntTrap) 15-4 -1,0,0 +job_hunte,75,128,0 duplicate(HntTrap) 16-1 -1,1,0 +job_hunte,75,129,0 duplicate(HntTrap) 16-2 -1,1,0 +job_hunte,77,128,0 duplicate(HntTrap) 16-3 -1,0,0 +job_hunte,77,129,0 duplicate(HntTrap) 16-4 -1,0,0 +job_hunte,82,126,0 duplicate(HntTrap) 17-1 -1,0,0 +job_hunte,82,127,0 duplicate(HntTrap) 17-2 -1,0,0 +job_hunte,83,126,0 duplicate(HntTrap) 17-3 -1,0,0 +job_hunte,83,127,0 duplicate(HntTrap) 17-4 -1,0,0 +job_hunte,96,128,0 duplicate(HntTrap) 18-1 -1,0,0 +job_hunte,96,129,0 duplicate(HntTrap) 18-2 -1,0,0 +job_hunte,97,128,0 duplicate(HntTrap) 18-3 -1,0,0 +job_hunte,97,129,0 duplicate(HntTrap) 18-4 -1,0,0 +job_hunte,100,126,0 duplicate(HntTrap) 19-1 -1,0,0 +job_hunte,100,127,0 duplicate(HntTrap) 19-2 -1,0,0 +job_hunte,101,126,0 duplicate(HntTrap) 19-3 -1,0,0 +job_hunte,101,127,0 duplicate(HntTrap) 19-4 -1,0,0 +job_hunte,106,128,0 duplicate(HntTrap) 20-1 -1,0,0 +job_hunte,106,129,0 duplicate(HntTrap) 20-2 -1,0,0 +job_hunte,107,128,0 duplicate(HntTrap) 20-3 -1,0,0 +job_hunte,107,129,0 duplicate(HntTrap) 20-4 -1,0,0 +job_hunte,112,126,0 duplicate(HntTrap) 21-1 -1,0,0 +job_hunte,112,127,0 duplicate(HntTrap) 21-2 -1,0,0 +job_hunte,113,126,0 duplicate(HntTrap) 21-3 -1,0,0 +job_hunte,113,127,0 duplicate(HntTrap) 21-4 -1,0,0 +job_hunte,126,126,0 duplicate(HntTrap) 22-1 -1,0,0 +job_hunte,126,127,0 duplicate(HntTrap) 22-2 -1,0,0 +job_hunte,127,126,0 duplicate(HntTrap) 22-3 -1,0,0 +job_hunte,127,127,0 duplicate(HntTrap) 22-4 -1,0,0 +job_hunte,52,122,0 duplicate(HntTrap) 23-1 -1,0,1 +job_hunte,52,122,0 duplicate(HntTrap) 23-2 -1,0,1 +job_hunte,53,120,0 duplicate(HntTrap) 23-3 -1,1,0 +job_hunte,54,121,0 duplicate(HntTrap) 23-4 -1,0,0 +job_hunte,55,121,0 duplicate(HntTrap) 23-5 -1,0,0 +job_hunte,55,120,0 duplicate(HntTrap) 23-6 -1,0,0 +job_hunte,66,120,0 duplicate(HntTrap) 24-1 -1,0,0 +job_hunte,66,121,0 duplicate(HntTrap) 24-2 -1,0,0 +job_hunte,67,120,0 duplicate(HntTrap) 24-3 -1,0,0 +job_hunte,67,121,0 duplicate(HntTrap) 24-4 -1,0,0 +job_hunte,114,118,0 duplicate(HntTrap) 25-1 -1,0,0 +job_hunte,114,119,0 duplicate(HntTrap) 25-2 -1,0,0 +job_hunte,115,118,0 duplicate(HntTrap) 25-3 -1,0,0 +job_hunte,115,119,0 duplicate(HntTrap) 25-4 -1,0,0 +job_hunte,124,120,0 duplicate(HntTrap) 26-1 -1,0,1 +job_hunte,125,120,0 duplicate(HntTrap) 26-2 -1,0,1 +job_hunte,124,118,0 duplicate(HntTrap) 26-3 -1,0,0 +job_hunte,125,118,0 duplicate(HntTrap) 26-4 -1,0,0 +job_hunte,66,116,0 duplicate(HntTrap) 27-1 -1,0,0 +job_hunte,66,117,0 duplicate(HntTrap) 27-2 -1,0,0 +job_hunte,67,116,0 duplicate(HntTrap) 27-3 -1,0,0 +job_hunte,67,117,0 duplicate(HntTrap) 27-4 -1,0,0 +job_hunte,76,114,0 duplicate(HntTrap) 28-1 -1,0,0 +job_hunte,76,115,0 duplicate(HntTrap) 28-2 -1,0,0 +job_hunte,77,114,0 duplicate(HntTrap) 28-3 -1,0,0 +job_hunte,77,115,0 duplicate(HntTrap) 28-4 -1,0,0 +job_hunte,82,116,0 duplicate(HntTrap) 29-1 -1,0,0 +job_hunte,82,117,0 duplicate(HntTrap) 29-2 -1,0,0 +job_hunte,83,116,0 duplicate(HntTrap) 29-3 -1,0,0 +job_hunte,83,117,0 duplicate(HntTrap) 29-4 -1,0,0 +job_hunte,86,114,0 duplicate(HntTrap) 30-1 -1,0,0 +job_hunte,86,115,0 duplicate(HntTrap) 30-2 -1,0,0 +job_hunte,87,114,0 duplicate(HntTrap) 30-3 -1,0,0 +job_hunte,87,115,0 duplicate(HntTrap) 30-4 -1,0,0 +job_hunte,92,115,0 duplicate(HntTrap) 31-1 -1,1,0 +job_hunte,92,114,0 duplicate(HntTrap) 31-2 -1,1,0 +job_hunte,90,115,0 duplicate(HntTrap) 31-3 -1,0,0 +job_hunte,102,116,0 duplicate(HntTrap) 32-1 -1,0,0 +job_hunte,102,117,0 duplicate(HntTrap) 32-2 -1,0,0 +job_hunte,103,116,0 duplicate(HntTrap) 32-3 -1,0,0 +job_hunte,103,117,0 duplicate(HntTrap) 32-4 -1,0,0 +job_hunte,114,114,0 duplicate(HntTrap) 33-1 -1,0,0 +job_hunte,114,115,0 duplicate(HntTrap) 33-2 -1,0,0 +job_hunte,115,114,0 duplicate(HntTrap) 33-3 -1,0,0 +job_hunte,115,115,0 duplicate(HntTrap) 33-4 -1,0,0 +job_hunte,54,110,0 duplicate(HntTrap) 34-1 -1,0,1 +job_hunte,55,110,0 duplicate(HntTrap) 34-2 -1,0,1 +job_hunte,54,108,0 duplicate(HntTrap) 34-3 -1,0,0 +job_hunte,55,108,0 duplicate(HntTrap) 34-4 -1,0,0 +job_hunte,64,112,0 duplicate(HntTrap) 35-1 -1,0,0 +job_hunte,64,113,0 duplicate(HntTrap) 35-2 -1,0,0 +job_hunte,65,112,0 duplicate(HntTrap) 35-3 -1,0,0 +job_hunte,65,113,0 duplicate(HntTrap) 35-4 -1,0,0 +job_hunte,80,110,0 duplicate(HntTrap) 36-1 -1,0,0 +job_hunte,80,111,0 duplicate(HntTrap) 36-2 -1,0,0 +job_hunte,81,110,0 duplicate(HntTrap) 36-3 -1,0,0 +job_hunte,81,111,0 duplicate(HntTrap) 36-4 -1,0,0 +job_hunte,90,108,0 duplicate(HntTrap) 37-1 -1,0,6 +job_hunte,91,108,0 duplicate(HntTrap) 37-2 -1,0,5 +job_hunte,91,102,0 duplicate(HntTrap) 37-3 -1,0,0 +job_hunte,98,109,0 duplicate(HntTrap) 38-1 -1,0,2 +job_hunte,99,109,0 duplicate(HntTrap) 38-2 -1,0,2 +job_hunte,103,109,0 duplicate(HntTrap) 38-3 -1,3,0 +job_hunte,103,108,0 duplicate(HntTrap) 38-4 -1,3,0 +job_hunte,97,106,0 duplicate(HntTrap) 39-1 -1,2,0 +job_hunte,96,107,0 duplicate(HntTrap) 39-2 -1,1,0 +job_hunte,94,108,0 duplicate(HntTrap) 39-3 -1,0,1 +job_hunte,95,109,0 duplicate(HntTrap) 39-4 -1,0,0 +job_hunte,95,108,0 duplicate(HntTrap) 40-1 -1,0,0 +job_hunte,94,106,0 duplicate(HntTrap) 40-2 -1,0,0 +job_hunte,96,102,0 duplicate(HntTrap) 40-3 -1,0,3 +job_hunte,97,102,0 duplicate(HntTrap) 40-4 -1,0,3 +job_hunte,95,98,0 duplicate(HntTrap) 41-1 -1,2,0 +job_hunte,94,99,0 duplicate(HntTrap) 42-1 -1,1,0 +job_hunte,92,98,0 duplicate(HntTrap) 43-1 -1,0,0 +job_hunte,112,110,0 duplicate(HntTrap) 44-1 -1,0,0 +job_hunte,112,111,0 duplicate(HntTrap) 44-2 -1,0,0 +job_hunte,113,110,0 duplicate(HntTrap) 44-3 -1,0,0 +job_hunte,113,111,0 duplicate(HntTrap) 44-4 -1,0,0 +job_hunte,126,108,0 duplicate(HntTrap) 45-1 -1,0,1 +job_hunte,127,108,0 duplicate(HntTrap) 45-2 -1,0,1 +job_hunte,126,106,0 duplicate(HntTrap) 45-3 -1,0,0 +job_hunte,126,106,0 duplicate(HntTrap) 45-4 -1,0,0 +job_hunte,53,102,0 duplicate(HntTrap) 46-1 -1,1,1 +job_hunte,55,102,0 duplicate(HntTrap) 46-2 -1,0,1 +job_hunte,53,100,0 duplicate(HntTrap) 46-3 -1,1,0 +job_hunte,55,100,0 duplicate(HntTrap) 46-4 -1,0,0 +job_hunte,64,106,0 duplicate(HntTrap) 47-1 -1,0,0 +job_hunte,64,107,0 duplicate(HntTrap) 47-2 -1,0,0 +job_hunte,65,106,0 duplicate(HntTrap) 47-3 -1,0,0 +job_hunte,65,107,0 duplicate(HntTrap) 47-4 -1,0,0 +job_hunte,66,100,0 duplicate(HntTrap) 48-1 -1,0,0 +job_hunte,66,101,0 duplicate(HntTrap) 48-2 -1,0,0 +job_hunte,67,100,0 duplicate(HntTrap) 48-3 -1,0,0 +job_hunte,67,101,0 duplicate(HntTrap) 48-4 -1,0,0 +job_hunte,86,106,0 duplicate(HntTrap) 49-1 -1,0,1 +job_hunte,87,106,0 duplicate(HntTrap) 49-2 -1,0,1 +job_hunte,82,104,0 duplicate(HntTrap) 49-3 -1,5,0 +job_hunte,81,105,0 duplicate(HntTrap) 49-4 -1,4,0 +job_hunte,76,105,0 duplicate(HntTrap) 50-1 -1,0,0 +job_hunte,76,104,0 duplicate(HntTrap) 50-2 -1,0,0 +job_hunte,78,101,0 duplicate(HntTrap) 50-3 -1,0,2 +job_hunte,79,101,0 duplicate(HntTrap) 50-4 -1,0,2 +job_hunte,76,99,0 duplicate(HntTrap) 51-1 -1,1,0 +job_hunte,77,98,0 duplicate(HntTrap) 51-2 -1,2,0 +job_hunte,74,99,0 duplicate(HntTrap) 51-3 -1,0,0 +job_hunte,74,98,0 duplicate(HntTrap) 51-4 -1,0,0 +job_hunte,82,100,0 duplicate(HntTrap) 53-1 -1,0,0 +job_hunte,82,101,0 duplicate(HntTrap) 53-2 -1,0,0 +job_hunte,83,100,0 duplicate(HntTrap) 53-3 -1,0,0 +job_hunte,83,101,0 duplicate(HntTrap) 53-4 -1,0,0 +job_hunte,106,104,0 duplicate(HntTrap) 54-1 -1,0,0 +job_hunte,106,105,0 duplicate(HntTrap) 54-2 -1,0,0 +job_hunte,107,104,0 duplicate(HntTrap) 54-3 -1,0,0 +job_hunte,107,105,0 duplicate(HntTrap) 54-4 -1,0,0 +job_hunte,112,104,0 duplicate(HntTrap) 55-1 -1,0,1 +job_hunte,113,104,0 duplicate(HntTrap) 55-2 -1,0,1 +job_hunte,112,102,0 duplicate(HntTrap) 55-3 -1,0,0 +job_hunte,113,102,0 duplicate(HntTrap) 55-4 -1,0,0 +job_hunte,54,92,0 duplicate(HntTrap) 56-1 -1,0,0 +job_hunte,54,93,0 duplicate(HntTrap) 56-2 -1,0,0 +job_hunte,55,92,0 duplicate(HntTrap) 56-3 -1,0,0 +job_hunte,55,93,0 duplicate(HntTrap) 56-4 -1,0,0 +job_hunte,52,90,0 duplicate(HntTrap) 56-5 -1,0,0 +job_hunte,52,91,0 duplicate(HntTrap) 56-6 -1,0,0 +job_hunte,53,90,0 duplicate(HntTrap) 56-7 -1,0,0 +job_hunte,53,91,0 duplicate(HntTrap) 56-8 -1,0,0 +job_hunte,64,92,0 duplicate(HntTrap) 57-1 -1,0,0 +job_hunte,64,93,0 duplicate(HntTrap) 57-2 -1,0,0 +job_hunte,65,92,0 duplicate(HntTrap) 57-3 -1,0,0 + +job_hunte,65,93,0 script 57-4::HntTrap2 -1,{ +OnTouch: + mapannounce "job_hunte",strcharinfo(0) + ", has failed me! Go back to where you started!",bc_map; + set HNTR_Q,13; + warp "job_hunte",176,22; + donpcevent "Manager#hnt::OnReset"; + donpcevent "Waiting Room#hnt::OnStart"; + end; +} + +job_hunte,76,94,0 duplicate(HntTrap2) 58-1 -1,0,0 +job_hunte,76,95,0 duplicate(HntTrap2) 58-2 -1,0,0 +job_hunte,77,94,0 duplicate(HntTrap2) 58-3 -1,0,0 +job_hunte,77,95,0 duplicate(HntTrap2) 58-4 -1,0,0 +job_hunte,78,92,0 duplicate(HntTrap2) 59-1 -1,0,0 +job_hunte,78,93,0 duplicate(HntTrap2) 59-2 -1,0,0 +job_hunte,79,92,0 duplicate(HntTrap2) 59-3 -1,0,0 +job_hunte,79,93,0 duplicate(HntTrap2) 59-4 -1,0,0 +job_hunte,86,92,0 duplicate(HntTrap2) 60-1 -1,0,0 +job_hunte,86,93,0 duplicate(HntTrap2) 60-2 -1,0,0 +job_hunte,87,92,0 duplicate(HntTrap2) 60-3 -1,0,0 +job_hunte,87,93,0 duplicate(HntTrap2) 60-4 -1,0,0 +job_hunte,90,96,0 duplicate(HntTrap2) 61-1 -1,0,0 +job_hunte,90,97,0 duplicate(HntTrap2) 61-2 -1,0,0 +job_hunte,91,96,0 duplicate(HntTrap2) 61-3 -1,0,0 +job_hunte,91,97,0 duplicate(HntTrap2) 61-4 -1,0,0 +job_hunte,99,95,0 duplicate(HntTrap2) 62-1 -1,1,0 +job_hunte,99,94,0 duplicate(HntTrap2) 62-2 -1,1,0 +job_hunte,101,94,0 duplicate(HntTrap2) 62-3 -1,0,1 +job_hunte,100,93,0 duplicate(HntTrap2) 62-4 -1,0,0 +job_hunte,100,92,0 duplicate(HntTrap2) 63-1 -1,0,0 +job_hunte,101,92,0 duplicate(HntTrap2) 63-2 -1,0,0 +job_hunte,102,98,0 duplicate(HntTrap2) 64-1 -1,0,0 +job_hunte,102,99,0 duplicate(HntTrap2) 64-2 -1,0,0 +job_hunte,103,98,0 duplicate(HntTrap2) 64-3 -1,0,0 +job_hunte,103,99,0 duplicate(HntTrap2) 64-4 -1,0,0 +job_hunte,102,90,0 duplicate(HntTrap2) 65-1 -1,0,0 +job_hunte,102,91,0 duplicate(HntTrap2) 65-2 -1,0,0 +job_hunte,103,90,0 duplicate(HntTrap2) 65-3 -1,0,0 +job_hunte,103,91,0 duplicate(HntTrap2) 65-4 -1,0,0 +job_hunte,114,96,0 duplicate(HntTrap2) 66-1 -1,0,0 +job_hunte,114,97,0 duplicate(HntTrap2) 66-2 -1,0,0 +job_hunte,115,96,0 duplicate(HntTrap2) 66-3 -1,0,0 +job_hunte,115,97,0 duplicate(HntTrap2) 66-4 -1,0,0 +job_hunte,112,90,0 duplicate(HntTrap2) 67-1 -1,0,0 +job_hunte,112,91,0 duplicate(HntTrap2) 67-2 -1,0,0 +job_hunte,113,90,0 duplicate(HntTrap2) 67-3 -1,0,0 +job_hunte,113,91,0 duplicate(HntTrap2) 67-4 -1,0,0 +job_hunte,125,97,0 duplicate(HntTrap2) 68-1 -1,1,0 +job_hunte,125,96,0 duplicate(HntTrap2) 68-2 -1,1,0 +job_hunte,127,96,0 duplicate(HntTrap2) 68-3 -1,0,0 +job_hunte,127,97,0 duplicate(HntTrap2) 68-4 -1,0,0 +job_hunte,52,86,0 duplicate(HntTrap2) 69-1 -1,0,0 +job_hunte,52,87,0 duplicate(HntTrap2) 69-2 -1,0,0 +job_hunte,53,86,0 duplicate(HntTrap2) 69-3 -1,0,0 +job_hunte,53,87,0 duplicate(HntTrap2) 69-4 -1,0,0 +job_hunte,66,88,0 duplicate(HntTrap2) 70-1 -1,0,0 +job_hunte,66,89,0 duplicate(HntTrap2) 70-2 -1,0,0 +job_hunte,67,88,0 duplicate(HntTrap2) 70-3 -1,0,0 +job_hunte,67,89,0 duplicate(HntTrap2) 70-4 -1,0,0 +job_hunte,114,84,0 duplicate(HntTrap2) 71-1 -1,0,0 +job_hunte,114,85,0 duplicate(HntTrap2) 71-2 -1,0,0 +job_hunte,115,84,0 duplicate(HntTrap2) 71-3 -1,0,0 +job_hunte,115,85,0 duplicate(HntTrap2) 71-4 -1,0,0 +job_hunte,126,86,0 duplicate(HntTrap2) 72-1 -1,0,0 +job_hunte,126,87,0 duplicate(HntTrap2) 72-2 -1,0,0 +job_hunte,127,86,0 duplicate(HntTrap2) 72-3 -1,0,0 +job_hunte,127,87,0 duplicate(HntTrap2) 72-4 -1,0,0 +job_hunte,54,80,0 duplicate(HntTrap2) 73-1 -1,0,1 +job_hunte,55,80,0 duplicate(HntTrap2) 73-2 -1,0,1 +job_hunte,55,80,0 duplicate(HntTrap2) 73-3 -1,0,0 +job_hunte,55,78,0 duplicate(HntTrap2) 73-4 -1,0,0 +job_hunte,64,82,0 duplicate(HntTrap2) 74-1 -1,0,1 +job_hunte,65,82,0 duplicate(HntTrap2) 74-2 -1,0,1 +job_hunte,64,80,0 duplicate(HntTrap2) 74-3 -1,0,0 +job_hunte,65,80,0 duplicate(HntTrap2) 74-4 -1,0,0 +job_hunte,66,78,0 duplicate(HntTrap2) 75-1 -1,0,0 +job_hunte,66,79,0 duplicate(HntTrap2) 75-2 -1,0,0 +job_hunte,67,78,0 duplicate(HntTrap2) 75-3 -1,0,0 +job_hunte,67,79,0 duplicate(HntTrap2) 75-4 -1,0,0 +job_hunte,74,78,0 duplicate(HntTrap2) 76-1 -1,0,0 +job_hunte,74,79,0 duplicate(HntTrap2) 76-2 -1,0,0 +job_hunte,75,78,0 duplicate(HntTrap2) 76-3 -1,0,0 +job_hunte,75,79,0 duplicate(HntTrap2) 76-4 -1,0,0 +job_hunte,78,80,0 duplicate(HntTrap2) 77-1 -1,0,0 +job_hunte,78,81,0 duplicate(HntTrap2) 77-2 -1,0,0 +job_hunte,79,80,0 duplicate(HntTrap2) 77-3 -1,0,0 +job_hunte,79,81,0 duplicate(HntTrap2) 77-4 -1,0,0 +job_hunte,82,78,0 duplicate(HntTrap2) 78-1 -1,0,0 +job_hunte,82,79,0 duplicate(HntTrap2) 78-2 -1,0,0 +job_hunte,83,78,0 duplicate(HntTrap2) 78-3 -1,0,0 +job_hunte,83,79,0 duplicate(HntTrap2) 78-4 -1,0,0 +job_hunte,94,78,0 duplicate(HntTrap2) 79-1 -1,0,0 +job_hunte,94,79,0 duplicate(HntTrap2) 79-2 -1,0,0 +job_hunte,95,78,0 duplicate(HntTrap2) 79-3 -1,0,0 +job_hunte,95,79,0 duplicate(HntTrap2) 79-4 -1,0,0 +job_hunte,101,80,0 duplicate(HntTrap2) 80-1 -1,1,0 +job_hunte,101,81,0 duplicate(HntTrap2) 80-2 -1,1,0 +job_hunte,103,81,0 duplicate(HntTrap2) 80-3 -1,0,0 +job_hunte,103,80,0 duplicate(HntTrap2) 80-4 -1,0,0 +job_hunte,104,78,0 duplicate(HntTrap2) 81-1 -1,0,0 +job_hunte,104,79,0 duplicate(HntTrap2) 81-2 -1,0,0 +job_hunte,105,78,0 duplicate(HntTrap2) 81-3 -1,0,0 +job_hunte,105,79,0 duplicate(HntTrap2) 81-4 -1,0,0 +job_hunte,110,78,0 duplicate(HntTrap2) 82-1 -1,0,0 +job_hunte,110,79,0 duplicate(HntTrap2) 82-2 -1,0,0 +job_hunte,111,78,0 duplicate(HntTrap2) 82-3 -1,0,0 +job_hunte,111,79,0 duplicate(HntTrap2) 82-4 -1,0,0 +job_hunte,114,80,0 duplicate(HntTrap2) 83-1 -1,0,0 +job_hunte,114,81,0 duplicate(HntTrap2) 83-2 -1,0,0 +job_hunte,115,80,0 duplicate(HntTrap2) 83-3 -1,0,0 +job_hunte,115,81,0 duplicate(HntTrap2) 83-4 -1,0,0 +job_hunte,124,78,0 duplicate(HntTrap2) 84-1 -1,0,0 +job_hunte,124,79,0 duplicate(HntTrap2) 84-2 -1,0,0 +job_hunte,125,78,0 duplicate(HntTrap2) 84-3 -1,0,0 +job_hunte,125,79,0 duplicate(HntTrap2) 84-4 -1,0,0 +job_hunte,126,82,0 duplicate(HntTrap2) 85-1 -1,0,0 +job_hunte,126,83,0 duplicate(HntTrap2) 85-2 -1,0,0 +job_hunte,127,82,0 duplicate(HntTrap2) 85-3 -1,0,0 +job_hunte,127,83,0 duplicate(HntTrap2) 85-4 -1,0,0 +job_hunte,52,68,0 duplicate(HntTrap2) 86-1 -1,0,1 +job_hunte,53,68,0 duplicate(HntTrap2) 86-2 -1,0,1 +job_hunte,52,66,0 duplicate(HntTrap2) 86-3 -1,0,0 +job_hunte,53,66,0 duplicate(HntTrap2) 86-4 -1,0,0 +job_hunte,54,70,0 duplicate(HntTrap2) 87-1 -1,0,1 +job_hunte,55,70,0 duplicate(HntTrap2) 87-2 -1,0,1 +job_hunte,54,68,0 duplicate(HntTrap2) 87-3 -1,0,0 +job_hunte,55,68,0 duplicate(HntTrap2) 87-4 -1,0,0 +job_hunte,59,66,0 duplicate(HntTrap2) 88-1 -1,1,0 +job_hunte,59,67,0 duplicate(HntTrap2) 88-2 -1,1,0 +job_hunte,61,67,0 duplicate(HntTrap2) 88-3 -1,0,0 +job_hunte,61,66,0 duplicate(HntTrap2) 88-4 -1,0,0 +job_hunte,68,68,0 duplicate(HntTrap2) 89-1 -1,0,1 +job_hunte,69,68,0 duplicate(HntTrap2) 89-2 -1,0,1 +job_hunte,68,66,0 duplicate(HntTrap2) 89-3 -1,0,0 +job_hunte,69,66,0 duplicate(HntTrap2) 89-4 -1,0,0 +job_hunte,76,66,0 duplicate(HntTrap2) 90-1 -1,0,0 +job_hunte,76,67,0 duplicate(HntTrap2) 90-2 -1,0,0 +job_hunte,77,66,0 duplicate(HntTrap2) 90-3 -1,0,0 +job_hunte,77,67,0 duplicate(HntTrap2) 90-4 -1,0,0 +job_hunte,82,68,0 duplicate(HntTrap2) 91-1 -1,0,0 +job_hunte,82,69,0 duplicate(HntTrap2) 91-2 -1,0,0 +job_hunte,83,68,0 duplicate(HntTrap2) 91-3 -1,0,0 +job_hunte,83,69,0 duplicate(HntTrap2) 91-4 -1,0,0 +job_hunte,96,66,0 duplicate(HntTrap2) 92-1 -1,0,0 +job_hunte,96,67,0 duplicate(HntTrap2) 92-2 -1,0,0 +job_hunte,97,66,0 duplicate(HntTrap2) 92-3 -1,0,0 +job_hunte,97,67,0 duplicate(HntTrap2) 92-4 -1,0,0 +job_hunte,100,68,0 duplicate(HntTrap2) 93-1 -1,0,0 +job_hunte,100,69,0 duplicate(HntTrap2) 93-2 -1,0,0 +job_hunte,101,68,0 duplicate(HntTrap2) 93-3 -1,0,0 +job_hunte,101,69,0 duplicate(HntTrap2) 93-4 -1,0,0 +job_hunte,107,66,0 duplicate(HntTrap2) 94-1 -1,1,0 +job_hunte,107,67,0 duplicate(HntTrap2) 94-2 -1,1,0 +job_hunte,109,67,0 duplicate(HntTrap2) 94-3 -1,0,0 +job_hunte,109,66,0 duplicate(HntTrap2) 94-4 -1,0,0 +job_hunte,117,69,0 duplicate(HntTrap2) 95-1 -1,1,0 +job_hunte,117,68,0 duplicate(HntTrap2) 95-2 -1,1,0 +job_hunte,119,69,0 duplicate(HntTrap2) 95-3 -1,0,0 +job_hunte,119,68,0 duplicate(HntTrap2) 95-4 -1,0,0 +job_hunte,124,66,0 duplicate(HntTrap2) 96-1 -1,0,0 +job_hunte,124,67,0 duplicate(HntTrap2) 96-2 -1,0,0 +job_hunte,125,66,0 duplicate(HntTrap2) 96-3 -1,0,0 +job_hunte,125,67,0 duplicate(HntTrap2) 96-4 -1,0,0 +job_hunte,126,70,0 duplicate(HntTrap2) 97-1 -1,0,0 +job_hunte,126,71,0 duplicate(HntTrap2) 97-2 -1,0,0 +job_hunte,127,70,0 duplicate(HntTrap2) 97-3 -1,0,0 +job_hunte,127,71,0 duplicate(HntTrap2) 97-4 -1,0,0 diff --git a/npc/pre-re/jobs/2-1/knight.txt b/npc/pre-re/jobs/2-1/knight.txt new file mode 100644 index 000000000..32c6908ee --- /dev/null +++ b/npc/pre-re/jobs/2-1/knight.txt @@ -0,0 +1,2478 @@ +//===== rAthena Script ======================================= +//= Knight Job Quest +//===== By: ================================================== +//= PGRO TEAM (Aegis). +//= Converted by kobra_k88 +//= Further bugfixed and tested by Lupus +//===== Current Version: ===================================== +//= 3.2 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Job Change quest for Knight class. +//===== Additional Comments: ================================= +//= 1.0 Fully working. Please comment out any pre-existing warps for the +//= test rooms in any other files so that the ones specified here can work. +//= 1.1 Fixed a major bug. Now using the initnpctimer command, +//= donpcevent, and new waitingroom event commands. No more addtimer +//= spamming. No longer have to talk to the npc to take the test. Just enter the chat room. +//= 1.2 More bug fixes. Changed global variable names to unique ones. +//= Added second set of items to first test. Added Awake pots award for job change. +//= 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] +//= 2.0 Changed numbers to constants. [Vicious] +//= 2.1 Merged JFunc [Lupus] +//= 2.2 Rescripted to Aegis 10.3 standards. [L0ne_W0lf] +//= 2.3 Several bugfixes with the help of Barron-Monster. [L0ne_W0lf] +//= 2.4 Minor fixes to timer#knt. [L0ne_W0lf] +//= 2.5 Fixes a small bug with making claymores. [L0ne_W0lf] +//= Corrected usages of killmonster and killmonsterall. +//= 2.6 Corrected an improper areawarp destination. [L0ne_W0lf] +//= 2.7 Deleted unused variables. [Samuray22] +//= 2.7a Corrected a Typo error ";;". [Samuray22] +//= 2.8 Now uses enable and disable waitingroomevent. [L0ne_W0lf] +//= 2.9 Added Quest Log commands. [Kisuka] +//= 3.0 Removed the need for use of 'goto.' [L0ne_W0lf] +//= 3.1 Modified the quest to renewal. [Vali] (Thanks to Muad_Dib for the necessary info). +//= 3.2 More Renewal updates and some optimization. [Euphy] +//============================================================ + +prt_in,88,101,4 script Chivalry Captain#knt 56,{ + mes "[Captain Herman]"; + if (Upper == 1) { + mes "Hm? You're... What is it about you? I've been an honorable Knight for a long time, but I cannot understand this feeling I'm getting from you..."; + next; + mes "[Captain Herman]"; + mes "May god bless your body and soul, warrior. I hope you will show your courage and protect those who are weaker than you."; + close; + } + if (BaseJob != Job_Swordman) { + if (BaseJob == Job_Knight) { + mes "Ah, a member of our Chivalry."; + mes "I hope you are living up to my expectations. We have vowed to be strong for our kingdom, even if death is upon us..."; + close; + } + else if (BaseClass == Job_Novice) { + mes "Welcome,"; + mes "this is the"; + mes "Prontera Chivalry."; + mes "What brings you here?"; + next; + switch(select("I want to change my job to Swordman.:I want to change my job to a Knight.:Just visiting.")) { + case 1: + mes "[Captain Herman]"; + mes "A-ha~"; + mes "A Swordman, you say?"; + mes "I'm sorry, "+((Sex)?"lad":"lass")+", but you've"; + mes "come to the wrong place!"; + next; + mes "[Captain Herman]"; + mes "This isn't the Swordsman guild, it's the Prontera Chivalry! If you wish to become a Swordman, visit the Swordman Guild located in Izlude."; + close; + case 2: + mes "[Captain Herman]"; + mes "Ah, I see that you have great ambition. But you must first become a Swordman before becoming"; + mes "a Knight. One step at a time..."; + next; + mes "[Captain Herman]"; + mes "First, visit the Swordman guild in Izlude. Then, come visit us again once you have become a well experienced Swordman."; + close; + case 3: + mes "[Captain Herman]"; + mes "Aha~"; + mes "You must have lots of free time. Why don't you go hunt some monsters instead of wandering about aimlessly?"; + close; + } + } + else { + mes "Welcome. We, the proud Knights of the Prontera Chivalry, will give our lives for king and country! Please enjoy your stay."; + close; + } + } + if (KNIGHT_Q == 0) { + mes "Welcome, this is"; + mes "the Prontera Chivalry."; + mes "What brings you here?"; + next; + if (select("I want to change my job to a Knight.:Just visiting.") == 1) { + mes "[Captain Herman]"; + mes "Ohh..."; + mes "A young "+((Sex)?"man":"lady")+" who wishes"; + mes "to become a Knight!"; + mes "Our Prontera Chivalry"; + mes "will assist you."; + next; + mes "[Captain Herman]"; + mes "First of all, I am the captain of the Prontera Chivalry, Herman Phon Efesirsus. I'm pleased to meet young people eager to join the Prontera Chivalry."; + next; + mes "[Captain Herman]"; + mes "We only accept Swordmen"; + mes "who are at least Job Level 40."; + mes "We cannot consider applicants that are not yet experienced enough to become Knights."; + next; + mes "[Captain Herman]"; + mes "Once you apply, and we find"; + mes "you eligible, we will begin the job change procedure. Would you"; + mes "like to apply now?"; + next; + if (select("Yes, I would like to apply.:I'd like to think about it please.") == 1) { + mes "[Captain Herman]"; + if (JobLevel < 40) { + mes "Ah, you are not yet ready to become a Knight! Didn't I specifically mention the Job Level 40 requirement?"; + next; + mes "[Captain Herman]"; + mes "Of course I understand your strong desire to join us, but now is not the time. Go out and fight some more monsters. We will be here waiting."; + close; + } + if (SkillPoint) { + mes "Ah...!"; + mes "You cannot change jobs if you have unused skill points remaining. Return when you have used"; + mes "all of your skill points."; + close; + } + set KNIGHT_Q,1; + setquest 9000; + mes "Let me see..."; + mes "Your name is"; + mes strcharinfo(0) + "..."; + mes "Is that right?"; + next; + mes "[Captain Herman]"; + mes "Let me explain the job change procedure. You must visit a series of Knights and pass each"; + mes "of their tests."; + next; + mes "[Captain Herman]"; + mes "Once all the tests are completed, every Knight involved in your testing will gather and discuss your performance."; + next; + mes "[Captain Herman]"; + mes "The Knights must unanimously approve of you before you can join the Prontera Chivalry. If only one person objects, you must"; + mes "start over."; + next; + mes "[Captain Herman]"; + mes "But I believe if you persist with an earnest heart, you shall be acknowledged by the Knights and ultimately recognized as a member of our Chivalry."; + next; + mes "[Captain Herman]"; + mes "So, let's not waste any more time talking! Go and meet these Knights and begin their tests. Once you have completed all of the tests, come back to me."; + close; + } + mes "[Captain Herman]"; + mes "Oh...!"; + mes "Well, I don't want to pressure you. Take your time and think it over. Return when you are ready to"; + mes "change jobs, for we will be waiting."; + close; + } + mes "[Captain Herman]"; + mes "Come to think of it, aren't you a Swordman? It looks like you've encountered many foes in battle."; + next; + mes "[Captain Herman]"; + mes "You should consider changing jobs to a Knight. Come and talk to me if you are interested."; + next; + mes "[Captain Herman]"; + mes "Please take"; + mes "your time in"; + mes "looking around."; + mes "Good day."; + close; + } + else if (KNIGHT_Q == 1) { + mes "Mmm?"; + mes strcharinfo(0) + ","; + mes "what can I do for you?"; + mes "Ah, you don't know"; + mes "who to visit?"; + next; + mes "[Captain Herman]"; + mes "I believe the Knights in charge of testing have set an order in which you must visit them. I suppose it helps the testing process."; + next; + mes "[Captain Herman]"; + mes "First, go and visit"; + mes "Sir Andrew for your first test. Don't be too nervous, he'll explain everything once you talk to him."; + close; + } + else if (KNIGHT_Q == 2) callsub L_Mission,0; + else if (KNIGHT_Q == 3) callsub L_Mission,0; + else if (KNIGHT_Q == 4) { + callsub L_Mission,1; + mes "It appears that you have finished one test. Let's see. Sir Andrew, who must this Swordman visit next?"; + next; + mes "[Sir Andrew]"; + mes "I said to"; + mes "visit Sir Siracuse."; + mes "Funny, I thought I told"; + mes "you. Did I forget...?"; + next; + mes "[Captain Herman]"; + mes "Did you hear?"; + mes "Go to Sir Siracuse and take his test. Once you complete his test, do not forget who you're supposed to visit next as well."; + close; + } + else if (KNIGHT_Q == 5) callsub L_Mission,0; + else if (KNIGHT_Q == 6) { + callsub L_Mission,1; + mes "Let's see..."; + mes "You've completed two tests."; + mes "Sir Siracuse, who must this Swordman visit next?"; + next; + mes "[Sir Siracuse]"; + mes "Oh...!"; + mes "Um, who was next...?"; + mes "Right! Sir Windsor!"; + next; + mes "[Captain Herman]"; + mes "Head over to"; + mes "Sir Windsor Benedict for your next test. Listen carefully to the Knights in charge of testing so that you don't feel lost, alright?"; + close; + } + else if (KNIGHT_Q == 7) callsub L_Mission,0; + else if (KNIGHT_Q == 8) { + callsub L_Mission,1; + mes "Sir Windor...?"; + mes "Who must this"; + mes "Swordman visit"; + mes "next?"; + next; + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes "...Amy Beatrice."; + next; + mes "[Captain Herman]"; + mes "Ah, go and visit"; + mes "Lady Amy and take her test. Make sure you pay attention to who you must go to for your next test."; + close; + } + else if (KNIGHT_Q == 9) callsub L_Mission,0; + else if (KNIGHT_Q == 10) { + callsub L_Mission,1; + mes "Let's see..."; + mes "Lady Amy, who"; + mes "must this Swordman"; + mes "visit next?"; + next; + mes "[Lady Amy]"; + mes "Oh..."; + mes "I said to visit"; + mes "Sir Edmond!"; + mes "Tee hee~"; + next; + mes "[Captain Herman]"; + mes "Now, go and speak"; + mes "to Sir Edmond. He will"; + mes "be in charge of your"; + mes "next test."; + close; + } + else if (KNIGHT_Q == 11) callsub L_Mission,0; + else if (KNIGHT_Q == 12) { + callsub L_Mission,1; + mes "Don't you only have to visit one more person? The Knight in"; + mes "charge of the final test"; + mes "is Sir Gray Prospheiro."; + next; + mes "[Sir Edmond]"; + mes "This world operates according"; + mes "to the law of cause and effect."; + mes "All will be revealed in the end."; + next; + mes "[Captain Herman]"; + mes "Be alert and do"; + mes "your best, as this"; + mes "is the last test."; + next; + mes "[Captain Herman]"; + mes "Return to me"; + mes "after you have"; + mes "completed the"; + mes "final test."; + close; + } + else if (KNIGHT_Q == 13) { + mes "Finish the last test."; + mes "Once that is complete, all the Knights involved in your testing shall gather, and we will evaluate your performance."; + close; + } + else if (KNIGHT_Q == 14) { + if (SkillPoint) { + mes "Oh...!"; + mes "You cannot change jobs if you have unused skill points remaining. Return once you have distributed all your skill points."; + close; + } + mes "Oh, have you completed all the tests? But not everyone who completes the tests can"; + mes "become a Knight."; + next; + mes "[Captain Herman]"; + mes "During the test we see how loyal, honorable and strong you are. We also see if you were courteous and if you know the value of modesty and reverence."; + next; + mes "[Captain Herman]"; + mes "Through this process, I have also observed your actions. All seven of our opinions will be reflected in the decision of your job change."; + next; + mes "[Captain Herman]"; + mes "Then..."; + mes "We shall listen"; + mes "to everyone's thoughts!"; + mes "Andrew, what do you think?"; + next; + mes "[Sir Andrew]"; + if (JobLevel == 50) { + mes "What can I say?"; + mes "I approve!"; + mes "Having lived as"; + mes "a Swordsman up"; + mes "until now"; + mes "is enough."; + } + else { + mes "This one has"; + mes "gathered items"; + mes "that are troublesome"; + mes "to obtain. I approve!"; + mes "I believe "+((Sex)?"":"s")+"he will continue to be loyal after becoming a Knight."; + } + next; + mes "[Captain Herman]"; + mes "Hmm."; + mes "What a nice review."; + mes "Siracuse, what are your thoughts?"; + next; + mes "[Sir Siracuse]"; + mes "Heh, very well. Not quite what"; + mes "I would want, but hopefully will become better in the future."; + next; + mes "[Sir Siracuse]"; + mes "After becoming a Knight, you must build a good reputation through honor. Ehh... I approve."; + next; + mes "[Captain Herman]"; + mes "Okay..."; + mes "Windsor,"; + mes "what about you?"; + next; + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes "....Approved."; + next; + mes "[Captain Herman]"; + mes "I don't think"; + mes "he disapproves."; + mes "Then, let's listen"; + mes "to Amy's opinion."; + next; + mes "[Lady Amy]"; + if (sex) { + mes "Mmm~ He's so polite!"; + mes "He'll grow to be a wonderful Knight. And he's got such cute widdle cheeeeks~ Hee hee!"; + } + else { + mes "Mmm~ She should be great!"; + mes "She's very courteous and also very cute, so a few more points! Heh~"; + mes "I shouldn't be saying things like this!"; + } + next; + mes "[Captain Herman]"; + mes "Well..."; + mes "A strange review,"; + mes "but I believe"; + mes "she approves."; + mes "Edmond, speak"; + mes "your mind."; + next; + mes "[Sir Edmond]"; + if (sex) { + mes "He seems a little rough, but something bright shines within him. With polish and refinement, his true value will shine forth"; + mes "as the sun."; + } + else { + mes "It's difficult to see, but there is a spiritual beauty within her. With polish and refinement, her true value will glow as resplendently"; + mes "as the moon."; + } + next; + mes "[Captain Herman]"; + mes "Lastly..."; + mes "Gray. I would like"; + mes "to hear your thoughts."; + next; + mes "[Gray]"; + mes "A young "+((Sex)?"gentleman":"lady")+" coming here with the determination to become a Knight is enough..."; + next; + mes "[Captain Herman]"; + mes "Everyone"; + mes "has approved."; + mes "No one has opposed."; + mes "Then I shall tell"; + mes "you my opinion."; + next; + mes "[Captain Herman]"; + mes "My decision is..."; + next; + mes "[Captain Herman]"; + mes "I approve."; + next; + mes "[Captain Herman]"; + mes "You may not have finished all the tests perfectly, but you have all the necessary qualities to become"; + mes "a Knight."; + next; + completequest 9012; + callfunc "Job_Change",Job_Knight; + callfunc "F_ClearJobVar"; // Clears all job variables for the current player + mes "[Captain Herman]"; + mes "I hereby declare"; + mes "you a member of"; + mes "the Prontera Chivalry."; + mes "Protect the weak and"; + mes "live with honor."; + next; + getitem 656,7; //Awakening_Potion + mes "[Captain Herman]"; + mes "Oh..."; + mes "We have prepared a small gift to congratulate you on your job change. Please use it when you are in battle as you honorably protect others."; + next; + mes "[Captain Herman]"; + mes "Go forth!"; + mes "The future of"; + mes "Rune-Midgard"; + mes "rests on your"; + mes "shoulders!"; + close; + } +L_Mission: + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + if (getarg(0)) { + mes "Ah~ You do not know"; + mes "who to visit next?"; + next; + mes "[Captain Herman]"; + return; + } else { + mes "It may be difficult,"; + mes "but do your best."; + close; + } +} + +prt_in,75,107,4 script Sir Andrew#knt 65,{ + mes "[Sir Andrew]"; + if (BaseJob != Job_Swordman) { + if (BaseJob == Job_Knight) { + mes "You must be"; + mes "a member of"; + mes "the Chivalry."; + mes "How are you doing?"; + next; + mes "[Sir Andrew]"; + mes "You must work diligently to gather food as well as save zeny to buy equipment. Save everything you"; + mes "find in battle, even the smallest Jellopy."; + next; + mes "[Sir Andrew]"; + mes "But it's not good"; + mes "to be too greedy."; + mes "After all, we are Knights."; + close; + } + else if (BaseClass == Job_Novice) { + mes "Hey there,"; + mes "little Novice."; + mes "Welcome to the"; + mes "Prontera Chivalry."; + next; + mes "[Sir Andrew]"; + mes "You might that you're"; + mes "weak right now, but someday"; + mes "you'll become stronger."; + next; + mes "[Sir Andrew]"; + mes "Dream of a bright future, and go look forward on the path that you choose to take."; + close; + } + else { + mes "We, the members of the"; + mes "Prontera Chivalry, are putting our best effort in protecting peace in this world."; + next; + mes "[Sir Andrew]"; + mes "Even during the battles we face each and every day, we dream of"; + mes "a bright future that is to come."; + close; + } + } + if (KNIGHT_Q == 0) { + mes "We, the members of the"; + mes "Prontera Chivalry, are putting our best effort in protecting peace in this world."; + next; + mes "[Sir Andrew]"; + mes "Even during the battles we face each and every day, we dream of"; + mes "a bright future that is to come."; + close; + } + else if (KNIGHT_Q == 1) { + mes "Good day."; + mes "May I help you"; + mes "with something?"; + next; + if (select("I would like to take the test.:Oh, nothing.") == 1) { + mes "[Sir Andrew]"; + mes "Ah..."; + mes "You wish"; + mes "to become a Knight."; + mes "Your name is"; + mes strcharinfo(0) + ","; + mes "correct?"; + next; + mes "[Sir Andrew]"; + mes "I am a Knight of"; + mes "the Prontera Chivalry,"; + mes "Andrew Shylock."; + mes "I am in charge of"; + mes "your first test."; + next; + mes "[Sir Andrew]"; + mes "I will be testing your sense of loyalty. Every Knight must possess this virtue. For this exam, you will be gathering prizes from"; + mes "the battlefield."; + next; + if (JobLevel == 50) { + mes "[Sir Andrew]"; + mes "Mmm...?"; + mes "Hold on there."; + mes "You look like you've"; + mes "mastered being"; + mes "a Swordsman."; + next; + mes "[Sir Andrew]"; + mes "Impressive...!"; + mes "On second thought,"; + mes "I don't think your"; + mes "loyalty needs to"; + mes "be tested."; + next; + mes "[Sir Andrew]"; + mes "Please go to my fellow Knight, Sir Siracuse, as he will give you your next test. Well done in mastering the Swordman job."; + set KNIGHT_Q,4; + changequest 9000,9003; + close; + } + mes "[Sir Andrew]"; + mes "Without"; + mes "further ado,"; + mes "let's begin!"; + mes "Go and gather the"; + mes "following items..."; + next; + mes "[Sir Andrew]"; + switch(rand(1,2)) { + //Elder_Pixie's_Beard, Wing_Of_Red_Bat, Orcish_Voucher, Moth_Dust, Reptile_Tongue, Wild_Boar's_Mane + case 1: setarray .@items[0], 1040,5, 7006,5, 931,5, 1057,5, 903,5, 1028,5, 2; break; + //Short_Leg, Heart_Of_Mermaid. Blossom_Of_Maneater, Flesh_Of_Clam, Old_Frying_Pan, Snail's_Shell + case 2: setarray .@items[0], 1042,5, 950,5, 1032,5, 966,5, 7031,5, 946,5, 3; break; + } + set KNIGHT_Q,.@items[12]; + if (KNIGHT_Q == 2) changequest 9000,9001; + else changequest 9000,9002; + mes "^236B8E"+.@items[1]+" "+getitemname(.@items[0])+"^000000,"; + mes "^236B8E"+.@items[3]+" "+getitemname(.@items[2])+"^000000,"; + mes "^236B8E"+.@items[5]+" "+getitemname(.@items[4])+"^000000,"; + mes "^236B8E"+.@items[7]+" "+getitemname(.@items[6])+"^000000,"; + mes "^236B8E"+.@items[9]+" "+getitemname(.@items[8])+"^000000 and"; + mes "^236B8E"+.@items[11]+" "+getitemname(.@items[10])+"^000000,"; + next; + mes "[Sir Andrew]"; + mes "I shall be"; + mes "waiting here for"; + mes "you to bring the"; + mes "items I've listed."; + mes "See you soon~"; + close; + } + else { + mes "[Sir Andrew]"; + mes "Well, then..."; + mes "Good day."; + close; + } + } + else if (KNIGHT_Q == 2 || KNIGHT_Q == 3) { + mes "Welcome back~"; + mes "Did you gather"; + mes "all the items?"; + mes "Let's check and see..."; + next; + switch(KNIGHT_Q) { + //Elder_Pixie's_Beard, Wing_Of_Red_Bat, Orcish_Voucher, Moth_Dust, Reptile_Tongue, Wild_Boar's_Mane + case 2: setarray .@items[0], 1040,5, 7006,5, 931,5, 1057,5, 903,5, 1028,5, 0; break; + //Short_Leg, Heart_Of_Mermaid. Blossom_Of_Maneater, Flesh_Of_Clam, Old_Frying_Pan, Snail's_Shell + case 3: setarray .@items[0], 1042,5, 950,5, 1032,5, 966,5, 7031,5, 946,5, 0; break; + } + if (countitem(.@items[0]) >= .@items[1] && countitem(.@items[2]) >= .@items[3] && countitem(.@items[4]) >= .@items[5] && countitem(.@items[6]) >= .@items[7] && countitem(.@items[8]) >= .@items[9] && countitem(.@items[10]) >= .@items[11]) { + mes "[Sir Andrew]"; + mes "Perfect! We appreciate your effort in gathering these items. Thesee will be used to support the Chivalry's finances."; + next; + delitem .@items[0],.@items[1]; + delitem .@items[2],.@items[3]; + delitem .@items[4],.@items[5]; + delitem .@items[6],.@items[7]; + delitem .@items[8],.@items[9]; + delitem .@items[10],.@items[11]; + if (KNIGHT_Q == 2) changequest 9001,9003; + else changequest 9002,9003; + set KNIGHT_Q,4; + mes "[Sir Andrew]"; + mes "Please visit my fellow Knight, Sir Siracuse, and continue the tests with the dedication and loyalty you've shown to me this day."; + close; + } + mes "[Sir Andrew]"; + mes "Wait, wait..."; + mes "I think you're"; + mes "still missing some"; + mes "items. In case you"; + mes "forgot, let me"; + mes "remind you..."; + next; + mes "[Sir Andrew]"; + mes "^236B8E"+.@items[1]+" "+getitemname(.@items[0])+"^000000,"; + mes "^236B8E"+.@items[3]+" "+getitemname(.@items[2])+"^000000,"; + mes "^236B8E"+.@items[5]+" "+getitemname(.@items[4])+"^000000,"; + mes "^236B8E"+.@items[7]+" "+getitemname(.@items[6])+"^000000,"; + mes "^236B8E"+.@items[9]+" "+getitemname(.@items[8])+"^000000 and"; + mes "^236B8E"+.@items[11]+" "+getitemname(.@items[10])+"^000000,"; + next; + mes "[Sir Andrew]"; + mes "Now, please take this test seriously and with sincerity."; + mes "Now, I'll be waiting for you"; + mes "to complete this task."; + close; + } + else if (KNIGHT_Q == 4) { + mes "Did you have something you needed to ask me? You should go and take the next test. Hurry, Sir Siracuse is waiting for you~"; + close; + } + else if (KNIGHT_Q == 14) { + mes "You must have finished all the tests. Good job! You should go see our Captain so that we can all give our evaluation."; + close; + } + else { + mes "Did you have something you needed to ask me? You should go and take your next test. Do your best."; + mes "I know you can do it!"; + close; + } +} + +prt_in,71,91,0 script Sir Siracuse#knt 65,{ + mes "[Sir Siracuse]"; + if (BaseJob != Job_Swordman) { + if (BaseJob == Job_Knight) { + mes "Hey there!"; + mes "How are you doing?"; + mes "The Chivalry's been"; + mes "doing pretty well."; + next; + mes "[Sir Siracuse]"; + mes "We've been"; + mes "testing new members,"; + mes "but not all of them"; + mes "show as much promise"; + mes "as you."; + next; + mes "[Sir Siracuse]"; + mes "I hope these new recruits all behave themselves, and don't"; + mes "bring shame to the Chivalry."; + next; + mes "[Sir Siracuse]"; + mes "If you catch any of the new guys acting in a way unbecoming of a Knight, scold them for me please?"; + close; + } + else if (Baseclass == Job_Novice) { + mes "Oh?"; + mes "What is a Novice"; + mes "doing here?"; + next; + mes "[Sir Siracuse]"; + mes "Are you interested in becoming a Knight? You just can't change into a Knight from a Novice, you know."; + next; + mes "[Sir Siracuse]"; + mes "First, you have"; + mes "to become a well"; + mes "experienced Swordman"; + mes "before you can consider"; + mes "becoming a Knight."; + close; + } + else { + mes "Offense and defense."; + mes "Is there a way to have both without compromising one or the other?"; + next; + mes "[Sir Siracuse]"; + mes "Two-handed weapons greatly"; + mes "improve your offense but decrease your defenses. Is there something that can overcome this weakness?"; + next; + mes "[Sir Siracuse]"; + mes "A weapon or some sort"; + mes "of technique like that"; + mes "would help Knights greatly..."; + close; + } + } + if (KNIGHT_Q == 0) { + mes "Offense and defense."; + mes "Is there a way to have both without compromising one or the other?"; + next; + mes "[Sir Siracuse]"; + mes "Two-handed weapons greatly"; + mes "improve your offense but decrease your defenses. Is there something that can overcome this weakness?"; + next; + mes "[Sir Siracuse]"; + mes "A weapon or some sort"; + mes "of technique like that"; + mes "would help Knights greatly..."; + close; + } + else if (KNIGHT_Q == 1) { + mes "Eh?"; + mes "Do you have"; + mes "something to"; + mes "ask me?"; + next; + if (select("I would like to take the test to change jobs.:Oh, nothing.") == 1) { + mes "[Sir Siracuse]"; + mes "Oh, to become"; + mes "a Knight? Come to"; + mes "think of it, aren't"; + mes "you the "+((Sex)?"guy":"girl")+" that"; + mes "just applied?"; + next; + mes "[Sir Siracuse]"; + mes "Let's see..."; + mes "Your name was"; + mes strcharinfo(0) + "."; + next; + mes "[Sir Siracuse]"; + mes "But, before you come to me, you must visit the others. The way"; + mes "I see it, you haven't proven that you know the basics. But I'll"; + mes "reconsider once you"; + mes "pass the first test."; + close; + } + mes "[Sir Siracuse]"; + mes "Hmmm...?"; + mes "Alright."; + mes "It's just that"; + mes "you had that"; + mes "look on your"; + mes "face."; + close; + } + else if (KNIGHT_Q == 2 || KNIGHT_Q == 3) { + mes "Eh?"; + mes "Do you have"; + mes "something to"; + mes "ask me?"; + next; + if (select("I would like to take the test to change jobs.:Oh, nothing.") == 1) { + mes "[Sir Siracuse]"; + mes "Hahaha~!"; + mes "Aren't you supposed to be taking Andrew's test? You can't just skip that, you know! All of our tests are important."; + next; + mes "[Sir Siracuse]"; + mes "Speak to Sir Andrew first."; + mes "My test for you will come after you've finished his test."; + close; + } + mes "[Sir Siracuse]"; + mes "Hmmm...?"; + mes "Alright."; + mes "It's just that"; + mes "you had that"; + mes "look on your"; + mes "face."; + close; + } + else if (KNIGHT_Q == 4 || KNIGHT_Q == 5) { + if (KNIGHT_Q == 4) { + mes "Oh?"; + mes "Do you have"; + mes "something to"; + mes "ask me?"; + next; + if (select("Sir Andrew sent me to take your test.:Oh, nothing.") == 1) { + mes "[Sir Siracuse]"; + mes "I see, you've passed the first test. Very well, I'll make some time for you. Let me introduce myself. My name is James Siracuse."; + next; + mes "[Sir Siracuse]"; + mes "This test will measure how much you know about Knighthood. More importantly, I want to know your thoughts about honor."; + next; + mes "[Sir Siracuse]"; + mes "Don't be nervous, I won't keep you too long. These will be quick questions. Plus, you still have to see the others, right?"; + next; + mes "[Sir Siracuse]"; + mes "Well then,"; + mes "let's begin."; + mes "Please answer"; + mes "promptly."; + next; + } + else { + mes "[Sir Siracuse]"; + mes "Hmmm...?"; + mes "Alright."; + mes "It's just that"; + mes "you had that"; + mes "look on your"; + mes "face."; + close; + } + } + else if (KNIGHT_Q == 5) { + mes "What..."; + mes "You again?"; + next; + if (select("I wish to take the test again.:Oh, nothing.") == 1) { + mes "[Sir Siracuse]"; + mes "Is that right?"; + mes "Are you sure you're"; + mes "prepared this time?"; + next; + mes "[Sir Siracuse]"; + mes "Alright then,"; + mes "here we go again..."; + next; + } + else { + mes "[Sir Siracuse]"; + mes "Hmmm...?"; + mes "Alright."; + mes "It's just that"; + mes "you had that"; + mes "look on your"; + mes "face."; + close; + } + } + mes "[Sir Siracuse]"; + mes "A Knight must possess great strength, defense, speed, and the skill to wield a Two-Handed Sword. Which of the following weapons are not affected by the Two Hand Quicken skill?"; + next; + if (select("Katana:Slayer:Broadsword:Flamberge") != 4) { + set KNIGHT_Q,5; + mes "[Sir Siracuse]"; + mes "Wrong!"; + mes "That's a Two-Handed Sword!"; + mes "Are you sure you want to be a Knight? You don't even know the basics..."; + next; + mes "[Sir Siracuse]"; + mes "If you're not sure about anything, go into town and ask any Knight. You need to learn more about Knights before applying for the job!"; + close; + } + mes "[Sir Siracuse]"; + mes "Good, now let me ask about some skills. Which of the following is not necessary to learn Bowling Bash?"; + next; + if (select("Two Handed Sword Mastery Lv.5:Magnum Break Lv.3:Provoke Lv.10:Bash Lv.10") != 3) { + set KNIGHT_Q,5; + mes "[Sir Siracuse]"; + mes "Wrong!"; + mes "You need that to learn Bowling Bash! You should learn more about the Knight class before applying for the job!"; + close; + } + mes "[Sir Siracuse]"; + mes "Knights can also use Spears, unlike other jobs, and have skills related to Spears as well. What skills are not necessary to learn the skill Brandish Spear?"; + next; + if (select("Pierce Lv.5:Spear Stab Lv.3:Spear Boomerang Lv.3:Peco Peco Ride Lv.1") != 3) { + set KNIGHT_Q,5; + mes "[Sir Siracuse]"; + mes "Wrong! You need to learn that to learn Brandish Spear! How can you not know about Knights if you want to become one?"; + next; + mes "[Sir Siracuse]"; + mes "If you aren't sure about anything, go into town and ask any Knight"; + mes "for help. Come back after you've learned more about Knights."; + close; + } + mes "[Sir Siracuse]"; + mes "Some Spears also have magical attributes, just like spells. Of the following, which can attack a Nightmare, which has the Ghost attribute?"; + next; + if (select("Zephyrus:Lance:Bill Guisarme:Crescent Scythe") != 1) { + set KNIGHT_Q,5; + mes "[Sir Siracuse]"; + mes "Wrong! You'll be doing absolutely no damage with that type of Spear! Come back after you've learned more about Knights!"; + next; + mes "[Sir Siracuse]"; + mes "If you have a question, just ask any Knight in town. This is basic knowledge for us!"; + close; + } + mes "[Sir Siracuse]"; + mes "When you become a Knight you can ride a Peco Peco. However, your attack speed decreases once you're mounted on a Peco Peco."; + next; + mes "[Sir Siracuse]"; + mes "But, you can counter this speed decrease as you learn the Cavalier Mastery skill. What percentage of your normal attack speed will you have after learning Level 3 Cavalier Mastery?"; + next; + if (select("70 % of normal attack speed:80 % of normal attack speed:90 % of normal attack speed:100 % of normal attack speed") != 2) { + set KNIGHT_Q,5; + mes "[Sir Siracuse]"; + mes "Wrong!"; + mes "Don't bother riding a Peco Peco if you don't know about Cavalier Mastery!"; + next; + mes "[Sir Siracuse]"; + mes "You better come back after you've learned a little more about Knights!"; + close; + } + mes "[Sir Siracuse]"; + mes "Good, good..."; + mes "I'm pretty sure you know a decent amount about Knights. Now, let me ask you some personal questions about Knights."; + next; + mes "[Sir Siracuse]"; + mes "What should you do when you run into a Novice asking for help in town?"; + next; + switch(select("Tell the Novice of a reasonable hunting area.:Let the Novice fight while you take the damage.:Give the Novice a bunch of Zeny and items.")) { + case 1: + mes "[Sir Siracuse]"; + mes "Of course, even a Novice needs to learn how to be independent. Giving good guidance to Novices is one of the best things we can do."; + next; + break; + case 2: + set KNIGHT_Q,5; + mes "[Sir Siracuse]"; + mes "You have the wrong idea. Do you really believe that is helping the Novice? Give a man a fish, he will eat for a day. Teach him to fish, he will eat for a lifetime!"; + close; + case 3: + set KNIGHT_Q,5; + mes "[Sir Siracuse]"; + mes "Do you really believe that this will truly help the poor Novice? It's generous but, they will not know the true value of zeny and items until they earn it themselves."; + close; + } + mes "[Sir Siracuse]"; + mes "Alright..."; + mes "Now, how should"; + mes "you act within"; + mes "a party?"; + next; + switch(select("Protect everyone in the front of the battle.:Gather monsters and destroy them at once.:Get as many items possible, at all cost.")) { + case 1: + mes "[Sir Siracuse]"; + mes "That's it! Our strength and attacks are very important in a party. All Knights should engage in a battle with that mindset."; + next; + break; + case 2: + set KNIGHT_Q,5; + mes "[Sir Siracuse]"; + mes "Are you crazy? Don't you realize the flaw in that kind of thinking? You can't control large mobs. What if they kill you? Who will protect the innocent?"; + close; + case 3: + set KNIGHT_Q,5; + mes "[Sir Siracuse]"; + mes "I see your greed and we will have none of it here! It seems you do not truly care for others!"; + mes "Get lost!"; + close; + } + mes "[Sir Siracuse]"; + mes "Lastly..."; + mes "what's the most"; + mes "important value"; + mes "a Knight must have?"; + next; + switch(select("Honor:Wealth:Status")) { + case 1: + mes "[Sir Siracuse]"; + mes "Right, above all else, Knights must be honorable! We live and die for honor! Always keep that in mind."; + next; + break; + case 2: + set KNIGHT_Q,5; + mes "[Sir Siracuse]"; + mes "You're scum! You strive to become a Knight for personal wealth? Get lost! We will not accept someone like you in our Chivalry!"; + close; + case 3: + set KNIGHT_Q,5; + mes "[Sir Siracuse]"; + mes "So you're trying to become famous through the Chivalry? That's pathetic. We won't accept someone like you in our Chivalry!"; + close; + } + set KNIGHT_Q,6; + changequest 9003,9004; + mes "[Sir Siracuse]"; + mes "Well then,"; + mes "this is the"; + mes "end of my test."; + next; + mes "[Sir Siracuse]"; + mes "For your next"; + mes "test, please go"; + mes "see Sir Windsor."; + mes "He's very quiet,"; + mes "but don't let that"; + mes "get to you."; + close; + } + else if (KNIGHT_Q == 6) { + mes "Oh?"; + mes "Do you have"; + mes "something to"; + mes "ask me?"; + next; + if (select("I would like to take the test to change jobs.:Oh, nothing.") == 1) { + mes "[Sir Siracuse]"; + mes "Hey..."; + mes "You already took my test, didn't you? You're done here. You should go visit Sir Windsor now..."; + close; + } + mes "[Sir Siracuse]"; + mes "Hmmm...?"; + mes "Alright."; + mes "It's just that"; + mes "you had that"; + mes "look on your"; + mes "face."; + close; + } + else if (KNIGHT_Q == 14) { + mes "Mmm...?"; + mes "You finished"; + mes "everyone else's"; + mes "tests as well?"; + next; + mes "[Sir Siracuse]"; + mes "Well then,"; + mes "go and see the"; + mes "captain. We'll all"; + mes "be there to evaluate"; + mes "your performance."; + close; + } + else { + mes "Hey again."; + mes "Did you need something?"; + mes "Sorry, but I'm busy at the moment. You should go and finish the rest of your tests."; + close; + } +} + +prt_in,79,94,4 script Sir Windsor#knt 733,{ + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + if (BaseJob != Job_Swordman) { + if (BaseJob == Job_Knight) mes "Protect."; + else if (BaseClass == Job_Novice) { + mes "...Go play"; + mes "outside."; + } + else mes "...Hmpf."; + close; + } + if (KNIGHT_Q == 0) { + mes "...What?"; + close; + } + else if (KNIGHT_Q >= 1 && KNIGHT_Q <= 5) { + mes "...What?"; + next; + if (select("I would like to take the test to change jobs.:Oh, nothing.") == 1) { + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes "...It's not my turn."; + close; + } + mes "[Sir Windsor]"; + mes "..."; + close; + } + else if (KNIGHT_Q == 6 || KNIGHT_Q == 7) { + if (KNIGHT_Q == 6) { + set .@mes$,"Sir Siracuse sent me to you.:Oh, nothing."; + mes ".....What?"; + next; + } + else { + set .@mes$,"I want to try again!:..."; + next; + } + if (select(.@mes$) == 1) { + mes "[Sir Windsor]"; + mes "..."; + next; + set KNIGHT_Q,7; + if (checkquest(9004) != -1) { + changequest 9004,9005; + } + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + if (KNIGHT_Q == 6) + mes "...Follow me."; + else { + mes "...Fine."; + next; + mes "[Sir Windsor]"; + mes "...This way."; + } + close2; + if(checkquest(9006) == -1) changequest 9005,9006; + warp "job_knt",89,101; + end; + } + mes "[Sir Windsor]"; + mes "..."; + close; + } + else if (KNIGHT_Q == 14) { + mes "...Talk to"; + mes "the captain."; + close; + } + else { + mes "...You're"; + mes "done here."; + close; + } +} + +// Test 2 part 1 +//========================================================== +job_knt,89,106,4 script Knight Windsor#knt 733,{ + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes "...Question?"; + next; + set .@i, select("What kind of test is this?:How do I take the test?:I'd like to leave.:No."); + mes "[Sir Windsor]"; + mes "..."; + if (.@i == 4) close; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + switch(.@i) { + case 1: + next; + mes "[Sir Windsor]"; + mes "...You fight monsters."; + next; + mes "[Sir Windsor]"; + mes "...Kill them all."; + next; + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "...Three stages."; + mes "Beat them all."; + next; + mes "[Sir Windsor]"; + mes "......3 minutes"; + mes "for each stage."; + next; + mes "[Sir Windsor]"; + mes ".........."; + close; + case 2: + next; + mes "[Sir Windsor]"; + mes "...Go in the"; + mes "waiting room."; + next; + mes "[Sir Windsor]"; + mes "...Then it"; + mes "will begin."; + next; + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "...You have to wait"; + mes "if someone is testing."; + next; + mes "[Sir Windsor]"; + mes "...You can go in"; + mes "after that person."; + next; + mes "[Sir Windsor]"; + mes "..."; + close; + case 3: + close2; + warp "prt_in",80,100; + end; + } +} + +job_knt,89,106,4 script Windsor Benedict#knt 733,{ +OnInit: + disablenpc "Windsor Benedict#knt"; + waitingroom "Waiting Room",20,"Windsor Benedict#knt::OnStartArena",1; + enablewaitingroomevent; + end; + +OnStartArena: + killmonster "job_knt", "Knight1::OnMyMobDead"; + killmonster "job_knt", "Knight2::OnMyMobDead"; + killmonster "job_knt", "Knight3::OnMyMobDead"; + warpwaitingpc "job_knt",43,146; + donpcevent "Knight1::OnEnable"; + disablewaitingroomevent; + end; + +OnStart: + enablewaitingroomevent; + end; +} + +- script Knight1 -1,{ +OnInit: + disablenpc "Knight1"; + end; + +OnEnable: + enablenpc "Knight1"; + set .MyMobs,8; + monster "job_knt",43,137,"Piere",1160,1,"Knight1::OnMyMobDead"; + monster "job_knt",43,137,"Andre",1095,1,"Knight1::OnMyMobDead"; + monster "job_knt",43,137,"Deniro",1105,1,"Knight1::OnMyMobDead"; + monster "job_knt",43,155,"Piere",1160,1,"Knight1::OnMyMobDead"; + monster "job_knt",43,155,"Andre",1095,1,"Knight1::OnMyMobDead"; + monster "job_knt",43,155,"Deniro",1105,1,"Knight1::OnMyMobDead"; + monster "job_knt",35,146,"Argos",1100,1,"Knight1::OnMyMobDead"; + monster "job_knt",52,146,"Argos",1100,1,"Knight1::OnMyMobDead"; + initnpctimer; + end; + +OnDisable: + killmonster "job_knt", "Knight1::OnMyMobDead"; + disablenpc "Knight1"; + end; + +OnMyMobDead: + set .MyMobs,.MyMobs-1; + if (.MyMobs < 1) { + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "...On to"; + mes "the next level."; + close2; + warp "job_knt",43,52; + donpcevent "Knight1::OnDisable"; + donpcevent "Knight2::OnEnable"; + stopnpctimer; + } + end; + +OnTimer180000: + donpcevent "Knight1::OnDisable"; + end; + +OnTimer181000: + areawarp "job_knt", 24, 126, 63, 165, "prt_in",80,100; + end; + +OnTimer182000: + stopnpctimer; + donpcevent "Knight1::OnDisable"; + donpcevent "Windsor Benedict#knt::OnStart"; + end; +} + +// Test 2 part 2 +//========================================================== +- script Knight2 -1,{ +OnInit: + disablenpc "Knight2"; + end; + +OnEnable: + enablenpc "Knight2"; + set .MyMobs,6; + monster "job_knt",53,52,"Frilldora",1119,1,"Knight2::OnMyMobDead"; + monster "job_knt",34,52,"Frilldora",1119,1,"Knight2::OnMyMobDead"; + monster "job_knt",58,52,"Drainliar",1111,1,"Knight2::OnMyMobDead"; + monster "job_knt",58,52,"Drainliar",1111,1,"Knight2::OnMyMobDead"; + monster "job_knt",29,52,"Drainliar",1111,1,"Knight2::OnMyMobDead"; + monster "job_knt",29,52,"Drainliar",1111,1,"Knight2::OnMyMobDead"; + initnpctimer; + end; + +OnDisable: + killmonster "job_knt", "Knight2::OnMyMobDead"; + disablenpc "Knight2"; + end; + +OnMyMobDead: + set .MyMobs,.MyMobs-1; + if (.MyMobs < 1) { + mes "[Sir Windsor]"; + mes "...Hmm."; + next; + mes "[Sir Windsor]"; + mes "...One stage left."; + close2; + warp "job_knt",143,152; + donpcevent "Knight2::OnDisable"; + donpcevent "Knight3::OnEnable"; + stopnpctimer; + } + end; + +OnTimer180000: + donpcevent "Knight2::OnDisable"; + end; + +OnTimer181000: + areawarp "job_knt", 24, 32, 63, 71, "prt_in",80,100; + end; + +OnTimer182000: + stopnpctimer; + donpcevent "Knight2::OnDisable"; + donpcevent "Windsor Benedict#knt::OnStart"; + end; +} + +// Test 2 part 3 +//========================================================== +- script Knight3 -1,{ +OnInit: + disablenpc "Knight3"; + end; + +OnEnable: + enablenpc "Knight3"; + set .MyMobs,5; + monster "job_knt",136,152,"Goblin",1122,1,"Knight3::OnMyMobDead"; + monster "job_knt",150,152,"Goblin",1123,1,"Knight3::OnMyMobDead"; + monster "job_knt",143,145,"Goblin",1124,1,"Knight3::OnMyMobDead"; + monster "job_knt",143,167,"Goblin",1125,1,"Knight3::OnMyMobDead"; + monster "job_knt",139,167,"Goblin",1126,1,"Knight3::OnMyMobDead"; + initnpctimer; + end; + +OnDisable: + killmonster "job_knt", "Knight3::OnMyMobDead"; + disablenpc "Knight3"; + end; + +OnMyMobDead: + set .MyMobs,.MyMobs-1; + if (.MyMobs < 1) { + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "...Very good."; + next; + mes "[Sir Windsor]"; + mes "...Go talk to"; + mes "Amy Beatrice now."; + close2; + set KNIGHT_Q,8; + if(checkquest(9007) == -1) { + changequest 9006,9007; + } + warp "prt_in",80,100; + donpcevent "Knight3::OnDisable"; + donpcevent "Windsor Benedict#knt::OnStart"; + stopnpctimer; + } + end; + +OnTimer180000: + donpcevent "Knight3::OnDisable"; + end; + +OnTimer181000: + areawarp "job_knt", 124, 132, 163, 171, "prt_in",80,100; + end; + +OnTimer182000: + stopnpctimer; + donpcevent "Knight3::OnDisable"; + donpcevent "Windsor Benedict#knt::OnStart"; + end; +} + +// Test 3 (Manners) +//========================================================== +prt_in,69,107,6 script Lady Amy#knt 728,{ + mes "[Lady Amy]"; + if (BaseJob != Job_Swordman) { + if (BaseJob == Job_Knight) { + mes "Oh...!"; + mes "I wonder, why"; + mes "have you come"; + mes "to visit me?"; + next; + mes "[Lady Amy]"; + mes "You're not having"; + mes "trouble as a Knight,"; + mes "are you? Well, I think"; + mes "you're doing well~"; + next; + mes "[Lady Amy]"; + mes "Of course~"; + mes "You're a member of"; + mes "the Prontera Chivalry~"; + close; + } + else if (BaseClass == Job_Novice) { + mes "Aww~"; + mes "What a cute"; + mes "little Novice!"; + mes "Soooooo cute!"; + next; + mes "[Lady Amy]"; + mes "Heh heh..."; + mes "Are you interested"; + mes "in becoming a Knight"; + mes "later on? You'd be"; + mes "a great Knight~"; + next; + mes "[Lady Amy]"; + mes "Remember, you're"; + mes "going to be a Knight,"; + mes "alright? Promise?"; + close; + } + else { + mes "Welcome to"; + mes "the Prontera Chivalry~"; + next; + mes "[Lady Amy]"; + mes "We're only Knights,"; + mes "but hope you enjoy"; + mes "your stay here."; + mes "Heh heh~"; + close; + } + } + if (KNIGHT_Q == 0) { + mes "Ooh, you're"; + mes "a Swordsman...?"; + mes "Did you come to"; + mes "change jobs to"; + mes "a Knight?"; + next; + mes "[Lady Amy]"; + mes "To apply, talk"; + mes "to the captain"; + mes "all the way over"; + mes "there. Hee hee~"; + close; + } + else if (KNIGHT_Q >= 1 && KNIGHT_Q <= 7) { + mes "Hmmm?"; + mes "Why did you"; + mes "come to Amy?"; + next; + if (select("I would like to take the test to change jobs.:Oh, nothing.") == 1) { + mes "[Lady Amy]"; + mes "Mmm~"; + mes "You applied to change jobs! Okay! You'll soon be a Knight with that kind of determination!"; + next; + mes "[Lady Amy]"; + mes "But..."; + mes "You have to go"; + mes "to the other Knights"; + mes "before talking to Amy."; + next; + mes "[Lady Amy]"; + mes "I'd love to test"; + mes "you from the beginning,"; + mes "but I'm not allowed to."; + mes "Hee hee~"; + close; + } + mes "[Lady Amy]"; + mes "Aww~"; + mes "Alright..."; + close; + } + else if ((KNIGHT_Q == 8) || (KNIGHT_Q == 9)){ + if (KNIGHT_Q == 8) { + mes "Hmmm?"; + mes "Why did you"; + mes "come to Amy?"; + next; + if (select("Sir Windsor told me to--:Oh, nothing.") == 1) { + if(checkquest(9008) == -1) changequest 9007,9008; + mes "[Lady Amy]"; + mes "Oh!"; + mes "No need to say"; + mes "anything more."; + mes "Welcome! It's time"; + mes "to take Amy's test!"; + next; + mes "[Lady Amy]"; + mes "My name is Amy Beatrice,"; + mes "a proud Lady Knight of the Prontera Chivalry. Amy's test will test your etiquette as a Knight~"; + next; + mes "[Lady Amy]"; + mes "I'll tell you a story and you choose an answer whenever"; + mes "I ask a question. Your etiquette will be judged on your answers."; + next; + mes "[Lady Amy]"; + mes "So listen carefully"; + mes "and answer as if you're"; + mes "already a Knight, okay?"; + next; + mes "[Lady Amy]"; + mes "Then,"; + mes "let's begin!"; + next; + } + else { + mes "[Lady Amy]"; + mes "Aww..."; + mes "Alright~"; + close; + } + } + else if (KNIGHT_Q == 9) { + mes "Hmmm?"; + mes "Why did you"; + mes "come to Amy?"; + next; + if (select("I would like to take the test to change jobs.:Oh, nothing.") == 1) { + mes "[Lady Amy]"; + mes "Mmm~?"; + mes "Have you learned"; + mes "what you did wrong"; + mes "last time? If you"; + mes "fail again, I'm going"; + mes "to be mad!"; + next; + mes "[Lady Amy]"; + mes "So listen carefully"; + mes "and answer as if you"; + mes "are a Knight."; + mes "Well then,"; + mes "let's begin!"; + next; + mes "[Lady Amy]"; + mes "You are a Knight and you are looking for a party in Morroc."; + mes "How would you go about doing so?"; + next; + } + else { + mes "[Lady Amy]"; + mes "Aww..."; + mes "Alright~"; + close; + } + } + mes "You are a Knight and you are looking for a party in Morroc."; + mes "How would you go about doing so?"; + next; + if (select("Shout out that you are looking for a party.:Open a chat room and wait.:Look for people seeking Knights.") != 1) + set .@knight_t,.@knight_t+10; + mes "[Lady Amy]"; + mes "You have formed a party with equal leveled players. There's a Priest, a Wizard, a Hunter, an Assassin, and a Blacksmith..."; + next; + mes "[Lady Amy]"; + mes "The six of you decide to go hunt and have decided to go to the Pyramids."; + next; + mes "[Lady Amy]"; + mes "You reach Level 4"; + mes "of the Pyramids"; + mes "with your party."; + mes "What should you do?"; + next; + if (select("Check out the area and plan ahead.:Gather monsters for your party members.:Lead the party slowly at the front.") != 2) + set .@knight_t,.@knight_t+10; + mes "[Lady Amy]"; + mes "But some rude players came with a group of monsters and disappeared! What should you do?"; + next; + if (select("Keep the monsters from reaching the party.:Defend while the party retreats.:Run away on your Peco Peco.") == 2) + set .@knight_t,.@knight_t+10; + mes "[Lady Amy]"; + mes "Luckily, you all lived through the crisis. But as you walk, you find a person, who is not in your party, collapsed on the ground."; + next; + mes "[Lady Amy]"; + mes "The person is asking politely for help. What should you do?"; + next; + if (select("Ask your party's Priest to help.:Say you will help for Zeny.:Ignore and move on.") == 1) + set .@knight_t,.@knight_t+10; + mes "[Lady Amy]"; + mes "You must bid farewell to your party members because you must go somewhere else."; + next; + mes "[Lady Amy]"; + mes "But you find"; + mes "a rare item during"; + mes "the battle. What"; + mes "should you do?"; + next; + if(select("Give it to who deserves it the most.:Pretend like nothing happened and keep it.:Decide with party who gets it.") != 2) + set .@knight_t,.@knight_t+10; + mes "[Lady Amy]"; + mes "You end up with the item and you go to Prontera to sell it. There are many people with shops and chat rooms opened selling items."; + next; + mes "[Lady Amy]"; + mes "What should you"; + mes "do to sell your item?"; + next; + if (select("Shout out loud to everyone.:Open a chat room and wait.:Inquire if there is anyone that is interested.") == 3) + set .@knight_t,.@knight_t+10; + mes "[Lady Amy]"; + mes "While you are waiting,"; + mes "someone comes and begs"; + mes "for items and zeny."; + mes "What do you do?"; + next; + if (select("Give them some Zeny and items.:Simply ignore them.:Give suggestions for a place to hunt.") == 3) + set .@knight_t,.@knight_t+10; + mes "[Lady Amy]"; + mes "Now you decide to go to the Hidden Temple by yourself. You happily ride on your Peco Peco."; + next; + mes "[Lady Amy]"; + mes "But you run into"; + mes "someone that is lost."; + mes "What should you do?"; + next; + if(select("Tell the person how to reach the exit.:Lead the person to the exit.:Give a Butterfly Wing.") != 3) + set .@knight_t,.@knight_t+10; + mes "[Lady Amy]"; + mes "You've been hunting for a while, and now you're low on HP!"; + mes "It's red now, which is very dangerous."; + next; + mes "[Lady Amy]"; + mes "Ah, then a Priest"; + mes "happens to walk by."; + mes "How would you ask"; + mes "the Priest for a Heal?"; + next; + if (select("Would it be possible to get a heal please?:Can I have a heal?:Heal plz!!") == 1) + set .@knight_t,.@knight_t+10; + mes "[Lady Amy]"; + mes "You are now very"; + mes "exhausted and it's time"; + mes "to go back to town."; + next; + mes "[Lady Amy]"; + mes "You then find"; + mes "a rare item on"; + mes "the street."; + mes "What should"; + mes "you do?"; + next; + if (select("Pick it up and keep it.:Ask around to find the owner.:Simply walk by.") != 1) + set .@knight_t,.@knight_t+10; + mes "[Lady Amy]"; + mes "Okay,"; + mes "that was the"; + mes "end of my test!"; + next; + mes "[Lady Amy]"; + if (.@knight_t == 100) { + set KNIGHT_Q,10; + changequest 9008,9009; + mes "Well done, that kind of mentality is needed for a Knight! For your next test, visit Sir Edmond, please~"; + next; + mes "[Lady Amy]"; + mes "I'll have nice comments about you for the captain. Do well on the tests you have left, okay?"; + close; + } + else if (.@knight_t == 90) { + set KNIGHT_Q,10; + changequest 9008,9009; + mes "Well, it wasn't perfect,"; + mes "but I think you know enough"; + mes "about etiquette to be"; + mes "a fine Knight."; + next; + mes "[Lady Amy]"; + mes "Now, it's time for you to go to Sir Edmond for your next test. Do well on the rest of your tests. You better promise~"; + close; + } + set KNIGHT_Q,9; + mes "Mmm..."; + mes "To be honest, I don't think your attitude is good enough to be a Knight quite yet."; + next; + mes "[Lady Amy]"; + mes "If you really act like that, everyone will think Knights are rude! Think about how you answered my questions and come again later."; + next; + mes "[Lady Amy]"; + mes "If you want,"; + mes "I'll let you"; + mes "retake the test, okay?"; + close; + } + else if (KNIGHT_Q == 10) { + mes "Hmmm?"; + mes "Why did you"; + mes "come to Amy?"; + next; + mes "[Lady Amy]"; + mes "You have to go to"; + mes "Sir Edmond for your"; + mes "next test, okay?"; + close; + } + else if (KNIGHT_Q == 14) { + mes "Wow~"; + mes "Now it's time for"; + mes "everyone to decide"; + mes "on your job change!"; + next; + mes "[Lady Amy]"; + mes "Let's go talk to our"; + mes "captain. Don't worry"; + mes "too much. It should"; + mes "be okay."; + close; + } + else { + mes "Hmmm?"; + mes "Why did you"; + mes "come to Amy?"; + next; + mes "[Lady Amy]"; + mes "You still have"; + mes "other tests to take."; + mes "Hurry and finish~"; + close; + } +} + +// Test 4 (patience) +//========================================================== +prt_in,70,99,6 script Sir Edmond#knt 734,{ + mes "[Sir Edmond]"; + if (BaseJob != Job_Swordman) { + if (BaseJob == Job_Knight) { + mes "Think of your"; + mes "mind as if it were"; + mes "flowing water."; + next; + mes "[Sir Edmond]"; + mes "Flowing water"; + mes "avoids obstacles,"; + mes "going on its way..."; + next; + mes "[Sir Edmond]"; + mes "Knights must be"; + mes "able to pass things,"; + mes "like calm water, in"; + mes "any situation."; + close; + } + else if (BaseClass == Job_Novice) { + mes "Trees with deep roots don't sway with the wind. The fact that powerful skills must be built on strong basics is immutable..."; + next; + mes "[Sir Edmond]"; + mes "Your future"; + mes "can even be"; + mes "decided now..."; + close; + } + else { + mes "Everything in this world exists in harmony. Living without disrupting this harmony is the right way to live..."; + close; + } + } + if (KNIGHT_Q == 0) { + mes "Those with ominous thoughts will only dream such dreams. It's better to have no dreams at all than to have dreams of sadness and despair."; + close; + } + else if (KNIGHT_Q >= 1 && KNIGHT_Q <= 9) { + mes "What is it..."; + mes "Wandering Swordman?"; + next; + if (select("I would like to take the test to change jobs.:Oh, nothing.") == 1) { + mes "[Sir Edmond]"; + mes "A seed must first be nestled"; + mes "in the earth before the seed may sprout. Then, the sprout must grow leaves before its buds blossom into flowers..."; + next; + mes "[Sir Edmond]"; + mes "If not..."; + mes "The flower will"; + mes "be incomplete."; + next; + mes "[Sir Edmond]"; + mes "Go to the others"; + mes "first, so that you"; + mes "may find your path..."; + close; + } + mes "[Sir Edmond]"; + mes "The life that you"; + mes "want will soon be"; + mes "before your eyes."; + mes "Everything will"; + mes "come in perfect"; + mes "order."; + close; + } + else if (KNIGHT_Q == 10) { + mes "What is it..."; + mes "Wandering Swordman."; + next; + if (select("Lady Amy sent me.:Oh, nothing.") == 1) { + mes "[Sir Edmond]"; + mes "It is now time to take my test. Please do your best, as you have done on the other tests."; + next; + mes "[Sir Edmond]"; + mes "My name is"; + mes "Edmond Groster."; + mes "I am a member of"; + mes "the Prontera Chivalry."; + next; + mes "[Sir Edmond]"; + mes "Knights are in the position for others to follow. Therefore, you must modestly think about the world's order and have the personality to fit the role you will play."; + next; + mes "[Sir Edmond]"; + mes "You must not make careless decisions. Your will should bend as the reeds or be as firm as stone when the situation calls for it."; + next; + mes "[Sir Edmond]"; + mes "You must not kill monsters without reason and not take joy in doing so. Take this time to quietly think about this on your own..."; + next; + mes "[Sir Edmond]"; + mes "Then, we shall"; + mes "begin the test."; + mes "Keep in mind"; + mes "the quality of"; + mes "reverence."; + close2; + set KNIGHT_Q,11; + changequest 9009,9010; + warp "job_knt",143,57; + end; + } + mes "[Sir Edmond]"; + mes "The life you want"; + mes "will soon be before"; + mes "your eyes."; + close; + } + else if (KNIGHT_Q == 11) { + mes "What is it..."; + mes "Wandering Swordman?"; + next; + if (select("I'm sorry, I didn't mean to...:Oh, nothing.") == 1) { + mes "[Sir Edmond]"; + mes "You were too careless in the last test. A Knight's sword exists to protect others, not to torment weaker monsters."; + next; + mes "[Sir Edmond]"; + mes "In a world where everything exists in harmony, you can't have humans continuously destroying without purpose. This principle applies to the real world, not to this test alone."; + next; + mes "[Sir Edmond]"; + mes "The test"; + mes "shall begin."; + mes "Show me your"; + mes "patience..."; + close2; + warp "job_knt",143,57; + end; + } + mes "[Sir Edmond]"; + mes "The life that you"; + mes "want will soon be"; + mes "before your eyes."; + mes "Everything will"; + mes "come in perfect"; + mes "order."; + close; + } + else if (KNIGHT_Q == 12 || KNIGHT_Q == 13) { + mes "I have seen your character for myself. It is now time for you to take the last test. Go and speak"; + mes "to Sir Gray..."; + close; + } + else { + mes "Go and speak"; + mes "to our captain."; + mes "The time has come"; + mes "for all of us to"; + mes "evaluate your"; + mes "performance."; + close; + } +} + +job_knt,1,1,1 script Timer#knt 107,{ +OnTimer300000: + enablenpc "Warp#knt"; + end; + +OnTimer300500: + donpcevent "Timer#knt::OnDisable"; + disablenpc "Warp#knt"; + end; + +OnTimer301500: + stopnpctimer; + donpcevent "Timer#knt::OnEnable"; + end; + +OnInit: +OnEnable: + enablenpc "Timer#knt"; + monster "job_knt",141,57,"Poring",1002,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",145,57,"Poring",1002,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",143,55,"Poring",1002,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",143,59,"Poring",1002,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",141,55,"Lunatic",1063,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",141,59,"Lunatic",1063,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",145,55,"Lunatic",1063,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",145,59,"Lunatic",1063,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",139,57,"Chonchon",1011,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",147,57,"Chonchon",1011,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",143,53,"Chonchon",1011,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",143,61,"Chonchon",1011,1,"Timer#knt::OnMyMobDead"; + //These monsters were out of bounds. Adjusted to put them in bounds. + monster "job_knt",165,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",165,57,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",122,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",122,57,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; + initnpctimer; + end; + +OnDisable: + killmonster "job_knt","Timer#knt::OnMyMobDead"; + disablenpc "Timer#knt"; + disablenpc "Warp#knt"; + end; + +OnMyMobDead: + warp "prt_fild05",353,251; + end; +} + +job_knt,145,57,1 script Warp#knt 107,22,22,{ +OnInit: + disablenpc "Warp#knt"; + end; +OnTouch: + set KNIGHT_Q,12; + changequest 9010,9011; + warp "prt_in",80,100; + end; +} + +// Test 5, and creates Claymores for knights +//========================================================== +prt_in,87,92,4 script Sir Gray#knt 119,{ + mes "[Sir Gray]"; + if (BaseJob != Job_Swordman) { + if (BaseJob == Job_Knight) { + mes "The glint of light"; + mes "that shines off this blade cannot be put into words. This is the weapon every Knight must have."; + next; + mes "[Sir Gray]"; + mes "Yes..."; + mes "^3355FFClaymore^000000!"; + mes "Every Knight"; + mes "would want one!"; + next; + switch(select("About ^3355FFClaymore^000000:Buy Claymore:End Conversation")) { + case 1: + mes "[Sir Gray]"; + mes "Claymore, one of the best among the famous swords you can attain in Rune-Midgarts's Prontera!! Its value is priceless when considered by a Knight."; + next; + mes "[Sir Gray]"; + mes "Now, the Prontera Chivalry is making these fabulous Claymores. For Knights, they are only ^3355FF74,000^000000 Zeny."; + next; + mes "[Sir Gray]"; + mes "But not only that, you need"; + mes "1 ^3355FFSteel^000000 because of the Claymore's characteristics. If you like, I can create one for you. For the honor of the Prontera Chivalry!"; + close; + case 2: + set .@now_weight,MaxWeight-Weight; + if (.@now_weight < 1800) { + mes "[Sir Gray]"; + mes "Oh no..."; + mes "It seems that you are carrying too many things. You don't have enough space for a heavy Claymore in your inventory."; + next; + mes "[Sir Gray]"; + mes "Why don't you"; + mes "go and organize"; + mes "your items first."; + close; + } + else { + if ((Zeny > 73999) && (countitem(999) > 0) && (BaseJob == Job_Knight)) { + mes "[Sir Gray]"; + mes "You are ready!"; + mes "You must know the"; + mes "true value of"; + mes "a Claymore!"; + mes "I shall make"; + mes "it right now!!"; + next; + mes "[Sir Gray]"; + mes "The basics of"; + mes "making the Claymore"; + mes "is easy. Watch~!"; + next; + mes "^3355FF*Stir Stir*^000000"; + mes "^3355FF*Ooncha Ooncha*^000000"; + next; + mes "[Sir Gray]"; + mes "Okay, it's ready!"; + mes "Every Knight's pride:"; + mes "a fine ^3355FFClaymore^000000."; + mes "You attained a reliable item."; + mes "It'll be a good companion on your adventures."; + delitem 999,1; //Steel + set Zeny, Zeny - 74000; + getitem 1163,1; //Claymore + close; + } + mes "[Sir Gray]"; + mes "I realize you may really want a Claymore, but I can't make it without the materials."; + mes "^3355FF74,000 zeny^000000 and ^3355FF1 Steel!^000000."; + next; + mes "[Sir Gray]"; + mes "Come back when"; + mes "you have everything"; + mes "ready. I shall be"; + mes "waiting..."; + close; + } + case 3: + mes "[Sir Gray]"; + mes "Any Knight should be able to wield a Claymore as if it were an extension of their body. I used to look forward to brandishing my Claymore in battle..."; + close; + } + } + else if (BaseClass == Job_Novice) { + mes "Believe it"; + mes "or not, I was"; + mes "once a Novice"; + mes "as well."; + next; + mes "[Sir Gray]"; + mes "I never really planned to become a Knight, but I did decide to become a strong person. Somehow, along my journeys, I ended up joining the Prontera Chivalry. Ha ha ha!"; + close; + } + mes "Young one,"; + mes "use your time"; + mes "wisely."; + next; + mes "[Sir Gray]"; + mes "No point in"; + mes "harboring regret"; + mes "once time has passed."; + close; + } + if (KNIGHT_Q == 0) { + mes "Young one,"; + mes "use your time"; + mes "wisely."; + next; + mes "[Sir Gray]"; + mes "No point in"; + mes "harboring regret"; + mes "once time has passed."; + close; + } + else if ((KNIGHT_Q == 12) || (KNIGHT_Q == 13)) { + if (KNIGHT_Q == 12) { + mes "Oh..."; + mes "A young Swordman."; + mes "Yes, what can"; + mes "I do for you?"; + next; + if (select("I would like to take the test to change jobs.:Oh, nothing.") == 1) { + mes "[Sir Gray]"; + mes "Hoho, I see."; + mes "So you took"; + mes "everyone else's"; + mes "test?"; + next; + mes "[Sir Gray]"; + mes "Then shall"; + mes "we begin mine?"; + mes "It's not really"; + mes "a test though."; + next; + mes "[Sir Gray]"; + mes "Let's talk"; + mes "casually,"; + mes "shall we?"; + next; + mes "[Sir Gray]"; + mes "First..."; + mes "Why did you"; + mes "decide to become"; + mes "a Knight?"; + next; + } + else { + mes "[Sir Gray]"; + mes "Take care!"; + close; + } + } + else if (KNIGHT_Q == 13) { + mes "Ah, you again."; + mes "What brings you"; + mes "to me?"; + next; + if (select("I've been thinking a lot.:Oh, nothing.") == 1) { + mes "[Sir Gray]"; + mes "Is that so..."; + mes "I wonder if you"; + mes "truly have..."; + next; + mes "[Sir Gray]"; + mes "Then..."; + mes "Like last time,"; + mes "I will ask again..."; + next; + mes "[Sir Gray]"; + mes "First..."; + mes "Why did you"; + mes "decide to become"; + mes "a Knight?"; + next; + } + else { + mes "[Sir Gray]"; + mes "Take care!"; + mes "Health is"; + mes "every man's"; + mes "treasure!"; + close; + } + } + switch(select("To become stronger...:To help my guild...:Because I'm unsatisfied with myself right now...")) { + case 1: + mes "[Sir Gray]"; + mes "To become stronger, you say?"; + mes "Yes, Knights are indeed strong."; + mes "But why gain strength?"; + next; + mes "[Sir Gray]"; + mes "Is it to show off to others? To attain fame? Or do you have a diferent reason? What do you think is so good about gaining strength as a Knight?"; + next; + switch(select("Gain wealth and fame.:I can protect myself.:I can protect others.")) { + case 1: + set .@knight_t,.@knight_t+10; + mes "[Sir Gray]"; + mes "Of course, wealth and fame have their place in the world. But we as Knights must live for higher virtues."; + next; + break; + case 2: + mes "[Sir Gray]"; + mes "Good thinking. You must first be able to protect yourself in order to protect others. To this end, you must constantly train, and never give in to laziness."; + next; + break; + case 3: + mes "[Sir Gray]"; + mes "Ah, a wonderful idea. A Knight's strength must be used to protect the weak and defend righteousness."; + next; + mes "[Sir Gray]"; + mes "Sadly, there are a few Knights who shame us by forgetting the ideals that should be basic to Knighthood..."; + next; + break; + } + break; + case 2: + mes "[Sir Gray]"; + mes "Ah, to help your guild, or maybe even your party. Our wise and benevolent King Tristram the 3rd gave us these golden words..."; + next; + mes "[Sir Gray]"; + mes "^8B7500Beyond the calm river, lies a dangerous waterfall. Therefore, you must always be prepared for everything...^000000"; + next; + mes "[Sir Gray]"; + mes "So how do you"; + mes "think you can"; + mes "help your guild?"; + next; + switch(select("My guild needs me.:I can help gather funds for my guild.:I can protect my guild members.")) { + case 1: + mes "[Sir Gray]"; + mes "Anyone, anywhere in this world,"; + mes "has a place where they are needed. Never neglect someone in need, even if he is not a guild member."; + next; + break; + case 2: + set .@knight_t,.@knight_t+10; + mes "[Sir Gray]"; + mes "Of course wealth is important."; + mes "But we Knights must live for higher virtues."; + next; + break; + case 3: + mes "[Sir Gray]"; + mes "Ah, a wonderful idea. A Knight's strength must be used to protect the weak and defend righteousness."; + next; + mes "[Sir Gray]"; + mes "Sadly, there are a few Knights who shame us by forgetting the ideals that should be basic to Knighthood..."; + next; + break; + } + break; + case 3: + set .@knight_t,.@knight_t+5; + mes "[Sir Gray]"; + mes "Satisfaction, you say."; + mes "It seems like you are"; + mes "already a fine Swordman."; + mes "Is there a particular reason you wish to be a Knight?"; + next; + mes "[Sir Gray]"; + mes "I don't know about"; + mes "Swordmen, but Knights do not allow self-indulgence. There are those so obsessed with gaining strength that they cannot control themselves."; + next; + mes "[Sir Gray]"; + mes "So..."; + mes "What part of yourself"; + mes "are you not satisfied"; + mes "with right now?"; + next; + switch(select("Skills.:Goal.:Appearance.")) { + case 1: + set .@knight_t,.@knight_t+5; + mes "[Sir Gray]"; + mes "Skill is something you gain with experience as a Knight. It cannot be your highest goal. Otherwise, you'll never be satisfied as a Knight."; + next; + break; + case 2: + set .@knight_t,.@knight_t-5; + mes "[Sir Gray]"; + mes "I see..."; + mes "Always having a goal is very important. You may be full of ideas upon becoming a Knight, but that may change with time."; + next; + break; + case 3: + set .@knight_t,.@knight_t+5; + mes "[Sir Gray]"; + mes "Oh no..."; + mes "What you see isn't what really counts. A Swordman may be stronger than a Knight, and even Knight may grow weak if he becomes lazy."; + next; + break; + } + break; + } + mes "[Sir Gray]"; + mes "I understand your thoughts,"; + mes "but there are those who wish to"; + mes "become Knights without thinking."; + next; + mes "[Sir Gray]"; + mes "Those are the ones who instigate problems and shame the honor of Knights, bringing irreversible results."; + next; + mes "[Sir Gray]"; + mes "The same goes for you as well. Once you become a Knight, you can never become a Swordman again. The duties and responsibilities of a Knight will always be with you."; + next; + mes "[Sir Gray]"; + mes "If you become a Knight right away, what are you going to do first?"; + next; + switch(select("I am going to go straight to battle.:There are those waiting for me.:I will learn more about Knights.")) { + case 1: + mes "[Sir Gray]"; + mes "Battle...?"; + mes "And then?"; + next; + switch(select("I will grow within a short period of time.:I would like to test my ability as a Knight.:I would like to go to more challenging places.")) { + case 1: + set .@knight_t,.@knight_t+10; + mes "[Sir Gray]"; + mes "Don't be in too much of a hurry to become strong. Even if you become"; + mes "a Knight, you are still yourself."; + next; + break; + case 2: + mes "[Sir Gray]"; + mes "Testing yourself is a good thing. It's okay to be happy about how you change, but don't forget about the true qualities of being a Knight."; + next; + break; + case 3: + mes "[Sir Gray]"; + mes "Even if you become a Knight, you are not changing your inner self. No need to overwork yourself."; + mes "Relax and take things step by step."; + next; + break; + } + break; + case 2: + mes "[Sir Gray]"; + mes "Who is"; + mes "waiting for you?"; + next; + switch(select("My friends.:My Guild members.:My Lover.")) { + case 1: + mes "[Sir Gray]"; + mes "I see, they would share in the joy of your achievements. Don't ever lose your kind heart, and always give help to your friends."; + next; + break; + case 2: + mes "[Sir Gray]"; + mes "Those who would share in your happiness and hardship. As a Knight, you must always protect them."; + next; + break; + case 3: + mes "[Sir Gray]"; + mes "Oh, youth!"; + mes "Becoming a Knight"; + mes "for your beloved!"; + mes "Always protect "+((Sex)?"her":"him")+"..."; + mes "Even at the sacrifice"; + mes "of your own life!"; + next; + mes "[Sir Gray]"; + mes "Also..."; + mes "Love them forever."; + mes "Sincere affection"; + mes "is hard to find."; + next; + break; + } + break; + case 3: + mes "[Sir Gray]"; + mes "Good attitude..."; + mes "What do you plan"; + mes "on learning?"; + next; + switch(select("Comfortable places for Knights to go...:The different paths of a Knight...:Ways to get more money as a Knight...")) { + case 1: + set .@knight_t,.@knight_t+5; + mes "[Sir Gray]"; + mes "There are many places that are comfortable or uncomfortable in this world. However Knights must"; + mes "be able to survive anywhere."; + next; + break; + case 2: + mes "[Sir Gray]"; + mes "There are many similar Knights outside in the world. Think of them as your seniors and ask many questions."; + next; + break; + case 3: + set .@knight_t,.@knight_t+15; + mes "[Sir Gray]"; + mes "Oh no. Do you hold wealth as a priority of being a Knight? We're not meant to be that way. Come again when you have thought"; + mes "more about it..."; + next; + break; + } + break; + } + mes "[Sir Gray]"; + mes "Oh no, we've been"; + mes "talking too much..."; + mes "I apologize for"; + mes "keeping you here"; + mes "for so long."; + next; + if (.@knight_t == 0) { + set KNIGHT_Q,14; + mes "[Sir Gray]"; + mes "I enjoyed talking with you. You remind me of myself as a young recruit. Shall we talk to the captain and decide on your"; + mes "job change?"; + next; + mes "[Sir Gray]"; + mes "Don't worry too"; + mes "much, I have a very"; + mes "high opinion of you."; + mes "Now, go~"; + close; + } + else if (.@knight_t == 5) { + set KNIGHT_Q,14; + mes "[Sir Gray]"; + mes "I enjoyed speaking with you. You can think about the principles of Knighthood more once you become a Knight."; + next; + mes "[Sir Gray]"; + mes "Then, shall we go to the captain and decide on your job change? Don't worry too much. You are good enough to be a Knight!"; + close; + } + else if (.@knight_t == 10) { + set KNIGHT_Q,14; + changequest 9011,9012; + mes "[Sir Gray]"; + mes "I enjoyed talking with you. Although, there were some"; + mes "things that bothered me..."; + next; + mes "[Sir Gray]"; + mes "You should go"; + mes "to the captain"; + mes "so we can decide"; + mes "on your job change."; + next; + mes "[Sir Gray]"; + mes "Don't worry too much, coming to take my test means the others have acknowledged you as well."; + mes "Go now...!"; + close; + } + else { + set KNIGHT_Q,13; + mes "[Sir Gray]"; + mes "Conversing"; + mes "with young ones"; + mes "is always enjoyable..."; + next; + mes "[Sir Gray]"; + mes "But it seems as though your dream is elsewhere, or that your focus is hazy. Spend more time as a Swordman, and come back"; + mes "to me later."; + next; + mes "[Sir Gray]"; + mes "If you truly wish to become a Knight, you must change your outlook first. Then, we shall see."; + close; + } + } + else if (KNIGHT_Q == 14) { + mes "I told you"; + mes "to go to"; + mes "the captain."; + next; + mes "[Sir Gray]"; + mes "Everyone will"; + mes "carefully make"; + mes "their decision,"; + mes "so go now!"; + close; + } + else { + mes "Oh..."; + mes "A young Swordman."; + mes "What can I do for you?"; + next; + if (select("I would like to take the test to change jobs.:Oh, nothing.") == 1) { + mes "[Sir Gray]"; + mes "Hoho~"; + mes "There are many"; + mes "other younger"; + mes "Knights in here."; + next; + mes "[Sir Gray]"; + mes "If you talk"; + mes "to all of them,"; + mes "I may review"; + mes "you as well."; + close; + } + mes "[Sir Gray]"; + mes "Take care!"; + mes "Health is"; + mes "every man's"; + mes "treasure!"; + close; + } +} diff --git a/npc/pre-re/jobs/2-1/priest.txt b/npc/pre-re/jobs/2-1/priest.txt new file mode 100644 index 000000000..8aadc429b --- /dev/null +++ b/npc/pre-re/jobs/2-1/priest.txt @@ -0,0 +1,1882 @@ +//===== rAthena Script ======================================= +//= Priest Quest +//===== By: ================================================== +//= Translated By: Pgro Team (OwNaGe)(Aegis) +//= Converted by: kobra_k88. +//= Further bugfixed and tested by Lupus +//===== Current Version: ===================================== +//= 2.6 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Job Change quest for Priest class. +//===== Additional Comments: ================================= +//= Fully working. Changed the way Priests enter the test room to help Acos. +//= Must use this with the included Acolyte quest to work properely. +//= 1.3 Added Baby Class support, fixed 3 wrong constants bugs [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 Merged JFunc [Lupus] +//= 2.1a Fixed typo [KarLaeda] +//= 2.2 Rescripted to Aegis 10.3 standards. [L0ne_W0lf] +//= 2.3 Several bugfixes with the help of Barron-Monster. [L0ne_W0lf] +//= 2.3a More bug fixes. [L0ne_W0lf] +//= 2.4 Changed Marthilda to Mathilda. [L0ne_W0llf] +//= 2.4a Deleted unused variables. [Samuray22] +//= 2.4b Corrected a Typo error ";;". [Samuray22] +//= 2.5 Added Quest Log commands. [Kisuka] +//= 2.6 Removed the need for use of 'goto.' [L0ne_W0lf] +//========================================================== + +prt_church,16,41,4 script High Bishop#prst 60,{ + // Uncomment the following 'if' statement to allow High Priests to assist Acolytes with the job change quest. + // Officially High Priests are blocked from helping by an indiscriminate check if you are a transcended character. + //if (Class == Job_High_Priest) set .@AllowHPAssist,1; + if (Upper == 1 && .@AllowHPAssist != 1) { + mes "[Bishop Paul]"; + mes "Hm...?"; + mes "Ah, I sense that you are a warrior that has been to Valhalla. You who have been reborn... We are here to look after you."; + next; + mes "[Bishop Paul]"; + mes "Do not let evil conquer your soul. You have enough courage and power to overcome the hardest situation. May God bless you..."; + close; + } + if (BaseJob != Job_Acolyte) { + if (BaseJob == Job_Priest) { + mes "[Bishop Paul]"; + mes "Ah..."; + if (sex) + mes "It is good to see you again, Brother " + strcharinfo(0) + ". Once again, God's grace has caused our paths to cross."; + else + mes "It is good to see you once again, Sister " + strcharinfo(0) + ". The grace of God has brought you once more before me."; + next; + mes "[Bishop Paul]"; + mes "I'm pleased to see that you are continuing to lead the children of God on the right path. Is there anything I can help you with today?"; + next; + switch(select("How is your health?:I want to help this Acolyte.:Father, I need your help.")) { + case 1: + mes "[Bishop Paul]"; + mes "Thank you for your concern. I'm doing fine and am in good health. Please give my regards to your brothers and sisters."; + next; + mes "[Bishop Paul]"; + mes "Keep in mind that we are God's messengers on this Earth. Always remember that we must always help others."; + close; + case 2: + mes "[Bishop Paul]"; + mes "Ah, that's a good idea. Helping young Acolytes should also be one of a Priest's priorities."; + next; + mes "[Bishop Paul]"; + mes "However, there are certain things that an Acolyte must do alone. All Acolytes must complete their divine test by themselves."; + next; + mes "[Bishop Paul]"; + mes "I hope you will assist your Acolyte friend in the second test, the spiritual training."; + next; + mes "[Bishop Paul]"; + mes "You need to bring ^0000FF1 Rosary^000000 in order to accompany an Acolyte in spiritual training. If you have one of those, I can send you to the test area now."; + next; + mes "[Bishop Paul]"; + mes "Do you wish to help him out during the spiritual training?"; + next; + if (select("Yes, I do.:Give me a second.") == 1) { + if (countitem(2608) > 0) { + mes "[Bishop Paul]"; + mes "I will now send you to the training place for Acolytes. Please send my regards to Brother Peter..."; + next; + mes "[Bishop Paul]"; + mes "I hope you will assist this Acolyte in becoming a Priest."; + close2; + warp "job_prist",26,178; + end; + } + mes "[Bishop Paul]"; + mes "Unfortunately you didn't bring a ^0000FFRosary^000000. You need one of those in order to be in the testing area."; + close; + } + mes "[Bishop Paul]"; + mes "I see, take your time. Don't forget to bring a ^0000FFRosary^000000..."; + close; + case 3: + mes "[Bishop Paul]"; + mes "You must be strong. Have faith, as you are loved by God. I pray the wounds of the body are healed soon..."; + next; + percentheal 90,0; + mes "[Bishop Paul]"; + mes "God, please look after your poor children. Help them overcome their hardships and difficulties. Refresh their spirits..."; + next; + percentheal 0,90; + mes "[Bishop Paul]"; + mes "I hope my invocation has eased your pain. Now please go forth and spread God's message. May God be with you..."; + close; + } + } + else if (BaseClass == Job_Novice) { + mes "[Bishop Paul]"; + mes "May God be"; + if (sex) + mes "with you, brother."; + else + mes "with you, sister."; + next; + mes "[Bishop Paul]"; + mes "You are in"; + mes "the Sanctuary."; + mes "What brings you here?"; + next; + switch(select("I want to be an Acolyte.:I want to be a Priest.:Nothing, really.")) { + case 1: + mes "[Bishop Paul]"; + mes "Oh I see..."; + mes "If you wish to become an Acolyte, please visit the other room."; + break; + case 2: + mes "[Bishop Paul]"; + mes "Oh I see. However, you must first become an Acolyte before becoming a Priest. Please visit the other room."; + break; + case 3: + mes "[Bishop Paul]"; + mes "Please make yourself at home. On Earth, nowhere is safer than this Sanctuary."; + break; + } + next; + mes "[Bishop Paul]"; + mes "May God bless you."; + close; + } + else { + mes "[Bishop Paul]"; + mes "May God be"; + if (sex) + mes "with you, brother."; + else + mes "with you, sister."; + next; + mes "[Bishop Paul]"; + mes "What brings you here"; + mes "to Prontera Sanctuary?"; + next; + switch(select("Information about Priests.:Nothing.")) { + case 1: + mes "[Bishop Paul]"; + mes "Priests have the authority to perform and administer religious rites."; + next; + mes "[Bishop Paul]"; + mes "You must first be thoroughly disciplined as an Acolyte before you can be promoted to the position of Priest."; + next; + mes "[Bishop Paul]"; + mes "When you reach Acolyte Job level 40, you will be able to apply for the Priest test."; + next; + mes "[Bishop Paul]"; + mes "If you pass the test, you will be able to use more powerful skills that will be effective against Demon and Undead creatures..."; + next; + mes "[Bishop Paul]"; + mes "With all of your ability, you will play an important role in towns and dungeons."; + next; + mes "[Bishop Paul]"; + mes "Our duty and obligation as Priests is to devote ourselves to helping others without expecting reward."; + next; + mes "[Bishop Paul]"; + mes "As we help others, we must not expect to treat us in a similar fashion. To be a great Priest is your choice and responsibility, not anyone else's."; + next; + mes "[Bishop Paul]"; + mes "However, those who receive should be polite. You should give an outstanding example, but you should also have your limits as a human."; + next; + mes "[Bishop Paul]"; + mes "I hope I explained enough of the class. Why don't you go outside and talk to some of the other Priests if you want to learn more about our way of life?"; + next; + break; + case 2: + mes "[Bishop Paul]"; + mes "Please make yourself at home. Nowhere on Earth is safer than the Prontera Sanctuary."; + next; + break; + } + mes "[Bishop Paul]"; + mes "Well..."; + mes "May God"; + mes "bless you."; + close; + } + } + if (PRIEST_Q == 0) { + mes "[Bishop Paul]"; + mes "May God bless"; + if (sex) + mes "you, Brother."; + else + mes "you, Sister."; + mes "What brings"; + mes "you to me?"; + next; + switch(select("I want to be a Priest.:How are you, Father?")) { + case 1: + mes "[Bishop Paul]"; + mes "I see. So you wish to be a Priest. God will be delighted by your decision and will bless you."; + next; + mes "[Bishop Paul]"; + mes "I am Bishop Paul Cervantes, and am in charge of the Prontera Parish."; + mes "I am glad to meet a person as eager and devoted to God such as yourself."; + next; + mes "[Bishop Paul]"; + mes "If you set your mind on becoming a Priest, you must undergo several tests. Only Acolytes who reach job level 40 are qualified for testing."; + next; + mes "[Bishop Paul]"; + mes "If you satisfy the requirements, I suggest that you apply for the Priest job first. Do you wish to apply now?"; + next; + if (select("Yes, I do.:I need some time to think about it...") == 1) { + if (JobLevel < 40) { + mes "[Bishop Paul]"; + mes "You are not yet qualified to be a Priest. Please go out into the world and broaden your experiences."; + next; + mes "[Bishop Paul]"; + mes "There are still things that you must learn as an Acolyte. However, I look forward to meeting you again very soon."; + close; + } + if (SkillPoint) { + mes "[Bishop Paul]"; + mes "You have skill points left."; + mes "I strongly recommend that you use all of these skill points before you apply for the Priest job change test."; + close; + } + set PRIEST_Q,1; + setquest 8009; + mes "[Bishop Paul]"; + if (sex) + mes "Now I will explain the Three Trials of Priesthood. These tribulations will bring you much suffering, but I hope you can complete them, Brother " + strcharinfo(0) + "."; + else + mes "Now I will explain the Three Trials of Priesthood. These tribulations will bring you much suffering, but I hope you can complete them, Sister " + strcharinfo(0) + "."; + next; + mes "[Bishop Paul]"; + mes "For the First Trial, you will make a pilgrimage, and visit three acscetic Priests in a specific order."; + next; + mes "[Bishop Paul]"; + mes "The Second Trial will consist of spiritual training. You must resist the temptations of Demons and the Undead."; + next; + mes "[Bishop Paul]"; + mes "In the Final Trial, you will promise your devotion to God. Your willingness to sacrifice yourself will also be questioned."; + next; + mes "[Bishop Paul]"; + mes "Acolytes that have reached Job Level 50 will be exempt from the First Trial, the pilgrimage, as they have already demonstrated their enthusiasm and devotion."; + next; + if (JobLevel == 50) { + mes "[Bishop Paul]"; + mes "I can see the great effort you have exerted to reach job level 50. You have been a loyal servant to God."; + next; + mes "[Bishop Paul]"; + mes "Now, you may go directly go to the Second Trial: Spiritual Training. For this training, you may bring a Priest with you."; + next; + mes "[Bishop Paul]"; + mes "I have no doubt that you will do a good job by yourself. However, it will be easier with the aid of a Brother or Sister that has already become a Priest."; + next; + set PRIEST_Q,5; + changequest 8009,8011; + mes "[Bishop Paul]"; + mes "Well, are you ready for the Spiritual Training?"; + next; + if (select("I am ready.:Give me a minute.") == 1) { + mes "[Bishop Paul]"; + mes "Good. I will send you to the training ground. When you get there, please speak to Brother Peter who is in charge of the training."; + next; + warp "job_prist",24,180; + end; + } + mes "[Bishop Paul]"; + mes "No problem, take your time."; + mes "May God give you the strength to overcome your fears..."; + close; + } + mes "[Bishop Paul]"; + mes "Well, let me tell you the order of the ascetic Priests that you must visit for your pilgrimage."; + next; + mes "[Bishop Paul]"; + mes "First, please visit Father"; + mes "Rubalkabara who is Northeast"; + mes "of the Prontera Ruins."; + next; + mes "[Bishop Paul]"; + mes "Second, please visit Sister Mathilda. She is located in"; + mes "an area near Morroc, Southwest of Prontera."; + next; + mes "[Bishop Paul]"; + mes "The third Priest you must visit is Father Yosuke. He is in a field Northwest of Prontera."; + next; + mes "[Bishop Paul]"; + mes "Well then, I wish you a safe journey. If you have any questions, please ask Sister Cecilia."; + next; + mes "[Bishop Paul]"; + mes "When you return from your pilgrimage, I will let you know"; + mes "of the next test."; + next; + mes "[Bishop Paul]"; + mes "May God"; + mes "bless you..."; + changequest 8009,8010; + close; + } + mes "[Bishop Paul]"; + mes "Please take your time."; + mes "You are always welcomed."; + mes "May God bless you..."; + close; + case 2: + mes "[Bishop Paul]"; + mes "I see..."; + mes "I am doing fine"; + mes "and am in good health."; + mes "Thank you for asking."; + next; + mes "[Bishop Paul]"; + if (sex) + mes "I hope you will continue to go on your mission as God's servant, brother."; + else + mes "I hope you will continue to go on your mission as God's servant, sister."; + next; + mes "[Bishop Paul]"; + mes "Hopefully, our paths"; + mes "will cross again."; + mes "May God bless you..."; + close; + } + } + else if (PRIEST_Q == 1) { + mes "[Bishop Paul]"; + mes "May I ask you the reason you're still here? You didn't forget your pilgrimage, did you?"; + next; + if (select("Sorry father, I need to check the order.:No no no, not at all.") == 1) { + mes "[Bishop Paul]"; + mes "Ah, I see. I will let you know the order of pilgrimage again, and hope that you will have a safe journey."; + next; + mes "[Bishop Paul]"; + mes "First, meet Father Rubalkabara. He's at the Northeast of the Prontera ruins."; + next; + mes "[Bishop Paul]"; + mes "Then, remember to meet Sister Mathilda. She's somewhere near the town of Morroc, Southwest of Prontera."; + next; + mes "[Bishop Paul]"; + mes "And lastly, please seek out Father Yosuke. He is in the a field Northwest of Prontera."; + next; + mes "[Bishop Paul]"; + mes "Well then, I shall pray for your safe journey. If you want more information, please ask Sister Cecilia."; + next; + mes "[Bishop Paul]"; + mes "When you get back from the pilgrimage, I will let you know the next test."; + next; + mes "[Bishop Paul]"; + mes "May God bless you..."; + close; + } + mes "[Bishop Paul]"; + mes "I see. But still, if you have any questions, you may wish to ask Sister Cecilia. She will address any of your concerns."; + next; + mes "[Bishop Paul]"; + mes "Well then, I shall pray for your safe journey. May God bless you..."; + close; + } + else if (PRIEST_Q == 2) { + mes "[Bishop Paul]"; + mes "I see you have returned from your meeting with Father Rubalkabara. How is he doing? I am worried about his health, since he's been there all alone... "; + next; + mes "[Bishop Paul]"; + mes "For your next quest, you should meet Sister Mathilda. I shall be awaiting your safe return."; + close; + } + else if (PRIEST_Q == 3) { + mes "[Bishop Paul]"; + mes "I see that you have returned from your journey to meet Sister Mathilda. She has been meditating in the hot, dry desert for a long time."; + next; + mes "[Bishop Paul]"; + mes "Finally, it is now time for you to meet Father Yosuke. He is doing penance somewhere around a field Northwest of Prontera. Please seek him out, and then return here to me."; + close; + } + else if (PRIEST_Q == 4) { + set PRIEST_Q,5; + changequest 8010,8011; + mes "[Bishop Paul]"; + mes "You've accomplished"; + mes "your pilgrimage."; + mes "Congratulations."; + next; + mes "[Bishop Paul]"; + mes "Now it is time to begin your spiritual training. As I mentioned before, you may bring a Priest to help you during this training."; + next; + mes "[Bishop Paul]"; + mes "Although you cannot receive their help throughout all of the testing, they can at least help you during the spiritual training."; + next; + mes "[Bishop Paul]"; + mes "Well, are you ready for"; + mes "the spiritual training?"; + next; + if (select("I'm ready.:Give me a minute.") == 1) { + mes "[Bishop Paul]"; + mes "Good. I will send you to the training ground. When you get there, please speak to Brother Peter who is in charge of the training."; + next; + warp "job_prist",24,180; + end; + } + mes "[Bishop Paul]"; + mes "No problem,"; + mes "take your time."; + mes "May God grant you"; + mes "the strength to"; + mes "overcome your fears..."; + close; + } + else if (PRIEST_Q == 5) { + mes "[Bishop Paul]"; + mes "You seem confident about the spiritual training. Shall we begin?"; + next; + if (select("I'm ready.:Give me a minute.") == 1) { + mes "[Bishop Paul]"; + mes "Good. I will send you to the training ground. When you get there, please speak to Brother Peter who is in charge of the training."; + next; + warp "job_prist",24,180; + end; + } + mes "[Bishop Paul]"; + mes "No problem,"; + mes "take your time."; + mes "May God grant you"; + mes "the strength to"; + mes "overcome your fears..."; + close; + } + else if (PRIEST_Q == 6) { + mes "[Bishop Paul]"; + mes "You look tired and exhausted. However, you must endure even more suffering once you become a Priest."; + next; + mes "[Bishop Paul]"; + mes "Please endure these trials for the sake of your dream. Why don't you challenge the spiritual training again?"; + next; + if (select("I'll try again.:Give me a minute.") == 1) { + mes "[Bishop Paul]"; + mes "Good. I will send you to the training ground. Please ask for help from Brother Peter."; + next; + warp "job_prist",24,180; + end; + } + mes "[Bishop Paul]"; + mes "No problem,"; + mes "take your time."; + mes "May God grant you"; + mes "the strength to"; + mes "overcome your fears..."; + close; + } + else if (PRIEST_Q == 7) { + mes "[Bishop Paul]"; + mes "I am glad that you've done well with the spiritual training. Congratulations. You are now qualified to be called a Priest."; + next; + mes "[Bishop Paul]"; + mes "Now, you must go and swear your devotion to God with Sister Cecilia. Don't be nervous..."; + next; + mes "[Bishop Paul]"; + mes "Just answer honestly, and listen to the voice of God that speaks quietly in your heart."; + next; + mes "[Bishop Paul]"; + mes "Well then..."; + mes "I will be here"; + mes "waiting for you."; + close; + } + else if (PRIEST_Q == 8) { + mes "[Bishop Paul]"; + mes "Hmm? You haven't made your oath yet...? Without the conviction of an oath to God, you may be tempted by evil at anytime."; + next; + mes "[Bishop Paul]"; + mes "You should go to sister Cecilia and promise your devotion to God. Return here with honor, and listen to the voice of God that speaks quietly in your heart."; + close; + } + else if (PRIEST_Q == 9) { + if (SkillPoint) { + mes "[Bishop Paul]"; + mes "You have remaining skills points. Please use these skill points to upgrade your skills, and then return to me."; + close; + } + mes "[Bishop Paul]"; + mes "Congratulations, you have completed the trials required of all Priests. Let me promote you to the position of Priest right away."; + next; + mes "[Bishop Paul]"; + mes "God, grant your power to your servant standing before you."; + changequest 8015,8016; + if (sex) + mes "Let him send your message throughout the ends of the earth."; + else + mes "Let her send your message throughout the ends of the earth."; + next; + mes "[Bishop Paul]"; + mes "Make this servant of yours an instrument of your miraculous works..."; + next; + set .@joblvl,JobLevel; + completequest 8016; + callfunc "Job_Change",Job_Priest; + callfunc "F_ClearJobVar"; // clears all job variables for the current player + mes "[Bishop Paul]"; + mes "Now you are born again as a Priest. I congratulate you, and hope you will greatly help other people for the rest of your life."; + next; + mes "[Bishop Paul]"; + if (.@joblvl < 50) { + getitem 1550,1; //Book + mes "This book is for you. I hope it will aid you in spreading God's message on earth."; + } + else { + getitem 1551,1; //Bible + mes "In commemoration of your job change, I am giving you a bible. This will lighten your way to the path of righteousness."; + } + next; + mes "[Bishop Paul]"; + mes "You've shown great effort, and have made admirable progress in your personal quest for holiness. Please lead your life as a sincere Priest..."; + close; + } +} + +prt_church,27,24,1 script Sister Cecilia 79,{ + mes "[Sister Cecilia]"; + if (BaseJob != Job_Acolyte) { + if (BaseJob == Job_Priest) { + if (sex) + mes "May god bless you, brother. It brings my heart joy to see that you working hard to carry out the will of God."; + else + mes "May god bless you, sister. It brings my heart joy to see that you working hard to carry out the will of God."; + } + else if (Class == Job_Novice) { + if (sex) + mes "May god bless you, brother."; + else + mes "May god bless you, sister."; + mes "Prontera parish welcomes you."; + next; + mes "[Sister Cecilia]"; + mes "Oh, you haven't chosen a job yet? Why don't you consider devoting your life to God?"; + next; + mes "[Sister Cecilia]"; + mes "You can lead a fulfilling life as an Acolyte, helping out other people in need."; + next; + mes "[Sister Cecilia]"; + mes "If you're interested, please ask the Priest in the other room. You won't ever regret the choice to become an Acolyte."; + next; + mes "[Sister Cecilia]"; + mes "When you reach Job level 40 as an Acolyte, you can be promoted to a Priest."; + next; + mes "[Sister Cecilia]"; + mes "But please..."; + mes "Take your time, and decide what job will be the best for you."; + } + else { + if (sex) + mes "May god bless you, brother."; + else + mes "May god bless you, sister."; + mes "Welcome to Prontera parish. How may I help you?"; + next; + if (select("Tell me more about Priests.:Nothing.") == 1) { + mes "[Sister Cecilia]"; + mes "Messengers of God are usually known as Priests. After becoming an Acolyte, you can train with the goal of becoming a Priest."; + next; + mes "[Sister Cecilia]"; + mes "Servants of God are prohibited to use weapons based on blades. For us, the meaning of battle with monsters is not in the killing, but in the enlightening of their souls."; + if (BaseJob == Job_Acolyte) { + next; + mes "[Sister Cecilia]"; + mes "Well, it will be better that you meet Priests for yourself and speak with them. If you are ready to become a Priest, speak with Bishop Paul in this room."; + next; + mes "[Sister Cecilia]"; + mes "I believe he can give you specific requirement information about the Priest class. Yes, I think it's a good idea."; + } + close; + } + mes "[Sister Cecilia]"; + mes "I see. Well, feel free to relax and make yourself at home. Nowhere on earth is safer than the Prontera Sanctuary."; + next; + mes "[Sister Cecilia]"; + mes "May God bless you..."; + close; + } + } + if (PRIEST_Q == 0) { + if (sex) + mes "May God bless you, brother."; + else + mes "May God bless you, sister."; + mes "May I ask what brings you here?"; + next; + switch(select("I wish to become a Priest.:Nothing.")) { + case 1: + mes "[Sister Cecilia]"; + mes "I see. You've devoted yourself to God. Many Acolytes wish to become Priests to continue on their personal journey towards holiness."; + next; + mes "[Sister Cecilia]"; + mes "Let me introduce myself. I am Cecilia Margarita, and I am in charge of part of the Priest job change process."; + next; + mes "[Sister Cecilia]"; + mes "I've been supporting many people in becoming Priests ever since I joined the Prontera Parish. That is one of my main responsibilities."; + next; + mes "[Sister Cecilia]"; + mes "In order to become a Priest, you must complete 3 trials. A pilgrimage, a session of spiritual training, and an oath of devotion to God."; + next; + mes "[Sister Cecilia]"; + mes "If you wish to become a servant of God, please apply for the Priest job with Bishop Paul, and complete all 3 trials."; + next; + mes "[Sister Cecilia]"; + mes "If you experience a problem during any of your trials, feel free to visit me. I will help you as much as I can."; + close; + case 2: + mes "[Sister Cecilia]"; + mes "Make yourself at home. I insist that you recover and take a rest in this Sanctuary. May God bless you..."; + close; + } + } + else if (PRIEST_Q == 1) { + mes "Ah, you've started your pilgrimage. Please do your best to accomplish this first trial."; + next; + mes "[Sister Cecilia]"; + mes "The first Priest you must meet is Father Rubalkabara. He is in the ruins Northeast of Prontera."; + next; + mes "[Sister Cecilia]"; + mes "Travel one field North from Prontera, and then three fields East, and you will arrive at the ruins."; + next; + mes "[Sister Cecilia]"; + mes "Of course, you can also head 1 field East from Prontera, then go 1 field north, and then go 2 fields East..."; + next; + mes "[Sister Cecilia]"; + mes "Father Rubalkabara will be at the entrance of the Prontera Ruins. Be careful. That place is a habitat for aggressive Chocos."; + next; + mes "[Sister Cecilia]"; + mes "After meeting Father Rubalkabara, please visit Sister Mathilda and Father Yosuke. You can check your quest progress with me if you have any questions later."; + next; + mes "[Sister Cecilia]"; + mes "Well then, have a good journey. Please don't give up to short lived tribulations, and I hope that you accomplish your goals."; + close; + } + else if (PRIEST_Q == 2) { + mes "Oh, you've met Father Rubalkabara. Now it's time for you to visit Sister Mathilda. She is near a town named Morroc."; + next; + mes "[Sister Cecilia]"; + mes "She has been training her religious discipline somewhere in a field North of Morroc. If you look around that field, you will be able to find her."; + next; + mes "[Sister Cecilia]"; + mes "Of course, sometimes I want to devote myself to training like those other Priests, but I have my duty to assist those Acolytes applying for the Priest job."; + next; + mes "[Sister Cecilia]"; + mes "But I believe this is God's will, and that this is the work he has intended me to do as his servant. Have a safe journey, and come back safely."; + close; + } + else if (PRIEST_Q == 3) { + mes "Now, the final Priest that you must meet is Father Yosuke. I've heard that he is training near a lake located Northwest of Prontera."; + next; + mes "[Sister Cecilia]"; + mes "From Prontera, travel one field North, and then two fields towards the West. You may also travel two fields West first, and then travel one field to the North."; + next; + mes "[Sister Cecilia]"; + mes "Although there are still two trials awaiting you, I have faith that you will be able to accomplish your goal of becoming a Priest..."; + close; + } + else if (PRIEST_Q == 4) { + mes "Welcome. You demonstrated great effort to accomplish your first trial. Now, speak to Bishop Paul so that you can begin your next trial on your path to Priesthood."; + next; + mes "[Sister Cecilia]"; + if (sex) + mes "Brother "+ strcharinfo(0) +"..."; + else + mes "Sister "+ strcharinfo(0) +"..."; + mes "The spiritual training is much more difficult than the pilgrimage, but I believe in you."; + next; + mes "[Sister Cecilia]"; + mes "I hope that you find someone who has already become a Priest to help during the spiritual training. Good luck, and have faith."; + close; + } + else if (PRIEST_Q == 5) { + mes "Oh, you haven't finished the spiritual training yet?"; + next; + mes "[Sister Cecilia]"; + mes "I cannot let you know the specific details, but as long as you believe in yourself and have faith in all that is good, you will succeed."; + next; + mes "[Sister Cecilia]"; + mes "Please speak to Father Peter in the test hall for more details. He is a close friend of Bishop Paul and may give you some useful tips for the spiritual training."; + close; + } + else if (PRIEST_Q == 6) { + mes "Yes, I understand that you've been through a really difficult situation. However, do not give up and succumb to temptation. You must be able to resist evil to become a Priest."; + next; + mes "[Sister Cecilia]"; + mes "If you know somebody who has already become a Priest, ask them to help you during your spiritual training."; + next; + mes "[Sister Cecilia]"; + mes "May God give you guidance and protection. When you complete your training, please come back to me."; + close; + } + else if (PRIEST_Q == 7 || PRIEST_Q == 8) { + if (PRIEST_Q == 7) { + if(checkquest(8014) == -1) { + changequest 8013,8014; + } + mes "Welcome! I'm so glad to see you've come back! Now, there is one last trial left for you to complete."; + } + else if (PRIEST_Q == 8) { + mes "..."; + next; + mes "[Sister Cecilia]"; + mes "Welcome back."; + mes "I hope that you've reflected on what you've said last time, and that you now have the attitude to become a Priest."; + } + next; + mes "[Sister Cecilia]"; + if (sex) + mes "Brother "+ strcharinfo(0) +"..."; + else + mes "Sister "+ strcharinfo(0) +"..."; + mes "We will now begin your formal oath for the Priesthood. Make yourself comfortable, and just answer with your heart."; + next; + mes "[Sister Cecilia]"; + if (sex) + mes "Brother "+ strcharinfo(0) +","; + else + mes "Sister "+ strcharinfo(0) +","; + mes "Are you willing"; + mes "to give your life to God?"; + next; + if (select("Yes.:No!") == 2) { + mes "[Sister Cecilia]"; + mes "Aw...? How could you give me that kind of answer? I assume you're not ready to be a Priest yet..."; + next; + set PRIEST_Q,8; + mes "[Sister Cecilia]"; + mes "You should reflect a little more on the teachings of holiness and come back later. You can't be a Priest if your spirit is weak."; + close; + } + mes "[Sister Cecilia]"; + mes "Will you take advantage of the holy abilities given by God for selfish, destructive or greedy ends?"; + next; + if (select("Yes.:No.") == 1) { + mes "[Sister Cecilia]"; + mes "Aw...? God won't grant you the power of holiness if your goals aren't just and pure. Meditate on your motivations for a while, and then come back to me."; + next; + set PRIEST_Q,8; + mes "[Sister Cecilia]"; + mes "Think about the qualities that make Priests people of respect. You can't be a Priest if your spirit is not in accordance with God."; + close; + } + mes "[Sister Cecilia]"; + mes "Will you help aid others, even complete strangers, in battles by easing their suffering?"; + next; + if (select("Yes.:No.") == 2) { + mes "[Sister Cecilia]"; + mes "No, no. You've got the wrong idea. God authorizes us to use his power to support his children. You must help people in danger: it is your obligation."; + next; + set PRIEST_Q,8; + mes "[Sister Cecilia]"; + mes "Go and observe the adventurers that are fighting for peace in this world. They will teach you what you must do in order to help them."; + close; + } + mes "[Sister Cecilia]"; + mes "Are you willing to sacrifice yourself for the sake of others?"; + next; + if (select("Yes.:No.") == 2) { + mes "[Sister Cecilia]"; + mes "How can you say no...? That's one of the basic principles of Priesthood. You must value the welfare of others over your own safety."; + next; + set PRIEST_Q,8; + mes "[Sister Cecilia]"; + mes "Go and think about the value of suffering and the meaning of sacrifice. When you think you understand more about helping those in need, come back to me."; + close; + } + mes "[Sister Cecilia]"; + mes "Will you repeatly say the same phrase in public in order to send God's message to his children?"; + next; + if (select("Yes.:No.") == 1) { + mes "[Sister Cecilia]"; + mes "No no no... You've got it wrong. Even though your purpose is to spread God's message, no one will eagerly accept what you say when you spam text."; + next; + set PRIEST_Q,8; + mes "[Sister Cecilia]"; + mes "Remember..."; + mes "You must be a moral person, and display maturity and respect to other players. This kind of attitude applies for all classes,"; + mes "I believe."; + close; + } + mes "[Sister Cecilia]"; + mes "Will you lure many monsters to help your party members level up?"; + next; + if (select("Yes.:No.") == 1) { + mes "[Sister Cecilia]"; + mes "No, you won't. Luring many monsters does more harm than good. There is no exception. That behavior is totally unacceptable."; + next; + set PRIEST_Q,8; + mes "[Sister Cecilia]"; + mes "Even if it looks like you are aiding your party members, such action results in bad karma. Please reflect on that for a while."; + close; + } + mes "[Sister Cecilia]"; + mes "Will you follow God, no matter what it takes, even if he demands you to kill yourself?"; + next; + if (select("Yes.:No.") == 2) { + mes "[Sister Cecilia]"; + mes "With that spirit, you can't be a Priest. If it is God's will to sacrifice yourself for a good purpose, you must carry out God's will as his servant."; + next; + set PRIEST_Q,8; + mes "[Sister Cecilia]"; + mes "Besides, God has also given Priests the resurrection power. Think about the meaning of life and death again, and then come back to me."; + close; + } + mes "[Sister Cecilia]"; + if (sex) + mes "Brother "+ strcharinfo(0) +"..."; + else + mes "Sister "+ strcharinfo(0) +"..."; + mes "You have demonstrated your devotion to God. Will you swear to adhere to his teachings for the rest of your days?"; + next; + if (select("I do.:No.") == 1) { + set PRIEST_Q,9; + mes "[Sister Cecilia]"; + mes "Now, you have completed your oath of Priesthood and accomplished all three trials required to become a Priest."; + next; + mes "[Sister Cecilia]"; + mes "Now go to Bishop Paul. And remember, we are all brothers and sisters in the eyes of God. Peace be with you..."; + close; + } + mes "[Sister Cecilia]"; + mes "..."; + next; + mes "[Sister Cecilia]"; + mes "..."; + mes "......"; + next; + set PRIEST_Q,8; + changequest 8014,8015; + mes "[Sister Cecilia]"; + mes "You've come so far..."; + mes "Why would you want"; + mes "to throw this all away...?"; + close; + } + else if (PRIEST_Q == 9) { + mes "Congratulations."; + mes "You've completed all three trials required for the Priesthood. Bishop Paul is now waiting for you."; + next; + mes "[Sister Cecilia]"; + mes "Peace be with you..."; + close; + } +} + +// 2nd Test +//========================================================== +job_prist,24,187,4 script Peter S. Alberto 110,{ + mes "[Father Peter]"; + if (BaseJob == Job_Priest) { + mes "Welcome!"; + if (sex) + mes "Brother "+ strcharinfo(0) +"!"; + else + mes "Sister "+ strcharinfo(0) +"!"; + mes "So good to see you again!"; + next; + mes "[Father Peter]"; + mes "Are you here to help an Acolyte friend for the spiritual training? That's great~ I think you'll do a good job."; + next; + mes "[Father Peter]"; + mes "Remember, no matter how much you want to help this Acolyte, this is not your quest."; + next; + mes "[Father Peter]"; + mes "You may assist and lighten your friend's burden, but you take upon this task for yourself."; + next; + mes "[Father Peter]"; + mes "So..."; + mes "Are you gonna help him right now?"; + next; + switch(select("Yes, I am.:Give me a minute.:I changed my mind.")) { + case 1: + mes "[Father Peter]"; + mes "Go for it! As your Acolyte enters, the test will begin. Now, I will send you to the testing area."; + close2; + warp "job_prist",24,44; + end; + case 2: + mes "[Father Peter]"; + mes "Hm...?"; + mes "What for?"; + mes "Well, so long as you arrive in time to help your friend, it will be okay."; + close; + case 3: + mes "[Father Peter]"; + mes "Oh...?"; + mes "Then please,"; + mes "go ahead. God bless"; + mes "you, and take care!"; + close2; + warp "prontera",234,318; + end; + } + } + if (PRIEST_Q == 5) { + mes "Welcome~!"; + mes "I congratulate you"; + mes "for passing the first trail."; + next; + mes "[Father Peter]"; + mes "My name is"; + mes "Peter S. Alberto."; + mes "How is my buddy Paul?"; + mes "Is he doing alright"; + mes "these days?"; + next; + mes "[Father Peter]"; + mes "Oh, I keep forgetting that he was promoted to Bishop. I think I'm supposed to call him Bishop Paul, or 'His Excellency.' Haha~"; + next; + mes "[Father Peter]"; + mes "Anyway, let me give you a brief explanation of the spiritual training. Are you familiar with what the spiritual training is for Priests?"; + next; + switch(select("Yes, I do.:Sorry...")) { + case 1: + mes "[Father Peter]"; + mes "Haha, I like you! But it never hurts to have too much information. The more well informed you are, the more easily you'll pass the test!"; + next; + break; + case 2: + mes "[Father Peter]"; + mes "Oh, no need to be sorry. I'm here to give you the information you need anyway. So, don't worry."; + next; + break; + } + mes "[Father Peter]"; + mes "In spiritual training, you will be defeating evil creatures. Creatures of the Undead and Demons are all evil. In choosing to serve darkness, they are our enemies!"; + next; + mes "[Father Peter]"; + mes "There are too many evil creatures that roam this world against the will of God. Innocents suffer as a result of their malignance."; + next; + mes "[Father Peter]"; + mes "We, as Priests, are obligated to exterminate all those creatures, thus spreading love and peace."; + next; + mes "[Father Peter]"; + mes "This training will test your ability to eliminate evil. Since this trial is pretty difficult to be accomplished by yourself,"; + mes "I recommend getting help from a Priest if you can."; + next; + mes "[Father Peter]"; + mes "If you are close to a Priest, you'd better ask him to assist you during this trial. Now, are you ready?"; + next; + switch(select("I'm ready.:Please hold on.:I want to go back.")) { + case 1: + mes "[Father Peter]"; + mes "Now, let the spiritual training begin. It's simple. Just kill them all. Show no mercy to the creatures of darkness!"; + next; + mes "[Father Peter]"; + mes "Now..."; + mes "Go for it!"; + close2; + changequest 8011,8012; + warp "job_prist",24,44; + donpcevent "Zombie_Generator#prst::OnEnable"; + donpcevent "Peter S. Alberto::OnDisable"; + donpcevent "Peter S. Alberto#2::OnEnable"; + end; + case 2: + set PRIEST_Q,6; + mes "[Father Peter]"; + mes "Hm? What is it you need?"; + mes "Well, no problem. You can"; + mes "afford to take your time."; + close; + case 3: + set PRIEST_Q,6; + mes "[Father Peter]"; + mes "What...?"; + mes "You wanna go back??"; + next; + mes "[Father Peter]"; + mes "I understand. I suppose you have some important reason or business that you must attend to. Come back whenever you can."; + close2; + warp "prontera",234,318; + end; + } + } + else if (PRIEST_Q == 6) { + mes "Are you ready this time?"; + mes "Complete this trial quickly,"; + mes "and become a Priest!"; + next; + mes "[Father Peter]"; + mes "Are you ready then?"; + next; + switch(select("I'm ready.:Please hold on.:I want to go back.")) { + case 1: + mes "[Father Peter]"; + mes "Now, let the spiritual training begin. For the glory of God, for peace on earth, and goodwill towards all men..."; + next; + mes "[Father Peter]"; + mes "Go..."; + mes "Kill those"; + mes "misbegotten creatures!"; + close2; + if(checkquest(8012) == -1) { + changequest 8011,8012; + } + warp "job_prist",24,44; + donpcevent "Zombie_Generator#prst::OnEnable"; + donpcevent "Peter S. Alberto::OnDisable"; + donpcevent "Peter S. Alberto#2::OnEnable"; + end; + case 2: + mes "[Father Peter]"; + mes "Hm? What is it you need?"; + mes "Well, no problem. You can"; + mes "afford to take your time."; + close; + case 3: + mes "[Father Peter]"; + mes "What...?"; + mes "You wanna go back??"; + next; + mes "[Father Peter]"; + mes "I understand. I suppose you have some important reason or business that you must attend to. Come back whenever you can."; + close2; + warp "prontera",234,318; + end; + } + } + else { + mes "Go back!"; + close2; + warp "prontera",234,318; + end; + } + +OnEnable: + enablenpc "Peter S. Alberto"; + end; + +OnDisable: + disablenpc "Peter S. Alberto"; + end; +} + +job_prist,23,187,1 script Peter S. Alberto#2 110,{ + mes "[Father Peter]"; + if (BaseJob == Job_Priest) { + mes "Welcome!"; + if (sex) + mes "Brother "+ strcharinfo(0) +"!"; + else + mes "Sister "+ strcharinfo(0) +"!"; + mes "So good to see you!"; + next; + mes "[Father Peter]"; + mes "Are you here to help an Acolyte friend for the spiritual training? That's great~ I think you'll do a good job."; + next; + mes "[Father Peter]"; + mes "Well, another Acolyte is in the training ground right now. You'll need to wait a little bit longer..."; + next; + mes "[Father Peter]"; + mes "Please come back a little later. If this acolyte's done with the training, I will send you to the training area."; + close; + } + if (PRIEST_Q == 5) { + mes "Please hold on for a while. Another acolyte is in the training ground right now."; + next; + mes "[Father Peter]"; + mes "If you want to take the test, please wait a while and talk to me again."; + close; + } + else if (PRIEST_Q == 6) { + mes "Please hold on for a while. Another acolyte is in the training ground right now."; + next; + mes "[Father Peter]"; + mes "If you want to take the test, please wait a while and talk to me again."; + close; + } + else { + mes "Peace..."; + mes "Be with you."; + close2; + warp "prontera",234,318; + end; + } + +OnInit: + disablenpc "Peter S. Alberto#2"; + end; + +OnEnable: + enablenpc "Peter S. Alberto#2"; + end; + +OnDisable: + disablenpc "Peter S. Alberto#2"; + end; +} + +- script Zombie_Generator#prst 110,{ +OnInit: + disablenpc "Zombie_Generator#prst"; + end; + +OnEnable: + donpcevent "Zombie1_1::OnEnable"; + donpcevent "Zombie2_1::OnEnable"; + donpcevent "Zombie3_1::OnEnable"; + donpcevent "Zombie4_1::OnEnable"; + donpcevent "Zombie5_1::OnEnable"; + initnpctimer; + end; + +Onm1: + set .MyMobs,13; + monster "job_prist",24,52,"Theft",1015,1,"Z_C#prst::OnMyMobDead"; + monster "job_prist",18,52,"Want of Virtue",1015,1,"Z_C#prst::OnMyMobDead"; + monster "job_prist",30,52,"Jealousy",1015,1,"Z_C#prst::OnMyMobDead"; + end; + +Onm2: + monster "job_prist",21,62,"Fury",1015,1,"Z_C#prst::OnMyMobDead"; + monster "job_prist",27,62,"Envy",1015,1,"Z_C#prst::OnMyMobDead"; + end; + +Onm3: + monster "job_prist",24,72,"Arrogance",1015,1,"Z_C#prst::OnMyMobDead"; + monster "job_prist",18,72,"Lewdness",1015,1,"Z_C#prst::OnMyMobDead"; + monster "job_prist",30,72,"Sloth",1015,1,"Z_C#prst::OnMyMobDead"; + end; + +Onm4: + monster "job_prist",21,82,"Gluttony",1015,1,"Z_C#prst::OnMyMobDead"; + monster "job_prist",27,82,"Greed",1015,1,"Z_C#prst::OnMyMobDead"; + end; + +Onm5: + monster "job_prist",24,92,"Despair",1015,1,"Z_C#prst::OnMyMobDead"; + monster "job_prist",18,92,"Distrust",1015,1,"Z_C#prst::OnMyMobDead"; + monster "job_prist",30,92,"Fear",1015,1,"Z_C#prst::OnMyMobDead"; + end; + +OnDisable: + disablenpc "Zombie_Generator#prst"; + killmonsterall "job_prist"; + end; + +OnTimer300000: + areawarp "job_prist",8,34,39,109,"prontera",234,318; + end; + +OnTimer300500: + donpcevent "Zombie_Generator#prst::OnDisable"; + end; + +OnTimer301500: + donpcevent "Zombie_Generator#prst::OnDisable"; + donpcevent "Peter S. Alberto#2::OnDisable"; + donpcevent "Peter S. Alberto::OnEnable"; + end; + +OnTimer302000: + stopnpctimer; + end; +} + +- script Z_C#prst -1,{ + end; + +OnMyMobDead: + set getvariableofnpc(.MyMobs,"Zombie_Generator#prst"),getvariableofnpc(.MyMobs,"Zombie_Generator#prst") - 1; + end; +} + +job_prist,24,44,0 script Zombie Info -1,1,1,{ +OnTouch: + if (BaseJob == Job_Priest) { + mes "[Father Peter]"; + mes "When the Priest applicant enters, 5 minutes will be given to complete this trial. Proceed slowly and help your Acolyte."; + next; + mes "[Father Peter]"; + mes "Enter through the warp at the end of the hall, where you will be lead to the next test hall."; + next; + mes "[Father Peter]"; + mes "Remember..."; + mes "This trial must be"; + mes "completed within"; + mes "5 minutes. Best of luck~"; + close; + } + else if (BaseJob == Job_Acolyte){ + mes "[Father Peter]"; + mes "I will give you exactly 5 minutes! You must proceed slowly and eliminate the Zombies."; + next; + mes "[Father Peter]"; + mes "Slay all the zombies and go through the warp at the end of the hall. Make sure that you kill them all."; + close; + } + end; +} + +job_prist,24,52,0 script Zombie1_1 -1,14,1,{ +OnInit: + disablenpc "Zombie1_1"; + end; + +OnTouch: + if (BaseJob == Job_Acolyte) { + donpcevent "Zombie_Generator#prst::Onm1"; + donpcevent "Zombie1_1::OnDisable"; + } + end; + +OnEnable: + enablenpc "Zombie1_1"; + end; + +OnDisable: + disablenpc "Zombie1_1"; + end; +} + +job_prist,21,62,0 script Zombie2_1 -1,17,1,{ +OnInit: + disablenpc "Zombie2_1"; + end; + +OnTouch: + if (BaseJob == Job_Acolyte) { + donpcevent "Zombie_Generator#prst::Onm2"; + donpcevent "Zombie2_1::OnDisable"; + } + end; + +OnEnable: + enablenpc "Zombie2_1"; + end; + +OnDisable: + disablenpc "Zombie2_1"; + end; +} + +job_prist,24,72,0 script Zombie3_1 -1,14,1,{ +OnInit: + disablenpc "Zombie3_1"; + end; + +OnTouch: + if (BaseJob == Job_Acolyte) { + donpcevent "Zombie_Generator#prst::Onm3"; + donpcevent "Zombie3_1::OnDisable"; + } + end; + +OnEnable: + enablenpc "Zombie3_1"; + end; + +OnDisable: + disablenpc "Zombie3_1"; + end; +} + +job_prist,21,82,0 script Zombie4_1 -1,17,1,{ +OnInit: + disablenpc "Zombie4_1"; + end; + +OnTouch: + if (BaseJob == Job_Acolyte) { + donpcevent "Zombie_Generator#prst::Onm4"; + donpcevent "Zombie4_1::OnDisable"; + } + end; + +OnEnable: + enablenpc "Zombie4_1"; + end; + +OnDisable: + disablenpc "Zombie4_1"; +} + +job_prist,24,92,0 script Zombie5_1 -1,14,1,{ +OnInit: + disablenpc "Zombie5_1"; + end; + +OnTouch: + if (BaseJob == Job_Acolyte) { + donpcevent "Zombie_Generator#prst::Onm5"; + donpcevent "Zombie5_1::OnDisable"; + } + end; + +OnEnable: + enablenpc "Zombie5_1"; + end; + +OnDisable: + disablenpc "Zombie5_1"; +} + +job_prist,24,109,4 script prst1_1 45,3,3,{ +OnTouch: + set .@mobs,getvariableofnpc(.MyMobs,"Zombie_Generator#prst"); + if (BaseJob == Job_Priest) warp "job_prist",168,17; + else if (BaseClass == Job_Acolyte && .@mobs < 1) { + warp "job_prist",168,17; + donpcevent "Zombie_Generator#prst::OnDisable"; + donpcevent "Peter S. Alberto#2::OnDisable"; + donpcevent "Peter S. Alberto::OnEnable"; + donpcevent "Zombie_Generator#prst::OnDisable"; + } + end; +} + +// 3rd Test +//========================================================== +job_prist,168,45,4 script Deviruchi#prst 1109,8,1,{ +OnTouch: + if (BaseJob == Job_Priest) { + mes "[Deviruchi]"; + mes "Whaaaaat...?"; + mes "What are you"; + mes "doing back here?"; + next; + mes "[Deviruchi]"; + mes "Well, look who's the ^660000BMOC^000000 now. That's '^660000B^000000ig ^660000M^000000an ^660000O^000000n ^660000C^000000ampus,' if you didn't know. By the way, I was being sarcastic. You know, if you didn't notice."; + next; + mes "[Deviruchi]"; + mes "Are you really"; + mes "happy being a Priest?"; + mes "There's no possible way."; + next; + mes "[Deviruchi]"; + mes "Alright, alright, for old time's sake, I'll let you pass me. But only this once. But I better not catch you again! This is evil turf, you hear?!"; + close; + } + if (BaseClass == Job_Acolyte) { + mes "[Deviruchi]"; + mes "Why..."; + mes "Hello little Aco."; + next; + mes "[Deviruchi]"; + mes "You must be here training hard to be a Priest. Funny, I know a lot of God's servants, actually. They tell me that it's really tough serving that God guy all the time. So... So ^666666tiring^000000 and ^666666unrewarding^000000."; + next; + mes "[Deviruchi]"; + mes "I mean, people are always crying to Priests for help no matter where they are. And Priests never get anything in return..."; + next; + mes "[Deviruchi]"; + mes "It's tragic really, how unappreciated Priests are."; + mes "It's so clear that any job is better. Anything at all..."; + next; + mes "[Deviruchi]"; + mes "Wouldn't life be so much easier if you weren't a Priest? And it'd be so easy. All you'd have to do is quit right now..."; + next; + if (select("You're right, I quit!:Out of my sight, demon!") == 1) { + mes "[Deviruchi]"; + mes "^660000YES~!^000000 I mean..."; + mes "Good for you!"; + next; + mes "[Deviruchi]"; + mes "Oh...?"; + mes "Look at the ^660000time^000000."; + mes "You better get going."; + next; + mes "[Deviruchi]"; + mes "BWAHAHAHAHAHAH!"; + mes "GET THE JOKE!?"; + close2; + warp "c_tower2",168,33; + end; + } + mes "[Deviruchi]"; + mes "Out of your sight?"; + mes "I guess I'm not the"; + mes "cutest thing you've"; + mes "ever seen, huh?"; + next; + mes "[Deviruchi]"; + mes "But how about this...? Now, isn't this an attractive sight? A nice, shiny new card. Mint condition. Not too many people have this you know. But I happen to have soooo many, my pockets hurt."; + next; + cutin "¹Ì½ºÆ®·¹½ºÄ«µå.bmp",4; + mes "[Deviruchi]"; + mes "Isn't it everyone's dream to have one of these? Think about it, being a Priest can only bring you suffering..."; + next; + if (select("You're right, I'll take it!:Silence!") == 1) { + mes "[Deviruchi]"; + mes "Good choice!"; + mes "This card can"; + mes "can be yours..."; + next; + cutin "¹Ì½ºÆ®·¹½ºÄ«µå.bmp",255; + mes "[Deviruchi]"; + mes "Theoretically!"; + mes "BWAHAHAHAHAHAHAHA!"; + mes "Go and earn it yourself!"; + close2; + warp "mjolnir_05",200,200; + end; + } + cutin "¹Ì½ºÆ®·¹½ºÄ«µå.bmp",255; + mes "[Deviruchi]"; + mes "Did..."; + mes "Did you just tell"; + mes "me to shut up?"; + mes "Oh my God..."; + next; + mes "[Deviruchi]"; + mes "Sorry..."; + mes "Oh ^660000your^000000 God."; + mes "Fine, get going."; + mes "But you'll regret"; + mes "your decision later!"; + close; + } + end; +} + +job_prist,168,80,4 script Doppelganger#prst 1046,8,1,{ +OnTouch: + if (BaseJob == Job_Priest) { + mes "[Doppelganger]"; + mes "What are you doing here? You've already made your choice, there's no going back... Priest."; + next; + mes "[Doppelganger]"; + mes "Besides, this is none of your business. Whether or not this Acolyte becomes a Priest isn't up to you. Now get out of here, before I get violent."; + close; + } + else if (BaseClass == Job_Acolyte) { + mes "[Doppelganger]"; + mes "Hold on there, Acolyte."; + mes "I'm not like Deviruchi,"; + mes "so I won't mince"; + mes "words with you."; + next; + mes "[Doppelganger]"; + mes "Now, why would you want to become a Priest? It's such a worthless, thankless job. If you want, I'll give you the chance to become a Novice. Then you can become something much better!"; + next; + mes "[Doppelganger]"; + mes "Of course, I'll let you redistribute your stat points by your base level. Now, isn't that a sweet deal...?"; + next; + if (select("Deal, Deal!:No deal... Doppelganger.") == 1) { + mes "[Doppelganger]"; + mes "Good choice~"; + mes "I shall return your"; + mes "job to a Novice"; + mes "as you wish."; + next; + mes "[Doppelganger]"; + mes "Now go!!"; + mes "Never step into"; + mes "the light again!"; + close2; + warp "gef_dun02",210,177; + end; + } + mes "[Doppelganger]"; + mes "I don't think you understood what I just offered. Think about it again. I mean, this is your one and only chance to undo your life mistakes. I mean, becoming an Acolyte?"; + next; + mes "[Doppelganger]"; + mes "Just don't become a Priest. I won't ask you more than once. Then you can choose a better job... perhaps a Swordman like me."; + next; + if (select("I don't want to be a Priest!:I'll never listen to you!") == 1) { + mes "[Doppelganger]"; + mes "Excellent choice. Now, never return to this place. I shall return your job to Novice as you wish."; + next; + mes "[Doppelganger]"; + mes "Now go!!"; + mes "Never step into"; + mes "the light again!"; + close2; + warp "gef_dun02",210,177; + end; + } + mes "[Doppelganger]"; + mes "Hmpf. I admire"; + mes "your determination."; + mes "Okay, you can pass."; + mes "For now."; + next; + mes "[Doppelganger]"; + mes "But if by chance we meet again,"; + mes "I assure you... You won't be happy at all to see me."; + close; + } +} + +job_prist,168,115,4 script Dark Lord#prst 1272,8,1,{ +OnTouch: + if (BaseJob == Job_Priest) { + mes "[Dark Lord]"; + mes "^330033All is doom, darkness and despair! Those who love you will betray you, and all that will be left is grieving and fury!^000000"; + next; + mes "[Dark Lord]"; + mes "^330033To choose to become a servant of God is to choose eternal pain!"; + mes "I shall personally see to that, mortal.^000000"; + close; + } + else if (BaseClass == Job_Acolyte) { + mes "[Dark Lord]"; + mes "^330033Halt, human."; + mes "Who has granted"; + mes "you passage?^000000"; + next; + mes "[Dark Lord]"; + mes "^330033You still wish to become a Priest?! Fool! Then, I shall not let you pass. Go back. Otherwise, you will not survive.^000000"; + next; + mes "[Dark Lord]"; + mes "^330033It would be so easy for me to snap your fragile body in twain and grind your bones to dust."; + mes "Now, go back mortal!^000000"; + next; + if (select("I'm so sorry. Spare me!:God will protect me.") == 1) { + mes "[Dark Lord]"; + mes "^330033Don't ever come back!^000000"; + close2; + warp "gl_church",145,170; + end; + } + mes "[Dark Lord]"; + mes "^330033It is no use to feign strength and courage. You are completely helpless before me. Your skills are laughable, and your weapons are but mere toys compared to my power.^000000"; + next; + mes "[Dark Lord]"; + mes "^330033With just a wave of my hand, you will cease to exist. And no one will remember you. Tremble before the might of my infinite magic!^000000"; + next; + if (select("I beg you, don't...!:Begone, vile fiend!") == 1) { + mes "[Dark Lord]"; + mes "^330033Don't ever come back!^000000"; + close2; + warp "gl_church",145,170; + end; + } + mes "[Dark Lord]"; + mes "^330033Why..."; + mes "Why don't you fear me?!"; + mes "For a frail mortal, you"; + mes "are quite annoying.^000000"; + next; + mes "[Dark Lord]"; + mes "^330033When next we meet, I will shall escort you to a realm of suffering where you shall spend years immersed in excruciating pain."; + mes "Mark my words...^000000"; + close; + } +} + +job_prist,168,150,4 script Baphomet#prst 736,8,1,{ +OnTouch: + if (BaseJob == Job_Priest) { + mes "[Baphomet]"; + mes "I hate"; + mes "Priests..."; + next; + mes "[Baphomet]"; + mes "I don't have any business with you, servant of God. Just pass through."; + close; + } + else if (BaseClass == Job_Acolyte) { + mes "[Baphomet]"; + mes "Greetings."; + next; + mes "[Baphomet]"; + mes "..."+ strcharinfo(0) +"."; + next; + mes "[Baphomet]"; + mes "Yes, human,"; + mes "I know who you are."; + next; + mes "[Baphomet]"; + mes "I also know that Deviruchi, Doppelganger and the Dark Lord have all failed to convince you to turn away from the Priesthood."; + mes "Now, I stand before"; + mes "you to offer a deal."; + next; + mes "[Baphomet]"; + mes "I can grant you any treasure you desire and infinite power at your fingertips. Powerful weapons that humans have never before seen..."; + next; + mes "[Baphomet]"; + mes "Mountains of zeny that you cannot possibly hope to spend in a lifetime. Though, who's to say that your lifespan should be limited? Fame, power, immortality: It can all be yours."; + next; + mes "[Baphomet]"; + mes "I will be yours to summon at anytime. All other humans will dread making you their enemy. You will become the most powerful person in all of history!"; + next; + mes "[Baphomet]"; + mes "Cease this foolishness of pursuing the Priesthood. Make a contract with me. The entire world is yours for the taking."; + next; + if (select("Deal.:No, Baphomet. You lose.") == 1) { + mes "[Baphomet]"; + mes "Then we shall form a contract. You won't ever regret this moment..."; + next; + mes "[Baphomet]"; + mes "Follow me."; + mes "We will make the"; + mes "contract in my"; + mes "sanctum of darkness."; + close2; + warp "glast_01",200,203; + end; + } + mes "[Baphomet]"; + mes "Foolish human..."; + mes "You have made your choice. I will leave you alone for now, then. However, your training won't be as easy as you think."; + next; + mes "[Baphomet]"; + mes "I shall be preparing my troops for you. The day will come when I shall enjoy watching you writhe in agony as my fiends slowly devour you."; + close; + } +} + +job_prist,168,180,4 script prst2_1 45,3,3,{ +OnTouch: + if (BaseJob == Job_Priest) warp "job_prist",98,40; + else if (BaseClass == Job_Acolyte) { + warp "job_prist",98,40; + donpcevent "Mummy_Generator::OnEnable"; + } + end; +} + +// 4th Test +//========================================================== +job_prist,1,2,1 script Mummy_Generator 110,1,1,{ +OnInit: + disablenpc "Mummy_Generator"; + end; + +OnEnable: + donpcevent "Mummy1_1::OnEnable"; + donpcevent "Mummy2_1::OnEnable"; + donpcevent "Mummy3_1::OnEnable"; + end; + +Onm1: + monster "job_prist",90,55,"Khamoz",1041,1; + monster "job_prist",105,55,"Amocsis",1041,1; + end; + +Onm2: + monster "job_prist",90,70,"Mentuhoteph",1041,1; + monster "job_prist",105,70,"Akenaten",1041,1; + end; + +Onm3: + monster "job_prist",90,85,"Mehnes",1041,1; + monster "job_prist",105,85,"Snepheru",1041,1; + end; + +OnDisable: + disablenpc "Mummy_Generator"; + killmonsterall "job_prist"; + end; +} + +job_prist,90,55,0 script Mummy1_1 -1,15,1,{ +OnInit: + disablenpc "Mummy1_1"; + end; + +OnTouch: + if (BaseJob == Job_Acolyte) { + donpcevent "Mummy_Generator::Onm1"; + donpcevent "Mummy1_1::OnDisable"; + } + end; + +OnEnable: + enablenpc "Mummy1_1"; + end; + +OnDisable: + disablenpc "Mummy1_1"; + end; +} + +job_prist,90,70,0 script Mummy2_1 -1,15,1,{ +OnInit: + disablenpc "Mummy2_1"; + end; + +OnTouch: + if (BaseJob == Job_Acolyte) { + donpcevent "Mummy_Generator::Onm2"; + donpcevent "Mummy2_1::OnDisable"; + } + end; + +OnEnable: + enablenpc "Mummy2_1"; + end; + +OnDisable: + disablenpc "Mummy2_1"; + end; +} + +job_prist,90,85,0 script Mummy3_1 -1,15,1,{ +OnInit: + disablenpc "Mummy3_1"; + end; + +OnTouch: + if (BaseJob == Job_Acolyte) { + donpcevent "Mummy_Generator::Onm3"; + donpcevent "Mummy3_1::OnDisable"; + } + end; + +OnEnable: + enablenpc "Mummy3_1"; + end; + +OnDisable: + disablenpc "Mummy3_1"; + end; +} + +job_prist,98,105,4 script prst3_1 45,3,3,{ +OnTouch: + if (BaseJob == Job_Priest) { + warp "prt_church",15,36; + end; + } + else if (BaseClass == Job_Acolyte) { + set PRIEST_Q,7; + if(checkquest(8012) != -1) { + changequest 8012,8013; + } + warp "prt_church",16,37; + donpcevent "Mummy_Generator::OnDisable"; + } + end; +} + +// Functions +//========================================================== +function script F_FatherRub { + if (PRIEST_Q != 0) { + if (PRIEST_Q == 1) { + mes "Ah yes, so you're the young Acolyte who wishes to become a Priest."; + next; + mes "[Father Rubalkabara]"; + mes "I've received the message from Bishop Paul. Since you made the pilgrimage, I hope you accomplish your goal of becoming a Priest."; + next; + mes "[Father Rubalkabara]"; + mes "Also, if you have a chance, please visit this abbey again. It's a sacred place for our Church."; + next; + mes "[Father Rubalkabara]"; + mes "Well then, please head to your next destination for your pilgrimage. Be safe in your travels."; + close2; + savepoint "prt_fild03",361,255; + set PRIEST_Q,2; + end; + } + else if (PRIEST_Q == 2) { + mes "Please be hurry to the next destination for your pilgrimage. I hope you become a Priest soon."; + close; + } + mes "May I ask why you have returned? Please go back and continue your religious practice."; + close; + } + mes "I have no idea what brought you here, but please excuse me."; + close; +} + +function script F_MotherMart { + if (PRIEST_Q != 0) { + if (PRIEST_Q == 1) { + mes "Hmm..."; + mes "It seems you're"; + mes "training to become"; + mes "a Priest."; + next; + mes "[Mother Mathilda]"; + mes "However, at this point in your pilgrimage, I am not the person that you should be visiting."; + next; + mes "[Mother Mathilda]"; + mes "Perhaps you should ask Bishop Paul or Sister Cecilia once again. Well, may God be with you..."; + close; + } + else if (PRIEST_Q == 2) { + mes "Ah, are you"; + mes "a Priest trainee...?"; + mes "Welcome!"; + next; + mes "[Mother Mathilda]"; + mes "We Priests are obliged to spread the message of God to"; + mes "the peoples of the Earth."; + next; + mes "[Mother Mathilda]"; + mes "After you become a Priest, your travels may take you to the Morroc Pyramids. I hope that you may release the Undead there from the evil to which they are bound."; + next; + mes "[Mother Mathilda]"; + mes "Well then..."; + mes "I shall pray to"; + mes "God for safety"; + mes "on your journey."; + close2; + savepoint "moc_fild07",35,355; + set PRIEST_Q,3; + end; + } + else if (PRIEST_Q == 3) { + mes "Please leave soon, and"; + mes "continue your training."; + close; + } + mes "May I ask you the reason you came back? Please continue your training."; + close; + } + mes "May God"; + mes "be with you..."; + close; +} + +function script F_FatherYos { + if (PRIEST_Q != 0) { + if (PRIEST_Q == 1) { + mes "Hmm..."; + mes "A Priest trainee, eh?"; + next; + mes "[Father Yosuke]"; + mes "Well, you got the wrong person. If you're supposed to meet up with me at all, it'd be later."; + next; + mes "[Father Yosuke]"; + mes "But that's your own fault."; + mes "Now, go back to Church, kid."; + close; + } + else if (PRIEST_Q == 2) { + mes "Hmm..."; + mes "A Priest trainee, eh?"; + next; + mes "[Father Yosuke]"; + mes "Well, you got the wrong person. If you're supposed to meet up with me at all, it'd be later."; + next; + mes "[Father Yosuke]"; + mes "But that's your own fault. Go back to Church."; + close; + } + else if (PRIEST_Q == 3) { + mes "Hmm."; + mes "A Priest"; + mes "trainee, eh? "; + mes "Welcome."; + next; + mes "[Father Yosuke]"; + mes "I won't say"; + mes "anything more."; + mes "Just devote your"; + mes "life to God."; + next; + mes "[Father Yosuke]"; + mes "Now go back to church."; + mes "Hereby, the first of"; + mes "your trials is now"; + mes "completed."; + close2; + savepoint "prt_fild00",206,230; + set PRIEST_Q,4; + end; + } + else if (PRIEST_Q == 4) { + mes "I told you to go back to church."; + mes "Or do you want to live with me here for the rest of your life...?"; + close; + } + mes "Just go be a Priest. This isn't a playground for kids."; + close; + } + mes "...Acolyte, you don't have any business with me here."; + close; +} + diff --git a/npc/pre-re/jobs/2-1/wizard.txt b/npc/pre-re/jobs/2-1/wizard.txt new file mode 100644 index 000000000..808c884a4 --- /dev/null +++ b/npc/pre-re/jobs/2-1/wizard.txt @@ -0,0 +1,1956 @@ +//===== rAthena Script ======================================= +//= Wizard Job Quest +//===== By: ================================================== +//= (Aegis) Translated by yoshiki, converted by kobra_k88 +//= Further bugfixed and tested by Lupus +//===== Current Version: ===================================== +//= 3.2 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Job Change quest for Wizard class. +//===== Additional Comments: ================================= +//= 2.4 Rescripted to Aegis 10.3 standards. [L0ne_W0lf] +//= 2.5 Several bugfixes with the help of Barron-Monster. [L0ne_W0lf] +//= 2.5a More bugfixes care of Barron-Monster. [L0ne_W0lf] +//= 2.5b Fixed tests calling on a non-existant label in "Room of x#Failed" npcs. [L0ne_W0lf] +//= 2.5c Bug fixes. Cleaned up some NPCs slightly. [L0ne_W0lf] +//= 2.6 Fixed Water Room not warping on time-up. [L0ne_W0lf] +//= 2.7 Now uses enable and disable waitingroomevent. [L0ne_W0lf] +//= Other minor fixes to various NPCs. +//= 2.7a Added end; :D (bugreport:2038) [Yommy] +//= 2.8 Fixed donpcevent to doevent. (bugreport:2311) [SoulBlaker] +//= 2.9 Reverted the change of donpcevent to doevent. [L0ne_W0lf] +//= Was probably cuased by a warp BEFORE a percentheal +//= 3.0 Added Quest Log commands. [Kisuka] +//= 3.1 Removed the need for use of 'goto.' [L0ne_W0lf] +//= 3.2 Modified the quest to renewal. [Vali] (Thanks to Muad_Dib for the necessary info). +//============================================================ + +gef_tower,111,37,4 script Wizard Guildsman 70,{ + if (Upper == 1) { + mes "[Catherine]"; + mes "? Excuse me, I am wondering if we have met before...?"; + mes "Hey~ you have changed a lot! So, what happened?"; + next; + mes "[Catherine]"; + mes "I feel you have become so much powerful, eh?"; + mes "Congratulations and good luck with your life!"; + close; + } + if (BaseJob != Job_Mage) { + if (BaseJob == Job_Wizard) { + mes "[Catherine]"; + mes "Since you're already a Wizard, you don't have any more business with me...?"; + mes "Now, excuse me."; + next; + mes "[Catherine]"; + if (sex) + mes "Well, If you intended to ask me on a date... I appreciate it...hohoho."; + else + mes "Well, if you fix me up with a cute guy... I'd appreciate it...hohoho!."; + close; + } + else if (BaseClass == Job_Novice) { + mes "[Wizard Guildsman]"; + mes "Oh my goodness, it's a novice~ ain't you the cutest little thing."; + mes "By the way honey, this place is for Wizards."; + next; + mes "[Wizard Guildsman]"; + mes "If you are interested in magic,"; + mes "Go visit the ^0000FFMage^000000 guild."; + } + else { + mes "[Wizard Guildsman]"; + mes "Huh? what brings you to such a high place...?"; + mes "If you don't have any specific business, please leave immediately."; + mes "This place is for Wizards, you know?"; + } + next; + mes "[Wizard Guildsman]"; + mes "Ok, then. Farewell."; + close; + } + if (WIZ_Q == 0) { + mes "[Wizard Guildsman]"; + mes "Huh? What are you doing way up here...?"; + mes "So what brings you here?"; + next; + if (select("I want to become a Wizard.:...nothing.") == 1) { + mes "[Wizard Guildsman]"; + mes "I see... Well, of course you want to become a Wizard, otherwise you wouldn't have walked up all those stairs right?"; + mes "Anyways, I would like to welcome you. I will assist you in becoming a Wizard."; + next; + mes "[Wizard Guildsman]"; + mes "My name is Catherine Medici. Just between me and you, I just became a Wizard too!"; + mes "You can call me Cathy if you want. Hehehehehe~"; + next; + mes "[Catherine]"; + mes "Many people want to become Wizards, but only the patient and strong ones will eventually accomplish their goals."; + mes "In order to become a Wizard, one must undergo difficult quests."; + next; + mes "[Catherine]"; + mes "Also only mages who have reached a job level of 40 or higher are qualified for these quests."; + mes "Lower level mages aren't experienced enough with magic to become Wizards..."; + next; + mes "[Catherine]"; + mes "Well, I will give you more information when you apply for the job."; + mes "So! Do you want to apply now?"; + next; + if (select("Yes, I do.:On second thought, Let me think about it.") == 1) { + if (JobLevel < 40) { + mes "[Catherine]"; + mes "Hey hey, weren't you listening to me?"; + mes "I told you that you need to be at least job level 40 to sign up for the quest..."; + next; + mes "[Catherine]"; + mes "No need to hurry, go experience and ponder more about the world of magic."; + mes "When I deem you're qualified, I will accept your application."; + close; + } + if (SkillPoint) { + mes "[Catherine]"; + mes "Umm... You're well qualified, but you have some unused skill points left."; + mes "You'd better learn more skills before applying again."; + close; + } + mes "[Catherine]"; + mes "Very well then, I accept your application."; + mes "Your name is..." + strcharinfo(0) + ", isn't it? I am not sure if I pronounced it correctly?"; + next; + mes "[Catherine]"; + mes "The Wizard job change quest is divided into 3 parts."; + mes "1st part, gathering magic items."; + mes "2nd part, a written test."; + mes "The last part is a practical magic test."; + next; + mes "[Catherine]"; + mes "Among one of these tests, we exempt those who are at job level 50."; + mes "It is enough to prove to us the effort it will take to become a Wizard if a mage has learned that much already."; + next; + if (JobLevel == 50) { + mes "[Catherine]"; + mes "Hmm, come to think of it, you're at job level 50!?"; + mes "You must have worked very hard. Your going to become a very powerful Wizard, I can feel it in you."; + next; + mes "[Catherine]"; + mes "Ok. You already passed the 1st test then."; + mes "Don't get too laid back though, there are still 2 more tests left."; + next; + mes "[Catherine]"; + mes "Go talk to the man in the corner and he will give you the remaining exams."; + mes "Be careful. We have lost many Mages due to the difficulty of the exams."; + set WIZ_Q,3; + setquest 9015; + close; + } + mes "[Catherine]"; + mes "Then, since I have your application and everything else I need, I'll give you some info about the first test."; + mes "You can memorize this or write it down, doesn't matter. But remember it for sure."; + next; + mes "[Catherine]"; + mes "The first test is collecting magic items."; + mes "The important part is that you must gather these items on your own."; + next; + set wizard_m1,rand(1,2); + mes "[Catherine]"; + mes "The items you must collect are..."; + if (rand(1)) { + set WIZ_Q,1; + setquest 9013; + mes "^3355FFRed Gemstone^000000 10 each,"; + mes "^3355FFBlue Gemstone^000000 10 each,"; + mes "^3355FFYellow Gemstone^000000 10 each,"; + } + else { + set WIZ_Q,2; + setquest 9014; + mes "^3355FFCrystal Blue^000000 5 each,"; + mes "^3355FFGreen Live^000000 5 each,"; + mes "^3355FFRed Blood^000000 5 each,"; + mes "^3355FFWind of Verdure^000000 5 each,"; + } + mes "...is it too hard? No, any would be Wizard should be able to at least get these items."; + next; + mes "[Catherine]"; + mes "Well, good luck."; + mes "I'll be happily waiting. ~Hehe."; + close; + } + mes "[Catherine]"; + mes "Oh, ok then, take your time."; + mes "Since I'll always be here, accepting applications...*sigh*...anyways! ~Hehehehe."; + close; + } + mes "[Wizard Guildsman]"; + mes "Geez, what a lame person."; + mes "You have no business here, hope you don't mind, now off you go!"; + close; + } + else if (WIZ_Q == 1) { + mes "[Catherine]"; + mes "Let me see, did you get all the items?"; + mes "Then let's check..."; + next; + if (countitem(716) > 9 && countitem(717) > 9 && countitem(715) > 9) { + mes "[Catherine]"; + mes "Perfect! You got all the items. I like!~"; + mes "These items will be put to great use in our guild. ~Hehehee."; + next; + delitem 716,10; //Red_Gemstone + delitem 717,10; //Blue_Gemstone + delitem 715,10; //Yellow_Gemstone + set WIZ_Q,3; + changequest 9013,9015; + mes "[Catherine]"; + mes "Good for you! You passed the first test."; + mes "But there are still two more left, so don't get too relaxed."; + next; + mes "[Catherine]"; + mes "Go talk to the guy in the corner for the rest of the tests."; + mes "It might be a bit hard, so be careful, I wouldn't want you ending up like most of the Mages that come for these exams...poor souls indeed, may they rest in peace. ~Hehehe."; + close; + } + mes "[Catherine]"; + mes "Hey, what's this? Umm...I don't think you have everything yet!"; + next; + mes "[Catherine]"; + mes "It might've been tough coming all the way up here, what with this altitude and all, but go back and collect the items."; + mes "Life's short enough as it is, so stop wasting your time and gather the items I told you before."; + next; + mes "[Catherine]"; + mes "^3355FFRed Gemstone^000000 10 each,"; + mes "^3355FFBlue Gemstone^000000 10 each,"; + mes "^3355FFYellow Gemstone^000000 10 each,"; + mes "Don't forget this time, and bring all the items, ok?..."; + close; + } + else if (WIZ_Q == 2) { + mes "[Catherine]"; + mes "Did you get all the items?"; + mes "Let's see... Do you have the right ones?..."; + next; + if (countitem(991) > 4 && countitem(993) > 4 && countitem(990) > 4 && countitem(992) > 4) { + mes "[Catherine]"; + mes "Perfect! Good job...I'm satisfied! ~Hehe"; + mes "Our guild greatly appreciates these items and will use them wisely."; + next; + delitem 991,5; //Crystal_Blue + delitem 993,5; //Yellow_Live + delitem 990,5; //Boody_Red + delitem 992,5; //Wind_Of_Verdure + set WIZ_Q,3; + changequest 9014,9015; + mes "[Catherine]"; + mes "Good. You've passed the first test now."; + mes "But you still have two more tests to go, so don't get too laid back, because it only gets harder from here. ~Hehehe"; + next; + mes "[Catherine]"; + mes "Go talk to that guy in the corner to take the rest of the tests."; + mes "It might be a bit hard, so be careful, I wouldn't want you ending up like most of the Mages that come for these exams...poor souls indeed, may they rest in peace. ~Hehehe."; + close; + } + mes "[Catherine]"; + mes "Eh, what's this? I don't think you have everything?"; + next; + mes "[Catherine]"; + mes "I regret that you had to go through the trouble of coming all the way up here, but go get the right items again."; + mes "Stop wasting your time and get the items I initially requested. For goodness sakes...This is the easiest part of the exam."; + next; + mes "[Catherine]"; + mes "^3355FFCrystsal Blue^000000 5 each,"; + mes "^3355FFGreen Live^000000 5 each,"; + mes "^3355FFRed Blood^000000 5 each,"; + mes "^3355FFWind of Verdure^000000 5 each,"; + mes "Don't forget them this time and gather the correct ones, ok? See you soon..."; + close; + } + else if (WIZ_Q == 3) { + mes "[Catherine]"; + mes "What is it? You didn't go talk to the guy in the corner?"; + mes "You can't become a Wizard by just brining the items I requested, no no, that just wont do..."; + next; + mes "[Catherine]"; + mes "You can only prove yourself Wizard material after you take the two remaining tests."; + mes "I'll be waiting, so go now."; + close; + } + else if (WIZ_Q == 4) { + mes "[Catherine]"; + mes "*sigh*...Poor thing, what a pity."; + mes "How can you think of trying to become a Wizard when you can't even answer those simple questions?"; + next; + mes "[Catherine]"; + mes "Let's see... Should I give you some hints as your senior?"; + mes "But I'm a bit thirsty, so give me 1 Apple Juice, and we got a deal. ~Hehehe"; + next; + switch(select("Give me some hints, please.:I want to try again on my own!")) { + case 1: + if (countitem(531) > 0) { + delitem 531,1; //Apple_Juice + mes "[Catherine]"; + mes "Yummers, Apple Juice is the best..."; + mes "Gulp gulp gulp... Haaaaaah... ~Hehe"; + next; + mes "[Catherine]"; + mes "Well then, I'll give you a hint for the second test."; + next; + mes "[Catherine]"; + mes "He asks three types of questions."; + mes "Questions about Magic, Monsters..."; + mes "and Magicians...also known as Mages."; + next; + mes "[Catherine]"; + mes "It's up to him to decide which questions to ask."; + mes "*sigh*...He'd look much better if he cut his hair and shaved..."; + mes "He always looks so grungy because he doesn't take care of himself...*sigh*...pity, he could be a regular lady killer. ~tehehehe"; + next; + mes "[Catherine]"; + mes "Anyways, as for the questions about magic..."; + mes "They're usually about the spells you've learned."; + next; + mes "[Catherine]"; + mes "If it's something you haven't learned or haven't experienced, or anything like that..."; + mes "I heard there's a nice place you can refer to that's very well organized."; + next; + mes "[Catherine]"; + mes "You just have to cast the spell, you know...the one that looks like a big bold *e* symbol."; + mes "The magic words are... iro.ragnarokonline.com ~Or so they say!"; + mes "Strange spell, don't you think? I don't know how to make it work myself."; + next; + mes "[Catherine]"; + mes "And about the monster questions."; + mes "Fighting them yourself and learning is the best way to go about that."; + next; + mes "[Catherine]"; + mes "But you know in Prontera, there is a big library."; + mes "You can get information about most of the monsters in that library."; + mes "Going there and studying a bit more would work too."; + next; + mes "[Catherine]"; + mes "Last, but not least, questions about Mages."; + mes "This is something that most others cannot teach you..."; + mes "Because you are a Mage."; + next; + mes "[Catherine]"; + mes "It's hard to know about others when you don't even know about yourself, right?"; + mes "So if you get one of these questions, think about it carefully then answer."; + } + else { + mes "[Catherine]"; + mes "Like I said, I'll think about it if you give me 1 Apple Juice."; + mes "If not... Well, you can think about it on your own. Hey I don't make the rules here i just follow em! Can't argue with this one though. ~tehehehe"; + } + break; + case 2: + mes "[Catherine]"; + mes "Yeah, you get the most satisfaction when you solve things on your own."; + mes "Go finish the rest of the tests with that spirit!"; + } + next; + mes "[Catherine]"; + mes "Well then, see you soon! *crosses fingers* dont end up like the others before you! May God rest thier souls...huh? Oh nothing! ~Hehehehe"; + mes "Hurry, he's waiting for you!"; + close; + } + else if (WIZ_Q == 5) { + mes "[Catherine]"; + mes "Tehehehe~ I was listening all along."; + mes "Well done in answering all those questions. I want to give something, like a present..."; + next; + mes "[Catherine]"; + mes "You still have one more test to go, right?"; + mes "Just a bit more and you will be qualified to be a Wizard, so I'll give you the present then. ~Hehe"; + next; + mes "[Catherine]"; + mes "See ya, well...hopefully!"; + mes "He's waiting for you!"; + close; + } + else if (WIZ_Q == 6) { + mes "[Catherine]"; + mes "Eh, did you leave in the middle of the test?"; + mes "You...*sigh*...I didn't think you would do such a dishonorable thing."; + next; + mes "[Catherine]"; + if (sex) { + mes "Granted you're a mage, but how could a guy be so weak?!"; + mes "Well, at least your alive still. Go back and try harder this time. ~tehehehe"; + } + else { + mes "Don't pretend to be weak just because you're a girl. Look at me! I did it, and so can you. You can't ask for sympathy."; + mes "You came all this way to become a Wizard! Now come on, you can do it!!"; + next; + mes "[Catherine]"; + mes "I agree that it is difficult, but not to the point of giving up."; + mes "You of all people should find the strength and patience to complete this test!"; + } + next; + mes "[Catherine]"; + mes "So, try harder this time..."; + mes "He's waiting!"; + close; + } + else if (WIZ_Q == 7) { + if (JobLevel < 40) { + set WIZ_Q,0; + mes "[Catherine]"; + mes "Hey, what don't you get it?"; + mes "I said you must be at least job level 40 to change your job, got it?"; + next; + mes "[Catherine]"; + mes "There is nothing to be in hurry, so why don't you take your time for studying?"; + mes "When the time comes, I will welcome you with open arms."; + close; + } + if (SkillPoint) { + mes "[Catherine]"; + mes "Are you done with all the tests? Oh drats, it seems like you still have some skill points left."; + mes "Learn some other skills with your remaining points, and then come talk to me again."; + close; + } + mes "[Catherine]"; + mes "Wooooooooooooow...you finished all the tests?!"; + mes "Congratulations, congrats, congrats! Wooopiiieeeee! ~Hehehehehehe"; + next; + mes "[Catherine]"; + mes "Well, no need to wait, I congratulate you. I hearby deem you Wizard."; + next; + completequest 9018; + callfunc "Job_Change",Job_Wizard; + callfunc "F_ClearJobVar"; // clears all job variables for the current player + mes "[Catherine]"; + mes "Since you're a Wizard now, act like a Wizard, got it?"; + mes "Us wizards have to be careful since we possess the ultimate power of magic."; + next; + mes "[Catherine]"; + mes "Don't go about casting spells in town for no reason, or bother others with spells that are in their own battle."; + mes "A Wizard's magic is meant for their own battles with monsters."; + next; + mes "[Catherine]"; + mes "Go join parties with others and keep training."; + mes "And...oh, wait, I prepared a present for you, one sec."; + next; + mes "[Catherine]"; + mes "rummage rummage..."; + mes "shuffle shuffle..."; + next; + getitem 505,6; //Blue_Potion + mes "[Catherine]"; + mes "Here you go. I hope you'll make good use of it when you need it. ~tehehe"; + mes "I gave them to you as a present, so don't go out and sell it. Use it for yourself, ok?"; + next; + mes "[Catherine]"; + mes "Well, then...*sight*...live a wonderful life as a Wizard, become the strongest out there!"; + close; + } +} + +gef_tower,102,24,2 script Gloomy Wizard 735,{ + if (BaseJob != Job_Mage) { + if (BaseJob == Job_Wizard) { + mes "[Raulel]"; + mes "*Cough* *cough* what do you want?"; + mes "If you are a person that uses magic, then you need to make sure you are well informed about it."; + next; + mes "[Raulel]"; + mes "Don't live dishonestly, or impolitely, or else one day you'll be caught in a spell you can't control, and BOOM, your dead!"; + if (sex == 1) { + mes "If you don't want that to happen, then learn how to use spells properly!"; + next; + mes "[Raulel]"; + mes "You may live life crippled if you get obsessed with the love of Greater Magic. ~haha"; + } + else { + mes "So learn how to use magic properly, or you would just be better off giving up on using magic."; + next; + mes "[Raulel]"; + mes "If you don't want that, go hit on a guy or something! ~Hahahaha"; + mes "If you don't pay attention to yourself, you'll be engulfed by magic one day..."; + } + close; + } + else if (BaseJob == Job_Priest) { + mes "[Raulel]"; + mes "Go away, one who works for the Church!"; + mes "Magic repels Holy power, jeez...your messing up my aura."; + next; + mes "[Raulel]"; + mes "And plus, *cough* *cough* my health isn't all that good right now either..."; + mes "Don't come any closer, just leave!"; + close; + } + else if (BaseClass == Job_Novice) { + mes "[Raulel]"; + mes "Why did a little one like you come here?!"; + mes "Get lost! ~Hahahahaha"; + close2; + warp "geffen",120,110; + end; + } + mes "[Raulel]"; + mes "*sneeze* *cough* Oooowww...my entire body is in pain. I feel like I'm trapped in a tub of ice water!"; + next; + mes "[Raulel]"; + mes "What do you want? Jeez...just get lost, won't you?"; + close; + } + if (WIZ_Q == 0) { + mes "[Raulel]"; + mes "*cough* *cough* *sneeze* I don't know who you are and what you do, but I don't have any business with you."; + next; + mes "[Raulel]"; + mes "Go away! Get lost!"; + close; + } + else if (WIZ_Q == 1 || WIZ_Q == 2) { + mes "[Raulel]"; + mes "Hahahaha~ You're the one that wants to become a Wizard?!"; + next; + mes "[Raulel]"; + mes "*sneeze* If you just lived as you were, all you'd have to do was hunt a little and live the easy life..."; + next; + mes "[Raulel]"; + mes "*Cough* *cough* Let's see how well you live as a Wizard. ~Hahahahhaha"; + close; + } + else if ((WIZ_Q == 3) || (WIZ_Q == 4)) { + if (WIZ_Q == 3) { + mes "[Raulel]"; + mes "*Cough* *cough*...You must've passed the first test."; + mes "Ok, I'm the Wizard in charge of your testing from now on. My name is 'Raulel Asparagus'."; + next; + mes "[Raulel]"; + mes "*sneeze* It's not too late yet, wouldn't you rather just go back to town and enjoy the peaceful life?"; + next; + mes "[Raulel]"; + mes "Hahahaha~ You don't know how dangerous it is...to deal with Greater Magic."; + next; + if (select("I want to live as a normal Mage.:I would like to continue with the tests.") == 1) { + mes "[Raulel]"; + mes "Hahaha~ *sneeze* Good choice...*cough* *cough*~"; + mes "Best not to even dream about life as a Wizard. Graa...Greaa...*sneeze* Greater Magic wasn't meant for humans to use!"; + next; + mes "[Raulel]"; + mes "Leave the top of this tower quietly and don't ever look back."; + mes "Just live peacefully with the powers that you have right now."; + close; + } + mes "[Raulel]"; + mes "*sneeze* Hahahaha~ Now there's a foolish one here!"; + mes "Well then, let's see how good you are. *cough* I want to see this with my own two eyes!"; + next; + mes "[Raulel]"; + mes "*sneeze* Then let's begin the test!"; + mes "If you don't answer them all correctly, you fail. Hahahahahahahahaha~"; + next; + mes "[Raulel]"; + mes "I'll give you 10 questions so give me the right answers."; + mes "If you get something wrong, I won't tell you what it is!"; + if(checkquest(9016) == -1) { + changequest 9015,9016; + } + next; + mes "[Raulel]"; + mes "*Cough* *cough* Then here go the questions!"; + } + else if (WIZ_Q == 4) { + mes "[Raulel]"; + mes "Hahahaha~ Are you that desperate? *sneeze* What a pain in the arse..."; + next; + mes "[Raulel]"; + mes "Since you don't want to settle for a stable and peaceful life, I'll give you another chance..."; + next; + mes "[Raulel]"; + mes "If you miss one single question, then just give up. You wouldn't have any talent in being a Wizard! ~Hahahahaha"; + next; + if (select("Because of you, I want to live as a normal Mage now.:I would like to continue with the tests.") == 1) { + mes "[Raulel]"; + mes "Hahahaha~ Surprising, comming from you, that's a very wise choice...*cough* *cough*"; + mes "If i were you, i would never, ever dream of becoming a Wizard again. Gre...Greaa...*sneeze* Greater Magic wasn't meant for humans to use."; + next; + mes "[Raulel]"; + mes "Just leave the top of this tower quietly and never look back."; + mes "Live peacefully with the powers that you have right now."; + close; + } + mes "[Raulel]"; + mes "Hahahahahahaha~ Now there's a foolish one right here!"; + mes "Well then, let's see just how good you can be! *sneeze* I want to see this with my own two eyes."; + next; + mes "[Raulel]"; + mes "Then let's begin the test!"; + } + next; + switch(rand(1,3)) { + case 1: + mes "[Raulel]"; + mes "1. Which of the following is not necessary to learn Fire Wall?"; + next; + if (select("Fire Bolt Lv 4:Fire Ball Lv 5:Sight Lv 1:Napalm Beat Lv 4") == 4) + set .@wizard_t,.@wizard_t+10; + mes "[Raulel]"; + mes "2. Regaurdless of it's previous attribute, What does the monster's attribute change to when you cast Frost Diver on it?"; + next; + if (select("Water:Earth:Fire:Wind") == 1) + set .@wizard_t,.@wizard_t+10; + mes "[Raulel]"; + mes "3. When you completely master Napalm Beat, what is the ratio of the increased MATK using that spell?"; + next; + if (select("1.6 times:1.7 times:2 times:20 times") == 2) + set .@wizard_t,.@wizard_t+10; + mes "[Raulel]"; + mes "4. What item do you need when casting Stone Curse?"; + next; + if (select("Red Blood:Blue Gemstone:Yellow Gemstone:Red Gemstone") == 4) + set .@wizard_t,.@wizard_t+10; + mes "[Raulel]"; + mes "5. Which of the following is not required to master Safety Wall?"; + next; + if (select("Napalm Beat Lv 4:Soul Strike Lv 5:Increase SP Recovery Lv 6:Safety Wall Lv 7") == 3) + set .@wizard_t,.@wizard_t+10; + mes "[Raulel]"; + mes "6. Without the INT bonus, what amount of SP is recovered every 10 seconds when you have learned Increase SP Recovery Lv 7?"; + next; + if (select("14:21:28:35") == 2) + set .@wizard_t,.@wizard_t+10; + mes "[Raulel]"; + mes "7. Using Energy Coat, when you have 50% of your SP remaining, how much SP is used when hit, and what percentage is damage reduced by?"; + next; + if (select("Damage 18% SP1.5%:Damage 18% SP2%:Damage 24% SP1.5%:Damage 24% SP2%") == 2) + set .@wizard_t,.@wizard_t+10; + mes "[Raulel]"; + mes "8. How much SP is consumed and how many times can you avoid attacks when using Safety Wall Lv 6?"; + next; + if (select("SP 40, 6 times:SP 35, 6 times:SP 40, 7 times:SP 35, 7 times") == 3) + set .@wizard_t,.@wizard_t+10; + mes "[Raulel]"; + mes "9. How much SP is needed when using Lv 10 Thunderstorm?"; + next; + if (select("84:74:64:54") == 2) + set .@wizard_t,.@wizard_t+10; + mes "[Raulel]"; + mes "10. Which skill is most useful training in the Byalan Dungeon?"; + next; + if (select("Lightning Bolt:Fire Bolt:Cold Bolt:Sight") == 1) + set .@wizard_t,.@wizard_t+10; + break; + case 2: + mes "[Raulel]"; + mes "1. Which monster can you obtain a slotted Guard from?"; + next; + if (select("Thief Bug:PecoPeco:Pupa:Kobold (Hammer)") == 3) + set .@wizard_t,.@wizard_t+10; + mes "[Raulel]"; + mes "2. Which of the following is the easiest monster for a low level Mage to hunt?"; + next; + if (select("Flora:Giearth:Golem:Myst") == 1) + set .@wizard_t,.@wizard_t+10; + mes "[Raulel]"; + mes "3. Which monster will not be affected by Stone Curse?"; + next; + if (select("Elder Willow:Evil Druid:Magnolia:Marc") == 2) + set .@wizard_t,.@wizard_t+10; + mes "[Raulel]"; + mes "4. When attacking a Lv 3 water attribute monster with a wind attribute weapon, what is the damage percentage?"; + next; + if (select("125%:150%:175%:200%") == 4) + set .@wizard_t,.@wizard_t+10; + mes "[Raulel]"; + mes "5. If a Baby Desert Wolf and a Familiar fought, which one would win?"; + next; + if (select("Baby Desert Wolf:Familiar:Neither:I don't know") == 1) + set .@wizard_t,.@wizard_t+10; + mes "[Raulel]"; + mes "6. Which of the following cannot be a Cute Pet?"; + next; + if (select("Poporing:Roda Frog:Smokie:Poison Spore") == 2) + set .@wizard_t,.@wizard_t+10; + mes "[Raulel]"; + mes "7. Choose the monster that is weak against a fire attribute attack."; + next; + if (select("Dagger Goblin:Mace Goblin:Morningstar Goblin:Hammer Goblin") == 4) + set .@wizard_t,.@wizard_t+10; + mes "[Raulel]"; + mes "8. Which of the following has the highest defense?"; + next; + if (select("Horn:Chonchon:Andre:Caramel") == 4) + set .@wizard_t,.@wizard_t+10; + mes "[Raulel]"; + mes "9. Choose the monster that's of a different species."; + next; + if (select("Poring:Mastering:Ghostring:Spore") == 3) + set .@wizard_t,.@wizard_t+10; + mes "[Raulel]"; + mes "10. Which of the following is not an Undead monster?"; + next; + if (select("Drake:Megalodon:Deviace:Khalitzburg") == 3) + set .@wizard_t,.@wizard_t+10; + break; + case 3: + mes "[Raulel]"; + mes "1. Which stat is the most important for a Mage?"; + next; + if (select("INT:AGI:DEX:VIT") == 1) + set .@wizard_t,.@wizard_t+10; + mes "[Raulel]"; + mes "2. Which attribute does not have a 'Bolt' type attack?"; + next; + if (select("Water:Earth:Fire:Wind") == 2) + set .@wizard_t,.@wizard_t+10; + mes "[Raulel]"; + mes "3. Choose the one that does not relate to a Mage."; + next; + if (select("Weak physical strength.:Attacks at a distance.:Good at selling stuff.:Magic Defense is high.") == 3) + set .@wizard_t,.@wizard_t+10; + mes "[Raulel]"; + mes "4. Which town is the home of Mages?"; + next; + if (select("Prontera:Morroc:Alberta:Geffen") == 4) + set .@wizard_t,.@wizard_t+10; + mes "[Raulel]"; + mes "5. Which of the following cards has nothing to do with INT?"; + next; + if (select("Andre Egg Card:Soldier Andre Card:Baby Desert Wolf Card:Elder Willow Card") == 2) + set .@wizard_t,.@wizard_t+10; + mes "[Raulel]"; + mes "6. What is the Mage good at compared to other job classes?"; + next; + if (select("Exceptional Vocal Ability:Exceptional Acting Ability:Exceptional Dance Skills:Exceptional Magic Skills") == 4) + set .@wizard_t,.@wizard_t+10; + mes "[Raulel]"; + mes "7. What is the INT bonus at Job Lv 40 for a Mage?"; + next; + if (select("8:7:6:5") == 4) + set .@wizard_t,.@wizard_t+10; + mes "[Raulel]"; + mes "8. Which item can a Mage not equip?"; + next; + if (select("Knife:Boys Cap:Sandle:Eye of Dullahan") == 2) + set .@wizard_t,.@wizard_t+10; + mes "[Raulel]"; + mes "9. Which of the following is the catalyst when making the Mage test solution 3?"; + next; + if (select("Blue Gemstone:Red Gemstone:Yellow Gemstone:Red Blood") == 1) + set .@wizard_t,.@wizard_t+10; + mes "[Raulel]"; + mes "10. Which card is irrelevant to magic?"; + next; + if (select("Marduk Card:Magnolia Card:Willow Card:Maya Card") == 2) + set .@wizard_t,.@wizard_t+10; + } + mes "[Raulel]"; + if (WIZ_Q == 4) { + mes "Good job, you finished answered all the questions... Go buy yourself some potions or something if you have the Zeny. Haha..."; + next; + mes "[Raulel]"; + mes "Your score is... " + .@wizard_t + "points....."; + if (.@wizard_t == 100) { + set WIZ_Q,5; + changequest 9016,9017; + mes "Hahahahahahah~ Well done, you passed the second test."; + mes "It wasn't done in one try like mine was, but I'll let you slide..."; + next; + mes "[Raulel]"; + mes "*sneeze* Don't relax just yet, there's still the matter of the third and final test."; + mes "I advise you to rest a bit while the final test is prepared. Your gonna need it. Hahahahaha~"; + close; + } + else if (.@wizard_t == 90) { + set WIZ_Q,5; + changequest 9016,9017; + mes "Hahaha~ Since you only missed one problem, you passed the second test."; + mes "It wasn't done in one try like mine was, but I'll let you slide..."; + next; + mes "[Raulel]"; + mes "*sneeze* Don't relax just yet, there's still the matter of the third and final test."; + mes "I advise you to rest a bit while the final test is prepared. Your gonna need it. Hahahahaha~"; + close; + } + else if (.@wizard_t == 80) { + set WIZ_Q,5; + changequest 9016,9017; + mes "Sheez... You didn't do very well, but you passed the second test."; + mes "It wasn't done in one try like mine was, but I'll let you slide..."; + next; + mes "[Raulel]"; + mes "*sneeze* Don't relax just yet, there's still the matter of the third and final test."; + mes "I advise you to rest a bit while the final test is prepared. Your gonna need it. Hahahahaha~"; + close; + } + else { + mes "You failed. Go study some more!"; + next; + mes "[Raulel]"; + mes "*cough* *cough* Did you really think you could become a Wizard with such a mediocre level like yours?"; + mes "Get lost! If you were a Wizard right now, the monsters that I fight, would eat you up in no time!"; + close; + } + } + mes "Hmmm...Good job, you finished answering all the questions, go buy yourself some potions or something, thats IF you have the Zeny. Hahahahahahahah~"; + next; + mes "[Raulel]"; + mes "Your score is... " + .@wizard_t + " points!"; + if (.@wizard_t == 100) { + set WIZ_Q,5; + changequest 9016,9017; + mes "*cough* *Cough* Well done, you passed the second test."; + next; + mes "[Raulel]"; + mes "Hahahaha~ Don't relax just yet, there's still the third test."; + mes "*sneeze* I advise you to rest a bit while the final test is prepared...Hahahahah~"; + close; + } + else if (.@wizard_t == 90) { + set WIZ_Q,5; + changequest 9016,9017; + mes "Hahahaha~ I'll let you slide by since you only missed one problem. You passed the second test."; + next; + mes "[Raulel]"; + mes "Hahahaha~ Don't relax just yet, there's still the third test."; + mes "*sneeze* I advise you to rest a bit while the final test is prepared...Hahahahah~"; + close; + } + else { + set WIZ_Q,4; + mes "You failed. I will let you come back again...after you've learned more relating to the type of questions I've asked you."; + next; + mes "[Raulel]"; + mes "Tisk...not enough, not enough! Did you really think you could become a Wizard with the little bit of knowledge you have?"; + mes "Get lost! If you were a Wizard right now, the monsters I deal with would eat you up in no time!"; + close; + } + } + else if (WIZ_Q == 5) { + mes "[Raulel]"; + mes "Ok, hope you got plenty of rest. Hahahahahah~"; + mes "Then let's begin the last test."; + next; + mes "[Raulel]"; + mes "Should I explain a little about this final test? It is difficult, I will not hide that from you..."; + next; + if (select("No, it's ok, I'm ready.:I would like to listen.") == 1) { + mes "[Raulel]"; + mes "What a rash person. Your the type that rushes into battle without thinking, what in the world are you doing here instead of with the Prontera Chivalry? Heck, go for it! *cough* Not my fault if you end up dying."; + mes "Just consider yourself a glass cannon...because the monsters are going to break you into pieces. Hahahahahahahahaha~"; + next; + set WIZ_Q,6; + savepoint "geffen",120,107; + mes "[Raulel]"; + mes "Then, as you wish. I'll send you there right now."; + mes "Oh, if you see a white light at the end of a tunnel, that means your pathetic cause you failed! Hahahahahah~"; + close2; + warp "job_wiz",57,154; + end; + } + mes "[Raulel]"; + mes "What a devoted person. Very well, I'll explain."; + mes "No matter how hard this last test may seem, if you do as I say, you can finish it quickly and easily."; + next; + mes "[Raulel]"; + mes "The final test has a total of 3 parts."; + mes "The order is Water Room, Earth Room, Fire Room. In each room, there are monsters of that particular attribute."; + next; + mes "[Raulel]"; + mes "You'll find out what monsters will be there once you go in. If you use attacks with the *sneeze*"; + mes "right attribute, it shouldn't be too hard. Hahaha~"; + next; + mes "[Raulel]"; + mes "Once you defeat all the monsters within the given time in any one room..."; + mes "you'll be moved to the next room."; + next; + mes "[Raulel]"; + mes "After these three rooms are clear, the testing is over."; + mes "You will become a Wizard which is controlled by Greater Magic Powers! Know this...There is no returning to an easy life."; + next; + mes "[Raulel]"; + mes "Hahaha~ You look frightened. You know, it's not too late to turn back and live an easy life."; + mes "If you want, I can send you back to town right now... What do you want to do?"; + next; + if (select("Continue testing.:I want to go back because I have butterflies in my stomach.") == 1) { + set WIZ_Q,6; + savepoint "geffen",120,107; + mes "[Raulel]"; + mes "You are indeed, very determined. Ok! Hahahahahaha~"; + mes "*Cough* *cough* As you wish, we shall begin the final test!"; + close2; + warp "job_wiz",57,154; + end; + } + set WIZ_Q,6; + mes "[Raulel]"; + mes "Good thinking. This is a better choice for you. Hahahahah~"; + mes "Go back and live a easy life, Greater Magic is a force that should not be wield by types like yourself."; + close2; + warp "geffen",120,110; + end; + } + else if (WIZ_Q == 6) { + if (WIZ_Q2 == 6) { + mes "[Raulel]"; + mes "Hahahahahaha~ I've never seen anyone so...sooo...*sneeze* tenacious as you."; + mes "So you want to try again eh? Even though I've ridiculed you for your failures before??"; + next; + mes "[Raulel]"; + mes "Ok then, here's a proposition. Since you're probably worn out as it is, and I can clearly see the lust for Greater Magic burning in your eyes..."; + mes "Hahahahaha~ yeah! Go bring me a ^3355FFWorn Out Scroll^000000."; + next; + set WIZ_Q2,WIZ_Q2+1; + mes "[Raulel]"; + mes "If not, you can take the test again..."; + mes "Well, I'll send you to take the test for now. Hahahaha~"; + close2; + warp "job_wiz",57,154; + end; + } + else if (WIZ_Q2 > 6) { + mes "[Raulel]"; + mes "Oh! So you're back? Hahahahaha~"; + mes "*Cough* Cough* Do you want to take the test again? Or did you bring the ^3355FFWorn Out Scroll^000000?"; + next; + if (select("Continue the test.:Worn Out Scroll...") == 1) { + savepoint "geffen",120,107; + mes "[Raulel]"; + mes "Hahaha~ Ok, at least you have some spirit."; + mes "I'll send you in again, try dying once more will yah? Hahahahahahahahaha~"; + close2; + warp "job_wiz",57,154; + end; + } + if (countitem(618) > 0) { + delitem 618,1; //Worn_Out_Scroll + mes "[Raulel]"; + mes "Hahahahahahahaha~ *Cough* *cough* So you ended up bringing one of these eh? Good job..."; + mes "I think I can continue my research with this..."; + next; + set WIZ_Q2,0; + set WIZ_Q,7; + mes "[Raulel]"; + mes "Even though your not Grade A Wizard material, I can tell your serious about wanting the Greater Magic. I'll tell Catherine that you passed. Hahahahahahahahah~"; + mes "You went through a lot of trouble here, and that is the true purpose for us selecting Wizards. Only those who will devote themselves to the art will ever become Wizards. Good luck to you. Become much Stronger. Hahahahahaha~"; + close; + } + } + mes "[Raulel]"; + mes "*sneeze* What? You want to take the test again?"; + mes "Geez...you already failed the battle test! Hahahahahahahaha~ So you like magic that much, eh?"; + next; + mes "[Raulel]"; + mes "Since your so weak that you can't finish this final test on your own...you need a separate test to help you out."; + mes "*Cough* If you can't pass the battle test, then do a good job with this one. Hahahahahahah~"; + next; + mes "[Raulel]"; + mes "Well, you better answer these problems if you plan on becoming a Wizard. Hahahahahahaha~"; + next; + mes "[Raulel]"; + mes "1. Choose the monster with a different attribute than the others."; + next; + if (select("Mantis:Cornutus:Giearth:Caramel") == 2) + set .@wizard_t,.@wizard_t+20; + mes "[Raulel]"; + mes "2. Choose the monster that is not a looting one."; + next; + if (select("Yoyo:Magnolia:Metaller:Zerom") == 4) + set .@wizard_t,.@wizard_t+20; + mes "[Raulel]"; + mes "3. Which of these monsters does not recognize casting?"; + next; + if (select("Marina:Vitata:Scorpion:Giearth") == 1) + set .@wizard_t,.@wizard_t+20; + mes "[Raulel]"; + mes "4. Choose the spell that would be efficient against a Marine Sphere."; + next; + if (select("Cold Bolt:Fire Bolt:Lightning Bolt:Stone Curse") == 3) + set .@wizard_t,.@wizard_t+20; + mes "[Raulel]"; + mes "5. Choose the monster that can move."; + next; + if (select("Hydra:Madragora:Greatest General:Frilldora") == 4) + set .@wizard_t,.@wizard_t+20; + mes "[Raulel]"; + mes "*pfft* Do it right, so I don't have to ask again."; + next; + mes "[Raulel]"; + mes "You got " + .@wizard_t + " points."; + if (.@wizard_t == 100) { + mes "Hahahahahaha~ *Cough* *cough* If you can answer all these questions correctly, how is it you can't do well in battles??"; + next; + } + else if (.@wizard_t == 80) { + mes "Eh, soso..."; + mes "I'll let you retake the test."; + next; + } + else { + mes "You failed! Go study some more!"; + next; + mes "[Raulel]"; + mes "You lack something...*sneez*...like intelligence. That's why you keep on failing. Hahahahahahahaha~"; + close; + } + if (select("Begin the test please.:Can I get another explanation?") == 1) { + mes "[Raulel]"; + mes "Nobody is going to help you become a Wizard. Hahahahahahahaha~"; + mes "*Cough* *cough* No point in crying after dying..."; + next; + percentheal 100,100; + mes "[Raulel]"; + mes "Then, as you wish. I'll send you to fight."; + mes "Oh! If you see some tall pearly gates and hear a booming deep voice from behind it, that means that your a failure when it comes to Magic. Hahahahahahahahaha~"; + close2; + warp "job_wiz",57,154; + end; + } + mes "[Raulel]"; + mes "*Cough* *cough* Then I shall explain."; + mes "The test may be hard, but just do as I tell you and it shouldn't be a problem."; + next; + mes "[Raulel]"; + mes "There are 3 parts to this final test."; + mes "The order is...*sneez*...the Water Room, Earth Room, and then the Fire Room. Each room has monsters of that attribute in it."; + next; + mes "[Raulel]"; + mes "You'll see what monsters they are when you enter."; + mes "If you use the appropriate spells against them, it shouldn't be that difficult. Hahahahahahaha~"; + next; + mes "[Raulel]"; + mes "Within the given time, if you defeat all the monsters..."; + mes "you will be sent to the next room."; + next; + mes "[Raulel]"; + mes "After that, the test is over."; + mes "You will then become a Wizard controlled by Greater Magic powers! There is no coming back to the easy life you have known thus far."; + next; + mes "[Raulel]"; + mes "Hahahahaha~ You look frightened. It's not too late you know."; + mes "*Cough* *cough* You can give up and go back to town! Just forget about the Greater Magic and live a normal life. What do yah say?"; + next; + if (select("Continue with the test.:I'm too scared, I would like to quit.") == 1) { + percentheal 100,100; + mes "[Raulel]"; + mes "This time when you die, don't come back crying. Hahahahahahahahah~ *Cough *cough*"; + mes "As you wish, let's begin the final test!"; + close2; + warp "job_wiz",57,154; + end; + } + mes "[Raulel]"; + mes "Comming from you, thats some darn good thinking. That's more a fit for you anyways. Hahahahahahahahaha~"; + mes "Go back and live a quiet and peaceful life!"; + close2; + warp "geffen",120,110; + end; + } + else if (WIZ_Q == 7) { + mes "[Raulel]"; + mes "You shouldn't have any more business with me as far as I'm concerned."; + mes "But, since your so darned persistent, I'll let you take the test again. Hahahahaha~"; + next; + mes "[Raulel]"; + mes "Go! Go and become the Wizard you really want to be."; + mes "And be careful! Greater Magic will always be after you..."; + close; + } +} + +job_wiz,50,165,4 script Arena Assistant 700,{ + mes "[Arena Assistant]"; + mes "Welcome to the Wizard Job Change Arena."; + mes "If you would like to take the final test, then please enter the waiting room."; + next; + mes "[Arena Assistant]"; + mes "If someone is already taking the test, please wait."; + mes "All testing status will be broadcasted, and will begin as soon as the previous tester has gone through."; + next; + mes "[Arena Assistant]"; + mes "Each person may take approximately 5 to 10 minutes."; + mes "If you would like to leave the arena, please log off anytime."; + close; +} + +job_wiz,50,165,4 script Waiting Room#wiz 700,{ +OnInit: + waitingroom "Waiting Room",20,"Waiting Room#wiz::OnStartArena",1; + enablewaitingroomevent; + end; + +OnStartArena: + killmonsterall "job_wiz"; + warpwaitingpc "job_wiz",114,169; + donpcevent "Room of Water::OnEnable"; + disablenpc "Waiting Room#wiz"; + disablewaitingroomevent; + end; + +OnStart: + enablewaitingroomevent; + end; +} + +// Water Room (Test 2 part 1) +//========================================================== +job_wiz,1,1,1 script Room of Water 66,{ +OnInit: + disablenpc "Room of Water"; + end; + +OnEnable: + enablenpc "Room of Water"; + set .MyMobs,7; + monster "job_wiz",109,174,"Phen",1158,1,"Room of Water::OnMyMobDead"; + monster "job_wiz",118,174,"Shellfish",1074,1,"Room of Water::OnMyMobDead"; + monster "job_wiz",109,165,"Vadon",1066,1,"Room of Water::OnMyMobDead"; + monster "job_wiz",118,165,"Cornutus",1067,1,"Room of Water::OnMyMobDead"; + monster "job_wiz",101,157,"Marina",1141,1,"Room of Water::OnMyMobDead"; + monster "job_wiz",126,157,"Marin",1242,1,"Room of Water::OnMyMobDead"; + monster "job_wiz",98,170,"Magnolia",1138,1,"Room of Water::OnMyMobDead"; + initnpctimer; + end; + +OnDisable: + killmonsterall "job_wiz"; + disablenpc "Room of Water"; + end; + +OnMyMobDead: + set .MyMobs,.MyMobs-1; + if (.MyMobs < 1) { + set WIZ_Q2,WIZ_Q2+1; + mapannounce "job_wiz",strcharinfo(0)+" has succeeded in eliminating the monsters.",bc_map; + donpcevent "Room of Water#Door::OnEnable"; + stopnpctimer; + } + end; + +OnTimer1000: + mapannounce "job_wiz","Water Room; The job change test will now proceed.",bc_map; + end; + +OnTimer2000: + mapannounce "job_wiz","Time limit is 3 minutes. We will now start the test.",bc_map; + end; + +OnTimer3000: + mapannounce "job_wiz","Please eliminate all monsters within the time limit.",bc_map; + end; + +OnTimer33000: + mapannounce "job_wiz","2 minutes and 30 seconds remaining.",bc_map; + end; + +OnTimer63000: + mapannounce "job_wiz","2 minutes remaining.",bc_map; + end; + +OnTimer93000: + mapannounce "job_wiz","1 minute and 30 seconds remaining.",bc_map; + end; + +OnTimer123000: + mapannounce "job_wiz","1 minute remaining.",bc_map; + end; + +OnTimer153000: + mapannounce "job_wiz","30 seconds remaining.",bc_map; + end; + +OnTimer173000: + mapannounce "job_wiz","10 seconds remaining.",bc_map; + end; + +OnTimer183000: + mapannounce "job_wiz","Time is up.",bc_map; + donpcevent "Room of Water::OnDisable"; + end; + +OnTimer184000: + enablenpc "Room of Water#Failed"; + end; + +OnTimer185000: + mapannounce "job_wiz","Next candidate, please enter.",bc_map; + end; + +OnTimer186000: + disablenpc "Room of Water#Failed"; + donpcevent "Room of Water::OnDisable"; + donpcevent "Waiting Room#wiz::OnStart"; + end; +} + +job_wiz,1,2,1 script Room of Water#Door 66,{ +OnInit: + disablenpc "Room of Water#Door"; + end; + +OnEnable: + enablenpc "Room of Water#Door"; + donpcevent "Room of Water::OnDisable"; + set .MyMobs,5; + monster "job_wiz",114,169,"Marine Sphere",1142,1,"Room of Water#Door::OnMyMobDead"; + monster "job_wiz",112,169,"Hydra",1068,1,"Room of Water#Door::OnMyMobDead"; + monster "job_wiz",116,169,"Hydra",1068,1,"Room of Water#Door::OnMyMobDead"; + monster "job_wiz",114,171,"Hydra",1068,1,"Room of Water#Door::OnMyMobDead"; + monster "job_wiz",114,167,"Hydra",1068,1,"Room of Water#Door::OnMyMobDead"; + initnpctimer; + end; + +OnDisable: + killmonsterall "job_wiz"; + disablenpc "Room of Water#Door"; + end; + +OnMyMobDead: + set .MyMobs,.MyMobs-1; + if (.MyMobs < 1) { + mapannounce "job_wiz",strcharinfo(0)+" has succeeded in eliminating the monsters.",bc_map; + percentheal 100,100; + warp "job_wiz",116,97; + donpcevent "Room of Water#Door::OnDisable"; + donpcevent "Room of Earth::OnEnable"; + stopnpctimer; + } + end; + +OnTimer1000: + mapannounce "job_wiz","The guard monster has appeared. You have 1 minute.",bc_map; + end; + +OnTimer30000: + mapannounce "job_wiz","30 seconds remaining.",bc_map; + end; + +OnTimer50000: + mapannounce "job_wiz","10 seconds remaining.",bc_map; + end; + +OnTimer60000: + mapannounce "job_wiz","Time is up.",bc_map; + donpcevent "Room of Water#Door::OnDisable"; + end; + +OnTimer61000: + enablenpc "Room of Water#Failed"; + end; + +OnTimer62000: + mapannounce "job_wiz","Next candidate, please enter.",bc_map; + end; + +OnTimer63000: + disablenpc "Room of Water#Failed"; + donpcevent "Room of Water#Door::OnDisable"; + donpcevent "Waiting Room#wiz::OnStart"; + end; +} + +job_wiz,114,169,0 script Room of Water#Failed -1,16,16,{ +OnInit: + disablenpc "Room of Water#Failed"; + end; + +OnTouch: + mapannounce "job_wiz",strcharinfo(0)+" has not succeeded.",bc_map; + warp "geffen",120,110; + end; +} + +// Earth Room (Test 2 part 2) +//========================================================== +job_wiz,1,3,1 script Room of Earth 66,{ +OnInit: + disablenpc "Room of Earth"; + end; + +OnEnable: + enablenpc "Room of Earth"; + set .MyMobs,7; + monster "job_wiz",111,102,"Yoyo",1057,1,"Room of Earth::OnMyMobDead"; + monster "job_wiz",120,102,"Deniro",1105,1,"Room of Earth::OnMyMobDead"; + monster "job_wiz",111,102,"Caramel",1103,1,"Room of Earth::OnMyMobDead"; + monster "job_wiz",120,93,"Giearth",1121,1,"Room of Earth::OnMyMobDead"; + monster "job_wiz",107,98,"Bigfoot",1060,1,"Room of Earth::OnMyMobDead"; + monster "job_wiz",124,98,"Orc Warrior",1023,1,"Room of Earth::OnMyMobDead"; + monster "job_wiz",104,86,"Vitata",1176,1,"Room of Earth::OnMyMobDead"; + initnpctimer; + end; + +OnDisable: + killmonsterall "job_wiz"; + disablenpc "Room of Earth"; + end; + +OnMyMobDead: + set .MyMobs,.MyMobs-1; + if (.MyMobs < 1) { + mapannounce "job_wiz",strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map; + donpcevent "Room of Earth#Door::OnEnable"; + stopnpctimer; + } + end; + +OnTimer1000: + mapannounce "job_wiz","Earth Room; The job change test will now proceed.",bc_map; + end; + +OnTimer2000: + mapannounce "job_wiz","The time limit is 3 minutes.",bc_map; + end; + +OnTimer3000: + mapannounce "job_wiz","Eliminate all monster within the time limit.",bc_map; + end; + +OnTimer33000: + mapannounce "job_wiz","2 minutes and 30 seconds remaining.",bc_map; + end; + +OnTimer63000: + mapannounce "job_wiz","2 minutes remaining.",bc_map; + end; + +OnTimer93000: + mapannounce "job_wiz","1 minute and 30 seconds remaining.",bc_map; + end; + +OnTimer123000: + mapannounce "job_wiz","1 minute remaining.",bc_map; + end; + +OnTimer153000: + mapannounce "job_wiz","30 seconds remaining.",bc_map; + end; + +OnTimer173000: + mapannounce "job_wiz","10 seconds remaining.",bc_map; + end; + +OnTimer183000: + mapannounce "job_wiz","Time is up.",bc_map; + donpcevent "Room of Earth::OnDisable"; + end; + +OnTimer184000: + enablenpc "Room of Earth#Failed"; + end; + +OnTimer185000: + mapannounce "job_wiz","Next candidate, please enter.",bc_map; + end; + +OnTimer186000: + disablenpc "Room of Earth#Failed"; + donpcevent "Room of Earth::OnDisable"; + donpcevent "Waiting Room#wiz::OnStart"; + end; +} + +job_wiz,1,4,1 script Room of Earth#Door 66,{ +OnInit: + disablenpc "Room of Earth#Door"; + end; + +OnEnable: + enablenpc "Room of Earth#Door"; + donpcevent "Room of Earth::OnDisable"; + set .MyMobs,6; + monster "job_wiz",114,95,"Mandragora",1020,1,"Room of Earth#Door::OnMyMobDead"; + monster "job_wiz",118,95,"Mandragora",1020,1,"Room of Earth#Door::OnMyMobDead"; + monster "job_wiz",114,99,"Mandragora",1020,1,"Room of Earth#Door::OnMyMobDead"; + monster "job_wiz",118,99,"Mandragora",1020,1,"Room of Earth#Door::OnMyMobDead"; + monster "job_wiz",116,94,"Mandragora",1020,1,"Room of Earth#Door::OnMyMobDead"; + monster "job_wiz",116,100,"Mandragora",1020,1,"Room of Earth#Door::OnMyMobDead"; + initnpctimer; + end; + +OnDisable: + killmonsterall "job_wiz"; + disablenpc "Room of Earth#Door"; + end; + +OnMyMobDead: + set .MyMobs,.MyMobs-1; + if (.MyMobs < 1) { + mapannounce "job_wiz",strcharinfo(0) + " has succeeded in eliminating the monster.",bc_map; + percentheal 100,100; + warp "job_wiz",46,99; + donpcevent "Room of Earth#Door::OnDisable"; + donpcevent "Room of Fire::OnEnable"; + stopnpctimer; + } + end; + +OnTimer1000: + mapannounce "job_wiz","The guard monster has appeared. You have 1 minute.",bc_map; + end; + +OnTimer30000: + mapannounce "job_wiz","30 seconds remaining.",bc_map; + end; + +OnTimer50000: + mapannounce "job_wiz","10 seconds remaining.",bc_map; + end; + +OnTimer60000: + mapannounce "job_wiz","End time.",bc_map; + donpcevent "Room of Earth#Door::OnDisable"; + end; + +OnTimer61000: + donpcevent "Room of Earth#Failed::OnEnable"; + end; + +OnTimer62000: + mapannounce "job_wiz","Next candidate, please enter.",bc_map; + end; + +OnTimer63000: + disablenpc "Room of Earth#Failed"; + donpcevent "Room of Earth#Door::OnDisable"; + donpcevent "Waiting Room#wiz::OnStart"; + end; +} + +job_wiz,116,97,0 script Room of Earth#Failed -1,16,16,{ +OnInit: + disablenpc "Room of Earth#Failed"; + end; + +OnTouch: + mapannounce "job_wiz",strcharinfo(0) + " has not succeeded.",bc_map; + warp "geffen",120,110; + end; +} + +// Fire Room (Test 2 part 3) +//========================================================== +job_wiz,1,5,1 script Room of Fire 66,{ +OnInit: + disablenpc "Room of Fire"; + end; + +OnEnable: + enablenpc "Room of Fire"; + set .MyMobs,6; + monster "job_wiz",33,110,"Goblin",1123,1,"Room of Fire::OnMyMobDead"; + monster "job_wiz",40,103,"Scorpion",1001,1,"Room of Fire::OnMyMobDead"; + monster "job_wiz",51,103,"Frilldora",1119,1,"Room of Fire::OnMyMobDead"; + monster "job_wiz",40,92,"PecoPeco",1019,1,"Room of Fire::OnMyMobDead"; + monster "job_wiz",51,92,"Elder Willow",1033,1,"Room of Fire::OnMyMobDead"; + monster "job_wiz",37,89,"Metaller",1058,1,"Room of Fire::OnMyMobDead"; + initnpctimer; + end; + +OnDisable: + killmonsterall "job_wiz"; + disablenpc "Room of Fire"; + end; + +OnMyMobDead: + set .MyMobs,.MyMobs-1; + if (.MyMobs < 1) { + mapannounce "job_wiz",strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map; + donpcevent "Room of Fire#Door::OnEnable"; + stopnpctimer; + } + end; + +OnTimer1000: + mapannounce "job_wiz","Fire Room; The job change test shall now proceed.",bc_map; + end; + +OnTimer2000: + mapannounce "job_wiz","Time limit is 3 minutes. We will now start the test.",bc_map; + end; + +OnTimer3000: + mapannounce "job_wiz","Please eliminate all monsters within the time limit.",bc_map; + end; + +OnTimer33000: + mapannounce "job_wiz","2 minutes and 30 seconds remaining.",bc_map; + end; + +OnTimer63000: + mapannounce "job_wiz","2 minutes remaining.",bc_map; + end; + +OnTimer93000: + mapannounce "job_wiz","1 minute and 30 seconds remaining.",bc_map; + end; + +OnTimer123000: + mapannounce "job_wiz","1 minute remaining.",bc_map; + end; + +OnTimer153000: + mapannounce "job_wiz","30 seconds remaining.",bc_map; + end; + +OnTimer173000: + mapannounce "job_wiz","10 seconds remaining.",bc_map; + end; + +OnTimer183000: + mapannounce "job_wiz","Time is up.",bc_map; + donpcevent "Room of Fire::OnDisable"; + end; + +OnTimer184000: + donpcevent "Room of Fire#Failed::OnEnable"; + end; + +OnTimer185000: + mapannounce "job_wiz","Next candidate, please enter.",bc_map; + end; + +OnTimer186000: + disablenpc "Room of Fire#Failed"; + donpcevent "Room of Fire::OnDisable"; + donpcevent "Waiting Room#wiz::OnStart"; + end; +} + +job_wiz,1,6,1 script Room of Fire#Door 66,{ +OnInit: + disablenpc "Room of Fire#Door"; + end; + +OnEnable: + enablenpc "Room of Fire#Door"; + donpcevent "Room of Fire::OnDisable"; + set .MyMobs,3; + monster "job_wiz",44,99,"Greatest General",1277,1,"Room of Fire#Door::OnMyMobDead"; + monster "job_wiz",43,99,"Greatest General",1277,1,"Room of Fire#Door::OnMyMobDead"; + monster "job_wiz",45,99,"Greatest General",1277,1,"Room of Fire#Door::OnMyMobDead"; + initnpctimer; + end; + +OnDisable: + killmonsterall "job_wiz"; + disablenpc "Room of Fire#Door"; + end; + +OnMyMobDead: + set .MyMobs,.MyMobs-1; + if (.MyMobs < 1) { + mapannounce "job_wiz","Congratulations, " + strcharinfo(0) + ". You have passed the job change test.",bc_map; + set WIZ_Q,7; + changequest 9017,9018; + donpcevent "Room of Fire#Door::OnDisable"; + donpcevent "Test Helper#wiz::OnEnable"; + stopnpctimer; + } + end; + +OnTimer1000: + mapannounce "job_wiz","The guard monster has appeared. You have 2 minutes.",bc_map; + end; + +OnTimer30000: + mapannounce "job_wiz","1 minute and 30 seconds remaining.",bc_map; + end; + +OnTimer60000: + mapannounce "job_wiz","1 minute remaining.",bc_map; + end; + +OnTimer90000: + mapannounce "job_wiz","30 seconds remaining.",bc_map; + end; + +OnTimer110000: + mapannounce "job_wiz","10 seconds remaining.",bc_map; + end; + +OnTimer120000: + mapannounce "job_wiz","Time is up.",bc_map; + donpcevent "Room of Fire#Door::OnDisable"; + end; + +OnTimer121000: + enablenpc "Room of Fire#Failed"; + end; + +OnTimer122000: + mapannounce "job_wiz","Next candidate, please enter.",bc_map; + end; + +OnTimer123000: + disablenpc "Room of Fire#Failed"; + donpcevent "Room of Fire#Door::OnDisable"; + donpcevent "Waiting Room#wiz::OnStart"; +} + +job_wiz,46,99,0 script Room of Fire#Failed -1,16,16,{ +OnInit: + disablenpc "Room of Fire#Failed"; + end; + +OnTouch: + warp "geffen",120,110; + end; +} + +job_wiz,1,7,1 script Test Helper#wiz 66,{ + end; + +OnInit: + disablenpc "Test Helper#wiz"; + end; + +OnEnable: + initnpctimer; + end; + +OnDisable: + disablenpc "Test Helper#wiz"; + end; + +OnTimer2000: + mapannounce "job_wiz","Please return and complete the rest of the job change processes.",bc_map; + end; + +OnTimer4000: + mapannounce "job_wiz","This is the end of the test. Next candidate, please stand by.",bc_map; + end; + +OnTimer5000: + areawarp "job_wiz",33,82,57,113,"gef_tower",110,30; + end; + +OnTimer7000: + mapannounce "job_wiz","Next candidate, please enter.",bc_map; + end; + +OnTimer9000: + donpcevent "Test Helper#wiz::OnDisable"; + donpcevent "Waiting Room#wiz::OnStart"; + stopnpctimer; + end; +} + +gef_tower,107,36,4 script White Dog#wiz 81,{ + if (BaseJob != Job_Mage) { + if (BaseJob == Job_Wizard) { + mes "[Maria]"; + mes "Instead of sticking around here, wouldn't it be better to go out and test how strong you've become?"; + next; + mes "[Maria]"; + mes "Don't forget that Wizards grow and improve in power each and every day."; + close2; + cutin "job_wizard_maria01",255; + end; + } + else if (BaseClass == Job_Novice) { + mes "[Dog]"; + mes "What? Kiddo!"; + mes "Is a Dog talking so amusing to you?"; + } + else { + cutin "job_wizard_maria02",2; + mes "[Dog]"; + mes "Sheesh...Why would a person that can't even cast a spell a single spell come up here?"; + mes "*Pfft* If you're that bored, do the world a favor and climb to the top of this building via the outside, then proceed to do some acrobatics if you get there."; + } + next; + mes "[Dog]"; + mes "*Bark* Get lost!"; + mes "I don't have time for people like you!"; + close2; + cutin "job_wizard_maria02",255; + end; + } + if (WIZ_Q == 0) { + cutin "job_wizard_maria01",2; + mes "[Dog]"; + mes "Ah...I know what you're about to say. You want to change jobs to a Wizard, right?"; + next; + mes "[Dog]"; + mes "Go talk to Catherine. She'll help you."; + next; + mes "[Dog]"; + mes "Also, if you would like to know anything about the job change process, I can explain."; + next; + switch(select(".......:A Dog is talking to me...")) { + case 1: + mes "[Dog]"; + mes "...*bark*...? What is it?? Why are you looking at me like that?!"; + mes "Is it your first time seeing a Dog talk?"; + next; + mes "[Dog]"; + mes "*Bark* It's not common that you see a Dog talking I suppose. bark~"; + mes "...Yes i suppose it is a rare site...*grrr*...Stop Gawking for goodness sakes!"; + next; + mes "[Dog]"; + mes "My name is 'Maria Splodofska'. Just call me 'Maria'."; + mes "I'm helping candidates that wish to become Wizards."; + next; + cutin "job_wizard_maria03",2; + mes "[Maria]"; + mes "*Bark* Well, the reason I became a dog is...I was helping my boyfriend in experimenting to prepare for his Final for his Magic Degree. Well, *Grrrr* he accidentally turned me into a dog."; + mes "Theoretically, in a couple months the chemicals should wear off and I should be returned to normal. When exactly, I have no idea?"; + next; + cutin "job_wizard_maria01",2; + mes "[Maria]"; + mes "Well...it doesn't concern you anyways."; + mes "Now, where were we."; + next; + break; + case 2: + cutin "job_wizard_maria02",2; + mes "[Dog]"; + mes "*Bark* *bark* *bark* Don't state the obvious! Alright, I know I'm a dog!"; + next; + cutin "job_wizard_maria01",2; + mes "[Dog]"; + mes "My name is 'Maria Splodofska'. People call me 'Maria'."; + mes "I'm helping little ones like you that wish to become Wizards."; + next; + cutin "job_wizard_maria03",2; + mes "[Dog called 'Maria']"; + mes "The reason I became a dog is...My boyfriend that was experimenting to prepare for the Magic Degree, accidentally turned me into a dog."; + mes "Theoretically, in a couple months, the chemicals should wear off and I should be returned to normal. Exactly when, I have no idea?"; + next; + cutin "job_wizard_maria02",2; + mes "[Dog called 'Maria']"; + mes "I'm not a 'dog' called 'Maria'!! Oi!! Listen to me!!"; + next; + mes "[Dog... 'Maria'...]"; + mes ".........."; + next; + mes "[Maria]"; + mes "...*BARK* *BARK* *BARK*... I'm upset, but whatever!! You seem busy so I'll just drop it."; + next; + break; + } + cutin "job_wizard_maria01",2; + mes "[Maria]"; + mes "Like I said before, to change jobs, talk to Catherine."; + mes "She's a new Wizard too."; + next; + mes "[Maria]"; + mes "I can tell you more about the job change process, but I can't hold back a busy person now can I?"; + mes "What do you think? Should I explain some about whats in store for Mages that wish to become Wizards?"; + next; + switch(select("Yes, please! I would like that.:No, it's ok.:A talking dog...")) { + case 1: + cutin "job_wizard_maria01",2; + mes "[Maria]"; + mes "OK, I will explain the process for you."; + next; + mes "[Maria]"; + mes "There are three tests in the job change process."; + mes "The first test is collecting magic items."; + next; + mes "[Maria]"; + mes "That one begins when you submit an application to Catherine."; + mes "She'll either tell you to collect all types of gemstones, or gather stones with attributes."; + next; + mes "[Maria]"; + mes "Second test is a magic quiz,"; + mes "The gloomy Laurel in the corner is in charge of that part."; + next; + mes "[Maria]"; + mes "There are questions about magic, monsters, and Mages."; + mes "Out of the 10 questions, if you don't get them all correct, he doesn't let you pass. In other words, you fail..."; + next; + mes "[Maria]"; + mes "Oddly enough, He is in charge of the 3rd test too."; + mes "The third test is eliminating monsters."; + next; + mes "[Maria]"; + mes "In each room, there are monsters of certain attributes."; + mes "You must attack them with the appropriate spells."; + next; + mes "[Maria]"; + mes "Well, that's all that I can say. Go apply now."; + next; + mes "[Maria]"; + mes "It's better to just try it yourself than to listen to my descriptions."; + close2; + cutin "job_wizard_maria01",255; + warp "gef_dun00",116,102; + end; + case 2: + mes "[Maria]"; + mes "Really? Ok, then go apply and do your best."; + close2; + cutin "job_wizard_maria01",255; + end; + case 3: + cutin "job_wizard_maria02",2; + mes "[Maria]"; + mes "I'm not a DOG!! HOOOOWWWWWWLLLLLLL~"; + next; + mes "[Maria]"; + mes "Dang it! I hope you FAIL!! Go get lost!!"; + close2; + cutin "job_wizard_maria01",255; + warp "gef_dun00",116,102; + end; + } + } + else if (WIZ_Q == 1) { + cutin "job_wizard_maria01",2; + mes "[Maria]"; + mes "You seem lost..."; + mes "You've applied, and now you're looking for the items right?"; + next; + mes "[Maria]"; + mes "But since this is only the first test, don't depend on others."; + mes "Complete it yourself. Thats the best way."; + next; + mes "[Maria]"; + mes "From what I've heard, you have to gather gemstones..."; + mes "I can't help you directly, but I can give you some advice."; + next; + mes "[Maria]"; + mes "First, to get Red Gemstones, go to Culverts in Prontera."; + mes "You can obtain them from the Thief Bugs and Thief Bug eggs found plentiful there."; + next; + mes "[Maria]"; + mes "Yellow Gemstones are easy to find in the desert."; + mes "Condors, Picky's, and sometimes monsters like Golem's drop them."; + next; + mes "[Maria]"; + mes "And...*woof* to get Blue Gemstones. Try going to the Byalan Dungeons."; + mes "Cornutus, Vadon, and monsters like Mars can drop those Gems."; + next; + mes "[Maria]"; + mes "Of course you can get blue Gemstones at the magic shop here in town..."; + mes "But, finding them yourself would be much more rewarding and helpful later in the test."; + next; + mes "[Maria]"; + mes "Anyways, try your best."; + mes "This is the basics of being a Wizard."; + close2; + cutin "job_wizard_maria01",255; + end; + } + else if (WIZ_Q == 2) { + cutin "job_wizard_maria01",2; + mes "[Maria]"; + mes "You seem lost..."; + mes "You've applied, and now you're looking for the items right?"; + next; + mes "[Maria]"; + mes "But since this is only the first test, don't depend on others for help."; + mes "Complete it yourself, thats the best way."; + next; + mes "[Maria]"; + mes "From what I've heard, you have to gather elemental stones..."; + mes "I can't help you directly, but I can give you some advice."; + next; + mes "[Maria]"; + mes "Well, you can find the Crystal Blue in Byalan Dungeon."; + mes "Cornutus, Kukre, Marina, Vadon...these monsters drop them frequently."; + next; + mes "[Maria]"; + mes "You can get Green Live from insect type monsters."; + mes "Try hunting monsters like Horn, Mantis, or Vitata."; + next; + mes "[Maria]"; + mes "Oh and *woof*, Red Blood. I heard you can get a lot of those from..."; + mes "Elder Willows, Metallers or Scorpions found in the desert would work well too."; + next; + mes "[Maria]"; + mes "For Wind of Verdue. Hornet, Stainer, Steel Chonchon."; + mes "If you try just a bit, you can get them really easily."; + next; + mes "[Maria]"; + mes "But anyways, always try your best."; + mes "It's the basics of being a Wizard."; + close2; + cutin "job_wizard_maria01",255; + end; + } + else if (WIZ_Q == 3) { + cutin "job_wizard_maria01",2; + mes "[Maria]"; + mes "Don't be too relieved just after the first test."; + mes "Try your best, as you still have two more tests to go."; + close2; + cutin "job_wizard_maria01",255; + end; + } + else if (WIZ_Q == 4) { + cutin "job_wizard_maria01",2; + mes "[Maria]"; + mes "ZzzzZzzzZzzz..."; + next; + cutin "job_wizard_maria02",2; + mes "[Maria]"; + mes "*wimper*...Blizadris...you suck...Zzz..."; + close2; + cutin "job_wizard_maria02",255; + end; + } + else if (WIZ_Q == 5) { + cutin "job_wizard_maria01",2; + mes "[Maria]"; + mes "Oh, you're doing well aren't you?"; + next; + mes "[Maria]"; + mes "Well, try your best to the very end."; + mes "Laurel is waiting."; + close2; + cutin "job_wizard_maria01",255; + end; + } + else if (WIZ_Q == 6) { + cutin "job_wizard_maria01",2; + mes "[Maria]"; + mes "*BARK*...you gave up?"; + mes "*Sigh*...How can you become a Wizard with such a weak heart?"; + next; + mes "[Maria]"; + mes "You know that each room has monsters of the same attribute..."; + mes "If you're a person that deals with magic, you need to know about the different spells."; + next; + mes "[Maria]"; + mes "You also need to learn how to counter monsters that use skills."; + mes "Your best bet is to kill the monsters that are attacking you first."; + next; + mes "[Maria]"; + mes "*Grrr* Anyways, continue the test."; + mes "Don't have a weak mind, *woof* and go back! *Bark* *Bark* Right this moment! *BARK*"; + close2; + cutin "job_wizard_maria01",255; + end; + } + else if (WIZ_Q == 7) { + cutin "job_wizard_maria01",2; + mes "[Maria]"; + mes "As I thought, I knew you'd be able to do it, I could smell it in yah! *Woof*"; + mes "Now I can call you Wizard."; + next; + mes "[Maria]"; + mes "Congratulations. Always give your best at everything, no matter what."; + close2; + cutin "job_wizard_maria01",255; + end; + } +} + +//============================================================ +// Old changelog +//============================================================ +//= 1.1 Now using the initnpctimer command, donpcevent, +//= and new waitingroom event commands. No more addtimer spamming. +//= No longer have to talk to the npc to take the test. Just enter the chat room. +//= 1.2 Changed global variable names to unique ones. +//= 1.2a Rollback from the wrong Kashy's fix +//= 1.2b Fixed issue with duplicating monsters thx to Bison.[kobra_k88] +//= 1.2c changed one Horong to Frilldora (now 3rd room contains 1 agressive mob.) +//= 1.2d more simplified fire room - removed agressive Desert Wolf [Lupus] +//= 1.3 Added Baby Class support. 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 Replaced 2 Hodes with 2 Horong's (according to the official guide) [Lupus] +//= 1.8 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon] +//= 2.1 Changed numbers to constants. [Vicious] +//= 2.2 Merged back JFunc [Lupus] 2.2a Removed extra MES, added missing NEXT +//= 2.3 Bigfoot monster summon corrected [Zairik] diff --git a/npc/pre-re/jobs/2-1a/AssassinCross.txt b/npc/pre-re/jobs/2-1a/AssassinCross.txt new file mode 100644 index 000000000..0776825fb --- /dev/null +++ b/npc/pre-re/jobs/2-1a/AssassinCross.txt @@ -0,0 +1,100 @@ +//===== rAthena Script ======================================= +//= Advance Class jobchanger after kRO Normals. +//===== By: ================================================== +//= Nana +//= finished, optimized and tested by Lupus +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= rAthena 1.0 + +//===== Description: ========================================= +//= Advance Class jobchanger after kRO Normals. +//===== Additional Comments: ================================= +//= v1.1 Made all into functions, additional checks, etc. [Lupus] +//= v1.2 Made numbers into constants. [Vicious] +//= 1.3 Now saves/restores all the quest skills [Lupus] +//============================================================ + +valkyrie,44,58,5 script Assassin Cross#Valkyrie 725,{ + if (ADVJOB == 0 || Upper != 1) { + set .@karma_d,rand(1,10); + if (.@karma_d > 4) { + mes "[Assassin Cross]"; + mes "Congratulations..."; + next; + mes "[Assassin Cross]"; + mes "..."; + next; + mes "[Assassin Cross]"; + mes "..."; + mes "......"; + next; + mes "[Assassin Cross]"; + mes "..."; + mes "......"; + mes "Honor to"; + mes "the warriors."; + close; + } + mes "[Assassin Cross]"; + mes "We are the warriors"; + mes "of the desert. Nobody"; + mes "looks down upon us."; + mes "Nobody..."; + close; + } + else if (ADVJOB == Job_Assassin_Cross && Class == Job_Thief_High && JobLevel > 39) { + mes "[Assassin Cross]"; + mes "The time has come."; + mes "The world needs you..."; + mes "More than ever."; + next; + mes "[Assassin Cross]"; + mes "I ask that you continue to live in the shadows, but as an even greater Assassin with a new appearance."; + next; + mes "[Assassin Cross]"; + mes "Will you become"; + mes "an Assassin Cross?"; + next; + if (select("No.:Yes.") == 1) { + mes "[Assassin Cross]"; + mes "When you are"; + mes "ready, come back."; + next; + mes "[Assassin Cross]"; + mes "Honor to"; + mes "the warriors."; + close; + } + if (SkillPoint) { + mes "[Assassin Cross]"; + mes "You still haven't"; + mes "learned everything"; + mes "that you can."; + next; + mes "[Assassin Cross]"; + mes "Use all your"; + mes "Skill Points"; + mes "and then come back."; + close; + } + jobchange Job_Assassin_Cross; + set ADVJOB,0; + mes "[Assassin Cross]"; + mes "Congratulations."; + mes "As an Assassin Cross,"; + mes "I hope that you fight for a brighter future within the darkness."; + close; + } + mes "[Assassin Cross]"; + mes "Welcome"; + mes "to Valhalla,"; + mes "the Hall of Honor."; + next; + mes "[Assassin Cross]"; + mes "Please make"; + mes "yourself comfortable"; + mes "while you are here."; + mes "Honor to the warriors."; + close; +} diff --git a/npc/pre-re/jobs/2-1a/HighPriest.txt b/npc/pre-re/jobs/2-1a/HighPriest.txt new file mode 100644 index 000000000..ae96a122e --- /dev/null +++ b/npc/pre-re/jobs/2-1a/HighPriest.txt @@ -0,0 +1,82 @@ +//===== rAthena Script ======================================= +//= Advance Class jobchanger after kRO Normals. +//===== By: ================================================== +//= Nana +//= finished, optimized and tested by Lupus +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= rAthena 1.0 + +//===== Description: ========================================= +//= Advance Class jobchanger after kRO Normals. +//===== Additional Comments: ================================= +//= v1.1 Made all into functions, additional checks, etc. [Lupus] +//= v1.2 Made numbers into constants. [Vicious] +//= 1.3 Now saves/restores all the quest skills [Lupus] +//============================================================ + +valkyrie,44,42,5 script High Priest#Valkyrie 60,{ + if (ADVJOB == 0 || Upper != 1) { + set .@karma_d,rand(1,10); + if (.@karma_d > 4) { + mes "[High Priest]"; + mes "Congratulations."; + mes "Honor to the warriors!"; + close; + } + mes "[High Priest]"; + mes "Through the power"; + mes "of holiness, may we"; + mes "find peace, strength"; + mes "and protection. Deliver"; + mes "us from the forces of evil..."; + close; + } + else if (ADVJOB == Job_High_Priest && Class == Job_Acolyte_High && JobLevel > 39) { + mes "[High Priest]"; + mes "Our world is in"; + mes "need of people of"; + mes "talent and conviction."; + mes "Please continue your"; + mes "good works as an even"; + mes "greater hero of holiness..."; + next; + mes "[High Priest]"; + mes "Would you like"; + mes "to become a High Priest?"; + next; + if (select("No.:Yes.") == 1) { + mes "[High Priest]"; + mes "When you're ready,"; + mes "feel free to come back."; + mes "Honor to the warriors!"; + close; + } + if (SkillPoint) { + mes "[High Priest]"; + mes "It is still possible for you to learn more skills. Please use"; + mes "all of your remaining Skill Points before returning to me."; + close; + } + jobchange Job_High_Priest; + set ADVJOB,0; + mes "[High Priest]"; + mes "Congratulations."; + mes "As a High Priest,"; + mes "I hope you will guide"; + mes "others upon the path"; + mes "to holiness..."; + close; + } + mes "[High Priest]"; + mes "Welcome"; + mes "to Valhalla,"; + mes "the Hall of Honor."; + next; + mes "[High Priest]"; + mes "Please make"; + mes "yourself comfortable"; + mes "while you are here."; + mes "Honor to the warriors!"; + close; +} diff --git a/npc/pre-re/jobs/2-1a/HighWizard.txt b/npc/pre-re/jobs/2-1a/HighWizard.txt new file mode 100644 index 000000000..58f1bfce8 --- /dev/null +++ b/npc/pre-re/jobs/2-1a/HighWizard.txt @@ -0,0 +1,86 @@ +//===== rAthena Script ======================================= +//= Advance Class jobchanger after kRO Normals. +//===== By: ================================================== +//= Nana +//= finished, optimized and tested by Lupus +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= rAthena 1.0 + +//===== Description: ========================================= +//= Advance Class jobchanger after kRO Normals. +//===== Additional Comments: ================================= +//= v1.1 Made all into functions, additional checks, etc. [Lupus] +//= v1.2 Made numbers into constants. [Vicious] +//= 1.3 Now saves/restores all the quest skills [Lupus] +//============================================================ + +valkyrie,44,47,5 script High Wizard#Valkyrie 735,{ + if (ADVJOB == 0 || Upper != 1) { + set .@karma_d,rand(1,10); + if (.@karma_d > 4) { + mes "[High Wizard]"; + mes "Congratulations."; + mes "Honor to the warriors!"; + close; + } + mes "[High Wizard]"; + mes "We High Wizards have"; + mes "the responsibility of"; + mes "using our destructive magic"; + mes "for the right purposes."; + next; + mes "[High Wizard]"; + mes "A lifetime of training"; + mes "is required before becoming"; + mes "a High Wizard. Can you imagine"; + mes "what would happen if our power"; + mes "was placed in the wrong hands?!"; + close; + } + else if (ADVJOB == Job_High_Wizard && Class == Job_Mage_High && JobLevel > 39) { + mes "[High Wizard]"; + mes "It is time."; + mes "And Rune-Midgard has"; + mes "need of those who can"; + mes "wield the strongest of magic..."; + next; + mes "[High Wizard]"; + mes "Would you like to"; + mes "become a High Wizard?"; + next; + if (select("No.:Yes.") == 1) { + mes "[High Wizard]"; + mes "When you're ready,"; + mes "feel free to come back."; + mes "Honors to the warriors!"; + close; + } + if (SkillPoint) { + mes "[High Wizard]"; + mes "It is still possible for you to learn more skills. Please use"; + mes "all of your remaining Skill Points before returning to me."; + close; + } + jobchange Job_high_Wizard; + set ADVJOB,0; + mes "[High Wizard]"; + mes "Congratulations."; + mes "As a High Wizard,"; + mes "I hope use you use"; + mes "your powers to bring"; + mes "peace to the oppressed."; + close; + } + mes "[High Wizard]"; + mes "Welcome"; + mes "to Valhalla,"; + mes "the Hall of Honor."; + next; + mes "[High Wizard]"; + mes "Please make"; + mes "yourself comfortable"; + mes "while you are here."; + mes "Honor to the warriors!"; + close; +} diff --git a/npc/pre-re/jobs/2-1a/LordKnight.txt b/npc/pre-re/jobs/2-1a/LordKnight.txt new file mode 100644 index 000000000..ba998483e --- /dev/null +++ b/npc/pre-re/jobs/2-1a/LordKnight.txt @@ -0,0 +1,84 @@ +//===== rAthena Script ======================================= +//= Advance Class jobchanger after kRO Normals. +//===== By: ================================================== +//= Nana +//= finished, optimized and tested by Lupus +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= rAthena 1.0 + +//===== Description: ========================================= +//= Advance Class jobchanger after kRO Normals. +//===== Additional Comments: ================================= +//= v1.1 Made all into functions, additional checks, etc. [Lupus] +//= v1.2 Made numbers into constants. [Vicious] +//= 1.3 Now saves/restores all the quest skills [Lupus] +//============================================================ + +valkyrie,44,39,5 script Lord Knight#Valkyrie 56,{ + if (ADVJOB == 0 || Upper != 1) { + set .@karma_d,rand(1,10); + if (.@karma_d > 4) { + mes "[Lord Knight]"; + mes "Congratulations."; + mes "Honor to the warriors!"; + close; + } + mes "[Lord Knight]"; + mes "We Knights have an"; + mes "awesome responsibility..."; + mes "To serve and protect."; + next; + mes "[Lord Knight]"; + mes "Even at the cost"; + mes "of our own lives,"; + mes "we must safeguard the"; + mes "well being of our comrades."; + close; + } + else if (ADVJOB == Job_Lord_Knight && Class == Job_Swordman_High && JobLevel > 39) { + mes "[Lord Knight]"; + mes "Your time has come!"; + mes "The world still needs you."; + mes "Please continue your life"; + mes "as a hero with a new appearance."; + next; + mes "[Lord Knight]"; + mes "Would you like"; + mes "to become a Lord Knight?"; + next; + if (select("No.:Yes.") == 1) { + mes "[Lord Knight]"; + mes "When you're ready,"; + mes "feel free to come back."; + mes "Honor to the warriors!"; + close; + } + if (SkillPoint) { + mes "[Lord Knight]"; + mes "It is still possible for you to learn more skills. Please use"; + mes "all of your remaining Skill Points before returning to me."; + close; + } + jobchange Job_Lord_Knight; + set ADVJOB,0; + mes "[Lord Knight]"; + mes "Congratulations!"; + mes "As a Lord Knight,"; + mes "I hope that you will be"; + mes "at the forefront of battle,"; + mes "and lead your allies to victory!"; + close; + } + mes "[Lord Knight]"; + mes "Welcome"; + mes "to Valhalla,"; + mes "the Hall of Honor."; + next; + mes "[Lord Knight]"; + mes "Please make"; + mes "yourself comfortable"; + mes "while you are here."; + mes "Honor to the warriors!"; + close; +} diff --git a/npc/pre-re/jobs/2-1a/Sniper.txt b/npc/pre-re/jobs/2-1a/Sniper.txt new file mode 100644 index 000000000..cf5f4881e --- /dev/null +++ b/npc/pre-re/jobs/2-1a/Sniper.txt @@ -0,0 +1,83 @@ +//===== rAthena Script ======================================= +//= Advance Class jobchanger after kRO Normals. +//===== By: ================================================== +//= Nana +//= finished, optimized and tested by Lupus +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= rAthena 1.0 + +//===== Description: ========================================= +//= Advance Class jobchanger after kRO Normals. +//===== Additional Comments: ================================= +//= v1.1 Made all into functions, additional checks, etc. [Lupus] +//= v1.2 Made numbers into constants. [Vicious] +//= 1.3 Now saves/restores all the quest skills [Lupus] +//============================================================ + +valkyrie,44,55,5 script Sniper#Valkyrie 727,{ + if (ADVJOB == 0 || Upper != 1) { + set .@karma_d,rand(1,10); + if (.@karma_d > 4) { + mes "[Sniper]"; + mes "Congratulations."; + mes "Honor to the warriors!"; + close; + } + mes "[Sniper]"; + mes "One shot."; + mes "One kill."; + mes "It's not so hard"; + mes "once you develop the"; + mes "vision for that style"; + mes "of battling."; + close; + } + else if (ADVJOB == Job_Sniper && Class == Job_Archer_High && JobLevel > 39) { + mes "[Sniper]"; + mes "The world is in"; + mes "need of mighty Bowmen"; + mes "like you. Are you ready for"; + mes "the awesome responsibility?"; + next; + mes "[Sniper]"; + mes "Are you willing to"; + mes "take the next step and"; + mes "become a Sniper?"; + next; + if (select("No.:Yes.") == 1) { + mes "[Sniper]"; + mes "When you're ready,"; + mes "feel free to come back."; + mes "Honor to the warriors!"; + close; + } + if (SkillPoint) { + mes "[Sniper]"; + mes "It is still possible for you to learn more skills. Please use"; + mes "all of your remaining Skill Points before returning to me."; + close; + } + jobchange Job_Sniper; + set ADVJOB,0; + mes "[Sniper]"; + mes "Congratulations!"; + mes "As a Sniper, I hope"; + mes "that the minions of evil"; + mes "will never be safe so"; + mes "long as they are in"; + mes "your sight!"; + close; + } + mes "[Sniper]"; + mes "Welcome"; + mes "to Valhalla,"; + mes "the Hall of Honor."; + next; + mes "[Sniper]"; + mes "Please make"; + mes "yourself comfortable"; + mes "while you are here."; + mes "Honor to the warriors!"; + close; +} diff --git a/npc/pre-re/jobs/2-1a/WhiteSmith.txt b/npc/pre-re/jobs/2-1a/WhiteSmith.txt new file mode 100644 index 000000000..42ac6164b --- /dev/null +++ b/npc/pre-re/jobs/2-1a/WhiteSmith.txt @@ -0,0 +1,88 @@ +//===== rAthena Script ======================================= +//= Advance Class jobchanger after kRO Normals. +//===== By: ================================================== +//= Nana +//= finished, optimized and tested by Lupus +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= rAthena 1.0 + +//===== Description: ========================================= +//= Advance Class jobchanger after kRO Normals. +//===== Additional Comments: ================================= +//= v1.1 Made all into functions, additional checks, etc. [Lupus] +//= v1.2 Made numbers into constants. [Vicious] +//= 1.3 Now saves/restores all the quest skills [Lupus] +//============================================================ + +valkyrie,44,50,5 script MasterSmith#Valkyrie 731,{ + if (ADVJOB == 0 || Upper != 1) { + set .@karma_d,rand(1,10); + if (.@karma_d > 4) { + mes "[MasterSmith]"; + mes "Congratulations."; + mes "Honor to the warriors!"; + close; + } + mes "[MasterSmith]"; + mes "Ah..."; + mes "The pinnacle"; + mes "of craftsmanship."; + mes "That's the work of"; + mes "a MasterSmith."; + next; + mes "[MasterSmith]"; + mes "Once you're the"; + mes "the best of the best,"; + mes "you begin forging with"; + mes "the goal of discovering"; + mes "new and better ways of"; + mes "crafting..."; + close; + } + else if (ADVJOB == Job_WhiteSmith && Class == Job_Merchant_High && JobLevel > 39) { + mes "[MasterSmith]"; + mes "The time has come!"; + mes "Our world needs brave,"; + mes "hard-working adventurers"; + mes "like you..."; + next; + mes "[MasterSmith]"; + mes "Would you like to"; + mes "become a MasterSmith?"; + next; + if (select("No.:Yes.") == 1) { + mes "[MasterSmith]"; + mes "When you're ready,"; + mes "feel free to come back."; + mes "Honor to the warriors!"; + close; + } + if (SkillPoint) { + mes "[MasterSmith]"; + mes "It is still possible for you to learn more skills. Please use"; + mes "all of your remaining Skill Points before returning to me."; + close; + } + jobchange Job_Whitesmith; + set ADVJOB,0; + mes "[MasterSmith]"; + mes "Congratulations!"; + mes "As a MasterSmith,"; + mes "I hope you will forge"; + mes "a path towards a brighter"; + mes "future for Rune-Midgard."; + close; + } + mes "[MasterSmith]"; + mes "Welcome"; + mes "to Valhalla,"; + mes "the Hall of Honor."; + next; + mes "[MasterSmith]"; + mes "Please make"; + mes "yourself comfortable"; + mes "while you are here."; + mes "Honor to the warriors!"; + close; +} diff --git a/npc/pre-re/jobs/2-1e/StarGladiator.txt b/npc/pre-re/jobs/2-1e/StarGladiator.txt new file mode 100644 index 000000000..e58dc4dde --- /dev/null +++ b/npc/pre-re/jobs/2-1e/StarGladiator.txt @@ -0,0 +1,1646 @@ +//===== rAthena Script ======================================= +//= Star Gladiator Job Quest +//===== By: ================================================== +//= Celestria, Samuray22 +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Job Change quest for Star Gladiator class. +//===== Additional Comments: ================================= +//= 1.1 Updated to the Aegis Standards. [Samuray22] +//= 1.1a Corrected a minor error respect to the header. [Samuray22] +//= 1.1b Corrected NPC name length warning. [L0ne_W0lf] +//= 1.1c Changed item names to item IDs. [Samuray22] +//= 1.2 Another round of updates to the script. [L0ne_W0lf] +//= Removes the use of labels, and correcets other errors. +//= 1.3 Added Quest Log commands. [Kisuka] +//============================================================ + +payon,215,102,3 script Moohyun#job_star 828,3,3,{ + if (Class == Job_Taekwon) { + if (STGL_Q == 0) { + mes "[Moohyun]"; + if (Sex) + mes "Hey, Taekwon Boy!"; + else + mes "Hey, Taekwon Girl!"; + mes "Come here for a minute."; + mes "I've got a proposition"; + mes "for you if you'll listen!"; + next; + if (select( "Sure.","No, thanks!") == 1) { + mes "[Moohyun]"; + mes "Alright, kid."; + mes "What's your name?"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "" + strcharinfo(0) + "."; + next; + mes "[Moohyun]"; + mes "Geez, you're so direct."; + mes "A little warmth, a little"; + mes "friendliness wouldn't kill"; + mes "you, now would it? Anyway,"; + mes "have you given any thought"; + mes "as to what you want to be?"; + next; + mes "[Moohyun]"; + mes "If your heart isn't already"; + mes "set on it, why don't you become"; + mes "a ^4D4DFFwarrior of the Sun, the Moon,^FFFFFF ^4D4DFF and the Stars^000000? Just consider it."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Warrior of the wha--?"; + mes "I've never heard of that"; + mes "job. But I do know I can"; + mes "change jobs to a Soul"; + mes "Linker or Taekwon Master."; + next; + mes "[Moohyun]"; + mes "Yeah. Yeah, that's right."; + mes "Taekwon Masters are warriors"; + mes "of the Sun, Moon, and Stars, and wield the power of the cosmos!"; + mes "Cool, huh? Anyway, interested"; + mes "in being a Taekwon Master?"; + next; + if (select("Yes, I am!:No, not so much.") == 1) { + if (JobLevel > 39) { + mes "[Moohyun]"; + mes "Great, great~ I knew you'd"; + mes "see things my way. Alright,"; + mes "you seem to be ready enough."; + mes "All you need now is someone"; + mes "who can train you to become"; + mes "a Taekwon Master."; + next; + mes "[Moohyun]"; + mes "Would you like to ^4D4dffchange"; + mes "your job to Taekwon Master^000000?"; + mes "If you do, I'll introduce you to somebody who can help"; + mes "you accomplish that goal."; + next; + if (select("Yes, I do.","Let me think about it...") == 1) { + mes "[Moohyun]"; + mes "Excellent! Now, as you may"; + mes "have guessed, Taekwon Masters"; + mes "aren't organized into an official guild. So it's tough for all of us"; + mes "to gather, but we also have fewer rules and greater freedom."; + next; + mes "[Moohyun]"; + mes "Who's around now...? Umm..."; + mes "Ah, you should visit ^4D4DFFMoogang^000000."; + mes "He's one of the few Taekwon"; + mes "Masters interested in receiving"; + mes "new students, so he'll be sure"; + mes "to guide you in your training."; + next; + mes "[Moohyun]"; + mes "Alright, you can find Moogang"; + mes "in Comodo, supposedly at the"; + mes "place that's closest to the sky.^FFFFFF ^000000 In the meantime, I'll write a"; + mes "letter of recommendation that"; + mes "I'll send to him for you."; + set STGL_Q,1; + setquest 7007; + close; + } + mes "[Moohyun]"; + mes "That's fine. Changing your"; + mes "job is an important decision,"; + mes "so you should consider everything carefully. But let me assure you"; + mes "that you'll never regret becoming an awesome warrior of the cosmos!"; + close; + } + mes "[Moohyun]"; + mes "Great, great~"; + mes "But first,you"; + mes "gotta be at least Job Level 40"; + mes "before you can begin Taekwon"; + mes "Master training. Otherwise, "; + mes "it'll go over your head."; + next; + mes "[Moohyun]"; + mes "I know you can do it,"; + mes "and it shouldn't take"; + mes "too long. Promise me"; + mes "you'll come back so that"; + mes "I can help you become"; + mes "a great Taekwon Master~"; + close; + } + mes "[Moohyun]"; + mes "Really? Well, I still"; + mes "think you're better suited"; + mes "to being a Taekwon Master"; + mes "than a Soul Linker. But the"; + mes "decision is ultimately yours."; + next; + mes "[Moohyun]"; + mes "Well, if you change your"; + mes "mind, just come back to"; + mes "me and let me know. I know"; + mes "you'd make a great Taekwon"; + mes "Master if you really tried."; + close; + } + mes "[Moohyun]"; + mes "Aw, don't be like that."; + mes "It doesn't cost you a zeny"; + mes "to listen to my spiel. Come"; + mes "on, just hear me out..."; + close; + } + else if (STGL_Q == 1) { + mes "[Moohyun]"; + mes "I've already sent him my"; + mes "letter of recommendation"; + mes "for you, so go ahead and"; + mes "visit Moogang in Comodo."; + mes "He'll start training you to"; + mes "become a Taekwon Master."; + close; + } + else if (STGL_Q == 7) { + mes "[Moohyun]"; + mes "So how's the testing"; + mes "coming along? Oh hey, you"; + mes "look worried. Are you in"; + mes "some kind of trouble?"; + next; + if (select("No, I'm fine.:About Beeryu's riddle...") == 1) { + mes "[Moohyun]"; + mes "It's alright to be independent"; + mes "and solve problems on your"; + mes "own, but you should elicit help"; + mes "when you really need it. There"; + mes "is no shame in being unable to"; + mes "accomplish something alone..."; + close; + } + mes "[Moohyun]"; + mes "Ah, that. Beeryu has"; + mes "given you that riddle"; + mes "to solve. Well, first of"; + mes "all, you have to bring him"; + mes "something very important,"; + mes "but it isn't a material object."; + next; + mes "[Moohyun]"; + mes "You have to demonstrate"; + mes "something for him. Now tell"; + mes "me, when you face difficulty in"; + mes "life, obstacles to your goals,"; + mes "how do you respond? What"; + mes "does your heart feel, man?"; + next; + mes "[Moohyun]"; + mes "I know that Beeryu asked you"; + mes "to prove your patience to him,"; + mes "but this is the most important"; + mes "factor behind patience. What"; + mes "do you say to yourself when"; + mes "your life seems hopeless?"; + next; + if (select("I will not give up!:I... I don't know?") == 1) { + mes "[" + strcharinfo(0) + "]"; + mes "I will not give up!"; + mes "I'll make my dreams"; + mes "come true, no matter"; + mes "how long it may take!"; + next; + mes "[Moohyun]"; + mes "Yes, that's it!"; + mes "When your resolution"; + mes "is backed by an iron will,"; + mes "you will have the patience"; + mes "to weather out all things."; + mes "Show Beeryu your resolve..."; + next; + mes "[Moohyun]"; + mes "Great, I think you're"; + mes "ready now. Please go"; + mes "talk to Moogang and head"; + mes "back to the Moon Room. Soon,"; + mes "maybe we'll be able to greet"; + mes "each other as Taekwon Masters!"; + set STGL_Q,8; + close; + } + mes "[Moohyun]"; + mes "You... You don't know?"; + mes "If you'd face obstacles"; + mes "head on and directly confront"; + mes "your fears, your enemies, and"; + mes "all of life's challenges, then the answer should come naturally."; + next; + mes "[Moohyun]"; + mes "Hmm..."; + mes "Why don't you contemplate"; + mes "the value of courage for"; + mes "a little while? Yes, that"; + mes "might be useful for now."; + close; + } + else if (STGL_Q == 8) { + mes "[Moohyun]"; + mes "Great, I think you're"; + mes "ready now. Please go"; + mes "talk to Moogang and head"; + mes "back to the Moon Room. Soon,"; + mes "maybe we'll be able to greet"; + mes "each other as Taekwon Masters!"; + close; + } + mes "[Moohyun]"; + mes "So, how have you"; + mes "been doing? I got"; + mes "faith that you'll become"; + mes "a great Taekwon Master, so"; + mes "I'm expecting great things."; + close; + } + else if (BaseJob == Job_Star_Gladiator) { + mes "[Moohyun]"; + mes "Hey, how have you"; + mes "been doing? Attuned"; + mes "with nature and all"; + mes "that, I see. Heh heh,"; + mes "isn't the cosmos such"; + mes "a wonderful thing?"; + close; + } + else if (Class== Job_Novice) { + mes "[Moohyun]"; + mes "Hey, kid. Do you want"; + mes "to learn Taekwon Do?"; + mes "If you learn it, then you're"; + mes "guaranteed to become"; + mes "much stronger! "; + next; + mes "[Moohyun]"; + mes "Let's see..."; + mes "There's a man named"; + mes "Phoenix who can teach"; + mes "you Taekwon Do. He's"; + mes "around here somewhere..."; + next; + mes "[Moohyun]"; + mes "Anyway, once you've"; + mes "learned Taekwon Do for"; + mes "a while, go ahead and come"; + mes "back to me if you really want to advance your studies, to master"; + mes "more than your mind and body."; + close; + } + mes "[Moohyun]"; + mes "Dude..."; + mes "Whaddya want?"; + if (Sex) { + mes "You wanna join up"; + mes "with my martial arts"; + mes "school? It's too late"; + mes "for you, sorry pal~"; + } + else { + mes "Oh, I didn't realize tha--"; + mes "Y-you're such a beautiful"; + mes "lady! I guess I oughta, you"; + mes "know, apologize for bein' rude."; + } + next; + mes "[Moohyun]"; + mes "Anyway, if you think I'm"; + mes "just some punk, I'll admit"; + mes "that I look and act the part."; + mes "But actually, I'm a warrior of"; + mes "the Sun, Moon, and Stars."; + next; + mes "[Moohyun]"; + mes "It might be a little late"; + mes "for you, but if you know "; + mes "anybody that wants to become"; + mes "a Taekwon Master, send them"; + mes "my way. I'll make sure that"; + mes "they meet the right people~"; + close; + +OnTouch: + if (Class == Job_Taekwon) { + if (STGL_Q == 0) { + mes "[Moohyun]"; + mes "Hm...? Oh, you're just"; + mes "the kind of person I'm"; + mes "looking for. Come, I've"; + mes "got an offer for you if"; + mes "you're willing to listen..."; + close; + } + } + else if (BaseJob == Job_Star_Gladiator) { + mes "[Moohyun]"; + mes "How's it going, warrior?"; + mes "Please continue to use"; + mes "your skills for the right"; + mes "causes. Bring pride to all"; + mes "Taekwon Masters everywhere!"; + close; + } + mes "[Moohyun]"; + mes "Whoa, whoa~"; + mes "Step aside, will you?"; + mes "You're blocking my sun!"; + close; +} + +comodo,172,230,3 script Wandering Master#job_sta 730,{ + if (Class == Job_Taekwon) { + if (STGL_Q == 1) { + mes "[Moogang]"; + mes ""+ strcharinfo(0) + "..."; + mes "I have been expecting you."; + mes "Moohyun has told me about"; + mes "your arrival and your desire"; + mes "to become a Taekwon Master."; + mes "I will trust his judgment..."; + next; + mes "[Moogang]"; + mes "Yes, Moohyun is skilled at"; + mes "discerning the inner strengths"; + mes "of others. You should do well."; + mes "Are you ready for the first test, to use your fists and legs in the"; + mes "service of the grand cosmos?"; + next; + if (select("Yes, let me take the test!:Wait, I need to think about this!") == 1) { + if (SkillPoint) { + mes "[Moogang]"; + mes "Hm? You still have Skill"; + mes "Points that you haven't yet"; + mes "allocated. Use them, learn"; + if (Sex == 0) + mes "and improve your Taekwon Girl"; + else + mes "and improve your Taekwon Boy"; + mes "skills. When you are finished,^FFFFFF ^000000 come back here for your training."; + close; + } + mes "[Moogang]"; + mes "Taekwon Do sets the basics."; + mes "Mind, body, soul. These are not"; + mes "separate parts, but a functioning whole. Your self is in touch"; + mes "with itself, but is it in touch"; + mes "with the outside world?"; + next; + mes "[Moogang]"; + mes "Close your eyes. Seek out"; + mes "the sensation of the wind."; + mes "Open your arms and embrace"; + mes "the sky. Can you feel it? The"; + mes "everspreading flow of the"; + mes "universal cosmos?"; + next; + mes "[Moogang]"; + mes "Nature's laws cannot be broken,"; + mes "but as your undestanding of nature grows, you'll be able to grasp the"; + mes "sunlight, hold the moonlight, and mold the starlight. This test will"; + mes "help you attune yourself..."; + next; + mes "[Moogang]"; + mes "Go forth and gather the"; + mes "power of nature scattered"; + mes "around the world. Bring me"; + mes "pieces of the blustery wind,"; + mes "solid earth, freezing ice,"; + mes "and burning flame."; + next; + mes "[Moogang]"; + mes "In other words..."; + mes "^4D4DFFRough Wind^000000,"; + mes "^4D4DFFGreat Nature^000000,"; + mes "^4D4DFFMystic Frozen^000000 and"; + mes "^4D4DFFFlame Heart^000000."; + mes "Now go..."; + set STGL_Q,2; + changequest 7007,7008; + close; + } + mes "[Moogang]"; + mes "I respect your decision,"; + mes "although I see no reason"; + mes "for you to hesitate. But like"; + mes "the phases of the moon, all"; + mes "changes must occur according"; + mes "to the grand scheme of things."; + close; + } + else if (STGL_Q == 2) { + if (countitem(996) > 0 && countitem(997) > 0 && countitem(995) > 0 && countitem(994) > 0) { + mes "[Moogang]"; + mes "Ah, you've completed the"; + mes "task I've set for you. Very"; + mes "good. Now, while holding these"; + mes "shards of the wind, earth, ice"; + mes "and flame, did you sense the"; + mes "connection between them all?"; + next; + mes "[Moogang]"; + mes "Winds provide gentle and"; + mes "comforting breezes or bring"; + mes "destructive hurricanes. Earth"; + mes "is the solid ground on which"; + mes "all life lives, but it can also"; + mes "sink and shake buildings."; + next; + mes "[Moogang]"; + mes "Water gives life and provides"; + mes "cooling refreshment, but it can"; + mes "also drown and freeze life. Fire can bring comforting warmth,"; + mes "but it can also reduce life to"; + mes "gray ashes. Such is nature."; + next; + mes "[Moogang]"; + mes "This is the power of nature."; + mes "Any force can be used to do"; + mes "good or evil, depending on"; + mes "how you wield it. So do you"; + mes "understand now? This is how"; + mes "the universe is intertwined."; + next; + mes "[Moogang]"; + mes "However, the most primal,"; + mes "the purest elements of our"; + mes "universe are equated to the"; + mes "cosmos: the Sun, the Moon,"; + mes "and the Stars. Contemplate"; + mes "on this truth for a while..."; + next; + mes "[Moogang]"; + mes "With the realization of"; + mes "the nature of the universe"; + mes "comes the respect for nature"; + mes "and all things. Now, when you"; + mes "are ready for the next test, then^FFFFFF ^000000"; + mes "I shall guide you to the altar."; + delitem 996,1; //Rough_Wind + delitem 997,1; //Great_Nature + delitem 995,1; //Mistic_Frozen + delitem 994,1; //Flame_Heart + set STGL_Q,3; + changequest 7008,7009; + close; + } + mes "[Moogang]"; + mes "For your first test on your"; + mes "journey towards becoming"; + mes "a Taekwon Master, bring me "; + mes "shards of the natural elements."; + mes "I want you to understand their innate harmony with one another."; + next; + mes "[Moogang]"; + mes "Bring..."; + mes "^4D4DFFRough Wind^000000,"; + mes "^4D4DFFGreat Nature^000000,"; + mes "^4D4DFFMystic Frozen^000000 and"; + mes "^4D4DFFFlame Heart^000000."; + mes "Now go..."; + close; + } + else if (STGL_Q == 3) { + mes "[Moogang]"; + mes "Are you ready for"; + mes "the next test to become"; + mes "a Taekwon Master? Then,"; + mes "I shall guide you to the altar."; + next; + if (select("Wait, I need more time!:Yes, I am ready.") == 1) { + mes "[Moogang]"; + mes "I see. Well then, please"; + mes "let me know when you"; + mes "are ready to proceed."; + close; + } + mes "[Moogang]"; + mes "At the altar, speak"; + mes "to Daru, who will serve"; + mes "as your guide for that"; + mes "test. After you complete"; + mes "the test, come talk to me."; + close2; + warp "job_star",34,12; + end; + } + else if (STGL_Q > 3 && STGL_Q < 7) { + mes "[Moogang]"; + mes "How very strange..."; + mes "You cannot have completed"; + mes "that test by now. Ah, something"; + mes "must have happened. I shall"; + mes "send you back to the altar"; + mes "so that Daru can test you."; + close2; + warp "job_star",34,12; + end; + } + else if (STGL_Q == 7) { + mes "[Moogang]"; + mes "Hmm..."; + mes "You seem troubled."; + mes "Ah, you must be thinking"; + mes "about Beeryu's riddle, yes?"; + mes "You are the only one that"; + mes "can find the answer..."; + next; + mes "[Moogang]"; + mes "Hmm. Perhaps it would"; + mes "be best for you to consult"; + mes "with ^4D4DFFMoohyun^000000 back in Payon"; + mes "so that you may understand"; + mes "Beeryu's test regarding the"; + mes "value of patience."; + next; + mes "[Moogang]"; + mes "Once you discover the"; + mes "meaning of patience that"; + mes "Beeryu wants you to find,"; + mes "come back to me so that"; + mes "I can send you back to the"; + mes "Moon Room for testing."; + close; + } + else if (STGL_Q == 8) { + mes "[Moogang]"; + mes "Ah, I see that Moohyun"; + mes "has helped you achieve a"; + mes "new level of understanding."; + mes "Very well, very well. Let me"; + mes "send you to the Moon Room"; + mes "where Beeryu is waiting..."; + close2; + warp "job_star",100,13; + end; + } + else if (STGL_Q == 9 || STGL_Q == 11) { + mes "[Moogang]"; + mes "Would you like to"; + mes "return to the Star Room"; + mes "to complete your Taekwon"; + mes "Master testing and training?"; + next; + if (select("Yes, please.:Maybe later.") == 1) { + mes "[Moogang]"; + mes "Don't lose heart..."; + mes "I expect that you will"; + mes "achieve your goal of"; + mes "becoming a Taekwon"; + mes "Master very soon."; + close2; + warp "job_star",166,29; + end; + } + mes "[Moogang]"; + mes "I see. Well, when"; + mes "your mind, body and"; + mes "spirit are prepared, please"; + mes "come and talk to me again."; + close; + } + else if (STGL_Q == 10) { + mes "[Moogang]"; + mes "Ah, you have come here in"; + mes "order to speak to Cheehee."; + mes "Would you like me to send"; + mes "you to the Star Room now?"; + next; + if (select("Yes, please.:Maybe later.") == 1) { + mes "[Moogang]"; + mes "Don't lose heart..."; + mes "I expect that you will"; + mes "achieve your goal of"; + mes "becoming a Taekwon"; + mes "Master very soon."; + close2; + warp "job_star",166,29; + end; + } + mes "[Moogang]"; + mes "I see. Well, when"; + mes "your mind, body and"; + mes "spirit are prepared, please"; + mes "come and talk to me again."; + close; + } + else if (STGL_Q == 12) { + mes "[Moogang]"; + mes "Ah, you've returned"; + mes "wiser and more attuned"; + mes "with nature than before."; + mes "Yes, I can see it in your eyes."; + mes "So tell me, what did you learn?"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "I can feel the bond between"; + mes "the Sun, the Moon and the"; + mes "Stars. They all give light,"; + mes "but their different shades"; + mes "bestow different gifts."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "The sun gives glorious"; + mes "warmth and is the wellspring"; + mes "of life. Moonlight is gentle and gives comfort. The twinkling"; + mes "of stars gives hope in even"; + mes "the darkest of nights."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "I also know the Sun's"; + mes "scorching, destructive"; + mes "heat, the loneliness of"; + mes "the Moon, and the sadness"; + mes "of the Stars. I now understand"; + mes "the spectrum of the cosmos!"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "The combined rage of the"; + mes "cosmos can summon a "; + mes "demon of utter darkness."; + mes "The combined love of the"; + mes "cosmos bestows infinite"; + mes "blessing and light..."; + next; + mes "[Moogang]"; + mes "I cannot ask for"; + mes "anything more. You"; + mes "are already a warrior"; + mes "of the Sun, the Moon and"; + mes "the Stars. Welcome to our"; + mes "way of martial arts, friend."; + completequest 7011; + callfunc "Job_Change",Job_Star_Gladiator; + callfunc "F_ClearJobVar"; //clears all job variables for the current player + next; + mes "[Moogang]"; + mes "From now on, please"; + mes "make your decisions very"; + mes "carefully. What you decide"; + mes "will determine the course"; + mes "of your entire life. Also,"; + mes "never forget this song..."; + next; + mes "[Moogang]"; + mes "''^4D4DFFThe Sun shines on even days."; + mes "The Moon gleams on odd days."; + mes "The Stars sparkle on every"; + mes "fifth day without fail.^000000''"; + next; + mes "[Moogang]"; + mes "That is all that I can"; + mes "share with you. Never forget"; + mes "that we, as Taekwon Masters,"; + mes "cannot exist separately from"; + mes "the Sun, Moon and Stars..."; + close; + } + mes "[Moogang]"; + mes "Oh, hello. You're a"; + mes "student of Taekwon Do,"; + mes "are you not? It's nice to"; + mes "meet you. Please call"; + mes "me Moogang. I too used to"; + mes "study this Tae Kwon Do."; + next; + mes "[Moogang]"; + mes "Um..."; + mes "Have you ever"; + mes "considered becoming..."; + mes "Um... No. Wait. Hmmm..."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Huh...?"; + next; + mes "[Moogang]"; + mes "Oh, dear! I always"; + mes "have a little bit of"; + mes "trouble speaking to other"; + mes "people. Now, why don't"; + mes "you speak to my good"; + mes "friend, Moohyun?"; + next; + mes "[Moogang]"; + mes "It's just..."; + mes "I'm so excited!"; + mes "There's every chance"; + mes "that you might possibly"; + mes "be the warrior I'm seeking!"; + close; + } + else if (BaseJob == Job_Star_Gladiator) { + mes "[Moogang]"; + mes "Oh, it's very nice to"; + mes "see you again. So where"; + mes "have you been lately? I trust"; + mes "that you've been to places"; + mes "blessed by the Sun, Moon"; + mes "and Stars, correct?"; + next; + mes "[Moogang]"; + mes "My friend, please keep"; + mes "my advice in mind and "; + mes "always be careful when"; + mes "you make decisions. I don't"; + mes "want to see you regreting your decision later on in your life..."; + next; + mes "[Moogang]"; + mes "Ah, if you miss the"; + mes "Room of the Sun, the"; + mes "Moon Room or the Star Room,"; + mes "I can send you there anytime"; + mes "that you wish. Would you like"; + mes "to visit any of them now?"; + next; + switch(select("Maybe next time.:To the Room of the Sun!:To the Moon Room!:To the Star Room!")) { + case 1: + mes "[Moogang]"; + mes "Alright. I'll always be"; + mes "here, so whenever you"; + mes "feel like going to any of"; + mes "those places, just come"; + mes "and talk to me. Goodbye"; + mes "for now, "+strcharinfo(0)+"~"; + close; + case 2: + mes "[Moogang]"; + mes "Ah, you must miss"; + mes "the glorious warmth"; + mes "of the sun, eh? Let"; + mes "me send you there"; + mes "right away..."; + close2; + warp "job_star",34,12; + end; + case 3: + mes "[Moogang]"; + mes "Hm? Have you need"; + mes "of the soothing light of"; + mes "the Moon? Then I hope"; + mes "that you find peace in"; + mes "its calming influence..."; + close2; + warp "job_star",100,13; + end; + case 4: + mes "[Moogang]"; + mes "Ah, there are countless"; + mes "reasons as to why you'd want"; + mes "to view the twinkling of the"; + mes "stars. Well, let me send you"; + mes "to the Star Room right away~"; + close2; + warp "job_star",166,29; + end; + } + } + mes "[Wandering Martial Artist]"; + mes "Do you enjoy hiking?"; + mes "The fresh air, the liberation"; + mes "found in wandering, and the"; + mes "beauty of natural are all"; + mes "welcome benefits."; + next; + mes "[Wandering Martial Artist]"; + mes "Of course, I cannot enjoy"; + mes "the moonlight and starlight"; + mes "on nighttime hikes as much"; + mes "as you can. Well then, may the"; + mes "Sun, Moon and Stars protect"; + mes "you on all your journeys~"; + close; +} + +job_star,29,33,0 script Daru#job_star 59,{ + if (Class == Job_Taekwon) { + if (STGL_Q == 3) { + mes "[Daru]"; + mes "Ah, greetings."; + mes "I am Daru, and I will"; + mes "be your guide for this room."; + mes "For this test, you must open"; + mes "your eyes and answer my"; + mes "questions. Let us begin."; + next; + mes "[Daru]"; + mes "Tell me."; + mes "What is it"; + mes "that you see?"; + next; + switch(select("The Sun.:The Moon.:The Stars.:I have no idea.")) { + case 1: + mes "[Daru]"; + mes "Yes! It is the sun!"; + mes "I suppose you can think"; + mes "of mankind as the sons of"; + mes "the sun. Good, very good..."; + set .@sun_point,.@sun_point+10; + break; + case 2: + mes "[Daru]"; + mes "The... The moon?"; + mes "Mm. But this is the"; + mes "Sun Room. Hmmm..."; + break; + case 3: + mes "[Daru]"; + mes "The Stars. Well, hmm."; + mes "I suppose you can think of"; + mes "the Sun as one of thousands"; + mes "of stars in the universe..."; + set .@sun_point,.@sun_point+5; + break; + case 4: + mes "[Daru]"; + mes "No... idea?"; + mes "Hmm. You should"; + mes "open your mind as"; + mes "well as your eyes."; + mes "It wouldn't hurt to"; + mes "try to guess an answer..."; + } + next; + mes "[Daru]"; + mes "Now, there is nothing"; + mes "that can live without the"; + mes "sun. Do you know what one"; + mes "needs most from the sun?"; + next; + switch(select("Warmth:Comfort:Light:Nothing")) { + case 1: + mes "[Daru]"; + mes "That is right."; + mes "Without the warmth"; + mes "of the sun, our world"; + mes "not only be cold, but it"; + mes "would be completely lifeless."; + set .@sun_point,.@sun_point+10; + break; + case 2: + mes "[Daru]"; + mes "Comfort...?"; + mes "Ah, yes. The warmth"; + mes "of the sun brings comfort."; + mes "And without comfort, is life"; + mes "truly worth living? Good answer. ^FFFFFF ^000000"; + set .@sun_point,.@sun_point+10; + break; + case 3: + mes "[Daru]"; + mes "Yes. Without the"; + mes "glorious light of the sun,"; + mes "we would see nothing."; + mes "We would know nothing."; + mes "We would be nothing."; + set .@sun_point,.@sun_point+10; + break; + case 4: + mes "[Daru]"; + mes "Mmm..."; + mes "The answer should"; + mes "come from your heart,"; + mes "rather than your mind."; + mes "Everyone needs something"; + mes "from the sun. Let's see now..."; + break; + } + next; + mes "[Daru]"; + mes "There is a song that goes,"; + mes "''^4D4DFFThe Sun shines on even days."; + mes "The Moon gleams on odd days."; + mes "The Stars sparkle on every"; + mes "fifth day without fail.^000000''"; + next; + mes "[Daru]"; + mes "''^4D4DFFA desert is a Solar place,"; + mes "its sands kissed by the Sun."; + mes "A marsh is a Lunar place,"; + mes "its wolves driven by the Moon."; + mes "A deep cave is a Stellar place, its knights enchanted by Stars.^000000''"; + next; + mes "[Daru]"; + mes "Now, which of the"; + mes "following combinations"; + mes "shines brightest among "; + mes "them all? Think carefully..."; + next; + if (select("2nd, Marsh, Knights:4th, Desert, Sand:10th, Desert, Knights:5th, Deep Cave, Wolves") == 2) + set .@sun_point,.@sun_point+10; + mes "[Daru]"; + mes "Well, that will be all."; + mes "I cannot possibly know all"; + mes "there is to know about you"; + mes "through just 3 questions..."; + mes "But this should suit our"; + mes "purposes for now."; + next; + if (.@sun_point == 30) { + mes "[Daru]"; + mes "I admit that I am impressed"; + mes "with your understanding of"; + mes "the Sun. It is the source of"; + mes "all life, the origin of warmth"; + mes "and comfort. Now, let me lead"; + mes "you to the Moon Room."; + set STGL_Q,4; + close2; + warp "job_star",100,13; + end; + } + else if (.@sun_point == 25) { + mes "[Daru]"; + mes "Although your understanding"; + mes "of the Sun is not perfect, you"; + mes "seem to understand the idea"; + mes "that it is the source of warm"; + mes "and life in our world."; + next; + mes "[Daru]"; + mes "This idea is one of the basics"; + mes "that will help you in becoming"; + mes "more attuned with the power of"; + mes "the cosmos. Now, please come"; + mes "this way to the Moon Room..."; + set STGL_Q,4; + close2; + warp "job_star",100,13; + end; + } + mes "[Daru]"; + mes "Hmm... If you do not"; + mes "understand the role of the"; + mes "sun in the universe and"; + mes "the human world, you will"; + mes "forever be out of touch with"; + mes "nature, with the cosmos."; + next; + mes "[Daru]"; + mes "I advise you to meditate"; + mes "carefully on the fundamental"; + mes "truths of nature before coming"; + mes "to speak to me once again."; + mes "Contemplate the infinite"; + mes "power of the sun..."; + set STGL_Q,5; + close; + } + else if (STGL_Q == 4) { + mes "[Daru]"; + mes "There is no longer any"; + mes "need for us to remain"; + mes "here. Let us proceed to"; + mes "the Moon Room together."; + close2; + warp "job_star",100,13; + end; + } + else if (STGL_Q == 5) { + if (rand(1,5) == 3) { + mes "[Daru]"; + mes "Hmmm. I believe you've"; + mes "spent enough time reflecting"; + mes "on the glory of the Sun and"; + mes "its importance to the humans"; + mes "and the world. Well done. Now,"; + mes "let's proceed to the Moon Room."; + set STGL_Q,4; + close2; + warp "job_star",100,13; + end; + } + mes "[Daru]"; + mes "Relax every muscle in"; + mes "your body. Close your eyes."; + mes "Feel the warmth of the Sun"; + mes "against your eyelids as you"; + mes "meditate on its role in the world and your place in the cosmos."; + close; + } + else if (STGL_Q == 6) { + mes "[Daru]"; + mes "Hm? The time for you"; + mes "to be in the Room of the"; + mes "Sun has passed. Let us go"; + mes "to the Star Room now..."; + close2; + warp "job_star",166,29; + end; + } + else if (STGL_Q == 7) { + mes "[Daru]"; + mes "Ah, Beeryu must have"; + mes "given you his riddle to"; + mes "solve. Well, you'll need"; + mes "to go back to town in order"; + mes "to figure out the answer, so"; + mes "let me send you there now~"; + close2; + warp "payon",164,58; + end; + } + else if (STGL_Q == 8) { + mes "[Daru]"; + mes "Hm? Beeryu is expecting"; + mes "you in the Moon Room. Let"; + mes "me send you there right now..."; + close2; + warp "job_star",100,13; + end; + } + else if (STGL_Q > 8 && STGL_Q < 12) { + mes "[Daru]"; + mes "Hm. I cannot blame"; + mes "you if you enjoy the"; + mes "Room of the Sun this"; + mes "much, but now is the time"; + mes "for you to be in the Star"; + mes "Room. I'll send you there..."; + close2; + warp "job_star",166,29; + end; + } + mes "[Daru]"; + mes "Hm. I cannot blame"; + mes "you if you enjoy the"; + mes "Room of the Sun this"; + mes "much, but you have very"; + mes "important task to complete"; + mes "now. Let me send you to town."; + close2; + warp "payon",164,58; + end; + } + mes "[Daru]"; + mes "While you're here,"; + mes "I ask that you don't"; + mes "interfere with anyone"; + mes "that may be taking the"; + mes "job change test. So, would"; + mes "you like to return to town?"; + next; + if (select("Return to Payon:Cancel") == 1) { + mes "[Daru]"; + mes "I see. Let me"; + mes "guide you back"; + mes "to Payon, then."; + close2; + warp "payon",164,58; + end; + } + mes "[Daru]"; + mes "Please take your"; + mes "time and enjoy the"; + mes "splendor of the Sun"; + mes "while you are here."; + close; +} + +job_star,95,33,0 script Beeryu#job_star 106,{ + if (Class == Job_Taekwon) { + if (STGL_Q == 4) { + mes "[Beeryu]"; + mes "Welcome to the Moon Room."; + mes "I am Beeryu, your guide in"; + mes "this sanctum. I shall ask you a"; + mes "series of questions, so please"; + mes "think carefully before giving"; + mes "me your honest answer."; + next; + mes "[Beeryu]"; + mes "Which Moon do we need"; + mes "and want most? Think of"; + mes "the different shades of the"; + mes "moon, and how it changes"; + mes "on certain nights."; + next; + switch(select("Red Moon:Blue Moon:Gold Moon:...?")) { + case 1: + mes "[Beeryu]"; + mes "The Red Moon...?"; + mes "It's a fearsome sight,"; + mes "usually likened to drenching the sky with the color of blood."; + mes "The Red Moon stirs dark feelings that we shouldn't fully embrace..."; + break; + case 2: + mes "[Beeryu]"; + mes "The Blue Moon...?"; + mes "Ah, yes. It's a calm and"; + mes "gentle moon whose soft"; + mes "light helps you think clearly."; + mes "It's a moon of peaceful rest..."; + set .@moon_point,.@moon_point+10; + break; + case 3: + mes "[Beeryu]"; + mes "The Gold Moon...?"; + mes "Ah, that is a moon of"; + mes "affluence and wealth. Now,"; + mes "to aspire to attain prosperity"; + mes "is natural, and to fulfill your"; + mes "aspirations is life's pinnacle."; + set .@moon_point,.@moon_point+10; + break; + case 4: + mes "[Beeryu]"; + mes "Hmm...?"; + mes "Do you not have an"; + mes "opinion of the Moon?"; + mes "You should be confident"; + mes "and tell me which shade"; + mes "of the moon that you like..."; + } + next; + mes "[Beeryu]"; + mes "Now, if the shadows"; + mes "of the Moon were to"; + mes "lend you their power,"; + mes "to what end would you"; + mes "use the power of the"; + mes "Lunar cosmos?"; + next; + switch(select("Justice:Self Practice:Preservation of Nature:Revenge")) { + case 1: + mes "[Beeryu]"; + mes "Yes. Justice is always an"; + mes "end that is worth fighting"; + mes "for. Just remember that"; + mes "both power and compassion"; + mes "are required to enact the"; + mes "truest form of justice."; + set .@moon_point,.@moon_point+10; + break; + case 2: + mes "[Beeryu]"; + mes "Self training?"; + mes "That is an acceptable"; + mes "answer. However, you must"; + mes "never forget your reasons"; + mes "for attaining mastery of the"; + mes "self, else you lose your way."; + set .@moon_point,.@moon_point+10; + break; + case 3: + mes "[Beeryu]"; + mes "The preservation of"; + mes "nature is the responsiblity"; + mes "of every living human. However,"; + mes "I was expecting a different"; + mes "answer in terms of Taekwon"; + mes "Mastery as a martial art..."; + break; + case 4: + mes "[Beeryu]"; + mes "Sometimes, revenge may"; + mes "seem to be best course of"; + mes "action, especially if it is"; + mes "carried out in the interest"; + mes "of justice. However, revenge"; + mes "by itself is usually ignoble."; + next; + mes "[Beeryu]"; + mes "Ask yourself this:"; + mes "what will you do after"; + mes "you achieve your revenge?"; + mes "When you let your rage burn"; + mes "away at you, you inflict the"; + mes "most harm to yourself..."; + break; + } + next; + mes "[Beeryu]"; + mes "Now, listen carefully"; + mes "to the lyrics of this"; + mes "song. I'm sure Daru has"; + mes "sang this to you already..."; + next; + mes "[Beeryu]"; + mes "''^4D4DFFThe Sun shines on even days."; + mes "The Moon gleams on odd days."; + mes "The Stars sparkle on every"; + mes "fifth day without fail.^000000''"; + next; + mes "[Beeryu]"; + mes "''^4D4DFFA desert is a Solar place,"; + mes "its sands kissed by the Sun."; + mes "A marsh is a Lunar place,"; + mes "its wolves driven by the Moon."; + mes "A deep cave is a Stellar place, its knights enchanted by Stars.^000000''"; + next; + mes "[Beeryu]"; + mes "According to these"; + mes "lyrics, which is of"; + mes "the following most"; + mes "strongly evokes the"; + mes "light of the moon?"; + next; + if (select("2nd, Marsh, Dark Knights:4th, the Desert, the Sand:10th, Deep Cave, Dark Knight:5th, Marsh, Wolves") == 4) + set .@moon_point,.@moon_point+10; + mes "[Beeryu]"; + mes "Well, I've asked the"; + mes "questions I wanted to set"; + mes "before you. You must learn"; + if (.@moon_point > 20) { + mes "the bond between the moonlight"; + mes "with the shadows of the moon."; + mes "Then, you will become a master."; + next; + mes "[Beeryu]"; + mes "The soft moonlight "; + mes "illuminates the darkest night."; + mes "The shadows of the moon balance"; + mes "the Sun's glorious brightness."; + mes "Wisdom to power, coolness to"; + mes "rage. Contemplate on this..."; + next; + mes "[Beeryu]"; + mes "I have faith that you will soon"; + mes "become a great Taekwon Master."; + mes "Now, the time has come for you"; + mes "to enter the Star Room. Come,"; + mes "follow me this way..."; + set STGL_Q,6; + close2; + warp "job_star",166,29; + end; + } + mes "to be as patient and gentle"; + mes "as the moon's soft glow."; + next; + mes "[Beeryu]"; + mes "Please think about"; + mes "this seriously. A true"; + mes "Taekwon Master can"; + mes "display calmness of mind"; + mes "in all situations, no matter"; + mes "what the stakes may be."; + next; + mes "[Beeryu]"; + mes "Now, I want you to"; + mes "take this chance to"; + mes "practice achieving the"; + mes "Lunar mindset. Be calm,"; + mes "quiet your thoughts and"; + mes "settle your active mind..."; + next; + mes "[Beeryu]"; + mes "For now, I will send"; + mes "you out into Payon. Go out"; + mes "and learn the ^4D4DFFtrue meaning"; + mes "of patience^000000. Then, when you're"; + mes "ready, please talk to Moogang"; + mes "so that he can send you to me."; + set STGL_Q,7; + close2; + warp "payon",164,58; + end; + } + else if (STGL_Q == 5) { + mes "[Beeryu]"; + mes "Hm. You must first pass"; + mes "testing the Room of the Sun"; + mes "before you can be tested here"; + mes "in the Moon Room. Let me send"; + mes "you to where you must go..."; + close2; + warp "job_star",34,12; + end; + } + else if (STGL_Q == 6) { + mes "[Beeryu]"; + mes "How are you still here?"; + mes "The light of the full moon"; + mes "brings comfort, but you must"; + mes "move on if you wish to become"; + mes "a Taekwon Master. Come, I shall"; + mes "guide you to the Star Room."; + close2; + warp "job_star",166,29; + end; + } + else if (STGL_Q == 7) { + mes "[Beeryu]"; + mes "I want you to bring me"; + mes "proof that you understand"; + mes "the nature of patience that"; + mes "is associated with the moon."; + mes "You cannot become a Taekwon"; + mes "Master without this attitude..."; + next; + mes "[Beeryu]"; + mes "The proof I want you to"; + mes "show me is concrete and"; + mes "indisputable. Please think"; + mes "about what it might be. Now,"; + mes "I shall send you back to town... "; + close2; + warp "payon",164,58; + end; + } + else if (STGL_Q == 8) { + mes "[Beeryu]"; + mes "Ah, you've finally"; + mes "returned. I can see in"; + mes "the way that you carry"; + mes "yourself that your resolve"; + mes "has been strengthened. Good."; + mes "I hope you now know patience..."; + next; + mes "[Beeryu]"; + mes "Patience and resolve are"; + mes "necessary to live life without"; + mes "any regrets. You must believe"; + mes "in yourself while being both"; + mes "considerate and understanding"; + mes "of others in cosmic harmony."; + next; + mes "[Beeryu]"; + mes "Learn to control your"; + mes "power through spiritual"; + mes "training. Learn how to have"; + mes "pride without hubris. You're"; + mes "ready for the Star Room, so"; + mes "I'll send you to Cheehee now."; + set STGL_Q,6; + close2; + warp "job_star",166,29; + end; + } + else if (STGL_Q > 8 && STGL_Q < 12) { + mes "[Beeryu]"; + mes "You should be"; + mes "receiving Cheehee's"; + mes "tutelage in the Star Room"; + mes "now. Come, let me guide you"; + mes "there. I hope to see you as"; + mes "a Taekwon Master soon..."; + close2; + warp "job_star",166,29; + end; + } + mes "[Beeryu]"; + mes "Why are you still here?"; + mes "You have something much"; + mes "more important to do, so"; + mes "let me send you back to town..."; + close2; + warp "payon",164,58; + end; + } + mes "[Beeryu]"; + mes "Try not to bother the"; + mes "Taekwon Boys and Girls"; + mes "from completing their job"; + mes "change test while you're here."; + mes "Ah, and let me know when"; + mes "you want to return to Payon."; + next; + if (select("Return to Payon:Cancel") == 1) { + mes "[Beeryu]"; + mes "Be safe!"; + close2; + warp "payon",164,58; + end; + } + mes "[Beeryu]"; + mes "......"; + mes "........."; + close; +} + +job_star,161,33,0 script Cheehee#job_star 77,{ + if (Class == Job_Taekwon) { + if (STGL_Q == 6) { + mes "[Cheehee]"; + mes "Don't you think stars"; + mes "are so beautiful? They're"; + mes "like a pretty girl's teardrops"; + mes "shed on a background of "; + mes "pitch black night sky..."; + set STGL_Q,9; + close; + } + else if (STGL_Q == 9) { + if (rand(1,5) == 3) { + mes "[Cheehee]"; + mes "The test I have for"; + mes "you is simple. Just"; + mes "bring me the items on"; + mes "this earth that come from"; + mes "the stars. Bring me a piece of a star and the sand of a star..."; + set STGL_Q,10; + changequest 7009,7010; + close; + } + mes "[Cheehee]"; + mes "......"; + mes "........."; + next; + mes "^3355FFCheehee stands mesmerized,"; + mes "staring at the sky as if she were counting each and every single"; + mes "shining star in the heavens.^000000"; + close; + } + else if (STGL_Q == 10) { + if (countitem(1000) > 0 && countitem(1001) > 0) { + mes "[Cheehee]"; + mes "Oh? You've brought exactly"; + mes "what I've asked you to bring."; + mes "Did you know that the spirit"; + mes "of the stars is used to enhance"; + mes "the armors and weapons that"; + mes "all adventurers use in battle?"; + next; + mes "[Cheehee]"; + mes "Stars are linked to the"; + mes "ideas of wishes, dreams,"; + mes "hopes, magic and romance."; + mes "Occasionally, the stars can"; + mes "be saddening, but it's a very"; + mes "sweet kind of sadness..."; + delitem 1000,1; //Star_Crumb + delitem 1001,1; //Sparkling_Dust + set STGL_Q,11; + close; + } + mes "[Cheehee]"; + mes "The pieces of the stars..."; + mes "The sand of the stars. If you"; + mes "didn't bring them with you, then you won't find them here. You'll"; + mes "have to go out and find them out there before bringing them to me."; + close2; + warp "payon",164,58; + end; + } + else if (STGL_Q == 11) { + mes "[Cheehee]"; + mes "Have you given any thought"; + mes "to the idea of feeling sadness"; + mes "from the stars? Perhaps this"; + mes "song will help you better"; + mes "understand, though I know"; + mes "you've already heard it..."; + next; + mes "[Cheehee]"; + mes "''^4D4DFFThe Sun shines on even days."; + mes "The Moon gleams on odd days."; + mes "The Stars sparkle on every"; + mes "fifth day without fail.^000000''"; + next; + mes "[Cheehee]"; + mes "''^4D4DFFA desert is a Solar place,"; + mes "its sands kissed by the Sun."; + mes "A marsh is a Lunar place,"; + mes "its wolves driven by the Moon."; + mes "A deep cave is a Stellar place, its knights enchanted by Stars.^000000''"; + next; + mes "[Cheehee]"; + mes "Now..."; + mes "Which of the following"; + mes "groups shines brightest"; + mes "with starlight?"; + next; + if (select("5th day, Deep Cave, Sand:10th day, Desert, Sand:25th day, Deep Cave, Knights:10th day, Desert, Knights") == 3) { + mes "[Cheehee]"; + mes "You're right. The combination"; + mes "of the 25th day, a multiple of"; + mes "the number 5, and the Knights"; + mes "stationed in Deep Caves shines"; + mes "brightest with starlight."; + next; + mes "[Cheehee]"; + mes "If you can understand"; + mes "the lyrics of this song,"; + mes "you should understand the"; + mes "essense of being a Taekwon"; + mes "Master. Remember that light"; + mes "comes in different shades..."; + next; + mes "[Cheehee]"; + mes "The glory of the sun, the"; + mes "gentle moonlight, and the"; + mes "melancholic twinkling of the"; + mes "stars are unique from each"; + mes "other. Please enjoy the starlight in this room as long as you like."; + next; + mes "[Cheehee]"; + mes "When you are ready,"; + mes "please go speak to"; + mes "Moogang again. I will"; + mes "let him know that you"; + mes "completed our testing."; + set STGL_Q,12; + changequest 7010,7011; + close; + } + mes "[Cheehee]"; + mes "Hmm..."; + mes "You must learn more"; + mes "about the nature of the"; + mes "Stars. You must understand"; + mes "the cosmos if you are to"; + mes "become a Taekwon Master."; + next; + mes "[Cheehee]"; + mes "If you can understand"; + mes "the lyrics of this song,"; + mes "you should understand the"; + mes "essense of being a Taekwon"; + mes "Master. Remember that light"; + mes "comes in different shades..."; + next; + mes "[Cheehee]"; + mes "The glory of the sun, the"; + mes "gentle moonlight, and the"; + mes "melancholic twinkling of the"; + mes "stars are unique from each"; + mes "other. Please enjoy the starlight^FFFFFF ^000000 in this room as long as you like."; + next; + mes "[Cheehee]"; + mes "When you are ready,"; + mes "please go speak to"; + mes "Moogang again. I will"; + mes "let him know that you"; + mes "completed our testing."; + set STGL_Q,12; + changequest 7010,7011; + close; + } + else if (STGL_Q == 12) { + mes "[Cheehee]"; + mes "Do you wish to"; + mes "leave the Star Room?"; + next; + if (select("Yes:No") == 1) { + mes "[Cheehee]"; + mes "Then, I shall guide"; + mes "you to Payon, the closest"; + mes "town. Farewell for now..."; + close2; + warp "payon",164,58; + end; + } + mes "[Cheehee]"; + mes "Please, take your"; + mes "time and enjoy the"; + mes "starlight in this room..."; + close; + } + mes "[Cheehee]"; + mes "The stars certainly"; + mes "are beautiful, aren't"; + mes "they? Would you like"; + mes "to return to Payon now?"; + next; + if (select("Yes:No") == 1) { + mes "[Cheehee]"; + mes "I see."; + mes "Let me guide"; + mes "you back to Payon."; + close2; + warp "payon",164,58; + end; + } + mes "[Cheehee]"; + mes "Please, take your"; + mes "time and enjoy the"; + mes "starlight in this room..."; + close; + } + mes "[Cheehee]"; + mes "The stars certainly"; + mes "are beautiful, aren't"; + mes "they? Would you like"; + mes "to return to Payon now?"; + next; + if (select("Yes:No") == 1) { + mes "[Cheehee]"; + mes "I see."; + mes "Let me guide"; + mes "you back to Payon."; + close2; + warp "payon",164,58; + end; + } + mes "[Cheehee]"; + mes "Please, take your"; + mes "time and enjoy the"; + mes "starlight in this room..."; + close; +} + +//============================================================ +// Old changelog +//============================================================ +//= A temp Star Gladiator Job Changer based on the kRO quest. +//= Quest info from RagnaInfo. +//= Sprites from kRO screenshots, bar two which I just had to guess at. +//= 1.0 Optimized, updated [Lupus] +//============================================================ diff --git a/npc/pre-re/jobs/2-2/alchemist.txt b/npc/pre-re/jobs/2-2/alchemist.txt new file mode 100644 index 000000000..fd0f077f5 --- /dev/null +++ b/npc/pre-re/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/pre-re/jobs/2-2/bard.txt b/npc/pre-re/jobs/2-2/bard.txt new file mode 100644 index 000000000..a4b158ec8 --- /dev/null +++ b/npc/pre-re/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/pre-re/jobs/2-2/crusader.txt b/npc/pre-re/jobs/2-2/crusader.txt new file mode 100644 index 000000000..5f0cebf45 --- /dev/null +++ b/npc/pre-re/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/pre-re/jobs/2-2/dancer.txt b/npc/pre-re/jobs/2-2/dancer.txt new file mode 100644 index 000000000..db81f1a17 --- /dev/null +++ b/npc/pre-re/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/pre-re/jobs/2-2/monk.txt b/npc/pre-re/jobs/2-2/monk.txt new file mode 100644 index 000000000..869011f09 --- /dev/null +++ b/npc/pre-re/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/pre-re/jobs/2-2/rogue.txt b/npc/pre-re/jobs/2-2/rogue.txt new file mode 100644 index 000000000..6d9ffe14f --- /dev/null +++ b/npc/pre-re/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/pre-re/jobs/2-2/sage.txt b/npc/pre-re/jobs/2-2/sage.txt new file mode 100644 index 000000000..fead53630 --- /dev/null +++ b/npc/pre-re/jobs/2-2/sage.txt @@ -0,0 +1,2912 @@ +//===== rAthena Script ======================================= +//= Sage Job Quest +//===== By: ================================================== +//= jAthena (0.9) - I guess +//= Unknown Translator (1.0) +//= Darkchild (1.2) +//===== Current Version: ===================================== +//= 2.8 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Job quest for Sage classes +//===== Additional Comments: ================================= +//= 2.1 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] +//= No longer uses function "F_BlockHigh" +//= 2.2 Small bug fix (== -> !=) thanks to Saithis. [L0ne_W0lf] +//= 2.2b ANotehr smaLL bugfix, pointed out by Cara. [L0ne_W0lf] +//= 2.3 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf] +//= 2.4 Fixes bug with first room monsters not being reset. [L0ne_W0lf] +//= 2.4a Deleted unused variables. [Samuray22] +//= 2.5 Updated waiting room. (Removes global var) [L0ne_W0lf] +//= 2.5a Corrected some "mes"s without the getitemname. (bugreport:1564) [Samuray22] +// -Changed an incorrect "!=" to "==". (bugreport:1572) +// -And Small Typo Error +//= 2.6 Fixed Kayron Grik cutin not being removed as reported by jc1991, bugreport:1825 [Brainstorm] +//= 2.6a Fixed a Little Bug with Whispers Summoned in the Last Test. (bugreport:2253) [Samuray22] +//= 2.7 Added Quest Log commands. [Kisuka] +//= 2.8 Removed the need for use of 'goto.' [L0ne_W0lf] +//============================================================ + +yuno_in02,38,61,5 script Dean of the Academy#sa 743,{ + cutin "job_sage_kayron",2; + mes "[Kayron Grik]"; + if (Upper == 1) { + mes "Haha, I have seen many people"; + mes "but it seems you possess special power and abilities."; + next; + mes "[Kayron Grik]"; + mes "You'd better leave and increase your reputation."; + mes "Never forget that once you also used to be a novice."; + close2; + cutin "job_sage_kayron",255; + end; + } + if (BaseJob != Job_Mage) { + if (BaseJob == Job_Sage) { + mes "What brings you here? Is there anything bothering you recently?"; + mes "Although you're already a Sage, that doesn't mean you can stop studying."; + next; + mes "[Kayron Grik]"; + mes "Our knowledge is the mainspring of activity which helps the kingdom to be developed faster."; + mes "Please keep this in mind: you must study and record everything you've discovered so that all in the kingdom may benefit."; + } + else if (BaseJob == Job_Novice) { + mes "Hahah, so my little Novice, what brings you this way? ...I guess you're on a sightseeing trip?"; + mes "You must have had a really hard time to reach this place. I must say, you seem interested in the Sage class."; + next; + mes "[Kayron Grik]"; + mes "If you aspire to become a Sage, you must first live life as a Mage. Only then shall you have a chance."; + mes "I am looking forward seeing you again."; + } + else { + mes "*Chuckle* Although we've been studying this world for a long time, I know that studying in itself will fulfill all the needs of the people."; + mes "Other classes are just as important to the welfare of Rune-Midgarts..."; + next; + mes "[Kayron Grik]"; + mes "However, if you happen to meet a Sage down the road, I hope you will lend him your assistance."; + mes "And if you do, he shall repay you in kind..."; + } + close2; + cutin "job_sage_kayron",255; + end; + } + if (SAGE_Q == 0) { + cutin "job_sage_kayron",2; + mes "Welcome, young one. I can see that you're intrigued by the wonders of magic."; + mes "So what kind of business brings you to me?"; + next; + switch(select("I would like to be a Sage.:Let me know about the Sage job change.:Nothing.")) { + case 1: + mes "[Kayron Grik]"; + mes "Hm? Do you wish to become a Sage?"; + mes "Well then, I would like to suggest a few things that are required of a Sage."; + next; + mes "[Kayron Grik]"; + mes "Sages are those who promote the development of this continent through the endless studying and recording of all knowledge related to this world."; + mes "Becoming a Sage is more than just a costume change: It's an important job where you must be always aware of your duty and responsibility to the people."; + next; + mes "[Kayron Grik]"; + mes "You may want to enter an enrollment application to the Schweicherbil Magic Academy."; + mes "I believe they can explain in detail what you need to become a Sage."; + break; + case 2: + mes "[Kayron Grik]"; + mes "Sage job change...hmm...an interesting turn of phrase, I must say."; + mes "Although that is what we say, it is very inappropriate to think of becoming a Sage as merely changing a job."; + next; + mes "[Kayron Grik]"; + mes "In order to be a Sage, you must enter an application to the Schweicherbil Magic Academy."; + mes "You will then take the entrance examination."; + next; + mes "[Kayron Grik]"; + mes "After the examination, you will be assigned to study a specific subject..."; + mes "and finally, you will submit your dissertation to the university."; + next; + mes "[Kayron Grik]"; + mes "I am the one who evaluates your dissertation."; + mes "When you pass all the courses, you will become a Sage."; + next; + mes "[Kayron Grik]"; + mes "Please visit the Schweicherbil Magic Academy."; + mes "A young Sage named Metheus Sylphe will accept your application."; + break; + case 3: + mes "[Kayron Grik]"; + mes "I see...Well, seeing as you have leisure time to spare, I encourage you to peruse as many books as you can."; + mes "You can find and research every worldly matter within their pages."; + next; + mes "[Kayron Grik]"; + mes "Ah yes, you can not become the most intelligent person merely by reading all the books around you..."; + mes "However, for a Sage such as myself, the knowledge found in books is most important."; + } + close2; + cutin "job_sage_kayron",255; + end; + } + else if (SAGE_Q == 15) { + if (countitem(1550) > 0) { + if (JobLevel < 40) { + set SAGE_Q,0; + mes "You don't seem to be qualified yet."; + mes "Remember, you must reach at least job level 40 to become a Sage."; + close2; + cutin "job_sage_kayron",255; + end; + } + if (SkillPoint) { + mes "You possess remaining skill points..."; + mes "Before you submit your dissertation, please take care this matter first."; + close2; + cutin "job_sage_kayron",255; + end; + } + mes "Ho~ So? Did you finally complete your dissertation? Well done."; + mes "Let me see."; + next; + mes "[Kayron Grik]"; + mes "Hmm..."; + next; + mes "[Kayron Grik]"; + mes "Huh..."; + next; + mes "[Kayron Grik]"; + mes "Interesting..."; + next; + mes "[Kayron Grik]"; + mes "Although it's roughly written, it's well done for a beginner."; + mes "Ah yes...you seem to be proficient in studying."; + next; + completequest 2052; + callfunc "Job_Change",Job_Sage; + callfunc "F_ClearJobVar"; + mes "[Kayron Grik]"; + mes "Congratulations! You have now become a Sage."; + mes "Always remember to keep a studious and analytical mindset."; + next; + mes "[Kayron Grik]"; + mes "Also, keep this dissertation and treat it with care, since it is one and only book you have written."; + mes "You may have need of it one of these days. And it shall forever remind of this grandiose moment."; + next; + mes "[Kayron Grik]"; + mes "Well then...May God fill your path with knowledge."; + mes "Study with diligence!!"; + } + else { + mes "Hmm? What has happened to you? Where did you leave your dissertation?"; + mes "Please bring it to me so that you may pass the test."; + next; + mes "[Kayron Grik]"; + mes "Wait...you didn't lose it, did you?"; + mes "Well...that's your business. It is regrettable that you won't be able to get a chance to write a book anymore."; + } + } + else { + mes "*Chuckle* Becoming a Sage isn't as simple as you may have assumed."; + mes "You cannot become a Sage because your magic skills are inadequate..."; + next; + mes "[Kayron Grik]"; + mes "Study diligently, and return when you finish your dissertation."; + mes "Until then, farewell!"; + } + close2; + cutin "",255; + end; +} + +yuno_in03,154,35,4 script Staff of the Academy#a 742,{ + mes "[Metheus Sylphe]"; + if (Upper == 1) { + mes "Welcome to the"; + mes "Schweicherbil Magic"; + mes "Academy. W-wait a second..."; + mes "Do I know you from somewhere?"; + next; + mes "[Metheus Sylphe]"; + mes "We've met before, haven't"; + mes "we? Oh gosh, I must sound"; + mes "pretty crazy. I'm sorry, I guess it's because I haven't been"; + mes "sleeping too well? Oh well,"; + mes "have a good day, adventurer~"; + close; + } + if (BaseJob != Job_Mage) { + if (BaseJob == Job_Sage) { + mes "Oh nice to meet you again, long time no see."; + mes "So how's it going with the studying?"; + next; + mes "[Metheus Sylphe]"; + mes "It's okay to study books and magic scrolls all day, "; + mes "but you must go outside and fight with monsters as much as you can in order to be a well experienced Sage."; + next; + mes "[Metheus Sylphe]"; + mes "If you know any Sage candidates, please give them some advice..."; + mes "Also, please give my regards to your colleagues as well."; + } + else if (BaseJob == Job_Novice) { + mes "Welcome to the Schweicherbil Magic Academy."; + next; + mes "[Metheus Sylphe]"; + mes "This place is specialized in Sage class training. Mostly, what we do is study about monsters and magic spells."; + mes "We always welcome new students."; + next; + mes "[Metheus Sylphe]"; + mes "People who are at job jevel 40 as Mage class are qualified to apply for enrollment."; + mes "By passing selected courses, we will then approve them as Sages."; + next; + mes "[Metheus Sylphe]"; + mes "If you're interested in the Sage class, please come again."; + mes "And have a good day."; + } + else { + mes "Welcome to the Schweicherbil Magic Academy."; + next; + mes "[Metheus Sylphe]"; + mes "This place is specialized in Sage class training. What we do is study about monsters and magic spells."; + mes "People who are at job jevel 40 as Mage class are qualified to apply for enrollment."; + next; + mes "[Metheus Sylphe]"; + mes "If you have any Mage friends, please let them know about this academy."; + mes "Have a good day."; + } + close; + } + if (SAGE_Q == 0) { + mes "Welcome to the Schweicherbil Magic Academy."; + mes "Oh, You're a Mage. How may I assist you?"; + next; + switch(select("Let me know about the Sage job change.:I want to enroll in the school.:Nothing.")) { + case 1: + mes "[Metheus Sylphe]"; + mes "I see. Do you wish to become a Sage?"; + mes "Unfortunately, we are not in charge of changing your job to the Sage class."; + next; + mes "[Metheus Sylphe]"; + mes "After you enter this academy and pass certain courses..."; + mes "you will receive official approval to conduct studies as a Sage."; + next; + mes "[Metheus Sylphe]"; + mes "For this reason, we do not speak of this proccess as a job change, but as graduation."; + mes "Anyway, if you enter your application for this academy, I will inform you about the registration fee and will let you take the test."; + next; + mes "[Metheus Sylphe]"; + mes "For your information, if you bring ^3355FFOld Magicbook^000000 and ^3355FFNecklace of Wisdom^000000, "; + mes "you don't have to pay for the Registration Fee to enroll in the school."; + next; + mes "[Metheus Sylphe]"; + mes "After you register, you will be able to take the entrance test."; + mes "If you pass the test, you will write a thesis for a given subject."; + next; + mes "[Metheus Sylphe]"; + mes "The Dean of the academy will decide whether or not you are qualified."; + mes "If you're granted admission, you will be able to join in study and research activities as a Sage."; + next; + mes "[Metheus Sylphe]"; + mes "You're always welcome to join us."; + mes "Have a good day."; + close; + case 2: + mes "[Metheus Sylphe]"; + mes "I see, you want to join the academy. Once again, welcome to the Schweicherbil Magic Academy."; + next; + mes "[Metheus Sylphe]"; + mes "People who have already met the basic requirement by reaching at Mage job level 40 are qualified for enrollment."; + mes "A small registration fee will also be required."; + next; + mes "[Metheus Sylphe]"; + mes "The registration fee is 70,000 zeny."; + mes "However, if you bring ^3355FFOld Magicbook^000000 and ^3355FFNecklace of Wisdom^000000, you will be exempt from this fee."; + next; + mes "[Metheus Sylphe]"; + mes "So, do you wish to apply immediately?"; + next; + switch(select("Yes, I do.:The fee is much too expensive.:I will come back later.")) { + case 1: + if (JobLevel < 40) { + mes "[Metheus Sylphe]"; + mes "I'm sorry, but you haven't met the basic requirements yet."; + mes "Please go study more and reach Mage job level 40 first."; + close; + } + if (SkillPoint) { + mes "[Metheus Sylphe]"; + mes "You have unused skill points left. Please go learn all those skills you've been planning to learn."; + mes "We do not accept any ambiguous candidates."; + close; + } + mes "[Metheus Sylphe]"; + mes "Very well. Let's complete your application form."; + mes "Please put your signature here."; + next; + select(strcharinfo(0)); + mes "[Metheus Sylphe]"; + mes "Your name is ... " + strcharinfo(0) + ". It's a very nice name."; + next; + if (JobLevel == 50) { + mes "[Metheus Sylphe]"; + mes "Oh, you've mastered the Mage job! You're great!! *Clap Clap Clap*"; + mes "In reward for your great effort, you will be exempt from the registration fee!"; + next; + mes "[Metheus Sylphe]"; + mes "Yes, everything's ready."; + mes "Next, you will take an entrance test."; + set SAGE_Q,4; + setquest 2041; + next; + mes "[Metheus Sylphe]"; + mes "Please visit Professor Claytos."; + mes "He's in the left room."; + close; + } + mes "[Metheus Sylphe]"; + mes "Will you pay the registration fee with 70,000 zeny?"; + mes "Or will you give me ^3355FFOld Magicbook^000000 and ^3355FFNecklace of Wisdom^000000?"; + next; + if (select("Pay 70,000 zeny.:Give him Old Magicbook and Necklace of Wisdom.") == 1) { + if (Zeny > 69999) { + set zeny,zeny-70000; + mes "[Metheus Sylphe]"; + mes "Thank you, your application has been accepted."; + mes "Next, you will take an entrance test."; + set SAGE_Q,4; + setquest 2041; + next; + mes "[Metheus Sylphe]"; + mes "Please visit Professor Claytos."; + mes "He's in the left room."; + close; + } + mes "[Metheus Sylphe]"; + mes "What a shame! It seems you didn't bring enough money for tuition."; + mes "Please make sure you have at least 70,000 zeny to enroll in classes."; + close; + } + if (countitem(1006) > 0 && countitem(1007) > 0) { + delitem 1006,1; //Old_Magic_Book + delitem 1007,1; //Penetration + mes "[Metheus Sylphe]"; + mes "Thank you, your application has been accepted."; + mes "Next, you will take the entrance test."; + set SAGE_Q,4; + setquest 2041; + next; + mes "[Metheus Sylphe]"; + mes "Please visit Professor Claytos."; + mes "He's in the left room."; + close; + } + mes "[Metheus Sylphe]"; + mes "Umm...It seems you didn't bring any of those?"; + mes "I suppose you left them somewhere behind. Please go get them, and then come back."; + close; + case 2: + if (JobLevel < 40) { + mes "[Metheus Sylphe]"; + mes "Before we talk about the registration fee, it seems you haven't met the basic requirement yet, Mage job level 40."; + mes "Please go study more, and then come back to enroll."; + close; + } + if (JobLevel == 50) { + mes "[Metheus Sylphe]"; + mes "Well, I can't help you with that issue. If you don't have the fee, you are not allowed to enter the academy."; + mes "Even if you might think it's absurdly expensive, it's a justifiable price to pay in order to become a Sage."; + next; + mes "[Metheus Sylphe]"; + mes "Anyway... oh! You mastered the Mage job! You're truly exemplary!! *Clap Clap Clap*."; + mes "As a reward for your great effort, you will be exempt from the registration fee!"; + next; + mes "[Metheus Sylphe]"; + mes "Okay, let's complete the application form."; + mes "Please put your signature here."; + next; + select(strcharinfo(0)); + mes "[Metheus Sylphe]"; + mes "Your name is ... " + strcharinfo(0) + ". It's a very nice name."; + next; + mes "[Metheus Sylphe]"; + mes "Yes, everything's ready."; + mes "Next, you will take the entrance test."; + set SAGE_Q,4; + setquest 2041; + next; + mes "[Metheus Sylphe]"; + mes "Please visit professor Claytos."; + mes "He's in the left room."; + close; + } + if (Zeny > 43210) { + mes "[Metheus Sylphe]"; + mes "Well, I can't help you with that issue. If you don't have the fee, you are not allowed to enter the academy."; + mes "Even if you may think it's absurdly expensive, it's a justifiable price to pay in order to become a Sage."; + next; + mes "[Metheus Sylphe]"; + mes "Alternatively, you could try to find ^3355FFOld Magicbook^000000 and ^3355FFNecklace of Wisdom^000000."; + mes "If you don't wish to do that, you must save some money for the registration fee."; + next; + mes "[Metheus Sylphe]"; + mes "Goodbye, and have a good day."; + close; + } + else { + mes "[Metheus Sylphe]"; + mes "Oh, I guess you don't have enough money?"; + mes "Under the existing provisions, you must pay 70,000 zeny for the application..."; + next; + if (select("Please...is there any way?:Ok, I will come back later.") == 1) { + mes "[Metheus Sylphe]"; + mes "Hmmm...then I shall offer a special option!"; + mes "You will pay 30,000 zeny and bring some items as compensation for the tuition discount."; + next; + switch(rand(1,3)) { + case 1: + set SAGE_Q,1; + setquest 2043; + mes "[Metheus Sylphe]"; + mes "Please gather the following items."; + mes "50 ^3355FFFeather of Birds^000000"; + mes "50 ^3355FFFluff^000000"; + mes "25 ^3355FFIron Ore^000000"; + next; + mes "[Metheus Sylphe]"; + mes "If you bring those items, your tuition will be 30,000 zeny, in lieu of the original 70,000 zeny fee."; + break; + case 2: + set SAGE_Q,2; + setquest 2044; + mes "[Metheus Sylphe]"; + mes "Please gather the following items."; + mes "50 ^3355FFClover^000000"; + mes "50 ^3355FFFeather^000000"; + mes "25 ^3355FFSquid Ink^000000"; + next; + mes "[Metheus Sylphe]"; + mes "If you bring the aforementioned items, the tuition fee will be 30,000 zeny, rather than the original 70,000 zeny fee."; + break; + case 3: + set SAGE_Q,3; + setquest 2045; + mes "[Metheus Sylphe]"; + mes "Please gather the following items."; + mes "50 ^3355FFFeather of Birds^000000"; + mes "50 ^3355FFFluff^000000"; + mes "50 ^3355FFClover^000000"; + mes "50 ^3355FFFeather^000000"; + next; + mes "[Metheus Sylphe]"; + mes "If you bring those items, your tuition will only be 30,000 zeny, instead of the original 70,000 zeny fee."; + } + mes "I am sure it's a very reasonable option for you."; + next; + mes "[Metheus Sylphe]"; + mes "Ah yes, before gathering all of those items, if you happen to have 70,000 zeny, I will be more than happy to receive the full payment."; + mes "That is, after all, our original policy."; + next; + mes "[Metheus Sylphe]"; + mes "Alternatively, you can bring me ^3355FFOld Magicbook^000000 and ^3355FFNecklace of Wisdom^000000."; + mes "Goodbye, and have a good day."; + close; + } + mes "[Metheus Sylphe]"; + mes "Ah yes, take your time..."; + mes "Goodbye, and have a good day."; + close; + } + case 3: + mes "[Metheus Sylphe]"; + mes "Ah yes, take your time..."; + mes "Goodbye, and have a good day."; + close; + } + case 3: + mes "[Metheus Sylphe]"; + mes "I see, take your time. You can also take a look around."; + mes "Goodbye, and have a good day."; + close; + } + } + else if (SAGE_Q >= 1 && SAGE_Q <= 3) { + mes "Welcome, once again."; + next; + if (countitem(1006) > 0 && countitem(1007) > 0) { + delitem 1006,1; //Old_Magic_Book + delitem 1007,1; //Penetration + mes "[Metheus Sylphe]"; + mes "Well done. Let me proceed with your application request."; + set SAGE_Q,4; + next; + } + else if (Zeny > 69999) { + set zeny,zeny-70000; + mes "[Metheus Sylphe]"; + mes "Well done. Let me proceed with your application request."; + set SAGE_Q,4; + next; + } + else { + switch (SAGE_Q) { + case 1: + //Feather_Of_Bird, Fluff, Iron_Ore + setarray .@item[0], 916,914,1002; + setarray .@count[0], 50,50,25; + break; + case 2: + //Clover, Feather, Chinese_Ink + setarray .@item[0], 705,949,1024; + setarray .@count[0], 50,50,25; + break; + case 3: + //Feather_Of_Bird, Fluff, Clover, Feather + setarray .@item[0], 916,914,705,949; + setarray .@count[0], 50,50,50,50; + break; + } + set .@size, (getarraysize(.@item)-1); + for( set .@i,0 ; .@i < .@size && countitem(.@item[.@i]) >= .@count[.@i] ; set .@i,.@i+1 ); + if(.@i == .@size) { + if (Zeny > 29999) { + for (set .@i, 0; .@i < .@size ; set .@i, .@i+1) + delitem .@item[.@i], .@count[.@i]; + set zeny,zeny-30000; + mes "[Metheus Sylphe]"; + mes "Well done. Let me proceed with your application request."; + set .@SAGE_Q_T,SAGE_Q; + set SAGE_Q,4; + next; + } + mes "[Metheus Sylphe]"; + mes "I am sorry to say that you are not ready yet."; + mes "Although you brought all of the items, the money you have now is less than 30,000 zeny."; + next; + mes "[Metheus Sylphe]"; + mes "As I told you before, you must bring all of those items, as well as the 30,000 zeny together."; + mes "Please make sure that you have the required items and money."; + close; + } + else { + mes "[Metheus Sylphe]"; + mes "I am sorry to say that it seems you didn't bring all of the required items."; + mes "I shall remind you what to bring, in case you have forgotten."; + next; + mes "[Metheus Sylphe]"; + mes "Please bring the following items to me."; + mes .@count[0]+" ^3355FF"+getitemname(.@item[0])+"^000000"; + mes .@count[1]+" ^3355FF"+getitemname(.@item[1])+"^000000"; + mes .@count[2]+" ^3355FF"+getitemname(.@item[2])+"^000000"; + if (SAGE_Q == 3) mes .@count[3]+" ^3355FF"+getitemname(.@item[3])+"^000000"; + next; + mes "[Metheus Sylphe]"; + mes "If you bring all of these items, your tuition fee will be reduced from 70,000 zeny to 30,000 zeny."; + mes "Good luck."; + close; + } + } + mes "[Metheus Sylphe]"; + mes "Let's complete the application form."; + mes "Please put your signature here."; + next; + select(strcharinfo(0)); + mes "[Metheus Sylphe]"; + switch (.@SAGE_Q_T) { + case 1: mes "Your name is ... " + strcharinfo(0) + ". It's a very nice name."; break; + case 2: mes "Your name is ... " + strcharinfo(0) + ". It sounds very sagacious."; break; + case 3: mes "Your name is ... " + strcharinfo(0) + ". Interesting name."; break; + } + next; + mes "[Metheus Sylphe]"; + mes "Ah yes, everything is in readiness."; + mes "Next, you will take an entrance test."; + set SAGE_Q,4; + if(checkquest(2043) != -1) { + changequest 2043,2041; + } + else if(checkquest(2044) != -1) { + changequest 2044,2041; + } + else if(checkquest(2045) != -1) { + changequest 2045,2041; + } + else { + setquest 2041; + } + next; + mes "[Metheus Sylphe]"; + mes "Please visit Professor Claytos."; + mes "He's in the left room."; + close; + } + else if (SAGE_Q == 4) { + mes "Huh? What are you doing here? You're supposed to be taking the entrance test by now."; + mes "Please visit Professor Claytos in the left room."; + close; + } + else if (SAGE_Q == 15) { + mes "Oh, are you done with the dissertation?"; + mes "Sure, you can submit it to Dean Kayron."; + next; + mes "[Metheus Sylphe]"; + mes "So long as you make the effort, you should achieve good results."; + mes "Good luck."; + close; + } + else { + mes "Oh sorry, this is a rather inconvenient time to converse."; + mes "Please come back later. I apologize for troubling you."; + close; + } +} + +yuno_in03,105,177,5 script Written Test Professor#s 754,{ + mes "[Claytos Verdo]"; + if (BaseJob != Job_Mage) { + if (BaseJob == Job_Sage) { + mes "Eh? What? Why are you back here?"; + mes "Do you want to enter the school again?"; + next; + mes "[Claytos Verdo]"; + mes "Now, I understand how you feel. Since you graduated, you have become a Sage. A Sage...until the end of your days."; + mes "So, be strong and independent. Try to explore some places where nobody else has ventured to go."; + next; + mes "[Claytos Verdo]"; + mes "Don't forget to record everything you've experienced."; + mes "You must share your knowledge with others by taking excellent notes."; + } + else if (BaseJob == Job_Novice) { + mes "What are you doing here, kid?"; + mes "This is a Magic Academy, not a day care center."; + next; + mes "[Claytos Verdo]"; + mes "Go outside and play with the Porings. That's your job."; + mes "Go out, chop chop!!"; + } + else if (Class == Job_Wizard) { + mes "Well...look who came crawling back. Magic addict."; + mes "Yeah yeah, so it's not so bad to be devoted to magic."; + next; + mes "[Claytos Verdo]"; + mes "But I hope you remember, no one can live alone."; + mes "Although you're strong enough for solo play, you must cooperate and help other people. That's what a Wizard shoud stand for."; + } + else { + mes "Hmm... I understand that you want to enter our prestigious academy, but since you chose to live as a different class,"; + mes "I don't think you can become a Sage."; + next; + mes "[Claytos Verdo]"; + mes "So, don't go around regretting why you chose a job other than Sage. You'd better go out and hunt, leveling up your current job."; + } + close; + } + if (SAGE_Q == 0) { + mes "What, do you want to be a Sage?"; + mes "I can tell by your eyes, hungering for wisdom."; + next; + mes "[Claytos Verdo]"; + mes "Of course, if you want to be a Sage, you must first enter the academy."; + mes "Apply for enrollment, and then come again."; + close; + } + else if (SAGE_Q == 1 || SAGE_Q == 2 || SAGE_Q == 3) { + mes "Hah! You didn't even finish the application process!?"; + mes "I see...did Metheus tell you something?"; + next; + mes "[Claytos Verdo]"; + mes "Do your best. It'll be a good experience for you."; + mes "Come again when you finish the application."; + close; + } + else if (SAGE_Q == 4) { + mes "Welcome to the Schweicherbil Magic Academy."; + mes "You applied for this test already, didn't you?"; + next; + mes "[Claytos Verdo]"; + mes "Let's see, your name is " + strcharinfo(0) + "..."; + mes "Okay, let's get started!"; + next; + mes "[Claytos Verdo]"; + mes "The test that I am going to give you will test your knowledge on all of the academic subjects in the world."; + mes "I will give you 20 questions, with each question being worth 5 points. When you earn a grade of 80 points, you will pass the test."; + next; + mes "[Claytos Verdo]"; + mes "Okay, there's no need to wait. Let's start right away"; + mes "Oh, and if you don't answer immediately, the test will be cancelled."; +L_AskQuestions: + next; + switch(rand(1,3)) { + case 1: + mes "1. Choose an item that the Gift merchant in Prontera does not sell."; + next; + if (select("China:Red Frame:Bouquet:Glass Bead") == 3) + set .@sage_t,.@sage_t+5; + mes "2. Choose a city where you cannot purchase a Stiletto."; + next; + if (select("Prontera:Morroc:Geffen:Lutie") == 1) + set .@sage_t,.@sage_t+5; + mes "3. Choose the closest city to Turtle Island."; + next; + if (select("Al De Baran:Alberta:Comodo:Izlude") == 2) + set .@sage_t,.@sage_t+5; + mes "4. Choose the monster that is a different type than the others."; + next; + if (select("Raggler:Pest:Frilldora:Aster") == 4) + set .@sage_t,.@sage_t+5; + mes "5. Choose the monster that has a different attribute than the others."; + next; + if (select("Mantis:Metaller:Rocker:Horn") == 2) + set .@sage_t,.@sage_t+5; + mes "6. Choose the monster that is different sized than the others."; + next; + if (select("Raydric:Raydric Archer:Wanderer:Dark Frame") == 1) + set .@sage_t,.@sage_t+5; + mes "7. Choose the monster which doesn't drop 'Alcohol'."; + next; + if (select("Horong:Plankton:Poison Spore:Toad") == 3) + set .@sage_t,.@sage_t+5; + mes "8. Choose the NPC that is irrelevant to the Knight job change quest."; + next; + if (select("Sir Siracuse:Thomas Servantes:Sir Windsor:Lady Amy") == 2) + set .@sage_t,.@sage_t+5; + mes "9. Choose the NPC that is not a citizen of Prontera."; + next; + if (select("Tono:Pina:YuPi:Hollgrehenn") == 2) + set .@sage_t,.@sage_t+5; + mes "10. Choose the right name for the Kafra lady who wears glasses."; + next; + if (select("Pavianne:Roxie:Leilah:Curly Sue") == 3) + set .@sage_t,.@sage_t+5; + mes "11. How much SP is spent to use lvl 7 Thunderstorm?"; + next; + if (select("49:59:69:74") == 2) + set .@sage_t,.@sage_t+5; + mes "12. Choose the right amount of damage reduction and SP consumption of the Energy Coat skill when the caster's remaining SP is 50%."; + next; + if (select("Damage -24% SP1.5%:Damage -24% SP2%:Damage -18% SP1.5%:Damage -18% SP2%") == 4) + set .@sage_t,.@sage_t+5; + mes "13. Choose the property that is irrelevant to 'Bolt' type skills for the Mage class."; + next; + if (select("Water:Earth:Fire:Wind") == 2) + set .@sage_t,.@sage_t+5; + mes "14. Choose the right chance and attack strength for lvl 7 Double Attack, the Thief skill."; + next; + if (select("35% / 120%:35% / 140%:40% / 120%:40% / 140%") == 2) + set .@sage_t,.@sage_t+5; + mes "15. Choose the skill that is irrelevant to learning Magnus Exorcismus, the Priest skill."; + next; + if (select("Divine Protection:Heal:Ruwach:Aqua Benedicta") == 1) + set .@sage_t,.@sage_t+5; + mes "16. Choose the correct defense and ability of the Bunny Band."; + next; + if (select("1 / LUK +2:1 / LUK +5:2 / LUK +2:2 / LUK +5") == 3) + set .@sage_t,.@sage_t+5; + mes "17. Choose the class that cannot equip Padded Armor."; + next; + if (select("Swordman:Merchant:Thief:Archer") == 4) + set .@sage_t,.@sage_t+5; + mes "18. Choose the item that cures all abnormal status and restores full HP and SP at the same time."; + next; + if (select("Royal Jelly:Yggdrasil Seed:Yggdrasilberry:Mastella Fruit") == 3) + set .@sage_t,.@sage_t+5; + mes "19. Who rules the Rune-Midgarts kingdom right now?"; + next; + if (select("Tristun the 3rd:Tristram the 3rd:Tristar the 3rd:Trast the 3rd") == 2) + set .@sage_t,.@sage_t+5; + mes "20. Choose the god of Crusaders."; + next; + if (select("Odin:Loki:Thor:Venadin") == 1) + set .@sage_t,.@sage_t+5; + break; + case 2: + mes "1. Choose the jewel that the Morroc Jewel Merchant does not sell."; + next; + if (select("Topaz:Garnet:Diamond:Sapphire") == 2) + set .@sage_t,.@sage_t+5; + mes "2. Choose the city where users cannot purchase Monster's Feed from an NPC."; + next; + if (select("Prontera:Morroc:Al De Baran:Alberta") == 3) + set .@sage_t,.@sage_t+5; + mes "3. Choose the closest city to the Maze."; + next; + if (select("Prontera:Morroc:Geffen:Payon") == 1) + set .@sage_t,.@sage_t+5; + mes "4. Choose the monster that is a different type than the others."; + next; + if (select("Muka:Drops:Plankton:Penomena") == 4) + set .@sage_t,.@sage_t+5; + mes "5. Choose the monster with the different attribute."; + next; + if (select("Dokebi:Isis:Giearth:Deviruchi") == 3) + set .@sage_t,.@sage_t+5; + mes "6. Choose the monster that is different in size."; + next; + if (select("Thiefbug (Aggressive):Horn:Metaller:Argos") == 4) + set .@sage_t,.@sage_t+5; + mes "7. Choose the monster which does not drop 'Yggdrasil Leaf'."; + next; + if (select("Marduk:Baphomet Jr.:Angeling:Wanderer") == 1) + set .@sage_t,.@sage_t+5; + mes "8. Choose the NPC that is irrelevant to the Priest job change quest."; + next; + if (select("Paul:Sir Windsor:Peter S. Alberto:Cecilia") == 2) + set .@sage_t,.@sage_t+5; + mes "9. Choose the NPC that is not a citizen of Morroc."; + next; + if (select("Syvia:Akira:Antonio:Dmitrii") == 3) + set .@sage_t,.@sage_t+5; + mes "10. Choose the Kafra lady who has gorgeous blue hair."; + next; + if (select("Pavianne:Roxie:Leilah:Curly Sue") == 1) + set .@sage_t,.@sage_t+5; + mes "11. Choose the skill that is irrelevant to learning Fire Wall, the Mage skill."; + next; + if (select("lvl 4 Fire Bolt:lvl 4 Napalm Beat:lvl 5 Fire Ball:lvl 1 Sight") == 2) + set .@sage_t,.@sage_t+5; + mes "12. How much SP can be restored when learning SP recovery at lvl 6 (without being affected by INT)?"; + next; + if (select("14:16:18:21") == 3) + set .@sage_t,.@sage_t+5; + mes "13. How many INT points does a Mage receive as a bonus at job lvl 33?"; + next; + if (select("7:6:5:4") == 4) + set .@sage_t,.@sage_t+5; + mes "14. Choose the correct SP consumption and the skill duration for Improve Concentration lvl 5 (Archer skill)."; + next; + if (select("45 / 80 sec:50 / 80 sec:45 / 90 sec:50 / 90 sec") == 1) + set .@sage_t,.@sage_t+5; + mes "15. Choose the skill that is irrelevant to learning Maximize Power, the Blacksmith skill."; + next; + if (select("Hilt Binding:Skin Tempering:Hammer Fall:Weapon Perfection") == 2) + set .@sage_t,.@sage_t+5; + mes "16. What is the correct defense rate and ability of Cute Ribbon?"; + next; + if (select("0 / SP +20:0 / SP +30:1 / SP +20:1 / SP +30") == 3) + set .@sage_t,.@sage_t+5; + mes "17. Choose the class that cannot equip Saint Robe."; + next; + if (select("Swordman:Merchant:Thief:Acolyte") == 3) + set .@sage_t,.@sage_t+5; + mes "18. Choose the abnormal status that cannot be cured by Green Potion."; + next; + if (select("Silence:Chaos:Blind:Curse") == 4) + set .@sage_t,.@sage_t+5; + mes "19. Choose the correct name for the ancient kingdom that disappeared somewhere in Geffen."; + next; + if (select("Geffayon:Geffenia:Gefenn:Jaffen") == 2) + set .@sage_t,.@sage_t+5; + mes "20. Choose the correct name for the tree that has become the root of this world."; + next; + if (select("Yggdrasil:Iggdrassil:Mastella:Dead Branch") == 1) + set .@sage_t,.@sage_t+5; + break; + case 3: + mes "1. Choose the item that the Magical Tool merchant in Geffen does not sell."; + next; + if (select("Mantle:Wand:Circlet:Silver Robe") == 1) + set .@sage_t,.@sage_t+5; + mes "2. Choose the city where users cannot purchase Blade from an NPC."; + next; + if (select("Prontera:Izlude:Al De Baran:Payon") == 3) + set .@sage_t,.@sage_t+5; + mes "3. Choose the closest city to Glast Heim."; + next; + if (select("Prontera:Geffen:Morroc:Payon") == 2) + set .@sage_t,.@sage_t+5; + mes "4. Choose the monster that is a different type than the others."; + next; + if (select("Aster:Marc:Marse:Marin") == 4) + set .@sage_t,.@sage_t+5; + mes "5. Choose the monster that has a different attribute."; + next; + if (select("Baby Desert Wolf:Smokie:Picky:Choco") == 2) + set .@sage_t,.@sage_t+5; + mes "6. Choose the monster that is different sized."; + next; + if (select("Drake:Wraith:Evil Druid:Khalitzburg") == 1) + set .@sage_t,.@sage_t+5; + mes "7. Choose the monster that does not drop 'Phracon'."; + next; + if (select("Pupa:Peco Peco Egg:Savage Bebe:Baby Desert Wolf") == 2) + set .@sage_t,.@sage_t+5; + mes "8. Choose the NPC that is irrelevant to the Blacksmith job change quest."; + next; + if (select("Altiregen:Geschupenschte:Barcadi:Baisulist") == 3) + set .@sage_t,.@sage_t+5; + mes "9. Choose the NPC that is not a citizen of Al De Baran."; + next; + if (select("RS125:GOD-POING:Stromme:Chemirre") == 2) + set .@sage_t,.@sage_t+5; + mes "10. Choose the Kafra lady who is the youngest among the staff."; + next; + if (select("Pavianne:Roxie:Leilah:Curly Sue") == 4) + set .@sage_t,.@sage_t+5; + mes "11. Choose the correct SP consumption and the number of evasions when using Safety Wall lvl 6."; + next; + if (select("SP 40, 6 times:SP 35, 6 times:SP 40, 7 times:SP 35, 7 times") == 3) + set .@sage_t,.@sage_t+5; + mes "12. Choose the correct amount of magic attack for Napalm Beat lvl 6."; + next; + if (select("MATK * 1.2:MATK * 1.3:MATK * 1.4:MATK * 1.5") == 2) + set .@sage_t,.@sage_t+5; + mes "13. Choose the catalyst stone for Mage Solution no. 4 that is used for the Mage job change quest."; + next; + if (select("Blue Gemstone:Red Gemstone:Yellow Gemstone:1 carat Diamond") == 4) + set .@sage_t,.@sage_t+5; + mes "14. Choose the correct attack strength and SP consumption for Bash lvl 6, the Swordman skill."; + next; + if (select("250% / 8:280% / 8:280% / 15:310% / 15") == 3) + set .@sage_t,.@sage_t+5; + mes "15. Choose the skill that is irrelevant to learning Claymore Trap, the Hunter skill."; + next; + if (select("Remove Trap:Land Mine:Ankle Snare:Flasher") == 1) + set .@sage_t,.@sage_t+5; + mes "16. Choose the correct defense and ability of Wedding Veil."; + next; + if (select("0 / MDEF +3:0 / MDEF +5:1 / MDEF +3:1 / MDEF +5") == 2) + set .@sage_t,.@sage_t+5; + mes "17. Choose the class that cannot equip Coat."; + next; + if (select("Swordman:Merchant:Thief:Novice") == 4) + set .@sage_t,.@sage_t+5; + mes "18. Choose the item that is not an ingredient for Blue Dyestuffs."; + next; + if (select("Alcohol:Detrimindexta:Karvodailnirol:Blue Herb") == 3) + set .@sage_t,.@sage_t+5; + mes "19. When the world was created by the god Odin, what did he use for the material?"; + next; + if (select("The heart of Ymir:The nail of Ymir:The tooth of Ymir:The memento of Ymir") == 1) + set .@sage_t,.@sage_t+5; + mes "20. Choose the metal that has rumored to bring fortune and fame to a person with the destiny."; + next; + if (select("Empelium Gold:Emperium:Emperor:Phracon") == 2) + set .@sage_t,.@sage_t+5; + } + mes "[Claytos Verdo]"; + if (SAGE_Q == 4) { + mes "Well, you answered all 20 of the questions."; + mes "Okay, let me check your answers and add up your score."; + } + else { + mes "Well, we finished all 20 questions."; + mes "Now, let's check how many points you got."; + } + next; + mes "[Claytos Verdo]"; + mes "Let's see..."; + mes "Hmm... hmm..."; + next; + mes "[Claytos Verdo]"; + mes "You got " + .@sage_t + " points."; + if (.@sage_t == 100) { + if (SAGE_Q == 4) + mes "Excellent! You seem fully qualified to become a Sage!"; + else + mes "Excellent! You must have studed really hard for this test!"; + set SAGE_Q,6; + changequest 2041,2046; + next; + mes "[Claytos Verdo]"; + mes "You have passed the written test."; + mes "Go visit Professor Hermes for the practical examination."; + } + else if (.@sage_t >= 80) { + set SAGE_Q,6; + changequest 2041,2046; + mes "Yeah, not bad. I assume that you will at least understand what you're going to learn in class."; + next; + mes "[Claytos Verdo]"; + mes "You passed the written test."; + mes "Go visit Professor Hermes for the practical examination."; + } + else { + if (SAGE_Q == 4) { + set SAGE_Q,5; + mes "Oh well...what a shame: You failed."; + next; + mes "[Claytos Verdo]"; + mes "But I'll give you another chance to take the written test,"; + mes "Go study harder and come back later."; + } + else { + mes "Oh what a shame: You failed."; + next; + mes "[Claytos Verdo]"; + mes "But I'll give you another chance,"; + mes "Go study even harder and come back."; + } + } + close; + } + else if (SAGE_Q == 5) { + mes "Welcome back."; + mes "So, did you study harder this time?"; + next; + mes "[Claytos Verdo]"; + mes "You will take the written test under the same conditions as the test you took before. I'll give you 20 questions."; + mes "Each correct answer will give you 5 points. When your score reaches 80 points, you pass the test."; + next; + set sage_m2,rand(1,3); + mes "[Claytos Verdo]"; + mes "Okay, there's no need to wait."; + mes "Answer immediately, or I'll fail you again."; + set SAGE_Q,5; + goto L_AskQuestions; + end; + } + else if (SAGE_Q == 6) { + mes "What else do you want?! Do you want to take this test again?"; + mes "You've already passed!"; + next; + mes "[Claytos Verdo]"; + mes "Go visit Professor Hermes for the practical examination."; + mes "Move!"; + close; + } + else if (SAGE_Q == 15) { + mes "Heh heh, It seems you're done with your dissertation."; + mes "But I'm not the person handling that part of the test."; + next; + mes "[Claytos Verdo]"; + mes "submit your thesis to Dean Kayron."; + mes "He will decide whether you are qualified to graduate or not."; + close; + } + else { + mes "I'm too busy to take care of written tests."; + mes "Come back later, and I'll spare some time to talk."; + close; + } +} + +//Practical Examination Professer +yuno_in03,169,180,3 script Practical Examination P 755,{ + mes "[Hermes Tris]"; + if (BaseJob != Job_Mage) { + if (BaseJob == Job_Sage) { + mes "Welcome. How have you been?"; + mes "I guess you've been through a lot of hard times...I can tell by your appearance."; + next; + mes "[Hermes Tris]"; + mes "I know how hard it is to explore all those perilous areas, but it will help you to gain more knowledge."; + mes "Book smarts never can beat street smarts."; + next; + mes "[Hermes Tris]"; + mes "However, it's a very dangerous idea to go deep inside a dungeon alone. "; + mes "You'd better look for trustworthy comrades."; + } + else if (BaseJob == Job_Novice) { + mes "Heh heh, now ain't that a cute little Novice?"; + next; + mes "[Hermes Tris]"; + mes "In this continent of Rune-Midgarts, there are a lot of unknown places and objects that haven't been fully discovered."; + mes "The monsters, mysterious objects and heroes of myths..."; + next; + mes "[Hermes Tris]"; + mes "Why don't you consider being a Sage in the future?"; + mes "You will love studying the world."; + next; + mes "[Hermes Tris]"; + mes "If by chance you do decide to do that, we'll meet again."; + mes "Take care, kiddy."; + } + else { + mes "Welcome to the Schweicherbil Magic Academy."; + next; + mes "[Hermes Tris]"; + mes "We Sages are more like scholars than Mages."; + mes "We are very helpful and powerful as members of a party."; + next; + mes "[Hermes Tris]"; + mes "Try to make a party with a Sage next time."; + mes "The wisdom a Sage will bring will be more than helpful for your party..."; + } + close; + } + if (SAGE_Q >= 0 && SAGE_Q <= 3) { + mes "I am Professor Hermes, in charge of practical examinations."; + mes "Are you a candidate for the Sage class?"; + next; + mes "[Hermes Tris]"; + mes "Register your application and take the written test first."; + close; + } + else if (SAGE_Q == 4 || SAGE_Q == 5) { + mes "I am professor Hermes, in charge of practical examinations."; + mes "Are you a candidate for the Sage class?"; + next; + mes "[Hermes Tris]"; + mes "Go pass the written test with Professor Claytos first."; + mes "Then I will take care of you."; + close; + } + else if (SAGE_Q == 6) { + mes "Welcome, you just passed the written test, didn't you?"; + mes "Now it's time for the practical examination."; + next; + mes "[Hermes Tris]"; + mes "There is nothing difficult or special about this test."; + mes "All you have to do is kill all the monsters within the time limit."; + next; + mes "[Hermes Tris]"; + mes "It's better to experience this for yourself, rather than be told about this test 100 times."; + mes "How about it? Are you ready to take this test?"; + next; + if (select("Yes, I am.:Sorry, give me some time.") == 1) { + set SAGE_Q,7; + mes "[Hermes Tris]"; + mes "Good, let's start immediately."; + mes "Do your best and come back safely!"; + close2; + warp "job_sage",50,154; + end; + } + set SAGE_Q,7; + mes "[Hermes Tris]"; + mes "Yes, you don't need to hurry... take your time and come back."; + close; + } + else if (SAGE_Q == 7) { + mes "Welcome again! So, did you fully prepare yourself this time?"; + mes "Oh well, it's not that hard. Give it your all, okay?"; + next; + mes "[Hermes Tris]"; + mes "Are you ready?"; + next; + if (select("Yes, I am.:Sorry, give me some time.") == 1) { + mes "[Hermes Tris]"; + mes "Good, let's start immediately."; + mes "Do your best and come back safely!"; + close2; + warp "job_sage",50,154; + end; + } + mes "[Hermes Tris]"; + mes "Yes, you don't need to hurry... take your time and come back."; + close; + } + else if (SAGE_Q == 8) { + mes "Good job~ Since you passed the practical examination as well..."; + mes "I'll accept your admission."; + next; + mes "[Hermes Tris]"; + mes "Now I need to decide what subject you will learn and study..."; + mes "Let's see... let me check your written test grade and the time spent on the practical examination."; + next; + mes "[Hermes Tris]"; + mes "Hmm, hmm... I see."; + mes "Well... I think you're okay."; + next; + switch(rand(1,3)) { + case 1: + set SAGE_Q,9; + changequest 2046,2047; + mes "[Hermes Tris]"; + mes "Now, you will study Yggdrasil."; + mes "Yggdrasil is the tree that was rumored to be the source of life for this world."; + next; + mes "[Hermes Tris]"; + mes "That is a good subject which helps us to recognize changes in the world, as well as the direction of its improvement."; + mes "Go ask for help from Professor Saphien. He's in the Lecture Room."; + next; + mes "[Hermes Tris]"; + mes "I wish you luck."; + close; + case 2: + set SAGE_Q,11; + changequest 2046,2048; + mes "[Hermes Tris]"; + mes "Now, you will study monsters."; + mes "The purpose of this study is to learn and understand more about creatures existing all over the continent."; + next; + mes "[Hermes Tris]"; + mes "This is a good subject which will help you lead your life as a well-experienced Sage."; + mes "Go ask for help from Professor Lucius. He's in the Monster Museum."; + next; + mes "[Hermes Tris]"; + mes "I wish you luck."; + close; + case 3: + set SAGE_Q,13; + changequest 2046,2049; + mes "[Hermes Tris]"; + mes "Now, you will study magic skills that have certain properties."; + mes "The purpose of this study is to better understand basic magic skills that we use in everyday life."; + next; + mes "[Hermes Tris]"; + mes "That is a good subject which helps you to deeply understand of the truth of magic."; + mes "Go ask Professor Aebecee for help...He's in the Somatology Laboratory."; + next; + mes "[Hermes Tris]"; + mes "I wish you luck."; + close; + } + } + else if (SAGE_Q == 9) { + mes "Huh? Didn't you understand what I said?"; + mes "I told you to study Yggdrasil."; + next; + mes "[Hermes Tris]"; + mes "Go ask for help from Professor Saphien. He's in the Lecture Room."; + close; + } + else if (SAGE_Q == 11) { + mes "Huh? Didn't you understand what I said?"; + mes "I told you to study monsters."; + next; + mes "[Hermes Tris]"; + mes "Go ask for help from Professor Lucius. He's in the Monster Museum."; + close; + } + else if (SAGE_Q == 13) { + mes "Huh? Didn't you understand what I said?"; + mes "I told you to study magic spells that possess certain properties."; + next; + mes "[Hermes Tris]"; + mes "Go ask a help from Professor Aebecee. He's in the Somatology Laboratory."; + close; + } + else if (SAGE_Q == 15) { + mes "What are you doing here? Aren't you supposed to be with Dean Kayron?"; + mes "Oh well, there's no harm in showing me your dissertation though..."; + next; + mes "[Hermes Tris]"; + mes "But then again, maybe there is. Go see Dean Kayron."; + close; + } + else { + mes "Oh sorry, I'm quite busy at the moment..."; + mes "If you have any questions, go visit the professor I've assigned to you."; + close; + } +} + +yuno_in03,62,176,2 script History Professor#sa 109,{ + mes "[Saphien Layless]"; + if (BaseJob != Job_Mage) { + if (BaseJob == Job_Sage) { + mes "Do I know you? Were you one of my students?"; + mes "Oh, it doesn't matter anyway. You wouldn't be a Sage without graduating from this academy..."; + next; + mes "[Saphien Layless]"; + mes "In any case, you must study the past in order to better understand the present and to predict...the future."; + mes "This sentence contains all the truth of the world."; + next; + mes "[Saphien Layless]"; + mes "I guess you're treading the right path..."; + mes "One of these days you'll look back to this moment and realize it changed your life."; + } + else if (BaseJob == Job_Novice) { + mes "A Novice? Why is a novice here?"; + next; + mes "[Saphien Layless]"; + mes "One whose life has many possibilities... "; + mes "How do you wish to lead your life?"; + next; + mes "[Saphien Layless]"; + mes "No matter what you decide to be, everything depends on your choice."; + mes "May God bless you so that you can choose the path best for you..."; + } + else { + mes "Welcome, I am in charge of historical studies here in the academy."; + next; + mes "[Saphien Layless]"; + mes "The world as we know it is a result of events that described in the records of the ages. It is historical events that have shaped the world as it is today."; + mes "Therefore, knowing the past means you will better understand the present and...the future."; + next; + mes "[Saphien Layless]"; + mes "Reflect upon your past."; + mes "You will see your path in the future..."; + } + close; + } + if (SAGE_Q == 9) { + if (SAGE_Q2 == 0) { + mes "Welcome, " + strcharinfo(0) + ". I am glad to meet you."; + mes "My name is Saphien Layless, I will be in charge of your class for a while."; + next; + mes "[Saphien Layless]"; + mes "The subject you're studying is Yggdrasil."; + mes "So...do you even know what Yggdrasil is?"; + next; + switch(select("Yes, I know very well.:No, I don't.")) { + case 1: + mes "[Saphien Layless]"; + mes "Okay then, what is Yggdrasil?"; + mes "Please answer me."; + next; + switch(select("It's a name of a health item.:It's the source of life in the world.:Suckah, I lied.")) { + case 1: + mes "[Saphien Layless]"; + mes "Wrong. " + strcharinfo(0) + ", you got - 10 points."; + mes "That's just one of the gifts from Yggdrasil."; + next; + mes "[Saphien Layless]"; + mes "Yggdrasil is the name of the tree that is the source of life in this world."; + break; + case 2: + mes "[Saphien Layless]"; + mes "That's right. Yggdrasil, the so-called 'World Tree', "; + mes "is the name of the tree that has been the source of life in this world."; + break; + case 3: + mes "[Saphien Layless]"; + mes "Great Schott...If you don't know, just say so."; + mes "By the way, " + strcharinfo(0) + ", you just got - 10 points for lying and for being wrong."; + break; + } + next; + break; + case 2: + mes "[Saphien Layless]"; + mes "Ah well, I expected you would know at least a little bit about Yggdrasil..."; + mes "Yggdrasil is the name of the tree that is the source of life in this world."; + next; + break; + } + mes "[Saphien Layless]"; + mes "Before we start the class, I'll need some reserve items."; + mes "It's for better understanding of Yggdrasil."; + next; + mes "[Saphien Layless]"; + mes "Anything is fine as long as it's related to the Yggdrasil tree."; + mes "Seeds or fruits of the tree would be good. I know it's difficult to find, but please try."; + next; + set SAGE_Q2,1; + changequest 2047,2050; + mes "[Saphien Layless]"; + mes "When we have the reserve items, we will start the class."; + mes "Please come back."; + close; + } + else { + if (countitem(607) > 0) { + mes "[Saphien Layless]"; + mes "Oh, did you bring them with you? Excellent!"; + mes "You brought Yggdrasilberry!"; + next; + mes "[Saphien Layless]"; + mes "Okay, now I am starting the class."; + mes "Listen carefully, I will not accept dozing off in the middle of class."; + next; + } + else if (countitem(608) > 0) { + mes "[Saphien Layless]"; + mes "Hmm, did you prepare for class? Let's see..."; + mes "Oh! So you brought me the Yggdrasil Seed?"; + next; + mes "[Saphien Layless]"; + mes "Very well. Now I am starting the class.."; + mes "Listen carefully, I will not accept dozing off in the middle of class."; + next; + } + else if (countitem(610) > 0) { + mes "[Saphien Layless]"; + mes "Hmm, did you prepare for class? Let's see..."; + mes "Yggdrasil Leaf..."; + next; + mes "[Saphien Layless]"; + mes "You can purchase this item from the town of Al De Baran! You didn't show any effort."; + mes "So, I must give you - 10 points, " + strcharinfo(0) + "."; + next; + mes "[Saphien Layless]"; + mes "Okay, now I am starting the class."; + mes "Listen carefully, I will not accept you dozing off in the middle of class, or any more slacking."; + next; + } + else { + mes "[Saphien Layless]"; + mes "Huh? You're not ready to this class yet!"; + mes "I told you to bring me any items related Yggdrasil."; + next; + mes "[Saphien Layless]"; + mes "Tell me when you're ready."; + mes "Don't worry about being late, we professors are paid to wait around."; + close; + } + mes "[Saphien Layless]"; + mes "The root of this world, Yggdrasil, is a gigantic tree."; + mes "It takes root all over the continent of Rune-Midgarts and its leaves reach the sky."; + next; + mes "[Saphien Layless]"; + mes "Outside of this continent, there is a ocean where a giant snake named Yormungandr is coiled up."; + mes "The world as we know it consists of 3 places: Asgard, Midgard and Utgard."; + next; + mes "[Saphien Layless]"; + mes "Utgard is where all the titans live."; + next; + mes "[Saphien Layless]"; + mes "Midgard is where all human beings live."; + next; + mes "[Saphien Layless]"; + mes "And Asgard is where the gods reside..."; + mes "An ash tree taking root in the middle of the Rune-Midgarts continent, that is Yggdrasil."; + next; + mes "[Saphien Layless]"; + mes "This continent was born from the heart of Ymir, and Yggdrasil holds the continent together by grasping it with its 3 roots."; + mes "These roots stretch into 3 different places."; + next; + mes "[Saphien Layless]"; + mes "The first root reaches Asgard where the gods live and "; + mes "where we, mere humans, haven't yet explored or experienced."; + next; + mes "[Saphien Layless]"; + mes "The second root reaches Jotunnheim where all the giants live."; + mes "We've been told this name many times through myths and legends."; + next; + mes "[Saphien Layless]"; + mes "The third one reaches Niflheim."; + mes "That place is rumored to be covered with a thick, black fog."; + next; + mes "[Saphien Layless]"; + mes "Items, such as Seed of Yggdrasil, Yggdrasilbrry and Leaf of Yggdrasil are"; + mes "considered a part of Yggdrasil tree."; + next; + mes "[Saphien Layless]"; + mes "Yggdrasilberry has a fascinating scent that is rumored to"; + mes "restore full HP and SP at once."; + next; + mes "[Saphien Layless]"; + mes "The seed of Yggdrasil which has the fragrance of a blooming flower and the flavor of nut is rumored to"; + mes "restore half of HP and SP at once."; + next; + mes "[Saphien Layless]"; + mes "The leaf of Yggdrasil which is filled with vital force is rumored to"; + mes "revive the dead, bringing them back to this world."; + next; + mes "[Saphien Layless]"; + mes "Lastly... if by some chance you discover a way into Asgard in the future, "; + mes "I hope you will find the Yggdrasil tree."; + next; + mes "[Saphien Layless]"; + mes "Even though the story of the Yggdrasil tree only exists in myths and legends, "; + mes "we Sages are obligated to discover the truth of the Yggdrasil tree."; + next; + mes "[Saphien Layless]"; + mes "That is the end of today's class."; + mes "Please record the articles you've learned today, and try to remember as much as you can."; + next; + mes "[Saphien Layless]"; + mes "In the next class, you will write a thesis about Yggdrasil..."; + mes "Please bring the following items to prepare for class."; + next; + mes "[Saphien Layless]"; + mes "^3355FF1 Feather of Birds^000000 which will be used as a pen,"; + mes "^3355FF1 Animal Skin^000000 which will be used as paper,"; + mes "^3355FF1 Trunk^000000 which will be used to bind a book,"; + mes "^3355FF1 Squid Ink^000000 which will be used as ink,"; + mes "^3355FF1 Empty Bottle^000000 which will be used for holding the squid ink."; + next; + set SAGE_Q2,0; + set SAGE_Q,10; + changequest 2050,2051; + mes "[Saphien Layless]"; + mes "I will help you to write your thesis when you're ready with all those items."; + mes "I am looking forward to the next class with you."; + close; + } + } + else if (SAGE_Q == 10) { + if (countitem(916) > 0 && countitem(919) > 0 && countitem(1019) > 0 && countitem(1024) > 0 && countitem(713) > 0) { + delitem 916,1; //Feather_Of_Birds + delitem 919,1; //Animal's_Skin + delitem 1019,1; //Wooden_Block + delitem 1024,1; //Chinese_Ink + delitem 713,1; //Empty_Bottle + mes "Now, you're writing your thesis."; + mes "I will assist you with your writing."; + next; + mes ".........."; + next; + mes "...................."; + next; + mes "................................."; + next; + mes ".....There is a ocean around the continent,"; + mes "The ocean is coiled up by"; + switch(select("A giant ash tree.:A giant snake Yormungandr.:A giant turtle and elephants.:A giant dragon.")) { + case 1: + set .@w_point,.@w_point+1; + mes "A giant ash tree."; + break; + case 2: + mes "A giant snake Yormungandr."; + break; + case 3: + set .@w_point,.@w_point+1; + mes "A giant turtle and elephants."; + break; + case 4: + set .@w_point,.@w_point+1; + mes "A giant dragon."; + break; + } + mes "The continent consists of three places such as,"; + switch(select("Mt.Mjolnir, where spiders live,:Uranos, where titans live,:Utgard, where titans live,:Lutie, the winter land,")) { + case 1: + set .@w_point,.@w_point+1; + mes "Mt.Mjolnir where spiders live,"; + break; + case 2: + set .@w_point,.@w_point+1; + mes "Uranos where titans live,"; + break; + case 3: + mes "Utgard where titans live,"; + break; + case 4: + set .@w_point,.@w_point+1; + mes "Lutie, the winter land,"; + break; + } + switch(select("Midgard, where humans live,:Rune-Midgarts where humans live,:Tritonia, where mermaids live,:Morroc, the desert city,")) { + case 1: + mes "Midgard, where humans live in,"; + break; + case 2: + set .@w_point,.@w_point+1; + mes "Rune-Midgarts, where humans live,"; + break; + case 3: + set .@w_point,.@w_point+1; + mes "Tritonia, where mermaids live,"; + break; + case 4: + set .@w_point,.@w_point+1; + mes "Morroc, the desert city,"; + break; + } + switch(select("Abguard, where gods live.:Asgard, where gods live.:Schwarzwald, where citizens live.:Prontera, the capital of Rune-Midgarts.")) { + case 1: + set .@w_point,.@w_point+1; + mes "Abguard where gods live."; + break; + case 2: + mes "Asgard, where gods live."; + break; + case 3: + set .@w_point,.@w_point+1; + mes "Schwarzwald, where citizens live."; + break; + case 4: + set .@w_point,.@w_point+1; + mes "Prontera, the capital of Rune-Midgarts."; + break; + } + mes "The continent consists of the three places stated above."; + next; + if (.@w_point > 0) { + mes "[Saphien Layless]"; + mes "..." + strcharinfo(0) + ", have you lost your mind?"; + mes "Your work is too poor to be considered as a thesis!"; + next; + mes "[Saphien Layless]"; + mes "I don't think you can submit your work to the dean."; + mes "Go study harder and try again!"; + close; + } + mes ".....as we studied from the last class,"; + mes "Yggdrasil is..."; + switch(select("A giant ash tree.:A fabulous Mastella tree.:A giant willow.:A giant dead branch.")) { + case 1: + mes "A giant ash tree."; + break; + case 2: + set .@w_point,.@w_point+1; + mes "A fabulous Mastella tree."; + break; + case 3: + set .@w_point,.@w_point+1; + mes "A giant willow."; + break; + case 4: + set .@w_point,.@w_point+1; + mes "A giant dead branch."; + break; + } + mes "The root of Yggdrasil is divided into 3 parts. Those parts reach to 3 places..."; + switch(select("Schwarzwald, Jotunnheim, Niflheim.:Midgard, Jotunnheim, Naffleheim.:Asgard, Jotunnheim, Naffleheim.:Asgard, Jotunnheim, Niflheim.")) { + case 1: + set .@w_point,.@w_point+1; + mes "Schwarzwald, Jotunnheim, Niflheim."; + break; + case 2: + set .@w_point,.@w_point+1; + mes "Midgard, Jotunnheim, Naffleheim."; + break; + case 3: + set .@w_point,.@w_point+1; + mes "Asgard, Jotunnheim, Naffleheim."; + break; + case 4: + mes "Asgard, Jotunnheim, Niflheim."; + break; + } + mes "One who has a Seed of Yggdrasil,"; + switch(select("can be cured from all the abnormal statuses.:can restore full HP and SP at once.:can restore half of total HP and SP.:can be cured from Silence, Curse and Chaos.")) { + case 1: + set .@w_point,.@w_point+1; + mes "can be cured from all the abnormal statuses."; + break; + case 2: + set .@w_point,.@w_point+1; + mes "can restore full HP and SP at once."; + break; + case 3: + mes "can restore half of total HP and SP."; + break; + case 4: + set .@w_point,.@w_point+1; + mes "can be cured from Silence, Curse and Chaos."; + break; + } + next; + if (.@w_point > 0) { + mes "[Saphien Layless]"; + mes "..." + strcharinfo(0) + ", have you lost your mind?"; + mes "Your work is too poor to be considered as a thesis!"; + next; + mes "[Saphien Layless]"; + mes "I don't think you can submit your work to the dean."; + mes "Go study harder and try again!"; + close; + } + mes ".........."; + next; + mes "...................."; + next; + mes "................................."; + next; + set SAGE_Q,15; + changequest 2051,2052; + mes "[Saphien Layless]"; + mes "Oh, did you finish already? Well done."; + mes "Please handle this with care, because you won't be able to do this ever again."; + getitem 1550,1; //Book + next; + mes "[Saphien Layless]"; + mes "I assume you're ready to submit your work to the dean."; + mes "Whether you will pass the test or not is his decision."; + close; + } + else { + mes "I am not sure that you're ready to write a thesis."; + mes "I am afraid to say I already informed you of what you need."; + next; + mes "[Saphien Layless]"; + mes "^3355FF1 Feather of Birds^000000 which will be used as a pen,"; + mes "^3355FF1 Animal Skin^000000 which will be used as paper,"; + mes "^3355FF1 Trunk^000000 which will be used to bind a book,"; + mes "^3355FF1 Squid Ink^000000 which will be used as ink,"; + mes "^3355FF1 Empty Bottle^000000 which will be used for holding squid ink."; + next; + mes "[Saphien Layless]"; + mes "I will assist you in writing your thesis."; + mes "Please bring all those items with you."; + close; + } + } + else if (SAGE_Q == 15) { + mes "Huh? Aren't you supposed to head over to the dean?"; + mes "If you've finished writing your thesis, please bring it to the dean."; + next; + mes "[Saphien Layless]"; + mes "You can have only one chance to write your thesis before you become a Sage."; + mes "So please move on."; + close; + } + else { + mes "I am not sure if you have business with me, but please come back later."; + mes "I have some issues to think about.."; + close; + } +} + +yuno_in03,32,102,1 script Biology Professor#sa 755,{ + mes "[Lucius Celsus]"; + if (BaseJob != Job_Mage) { + if (BaseJob == Job_Sage) { + mes "What is your business with me?"; + mes "You must make a reservation a week in advance if you have any questions."; + next; + mes "[Lucius Celsus]"; + mes "You don't know how busy person I am...don't you?"; + mes "If you're a Sage, you're supposed to know about me by now."; + next; + mes "[Lucius Celsus]"; + mes "You have too much time on your hands. Go explore some dungeons."; + mes "I think it will be more helpful than wasting your time on me."; + } + else if (BaseJob == Job_Novice) { + mes "What brings you to me, kid?"; + next; + mes "[Lucius Celsus]"; + mes "You'd better go out and play with your pals. "; + mes "This is not a place where you can fool around."; + } + else { + mes "Hmm? What brings you to me? Are you interested in watching monsters?"; + next; + mes "[Lucius Celsus]"; + mes "You're allowed to watch. However, do not disturb them by making any fuss."; + mes "And keep your hands off, some of these guys are way too dangerous to touch."; + next; + mes "[Lucius Celsus]"; + mes "By the way, if you catch any rare monsters in future, let me know."; + mes "I am willing to purchase those at any cost."; + } + close; + } + if (SAGE_Q == 11) { + if (SAGE_Q2 == 0) { + mes "Welcome to my class, did you earn good results in the practical exam?"; + mes "My name is Lucius Celsus, the expert of Biology."; + next; + mes "[Lucius Celsus]"; + mes "Huh...how rude of you! You're expected to introduce yourself to me as soon as I greet you!"; + mes "What is your name, young one?"; + next; + select(strcharinfo(0)); + mes "[Lucius Celsus]"; + mes "A fine name. It's nice to meet you."; + mes "So, are you aware of the subject you're studying?"; + next; + mes "[Lucius Celsus]"; + mes "As you know, your topic of study is monsters."; + mes "How many times have you fought with monsters?"; + next; + if (select("Well, I can't even count.:A few times, I guess...") == 1) { + mes "[Lucius Celsus]"; + mes "Oh shut up, you brat. Don't be so sure about yourself."; + mes "Even if you have much experience with monsters, you will have a hard time comprehending my lecture."; + } + mes "[Lucius Celsus]"; + mes "Yes, that's what I guessed about you. You're just book smart."; + mes "However, I am sure you will encounter most of the monsters mentioned in my lecture."; + next; + set sage_m4,rand(1,3); + mes "[Lucius Celsus]"; + mes "Let's get started."; + mes "Make sure you're ready for the practical examination during my lecture."; + next; + if (sage_m4 == 1) { + set SAGE_Q2,1; + changequest 2048,2053; + mes "[Lucius Celsus]"; + mes "Go bring the following items to me."; + mes "5 ^3355FFTentacle^000000,"; + mes "5 ^3355FFSingle Cell^000000,"; + mes "5 ^3355FFFish Tail^000000."; + } + else if (sage_m4 == 2) { + set SAGE_Q2,2; + changequest 2048,2054; + mes "[Lucius Celsus]"; + mes "Go bring the following items to me."; + mes "5 ^3355FFNipper^000000,"; + mes "5 ^3355FFClam Flesh^000000,"; + mes "5 ^3355FFHeart of Mermaid^000000."; + } + else { + set SAGE_Q2,3; + changequest 2048,2054; + mes "[Lucius Celsus]"; + mes "Go bring following items to me."; + mes "5 ^3355FFTendon^000000,"; + mes "5 ^3355FFNipper^000000,"; + mes "5 ^3355FFSharp Scale^000000."; + } + next; + mes "[Lucius Celsus]"; + mes "I will proceed with the class when you bring those to me."; + mes "Have fun."; + close; + } + else if (SAGE_Q2 >= 1 && SAGE_Q2 <=3) { + switch(SAGE_Q2) { + case 1: setarray .@items[0],962,1052,1023; break; + //Nipper, Clam Flesh, Heart of Mermaid + case 2: setarray .@items[0],960,966,950; break; + //Tendon, Nipper, Sharp Scale + case 3: setarray .@items[0],1050,960,963; break; + } + if (countitem(.@items[0]) > 4 && countitem(.@items[1]) > 4 && countitem(.@items[2]) > 4) { + mes "You showed great effort to gather all of those."; + mes "Well, I am not sure if you gathered them by yourself or bought them from shops..."; + next; + mes "[Lucius Celsus]"; + mes "Somehow the monsters that drop those items have something in common."; + mes "Can you tell me what that similarity is?"; + next; + switch(select("They possess water property.:They are fishes.:They are aggressive.:Um...they monsters.")) { + case 1: + mes "[Lucius Celsus]"; + mes "Yes, they possess water property and at the same time they are fishes."; + mes "Most fish class monsters live underwater, so they are attributed with the water property."; + break; + case 2: + mes "[Lucius Celsus]"; + mes "Yes, they possess water property and at the same time they are fishes."; + mes "Most fish class monsters live underwater, so they are attributed with the water property."; + break; + case 3: + set sage_m4,4; + mes "[Lucius Celsus]"; + mes "...I didn't know Phens were aggressive nowadays?"; + mes "Or do Marina and Plankton team up to start a fight with you?"; + next; + mes "[Lucius Celsus]"; + mes "All the monsters from which you obtained these items are not agressive... get a grip."; + mes "They are all fishes and possess water property."; + break; + case 4: + set sage_m4,4; + mes "[Lucius Celsus]"; + mes "What...! What are you here for!? You are here to study about specific monsters, microcephalic moron!"; + mes "Sigh...they are all fishes and possess water property."; + break; + } + next; + mes "[Lucius Celsus]"; + mes "Not all fish class monsters possess water property, but most of them do."; + mes "So which kind of magic would work best on most fish class monsters?"; + next; + switch(select("Lightening Bolt.:Fire Bolt.:Thunder Storm.:Frost Diver.")) { + case 1: + mes "[Lucius Celsus]"; + mes "That's right, Lightening Bolt, which possesses the wind property, works best on water property monsters."; + mes "Although you might want to be careful of monsters that recognize magic casting."; + break; + case 2: + set sage_m4,4; + mes "[Lucius Celsus]"; + mes "What? Fire Bolt! Fire cannot beat water, you imbecile!"; + mes "Most fishes are attributed with the water property. Therefore, they are weak to wind property magic spells. Don't you get it?"; + break; + case 3: + mes "[Lucius Celsus]"; + mes "Yeah, Thunder Storm spell is fine... it's a wind property spell."; + mes "However, you will be in trouble if you use the spell in a poorly chosen spot."; + break; + case 4: + set sage_m4,4; + mes "[Lucius Celsus]"; + mes "I can't fathom such stupidity! This question asks you to choose a property that counters water! Don't you get it?"; + mes "Logically, any magic spell possessing the water property cannot overcome the water atrribute monsters!"; + break; + } + next; + mes "[Lucius Celsus]"; + mes "By the way, although some monsters such as Penomena or Aster are considered to be fish class monsters, "; + mes "they have a different property than the others. You'd better be careful with them."; + next; + mes "[Lucius Celsus]"; + mes "Okay, let me teach you about insect monsters."; + mes "Let's see... hmm... hmm..."; + next; + switch(rand(1,4)) { + case 1: + set SAGE_Q2,4; + if(checkquest(2053) != -1) { + changequest 2053,2056; + } + else if(checkquest(2054) != -1) { + changequest 2054,2056; + } + else { + changequest 2055,2056; + } + mes "5 ^3355FFCobweb^000000,"; + mes "5 ^3355FFShell^000000,"; + mes "5 ^3355FFInsect Feeler^000000."; + break; + case 2: + set SAGE_Q2,5; + if(checkquest(2053) != -1) { + changequest 2053,2057; + } + else if(checkquest(2054) != -1) { + changequest 2054,2057; + } + else { + changequest 2055,2057; + } + mes "5 ^3355FFHorn^000000,"; + mes "5 ^3355FFSnail's Shell^000000,"; + mes "5 ^3355FFMoth Dust^000000."; + break; + case 3: + set SAGE_Q2,6; + if(checkquest(2053) != -1) { + changequest 2053,2058; + } + else if(checkquest(2054) != -1) { + changequest 2054,2058; + } + else { + changequest 2055,2058; + } + mes "5 ^3355FFMantis Scythe^000000,"; + mes "5 ^3355FFWorm Peeling^000000,"; + mes "5 ^3355FFRainbow Shell^000000."; + break; + case 4: + set SAGE_Q2,7; + if(checkquest(2053) != -1) { + changequest 2053,2059; + } + else if(checkquest(2054) != -1) { + changequest 2054,2059; + } + else { + changequest 2055,2059; + } + mes "5 ^3355FFCobweb^000000,"; + mes "5 ^3355FFMantis Scythe^000000,"; + mes "5 ^3355FFSolid Shell^000000."; + } + next; + mes "[Lucius Celsus]"; + mes "I will proceed with the class when you bring those to me."; + mes "Have fun."; + close; + } + mes "What, you already forgot what I told you just a minute before?"; + mes "What a nusance... listen carefully this time."; + next; + mes "[Lucius Celsus]"; + mes "5 ^3355FF"+getitemname(.@items[0])+"^000000,"; + mes "5 ^3355FF"+getitemname(.@items[1])+"^000000,"; + mes "5 ^3355FF"+getitemname(.@items[2])+"^000000,"; + close; + } + else if (SAGE_Q2 >= 4 && SAGE_Q2 <= 7) { + switch(SAGE_Q2) { + case 4: setarray .@items[0],1025,935,928; break; + //Horn, Snail's Shell, Moth Dust + case 5: setarray .@items[0],947,946,1057; break; + //Mantis Scythe, Worm Peeling, Rainbow Shell + case 6: setarray .@items[0],1031,955,1013; break; + //Cobweb, Mantis Scythe, Solid Shell + case 7: setarray .@items[0],1025,1031,943; break; + } + if (countitem(.@items[0]) > 4 && countitem(.@items[1]) > 4 && countitem(.@items[2]) > 4) { + mes "Well done. So, did you watch insects while gathering those items?"; + mes "Oh well, I believe you did a good job with the task."; + next; + mes "[Lucius Celsus]"; + mes "Insect class monsters do not share the same property most of the time, "; + mes "You must think twice before you cast a magic spell on an insect."; + next; + mes "[Lucius Celsus]"; + mes "It's remarkable that insects can detect hidden objects."; + mes "Therefore, any hiding skill such as the Hiding skill or Cloaking skill will not work on insect monsters."; + next; + mes "[Lucius Celsus]"; + mes "Some insects form a group and live together."; + mes "They are controlled by the head of the group..."; + next; + mes "[Lucius Celsus]"; + mes "For instance, Maya the queen ant..."; + mes "Mistress, the queen of hornets,"; + mes "or Golden Thiefbug, the king of thiefbugs..."; + next; + mes "[Lucius Celsus]"; + mes "You cannot beat those boss monsters alone, "; + mes "you'd better form a party if you want to fight with them."; + next; + mes "[Lucius Celsus]"; + mes "That's the end of my class...it's time for you to write a thesis."; + mes "Bring me following items for writing the thesis."; + next; + mes "[Lucius Celsus]"; + mes "^3355FF1 Feather of Birds^000000 which will be used as a pen,"; + mes "^3355FF1 Animal Skin^000000 which will be used as paper,"; + mes "^3355FF1 Trunk^000000 which will be used to bind a book,"; + mes "^3355FF1 Squid Ink^000000 which will be used as ink,"; + mes "^3355FF1 Empty Bottle^000000 which will be used for holding squid ink."; + next; + set SAGE_Q2,0; + set SAGE_Q,12; + if(checkquest(2056) != -1) { + changequest 2056,2051; + } + else if(checkquest(2057) != -1) { + changequest 2057,2051; + } + else if(checkquest(2058) != -1) { + changequest 2058,2051; + } + else { + changequest 2059,2051; + } + mes "[Lucius Celsus]"; + mes "I will help you in writing the thesis when you bring all of those items."; + mes "You're almost there. Isn't learning easy?"; + close; + } + mes "What, you already forgot what I told you?"; + mes "What a nuisance...listen carefully this time."; + next; + mes "[Lucius Celsus]"; + mes "5 ^3355FF"+getitemname(.@items[0])+"^000000,"; + mes "5 ^3355FF"+getitemname(.@items[1])+"^000000,"; + mes "5 ^3355FF"+getitemname(.@items[2])+"^000000,"; + close; + } + mes "Zzz...Zzz..."; + close; + } + else if (SAGE_Q == 12) { + if (countitem(916) > 0 && countitem(919) > 0 && countitem(1019) > 0 && countitem(1024) > 0 && countitem(713) > 0) { + delitem 916,1; //Feather_Of_Birds + delitem 919,1; //Animal's_Skin + delitem 1019,1; //Wooden_Block + delitem 1024,1; //Chinese_Ink + delitem 713,1; //Empty_Bottle + mes "Hmph. Lucky brat brought all of the items."; + mes "Well, I don't expect you to write an outrageously great thesis though..."; + next; + mes "[Lucius Celsus]"; + mes "Well, if you really want to write it by yourself, I can let you handle it but..."; + mes "I will give you a work of staggering genius. Just make a copy of it under your name."; + next; + mes "[Lucius Celsus]"; + mes "You got a problem with that? Tough, that's my style."; + mes "Just do what I say."; + next; + mes ".........."; + next; + mes "...................."; + next; + mes "................................."; + next; + select(".....Monsters vary by physical appearance,"); + mes ".....Monsters vary by physical appearance,"; + select("...and possess various elemental properties."); + mes "...and possess various elemental properties."; + select("You must be aware of each monster's properties,"); + mes "You must be aware of each monster's properties,"; + select("...and be aware that certain spells work differently on different monsters."); + mes "...and be aware that certain spells work differently on different monsters."; + select("You must be especially careful of holy property and shadow property monsters."); + mes "You must be especially careful of holy property and shadow property monsters."; + select("These monsters are most dangerous, though occasionally cute."); + mes "These monsters are most dangerous."; + next; + mes ".........."; + next; + mes "...................."; + next; + mes "................................."; + next; + set SAGE_Q,15; + changequest 2051,2052; + mes "[Lucius Celsus]"; + mes "Are you done? Okay, then it's over."; + mes "You won't be able to write another thesis again, handle this with care."; + getitem 1550,1; //Book + next; + mes "[Lucius Celsus]"; + mes "Show this masterpiece to the dean."; + mes "Then, he will let you graduate from the academy. See you."; + close; + } + else { + mes "What, are you sure that you're ready? No, I don't think so."; + mes "Oh well... listen carefully this time."; + next; + mes "[Lucius Celsus]"; + mes "^3355FF1 Feather of Birds^000000 which will be used as a pen,"; + mes "^3355FF1 Animal Skin^000000 which will be used as paper,"; + mes "^3355FF1 Trunk^000000 which will be used to bind a book,"; + mes "^3355FF1 Squid Ink^000000 which will be used as ink,"; + mes "^3355FF1 Empty Bottle^000000 which will be used for holding squid ink."; + next; + mes "[Lucius Celsus]"; + mes "You have been doing fine, I guess you can do this without a problem."; + mes "Go get them. Hurry up."; + close; + } + } + else if (SAGE_Q == 15) { + mes "What are you doing here, Go show your thesis to the dean!"; + mes "Don't wasn't any more time here."; + next; + mes "[Lucius Celsus]"; + mes "It seems you have too much time on your hands. Okay, I will assign you some tasks."; + mes "Hahaha, did you say no? Alright then, fine. Scram."; + close; + } + else { + mes "Wah~! My brain is gonna blow up soon! Why must I have to prepare all of these things?!"; + mes "Who are you?! Don't disturb me, I'm busy!!"; + next; + mes "[Lucius Celsus]"; + mes "If you just want to watch monsters here, fine with me..."; + mes "Just don't ask me any questions."; + close; + } +} + +yuno_in03,244,31,3 script Physics Professor#sa 120,{ + mes "[Aebecee George]"; + if (BaseJob != Job_Mage) { + if (BaseJob == Job_Sage) { + mes "Tee hee, hello there! What brings you here again, sweetie?"; + mes "Oh, I see... you're just excited because you finally became a Sage? Tee hee~"; + next; + mes "[Aebecee George]"; + mes "Oh well, although you have become a Sage, you're just doing the same thing, tee hee...we're mages down to the core!"; + mes "We're way better than any other class because we're pretty good with our heads, you know?"; + next; + mes "[Aebecee George]"; + mes "Okay, is there anything you want to talk about?"; + mes "Oh dearie, don't be nervous...where's your sense of adventure?"; + } + else if (BaseJob == Job_Novice) { + mes "Well, aren't you the cutest little Novice~"; + next; + mes "[Aebecee George]"; + mes "What are you doing here, sweetcakes? Do you just come over to see what's in here?"; + mes "Do you want some candy? Candy, my precious? Tee hee."; + next; + mes "[Aebecee George]"; + mes "Oh gosh...Sorry, I thought I had some..."; + mes "But I've got other treats, you catch my drift?"; + } + else { + mes "Hey there, tee hee, how's it going sailor?"; + next; + mes "[Aebecee George]"; + mes "Did you come here to look around? Huh...?"; + mes "Well, if you're not here for business, you must be here..."; + next; + mes "[Aebecee George]"; + mes "...for PLEASURE."; + mes "Hey wait! Come back~!"; + } + close; + } + if (SAGE_Q == 13) { + if (SAGE_Q2 == 0) { + mes "Hello~? Nice to meet you, tee hee."; + mes "Did you come to see me? Oh, you're a student!"; + next; + mes "[Aebecee George]"; + mes "Tee hee, I am the Professor in charge of you, Abecee George."; + mes "So...aren't you happy to be with me, dearie? Aren't you gay? Tee hee~"; + next; + mes "[Aebecee George]"; + mes "However, before we get start class, I need you to do me...a favor."; + mes "Don't be scared, its just an eensy weensy favor. Tee hee~"; + next; + mes "[Aebecee George]"; + mes "Please bring me ^3355FF30 Stone^000000, that's all."; + mes "It's not so hard, isn't it?"; + next; + set SAGE_Q2,1; + changequest 2049,2060; + mes "[Aebecee George]"; + mes "Why don't you ask a thief pal for help?"; + mes "We'll start the class when you bring me those stones~ Tee hee~"; + close; + } + else if (SAGE_Q2 == 1) { + if (countitem(7049) > 29) { + mes "Oh~ how sweet! You brought them all~ thank you~"; + mes "Oh, can you wait a little bit? I need to do something before we start. Tee hee~"; + next; + mes "[Aebecee George]"; + mes "Hocus-focus!!"; + next; + mes "[Aebecee George]"; + mes "Hocus~focus!!"; + next; + mes "[Aebecee George]"; + mes "Ho~cus~fo~cus!!"; + next; + delitem 7049,30; //Stone + mes "[Aebecee George]"; + mes "Tee hee, you naughty stone~"; + mes "Only 3 of them worked for me. Tee hee~"; + next; + mes "[Aebecee George]"; + mes "Here's my other favor to ask of you. Oh, are those tears of...joy?"; + mes "Oh, I'm sooo excited too! Tee hee~"; + next; + getitem 991,1; //Crystal_Blue + getitem 993,1; //Yellow_Live + getitem 992,1; //Wind_Of_Verdure + mes "[Aebecee George]"; + mes "I will give you these elemental ores...but...they are not for free."; + mes "Whoa there cowboy! Don't pull out so soon~ Listen, tee hee~"; + set SAGE_Q2,2; + changequest 2060,2061; + next; + mes "[Aebecee George]"; + mes "Please make arrows using these items and bring them to me, pretty please~"; + mes "50 ^3355FFCrystal Arrow^000000,"; + mes "50 ^3355FFStone Arrow^000000,"; + mes "50 ^3355FFWind Arrow^000000."; + next; + mes "[Aebecee George]"; + mes "Ask any of your Archer friends if you know any."; + mes "I am looking forward to seeing you again, tee hee~"; + close; + } + else { + mes "You don't have all the items? And here I was, getting all hot and bothered."; + mes "Go on, sweetheart, and hurry baaack~"; + next; + mes "[Aebecee George]"; + mes "I asked you to bring ^3355FF30 Stone^000000."; + mes "There are many out there, so you won't have too hard a time getting them~ tee hee."; + close; + } + } + else if (SAGE_Q2 == 2) { + if (countitem(1754) > 49 && countitem(1756) > 49 && countitem(1755) > 49) { + mes "Oh~ how sweet! You brought them all~ Oh thank you~"; + mes "Well now, let's get down to business. Tee hee~"; + next; + mes "[Aebecee George]"; + mes "I'll say something, and you just write everything down."; + mes "Don't forget to underline the important sentences~"; + next; + mes "[Aebecee George]"; + mes "Water property magic is sooo strong against the fire property."; + mes "Just remember those burly, sexay fire fighters, shall we say, putting out that fire with water. Ooh, wet!"; + next; + mes "[Aebecee George]"; + mes "Wind property magic totally dominates the water property! Oh, yes~"; + mes "Think of a hot flash, and by that I mean ligntening, striking a lake. Oh, I'm bad!"; + next; + mes "[Aebecee George]"; + mes "In terms of strength, magic with earth property goes on top of wind property magic! Ho~~"; + mes "Just think of how the wind passionately beats against the cliffside near the Lookout Point or Lover's Lane. Tee hee~"; + next; + mes "[Aebecee George]"; + mes "Magic with fire property is strong against earth property! Tee hee~"; + mes "Just think of burning wood, sprung from the earth, in a cozy fireplace. On the bearskin, in the dark~"; + next; + mes "[Aebecee George]"; + mes "...Oh my gosh! Time flies sooo fast!"; + mes "Let's call it a day, dear, tee hee~"; + next; + delitem 1754,50; //Crystal_Arrow + delitem 1756,50; //Stone_Arrow + delitem 1755,50; //Arrow_Of_Wind + mes "[Aebecee George]"; + mes "When you come to the next class, bring ^3355FF1 Holy Water^000000~"; + mes "I hope you have at least one Priest friend. Oh, you don't? Well, it couldn't hurt to get friendly with one."; + set SAGE_Q2,3; + changequest 2061,2062; + close; + } + else { + mes "What are you doing here, precious...are you trying to fool me? Tee hee~"; + mes "I hope you didn't sell the elemental ores I gave you? Naughty naughty~ Don't you know diamonds are a girl's best friend? Tee hee~"; + next; + mes "[Aebecee George]"; + mes "50 ^3355FFCrystal Arrow^000000,"; + mes "50 ^3355FFStone Arrow^000000,"; + mes "50 ^3355FFWind Arrow^000000."; + mes "Ask your Archer friend if you have one~ tee hee."; + close; + } + } + else if (SAGE_Q2 == 3) { + if (countitem(523) > 0) { + mes "Oh~ how sweet! You brought some Holy Water~ thanks honey~"; + mes "Oh righty, we should start class. Tee hee~"; + next; + mes "[Aebecee George]"; + mes "Just Like last time, I will speak and you just write down everything I say."; + mes "Even if you don't understand, just pretend and go with the flow, alright? Tee hee~"; + next; + mes "[Aebecee George]"; + mes "Water Magic is weak against wind property! Yes, that's right~"; + mes "Just remember why you don't keep the electric fan around when you're taking a hot bubble bath. Ooh! So electric!"; + next; + mes "[Aebecee George]"; + mes "Magic with the wind property is weak against earth property!"; + mes "Think of how the wind can't, shall we say, penetrate a mud facial mask~"; + next; + mes "[Aebecee George]"; + mes "Magic with earth property is weak against fire property! Tee hee~"; + mes "Just think of burning wood, sprung from the earth, in a cozy fireplace. On the be--oh? I said that already? Oh poopy."; + next; + mes "[Aebecee George]"; + mes "Magic with fire property is weak against water property! Yes~"; + mes "When things get flaming hot, it's best to splash things in cold water. Don't you agree~?"; + next; + mes "[Aebecee George]"; + mes "Oh, it's the end of the class~ tee hee."; + mes "So? Do you think you've learned a lot? You can thank me, honey!"; + next; + delitem 523,1; //Holy_Water + mes "[Aebecee George]"; + mes "Well, that's it. You can write your thesis with what I've taught you!"; + mes "Tee hee~ yes! Yes! I am the best teacher in the world! Oh, I am on fire! Tee hee~"; + set SAGE_Q2,0; + set SAGE_Q,14; + changequest 2062,2051; + next; + mes "[Aebecee George]"; + mes "Okay, please gather these items so you can write the thesis, dear~ Tee hee~"; + mes "^3355FF1 Feather of Birds^000000 which will be used as a pen,"; + mes "^3355FF1 Animal Skin^000000 which will be used as paper,"; + mes "^3355FF1 Trunk^000000 which will be used to bind a book,"; + mes "^3355FF1 Squid Ink^000000 which will be used as ink,"; + mes "^3355FF1 Empty Bottle^000000 to keep that Squid Ink from splashing."; + next; + mes "[Aebecee George]"; + mes "So get on out there cowboy and hurry back~ Tee hee~"; + close; + } + else { + mes "What are you doing here, precious...are you playing games? Tee hee."; + mes "Oh, poor dear. Did you already forget what I told you? Do you want me to remind you? Tee hee~"; + next; + mes "[Aebecee George]"; + mes "^3355FF1 Holy Water^000000,"; + mes "It couldn't hurt to get friendly with an Aco or Priest...tee hee."; + close; + } + } + else { + mes "So...do you have the time? I'm kidding, girlfriend!"; + close; + } + } + else if (SAGE_Q == 14) { + if (countitem(916) > 0 && countitem(919) > 0 && countitem(1019) > 0 && countitem(1024) > 0 && countitem(713) > 0) { + delitem 916,1; //Feather_Of_Birds + delitem 919,1; //Animal's_Skin + delitem 1019,1; //Wooden_Block + delitem 1024,1; //Chinese_Ink + delitem 713,1; //Empty_Bottle + mes "Okay~ so its now or never~ tee hee~"; + mes "I taught you everything I know. Don't be nervous, you'll be okay~"; + next; + mes ".........."; + next; + mes "...................."; + next; + mes "................................."; + next; + mes ".....Magic spells are varied into 4 elements such as"; + switch(select("Water, Earth, Fire and Wind.:Earth, Water, Fire and Wind.:Water, Wind, Earth and Fire.")) { + case 1: + mes "Water, Earth, Fire and Wind."; + break; + case 2: + mes "Earth, Water, Fire and Wind."; + break; + case 3: + mes "Water, Wind, Earth and Fire."; + break; + } + mes "Each property has an opposing property,"; + switch(select("Magic with wind property is strong against water:Magic with water property is strong against fire:Magic with fire property is strong against earth")) { + case 1: + mes "Magic with wind property is strong against water"; + break; + case 2: + mes "Magic with water property is strong against fire"; + break; + case 3: + mes "Magic with fire property is strong against earth"; + break; + } + mes "Magic with earth property is strong against wind."; + switch(select("However, that does not work on the opposite case :This theory works the same for earth property weapons:Elemental properties are varied by monster types")) { + case 1: + mes "However, that does not work on the opposite case "; + break; + case 2: + mes "This theory works the same for earth property weapons"; + break; + case 3: + mes "Elemental properties are varied by monster types"; + break; + } + switch(select("You must be aware of the limit of your ability.:You must apply different types of property by the situation or place.:Red Potion is rumored to taste like strawberries.")) { + case 1: + mes "You must be aware of the limit of your ability."; + break; + case 2: + mes "You must apply different types of property by the situation or place."; + break; + case 3: + mes "Red Potion is rumored to taste like strawberries."; + break; + } + next; + switch(select("The most adorable NPC is YuPi in Prontera:Red Potion is rumored to be made out of Porings:You never know the limits of magic")) { + case 1: + mes "The most adorable NPC is YuPi in Prontera"; + break; + case 2: + mes "Red Potion is rumored to be made out of Porings"; + break; + case 3: + mes "You never know the limits of magic"; + break; + } + switch(select("Merchant Lady in Morroc is also as cute as YuPi.:Nobody knows why Red Potion tastes like strawberries.:It is not suggested to be too addicted to magic spells.")) { + case 1: + mes "Merchant Lady in Morroc is also as cute as YuPi."; + break; + case 2: + mes "Nobody knows why Red Potion tastes like strawberries."; + break; + case 3: + mes "It is not suggested to be too addicted to magic spells."; + break; + } + switch(select("If I had a Bunny Band,:If so, what about the taste of White Potion?:Only pertinent uses of magic, as well as rest")) { + case 1: + mes "If I had a Bunny Band,"; + break; + case 2: + mes "If so, what about the taste of White Potion?"; + break; + case 3: + mes "Only pertinent uses of magic, as well as rest"; + break; + } + switch(select("I would want to give it to her as a present.:I can't even imagine the taste.:will guarantee you a safe battle.")) { + case 1: + mes "I would want to give it to her as a present."; + break; + case 2: + mes "I can't even imagine the taste."; + break; + case 3: + mes "will guarantee you a safe battle."; + break; + } + switch(select("Although the Bunny Band best fits the Acolyte class:I love this thrilling feeling:Forming a party with people of different classes")) { + case 1: + mes "Although the Bunny Band best fits the Acolyte class"; + break; + case 2: + mes "I love this thrilling feeling"; + break; + case 3: + mes "Forming a party with people of different classes"; + break; + } + switch(select("I still wonder if the Bunny Band would be perfect for GOD-POING.:I won't be able to drink it even if my HP is less than 1.:is considered the best way to ready for battle.")) { + case 1: + mes "I still wonder if the Bunny Band would be perfect for GOD-POING."; + break; + case 2: + mes "I won't be able to drink it even if my HP is less than 1."; + break; + case 3: + mes "is considered the best way to ready for battle."; + break; + } + next; + mes ".........."; + next; + mes "...................."; + next; + mes "................................."; + next; + set SAGE_Q,15; + changequest 2051,2052; + mes "[Aebecee George]"; + mes "Tee hee, so... are you done with your thesis? What do you think of your work? I think you did fine~"; + mes "Don't forget, this is the first and the last time you'll write a thesis, okay? Tee hee~"; + getitem 1550,1; //Book + next; + mes "[Aebecee George]"; + mes "Okay, now you can show the dean your thesis~"; + mes "You're almost there~ tee hee."; + close; + } + else { + mes "What are you still doing here, sweet cheeks? Tee hee~"; + mes "Oh, poor dear. Did you already forget what I told you? Do you want me to remind you? Not a problem, tee hee."; + next; + mes "[Aebecee George]"; + mes "^3355FF1 Feather of Birds^000000 which will be used as a pen,"; + mes "^3355FF1 Animal Skin^000000 which will be used as paper,"; + mes "^3355FF1 Trunk^000000 which will be used to bind a book,"; + mes "^3355FF1 Squid Ink^000000 which will be used as ink,"; + mes "^3355FF1 Empty Bottle^000000 which will be used for holding squid ink."; + next; + mes "[Aebecee George]"; + mes "You are supposed to prepare all of those items, aren't you?"; + mes "Hurry baaack~! Tee hee~"; + close; + } + } + else if (SAGE_Q == 15) { + mes "What are you doing here, dearie? Don't you want to meet the dean and show him your stuff?"; + mes "Take it from me, boys like him won't wait for you forever, tee hee~"; + next; + mes "[Aebecee George]"; + mes "I know, I know...you wanna play with little ol' me. But you should become a Sage first."; + mes "Please hurry up, tee hee."; + close; + } + else { + mes "Well well...what do we have here?"; + next; + mes "[Aebecee George]"; + mes "You're not a Sage. Pity, sweet thang like yourself..."; + mes "But seeing as you're not here for business, you must be here for..."; + next; + mes "[Aebecee George]"; + mes "...PLEASURE. Wait, where are you going, hon?"; + close; + } +} + +job_sage,50,165,4 script Test Helper#talk 700,{ + mes "[Test Helper]"; + mes "Welcome to the Sage practical examination hall."; + mes "If you wish to take the test right now, please enter the waiting room."; + next; + mes "[Test Helper]"; + mes "If someone is currently taking the test, please wait until that person finishes."; + mes "The progression of the test is announced on the entire map. An announcement will be made when the next person is ready to leave the waiting room."; + next; + mes "[Test Helper]"; + mes "The Test takes 5 ~ 10 minutes per each person."; + mes "If you wish to leave the arena, please log out from the game."; + close; +} + +job_sage,50,165,4 script Waiting Room#sg 700,{ +OnInit: + disablenpc "Waiting Room#sg"; + waitingroom "Waiting Room",20,"Waiting Room#sg::OnStartArena",1; + enablewaitingroomevent; + end; + +OnStartArena: + warpwaitingpc "job_sage",116,97; + donpcevent "Arena#1::OnEnable"; + disablewaitingroomevent; + end; + +OnEnable: + enablewaitingroomevent; + end; +} + +- script Arena#1 66,{ +OnInit: + disablenpc "Arena#1"; + end; + +OnEnable: + enablenpc "Arena#1"; + set .MyMobs,16; + monster "job_sage",111,102,"Grade F",1183,1,"Arena#1::OnMyMobDead"; + monster "job_sage",120,102,"Grade F",1183,1,"Arena#1::OnMyMobDead"; + monster "job_sage",111,93,"Grade F",1183,1,"Arena#1::OnMyMobDead"; + monster "job_sage",120,93,"Grade F",1183,1,"Arena#1::OnMyMobDead"; + monster "job_sage",107,98,"Grade F",1183,1,"Arena#1::OnMyMobDead"; + monster "job_sage",124,98,"Grade F",1183,1,"Arena#1::OnMyMobDead"; + monster "job_sage",115,106,"Grade F",1183,1,"Arena#1::OnMyMobDead"; + monster "job_sage",115,90,"Grade F",1183,1,"Arena#1::OnMyMobDead"; + monster "job_sage",103,110,"Grade D",1184,1,"Arena#1::OnMyMobDead"; + monster "job_sage",128,110,"Grade D",1184,1,"Arena#1::OnMyMobDead"; + monster "job_sage",103,85,"Grade D",1184,1,"Arena#1::OnMyMobDead"; + monster "job_sage",128,85,"Grade D",1184,1,"Arena#1::OnMyMobDead"; + monster "job_sage",107,106,"Grade D",1184,1,"Arena#1::OnMyMobDead"; + monster "job_sage",124,106,"Grade D",1184,1,"Arena#1::OnMyMobDead"; + monster "job_sage",107,89,"Grade D",1184,1,"Arena#1::OnMyMobDead"; + monster "job_sage",124,89,"Grade D",1184,1,"Arena#1::OnMyMobDead"; + initnpctimer; + end; + +OnReset: + killmonsterall "job_sage"; + end; + +OnMyMobDead: + set .MyMobs,.MyMobs-1; + if (.MyMobs < 1) { + mapannounce "job_sage"," " + strcharinfo(0) + ", successfully defeat all the monsters.",bc_map; + donpcevent "Arena#2::OnEnable"; + stopnpctimer; + } + end; + +OnTimer1000: + mapannounce "job_sage","The practical examination has started.",bc_map; + end; + +OnTimer2000: + mapannounce "job_sage","1st test - time limit 3 minutes.",bc_map; + end; + +OnTimer3000: + mapannounce "job_sage","Please defeat all the monsters within the time limit.",bc_map; + end; + +OnTimer33000: + mapannounce "job_sage","2 minutes 30 seconds remaining.",bc_map; + end; + +OnTimer63000: + mapannounce "job_sage","2 minutes remaining.",bc_map; + end; + +OnTimer93000: + mapannounce "job_sage","1 minute 30 seconds remaining.",bc_map; + end; + +OnTimer123000: + mapannounce "job_sage","1 min remaining.",bc_map; + end; + +OnTimer153000: + mapannounce "job_sage","30 seconds remaining.",bc_map; + end; + +OnTimer173000: + mapannounce "job_sage","10 seconds remaining.",bc_map; + end; + +OnTimer183000: + mapannounce "job_sage","Time over.",bc_map; + donpcevent "Arena#1::OnReset"; + end; + +OnTimer184000: + areawarp "job_sage",100,82,131,113,"yuno",324,258; + end; + +OnTimer185000: + mapannounce "job_sage","Next candidate, enter.",bc_map; + end; + +OnTimer186000: + disablenpc "Arena#1"; + donpcevent "Waiting Room#sg::OnEnable"; + stopnpctimer; + end; +} + +- script Arena#2 -1,{ +OnInit: + disablenpc "Arena#2"; + end; + +OnEnable: + enablenpc "Arena#2"; + donpcevent "Arena#1::OnReset"; + disablenpc "Arena#1"; + set .MyMobs,24; + monster "job_sage",111,102,"Numerical Value",1063,1,"Arena#2::OnMyMobDead"; + monster "job_sage",111,102,"Physics",1063,1,"Arena#2::OnMyMobDead"; + monster "job_sage",111,102,"History",1063,1,"Arena#2::OnMyMobDead"; + monster "job_sage",120,102,"Geography",1063,1,"Arena#2::OnMyMobDead"; + monster "job_sage",120,102,"Astronomy",1063,1,"Arena#2::OnMyMobDead"; + monster "job_sage",120,102,"Meteorology",1063,1,"Arena#2::OnMyMobDead"; + monster "job_sage",111,93,"Architecture",1063,1,"Arena#2::OnMyMobDead"; + monster "job_sage",111,93,"Control",1063,1,"Arena#2::OnMyMobDead"; + monster "job_sage",111,93,"Instrumentology",1063,1,"Arena#2::OnMyMobDead"; + monster "job_sage",120,102,"Statistics;",1063,1,"Arena#2::OnMyMobDead"; + monster "job_sage",120,102,"Graphic Method",1063,1,"Arena#2::OnMyMobDead"; + monster "job_sage",120,102,"Language",1063,1,"Arena#2::OnMyMobDead"; + monster "job_sage",111,93,"Sitology",1063,1,"Arena#2::OnMyMobDead"; + monster "job_sage",111,93,"Dietetics",1063,1,"Arena#2::OnMyMobDead"; + monster "job_sage",111,93,"Landscape Architecture",1063,1,"Arena#2::OnMyMobDead"; + monster "job_sage",120,93,"Anthropology",1063,1,"Arena#2::OnMyMobDead"; + monster "job_sage",120,93,"Biology",1063,1,"Arena#2::OnMyMobDead"; + monster "job_sage",120,93,"Ethics",1063,1,"Arena#2::OnMyMobDead"; + monster "job_sage",107,98,"Economy",1063,1,"Arena#2::OnMyMobDead"; + monster "job_sage",107,98,"Politics",1063,1,"Arena#2::OnMyMobDead"; + monster "job_sage",107,98,"Photography",1063,1,"Arena#2::OnMyMobDead"; + monster "job_sage",124,98,"Dendrology",1063,1,"Arena#2::OnMyMobDead"; + monster "job_sage",124,98,"Hygiene",1063,1,"Arena#2::OnMyMobDead"; + monster "job_sage",124,98,"Sociology",1063,1,"Arena#2::OnMyMobDead"; + initnpctimer; + end; + +OnReset: + killmonsterall "job_sage"; + end; + +OnMyMobDead: + set .MyMobs,.MyMobs-1; + if (.MyMobs < 1) { + mapannounce "job_sage"," " + strcharinfo(0) + ", successfully defeat all the monsters.",bc_map; + donpcevent "Arena#Doorkeeper::OnEnable"; + donpcevent "Arena#3::OnEnable"; + stopnpctimer; + } + end; + +OnTimer1000: + mapannounce "job_sage","Second test - time limit 3 minutes.",bc_map; + end; + +OnTimer2000: + mapannounce "job_sage","Please defeat all the monsters within the time limit.",bc_map; + end; + +OnTimer33000: + mapannounce "job_sage","2 minutes 30 seconds remaining.",bc_map; + end; + +OnTimer63000: + mapannounce "job_sage","2 minutes remaining.",bc_map; + end; + +OnTimer93000: + mapannounce "job_sage","1 minute 30 seconds remaining.",bc_map; + end; + +OnTimer123000: + mapannounce "job_sage","1 min remaining.",bc_map; + end; + +OnTimer153000: + mapannounce "job_sage","30 seconds remaining.",bc_map; + end; + +OnTimer173000: + mapannounce "job_sage","10 seconds remaining.",bc_map; + end; + +OnTimer183000: + mapannounce "job_sage","Time over.",bc_map; + donpcevent "Arena#2::OnReset"; + end; + +OnTimer184000: + areawarp "job_sage",100,82,131,113,"yuno",324,258; + end; + +OnTimer185000: + mapannounce "job_sage","Next candidate, please enter.",bc_map; + end; + +OnTimer186000: + disablenpc "Arena#2"; + donpcevent "Waiting Room#sg::OnEnable"; + stopnpctimer; + end; +} + +- script Arena#Doorkeeper -1,{ +OnInit: + disablenpc "Arena#Doorkeeper"; + end; + +OnEnable: + enablenpc "Arena#Doorkeeper"; + donpcevent "Arena#2::OnReset"; + disablenpc "Arena#2"; + set .MyMobs,1; + monster "job_sage",116,97,"Academic Probation",1179,1,"Arena#Doorkeeper::OnMyMobDead"; + initnpctimer; + end; + +OnReset: + killmonsterall "job_sage"; + end; + +OnDisable: + disablenpc "Arena#3"; + disablenpc "Arena#Doorkeeper"; + end; + +OnMyMobDead: + set .MyMobs,.MyMobs-1; + if (.MyMobs < 1) { + mapannounce "job_sage","Congratulations, " + strcharinfo(0) + ". You passed the test.",bc_map; + set SAGE_Q,8; + donpcevent "Test Helper#sg::OnEnable"; + disablenpc "Arena#Doorkeeper"; + stopnpctimer; + } + end; + +OnTimer1000: + mapannounce "job_sage","3rd test - Time limit 1 minute.",bc_map; + end; + +OnTimer30000: + mapannounce "job_sage","30 seconds remaining.",bc_map; + end; + +OnTimer50000: + mapannounce "job_sage","10 seconds remaining.",bc_map; + end; + +OnTimer60000: + mapannounce "job_sage","Time over.",bc_map; + donpcevent "Arena#Doorkeeper::OnReset"; + end; + +OnTimer61000: + areawarp "job_sage",100,82,131,113,"yuno",324,258; + end; + +OnTimer62000: + mapannounce "job_sage","Next candidate, please enter.",bc_map; + end; + +OnTimer63000: + disablenpc "Arena#Doorkeeper"; + donpcevent "Waiting Room#sg::OnEnable"; + stopnpctimer; + end; +} + +- script Arena#3 -1,{ +OnInit: + disablenpc "Arena#3"; + end; + +OnEnable: + monster "job_sage",107,106,"Absent 3 times",1185,1; + monster "job_sage",124,106,"Being Late 5 times",1185,1; + monster "job_sage",107,89,"Cheating 2 times",1185,1; + monster "job_sage",124,89,"Cheating 4 times",1185,1; + end; + +OnDisable: + killmonsterall "job_sage"; + end; +} + +- script Test Helper#sg -1,{ +OnInit: + disablenpc "Test Helper#sg"; + end; + +OnEnable: + initnpctimer; + end; + +OnTimer2000: + mapannounce "job_sage","Please go back to where you came from and finish the rest of your job change quest.",bc_map; + end; + +OnTimer4000: + mapannounce "job_sage","This is the end of practical examination. Next candidate, please get ready.",bc_map; + end; + +OnTimer5000: + areawarp "job_sage",100,82,131,113,"yuno_in03",163,180; + end; + +OnTimer7000: + mapannounce "job_sage","Next candidate, please enter.",bc_map; + end; + +OnTimer9000: + disablenpc "Test Helper#sg"; + donpcevent "Waiting Room#sg::OnEnable"; + stopnpctimer; + end; +} + +//============================================================ +// Mapflag +//============================================================ + +//============================================================ +// Old changelog +//============================================================ +//= Script mostly based on translated jA script +//= Written test questions/answers weren't translated 100% corectly +//= So a lot of those are based upon mRO site and my own info +//= IF you by excident have (or can get) screenshots of these questions +//= Then PLEASE send them to Darkchild +//= 1.3 Baby class Support added [Lupus] 1.5 Fixed possible EXP abuse [Lupus] +//= 1.6 Added a func which prevent advanced classes passing +//= 2nd Job Quests again. It also guides adv classes where to go. [Lupus] +//= 1.7 Fixed tuition fee. Fixed some answers, names & typos, added missing labels [Lupus] +//= 1.7a Moved JFunc back in the main file, fixed typos [Lupus] +//= 2.0 Changed numbers to constants. [Vicious] +//= 2.0a Fixed double warp [KarLaeda] 2.0b Mantis Scythe Item name fix diff --git a/npc/pre-re/jobs/2-2a/Champion.txt b/npc/pre-re/jobs/2-2a/Champion.txt new file mode 100644 index 000000000..28cd5a9e0 --- /dev/null +++ b/npc/pre-re/jobs/2-2a/Champion.txt @@ -0,0 +1,87 @@ +//===== rAthena Script ======================================= +//= Advance Class jobchanger after kRO Normals. +//===== By: ================================================== +//= Nana +//= finished, optimized and tested by Lupus +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= rAthena 1.0 + +//===== Description: ========================================= +//= Advance Class jobchanger after kRO Normals. +//===== Additional Comments: ================================= +//= v1.1 Made all into functions, additional checks, etc. [Lupus] +//= v1.2 Made numbers into constants. [Vicious] +//= 1.3 Now saves/restores all the quest skills [Lupus] +//============================================================ + +valkyrie,53,42,3 script Champion#Valkyrie 52,{ + if (ADVJOB == 0 || Upper != 1) { + set .@karma_d,rand(1,10); + if (.@karma_d > 4) { + mes "[Champion]"; + mes "Congratulations."; + mes "Honor to the warriors!"; + close; + } + mes "[Champion]"; + mes "Skill."; + mes "Speed."; + mes "Strength."; + mes "Agility."; + next; + mes "[Champion]"; + mes "A Champion can"; + mes "benefit from all"; + mes "these things. But"; + mes "one can only master"; + mes "so much in life..."; + close; + } + else if (ADVJOB == Job_Champion && Class == Job_Acolyte_High && JobLevel > 39) { + mes "[Champion]"; + mes "It's time."; + mes "Time for great heroes"; + mes "to stand up against the"; + mes "forces of evil which plague"; + mes "the world of Rune-Midgard!"; + next; + mes "[Champion]"; + mes "Would you like"; + mes "to become a Champion?"; + next; + if (select("No.:Yes.") == 1) { + mes "[Champion]"; + mes "When you're ready,"; + mes "feel free to come back."; + mes "Honor to the warriors!"; + close; + } + if (SkillPoint) { + mes "[Champion]"; + mes "It is still possible for you to learn more skills. Please use"; + mes "all of your remaining Skill Points before returning to me."; + close; + } + jobchange Job_Champion; + set ADVJOB,0; + mes "[Champion]"; + mes "Congratulations!"; + mes "Live as a Champion,"; + mes "and bring light into"; + mes "the world through the"; + mes "strength of your fists."; + close; + } + mes "[Champion]"; + mes "Welcome"; + mes "to Valhalla,"; + mes "the Hall of Honor."; + next; + mes "[Champion]"; + mes "Please make"; + mes "yourself comfortable"; + mes "while you are here."; + mes "Honor to the warriors!"; + close; +} diff --git a/npc/pre-re/jobs/2-2a/Clown.txt b/npc/pre-re/jobs/2-2a/Clown.txt new file mode 100644 index 000000000..656557647 --- /dev/null +++ b/npc/pre-re/jobs/2-2a/Clown.txt @@ -0,0 +1,83 @@ +//===== rAthena Script ======================================= +//= Advance Class jobchanger after kRO Normals. +//===== By: ================================================== +//= Nana +//= finished, optimized and tested by Lupus +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= rAthena 1.0 + +//===== Description: ========================================= +//= Advance Class jobchanger after kRO Normals. +//===== Additional Comments: ================================= +//= v1.1 Made all into functions, additional checks, etc. [Lupus] +//= v1.2 Made numbers into constants. [Vicious] +//= 1.3 Now saves/restores all the quest skills [Lupus] +//= 1.3a Corrected a Little Typo error. [Samuray22] +// -Thanks to Myllena. +//============================================================ + +valkyrie,53,54,3 script Minstrel#Valkyrie 741,{ + if (ADVJOB == 0 || Upper != 1) { + set .@karma_d,rand(1,10); + if (.@karma_d > 4) { + mes "[Minstrel]"; + mes "Congratulations."; + mes "Honor to the warriors!"; + close; + } + mes "[Minstrel]"; + mes "Do you want to"; + mes "sing a song with me?"; + mes "Sha la la la la~"; + close; + } + else if (ADVJOB == Job_Clown && Class == Job_Archer_High && JobLevel > 39) { + mes "[Minstrel]"; + mes "The dreary world"; + mes "of mortals is in need"; + mes "of more cheerful song."; + mes "Will you bring it to them"; + mes "and turn the tide in the"; + mes "battle against evil?"; + next; + mes "[Minstrel]"; + mes "Will you do this"; + mes "for Rune-Midgard..."; + mes "As a Minstrel?"; + next; + if (select("No.:Yes.") == 1) { + mes "[Minstrel]"; + mes "When you're ready,"; + mes "feel free to come back."; + mes "Honor to the warriors!"; + close; + } + if (SkillPoint) { + mes "[Minstrel]"; + mes "It is still possible for you to learn more skills. Please use"; + mes "all of your remaining Skill Points before returning to me."; + close; + } + jobchange Job_Clown; + set ADVJOB,0; + mes "[Minstrel]"; + mes "Congratulations!"; + mes "As a Minstrel, your"; + mes "your songs will bring"; + mes "hope to your allies, and"; + mes "desperation to your foes."; + close; + } + mes "[Minstrel]"; + mes "Welcome"; + mes "to Valhalla,"; + mes "the Hall of Honor."; + next; + mes "[Minstrel]"; + mes "Please make"; + mes "yourself comfortable"; + mes "while you are here."; + mes "Honor to the warriors!"; + close; +} diff --git a/npc/pre-re/jobs/2-2a/Creator.txt b/npc/pre-re/jobs/2-2a/Creator.txt new file mode 100644 index 000000000..3b85907e9 --- /dev/null +++ b/npc/pre-re/jobs/2-2a/Creator.txt @@ -0,0 +1,136 @@ +//===== rAthena Script ======================================= +//= Advance Class jobchanger after kRO Normals. +//===== By: ================================================== +//= Nana +//= finished, optimized and tested by Lupus +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= rAthena 1.0 + +//===== Description: ========================================= +//= Advance Class jobchanger after kRO Normals. +//===== Additional Comments: ================================= +//= v1.1 Made all into functions, additional checks, etc. [Lupus] +//= v1.2 Made numbers into constants. [Vicious] +//= 1.3 Now saves/restores all the quest skills [Lupus] +//============================================================ + +valkyrie,53,50,3 script Biochemist#Valkyrie 122,{ + if (ADVJOB == 0 || Upper != 1) { + set .@karma_d,rand(1,10); + if (.@karma_d > 4) { + mes "[Biochemist]"; + mes "Congratulations."; + mes "Honor to the warriors!"; + close; + } + mes "[Biochemist]"; + mes "It's strange that"; + mes "someone like me is here."; + mes "But even someone skilled"; + mes "in the ways of science"; + mes "can manage to be a hero."; + next; + mes "[Biochemist]"; + mes "In this instance,"; + mes "it's not necessarily"; + mes "the means I've used, but"; + mes "the ends for which I've"; + mes "fought that earned me"; + mes "a place in Valhalla..."; + close; + } + else if (ADVJOB == Job_Creator && Class == Job_Merchant_High && JobLevel > 39) { + mes "[Biochemist]"; + mes "Yes..."; + mes "It's about time."; + mes "We need more geniuses"; + mes "like you on Rune-Midgard."; + next; + mes "[Biochemist]"; + mes "Would you like to"; + mes "become a Biochemist?"; + next; + if (select("No.:Yes.") == 1) { + mes "[Biochemist]"; + mes "When you're ready,"; + mes "feel free to come back."; + mes "Honor to the warriors!"; + close; + } + if (SkillPoint) { + mes "[Biochemist]"; + mes "It is still possible for you to learn more skills. Please use"; + mes "all of your remaining Skill Points before returning to me."; + close; + } + jobchange Job_Creator; + set ADVJOB,0; + mes "[Biochemist]"; + mes "Congratulations!"; + mes "As a Biochemist,"; + mes "I hope you use your"; + mes "vast knowledge for the"; + mes "right purposes."; + close; + } + else { + if (Class == Job_Creator && MISC_QUEST & 64 && getskilllv("AM_BIOETHICS") == 0) { + mes "[Biochemist]"; + mes "Ah, have you come to"; + mes "retrieve the memories"; + mes "lost to you? Yes, you"; + mes "must be here for the"; + mes "secrets of life that"; + mes "were once yours..."; + next; + if (select("Yes:No") == 1) { + mes "[Biochemist]"; + mes "Close your eyes and"; + mes "put your mind at rest."; + mes "We will return to your"; + mes "past to recollect the"; + mes "fragments of your lost"; + mes "memories."; + next; + mes "[Biochemist]"; + mes "When you open your eyes,"; + mes "you will clearly remember"; + mes "the secret of life. You will"; + mes "also remember the weight of"; + mes "responsibility in using these"; + mes "secrets for the right ends..."; + next; + skill 238,1,0; + mes "[Biochemist]"; + mes "Open your eyes..."; + mes "Now that you have"; + mes "remembered how to"; + mes "create artificial life, I only"; + mes "ask that you treat all of your"; + mes "creations with respect."; + close; + } + mes "[Biochemist]"; + mes "If you wish to"; + mes "retrieve your lost"; + mes "memories, please"; + mes "come back to me."; + mes "The secret to creating"; + mes "life is no trifling thing..."; + close; + } + mes "[Biochemist]"; + mes "Welcome"; + mes "to Valhalla,"; + mes "the Hall of Honor."; + next; + mes "[Biochemist]"; + mes "Please make"; + mes "yourself comfortable"; + mes "while you are here."; + mes "Honor to the warriors!"; + close; + } +} + diff --git a/npc/pre-re/jobs/2-2a/Gypsy.txt b/npc/pre-re/jobs/2-2a/Gypsy.txt new file mode 100644 index 000000000..95503a1ba --- /dev/null +++ b/npc/pre-re/jobs/2-2a/Gypsy.txt @@ -0,0 +1,83 @@ +//===== rAthena Script ======================================= +//= Advance Class jobchanger after kRO Normals. +//===== By: ================================================== +//= Nana +//= finished, optimized and tested by Lupus +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= rAthena 1.0 + +//===== Description: ========================================= +//= Advance Class jobchanger after kRO Normals. +//===== Additional Comments: ================================= +//= v1.1 Made all into functions, additional checks, etc. [Lupus] +//= v1.2 Made numbers into constants. [Vicious] +//= 1.3 Now saves/restores all the quest skills [Lupus] +//============================================================ + +valkyrie,53,56,3 script Gypsy#Valkyrie 101,{ + if (ADVJOB == 0 || Upper != 1) { + set .@karma_d,rand(1,10); + if (.@karma_d > 4) { + mes "[Gypsy]"; + mes "Congratulations."; + mes "Honor to the warriors!"; + close; + } + mes "[Gypsy]"; + mes "Move left,"; + mes "move right~!"; + mes "And step...!"; + mes "Dancing can be"; + mes "more than a hobby."; + mes "For me, it's a way of life~"; + close; + } + else if (ADVJOB == Job_Gypsy && Class == Job_Archer_High && JobLevel > 39) { + mes "[Gypsy]"; + mes "The land of Rune-Midgard"; + mes "is in need of talented women"; + mes "to subtly change the balances"; + mes "in the battle between good"; + mes "and evil."; + next; + mes "[Gypsy]"; + mes "Are you ready"; + mes "to take up this role,"; + mes "and become a Gypsy?"; + next; + if (select("No.:Yes.") == 1) { + mes "[Gypsy]"; + mes "When you're ready,"; + mes "feel free to come back."; + mes "Honor to the warriors!"; + close; + } + if (SkillPoint) { + mes "[Gypsy]"; + mes "It is still possible for you to learn more skills. Please use"; + mes "all of your remaining Skill Points before returning to me."; + close; + } + jobchange Job_Gypsy; + set ADVJOB,0; + mes "[Gypsy]"; + mes "Congratulations!"; + mes "As a Gypsy, I know"; + mes "that your performances"; + mes "sway the hearts of all"; + mes "those who will be watching..."; + close; + } + mes "[Gypsy]"; + mes "Welcome"; + mes "to Valhalla,"; + mes "the Hall of Honor."; + next; + mes "[Gypsy]"; + mes "Please make"; + mes "yourself comfortable"; + mes "while you are here."; + mes "Honor to the warriors!"; + close; +} diff --git a/npc/pre-re/jobs/2-2a/Paladin.txt b/npc/pre-re/jobs/2-2a/Paladin.txt new file mode 100644 index 000000000..7589ff3f6 --- /dev/null +++ b/npc/pre-re/jobs/2-2a/Paladin.txt @@ -0,0 +1,85 @@ +//===== rAthena Script ======================================= +//= Advance Class jobchanger after kRO Normals. +//===== By: ================================================== +//= Nana +//= finished, optimized and tested by Lupus +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= rAthena 1.0 + +//===== Description: ========================================= +//= Advance Class jobchanger after kRO Normals. +//===== Additional Comments: ================================= +//= v1.1 Made all into functions, additional checks, etc. [Lupus] +//= v1.2 Made numbers into constants. [Vicious] +//= 1.3 Now saves/restores all the quest skills [Lupus] +//============================================================ + +valkyrie,53,39,3 script Paladin#Valkyrie 752,{ + if (ADVJOB == 0 || Upper != 1) { + set .@karma_d,rand(1,10); + if (.@karma_d > 4) { + mes "[Paladin]"; + mes "Congratulations."; + mes "Honor to the warriors!"; + close; + } + mes "[Paladin]"; + mes "Do not forget"; + mes "that the Holy War"; + mes "is fast approaching!"; + mes "We must ready ourselves!"; + mes "May the light of justice"; + mes "always brighten our path!"; + close; + } + else if (ADVJOB == Job_Paladin && Class == Job_Swordman_High && JobLevel > 39) { + mes "[Paladin]"; + mes "The Holy War will"; + mes "be upon us before we"; + mes "know it. More than ever,"; + mes "we have need of strong men"; + mes "and women to fight for what"; + mes "is good and right."; + next; + mes "[Paladin]"; + mes "Will you fight on"; + mes "the side of righteousness"; + mes "as a Paladin?"; + next; + if (select("No.:Yes.") == 1) { + mes "[Paladin]"; + mes "When you're ready,"; + mes "feel free to come back."; + mes "Honor to the warriors!"; + close; + } + if (SkillPoint) { + mes "[Paladin]"; + mes "It is still possible for you to learn more skills. Please use"; + mes "all of your remaining Skill Points before returning to me."; + close; + } + jobchange Job_Paladin; + set ADVJOB,0; + mes "[Paladin]"; + mes "Congratulations."; + mes "As a Paladin, I hope"; + mes "you will protect those"; + mes "weaker than you, and bring"; + mes "us victory in the upcoming"; + mes "war between good and evil."; + close; + } + mes "[Paladin]"; + mes "Welcome"; + mes "to Valhalla,"; + mes "the Hall of Honor."; + next; + mes "[Paladin]"; + mes "Please make"; + mes "yourself comfortable"; + mes "while you are here."; + mes "Honor to the warriors!"; + close; +} diff --git a/npc/pre-re/jobs/2-2a/Professor.txt b/npc/pre-re/jobs/2-2a/Professor.txt new file mode 100644 index 000000000..b6b38afdc --- /dev/null +++ b/npc/pre-re/jobs/2-2a/Professor.txt @@ -0,0 +1,93 @@ +//===== rAthena Script ======================================= +//= Advance Class jobchanger after kRO Normals. +//===== By: ================================================== +//= Nana +//= finished, optimized and tested by Lupus +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= rAthena 1.0 + +//===== Description: ========================================= +//= Advance Class jobchanger after kRO Normals. +//===== Additional Comments: ================================= +//= v1.1 Made all into functions, additional checks, etc. [Lupus] +//= v1.2 Made numbers into constants. [Vicious] +//= 1.3 Now saves/restores all the quest skills [Lupus] +//============================================================ + +valkyrie,53,47,3 script Scholar#Valkyrie 743,{ + if (ADVJOB == 0 || Upper != 1) { + set .@karma_d,rand(1,10); + if (.@karma_d > 4) { + mes "[Scholar]"; + mes "Congratulations."; + mes "Honor to the warriors!"; + close; + } + mes "[Scholar]"; + mes "It takes a lifetime..."; + mes "Literally a lifetime"; + mes "to amass the knowledge"; + mes "necessary to become"; + mes "a Scholar..."; + next; + mes "[Scholar]"; + mes "It's overwhelming."; + mes "The more you learn, the"; + mes "more you discover what"; + mes "else you don't know."; + mes "There's no end to the"; + mes "process of learning..."; + close; + } + else if (ADVJOB == Job_Professor && Class == Job_Mage_High && JobLevel > 39) { + mes "[Scholar]"; + mes "Rune-Midgard doesn't"; + mes "have enough Scholars to"; + mes "help usher in a new age"; + mes "of prosperity. The"; + mes "world needs you..."; + next; + mes "[Scholar]"; + mes "Will you take this"; + mes "awesome responsibility?"; + mes "Will you serve Rune-Midgard"; + mes "as a Scholar?"; + next; + if (select("No.:Yes.") == 1) { + mes "[Scholar]"; + mes "When you're ready,"; + mes "feel free to come back."; + mes "Honor to the warriors!"; + close; + } + if (SkillPoint) { + mes "[Scholar]"; + mes "It is still possible for you to learn more skills. Please use"; + mes "all of your remaining Skill Points before returning to me."; + close; + } + jobchange Job_Professor; + set ADVJOB,0; + mes "[Scholar]"; + mes "Congratulations!"; + mes "As a Professor, I hope"; + mes "that you will take an"; + mes "active part in bringing"; + mes "the light of knowledge"; + mes "where there is darkness."; + close; + } + mes "[Scholar]"; + mes "Welcome"; + mes "to Valhalla,"; + mes "the Hall of Honor."; + next; + mes "[Scholar]"; + mes "Please make"; + mes "yourself comfortable"; + mes "while you are here."; + mes "Honor to the warriors!"; + close; +} + diff --git a/npc/pre-re/jobs/2-2a/Stalker.txt b/npc/pre-re/jobs/2-2a/Stalker.txt new file mode 100644 index 000000000..a2a26e135 --- /dev/null +++ b/npc/pre-re/jobs/2-2a/Stalker.txt @@ -0,0 +1,93 @@ +//===== rAthena Script ======================================= +//= Advance Class jobchanger after kRO Normals. +//===== By: ================================================== +//= Nana +//= finished, optimized and tested by Lupus +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= rAthena 1.0 + +//===== Description: ========================================= +//= Advance Class jobchanger after kRO Normals. +//===== Additional Comments: ================================= +//= v1.1 Made all into functions, additional checks, etc. [Lupus] +//= v1.2 Made numbers into constants. [Vicious] +//= 1.3 Now saves/restores all the quest skills [Lupus] +//============================================================ + +valkyrie,53,58,3 script Stalker#Valkyrie 747,{ + if (ADVJOB == 0 || Upper != 1) { + set .@karma_d,rand(1,10); + if (.@karma_d > 4) { + mes "[Stalker]"; + mes "Congratulations."; + mes "Honor to the warriors!"; + close; + } + mes "[Stalker]"; + mes "Heh..."; + mes "It's tough"; + mes "being a hero"; + mes "and being shady,"; + mes "untrustworthy,"; + mes "sneaky..."; + next; + mes "[Stalker]"; + mes "But when the"; + mes "going gets rough"; + mes "my pals know they"; + mes "can count on me."; + mes "I need them and"; + mes "they need me."; + close; + } + else if (ADVJOB == Job_Stalker && Class == Job_Thief_High && JobLevel > 39) { + mes "[Stalker]"; + mes "This world needs"; + mes "more heroes who are"; + mes "willing to walk the line"; + mes "between order and lawlessness."; + next; + mes "[Stalker]"; + mes "Are you ready"; + mes "to join the ranks"; + mes "of the sneakiest of"; + mes "warriors? Are you ready"; + mes "to become a Stalker?"; + next; + if (select("No.:Yes.") == 1) { + mes "[Stalker]"; + mes "When you're ready,"; + mes "feel free to come back."; + mes "Honor to the warriors!"; + close; + } + if (SkillPoint) { + mes "[Stalker]"; + mes "It is still possible for you to learn more skills. Please use"; + mes "all of your remaining Skill Points before returning to me."; + close; + } + jobchange Job_Stalker; + set ADVJOB,0; + mes "[Stalker]"; + mes "Congratulations!"; + mes "As a Stalker, I hope"; + mes "you stab the right people"; + mes "in the back. Banish the"; + mes "wicked using their own"; + mes "dastardly methods!"; + close; + } + mes "[Stalker]"; + mes "Welcome"; + mes "to Valhalla,"; + mes "the Hall of Honor."; + next; + mes "[Stalker]"; + mes "Please make"; + mes "yourself comfortable"; + mes "while you are here."; + mes "Honor to the warriors!"; + close; +} diff --git a/npc/pre-re/jobs/2-2e/SoulLinker.txt b/npc/pre-re/jobs/2-2e/SoulLinker.txt new file mode 100644 index 000000000..fb8c726e2 --- /dev/null +++ b/npc/pre-re/jobs/2-2e/SoulLinker.txt @@ -0,0 +1,663 @@ +//===== rAthena Script ======================================= +//= Soul Linker Job Quest +//===== By: ================================================== +//= Celestria & Samuray22 +//===== Current Version: ===================================== +//= 1.5 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Job quest for Soul Linker class. +//= [Vars Used] +//= SOUL_Q = Job Change Phase. (Max 4) +//===== Additional Comments: ================================= +//= 1.2 Rescripted to Aegis 10.3 standards. [Samuray22] +//= 1.3 Slight updates and fixes to the script. [L0ne_W0lf] +//= Removes the use of labels, and corrects other errors. +//= Removed the GM-use only NPC from the sec_in map. +//= No longer used a global var, uses an NPC var instead. +//= 1.3a Deleted Empty Color Tag. (bugreport:1572) [Samuray22] +//= 1.4 Replaced effect numerics with constants. [L0ne_W0lf] +//= 1.5 Added Quest Log commands. [Kisuka] +//============================================================ + +morocc_in,174,30,6 script Kid#link1 716,{ + if (Class == Job_Soul_Linker) { + mes "[Maia]"; + mes "Best of luck in your"; + mes "journeys. As you master"; + mes "more Soul Linker skills,"; + mes "you will be able to draw"; + mes "more of the spirits' power"; + mes "to endow upon your allies..."; + close; + } + if (Class == Job_Star_Gladiator) { + mes "[Kid]"; + if (Sex == 1) { + mes "Aren't you a warrior"; + mes "of the sun? I'm familiar"; + } + else { + mes "Aren't you a warrior of"; + mes "the moon? I'm familiar"; + } + mes "with your ways. After all,"; + mes "the basis of both of our"; + mes "skills is grounded in the"; + mes "Taekwon Do job, right?"; + close; + } + if (Class != Job_Taekwon) { + mes "[Kid]"; + mes "Mm? I've got nothing to"; + mes "offer you. But if you know"; + mes "any well experienced"; + mes "practitioners of Taekwon"; + mes "Do, they might benefit"; + mes "from what I know."; + close; + } + if (JobLevel < 40) { + mes "[Kid]"; + mes "So you're studying"; + mes "Taekwon Do. That's good,"; + mes "that's very good. Just keep"; + mes "refining those skills and"; + mes "stick to your training."; + close; + } + else if (JobLevel > 39) { + if (SOUL_Q == 0) { + mes "[Kid]"; + mes "..."; + mes "Hey you."; + next; + mes "["+ strcharinfo(0) +"]"; + mes "Did you call me?"; + next; + mes "[Kid]"; + mes "Yeah, I called you."; + mes "Now don't make me"; + mes "raise my voice, and"; + mes "just get over here."; + next; + if (select("You're awfully rude for a kid!:Ignore him.") == 1) { + mes "[Kid]"; + mes "You're lucky I'm"; + mes "taking an interest"; + mes "in you! I might look"; + mes "like a kid, but I'm over"; + mes "three hundred years old!"; + emotion e_pif; + next; + mes "[Kid]"; + mes "Now listen..."; + mes "I know that you're a"; + mes "disciple of Taekwon Do."; + mes "It's a respectable art, but"; + mes "I've got a proposition for"; + mes "you if you want to hear it."; + emotion e_heh; + next; + mes "[Kid]"; + mes "I'm looking at you, and I can"; + mes "already tell that you're very"; + mes "spiritually inclined. You've"; + mes "got a lot of potential I don't"; + mes "wanna see wasted. Why don't"; + mes "you become a ''Soul-Linker?''"; + next; + if (select("Ha! Silly little boy~:Soul Linker?") == 1) { + mes "[Kid]"; + mes "You... You d-don't"; + mes "believe me? I'm being"; + mes "dead serious. Can you"; + mes "forget the fact that I look"; + mes "like a little kid for just one"; + mes "minute? *Psh* ...Youngsters."; + close; + } + mes "[Kid]"; + mes "Soul Linkers communicate"; + mes "with spirits of fallen warriors"; + mes "that still wish to fight in the"; + mes "world of the living. Now, these"; + mes "warrior spirits can't fight as"; + mes "themselves in our world."; + next; + mes "[Kid]"; + mes "However, since you're"; + mes "spiritually inclined, these"; + mes "spirits are attracted to you."; + mes "With enough training, you can"; + mes "temporarily imbue the power of these spirits to your allies."; + next; + mes "[Kid]"; + mes "Now, you can't imbue yourself"; + mes "with the spirits' power. Also,"; + mes "depending on your skills as"; + mes "a Soul Linker, you can only"; + mes "endow other characters of certain job classes with enchanced power."; + next; + mes "[Kid]"; + mes "You'll have to enter"; + mes "a wholly different world"; + mes "to become a Soul Linker,"; + mes "but I know it'll be possible"; + mes "for you. So what do you say?"; + next; + if (select("No. At least, not now...:Alright. What do I have to do?") == 1) { + mes "[Kid]"; + mes "Ah, alright. Well,"; + mes "if you ever decide to"; + mes "become a Soul Linker,"; + mes "then please come back"; + mes "and talk to me at any time."; + close; + } + set SOUL_Q,1; + setquest 6005; + mes "[Kid]"; + mes "So you want to become"; + mes "a Soul Linker? Great!"; + mes "Alright, first I need you"; + mes "to bring back a few items."; + mes "Don't worry, I'll explain"; + mes "why you need them later."; + next; + mes "[Kid]"; + mes "Now bring me"; + mes "^0000FF1 3 Carat Diamond^000000,"; + mes "^0000FF1 Immortal Heart^000000 and"; + mes "^0000FF1 Witherless Rose^000000."; + mes "And try not to make me"; + mes "wait too long, alright?"; + close; + } + mes "[Kid]"; + mes "Huh...?"; + mes "Wait, where are"; + mes "you going? I'm..."; + mes "I'm talking to you!"; + close; + } + else if (SOUL_Q == 1) { + if (Class == Job_Taekwon) { + mes "[Kid]"; + mes "You're back, eh?"; + mes "So did you bring"; + mes "^0000FF1 3 Carat Diamond^000000,"; + mes "^0000FF1 Immortal Heart^000000 and"; + mes "^0000FF1 Witherless Rose^000000."; + mes "like I asked you to?"; + next; + if (select("There you are.:No, not yet...") == 1) { + if (countitem(732) > 0 && countitem(929) > 0 && countitem(748) > 0) { + delitem 732,1; //Crystal_Jewel__ + delitem 929,1; //Immortal_Heart + delitem 748,1; //Witherless_Rose + set SOUL_Q,2; + changequest 6005,6006; + mes "[Kid]"; + mes "Great, I see that you've"; + mes "brought everything. But"; + mes "before we begin, let me"; + mes "introduce myself. My name"; + mes "is Maia, and I've been alive for more than three hundred years."; + next; + mes "[Maia]"; + mes "Without giving away too many"; + mes "of the details, I've been divinely charged with the duty of finding"; + mes "and recruiting more Soul Linkers. That's part of the reason why"; + mes "I haven't, you know, passed on."; + next; + mes "[Maia]"; + mes "Anyway, I still need to finish"; + mes "preparations with the materials"; + mes "that you just brought, so would"; + mes "you come back in a little bit?"; + mes "Then, we'll talk once again."; + close; + } + mes "[Kid]"; + mes "Mm...?"; + mes "Hey. You forgot"; + mes "a few things. Now"; + mes "go back and bring"; + mes "everything that I ask"; + mes "for this time, okay?"; + emotion e_pif; + next; + mes "[Kid]"; + mes "I know I just told you"; + mes "what we need, but I'm"; + mes "going to remind you again:"; + mes "^0000FF1 3 Carat Diamond^000000,"; + mes "^0000FF1 Immortal Heart^000000 and"; + mes "^0000FF1 Witherless Rose^000000."; + close; + } + mes "[Kid]"; + mes "Mm. That's fine."; + mes "Although I have all"; + mes "the time to spare in"; + mes "the world, I don't like"; + mes "to wait for very long."; + close; + } + set SOUL_Q,0; + mes "[Kid]"; + mes "You've become a warrior"; + mes "of the Sun, the Moon and"; + mes "the Stars instead? I had no"; + mes "idea you had that potential."; + mes "I suppose I can't blame you..."; + close; + } + else if (SOUL_Q == 2) { + if (SkillPoint) { + mes "[Maia]"; + mes "You still have some"; + mes "unallocated Skill Points."; + mes "Use them all to learn some"; + mes "Taekwon Do skills, and then"; + mes "return when you're ready."; + close; + } + if (.SoulLinkerTest == 1) { + mes "[Maia]"; + mes "Right now, someone else"; + mes "is completing the ceremony"; + mes "to become a Soul Linker."; + mes "Would you please wait until"; + mes "it's finished? Then, when I'm"; + mes "available, I'll attend to you."; + close; + } + donpcevent "Timer#link3::OnEnable"; + set .SoulLinkerTest,1; + mes "[Maia]"; + mes "Great, I've finished"; + mes "the preparations. Now"; + mes "we'll proceed with the"; + mes "ceremony to change"; + mes "you into a Soul Linker."; + mes "Now close your eyes..."; + close2; + warp "job_soul",30,30; + end; + } + else if (SOUL_Q > 2) { + mes "[Maia]"; + mes "Are you ready to"; + mes "enter the depths"; + mes "of your mind again?"; + next; + if (select("No:Yes") == 1) { + mes "[Maia]"; + mes "Well then, come"; + mes "back to me when you"; + mes "think you are ready."; + mes "Until then, I'll be"; + mes "waiting right here."; + close; + } + if (.SoulLinkerTest == 1) { + mes "[Maia]"; + mes "Right now, someone else"; + mes "is completing the ceremony"; + mes "to become a Soul Linker."; + mes "Would you please wait until"; + mes "it's finished? Then, when I'm"; + mes "available, I'll attend to you."; + close; + } + donpcevent "Timer#link3::OnEnable"; + set .SoulLinkerTest,1; + mes "[Maia]"; + mes "Alright then, close"; + mes "your eyes and relax."; + mes "We'll go back into the"; + mes "depths of your mind."; + close2; + warp "job_soul",30,30; + end; + } + } + +OnInit: + set .SoulLinkerTest,0; + end; +} + +job_soul,30,31,0 script Maia#link2::SLTester -1,3,3,{ +OnTouch: + if (Class == Job_Taekwon) { + if (JobLevel < 40) { + set getvariableofnpc(.SoulLinkerTest,"Kid#link1"),0; + mes "[Maia]"; + mes "Hm? How did you come"; + mes "here? You're not qualified"; + mes "for this ceremony yet. Come,I will bring you back to Morroc..."; + close2; + warp "morocc",157,47; + end; + } + if (SOUL_Q == 2) { + mes "[Maia]"; + mes "Do you recognize this"; + mes "place? Right now, we're"; + mes "inside your mind. The spirits"; + mes "of warriors that have died"; + mes "hover here, waiting for you"; + mes "to call upon their power."; + next; + mes "[Maia]"; + mes "Right now, there are only"; + mes "a few of them here, but if"; + mes "you continue to train, you"; + mes "will be able to call upon"; + mes "more spirits as a Soul Linker."; + next; + set SOUL_Q,3; + changequest 6006,6007; + mes "[Maia]"; + mes "We can only remain in"; + mes "your mind for 3 minutes."; + mes "I suggest that you speak"; + mes "to the spirits while you"; + mes "have the opportunity."; + close; + } + else if (SOUL_Q == 3) { + mes "[Maia]"; + mes "Listen to what"; + mes "spirits are tending to say."; + mes "There is a reason why"; + mes "they cannot move on"; + mes "to the next world."; + close; + } + else if (SOUL_Q == 4) { + mes "[Maia]"; + mes "I believe that you are"; + mes "now ready to become"; + mes "a Soul Linker. However,"; + mes "you may continue to"; + mes "speak with the spirits"; + mes "if that is what you wish."; + next; + if (select("Converse more with the spirits:Become a Soul Linker") == 1) { + mes "[Maia]"; + mes "Alright. Try to hurry"; + mes "since we can remain in"; + mes "your mind for a limited"; + mes "time. Although, we can"; + mes "go back inside your mind"; + mes "if you talk to me later..."; + close; + } + mes "[Maia]"; + mes "Then let us begin the"; + mes "ceremony. These items will"; + mes "be used to endow you with"; + mes "the ability to borrow the power"; + mes "of the fallen warriors and lend"; + mes "it to your friends in battle."; + next; + mes "[Maia]"; + mes "This Witherless Rose will"; + mes "wither away instead of you..."; + specialeffect EF_MAPPILLAR2,AREA,"Maia#link2"; + next; + mes "[Maia]"; + mes "This Witherless Rose will"; + mes "wither away instead of you..."; + mes "This Immortal Heart will cease"; + mes "to pump blood, instead of yours. "; + next; + mes "[Maia]"; + mes "This Witherless Rose will"; + mes "wither away instead of you..."; + mes "This Immortal Heart will cease"; + mes "to pump blood, instead of yours. This Diamond will turn to dust,"; + mes "in place of your mortal body."; + next; + mes "[Maia]"; + mes "The dead who wish"; + mes "to continue fighting..."; + mes "Will fight for you! Use your"; + mes "powers as a Soul Linker"; + mes "wisely and for just purposes."; + next; + completequest 6008; + callfunc "Job_Change",Job_Soul_Linker; + callfunc "F_ClearJobVar"; // clears all job variables for the current player + set SOUL_Q,0; + mes "[Maia]"; + mes "I wish the best of luck"; + mes "in your new life. Surround"; + mes "yourself with allies, and the"; + mes "spirits will be able to protect"; + mes "you and help you fight in your battles. Farewell for now, friend."; + close2; + set getvariableofnpc(.SoulLinkerTest,"Kid#link1"),0; + donpcevent "Timer#link3::OnDisable"; + warp "morocc",157,47; + end; + } + set getvariableofnpc(.SoulLinkerTest,"Kid#link1"),0; + mes "[Maia]"; + mes "Hmm...?"; + mes "The time for you"; + mes "to be here has not"; + mes "arrived. Let's go"; + mes "back to Morroc..."; + close2; + warp "morocc",157,47; + end; + } + set getvariableofnpc(.SoulLinkerTest,"Kid#link1"),0; + if (Class == Job_Soul_Linker) { + mes "[Maia]"; + mes "The time has come for"; + mes "you to venture out into the"; + mes "wide world! More Soul Linkers"; + mes "will definitely be needed in the ongoing battle against evil..."; + } + else { + mes "[Maia]"; + mes "That's strange..."; + mes "You're not supposed to"; + mes "be here. Let me guide"; + mes "you back to Morroc..."; + } + close2; + warp "morocc",157,47; + end; +} + +job_soul,35,30,6 duplicate(SLTester) Maia#link6 716 + +job_soul,30,35,6 script Monk Spirit#link4 827,{ + if (SOUL_Q == 2) { + mes "[Monk Spirit]"; + mes "Who am I...?"; + mes "I think... I think"; + mes "it would be best if"; + mes "you spoke to Maya first..."; + mes "Who and what I am requires"; + mes "a complicated explanation..."; + close; + } + else if (SOUL_Q > 2) { + mes "[Monk Spirit]"; + mes "In life, my peers did"; + mes "their best to assure me"; + mes "that I accomplish all that"; + mes "I could as a Monk. Still..."; + mes "Still I would never be fully"; + mes "satisfied with my skills."; + next; + mes "[Monk Spirit]"; + mes "In death, I had many regrets,"; + mes "never having the chance to pass"; + mes "my skills down to future Monks."; + mes "Lending my power to others "; + mes "is the only chance that I can"; + mes "possibly have to do this."; + next; + set SOUL_Q,4; + if(checkquest(6008) == -1) { + changequest 6007,6008; + } + mes "[Monk Spirit]"; + mes "I beg of you..."; + mes "I need you to help"; + mes "me fully realize the"; + mes "true potential of the"; + mes "Monks of today."; + close; + } + mes "[Monk Spirit]"; + mes "..."; + close; +} + +job_soul,30,25,7 script Sage Spirit#link5 754,{ + if (SOUL_Q == 2) { + mes "[Sage Spirit]"; + mes "Speak to Maia."; + mes "I'm afraid I may"; + mes "confuse you if Maia"; + mes "doesn't first explain"; + mes "your present situation..."; + close; + } + else if (SOUL_Q > 2) { + mes "[Sage Spirit]"; + mes "My pursuit of knowledge"; + mes "granted me incredible power:"; + mes "in life, I could have destroyed"; + mes "anything I wanted. Few Sages"; + mes "could even reach my level..."; + next; + mes "[Sage Spirit]"; + mes "I died, but I was never able"; + mes "to pass on to the next world."; + mes "I still want to use my abilities.I want to use my knowledge"; + mes "to build what pleases me,"; + mes "and to destroy as I please."; + next; + mes "[Sage Spirit]"; + mes "It is enough if I can"; + mes "lend my power to a Sage"; + mes "that is worthy of receiving"; + mes "it. But to do that, I shall"; + mes "require your help. I beg you,"; + mes "let me become your spirit ally."; + set SOUL_Q,4; + if(checkquest(6008) == -1) { + changequest 6007,6008; + } + next; + mes "[Sage Spirit]"; + mes "I believe that you"; + mes "are the only one who"; + mes "has a chance of bringing"; + mes "rest to my troubled soul..."; + close; + } + mes "[Sage Spirit]"; + mes "..."; + close; +} + +job_soul,25,30,5 script Alchemist Spirit#link7 744,{ + if (SOUL_Q == 2) { + mes "[Alchemist Spirit]"; + mes "Oh! I really want to"; + mes "speak to you, but what"; + mes "I have to say won't make"; + mes "much sense unless you"; + mes "talk to Maia first. But yes,"; + mes "I really need your help."; + close; + } + else if (SOUL_Q > 2) { + mes "[Alchemist Spirit]"; + mes "Without exagerrating, I was"; + mes "the fastest Alchemist in my"; + mes "time. In fact, I may even be"; + mes "the fastest Alchemist ever."; + mes "But then I grew arrogant, and"; + mes "killed myself in an accident."; + next; + mes "[Alchemist Spirit]"; + mes "But death would not stifle"; + mes "my skill. In fact, I've even"; + mes "improved my skill since I've"; + mes "passed away. I cannot go"; + mes "on to the next world until I've"; + mes "passed on my techniques..."; + set SOUL_Q,4; + if(checkquest(6008) == -1) { + changequest 6007,6008; + } + next; + mes "[Alchemist Spirit]"; + mes "I'm powerless as a spirit,"; + mes "but with your help, I can"; + mes "influence the Alchemists of"; + mes "today and help them refine"; + mes "their skills. I beseech you,"; + mes "please give me this chance..."; + close; + } + mes "[Alchemist Spirit]"; + mes "..."; + close; +} + +job_soul,1,5,0 script Timer#link3 111,{ + end; + +OnEnable: + initnpctimer; + end; + +OnDisable: + stopnpctimer; + set getvariableofnpc(.SoulLinkerTest,"Kid#link1"),0; + end; + +OnTimer60000: +OnTimer120000: + if (getmapusers("job_soul") == 0) { + stopnpctimer; + set getvariableofnpc(.SoulLinkerTest,"Kid#link1"),0; + } + end; + +OnTimer180000: +OnTimer181000: +OnTimer182000: + mapwarp "job_soul","morocc",157,47; + end; + +OnTimer183000: + mapwarp "job_soul","morocc",157,47; + set getvariableofnpc(.SoulLinkerTest,"Kid#link1"),0; + stopnpctimer; +} + +//============================================================ +// Old changelog +//============================================================ +//= A temp Soul Linker Job Changer based on the kRO quest. +//= Quest info from RagnaInfo. Sprites from kRO screenshots +//= 1.0 Optimized and updated [Lupus] +//= 1.1 Fixed NPC names according to iRO [Lupus] +//============================================================ diff --git a/npc/pre-re/jobs/3-1/archbishop.txt b/npc/pre-re/jobs/3-1/archbishop.txt new file mode 100644 index 000000000..395bbb6cc --- /dev/null +++ b/npc/pre-re/jobs/3-1/archbishop.txt @@ -0,0 +1,1897 @@ +//===== rAthena Script ======================================= +//= Arch Bishop Job change Quest +//===== By: ================================================== +//= L0ne_W0lf +//= Credits: Gepard +//===== Current Version: ===================================== +//= 1.5 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Translated from the Official] +//= Job change Quest from Priest / High Priest -> Arch Bishop. +//===== Additional Comments: ================================= +//= 1.0 First version. +//= 1.1 Fixed class checks for arch bishops. +//= 1.2 Fixed Job tags typos. +//= 1.3 Made some NPC's into duplicates and fixed some && / || checks. [Masao] +//= 1.4 Fixed Job_Archbishop/Job_Archbishop_T typos. [Euphy] +//= 1.5 Redone the whole Script. [Masao] +//============================================================ + +prt_church,103,88,3 script Praying Minister#arch 60,{ + if ((Class != Job_Priest) && (Class != Job_High_Priest) && (Class != Job_Baby_Priest)) { + if (Class == Job_Arch_Bishop || Class == Job_Arch_Bishop_T || Class == Job_Baby_Bishop) { + mes "[Praying Minister]"; + mes "Ah! An Archbishop."; + mes "You have reached the state of light."; + mes "I hope you give happiness and honor to people during your adventures."; + close; + } + mes "[Praying Minister]"; + mes "In front of the Almighty God Odin, there shall be no person smarter than him, and there will be no person more merciful than him."; + next; + mes "[Praying Minister]"; + mes "All ministers of Odin should be diligent. They should never be too lazy to serve Odin."; + next; + mes "[Praying Minister]"; + mes "Thesedays, I've heard that ministers are becoming lax in their duty to Odin and adorn themselves with the splendors of the world."; + next; + mes "[Praying Minister]"; + mes "If you see any of these ministers, can you ask to them to go to the church in prontera?"; + next; + mes "[Praying Minister]"; + mes "They give out a special aura so you can easily recognize them."; + mes "I'm going to make them ministers worthy of serving Odin."; + close; + } + if ((BaseLevel == 99) && (JobLevel > 49)) { + if (job_arch == 0) { + if (SkillPoint) { + mes "You can't change jobs without using all your skill points. Please use all of your skill points before applying to change jobs~"; + close; + } + mes "[Praying Minister]"; + mes "In front of the Almighty God Odin, there shall be no person smarter than him, and there will be no person more merciful than him."; + next; + mes "[Praying Minister]"; + mes "All ministers of Odin should be diligent. They should never be too lazy to serve Odin."; + next; + if (Sex == 1) { + mes "[Praying Minister]"; + mes "Brother, how has your life been?"; + } + else { + mes "[Praying Minister]"; + mes "Sister, how has your life been?"; + } + mes "Have you lived it to it's fullest?"; + mes "Have you served your life in the light of Odin?"; + next; + mes "[Praying Minister]"; + mes "We are ministers and our behavior is seen as acts of the Gods."; + mes "We should always be mindful of this."; + next; + mes "[Praying Minister]"; + mes "We should always tell the truth."; + mes "We should not fall prey to lies and deceit."; + next; + if (Sex == 1) { + mes "[Praying Minister]"; + mes "Brother..."; + } + else { + mes "[Praying Minister]"; + mes "Sister..."; + } + mes "Even though we serve Odin, we are normal people."; + mes "We can be degraded in spite of ourselves and we must realize that."; + next; + mes "[Praying Minister]"; + mes "We always try to keep our original intention in mind and spread Odin's rule."; + next; + menu "How do I become like that?",-; + mes "[Praying Minister]"; + mes "That's a good question."; + mes "We have lots of methods."; + mes "But, I recommend this."; + next; + mes "[Praying Minister]"; + mes "Have you ever heard of a"; + mes "^3131FFHoly Pilgrimage^000000?"; + mes "A Holy Pilgrimage means going to a holy place to pray to the God Odin for protection and grace."; + next; + mes "[Praying Minister]"; + mes "When you pray to Odin in the holy place, you will feel that you are born again."; + next; + mes "[Praying Minister]"; + mes "What do you think?"; + mes "Would you like to do a Holy Pilgrimage?"; + next; + switch (select("Yes I want to.:I'll think about it.")) { + case 1: + mes "[Praying Minister]"; + mes "That's the correct attitude."; + mes "A person who lives in one's mundane life would better have a new mind and body and evolve to the way of a true minister of Odin."; + next; + mes "[Praying Minister]"; + mes "There is a small village named Umbala far from here."; + mes "That village is a where a tribe lives in harmony with nature."; + next; + mes "[Praying Minister]"; + mes "Go there and find Priest Dayan."; + mes "Tell him exactly, ''^3131FFI'm here for the Holy Pilgrimage^000000.''"; + next; + mes "[Praying Minister]"; + mes "He's very old so he is hard of hearing."; + mes "You have to speak loud and clearly. You got it?"; + mes "I hope that this paves the way for you to live in the light of Odin......"; + set job_arch,1; + setquest 2187; + close; + case 2: + mes "[Praying Minister]"; + mes "A Holy Pilgrimage isn't that difficult."; + mes "Just be mindful that once you start the path you will be on your way to the way of a true minister of Odin."; + next; + mes "[Praying Minister]"; + mes "Feel free to visit me if you change your mind."; + mes "I'll always be here for you."; + close; + } + } + mes "[Praying Minister]"; + mes "How's it going?"; + mes "Did you meet Priest Dayan in Umbala?"; + close; + } + mes "[Praying Minister]"; + mes "In front of the Almighty God Odin, there shall be no person smarter than him, and there will be no person more merciful than him."; + next; + mes "[Praying Minister]"; + mes "All ministers of Odin should be diligent. They should never be too lazy to serve Odin."; + next; + mes "[Praying Minister]"; + mes "Thesedays, I've heard that ministers are becoming lax in their duty to Odin and adorn themselves with the splendors of the world."; + next; + mes "[Praying Minister]"; + mes "If you see any of these ministers, can you ask to them to go to the church in prontera?"; + next; + mes "[Praying Minister]"; + mes "They give out a special aura so you can easily recognize them."; + mes "I'm going to make them ministers worthy of serving Odin."; + close; +} + +umbala,137,227,5 script Utan Boy#arch 787,{ + mes "[Utan Boy]"; + mes "........"; + close; +} + +umbala,139,227,3 script Priest#arch 60,{ + if (job_arch < 1) { + mes "[Priest]"; + mes "Un...ba... Unba?"; + close; + } + if (job_arch == 1) { + mes "[Priest]"; + mes "Un...ba... Umba?"; + next; + mes "[Utan Boy]"; + mes "..............."; + next; + mes "[Priest]"; + mes "Is that... right?"; + mes "Hmm... so..."; + mes "Um...ma? Umau...ma?"; + emotion e_swt; + next; + mes "[Utan Boy]"; + mes "..............."; + next; + mes "[Priest]"; + mes "Huuuuuu......"; + mes "Oh, dear . I feel heavy."; + mes "hohohoho."; + next; + mes "- mumbling~ -"; + next; + mes "[Priest]"; + mes "hahahahaha."; + mes "huhuhuhu. humhum."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Hello. are you... Priest Dayan?"; + next; + mes "[Priest]"; + mes "Huh?"; + next; + mes "He turns his head towards you."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Aren't you Priest Dayan?"; + next; + mes "[Priest]"; + mes "muttering..."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Priest! Da~yan! Right!?"; + next; + mes "[Priest Dayan]"; + mes "Ah~, yes."; + mes "Yes, I am."; + if (Sex == 1) { + mes "I'm Dayan. Nice to meet you Brother."; + } + else { + mes "I'm Dayan. Nice to meet you Sister."; + } + next; + mes "The old priest gives you an ear to ear grin. "; + next; + mes "[Priest Dayan]"; + mes "I forgot to wear my hearing aid. hehe."; + mes "Anyway, why have you come here?"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Hmm, I wanted to tell you..."; + next; + input .@inputstr$; + mes "[" + strcharinfo(0) + "]"; + mes "" + .@inputstr$ + ""; + next; + if (.@inputstr$ != "I'm here for the Holy Pilgrimage") { + mes "Priest Dayan doesn't seem to understand you. He just stares at you and smiles."; + next; + mes "[Priest]"; + mes "Eh? Say what?"; + close; + } + mes "[Priest Dayan]"; + mes "..............?"; + next; + mes "He cups his ears towards you."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "^FF0000I'm here for the Holy Pilgrimage!^000000"; + mes "^FF0000I'm here for the Holy Pilgrimage!^000000"; + mes "^FF0000I'm here for the Holy Pilgrimage!^000000"; + mes "^FF0000I'm here for the Holy Pilgrimage!^000000"; + next; + mes "[Priest Dayan]"; + mes "Eh... are you?"; + mes "A pilgrimage to the Holy Land..."; + mes "It has been a long time since I've seen such a devout minister."; + if (Sex == 1) { + mes "Welcome. Brother."; + next; + } + else { + mes "Welcome. Sister."; + next; + } + mes "The old priest gives you a gracious smile."; + next; + mes "[Priest Dayan]"; + mes "See this village with the huge forest surrounding it."; + mes "Can you see a giant tree?"; + next; + mes "[Priest Dayan]"; + mes "That big tree is called The ^3131FFYggdrasil^000000."; + mes "That tree was created from Ymir's body after Odin created the world as you know it, Rune Midgard."; + next; + mes "[Priest Dayan]"; + mes "A fountain pours out from the end of Yggdrasil's roots that spread to every world."; + next; + mes "[Priest Dayan]"; + mes "The roots head to Nifflheim where you can find Hvergelmir spring."; + mes "In Rune Midgard there is Mimir's spring. And in Asgard, the world of the Gods, there is the Word spring."; + next; + mes "[Priest Dayan]"; + mes "Mimir spring wells with intelligence, myth says that if Odin lets you have his eye that you will gain all of the knowledge within that spring."; + next; + mes "[Priest Dayan]"; + if (Sex == 1) { + mes "Brother."; + } + else { + mes "Sister."; + } + mes "Through the Holy Pilgrimage, we can make ourselves pious by cleansing our bodies and souls."; + next; + mes "[Priest Dayan]"; + mes "Enter the Yggdrasil."; + mes "You may be assaulted by creatures in there but be mindful that their intentions are only to protect the Yggdrasil."; + next; + mes "[Priest Dayan]"; + mes "Follow your steps with purpose."; + mes "If Odin doesn't abandon you, you can reach the beginning of the world at the stem of the Yggdrasil."; + mes "When you arrive there, find a quiet place."; + next; + mes "[Priest Dayan]"; + mes "Pray for a life of faith and expiate your sins with a pious mind."; + next; + mes "[Priest Dayan]"; + mes "Admire Odin's omniscience and omnipotence and pray for a wisdom to choose the right path."; + mes "^3131FFFeel free to ask me about how to pray^000000."; + next; + mes "[Priest Dayan]"; + mes "Lets see, go to the place of the most famous creature from Odin."; + next; + mes "[Priest Dayan]"; + mes "After making your pilgrimage, let's have a drink together and talk about your experience."; + next; + mes "- Priest Dayan smiles again. -"; + set job_arch,2; + changequest 2187,2188; + close; + } + if (job_arch == 2) { + mes "[Priest Dayan]"; + mes "This place is the holiest place in the world, Yggdrasil."; + mes "This holy ceremony will brighten your soul."; + next; + switch (select("How should I pray?:Cancel.")) { + case 1: + mes "[Priest Dayan]"; + mes "Through prayer, we can follow four paths."; + mes "Remember what I say to you now."; + next; + mes "[Priest Dayan]"; + mes "The 1st way is the ^3131FFway of meditation^000000."; + mes "In the way of meditation, we have to be ready to greet Odin with a clear conscience."; + next; + mes "[Priest Dayan]"; + mes "Meditation starts with a ^3131FFBlessing^000000 which calms your mind down."; + next; + mes "[Priest Dayan]"; + mes "The 2nd is the ^3131FFway of agony^000000."; + mes "Through the way of agony, we reflect on ourselves with confession about our retribution for the deeds of a former life."; + next; + mes "[Priest Dayan]"; + mes "Don't be afraid of pain. That is a necessity and will be a first step to enter a way to liquidate past wounds."; + next; + mes "[Priest Dayan]"; + mes "The 3rd way is the ^3131FFway of joy^000000."; + mes "As you rid yourself of pain, your mind will suffer less and you will experience the joy of life as you help and console others."; + next; + mes "[Priest Dayan]"; + mes "They will bless you because you are an existence of joy overcoming an affliction. We call that ^3131FFAspersio^000000."; + mes "You must drink a ^3131FFHoly Water^000000 with appreciation of Aspersio."; + next; + mes "[Priest Dayan]"; + mes "The last way is the ^3131FFway of light^000000."; + mes "You are free from all sin because you were blessed from all creation."; + next; + mes "[Priest Dayan]"; + mes "You were reborn as light, sing a ^3131FFGloria^000000 of joy and soul that loves you."; + next; + mes "[Priest Dayan]"; + mes "After finishing all of these prayers, just stand up with a pious mind."; + mes "If your prayer is truthful, Odin will lend you his wisdom."; + next; + mes "[Priest Dayan]"; + mes "Are you ready?"; + mes "Okay, it's time to leave and exculpate yourself."; + mes "If your prayer is finished, let's talk."; + close; + case 2: + mes "[Priest Dayan]"; + mes "I hope that my prayer can weaken your agony..."; + close; + } + } + if (job_arch == 3) { + mes "[Priest Dayan]"; + mes "Oh, you've come back."; + mes "I can feel that you have a fresh energy. Maybe you did pray truthfully."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "I feel light-hearted. Like I was just reborn..."; + next; + mes "[Priest Dayan]"; + mes "Your faith gives you confidence and courage."; + mes "A smile from a peaceful mind will easily rid people of their wariness."; + mes "Please, inspire people with love and energy."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Thanks for your kind words."; + next; + mes "[Priest Dayan]"; + if (Sex == 1) { + mes "Brother."; + } + else { + mes "Sister."; + } + mes "Now, there is a place you should go to."; + next; + mes "[Priest Dayan]"; + mes "That place is Hugel in Schwaltzvalt."; + mes "There is a Nun praying there named Vinue, she is a true minister who prays for the suffering people in the world."; + mes "But the last time I saw her she seemed sad."; + next; + mes "[Priest Dayan]"; + mes "Can you convince her to make a pilgrimage to Yggdrasil?"; + mes "I think she is exhausted due to praying too much. I hope the air of Yggdrasil will be helpful to her."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Don't worry."; + mes "I'll go and meet her."; + next; + mes "[Priest Dayan]"; + if (Sex == 1) { + mes "Feel free to visit here when you want to pray, brother."; + } + else { + mes "Feel free to visit here when you want to pray, sister."; + } + mes "A visit from a friend always makes me happy."; + set job_arch,4; + changequest 2188,2189; + close; + } + mes "[Dayan]"; + mes "Did you find Vinue in Hugel?"; + close; +} + +yggdrasil01,220,47,0 script #A pilgrimage to the Ho 139,5,5,{ + +OnTouch: + if (job_arch == 2) { + mes "[" + strcharinfo(0) + "]"; + mes "Is it the spring of Hvergelmir."; + mes "This place is a very vivid and peaceful place."; + mes "It's proper to pray."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Time to genuflect..."; + mes "Hmm, what did that priest say to me?"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Hmm... What is the first way?"; + next; + switch (select("The way of silence.:The way of confession.:The way of meditation.")) { + case 1: + mes "[" + strcharinfo(0) + "]"; + mes ""; + mes "I don't think so."; + close; + case 2: + mes "[" + strcharinfo(0) + "]"; + mes "The way of confession...?"; + mes "I don't think so."; + close; + case 3: + mes "[" + strcharinfo(0) + "]"; + mes "The way of meditation...?"; + mes "Yes, it's the way of meditation."; + next; + break; + } + mes "^3131FF[Priest Dayan]^000000"; + mes "^3131FFThe 1st way is the way of meditation.^000000"; + mes "^3131FFIn the way of meditation, we have to be ready to greet Odin with a clear conscience.^000000"; + next; + mes "^3131FF[Priest Dayan]^000000"; + mes "^3131FFMeditation starts with a Blessing which calms your mind down.^000000"; + next; + mes "- You close your eyes slowly and take a deep breath. -"; + next; + mes "- * BLESSING! * -"; + specialeffect2 EF_BLESSING; + next; + mes "Your mind is refreshed with the blessing effect."; + mes "You continue to meditate trying to rid your mind of any ill feelings."; + next; + mes "^3131FF[Priest Dayan]^000000"; + mes "^3131FFThe 2nd is the way of agony^000000."; + mes "^3131FFThrough the way of agony, we reflect on ourselves with confession about our retribution for the deeds of a former life.^000000"; + next; + mes "^3131FF[Priest Dayan]^000000"; + mes "^3131FFDon't be afraid of pain. That is a necessity and will be a first step to enter a way to liquidate past wounds.^000000"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Pain... What kind of faults have I had?"; + input .@inputstr$; + next; + mes "[" + strcharinfo(0) + "]"; + mes "I confess my guilt to the Almighty God Odin."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "^3131FF" + .@inputstr$ + ".^000000"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Oh benevolent Odin, Take mercy on me and pity me because I'm remiss in the discharge of my duties as a minister."; + mes "Please, lead the way and save a foolish minister with your wisdom."; + next; + mes "You ruminate about your confession and are lost in thought again."; + next; + mes "............................."; + next; + mes "............................."; + mes "........................."; + next; + mes "............................."; + mes "........................."; + mes "....................."; + next; + mes "^3131FF[Priest Dayan]^000000"; + mes "^3131FFThe 3rd way is the way of joy.^000000"; + mes "^3131FFAs you rid yourself of pain, your mind will suffer less and you will experience the joy of life as you help and console others.^000000"; + next; + mes "^3131FF[Priest Dayan]^000000"; + mes "^3131FFAnd also they will bless you because you are an existence of joy overcoming an affliction. We call that Aspersio^000000."; + mes "^3131FFYou must drink a Holy Water with appreciation of Aspersio.^000000"; + next; + if (countitem(523) == 0) { + mes "[" + strcharinfo(0) + "]"; + mes "Oh no! I forgot to bring a Holy Water!"; + close; + } + mes "- You bow respectfully holding up a Holy Water and put the glass to your lips. -"; + next; + mes "- * ASPERSIO ! * -"; + specialeffect2 EF_ASPERSIO; + next; + specialeffect2 EF_RECOVERY; + mes "............................."; + next; + mes "............................."; + mes "........................."; + next; + mes "............................."; + mes "........................."; + mes "....................."; + next; + mes "^3131FF[Priest Dayan]^000000"; + mes "^3131FFThe last way is a way of light^000000.^000000."; + mes "^3131FFYou are free from all sin because you were blessed from all creation.^000000"; + next; + mes "^3131FF[Priest Dayan]^000000"; + mes "^3131FFYou were reborn as light, sing a Gloria of joy and soul that love you.^000000"; + next; + mes "- You breath in deep and start to sing a Gloria."; + mes "A chord crashs out in the spring of Hvergelmir and a waterfall sound gives you a refreshing feeling. -"; + specialeffect2 EF_GLORIA; + next; + mes "[" + strcharinfo(0) + "]"; + mes "~Descendants of Heimdal gather under the Ash tree Yggdrasil.~"; + mes "~The Curdan bird which sits on a branch brings me the wisdom of whole world.~"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "~The Curdan wolf protects me from all threats in the world.~"; + specialeffect2 EF_GLORIA; + next; + mes "[" + strcharinfo(0) + "]"; + mes "~The host of ballascalf, rise up from your seat. The whole world shouts for joy.~"; + mes "~The father of light, the poet of wisdom, sing for me.~"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "~The host of a glittering glass, give me a holy prediction.~"; + specialeffect2 EF_GLORIA; + next; + mes "- After you finish the song, you feel light and strong with abundant devotion. -"; + specialeffect2 EF_BLESSING; + specialeffect2 EF_RESURRECTION; + next; + mes "[" + strcharinfo(0) + "]"; + mes "That was refreshing."; + mes "I guess I should go back to Priest Dayan."; + set job_arch,3; + close2; + warp "umbala",138,219; + end; + } + if (job_arch == 3) { + mes "[" + strcharinfo(0) + "]"; + mes "The song is over. It's time to go back to Priest Dayan."; + close2; + warp "umbala",138,219; + end; + } + end; +} + +hu_in01,205,204,7 script Praying Nun#benew 79,{ + if (job_arch == 4) { + mes "- There is a nun closing her eyes as she murmurs something which sounds like a prayer. -"; + next; + switch (select("Talk to her.:Stay Quiet.")) { + case 1: + break; + case 2: + mes "- You don't feel like disturbing her -"; + close; + } + mes "[" + strcharinfo(0) + "]"; + mes "Umm, hello sister?"; + next; + mes "[Vinue]"; + mes "Ah, Welcome."; + mes "It's not time to have a service yet..."; + if (Sex == 1) { + mes "Are you here to pray, brother?"; + } + else { + mes "Are you here to pray, sister?"; + } + next; + mes "[" + strcharinfo(0) + "]"; + mes "I came here to say hello from Priest Dayan from Prontera."; + next; + mes "[Vinue]"; + mes "Ah, Priest Dayan."; + mes "Is he good?"; + mes "He is so cute even though he's old."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "He told me that he was worried because when he saw you last time, you seemed sad."; + mes "He asks you to go on a Holy Pilgrimage."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Umbala has the vital power of nature!"; + next; + mes "[Vinue]"; + mes "Ah..."; + if (Sex == 1) { + mes "He's very kind. As are you brother."; + } + else { + mes "He's very kind. As are you sister."; + } + next; + mes "[Vinue]"; + mes "But don't worry."; + mes "I'm just a little tired because of a bad dream."; + next; + mes "[Vinue]"; + mes "Evil is always watching for our souls."; + mes "If you are indifferent to praying, it never misses an opportunity."; + next; + switch (select("A dream? What kind of dream?:Your soul should be fine.")) { + case 1: + break; + case 2: + mes "[Vinue]"; + mes "Oh but that's where you're wrong."; + mes "My soul may be the most at risk."; + mes "Thank you for delivering the message."; + mes "I'll go back to my prayers."; + close; + } + mes "[Vinue]"; + mes "That is..."; + mes "Actually I started to have a bad dream from the date I was appointed."; + next; + mes "[Vinue]"; + mes "At first, it was a dream that Valkyrie was sad and in darkness."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Valkyrie?"; + next; + mes "[Vinue]"; + mes "Yeah..."; + mes "She was crying in a pitch-black room."; + mes "Hanging down like a bird that had its wings cut."; + next; + mes "[Vinue]"; + mes "But, as time went by, the dream became scarier. Now Valkyrie is arrested with chains and then finally she is dashed to pieces."; + next; + mes "[Vinue]"; + mes "What a cruel performance! I suddenly can't breathe properly and then I wake up."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "To have to see the death of Valkyrie, must be a tormenting dream."; + next; + mes "[Vinue]"; + mes "Is it just a nightmare?"; + mes "Or do you think it is an omen?"; + next; + mes "[Vinue]"; + mes "I've been wanting to pray at Odin's shrine to make the dream go away. But that shrine became a den of evil a long time ago."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "The shrine?"; + mes "Nobody tried to subdue the evil?"; + next; + mes "[Vinue]"; + mes "Unfortunely, I'm a nun who doesn't have any exorcism skill..."; + mes "Residents of Hugel just stood aghast of the sight because they are not familiar with adventure."; + next; + mes "[Vinue]"; + mes "Thesedays, there are a lot of people because of the development of the Odin shrine, but their situation is not so good."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Is the dream related with the evil in the Odin shrine?"; + next; + mes "[Vinue]"; + mes "Hum... well."; + mes "I don't have any way to find out."; + mes "I don't have a method, so I just pray."; + next; + switch (select("I'll investgate for you.:I'll pray with you.")) { + case 1: + break; + case 2: + mes "[Vinue]"; + mes "Thank you."; + mes "I'll pray that the darkness stays away."; + mes "I hope you have a good time with the festival here in Hugel."; + close; + } + mes "[Vinue]"; + mes "Yeah?"; + mes "But, it'll be scary inside!"; + mes "There are lots of devils inside!"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "But I can't pretend to ignore a Sister who is in trouble?"; + mes "I'm a minister who copes with lots of asceticism!"; + mes "Entrust me."; + next; + mes "[Vinue]"; + mes "Ah... I'm so worried...."; + mes "I'll never forget your warm heart."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "How do I get to Odin shrine?"; + next; + mes "[Vinue]"; + mes "There is a ferry on the right side of the church."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Ok, wait for good news!"; + next; + mes "[Vinue]"; + mes "I'll pray for your safe return."; + mes "I hope that Odin gives you his protection as well."; + set job_arch, 5; + changequest 2189,2190; + close; + } + if ((job_arch > 4) && (job_arch < 100)) { + mes "[Vinue]"; + mes "I'll pray for your safe return."; + close; + } + mes "[Vinue]"; + mes "I feel refreshed."; + mes "It must be good news?"; + mes "Thanks the Gods."; + close; +} + +odin_tem02,282,263,0 script #find_val 139,3,3,{ + +OnTouch: + if ((job_arch > 4) && (job_arch < 100)) { + hideoffnpc "Valkyrie Illusion#arch"; + } + end; +} + +odin_tem02,281,275,3 script Valkyrie Illusion#arch 403,{ + if ((job_arch > 4) && (job_arch < 100)) { + mes "You can see Valkyrie who has a despairing face."; + next; + switch (select("Touch Valkyrie's Illusion.:Turn away.")) { + case 1: + mes "You lose your consciousness while getting a closer view of Valkyrie's Illusion."; + close2; + specialeffect2 EF_CLOAKING; + warp "job3_arch01",29,29; + hideonnpc "Valkyrie Illusion#arch"; + end; + case 2: + mes "Out of fear, you turn away from Valkyrie's illusion."; + close2; + hideonnpc "Valkyrie Illusion#arch"; + end; + } + } + end; + +OnInit: + hideonnpc "Valkyrie Illusion#arch"; + end; +} + +job3_arch01,29,34,3 script Valkyrie#arch 403,{ + + if(checkweight(1201,2) == 1){ + //Custom translation + mes "- bags must be emptied before they can proceed. -"; + close; + } + if ((BaseLevel != 99) && (JobLevel < 50)) { + warp "odin_tem02",282,263; + end; + } + if (getmercinfo(1)) { + mes "[Valkyrie]"; + mes "If you want to talk with me, you have to ^3131FFcancel all contracts^000000 with any mercenaries you have."; + close; + } + if (SkillPoint) { + mes "You can't progress without using all your skill points. Please use all of your skill points before progressing~"; + close; + } + if (checkweight(1201,4) == 0) { + mes "- Wait a moment! -"; + mes "- Currently you are carrying -"; + mes "- too many items with you. -"; + mes "- Please come back after -"; + mes "- you put some items into Kafra Storage. -"; + close; + } + if ((MaxWeight - Weight) < 2000) { + mes "- Wait a moment! -"; + mes "- Currently you are carrying -"; + mes "- too many items with you. -"; + mes "- Please come back after -"; + mes "- you put some items into Kafra Storage. -"; + close; + } + if ((Class != Job_Priest) && (Class != Job_High_Priest) && (Class == Job_Baby_Priest)) { + warp "odin_tem02",282,263; + } + if (Class != Job_Arch_Bishop || Class != Job_Arch_Bishop_T || Class == Job_Baby_Bishop) { + if (job_arch < 5) { + warp "odin_tem02",282,263; + } + if (job_arch == 5) { + mes "[Valkyrie]"; + mes "In the heavens the sound of pipes spread out, but a bird that can't fly crawls and finally is crushed to pieces on the ground."; + mes "Ah, I'm resentful! so regretful!"; + next; + mes "- Valkyrie holds its face, then she finds you and stares with a threatening face. -"; + next; + mes "[Valkyrie]"; + mes "You are a descendant of Heimdal living in pain as a mortal, why are you in here?"; + mes "Are you here to ridicule my grim fate?"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "No way!"; + mes "But it's true that I'm here for you."; + next; + mes "[Valkyrie Anguhilde]"; + mes "...me?"; + mes "Of course I'm staying in Midgard, but we are under the yoke of fate that can't coexist in this world."; + next; + mes "[Valkyrie Anguhilde]"; + mes "I see, is your goal to enter Valhalla?"; + mes "If you do, it's the wrong place for you."; + next; + mes "[Valkyrie Anguhilde]"; + mes "I was already expelled from Asgard."; + mes "My duty is protecting this small island from humans trying to take it from the Gods and even I don't have any energy to do so."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "It's not that kind of problem."; + mes "But someone who perceives your painful situation has sent me here."; + next; + mes "[Valkyrie Anguhilde]"; + mes "Haha! You are going to help me?!"; + next; + mes "[Valkyrie Anguhilde]"; + mes "..................."; + next; + mes "- Valkyrie gives you a fierce scowl. -"; + next; + mes "[Valkyrie Anguhilde]"; + mes "In fact, I can't do anything with my body now."; + next; + mes "[Valkyrie Anguhilde]"; + mes "Human, answer me. Are you here to sincerely help me?"; + next; + switch (select("Yes:No")) { + case 1: + break; + case 2: + mes "[Valkyrie Anguhilde]"; + mes "I knew that I couldn't trust a human!"; + close2; + warp "odin_tem02",282,263; + end; + } + mes "[Valkyrie Anguhilde]"; + mes "Ok..."; + mes "I don't have any energy to hold my own, so I have no choice but to trust you."; + next; + mes "[Valkyrie Anguhilde]"; + mes "I was a normal Valkyrie that lead soldiers to Valhalla according to the order of Odin."; + next; + mes "[Valkyrie Anguhilde]"; + mes "But I harmed Freki, one of Odin's wolves, and I was expelled form Asgard without any energy as a Valkyrie with orders to protect this island."; + next; + mes "[Valkyrie Anguhilde]"; + mes "I was disgraced, this island is important as a temple for Odin and the various Gods."; + mes "I tried to do my best to protect this holy place."; + next; + mes "[Valkyrie Anguhilde]"; + mes "But one day, the devil started to gain influence on this island."; + mes "I don't know why they came here and from where they came from."; + next; + mes "[Valkyrie Anguhilde]"; + mes "They seiged the temple and I exhausted my energy tring to fight them all myself."; + next; + mes "[Valkyrie Anguhilde]"; + mes "The holy shrine was tainted by the devils."; + mes "How long do I have to be under this dishonorable fate!"; + next; + mes "[Valkyrie Anguhilde]"; + mes "Mortal one, what is your name?"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "My name is " + strcharinfo(0) + "."; + next; + mes "[Valkyrie Anguhilde]"; + mes "" + strcharinfo(0) + ","; + mes "You told me that you want to help me, right? Even though it disgraces me, I am asking for your help."; + next; + mes "[Valkyrie Anguhilde]"; + mes "This place may look like it was made my humans. Actually, it's a very important monument and also a part of the God's history."; + next; + mes "[Valkyrie Anguhilde]"; + mes "I've lost all of my energy and my body is sealed so there is no way for me to protect the shrine."; + mes "You have to send a message to Valhalla to ask for help from a Valkyrie quickly."; + next; + menu "How can I do that?",-; + mes "[Valkyrie Anguhilde]"; + mes "At the ^3131FFtop of the shrine^000000, You can contact to them with a ^3131FFGolden pipe^000000."; + next; + mes "[Valkyrie Anguhilde]"; + mes "I'm going to give you a scroll of paper written in an ancient language."; + mes "In that scroll, there is my impersonation."; + mes "^3131FFIf you go outside, you can summon a Valkyrie with that scroll.^000000"; + next; + mes "[Valkyrie Anguhilde]"; + mes "After you summon my impersonation, you have to find a ^3131FFBroken pipe^000000."; + mes "Maybe it'll be spread in the shrine..."; + next; + mes "[Valkyrie Anguhilde]"; + mes "You have to go to the top of the shrine, collecting all broken pipes from the impersonation."; + mes "And then I'm going to take care of the matter."; + next; + mes "[Valkyrie Anguhilde]"; + mes "An impersonation will help when you move or attack as you want through ^FF0000ALT+click^000000."; + mes "But you have to be careful if an imeprsonation falls down."; + next; + mes "[Valkyrie Anguhilde]"; + mes "When you finish preparing to go on, talk to me again."; + mes "It'll be a long journey..."; + set job_arch,6; + close; + } + if (job_arch == 6) { + if ($@archbs == 0) { + set $@archbs,1; + mes "[Valkyrie Anguhilde]"; + mes "" + strcharinfo(0) + " Did you finish preparing for your way of asceticism?"; + next; + if (getmapusers("job3_arch02") > 0) { + mes "[Valkyrie Anguhilde]"; + //Custom translation + mes "Ah, it seems someone is already combating the evil in the temple."; + mes "I will go see who it is, please wait a moment."; + set $@archbs,0; + close; + } + mes "[Valkyrie Anguhilde]"; + mes "Ok. Now I'm going to send you there."; + mes "^FF0000When you go there, you have to summon my impersonation with the scroll^000000. Don't forget."; + set $@archbs,0; + close2; + nude; + if (countitem(2798) > 0) { + delitem 2798,countitem(2798); //Will_Of_Exhausted_Angel + } + donpcevent "start#arch::OnEnable"; + set job_arch,7; + changequest 2190,2191; + warp "job3_arch02",119,49; + hideonnpc "Valkyrie#arch"; + end; + } + mes "[Valkyrie Anguhilde]"; + //Custom translation + mes "I am already talking to someone, please wait and talk to me again."; + close; + } + if (job_arch == 7) { + if (countitem(12381) > 0 || countitem(12382) > 0) { + if (countitem(12381) > 0) { + delitem 12381,countitem(12381); //ValkyrieA_Scroll + } + if (countitem(12382) > 0) { + delitem 12382,countitem(12382); //ValkyrieB_Scroll + } + if ($@archbs == 0) { + set $@archbs,1; + mes "[Valkyrie Anguhilde]"; + mes "Are you ok human?"; + mes "It was not as easy as I expected."; + mes "Will you challenge again?"; + next; + if (getmapusers("job3_arch02") > 0) { + set $@archbs,0; + mes "[Valkyrie Anguhilde]"; + //Custom translation + mes "Ah, it seems someone is already combating the evil in the temple."; + mes "I will see who it is, please wait a moment."; + close; + } + set $@archbs,0; + mes "[Valkyrie Anguhilde]"; + mes "OK. now I'm going to send you there."; + mes "^FF0000When you go there, you have to summon my impersonation with the scroll^000000."; + mes "An impersonation will help when you move or attack as you want through ^FF0000ALT+click^000000."; + mes "But you have to be careful if an imeprsonation falls down."; + close2; + nude; + if (countitem(2798) > 0) { + delitem 2798,countitem(2798); //Will_Of_Exhausted_Angel + } + donpcevent "start#arch::OnEnable"; + set job_arch, 7; + warp "job3_arch02",119,49; + hideonnpc "Valkyrie#arch"; + end; + } + mes "[Valkyrie Anguhilde]"; + //Custom translation + mes "I am already talking to someone, please wait and talk to me again."; + close; + } + end; + } + end; + } + end; + +OnInit: + set $@archbs,0; + end; + +OnBc: + set $@archbs,0; + //Custom translation + mapannounce "job3_arch01","Valkyrie's Cry: I hear the laughter of the devil, someone has fallen in the temple.",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0 + hideoffnpc "Valkyrie#arch"; + end; +} + +job3_arch02,119,49,0 script #arch_1_start 139,6,6,{ + +OnTouch: + if (countitem(12381) == 0) { + getitem 12381,1; //ValkyrieA_Scroll + } + mapannounce "job3_arch02","Whispering of an impersonation: I feel heavy! Set me free!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0 + hideonnpc "#arch_1_start"; + end; +} + +- script #arch_1_01_0::archbjcq 139,5,5,{ + +OnTouch: + if (countitem(12381) > 0) { + delitem 12381,1; //ValkyrieA_Scroll + mapannounce "job3_arch02","Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0 + mapwarp "job3_arch02","job3_arch01",29,29; + end; + } + if (getmercinfo(1) == 2037) { + set .@randht, rand(1,10); + if (.@randht < 8) { + mapannounce "job3_arch02","Whispering of an impersonation: I can feel the devil's spirits! Be careful!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0 + } + else if (.@randht == 8 || .@randht == 9) { + mapannounce "job3_arch02","Embodiment of the voice: They are close to you!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0 //Custom translation + } + end; + } + mapannounce "job3_arch02","Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0 + mapwarp "job3_arch02","job3_arch01",29,29; + end; +} + +job3_arch02,112,73,0 duplicate(archbjcq) #arch_1_01 139,5,5 +job3_arch02,94,123,0 duplicate(archbjcq) #arch_1_02 139,5,5 +job3_arch02,93,173,0 duplicate(archbjcq) #arch_1_03 139,5,5 +job3_arch02,114,186,0 duplicate(archbjcq) #arch_1_04 139,5,5 +job3_arch02,134,201,0 duplicate(archbjcq) #arch_1_05 139,5,5 +job3_arch02,154,211,0 duplicate(archbjcq) #arch_1_06 139,5,5 +job3_arch02,175,227,0 duplicate(archbjcq) #arch_1_07 139,5,5 +job3_arch02,201,240,0 duplicate(archbjcq) #arch_1_08 139,5,5 +job3_arch02,223,252,0 duplicate(archbjcq) #arch_1_09 139,5,5 +job3_arch02,255,268,0 duplicate(archbjcq) #arch_1_10 139,5,5 +job3_arch02,269,302,0 duplicate(archbjcq) #arch_1_11 139,5,5 +job3_arch02,245,289,0 duplicate(archbjcq) #arch_1_12 139,5,5 + +job3_arch02,203,286,0 script #arch_1_boss 139,5,5,{ + +OnTouch: + if (countitem(12381) > 0) { + delitem 12381,1; //ValkyrieA_Scroll + mapannounce "job3_arch02","Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0 + mapwarp "job3_arch02","job3_arch01",29,29; + end; + } + if (GetMyMercenary == 2037) { + mapannounce "job3_arch02","Valkyrie's Nightmare: An incompetent illusion of Valkyrie came here with the assistance of humans. You wanna have that nightmare?",bc_map,"0xFF0000"; //FW_NORMAL 12 0 0 + donpcevent "mob#arch_1::OnKill"; + } + else { + mapannounce "job3_arch02","Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0 + mapwarp "job3_arch02","job3_arch01",29,29; + } + end; +} + +job3_arch02,390,390,1 script #arch_redcell 844,{ + end; + +OnInit: + setcell "job3_arch02",276,290,280,294,cell_walkable,0; + setcell "job3_arch02",276,290,280,294,cell_shootable,0; + end; + +OnGreen: + setcell "job3_arch02",276,290,280,294,cell_walkable,1; + setcell "job3_arch02",276,290,280,294,cell_shootable,1; + end; + +OnRed: + setcell "job3_arch02",276,290,280,294,cell_walkable,0; + setcell "job3_arch02",276,290,280,294,cell_shootable,0; + end; +} + +job3_arch02,390,389,1 script #arch_val01 844,{ + end; + +OnEnable: + areamonster "job3_arch02",111,325,115,329,"Valkyrie's Nightmare",2036,1,"#arch_val01::OnMyMobDead"; + end; + +OnMyMobDead: + if (mobcount ("job3_arch02","#arch_val01::OnMyMobDead") < 1) { + donpcevent "#arch_redcell::OnGreen"; + mapannounce "job3_arch02","Valkyrie's Nightmare: Your win is only a false image! hahahaha!",bc_map,"0xFF0000"; //FW_NORMAL 12 0 0 + hideoffnpc "Valkyrie#arch_01"; + hideonnpc "#arch_1_start"; + hideonnpc "#arch_1_01"; + hideonnpc "#arch_1_02"; + hideonnpc "#arch_1_03"; + hideonnpc "#arch_1_04"; + hideonnpc "#arch_1_05"; + hideonnpc "#arch_1_06"; + hideonnpc "#arch_1_07"; + hideonnpc "#arch_1_08"; + hideonnpc "#arch_1_09"; + hideonnpc "#arch_1_10"; + hideonnpc "#arch_1_11"; + hideonnpc "#arch_1_12"; + hideonnpc "#arch_1_boss"; + } + end; + +OnKill: + killmonster "job3_arch02","#arch_val01::OnMyMobDead"; + end; +} + +job3_arch02,390,387,1 script #arch_val02 844,{ + end; + +OnEnable: + areamonster "job3_arch02",242,44,246,48,"Valkyrie's Nightmare",2036,1,"#arch_val02::OnMyMobDead"; + end; + +OnMyMobDead: + if (mobcount ("job3_arch02","#arch_val02::OnMyMobDead") < 1) { + mapannounce "job3_arch02","Valkyrie's Nightmare: You are so childish. I invite you to a devil's party. I'll make sure you have a fun!",bc_map,"0xFF0000"; //FW_NORMAL 12 0 0 + hideoffnpc "Valkyrie#arch_02"; + hideonnpc "#arch_2_boss"; + viewpoint 234,279,1,1,0xFFFF9900; + } + end; + +OnKill: + killmonster "job3_arch02","#arch_val02::OnMyMobDead"; + end; +} + +job3_arch02,113,327,5 script Valkyrie#arch_01 403,{ + if (getmercinfo(1)) { + mes "[Valkyrie]"; + mes "If you want to talk with me, you have to ^3131FFcancel all contracts^000000 with any mercenaries you have."; + close; + } + mes "[Valkyrie Anguhilde]"; + mes "The devil always makes an effort to agitate people's mind."; + mes "You don't have to care about their whisperings."; + next; + mes "[Valkyrie Anguhilde]"; + mes "Anyway I can feel my energy coming back."; + mes "Show me the stuff that you found."; + next; + mes "- You show a golden piece of pipe to Valkyrie. -"; + next; + mes "[Valkyrie Anguhilde]"; + mes "Oh, It's a piece of pipe!"; + mes "If you collect pieces, you can ask other Valkyries for help."; + next; + mes "[Valkyrie Anguhilde]"; + mes "Because of a close battle, I could only get a little energy."; + mes "I'm going to give a ^3131FFnew ancient scroll^000000."; + mes "It'll be helpful to find the rest of pieces."; + next; + mes "[Valkyrie Anguhilde]"; + mes "Then I look forward a good news."; + close2; + getitem 12382,1; //ValkyrieB_Scroll + viewpoint 46,244,1,1,0xFFFF9900; + hideonnpc "Valkyrie#arch_01"; + donpcevent "#arch_2_start::OnEnable"; + end; +} + +job3_arch02,244,46,5 script Valkyrie#arch_02 403,{ + mes "[Valkyrie Anguhilde]"; + mes "Did you find the rest of the pieces?"; + next; + if (countitem(6154) < 2) { + mes "[Valkyrie Anguhilde]"; + mes "Hum?"; + mes "I can see this one beside you."; + getitem 6154,2; //Broken_Horn_Pipe + next; + } + mes "[Valkyrie Anguhilde]"; + mes "OK."; + mes "I'll complete the broken horn pipe!"; + next; + mes "[Valkyrie Anguhilde]"; + mes "But the battle is not finished yet."; + mes "You remember a ^3131FFruined shrine on the center of the island^000000?"; + mes "It'll be completed only when you use a horn pipe."; + next; + mes "[Valkyrie Anguhilde]"; + mes "I can feel the air around me is getting impure."; + mes "And feel the coldness of the pitch-black darkness."; + mes "This time will be dangerous."; + next; + mes "[Valkyrie Anguhilde]"; + mes "I give you a necklace as a present."; + mes "But I'm not sure that It'll be helpful or not...."; + mes "Take care."; + mes "Please, hurry up!"; + close2; + getitem 2798,1; //Will_Of_Exhausted_Angel + hideonnpc "Valkyrie#arch_02"; + donpcevent "#arch_3_start::OnEnable"; + end; +} + +job3_arch02,279,234,0 script #arch_end 139,7,7,{ + +OnTouch: + donpcevent "#arch_3_01::OnKill"; + donpcevent "#arch_3_02::OnKill"; + donpcevent "#arch_3_03::OnKill"; + donpcevent "mob#arch_2::OnKill"; + hideoffnpc "Valkyrie Anguhilde#end"; + if (checkweight(1201,4) == 0) { + mes "- Wait a moment! -"; + mes "- Currently you are carrying -"; + mes "- too many items with you. -"; + mes "- Please come back after -"; + mes "- you put some items into Kafra Storage. -"; + close; + } + if ((MaxWeight - Weight) < 2000) { + mes "- Wait a moment! -"; + mes "- Currently you are carrying -"; + mes "- too many items with you. -"; + mes "- Please come back after -"; + mes "- you put some items into Kafra Storage. -"; + close; + } + if (countitem(6154) < 2) { + mes "[Valkyrie Anguhilde]"; + mes "Did you collect all of the pieces of my horn pipe?"; + next; + mes "[Valkyrie Anguhilde]"; + mes "I know you bent over backwards to help me, but I can't do anything without 2 pieces of horn pipe."; + next; + mes "[Valkyrie Anguhilde]"; + mes "It can be dangerous, so let's go back."; + close2; + nude; + if (countitem(2798) > 0) { + delitem 2798,(2798); //Will_Of_Exhausted_Angel + } + delitem 6154,countitem(6154); //Broken_Horn_Pipe + mapwarp "job3_arch02","job3_arch01",29,29; + end; + } + mes "[Valkyrie Anguhilde]"; + mes "Finally we finished all the preparations."; + next; + mes "Valkyrie holds the pipe and blows towards the sky."; + next; + mes "Booo - - - -"; + next; + mes "Booo - - -"; + next; + hideoffnpc "Valkyrie of the heavens"; + mes "[Valkyrie Anguhilde]"; + mes "Assistance of Odin! Soldiers of Valhalla!"; + mes "The holy place of the God Odin is tainted by darkness!"; + next; + mes "[Valkyrie of the heavens]"; + mes "Don't worry, Anguhilde."; + mes "Your desire has reached Valhalla."; + mes "The devils were removed by other Valkyries as you wanted."; + next; + mes "[Valkyrie Anguhilde]"; + mes "Valkyries! Then is it safe now?"; + next; + mes "[Valkyrie of the heavens]"; + mes "Yes Anguhilde."; + mes "Even though you were expelled because of a incident before, Odin said that he is reconsidering your banishment."; + next; + mes "[Valkyrie Anguhilde]"; + mes "Ah! I can go back to Asgard!"; + next; + mes "[Valkyrie of the heavens]"; + mes "Don't make a hasty generalization."; + mes "But I think that good news will be sent to you."; + next; + mes "[Valkyrie Anguhilde]"; + mes "Honor to Odin!"; + mes "I feel full of grace."; + mes "So bright and warm...."; + next; + mes "- Shoooo -"; + specialeffect EF_CLOAKING,AREA,"Valkyrie Anguhilde#end"; + hideonnpc "Valkyrie Anguhilde#end"; + emotion e_omg,1; + next; + mes "[Valkyrie of the heavens]"; + mes "Set your mind at ease."; + mes "She went to a place where she is supposed to be."; + next; + mes "[Valkyrie of the heavens]"; + mes "I think you don't get it."; + next; + mes "[Valkyrie of the heavens]"; + mes "Anguhilde is a Valkyrie who is dead for a long time ago."; + mes "Didn't you see a shrine covered by the devil?"; + mes "Unfortunately, Anguhilde couldn't cope with the task and fell down."; + next; + mes "[Valkyrie of the heavens]"; + mes "Here is an illusion of Anguhilde who doesn't want to be recognized."; + mes "She can't go to hell even when she is dead, and struggles from her constant nightmare."; + next; + mes "[Valkyrie of the heavens]"; + mes "But she is relieved by your favor."; + mes "Even though It's different with reality but now she may be able to rest in peace."; + next; + mes "[Valkyrie of the heavens]"; + mes "Human, the Valkyries are in your debt. Thank you."; + mes "I can't invite you as I want, but the power given by Odin can help you."; + next; + mes "[Valkyrie of the heavens]"; + mes "Now, go back to your world."; + mes "The sound of the horn pipe and a bird's chirpings will be spread out for you."; + next; + mes "[Valkyrie of the heavens]"; + mes "Don't forget an altruistic minister's spirit like today forever."; + mes "I hope we see each other in Valhalla sometime."; + nude; + if (countitem(2798) > 0) { + delitem 2798,countitem(2798); //Will_Of_Exhausted_Angel + } + delitem 6154,countitem(6154); //Broken_Horn_Pipe + set job_arch,100; + completequest 2191; + getitem 5747,1; //Mitra + getitem 2795,1; //Green_Apple_Ring + if(Class == Job_Baby_Priest){ + jobchange Job_Baby_Bishop; + } + else if (Class == Job_Priest) { + jobchange Job_Arch_Bishop; + } + else { + jobchange Job_Arch_Bishop_T; + } + close; + +OnInit: + hideonnpc "#arch_end"; + end; +} + +job3_arch02,281,232,1 script Valkyrie Anguhilde#end 403,{ + end; + +OnInit: + hideonnpc "Valkyrie Anguhilde#end"; + end; +} + +job3_arch02,273,235,5 script Valkyrie of the heavens 811,{ + if (job_arch == 100) { + mes "[Valkyrie of the heavens]"; + mes "Now, go back to your world."; + mes "The sound of the horn pipe and a bird's chirpings will be spread out for you."; + next; + mes "[Valkyrie of the heavens]"; + mes "Don't forget an altruistic minister's spirit like today forever."; + mes "I hope we see each other in Valhalla sometime."; + close2; + mapwarp "job3_arch02","job3_arch01",29,29; + end; + } + end; + +OnInit: + hideonnpc "Valkyrie of the heavens"; + end; +} + +job3_arch02,132,323,0 script #arch_2_01 139,5,5,{ + +OnTouch: + if (countitem(12382) > 0) { + mapannounce "job3_arch02","Whispering of Valkyrie: I see a new ancient scroll!",bc_map,"0x000000"; //FW_NORMAL 12 0 0 + } + end; +} + +- script #arch_2_02_0::archbjcq2 139,5,5,{ + +OnTouch: + if (countitem(12382) > 0) { + delitem 12382,1; //ValkyrieB_Scroll + mapannounce "job3_arch02","Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0 + mapwarp "job3_arch02","job3_arch01",29,29; + end; + } + if (getmercinfo(1) == 2038) { + set .@randht, rand(1,10); + if (.@randht < 8) { + mapannounce "job3_arch02","Whispering of an impersonation: I can feel the devil's spirits. Can you hear? The sound of gathering in crowds.",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0 + } + else if (.@randht == 8 || .@randht == 9) { + mapannounce "job3_arch02","Embodiment of Sounds: Battle Stance!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0 //Custom translation + } + else { + mapannounce "job3_arch02","Whispering of an impersonation: I can't leave you! Die!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0 + } + end; + } + mapannounce "job3_arch02","Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0 + mapwarp "job3_arch02","job3_arch01",29,29; + end; +} + +job3_arch02,167,313,0 duplicate(archbjcq2) #arch_2_02 139,5,5 +job3_arch02,127,304,0 duplicate(archbjcq2) #arch_2_03 139,5,5 +job3_arch02,207,279,0 duplicate(archbjcq2) #arch_2_04 139,5,5 +job3_arch02,239,281,0 duplicate(archbjcq2) #arch_2_05 139,5,5 +job3_arch02,269,303,0 duplicate(archbjcq2) #arch_2_06 139,5,5 +job3_arch02,288,283,0 duplicate(archbjcq2) #arch_2_07 139,5,5 +job3_arch02,278,234,0 duplicate(archbjcq2) #arch_2_08 139,5,5 +job3_arch02,234,179,0 duplicate(archbjcq2) #arch_2_09 139,5,5 +job3_arch02,227,169,0 duplicate(archbjcq2) #arch_2_10 139,5,5 +job3_arch02,190,146,0 duplicate(archbjcq2) #arch_2_11 139,5,5 + +job3_arch02,252,267,0 script #arch_2_12 139,5,5,{ + +OnTouch: + mapannounce "job3_arch02","Whispering of an impersonation: It's a crossroad. Let's go to the left side. I have to find my pipe.",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0 + end; +} + +job3_arch02,250,290,0 script #arch_2_13 139,5,5,{ + +OnTouch: + mapannounce "job3_arch02","Whispering of an impersonation: I can see a ruined shrine. Take a rest in there.",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0 + end; +} + +job3_arch02,206,113,0 script #arch_2_boss 139,5,5,{ + +OnTouch: + if (countitem(12382) > 0) { + delitem 12382,1; //ValkyrieB_Scroll + mapannounce "job3_arch02","Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0 + mapwarp "job3_arch02","job3_arch01",29,29; + end; + } + if (getmercinfo(1) == 2038) { + mapannounce "job3_arch02","A shout of devil: You are so childish. I invite you a party of devil. I'll make you have a fun!",bc_map,"0xFF0000"; //FW_NORMAL 12 0 0 + } + else { + mapannounce "job3_arch02","Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0 + mapwarp "job3_arch02","job3_arch01",29,29; + } + end; +} + +job3_arch02,284,159,0 script #arch_3_01 139,20,20,{ + +OnTouch: + if ((Class != Job_Priest) && (Class != Job_Baby_Priest)) { + mapannounce "job3_arch02","Frus: Do you want to see God? Okay, I'll send you to the land of the dead by myself!",bc_map,"0xFF0000"; //FW_NORMAL 12 0 0 + areamonster "job3_arch02",242,44,246,48,"Frus",1762,1; + } + hideonnpc "#arch_3_01"; + end; + +OnKill: + killmonster "job3_arch02","#arch_3_01::OnMyMobDead"; + end; + +OnInit: + hideoffnpc "#arch_3_01"; + end; +} + +job3_arch02,307,200,0 script #arch_3_02 139,5,5,{ + +OnTouch: + if (Class == Job_Priest || Class == Job_Baby_Priest) { + mapannounce "job3_arch02","Skogul: You are my guest!",bc_map,"0xFF0000"; //FW_NORMAL 12 0 0 + monster "job3_arch02",307,200,"Skogul",1761,1; + } + hideonnpc "#arch_3_02"; + end; + +OnKill: + killmonster "job3_arch02","#arch_3_02::OnMyMobDead"; + end; + +OnInit: + hideoffnpc "#arch_3_02"; + end; + +} + +job3_arch02,296,216,0 script #arch_3_03 139,5,5,{ + +OnTouch: + mapannounce "job3_arch02","Frus: I like your face... Can I steal it?",bc_map,"0xFF0000"; //FW_NORMAL 12 0 0 + monster "job3_arch02",296,216,"Frus",1762,1; + hideonnpc "#arch_3_03"; + end; + +OnKill: + killmonster "job3_arch02","#arch_3_03::OnMyMobDead"; + end; + +OnInit: + hideonnpc "#arch_3_03"; + end; + +} + +job3_arch02,389,390,1 script mob#arch_1 844,{ + end; + +OnEnable: + monster "job3_arch02",100,102,"Shrine Invader",1394,2; + monster "job3_arch02",90,131,"Shrine Invader",1394,2; + monster "job3_arch02",91,170,"Shrine Invader",1427,1; + monster "job3_arch02",104,183,"Shrine Invader",1427,1; + monster "job3_arch02",138,205,"Shrine Invader",1394,2; + monster "job3_arch02",161,215,"Shrine Invader",1394,2; + monster "job3_arch02",165,215,"Shrine Invader",1427,1; + monster "job3_arch02",201,236,"Shrine Invader",1394,2; + monster "job3_arch02",218,250,"Shrine Invader",1427,1; + monster "job3_arch02",254,293,"Shrine Invader",1427,1; + end; + +OnKill: + killmonster "job3_arch02","mob#arch_1::OnMyMobDead"; + end; +} + +job3_arch02,389,389,1 script mob#arch_2 844,{ + end; + +OnEnable: + monster "job3_arch02",156,321,"Shrine Invader",1480,2; + monster "job3_arch02",170,305,"Shrine Invader",1480,2; + monster "job3_arch02",183,293,"Shrine Invader",1453,1; + monster "job3_arch02",200,287,"Shrine Invader",1453,1; + monster "job3_arch02",256,293,"Shrine Invader",1480,2; + monster "job3_arch02",286,284,"Shrine Invader",1480,2; + monster "job3_arch02",278,236,"Shrine Invader",1453,1; + monster "job3_arch02",292,185,"Shrine Invader",1480,2; + monster "job3_arch02",281,170,"Shrine Invader",1453,1; + monster "job3_arch02",227,166,"Shrine Invader",1453,1; + monster "job3_arch02",190,146,"Shrine Invader",1480,1; + monster "job3_arch02",204,177,"Shrine Invader",1453,1; + end; + +OnKill: + killmonster "job3_arch02","mob#arch_2::OnMyMobDead"; + end; +} + +job3_arch02,389,388,1 script start#arch 844,{ + end; + +OnInit: + mapwarp "job3_arch02","job3_arch02",29,29; + end; + +OnEnable: + mapwarp "job3_arch02","job3_arch02",29,29; + hideoffnpc "#arch_1_start"; + hideoffnpc "#arch_1_01"; + hideoffnpc "#arch_1_02"; + hideoffnpc "#arch_1_03"; + hideoffnpc "#arch_1_04"; + hideoffnpc "#arch_1_05"; + hideoffnpc "#arch_1_06"; + hideoffnpc "#arch_1_07"; + hideoffnpc "#arch_1_08"; + hideoffnpc "#arch_1_09"; + hideoffnpc "#arch_1_10"; + hideoffnpc "#arch_1_11"; + hideoffnpc "#arch_1_12"; + hideoffnpc "#arch_1_boss"; + hideonnpc "#arch_2_01"; + hideonnpc "#arch_2_02"; + hideonnpc "#arch_2_03"; + hideonnpc "#arch_2_04"; + hideonnpc "#arch_2_05"; + hideonnpc "#arch_2_06"; + hideonnpc "#arch_2_07"; + hideonnpc "#arch_2_08"; + hideonnpc "#arch_2_09"; + hideonnpc "#arch_2_10"; + hideonnpc "#arch_2_11"; + hideonnpc "#arch_2_boss"; + hideonnpc "#arch_3_01"; + hideonnpc "#arch_3_02"; + hideonnpc "#arch_3_03"; + donpcevent "#arch_3_01::OnKill"; + donpcevent "#arch_3_02::OnKill"; + donpcevent "#arch_3_03::OnKill"; + hideonnpc "#arch_end"; + hideonnpc "Valkyrie#arch_01"; + hideonnpc "Valkyrie#arch_02"; + hideonnpc "Valkyrie Anguhilde#end"; + hideonnpc "Valkyrie of the heavens"; + donpcevent "#arch_redcell::OnRed"; + donpcevent "mob#arch_1::OnKill"; + donpcevent "mob#arch_2::OnKill"; + donpcevent "start#arch::OnTimeoff"; + donpcevent "start#arch::OnTimeon"; + donpcevent "#arch_val01::OnKill"; + donpcevent "#arch_val02::OnKill"; + donpcevent "mob#arch_1::OnKill"; + donpcevent "mob#arch_2::OnKill"; + donpcevent "mob#arch_1::OnEnable"; + donpcevent "#arch_val01::OnEnable"; + end; + +OnTimeon: + initnpctimer; + end; + +OnTimeoff: + stopnpctimer; + end; + +OnTimer60000: + if (getmapusers("job3_arch02") == 0) { + mapwarp "job3_arch02","job3_arch01",29,29; + donpcevent "Valkyrie#arch::OnBc"; + stopnpctimer; + } + end; + +OnTimer120000: + if (getmapusers("job3_arch02") == 0) { + mapwarp "job3_arch02","job3_arch01",29,29; + donpcevent "Valkyrie#arch::OnBc"; + stopnpctimer; + } + end; + +OnTimer180000: + if (getmapusers("job3_arch02") == 0) { + mapwarp "job3_arch02","job3_arch01",29,29; + donpcevent "Valkyrie#arch::OnBc"; + stopnpctimer; + } + end; + +OnTimer240000: + if (getmapusers("job3_arch02") == 0) { + mapwarp "job3_arch02","job3_arch01",29,29; + donpcevent "Valkyrie#arch::OnBc"; + stopnpctimer; + } + end; + +OnTimer300000: + if (getmapusers("job3_arch02") == 0) { + mapwarp "job3_arch02","job3_arch01",29,29; + donpcevent "Valkyrie#arch::OnBc"; + stopnpctimer; + } + end; + +OnTimer360000: + if (getmapusers("job3_arch02") == 0) { + mapwarp "job3_arch02","job3_arch01",29,29; + donpcevent "Valkyrie#arch::OnBc"; + } + end; + +OnTimer420000: + if (getmapusers("job3_arch02") == 0) { + mapwarp "job3_arch02","job3_arch01",29,29; + donpcevent "Valkyrie#arch::OnBc"; + stopnpctimer; + } + end; + +OnTimer480000: + if (getmapusers("job3_arch02") == 0) { + mapwarp "job3_arch02","job3_arch01",29,29; + donpcevent "Valkyrie#arch::OnBc"; + stopnpctimer; + } + end; + +OnTimer540000: + if (getmapusers("job3_arch02") == 0) { + mapwarp "job3_arch02","job3_arch01",29,29; + donpcevent "Valkyrie#arch::OnBc"; + stopnpctimer; + } + end; + +OnTimer600000: + mapannounce "job3_arch02","Demons cry: Too boring, can no longer imagine what will happen! Friends, we went to lessons learned that could fool arrogant guy, OK?",bc_map,"0xFF0000"; //FW_NORMAL 12 0 0 //Custom translation; + end; + +OnTimer605000: + mapannounce "job3_arch02","Valkyrie's voice: No! This can not be. I will send you back soon!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0 + mapwarp "job3_arch02","job3_arch01",29,29; + donpcevent "Valkyrie#arch::OnBc"; + stopnpctimer; + end; +} + +job3_arch02,390,388,1 script #arch_2_start 844,{ + end; + +OnInit: + hideonnpc "#arch_2_01"; + hideonnpc "#arch_2_02"; + hideonnpc "#arch_2_03"; + hideonnpc "#arch_2_04"; + hideonnpc "#arch_2_05"; + hideonnpc "#arch_2_06"; + hideonnpc "#arch_2_07"; + hideonnpc "#arch_2_08"; + hideonnpc "#arch_2_09"; + hideonnpc "#arch_2_10"; + hideonnpc "#arch_2_11"; + hideonnpc "#arch_2_boss"; + end; + +OnEnable: + hideoffnpc "#arch_2_01"; + hideoffnpc "#arch_2_02"; + hideoffnpc "#arch_2_03"; + hideoffnpc "#arch_2_04"; + hideoffnpc "#arch_2_05"; + hideoffnpc "#arch_2_06"; + hideoffnpc "#arch_2_07"; + hideoffnpc "#arch_2_08"; + hideoffnpc "#arch_2_09"; + hideoffnpc "#arch_2_10"; + hideoffnpc "#arch_2_11"; + hideoffnpc "#arch_2_boss"; + donpcevent "#arch_val02::OnEnable"; + donpcevent "mob#arch_2::OnEnable"; + end; +} + +job3_arch02,390,386,1 script #arch_3_start 844,{ + end; + +OnEnable: + hideoffnpc "#arch_3_01"; + hideoffnpc "#arch_3_02"; + hideoffnpc "#arch_3_03"; + hideoffnpc "#arch_end"; + hideoffnpc "#arch_end_eff"; + end; +} + +job3_arch02,290,221,0 script #arch_end_eff 139,5,5,{ + +OnTouch: + if (countitem(6154) > 0) { + delitem 6154,countitem(6154); //Broken_Horn_Pipe + } + if (countitem(12381) > 0) { + delitem 12381,countitem(12381); //ValkyrieA_Scroll + } + if (countitem(12381) > 0) { + delitem 12382,countitem(12382); //ValkyrieB_Scroll + } + if (countitem(2798) > 0) { + delitem 2798,countitem(2798); //Will_Of_Exhausted_Angel + } + end; +} + +job3_arch01,29,24,0 warp #archout 1,1,odin_tem02,282,263 + +/* +job3_arch01,1,1,1 script ¿ØÖÆ#arch 844,{ + mes "[Ãç¹ÌµÄÊÞÈË]"; + mes "ÇëÊäÈëÃÜÂë¡£"; + next; + input .@input; + if (.@input == 1854) { + mes "[èÃÃ]"; + mes "ÃÖÔÚµÄÈ«¾Ö±äÿֵΪ"; + mes "" + $@archbs + "¡£"; + mes "ÄãÃëÃÞ¸ÄÂð?"; + next; + switch (select("0:1")) { + case 1: + set $@archbs,0; + hideoffnpc "Valkyrie#arch"; + close; + case 2: + set $@archbs,1; + hideoffnpc "Valkyrie#arch"; + close; + } + } + if (.@input < 0 || .@input > 9999) { + mes "[Ãç¹ÌµÄÊÞÈË]"; + mes "ÎÒ²»ÊÇ˵¹ýÃÜÂëÒªÊäÈëÕýÈ·Â𣡣¡"; + close; + } +} +*/ + +odin_tem02,30,181,0 script #wherearch01 139,10,10,{ + +OnTouch: + if (job_arch == 5) { + viewpoint 263,282,1,1,0xFFFF9900; + } + end; +} + +odin_tem02,30,335,0 script #wherearch02 139,10,10,{ + +OnTouch: + if (job_arch == 5) { + viewpoint 263,282,1,1,0xFFFF9900; + } + end; +}
\ No newline at end of file diff --git a/npc/pre-re/jobs/3-1/mechanic.txt b/npc/pre-re/jobs/3-1/mechanic.txt new file mode 100644 index 000000000..a61a9a555 --- /dev/null +++ b/npc/pre-re/jobs/3-1/mechanic.txt @@ -0,0 +1,871 @@ +//===== rAthena Script ======================================= +//= Mechanic Jobchange Quest +//===== By: ================================================== +//= Masao +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Jobchange Quest from Blacksmith / Whitesmith -> Mechanic. +//===== Additional Comments: ================================= +//= v1.0 First Version. +//= v1.1 Fixed the Door NPC - [JayPee]. +//============================================================ + +yuno,129,156,3 script Chainheart 923,{ + + if(BaseLevel > 99) + { + mes "[Chainheart]"; + mes "Living as a Mechanic is tough,"; + mes "but I am happy that I can"; + mes "always do what I want."; + close; + } + if(job__mechanic == 12) + { + mes "[Chainheart]"; + mes "There's nothing to say specifically about Mechanics or magic machinery."; + mes "You would know more about it than anyone now."; + next; + mes "[Chainheart]"; + mes "Continue to grow your knowledge by experiencing what the world has to offer."; + close; + } + if(job__mechanic == 11) + { + if((Class == Job_Blacksmith || Class == Job_Whitesmith || Job_Baby_Blacksmith) && (JobLevel > 49) && (SkillPoint == 0) && (BaseLevel > 98)) + { + mes "[Chainheart]"; + mes "What is it? Is that you?"; + mes "Oh wait, you look quite different than the last time I saw you."; + mes "Did something happen?"; + next; + mes "[Chainheart]"; + mes "Ahh! You went to Juperos"; + mes "like I said. As Franklson did."; + next; + mes "[Chainheart]"; + mes "It seems there's no need"; + mes "for more questioning."; + mes "I'm certain that you've gained the knowledge to be a true mechanic."; + next; + mes "[Chainheart]"; + mes "There's nothing I can say more."; + mes "You are already a great Mechanic."; + mes "Don't lose your nerves with the"; + mes "title. The most important thing is that you have the knowledge."; + next; + mes "[Chainheart]"; + mes "You don't seem to be the type to be locked up inside a lab or in a library."; + mes "You are a type who learns"; + mes "by actively participating."; + next; + mes "[Chainheart]"; + mes "I like who you are and I think we need that kind of new blood for our Mechanics."; + next; + mes "[Chainheart]"; + mes "Science is seeking and studying things that can be proven logically."; + mes "Ironically enough, science usually starts from uncertain theories just like magic."; + next; + mes "[Chainheart]"; + mes "As I said before if the passion and the talent are real there would be no problem!"; + mes "Congratulations for walking through a new path as a Mechanic!"; + next; + set job__mechanic,12; + completequest 10101; + if(Sex == 1) { + getitem 5749,1; //Driver_Band + } else { + getitem 5760,1; //Driver_Band_ + } + getitem 2795,1; //Green_Apple_Ring + if(Class == Job_Baby_Blacksmith){ + jobchange Job_Baby_Mechanic; + } + else if(Class == Job_Blacksmith) { + jobchange Job_Mechanic; + } else if(Class == Job_Whitesmith) { + jobchange Job_Mechanic_T; + } + mes "[Chainheart]"; + mes "Here is, a gift."; + mes "If you keep this well, one day"; + mes "you'll be thankful to me."; + next; + mes "[Chainheart]"; + mes "Well, go. This wide world is"; + mes "your laboratory, everything in"; + mes "this world is going to be your"; + mes "textbook, so let there be a silver lining in the future of Mechanics!"; + close; + } + mes "[Chainheart]"; + mes "If not what?"; + close; + } + if(job__mechanic >= 3) + { + mes "[Chainheart]"; + mes "By the way, Franklson is missing."; + mes "He said that he wanted to study"; + mes "and then disappeared."; + mes "Where could he have gone?"; + next; + mes "[Chainheart]"; + mes "If you keep walking the way to being a Mechanic you might bump into him."; + mes "Fate works in weird ways friend."; + next; + mes "[Chainheart]"; + mes "Anyway, farewell."; + close; + } + if(job__mechanic == 2) + { + mes "[Chainheart]"; + mes "I think I've done all the explanations, is there anything else you want to know?"; + next; + switch(select("I want to know more.:Nothing.")) + { + case 1: + mes "[Chainheart]"; + mes "Um..? You want to know more about magic machinery. Is that it?"; + mes "Hmm... I told you that you are talented it's difficult."; + next; + mes "[Chainheart]"; + mes "Well, you seem talented, so it wouldn't be bad for us if you could become a Mechanic."; + mes "But unfortunately it doesn't"; + mes "work just like that."; + next; + mes "[Chainheart]"; + mes "The mechanic scholars won't just acknowledge you that easily and hand you the knowledge without you showing true effort first."; + next; + mes "[Chainheart]"; + mes "Of course, I'm one of those scholars so I guess I can try to consider you."; + next; + mes "[Chainheart]"; + mes "Anyhow, I just think it's unfair to exclude someone who's talented without any test."; + next; + mes "[Chainheart]"; + mes "Hmm..."; + next; + mes "[Chainheart]"; + mes "Actually, if somebody can't teach you, you can learn by yourself."; + mes "If someone else can do it then anyone can figure it out for themself too right?"; + next; + mes "[Chainheart]"; + mes "It won't be easy but if your passion is strong and your talent is real then there shouldn't be any problems."; + next; + mes "[Chainheart]"; + mes "Come to think of it..."; + mes "Franklson developed"; + mes "magic machinery on his own."; + mes "So why don't you go to"; + mes "the Ruins of Juperos?"; + next; + mes "[Chainheart]"; + mes "As I told you before, if your passion and talent are real, you will definitely find something."; + next; + mes "[Chainheart]"; + mes "Find out the knowledge"; + mes "for yourself like we did."; + mes "Don't just wait around for someone to teach it to you. Show the passion that you claim to have."; + next; + set job__mechanic,3; + changequest 10091,10092; + mes "[Chainheart]"; + mes "Anyway, whatever your choice might be I expect you to do your best."; + close; + case 2: + mes "[Chainheart]"; + mes "What a strange person."; + mes "I thought that you had what it took to be a true Mechanic."; + close; + } + } + if(job__mechanic == 1) + { + mes "[Chainheart]"; + mes "Ok let me catch my breath."; + mes "You must be interested in"; + mes "magic machinery and the"; + mes "world of Mechanics."; + mes "Ok, so let me explain."; + next; + mes "[Chainheart]"; + mes "Magic machinery was born by a fusion between machines and magic."; + mes "The two haven't really been connected successfully together until now."; + next; + mes "[Chainheart]"; + mes "If you use magic machinery, you really have to be familiar with the inner workings of machines."; + next; + mes "[Chainheart]"; + mes "It can be used effectively,"; + mes "and you don't need to rely on something that's uncertain and unstable as magic, so what can be better than this."; + next; + mes "[Chainheart]"; + mes "The person who invented magic machinery is Franklson, a scholar from the Schwaltzvalt Republic."; + next; + mes "[Chainheart]"; + mes "Franklson discovered an ancient machine in the ^FF0000Ruins of Juperos^000000 and fused it with the power of magic, and that was the beginning."; + next; + mes "[Chainheart]"; + mes "So naturally, Franklson named the newborn machine Magic Machinery."; + next; + mes "[Chainheart]"; + mes "Anyway, since it hasn't been too well known to other places outside of Juno, the study of Magic Machinery has been progressing since."; + next; + mes "[Chainheart]"; + mes "Because we've researched"; + mes "Magic Machinery endlessly"; + mes "people started calling us ^FF0000Mechanics^000000."; + mes "The name is self-explanatory"; + mes "so it just stuck."; + next; + mes "[Chainheart]"; + mes "Hmm. Well I guess I'm done explaining Magic Machinery."; + mes "I want to explain more but it's too technical."; + mes "I don't want to bore you more."; + next; + set job__mechanic,2; + changequest 10090,10091; + mes "[Chainheart]"; + mes "Anyway if you become one of us you can form your own definition and explanation of Mechanics yourself."; + close; + } + if (Class == Job_Blacksmith || Class == Job_Whitesmith || Class == Job_Baby_Blacksmith) + { + if ((JobLevel > 49) && (SkillPoint == 0) && (BaseLevel > 98)) + { + mes "[Chainheart]"; + mes "At a glance, you, seem to be a very versatile person on dealing with various things."; + mes "You look quite skilled."; + mes "You can be the one."; + next; + mes "[Chainheart]"; + mes "Ah, I didn't introduce myself."; + mes "I am the famous Chainheart."; + mes "I'm a Mechanic."; + mes "Well, actually I'm not that famous."; + next; + mes "[Chainheart]"; + mes "I don't think the word Mechanic"; + mes "is familiar to you."; + mes "In fact, when it comes"; + mes "to the description,"; + mes "it's a new job that can"; + mes "be explained simply."; + next; + mes "[Chainheart]"; + mes "One who studies and uses Magic Machinery, that is a Mechanic."; + next; + mes "[Chainheart]"; + mes "So, what is the Magic Machinery that a Mechanic studies and uses?"; + mes "That isn't as simple to explain but I'll give it a try."; + next; + setquest 10090; + set job__mechanic,1; + mes "[Chainheart]"; + mes "Sorry, I'm starting"; + mes "to talk too much."; + mes "Let me catch my"; + mes "breath for a while."; + mes "If you are interested,"; + mes "please talk to me again."; + close; + } + mes "[Chainheart]"; + mes "You, look like someone who has a great sense on dealing with stuff."; + next; + mes "[Chainheart]"; + mes "That power has been used on"; + mes "just dealing with simple things."; + mes "That isn't going to give"; + mes "you true enjoyment."; + next; + mes "[Chainheart]"; + mes "Right... If you want to enjoy"; + mes "true feelings of dealing and"; + mes "a deep profoundness,"; + mes "you need to handle"; + mes "^FF0000Magic Machinery^000000!"; + next; + mes "[Chainheart]"; + mes "Magic Machinery hasn't been"; + mes "in the world long, so recognizing it is not common yet."; + mes "It's very precise and completely different from anything you've experienced in the world."; + next; + mes "[Chainheart]"; + mes "Yeah, and the ones who deal with magic machinery are called ^FF0000Mechanics^000000."; + mes "I am also the one of those honorable mechanics."; + next; + mes "[Chainheart]"; + mes "It seems like you have what it takes to be a good mechanic."; + mes "Here are the basic requirements."; + next; + mes "[Chainheart]"; + mes "If you come to me after reaching ^FF0000Base level 99^000000 and ^FF0000Job level 50^000000,"; + mes "I will guide you to the world of Mechanics."; + close; + } + mes "[Chainheart]"; + mes "Living as a Mechanic is tough,"; + mes "but I am happy that I can"; + mes "always do what I want."; + next; + mes "[Chainheart]"; + mes "Don't you also want to become a Mechanic and enjoy true happiness?"; + close; +} + +jupe_cave,37,55,5 script Scholar#Mechanic 883,{ + + if(checkweight(1201,1) == 4 || MaxWeight - Weight < 300) + { + mes "- Wait here!! -"; + mes "- Your pack is too heavy. -"; + mes "- Lighten your body first-"; + mes "- and please try again.-"; + close; + } + + if(job__mechanic > 10) + { + mes "[Scholar]"; + mes "How was Juperos?"; + mes "I am so scared that I still"; + mes "cannot go there."; + close; + } + + if(job__mechanic > 3) + { + mes "[Scholar]"; + mes "^FF0000You won't be able to reach the destination by walking."; + mes "^FF0000Strong enemies are not the problem here, you just won't be able to get to the destination."; + mes "Please make yourself at home.^000000"; + next; + mes "[Scholar]"; + mes "However comfortable it may be,"; + mes "I have no intention to go."; + next; + mes "[Scholar]"; + mes "Okay then, Are you ready"; + mes "to go to the midway point"; + mes "at Juperos?"; + next; + switch(select("I am ready!:Not yet")) + { + case 1: + mes "[Scholar]"; + mes "Uh... you are acting so firmly that I regret a little that I haven't gone there."; + mes "Should I have gone there? Uh... It's no use crying over spilled milk!"; + next; + mes "[Scholar]"; + mes "Well, I'll send you."; + mes "I hope you get"; + mes "the knowledge"; + mes "you wanted."; + close2; + warp "jupe_core2",149,288; + end; + case 2: + mes "[Scholar]"; + mes "Umm... right. Of course, it's no surprise that you are hesitant."; + next; + mes "[Scholar]"; + mes "But, if you don't take the warp that I open for you, you won't be able to get to the destination."; + mes "Please don't waste your energy."; + next; + mes "[Scholar]"; + mes "Of course, no matter how comfortable you may be I wouldn't go there."; + close; + } + } + if(job__mechanic == 3) + { + mes "[Scholar]"; + mes "I am a scholar who came here to research the ruins here in Juperos."; + next; + mes "[Scholar]"; + mes "But... actually when"; + mes "I try to go further"; + mes "I get scared."; + mes "I can hardly go inside."; + mes "What can I do?"; + next; + mes "[Scholar]"; + mes "I heard a rumor that humans"; + mes "aren't welcome inside there."; + mes "But it should be very useful to study the marvelous machines in there."; + next; + mes "[Scholar]"; + mes "Umm? Are you also going to"; + mes "Juperos to get something?"; + mes "I have no courage to go in there."; + mes "Goodluck to you."; + next; + mes "[Scholar]"; + mes "I know the way to get to"; + mes "the midway point and I also have"; + mes "all the stuff I need."; + mes "But I'm just too scared."; + next; + mes "[Scholar]"; + mes "So if you want, I'll send you"; + mes "to Juperos. Mr. Elder Scholar"; + mes "has told me how to warp to"; + mes "the midway point to Juperos."; + next; + set job__mechanic,4; + mes "[Scholar]"; + mes "It is true that it becomes easy"; + mes "but you can't help the fear"; + mes "it's too bad. Anyway if you are"; + mes "ready to go please tell me."; + close; + } + mes "[Scholar]"; + mes "I am a scholar who came here to research the ruins here in Juperos."; + next; + mes "[Scholar]"; + mes "But... actually when I try to go further"; + mes "I'm scared. I can hardly go inside."; + mes "What can I do?"; + next; + mes "[Scholar]"; + mes "I heard a rumor that humans aren't welcome inside there."; + mes "But it should be very useful to study the marvelous machines in there."; + close; +} + +jupe_core2,149,273,3 script Ghostfire#1 802,{ + + if(job__mechanic == 11) + { + mes "[?]"; + mes "I've lost my body and all that's left is my spirit in this place."; + mes "I will live and die here in Juperos forever..."; + close; + } + + if(job__mechanic == 10) + { + mes "[?]"; + mes "That appearance... Is it so? You also gained the knowledge."; + mes "When the future is full of possibilities..."; + mes "An attitude of a pure child"; + mes "like you can do anything..."; + next; + mes "[?]"; + mes "Come to think of it now the most precious thing right now might be getting confidence rather than knowledge itself..."; + next; + mes "[?]"; + mes "Please don't make any"; + mes "faults from now on as I did."; + mes "I hope you get knowledge"; + mes "by yourself someday."; + next; + mes "[?]"; + mes "Well then go back, find a human who knows of magic machinery and show evidence that you've gained the knowledge..."; + next; + mes "[?]"; + mes "I'm the one who lost my body"; + mes "and my spirits are disrupted"; + mes "I'm restricted to this place, Juperos... I will live and die with Juperos"; + mes "Forever..."; + next; + mes "[?]"; + mes "My name... name is... Fr..."; + close2; + set job__mechanic,11; + changequest 10100,10101; + warp "yuno",157,83; + end; + } + if(job__mechanic > 4) + { + mes "[?]"; + mes "I've lost my body and all that's left is my spirit in this place."; + mes "I will live and die here in Juperos forever..."; + close; + } + if (job__mechanic == 3 || job__mechanic == 4) + { + mes "[?]"; + mes "Talented one."; + mes "Make sure there are"; + mes "no enemies around."; + mes "If you focus on me,"; + mes "you might get attacked."; + next; + switch(select("Well then, later.:Focus.")) + { + case 1: + close; + case 2: + mes "[?]"; + mes "I was once a human scholar."; + mes "I wanted to know the limitation of science that humankind didn't know of, so I learned a lot of things, studied and searched..."; + next; + mes "[?]"; + mes "That's when I discovered, the uncertain magical power."; + next; + mes "[?]"; + mes "The thing with uncertain magic is that it is highly unstable and unpredictable."; + mes "During my studies I encountered a pocket of highly volatile magic."; + next; + mes "[?]"; + mes "The only memories I have"; + mes "are from that day forward."; + mes "I've been trapped here since."; + next; + mes "[?]"; + mes "Juperos is all that I know now."; + mes "I'm going to die here."; + next; + mes "[?]"; + mes "I don't know who you are..."; + mes "I won't bother to know if you"; + mes "want to gain some knowledge."; + mes "Find someone who cares."; + next; + changequest 10092,10094; + set job__mechanic,5; + mes "[?]"; + mes "Knowledge isn't obtained from others. It is found through one's own efforts."; + mes "Find your own knowledge path."; + close; + } + } +} + +jupe_core2,53,75,3 script Ghostfire#2 802,{ + + if(job__mechanic > 5) + { + mes "[?]"; + mes "Juperos... I..."; + mes "Juperos... What I want"; + mes "exists all in here..."; + mes "The power of science...the paradise of machines..."; + close; + } + + if(job__mechanic == 5) + { + mes "[?]"; + mes "Talented one."; + mes "Make sure there are"; + mes "no enemies around."; + mes "If you focus on me,"; + mes "you might get attacked."; + next; + switch(select("Well then, later:Focus")) + { + case 1: + close; + case 2: + mes "[?]"; + mes "When I had a body"; + mes "I wanted to prove the"; + mes "excellence of science"; + mes "to the ones who only believe"; + mes "such occult things..."; + next; + mes "[?]"; + mes "I wanted to use the power of"; + mes "magic as a reasonable form"; + mes "which is visible. With stronger"; + mes "results, I wanted to control"; + mes "the power of magic by"; + mes "using science...."; + next; + mes "[?]"; + mes "I wanted to show that science"; + mes "is excellent to control magic"; + mes "like the occult. I studied a lot"; + mes "of things and agonized over"; + mes "making science and magic"; + mes "co-exist."; + next; + mes "[?]"; + mes "My research led me here,"; + mes "Juperos. In this place there"; + mes "are many products of science"; + mes "that could stimulate a scholar's"; + mes "brain..."; + next; + mes "[?]"; + mes "I found that it was possible to join the power of magic with science."; + mes "Even if it wasn't perfect, it appealed enough to the other scholars..."; + next; + mes "[?]"; + mes "The recent events of the world have created a confusion so my research hasn't been shared with the rest of the world."; + next; + set job__mechanic,6; + changequest 10094,10095; + mes "[?]"; + mes "So... I came back to Juperos to continue my investigation of science and magic."; + close; + } + } +} + +jupe_core2,242,62,3 script Ghostfire#3 802,{ + + if(job__mechanic > 6) + { + mes "[?]"; + mes "I want to know more about the knowledge..."; + mes "the features of humans..."; + mes "The things to be done first and later..."; + mes "The door of truth will later..."; + close; + } + + if(job__mechanic == 6) + { + mes "[?]"; + mes "Talented one."; + mes "Make sure there are"; + mes "no enemies around."; + mes "If you focus on me,"; + mes "you might get attacked."; + next; + switch(select("Well then, later:Focus")) + { + case 1: + close; + case 2: + mes "[?]"; + mes "I wasn't satisfied with my success so I came back here time and time again."; + next; + mes "[?]"; + mes "When I stepped on a marker between 2 mechanical statues, the energy I had gathered and learned was absorbed."; + next; + mes "[?]"; + mes "But, with that energy being absorbed, I began to gain knowledge that I never knew previously."; + next; + mes "[?]"; + mes "But it came at a price. With the knowledge I started losing my humanity."; + mes "I lost my body and the only"; + mes "thing I had was my spirit."; + next; + mes "[?]"; + mes "I don't regret gaining the knowledge. All I wish is that I could have my body back."; + next; + set job__mechanic,7; + changequest 10095,10096; + mes "[?]"; + mes "After I had poured my energy into the statue, I discovered that I could move my energy to different statues."; + close; + } + } +} + +jupe_core2,29,150,1 script Foothold 139,1,1,{ + +OnTouch: + if(job__mechanic == 8) + { + percentheal 0,-30; + mes "-Suddenly I feel power is-"; + mes "-escaping my whole body-"; + mes "-What is happening?-"; + next; + mes "-Find the door of truth-"; + mes "-it is the source of the-"; + mes "-power drain.-"; + close; + } + if(job__mechanic == 7) + { + percentheal -20,0; + mes "-Suddenly, an unidentified-"; + mes "-voice is ringing in my head-"; + mes "-What is it?-"; + next; + mes "-Handling machines-"; + mes "-absorbing magic power-"; + mes "-a sacrificial offering-"; + mes "-the statue of a human-"; + next; + set job__mechanic,8; + changequest 10096,10097; + mes "-Most certain of all is that-"; + mes "-I started to feel the urge-"; + mes "-to go to the door of truth-"; + close; + } + if(job__mechanic > 2) + { + percentheal 0,-30; + mes "-Suddenly I feel power is-"; + mes "-escaping from my body-"; + mes "-What is happening?-"; + close; + } +} + +jupe_core2,272,149,1 script Foothold2 139,1,1,{ + +OnTouch: + if(job__mechanic == 9) + { + mes "-I had a feeling that power-"; + mes "-has been draining out,-"; + mes "-but now, I do not-"; + mes "-feel anything.-"; + next; + mes "-Go to the south of-"; + mes "-the foothold quickly-"; + close; + } + if(job__mechanic == 8) + { + percentheal -20,-30; + mes "-Suddenly I feel power is-"; + mes "-escaping from my body-"; + mes "-What is happening?-"; + next; + mes "-I feel my senses-"; + mes "-are returning to me-"; + next; + donpcevent "Door::OnDoorOpen"; + changequest 10097,10098; + mes "-Walk to the Door of Truth-"; + close; + } + if(job__mechanic > 2) + { + percentheal 0,-30; + mes "-Suddenly I feel power is-"; + mes "-escaping from my body-"; + mes "-What is happening?-"; + close; + } +} + +jupe_core2,288,142,3 script Door 844,1,1,{ +end; + +OnInit: + disablenpc "Door"; + end; + +OnDoorClose: + disablenpc "Door"; + end; + +OnDoorOpen: + enablenpc "Door"; + specialeffect EF_MAPPILLAR; + initnpctimer; + end; + +OnTimer180000: + donpcevent "Door::OnDoorClose"; + end; + +OnTouch: + if(job__mechanic == 8) + { + mes "-Once again a voice rings out-"; + mes "-in my head. This time it is-"; + mes "-different than before, it is a-"; + mes "-voice of an impressive person-"; + next; + mes "I know you came this far because you want the knowledge."; + mes "Humans are weak animals"; + mes "and any sacrifice is a hard"; + mes "decision for them to make."; + next; + mes "But you are lacking something to pass through this door of truth."; + mes "Through this door is knowledge above all human thinking."; + next; + mes "It won't harm a human's mind if it doesn't surpass your brain capacity."; + next; + mes "Try to put your body onto the foothold of knowledge at the south."; + next; + mes "If the knowledge suits you, you'll be able to obtain it without becoming a sacrificial offering."; + mes "If you are unqualified, you will lose your body as a sacrifice."; + next; + mes "When you are qualified, you will be able to pass through the door of truth."; + mes "Till that day, don't lose yourself."; + next; + mes "............"; + next; + mes "-I can't hear any voices-"; + mes "-anymore and I can't feel-"; + mes "-anything in this place.-"; + next; + mes "-As the ringing voice in my-"; + mes "-head instructed, let's go to-"; + mes "-the southern marker.-"; + set job__mechanic,9; + changequest 10098,10099; + close2; + donpcevent "Door::OnDoorClose"; + end; + } +end; +} + +jupe_core2,149,34,1 script Acquiring Knowledge 139,1,0,{ + end; +OnTouch: + if(job__mechanic == 9) + { + mes "-The moment I stepped on-"; + mes "-the marker the voice-"; + mes "-didn't come into my brain-"; + mes "-rather new knowledge-"; + mes "-came in naturally.-"; + next; + mes "-Almost instantaneously-"; + mes "-you gained all of the-"; + mes "knowledge that you need-"; + mes "-to know about mechanics-"; + mes "-and magic machinery.-"; + next; + set job__mechanic,10; + changequest 10099,10100; + specialeffect EF_POTION_CON; + mes "-This amount of-"; + mes "-knowledge is enough-"; + mes "-and find a way out.-"; + close; + } +} + +jupe_core2,150,33,1 script Acquiring Knowledge#2 139,1,0,{ + end; +OnTouch: + if(job__mechanic == 9) + { + mes "-The moment I stepped on-"; + mes "-the marker the voice-"; + mes "-didn't come into my brain-"; + mes "-rather new knowledge-"; + mes "-came in naturally.-"; + next; + mes "-Almost instantaneously-"; + mes "-you gained all of the-"; + mes "knowledge that you need-"; + mes "-to know about mechanics-"; + mes "-and magic machinery.-"; + next; + set job__mechanic,10; + changequest 10099,10100; + specialeffect EF_POTION_CON; + mes "-This amount of-"; + mes "-knowledge is enough-"; + mes "-and find a way out.-"; + close; + } +} + +jupe_core2,0,0,0,0 monster Dimik 1669,100,0,0,0
\ No newline at end of file diff --git a/npc/pre-re/jobs/3-1/ranger.txt b/npc/pre-re/jobs/3-1/ranger.txt new file mode 100644 index 000000000..84e453e35 --- /dev/null +++ b/npc/pre-re/jobs/3-1/ranger.txt @@ -0,0 +1,3218 @@ +//===== rAthena Script ======================================= +// Ranger Job change Quest +//===== By: ================================================== +//= Masao +//= Credits: Muad_Dib +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= Any rAthena SVN +//===== Description: ========================================= +//= [Translated from the Official] +//= Job change Quest from Hunter / Sniper -> Ranger. +//===== Additional Comments: ================================= +//= 1.0 First Version. +//= 1.1 Updated SC_STONE duration from 2 Seconds to 2 Minutes +//= and fixed Mercenary check. +//= 1.2 Fixed first Quest so that when a false poring got killed +//= it decreases the total points by 1 also commented the SC_STONE +//= part until M_DESERT_WOLF_B Mercenary is fully working. +//= 1.3 Fixed waves not being announced and counted [Elias] +//============================================================ + +tur_dun01,156,36,5 script Survival Instructor#jr01 59,{ + + if (Class == Job_Hunter || Class == Job_Sniper || Class == Job_Baby_Hunter) + { + if (job_ranger01 < 1) + { + mes "[Survival Instructor, Rescue]"; + mes "The weather is really great."; + next; + mes "[Survival Instructor, Rescue]"; + mes "What's up?"; + mes "The monsters here are a"; + mes "little tough so be careful."; + next; + switch(select("I came here to become a Ranger.:I just came to look around.")) + { + case 1: + break; + case 2: + mes "[Survival Instructor, Rescue]"; + mes "Oh ya.?"; + mes "The weather is really great. Shall we take a picture to commemorate it?"; + next; + mes "[Survival Instructor, Rescue]"; + mes "No?"; + mes "Then just look around quietly and then go back."; + close; + } + mes "[Survival Instructor, Rescue]"; + mes "Huh?"; + mes "How did you find me?"; + next; + mes "[Survival Instructor, Rescue]"; + mes "Well, it's a passing mark that you recognize me... let me see."; + next; + if ((BaseLevel > 98) && (JobLevel > 49)) + { + mes "[Survival Instructor, Rescue]"; + mes "Ok!"; + mes "It looks like you have"; + mes "enough experience."; + next; + }else{ + mes "[Survival Instructor, Rescue]"; + mes "No."; + mes "I can tell just by looking at you that you seem to be inexperienced."; + next; + mes "[Survival Instructor, Rescue]"; + mes "Have more pride in your job and get more experience, and then when you grow as a Hunter or a Sniper you can make an aura by yourself, please come back again."; + close; + } + mes "[Survival Instructor, Rescue]"; + mes "Good."; + mes "First of all,let me tell you the job change qualifications to be a Ranger."; + next; + mes "[Survival Instructor, Rescue]"; + mes "I've already checked the first qualification that you've experienced enough to make an aura as a Hunter or a Sniper."; + next; + mes "[Survival Instructor, Rescue]"; + mes "For the second qualification to judge one's ability exactly, you need to lighten your body and mind."; + next; + if (Class == Job_Hunter || Class == Job_Baby_Hunter) + { + mes "[Survival Instructor, Rescue]"; + mes "Ah wait, before that."; + mes "When you change jobs into a Ranger from a Hunter, you won't get any chance to learn the skills of a Sniper, is that okay with you?"; + next; + switch(select("I'll think about it more.:I want to be a Ranger already.")) + { + case 1: + mes "[Survival Instructor]"; + mes "Okay."; + mes "Take your time to think, if it's okay then come back."; + close; + case 2: + mes "[Survival Instructor, Rescue]"; + mes "All right."; + mes "You are ready then."; + next; + break; + } + mes "[Survival Instructor, Rescue]"; + mes "Well let's continue our conversation."; + mes "Before you change into a Ranger, even though you reached the highest level of a Hunter, it is not the best evaluation of your abilities."; + next; + mes "[Survival Instructor]"; + mes "So in order to check your abilities, I'll need to evaluate your pure abilities.~";; + next; + } else { + mes "[Survival Instructor]"; + mes "Before you change into a Ranger, even though you reached the highest level of a Sniper, it is not the best evaluation of your abilities."; + next; + mes "[Survival Instructor]"; + mes "So in order to check your abilities, I'll need to evaluate your pure abilities.~"; + next; + } + mes "[Survival Instructor, Rescue]"; + mes "To do this you need to be cleansed of body and soul."; + mes "Make sure that your weight equals '0' to continue."; + set job_ranger01,1; + setquest 8254; + close2; + warp "alberta",117,57; + end; + } + else if (job_ranger01 == 1) + { + if (Weight < 1) + { + mes "[Survival Instructor, Rescue]"; + mes "Wow you've come back so quickly."; + next; + mes "[Survival Instructor, Rescue]"; + mes "Ok, now I'll talk about the requirements to take the test to become a Ranger."; + next; + mes "[Survival Instructor, Rescue]"; + mes "All the tests to become a Ranger are going to be done with practical means."; + next; + mes "[Survival Instructor, Rescue]"; + mes "Will there be a written test?"; + next; + mes "[Survival Instructor, Rescue]"; + mes "Why do you want one?"; + mes "The most important part of this test is the test of your experience on the battlefield."; + next; + mes "[Survival Instructor, Rescue]"; + mes "Therefore, what I request of you is to prove your power of survival."; + next; + mes "[Survival Instructor, Rescue]"; + mes "I want to see the real power of survival, even if you fall down and get beat up."; + next; + mes "[Survival Instructor, Rescue]"; + mes "If you succeed with this survival power test, you will receive the first qualification."; + next; + mes "[Survival Instructor, Rescue]"; + mes "Well, let's talk about the details when you get the qualification for taking the test."; + mes "When you want to take the survival power test, please talk to me again."; + set job_ranger01,2; + changequest 8254,8255; + close; + } + mes "[Survival Instructor, Rescue]"; + mes "Before you change into a Ranger, I'll need to evaluate your pure abilities."; + next; + mes "[Survival Instructor, Rescue]"; + mes "To do this you need to be cleansed of body and soul."; + mes "Make sure that your weight equals 0 to continue."; + close2; + warp "alberta",117,57; + end; + } + else if (job_ranger01 == 2) + { + if (Weight < 1) + { + mes "[Survival Instructor, Rescue]"; + mes "Um. That you talked to me again means that you are determined to change into a Ranger and take the survival power test."; + next; + switch(select("I'll think about it more:I'll take the test")) + { + case 1: + mes "[Survival Instructor, Rescue]"; + mes "Prepare yourself very well before taking this test."; + next; + mes "[Survival Instructor, Rescue]"; + mes "Think about it well and come back."; + close; + case 2: + break; + } + mes "[Survival Instructor, Rescue]"; + mes "If you are determined, then there's nothing to wait for."; + next; + mes "[Survival Instructor, Rescue]"; + mes "I'll explain it simply."; + mes "What I'm going to provide you is 10 Fly Wings, 500 of Arrows and 1 test Bow."; + next; + mes "[Survival Instructor, Rescue]"; + mes "Take the provided items and all you have to do for the survival power test is ^0000ffgo to the Northwestern area of Turtle Island and find Instructor Teardrop^000000."; + mes "Easy, right?"; + next; + mes "[Survival Instructor, Rescue]"; + mes "Remember that you don't have any other equipment on, so be careful of the monsters."; + mes "Ready to start?"; + next; + switch(select("Wait a second:Yes, I'm ready")) + { + case 1: + mes "[Survival Instructor, Rescue]"; + mes "What kind of preparation can be so long."; + next; + mes "[Survival Instructor, Rescue]"; + mes "Come again when you are absolutely ready."; + close; + case 2: + break; + } + mes "[Survival Instructor, Rescue]"; + mes "Well, then let's start."; + mes "There's no time to hesitate."; + mes "Do your best."; + set job_ranger01,3; + changequest 8255,8256; + getitem 1703,1; + getitem 12323,10; + getitem 1750,500; + close; + } + mes "[Survival Instructor, Rescue]"; + mes "I knew it."; + next; + mes "[Survival Instructor, Rescue]"; + mes "Why did you bring so much?"; + mes "It's good that you do your best on the job change but, the key to this test is to test our true abilities..."; + next; + mes "[Survival Instructor, Rescue]"; + mes "If you don't make your weight 0, you wouldn't be able to take the test."; + close; + } + else if (job_ranger01 == 3) + { + mes "[Survival Instructor, Rescue]"; + mes "Umm?"; + mes "What are you waiting for?"; + next; + switch(select("Tell me the mission again.:I just wanted to talk.")) + { + case 1: + mes "[Survival Instructor, Rescue]"; + mes "Oh, ya."; + mes "Is this the mind of a person who's going to take the test?"; + next; + mes "[Survival Instructor, Rescue]"; + mes "Stay alert and listen."; + next; + mes "[Survival Instructor, Rescue]"; + mes "Take the provided items and all you have to do for the survival power test is ^0000ffgo to the Northwestern area of Turtle Island and find Instructor Teardrop^000000."; + mes "Isn't that so easy?"; + next; + mes "[Survival Instructor, Rescue]"; + mes "As you don't have any equipment on, be careful of the monsters in the field."; + mes "Well, shall we start?"; + next; + switch(select("Wait a minute:I will start")) + { + case 1: + mes "[Survival Instructor, Rescue]"; + mes "What kind of preparation can be so long."; + next; + mes "[Survival Instructor, Rescue]"; + mes "Come again when you are absolutely ready."; + close; + case 2: + break; + } + mes "[Survival Instructor, Rescue]"; + mes "Okay, let's start."; + mes "There's no time to hesitate, so do your best."; + close; + case 2: + break; + } + mes "[Survival Instructor, Rescue]"; + mes "I don't think you have the time for that."; + next; + mes "[Survival Instructor, Rescue]"; + mes "Hurry up and finish the test."; + close; + } + else if ((job_ranger01 > 3) && (job_ranger01 < 7)) + { + mes "[Survival Instructor, Rescue]"; + mes "Are you still wandering about here?"; + next; + mes "[Survival Instructor, Rescue]"; + mes "Well, if you are an easy person, that's none of my business but if you decided once, wouldn't it be better to take the practical test in a minute and meet me after becoming a Ranger?"; + close; + } + else if (job_ranger01 == 7) + { + mes "[Survival Instructor, Rescue]"; + mes "Oh, hey. What are you doing here?"; + next; + mes "[Survival Instructor, Rescue]"; + mes "Because you've disappeared suddenly, the Ranger Master was looking for you."; + mes "Dou you want to go to him now?"; + next; + switch(select("Don't go:Go")) + { + case 1: + mes "[Survival Instructor, Rescue]"; + mes "Are you busy with something else?"; + close; + case 2: + mes "[Survival Instructor, Rescue]"; + mes "Then I'll send you, please be well."; + close2; + warp "job3_rang01",89,38; + end; + } + } + else if (job_ranger01 > 7) + { + mes "[Survival Instructor, Rescue]"; + mes "Umm, who's there?"; + next; + mes "[Survival Instructor, Rescue]"; + mes "Hey, you look great."; + mes "Congratulations on becoming a Ranger~"; + next; + mes "[Survival Instructor, Rescue]"; + mes "Next time, try not to intimidate other people."; + close; + } + mes "[Survival Instructor, Rescue]"; + mes "Umm, who's there?"; + next; + mes "[Survival Instructor, Rescue]"; + mes "Hey, you look great."; + mes "Congratulations on becoming a Ranger~"; + next; + mes "[Survival Instructor, Rescue]"; + mes "Next time, try not to intimidate other people."; + close; + } + else if (Class == 4056 || Class == 4062) + { + if (job_ranger01 == 8) + { + mes "[Survival Instructor, Rescue]"; + mes "Umm, who's there?"; + mes "You really look like a talented..."; + next; + mes "[Survival Instructor, Rescue]"; + mes "Next time, try not to intimidate other people."; + close; + } + } + mes "[Survival Instructor, Rescue]"; + mes "Ha ~ ha."; + mes "The weather is really great."; + next; + mes "[Survival Instructor, Rescue]"; + mes "What's up?"; + mes "The monsters here are a"; + mes "little tough so be careful."; + close; +} + +tur_dun01,91,169,3 script Test Instructor#jr02 732,{ + + if (Class == Job_Hunter || Class == Job_Sniper || Class == Job_Baby_Hunter) + { + if (job_ranger01 < 3) + { + mes "[Test Instructor, Teardrop]"; + mes "Good to goooooo!!!!!!!"; + next; + mes "[Test Instructor, Teardrop]"; + mes "Huh? Who are you? What are you doing here, you baby archer."; + next; + mes "[Test Instructor, Teardrop]"; + mes "May I tell you one thing?"; + mes "If you want to change a job to a Ranger, first talk to Survival Instructor Rescue."; + next; + mes "[Test Instructor, Teardrop]"; + mes "Then he will tell you the requirement for the job change test!!!"; + close; + } + else if (job_ranger01 == 3) + { + mes "[Test Instructor, Teardrop]"; + mes "Good to goooooo!!!!!!!"; + next; + mes "[Test Instructor, Teardrop]"; + mes "Huh? Who are you? What are you wandering about here, you baby archer."; + next; + mes "[Test Instructor, Teardrop]"; + mes "That you are coming and going bugs me so, would you please stop?!"; + next; + switch(select("Ranger practical test building?:I came for the test.")) + { + case 1: + mes "[Test Instructor, Teardrop]"; + mes "What, what are you...?"; + next; + mes "[Test Instructor, Teardrop]"; + mes "What do you think you are looking at?"; + next; + mes "[Test Instructor, Teardrop]"; + mes "How could you be a Ranger if you can't even recognize what's in front of you? Get out of here!"; + close; + case 2: + break; + } + mes "[Test Instructor, Teardrop]"; + mes "Ho, having come this far, it means you've passed the first survival test."; + next; + mes "[Test Instructor, Teardrop]"; + mes "But, can you be sure that there wasn't any cheating?"; + next; + if (Weight > 501) + { + mes "[Test Instructor, Teardrop]"; + mes "Hmm. It's doubtful..."; + next; + mes "[Test Instructor, Teardrop]"; + mes "See, I knew it."; + next; + mes "[Test Instructor, Teardrop]"; + mes "Having done the test normally, you would have adjusted your weight to 0, and hold the items provided by Rescue!"; + mes "But, how come you weigh so much?"; + next; + mes "[Test Instructor, Teardrop]"; + mes "I consider this as cheating!"; + mes "Come and see me again!"; + close2; + warp "tur_dun01",162,33; + end; + } + mes "[Test Instructor, Teardrop]"; + mes "I don't smell any signs of cheating. For now..."; + next; + mes "[Test Instructor, Teardrop]"; + mes "Before taking a practical test, I want to eat something."; + mes "You know the food situation isn't always so good in a foreign land."; + next; + mes "[Test Instructor, Teardrop]"; + mes "I know that the very basic way to survive might be raising the strength of one's own body. But, I find that sending adventurers is easier for me."; + next; + mes "[Test Instructor, Teardrop]"; + mes "So, kill ^0000ff1 Dragon Tail^000000 and bring me ^0000ff1 Wing of Dragonfly^000000."; + next; + mes "[Test Instructor, Teardrop]"; + mes "If you run out of the provided items, we cannot support you more so take care."; + mes "Consider this as an extension of the survival power test."; + set job_ranger01,4; + changequest 8256,8257; + close; + } + else if(job_ranger01 == 4) + { + if (checkquest(8257) == 1) + { + if (countitem(7064) > 0) + { + mes "[Test Instructor, Teardrop]"; + mes "Oh! Oh! Woooooow!"; + mes "You've brought it! Let me see..."; + next; + mes "[Test Instructor, Teardrop]"; + mes "Hmmmm, it's still hot?!"; + mes "You don't seem to be hurt anywhere..."; + next; + mes "[Test Instructor, Teardrop]"; + mes "Good, for now you're qualified for the practical test."; + next; + mes "[Test Instructor, Teardrop]"; + mes "Well, before I explain, could you please give me that Dragonfly wing?"; + mes "You've heard the saying, 'in any situation, eating comes first'?"; + delitem 7064,1; + set job_ranger01,5; + changequest 8257,8258; + close; + } + mes "[Test Instructor, Teardrop]"; + mes "What are you doing there? Standing with a blank look."; + next; + mes "[Test Instructor, Teardrop]"; + mes "I'm hungry."; + mes "Before taking the practical test, I want to eat something."; + next; + mes "[Test Instructor, Teardrop]"; + mes "I know that the very basic way to survive might be raising the strength of one's own body. But, I find that sending adventurers is easier for me."; + next; + mes "[Test Instructor, Teardrop]"; + mes "So, kill ^0000ff1 Dragon Tail^000000 and bring me ^0000ff1 Dragon Fly Wing^000000."; + next; + mes "[Test Instructor, Teardrop]"; + mes "If you run out of the provided items, we cannot support more so take care."; + mes "Consider this as an extension of the survival power test."; + close; + } + mes "[Test Instructor, Teardrop]"; + mes "What are you doing there? Standing with a blank look."; + next; + mes "[Test Instructor, Teardrop]"; + mes "I'm hungry."; + mes "Before taking the practical test, I want to eat something."; + next; + mes "[Test Instructor, Teardrop]"; + mes "I know that the very basic way to survive might be raising the strength of one's own body. But, I find that sending adventurers is easier for me."; + next; + mes "[Test Instructor, Teardrop]"; + mes "So, kill ^0000ff1 Dragon Tail^000000 and bring me ^0000ff1 Dragon Fly Wing^000000."; + next; + mes "[Test Instructor, Teardrop]"; + mes "If you run out of the provided items, we cannot support more so take care."; + mes "Consider this as an extension of the survival power test."; + close; + } + else if (job_ranger01 == 5) + { + mes "[Test Instructor, Teardrop]"; + mes "Awooo. Yumyum."; + mes "Eh? What are you looking at?"; + mes "You want to eat some?"; + next; + switch(select("Oh, just eat up:...")) + { + case 1: + mes "[Test Instructor, Teardrop]"; + mes "Why aren't you eating?"; + mes "It's quite edible."; + mes "If you cover it with rice, it's like roasted seaweed, very tasty and delicious."; + next; + mes "[Test Instructor, Teardrop]"; + mes "You need to be strong enough not to be so picky with such things..."; + next; + break; + case 2: + mes "["+strcharinfo(0)+"]"; + mes "No thanks... anyway..."; + next; + mes "[Test Instructor, Teardrop]"; + mes "Hmm? Oh my, oh my, I've shown you my sloppiness."; + next; + break; + } + mes "[Test Instructor, Teardrop]"; + mes "Ok, I'll send you to the practical test field."; + next; + mes "[Test Instructor, Teardrop]"; + mes "The practical test consists of 3 parts in total."; + mes "It's to recheck the things you've learned as a hunter or a sniper, so there's nothing much to be worried."; + next; + mes "[Test Instructor, Teardrop]"; + mes "If you get a passing mark over three tests, you'll be on your way to becoming a Ranger."; + next; + mes "[Test Instructor, Teardrop]"; + mes "I'll explain the paths for the test."; + next; + mes "[Test Instructor, Teardrop]"; + mes "Once you get into the test field, a staff will be waiting for you. Go into the room made by the staff, and standby."; + next; + mes "[Test Instructor, Teardrop]"; + mes "The test is done one by one so, if there's many people, you might need to wait."; + next; + mes "[Test Instructor, Teardrop]"; + mes "The first test is to test of how keen your eyes are."; + mes "Different monsters will appear in 8 places. Kill only the monster named 'Poring' and you get a point, when you reach a certain mark, then you pass. Easy, huh?"; + next; + mes "[Test Instructor, Teardrop]"; + mes "The second test is about how much you can use a trap efficiently."; + mes "Get rid of monsters and do the mission by using only the provided traps, and you pass. Just be careful not to be engulfed by the explosion."; + next; + mes "[Test Instructor, Teardrop]"; + mes "For the 3rd test, when you become a Ranger you can handle a wolf, so you will be tested on how well you can handle such an animal."; + next; + mes "[Test Instructor, Teardrop]"; + mes "When you remove a bomb by using the given wolf, you get points. You pass when you get a certain mark on the test."; + next; + mes "[Test Instructor, Teardrop]"; + mes "The staff there will tell you more details as well."; + next; + mes "[Test Instructor, Teardrop]"; + mes "Now, I will enter you into the practical test field, is your preparation all done?"; + next; + switch(select("Please wait a little:Let's go to the practical test field!")) + { + case 1: + mes "[Test Instructor, Teardrop]"; + mes "Um? Aren't you ready?"; + next; + mes "[Test Instructor, Teardrop]"; + mes "Well. To be careful is good."; + mes "Come back when you are ready."; + close; + case 2: + if (getmercinfo(1) > 0) + { + mes "[Test Instructor, Teardrop]"; + mes "Stop!"; + next; + mes "[Test Instructor, Teardrop]"; + mes "Where do you think you're going with the mercenary?!"; + next; + mes "[Test Instructor, Teardrop]"; + mes "If you don't cancel the mercenary, you cannot get into the test field! Cancel it first!"; + close; + } + if (Weight > 501) + { + mes "[Test Instructor, Teardrop]"; + mes "See, for the last time, I warn you that cheating is strictly banned."; + next; + mes "[Test Instructor, Teardrop]"; + mes "Well, then let's gooooooooo.... oo,um?"; + next; + mes "[Test Instructor, Teardrop]"; + mes "Hey, what are you hiding there?"; + mes "I've pointed it out for several times, you should not even think to go in there secretly with anything other than the provided items!"; + next; + mes "[Test Instructor, Teardrop]"; + mes "You'd better lighten your weight."; + close; + } + } + if (countitem(1750) > 99) + { + mes "[Test Instructor, Teardrop]"; + mes "Good luck."; + mes "Be a ranger and we shall meet again."; + set job_ranger01,6; + changequest 8258,8259; + close2; + warp "job3_rang01",30,36; + end; + } + mes "[Test Instructor, Teardrop]"; + mes "Okay, once again I'll provide you with arrows, then I'll let you in."; + next; + mes "[Test Instructor, Teardrop]"; + mes "Good luck."; + mes "Be a ranger and we shall meet again."; + set job_ranger01,6; + changequest 8258,8259; + getitem 1750,100; + close; + warp "job3_rang01",30,36; + end; + } + else if (job_ranger01 == 6) + { + mes "[Test Instructor, Teardrop]"; + mes "Good to goooooo!!!!!!!"; + next; + mes "[Test Instructor, Teardrop]"; + mes "Um? What happened?"; + mes "Why are you walking about here? What about the test?"; + next; + mes "[Test Instructor, Teardrop]"; + mes "Aha.. You've failed the middle!"; + mes "You are such a fool."; + emotion 4; + next; + mes "[Test Instructor, Teardrop]"; + mes "So what are you going to do? Try again?"; + next; + switch(select("Wait a minute:Go to the practical test field!:I give up the job change.")) + { + case 1: + mes "[Test Instructor, Teardrop]"; + mes "Um? Aren't you ready yet?"; + next; + mes "[Test Instructor, Teardrop]"; + mes "All right. To be careful is good."; + mes "Come when you are ready."; + close; + case 2: + if (getmercinfo(1) > 0) + { + mes "[Test Instructor, Teardrop]"; + mes "Stop!"; + next; + mes "[Test Instructor, Teardrop]"; + mes "Where do you think you're going with the mercenary?!"; + next; + mes "[Test Instructor, Teardrop]"; + mes "If you don't cancel the mercenary, you cannot get into the test field! Cancel it first!"; + close; + } + if (countitem(12380) > 0) + { + mes "[Test Instructor, Teardrop]"; + mes "What, What is this?"; + mes "You shouldn't keep this around!"; + delitem 12380,countitem(12380); + close; + } + if(countitem(12258) > 0) + { + mes "[Test Instructor, Teardrop]"; + mes "What, What is this, a Bombring Capsule."; + mes "You shouldn't keep such a dangerous thing!"; + delitem 12258,countitem(12258); + close; + } + if(countitem(6156) > 0) + { + mes "[Test Instructor, Teardrop]"; + mes "What, what are all these Documents?"; + mes "I think I know. You were going to send this to Caution, right?"; + next; + mes "[Test Instructor, Teardrop]"; + mes "If you hold such thing it would disturb your practical test so I'll take this."; + delitem 6156,countitem(6156); + close; + } + if (Weight > 501) + { + mes "[Test Instructor, Teardrop]"; + mes "See, for the last time, I warn you that cheating is strictly banned."; + next; + mes "[Test Instructor, Teardrop]"; + mes "Well, then let's gooooooooo.... oo,um?"; + next; + mes "[Test Instructor, Teardrop]"; + mes "Hey, what are you hiding there?"; + mes "I've pointed it out for several times, you should not even think to go in there secretly with anything other than the provided items!"; + next; + mes "[Test Instructor, Teardrop]"; + mes "You'd better lighten your weight."; + close; + } + break; + case 3: + mes "[Test Instructor, Teardrop]"; + mes "Um? What, you're kidding huh?"; + next; + mes "[Test Instructor, Teardrop]"; + mes "Think again."; + mes "Do you really want to give up the job change to become a Ranger?"; + next; + switch(select("No, I'll try again:I give up!")) + { + case 1: + break; + case 2: + mes "[Test Instructor, Teardrop]"; + mes "You don't have as many guts as I thought."; + nude; + next; + if (countitem(1703) > 0) + { + mes "[Test Instructor, Teardrop]"; + mes "Okay. I'll respect your opinion."; + mes "I'll cancel the job change request from "+strcharinfo(0)+"."; + delitem 1703,1; + set job_ranger01,0; + erasequest 8254; + erasequest 8255; + erasequest 8256; + erasequest 8257; + erasequest 8258; + erasequest 8259; + erasequest 8260; + erasequest 8261; + erasequest 8262; + close; + } + mes "[Test Instructor, Teardrop]"; + mes "Huh? I gave you a Bow for your practical tests. Where is it?"; + next; + mes "[Test Instructor, Teardrop]"; + mes "If you don't give it to me, I can't cancel you job change request."; + close; + } + mes "[Test Instructor, Teardrop]"; + mes "Hey. You were kidding after all?"; + next; + mes "[Test Instructor, Teardrop]"; + mes "It's not funny so don't do that kind of joke again."; + close; + } + if (countitem(1750) > 99) + { + mes "[Test Instructor, Teardrop]"; + mes "Good luck."; + mes "Be a ranger and we shall meet again."; + erasequest 8260; + erasequest 8261; + set job_ranger01,6; + close2; + warp "job3_rang01",30,36; + end; + } + mes "[Test Instructor, Teardrop]"; + mes "Okay, once again I'll provide you with arrows, then I'll let you in."; + next; + mes "[Test Instructor, Teardrop]"; + mes "Good luck."; + mes "Be a ranger and we shall meet again."; + erasequest 8260; + erasequest 8261; + set job_ranger01,6; + getitem 1750,100; + close2; + warp "job3_rang01",30,36; + end; + } + else if (job_ranger01 == 7) + { + mes "[Test Instructor, Teardrop]"; + mes "Oh, hey. What are you doing here?"; + next; + mes "[Test Instructor, Teardrop]"; + mes "Because you've disappeared suddenly, the Ranger Master was looking for you."; + mes "Dou you want to go to him now?"; + next; + switch(select("Don't go:Go")) + { + case 1: + mes "[Test Instructor, Teardrop]"; + mes "Are you busy with something else?"; + close; + case 2: + break; + } + mes "[Test Instructor, Teardrop]"; + mes "Then I'll send you, please be well."; + close; + warp "job3_rang01",89,38; + end; + } + else if(job_ranger01 > 7) + { + mes "[Test Instructor, Teardrop]"; + mes "Good to gooooooooooooooo!!!!!!"; + next; + mes "[Test Instructor, Teardrop]"; + mes "Huh? What are you? Where you from?"; + mes "Don't hang around here doing nothing. This is my area!"; + close; + } + mes "[Test Instructor, Teardrop]"; + mes "Good to gooooooooooooooo!!!!!!"; + next; + mes "[Test Instructor, Teardrop]"; + mes "Huh? What are you? Where you from?"; + mes "Don't hang around here doing nothing. This is my area!"; + close; + } + mes "[Test Instructor]"; + mes "No way !!!!"; + next; + mes "[Test Instructor]"; + mes "Huh? What are you? Where you from?"; + mes "Don't hang around here doing nothing. This is my area!"; + close; +} + +job3_rang01,30,40,3 script Practical Test 111,{ + +OnInit: + disablenpc "Practical Test"; + waitingroom "Practical Test Waiting Room",20,"Practical Test::OnStartArena",1; + enablewaitingroomevent; + end; + +OnStartArena: + warpwaitingpc "job3_rang02",45,48; + donpcevent "Test Supervisor#jr_04::OnEnable"; + disablewaitingroomevent; + end; + +OnEnable: + enablewaitingroomevent; + end; + +OnDisable: + disablewaitingroomevent; + end; +} + +job3_rang01,30,44,3 script Test Waiting Room#jr_03 88,{ + + + mes "[Staff DTS]"; + mes "Please wait at the practical test waiting room to start the test process."; + next; + mes "[Staff DTS]"; + mes "In the order you enter, you can take the practical test one by one."; + mes "There's 3 kinds of a Ranger job change practical tests, it takes a total of about 10 minutes."; + next; + switch(select("Test explanation:Cancel:I give up the Ranger test")) + { + case 1: + break; + case 2: + mes "[Staff DTS]"; + mes "Don't you need any explanation?"; + next; + mes "[Staff DTS]"; + mes "Enter into the chat room and wait for the order and take the job change practical test."; + close; + case 3: + mes "[Staff DTS]"; + mes "Please think about it again."; + mes "If you give up here, your job change request will be cancelled. Do you really want to give up the job change to a Ranger?"; + next; + switch(select("No, I'll continue with the test:I give up the Ranger job change")) + { + case 1: + break; + case 2: + mes "[Staff DTS]"; + mes "You don't have as many guts as I thought."; + nude; + next; + if (countitem(1703) > 0) + { + mes "[Staff DTS]"; + mes "Okay. I'll respect your opinion."; + mes "I'll cancel the job change request from "+strcharinfo(0)+"."; + delitem 1703,1; + set job_ranger01,0; + erasequest 8254; + erasequest 8255; + erasequest 8256; + erasequest 8257; + erasequest 8258; + erasequest 8259; + erasequest 8260; + erasequest 8261; + erasequest 8262; + close2; + warp "alberta",117,57; + end; + } + mes "[Staff DTS]"; + mes "Where is your test Bow?"; + next; + mes "[Staff DTS]"; + mes "Return it to me, or I can't cancel your job change request."; + close; + } + mes "[Staff DTS]"; + mes "If you want to continue with the practical test, please enter into the chat room."; + close; + } + mes "[Staff DTS]"; + mes "I'll explain the Ranger job change practical test."; + mes "Among the 1st, 2nd, and 3rd practical tests, which one's test method are you curious of?"; + next; + switch(select("1st Test:2nd Test:3rd Test:Cancel")) + { + case 1: + mes "[Staff DTS]"; + mes "For the 1st test, we test your eyesight and accuracy."; + next; + mes "[Staff DTS]"; + mes "Monsters appear randomly from 8 sides of the left, right, up and down of the player, among them if you get rid of a monster named 'Poring' you get a point."; + next; + mes "[Staff DTS]"; + mes "^0000ffWhatever the form looks like, you need to kill the monster named 'Poring' to get a point, and if you get rid of others your points get deducted, so be careful.^000000"; + next; + mes "[Staff DTS]"; + mes "The 1st test progressing time will be about 3 minutes. When you get 15 points or more over 20, you are sent to 2nd test field."; + close; + case 2: + mes "[Staff DTS]"; + mes "The 2nd test is to test the mission performance ability and the efficient use of a trap."; + next; + mes "[Staff DTS]"; + mes "The attendant receives 10 'Bombring Capsules'. When you consume the Bombring Capsule, a Bombring is summoned near and after the summoning when you reach a certain time, the Bombring explodes."; + next; + mes "[Staff DTS]"; + mes "^0000ffThe Bombring explosion affects you, so be careful not to get involved in the explosion. You need to get rid of the monster by using the Bombring Capsule, accomplish the mission and come out alive.^000000"; + next; + mes "[Staff DTS]"; + mes "The 2nd test progressing time will be about 3 minutes. When you consume all the Bombring Capsules, collect a hidden equipment, and survive, you will be sent to the 3rd test field."; + close; + case 3: + mes "[Staff DTS]"; + mes "The 3rd is to test how you can efficiently use a warg which is given Rangers."; + next; + mes "[Staff DTS]"; + mes "The tester is provided with disposable warg summoning flute. Remove all bombs that are dispersed here and there by controlling the summoned warg and you get a point."; + next; + mes "[Staff DTS]"; + mes "^0000ffThe tester cannot move while the test is going on and the test is completed when he or she removes the bombs quickly and accurately in time by using only the warg.^000000"; + next; + mes "[Staff DTS]"; + mes "The 3rd test progressing time would be about 3 minutes, when you get 10 or more over 20, all the practical tests are completed."; + close; + case 4: + mes "[Staff DTS]"; + mes "When you want to progress with the practical test, please enter into the chat room."; + close; + } +} + +job3_rang02,100,95,0 script Test Supervisor#jr_04 139,{ + +OnInit: + set $@job_rang_point01,0; + disablenpc "Test Supervisor#jr_04"; + end; + +OnEnable: + set $@job_rang_point01,0; + enablenpc "Test Supervisor#jr_04"; + initnpctimer; + end; + +OnDisable: + stopnpctimer; + disablenpc "Test Supervisor#jr_04"; + end; + +OnStart: + stopnpctimer; + disablenpc "Test Supervisor#jr_04"; + donpcevent "First Test Timer#jr_05::OnEnable"; + end; + +OnTimer3000: + mapannounce "job3_rang02","Test Supervisor, Notice : Welcome to the Ranger Job Change Test. I am Test Supervisor, Notice.",bc_map; + end; + +OnTimer6000: + mapannounce "job3_rang02","Test Supervisor, Notice : The first test is to test your eyesight and accuracy.",bc_map; + end; + +OnTimer9000: + mapannounce "job3_rang02","Test Supervisor, Notice : The test method is, to kill monsters named 'Poring' amongst the random spawned monsters on 8 locations.",bc_map; + end; + +OnTimer12000: + mapannounce "job3_rang02","Test Supervisor, Notice : Whatever it may look like, you need to kill the monster named 'Poring' to get a point, and if you kill others you will lose points, so be careful.",bc_map; + end; + +OnTimer15000: + mapannounce "job3_rang02","Test Supervisor, Notice : The test progression time would be around 3 minutes. You need to get 15 points or more to qualify for the next test.",bc_map; + end; + +OnTimer18000: + stopnpctimer; + mapannounce "job3_rang02","Test Supervisor, Notice : Then let's begin the test. Good luck.",bc_map; + donpcevent "Test Supervisor#jr_04::OnStart"; + end; +} + +job3_rang02,102,95,0 script First Test Timer#jr_05 139,{ + +OnInit: + disablenpc "First Test Timer#jr_05"; + end; + +OnEnable: + set $@job_rang_point01,0; + enablenpc "First Test Timer#jr_05"; + initnpctimer; + end; + +OnDisable: + stopnpctimer; + disablenpc "First Test Timer#jr_05"; + end; + +OnTimer3000: + mapannounce "job3_rang02","Test Supervisor, Notice : First Wave! Kill the Poring!",bc_map; + donpcevent "Correct Monster Summon::OnStart"; + end; + +OnTimer8000: + donpcevent "Correct Monster Summon::OnReset"; + donpcevent "False Monster Summon::OnReset"; + end; + +OnTimer10000: + mapannounce "job3_rang02","Test Supervisor, Notice : Second Wave! Kill the Poring!",bc_map; + donpcevent "Correct Monster Summon::OnStart"; + end; + +OnTimer15000: + donpcevent "Correct Monster Summon::OnReset"; + donpcevent "False Monster Summon::OnReset"; + end; + +OnTimer17000: + mapannounce "job3_rang02","Test Supervisor, Notice : Third Wave! Kill the Poring!",bc_map; + donpcevent "Correct Monster Summon::OnStart"; + end; + +OnTimer22000: + donpcevent "Correct Monster Summon::OnReset"; + donpcevent "False Monster Summon::OnReset"; + end; + +OnTimer24000: + mapannounce "job3_rang02","Test Supervisor, Notice : Fourth Wave! Kill the Poring!",bc_map; + donpcevent "Correct Monster Summon::OnStart"; + end; + +OnTimer29000: + donpcevent "Correct Monster Summon::OnReset"; + donpcevent "False Monster Summon::OnReset"; + end; + +OnTimer31000: + mapannounce "job3_rang02","Test Supervisor, Notice : Fifth Wave! Kill the Poring!",bc_map; + donpcevent "Correct Monster Summon::OnStart"; + end; + +OnTimer36000: + donpcevent "Correct Monster Summon::OnReset"; + donpcevent "False Monster Summon::OnReset"; + end; + +OnTimer38000: + mapannounce "job3_rang02","Test Supervisor, Notice : Sixth Wave! Kill the Poring!",bc_map; + donpcevent "Correct Monster Summon::OnStart"; + end; + +OnTimer43000: + donpcevent "Correct Monster Summon::OnReset"; + donpcevent "False Monster Summon::OnReset"; + end; + +OnTimer45000: + mapannounce "job3_rang02","Test Supervisor, Notice : Seventh Wave! Kill the Poring!",bc_map; + donpcevent "Correct Monster Summon::OnStart"; + end; + +OnTimer50000: + donpcevent "Correct Monster Summon::OnReset"; + donpcevent "False Monster Summon::OnReset"; + end; + +OnTimer52000: + mapannounce "job3_rang02","Test Supervisor, Notice : Eight Wave! Kill the Poring!",bc_map; + donpcevent "Correct Monster Summon::OnStart"; + end; + +OnTimer57000: + donpcevent "Correct Monster Summon::OnReset"; + donpcevent "False Monster Summon::OnReset"; + end; + +OnTimer59000: + mapannounce "job3_rang02","Test Supervisor, Notice : Nineth Wave! Kill the Poring!",bc_map; + donpcevent "Correct Monster Summon::OnStart"; + end; + +OnTimer64000: + donpcevent "Correct Monster Summon::OnReset"; + donpcevent "False Monster Summon::OnReset"; + end; + +OnTimer66000: + mapannounce "job3_rang02","Test Supervisor, Notice : Tenth Wave! Kill the Poring!",bc_map; + donpcevent "Correct Monster Summon::OnStart"; + end; + +OnTimer71000: + donpcevent "Correct Monster Summon::OnReset"; + donpcevent "False Monster Summon::OnReset"; + end; + +OnTimer73000: + mapannounce "job3_rang02","Test Supervisor, Notice : Eleventh Wave! Kill the Poring!",bc_map; + donpcevent "Correct Monster Summon::OnStart"; + end; + +OnTimer78000: + donpcevent "Correct Monster Summon::OnReset"; + donpcevent "False Monster Summon::OnReset"; + end; + +OnTimer80000: + mapannounce "job3_rang02","Test Supervisor, Notice : Twelfth Wave! Kill the Poring!",bc_map; + donpcevent "Correct Monster Summon::OnStart"; + end; + +OnTimer85000: + donpcevent "Correct Monster Summon::OnReset"; + donpcevent "False Monster Summon::OnReset"; + end; + +OnTimer87000: + mapannounce "job3_rang02","Test Supervisor, Notice : Thirteenth Wave! Kill the Poring!",bc_map; + donpcevent "Correct Monster Summon::OnStart"; + end; + +OnTimer92000: + donpcevent "Correct Monster Summon::OnReset"; + donpcevent "False Monster Summon::OnReset"; + end; + +OnTimer94000: + mapannounce "job3_rang02","Test Supervisor, Notice : Fourteenth Wave! Kill the Poring!",bc_map; + donpcevent "Correct Monster Summon::OnStart"; + end; + +OnTimer99000: + donpcevent "Correct Monster Summon::OnReset"; + donpcevent "False Monster Summon::OnReset"; + end; + +OnTimer101000: + mapannounce "job3_rang02","Test Supervisor, Notice : Fifteenth Wave! Kill the Poring!",bc_map; + donpcevent "Correct Monster Summon::OnStart"; + end; + +OnTimer106000: + donpcevent "Correct Monster Summon::OnReset"; + donpcevent "False Monster Summon::OnReset"; + end; + +OnTimer108000: + mapannounce "job3_rang02","Test Supervisor, Notice : Sixteenth Wave! Kill the Poring!",bc_map; + donpcevent "Correct Monster Summon::OnStart"; + end; + +OnTimer113000: + donpcevent "Correct Monster Summon::OnReset"; + donpcevent "False Monster Summon::OnReset"; + end; + +OnTimer115000: + mapannounce "job3_rang02","Test Supervisor, Notice : Seventeenth Wave! Kill the Poring!",bc_map; + donpcevent "Correct Monster Summon::OnStart"; + end; + +OnTimer120000: + donpcevent "Correct Monster Summon::OnReset"; + donpcevent "False Monster Summon::OnReset"; + end; + +OnTimer122000: + mapannounce "job3_rang02","Test Supervisor, Notice : Eighteenth Wave! Kill the Poring!",bc_map; + donpcevent "Correct Monster Summon::OnStart"; + end; + +OnTimer127000: + donpcevent "Correct Monster Summon::OnReset"; + donpcevent "False Monster Summon::OnReset"; + end; + +OnTimer129000: + mapannounce "job3_rang02","Test Supervisor, Notice : Nineteenth Wave! Kill the Poring!",bc_map; + donpcevent "Correct Monster Summon::OnStart"; + end; + +OnTimer134000: + donpcevent "Correct Monster Summon::OnReset"; + donpcevent "False Monster Summon::OnReset"; + end; + +OnTimer136000: + mapannounce "job3_rang02","Test Supervisor, Notice : Last Wave! Kill the Poring!",bc_map; + donpcevent "Correct Monster Summon::OnStart"; + end; + +OnTimer141000: + donpcevent "Correct Monster Summon::OnReset"; + donpcevent "False Monster Summon::OnReset"; + end; + +OnTimer143000: + mapannounce "job3_rang02","Test Supervisor, Notice : Well done! Now for your test result!",bc_map; + end; + +OnTimer146000: + set .total_point01,$@job_rang_point01; + if(.total_point01 < 1) + { + set .total_point01,0; + } + mapannounce "job3_rang02","Test Supervisor, Notice : I'll announce the test result. The number of Porings you killed out of 20 is ..."+.total_point01+"!",bc_map; + end; + +OnTimer149000: + if (.total_point01 > 14) + { + mapannounce "job3_rang02","Test Supervisor, Notice : Congratulations! You've killed "+.total_point01+" out of 20 Porings total, so you've passed the 1st test. I will send you to the 2nd test field.",bc_map; + mapwarp "job3_rang02","job3_rang02",113,58; + stopnpctimer; + donpcevent "Second Test Timer#jr_08::OnEnable"; + } else { + mapannounce "job3_rang02","Test Supervisor, Notice : You couldn't kill 15 Porings or more on a total of 20 total, so you've failed the 1st test... I am sorry but please try again.",bc_map; + } + end; + +OnTimer151000: + mapannounce "job3_rang02","Test Supervisor, Notice : The adventurer's 1st test ends now. Please make yourself more capable. Goodbye.",bc_map; + mapwarp "job3_rang02","tur_dun01",93,165; + end; + +OnTimer154000: + mapwarp "job3_rang02","tur_dun01",93,165; + end; + +OnTimer157000: + mapwarp "job3_rang02","tur_dun01",93,165; + set $@job_rang_point01,0; + stopnpctimer; + donpcevent "Test Supervisor#jr_04::OnDisable"; + donpcevent "Practical Test::OnEnable"; + donpcevent "First Test Timer#jr_05::OnDisable"; + end; +} + +job3_rang02,104,95,0 script Correct Monster Summon 139,{ + +OnDisable: + disablenpc "Correct Monster Summon"; + end; + +OnStart: + set .@job_ranger_pattern01,rand(1,32); + if (.@job_ranger_pattern01 == 1) + { + donpcevent "False Monster Summon::OnOne"; + monster "job3_rang02",35,58,"Poring",1002,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 2) + { + donpcevent "False Monster Summon::OnOne"; + monster "job3_rang02",35,58,"Poring",1031,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 3) + { + donpcevent "False Monster Summon::OnOne"; + monster "job3_rang02",35,58,"Poring",1242,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 4) + { + donpcevent "False Monster Summon::OnOne"; + monster "job3_rang02",35,58,"Poring",1113,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 5) + { + donpcevent "False Monster Summon::OnTwo"; + monster "job3_rang02",44,58,"Poring",1002,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 6) + { + donpcevent "False Monster Summon::OnTwo"; + monster "job3_rang02",44,58,"Poring",1031,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 7) + { + donpcevent "False Monster Summon::OnTwo"; + monster "job3_rang02",44,58,"Poring",1242,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 8) + { + donpcevent "False Monster Summon::OnTwo"; + monster "job3_rang02",44,58,"Poring",1113,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 9) + { + donpcevent "False Monster Summon::OnThree"; + monster "job3_rang02",54,58,"Poring",1002,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 10) + { + donpcevent "False Monster Summon::OnThree"; + monster "job3_rang02",54,58,"Poring",1031,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 11) + { + donpcevent "False Monster Summon::OnThree"; + monster "job3_rang02",54,58,"Poring",1242,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 12) + { + donpcevent "False Monster Summon::OnThree"; + monster "job3_rang02",54,58,"Poring",1113,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 13) + { + donpcevent "False Monster Summon::OnFour"; + monster "job3_rang02",35,49,"Poring",1002,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 14) + { + donpcevent "False Monster Summon::OnFour"; + monster "job3_rang02",35,49,"Poring",1031,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 15) + { + donpcevent "False Monster Summon::OnFour"; + monster "job3_rang02",35,49,"Poring",1242,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 16) + { + donpcevent "False Monster Summon::OnFour"; + monster "job3_rang02",35,49,"Poring",1113,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 17) + { + donpcevent "False Monster Summon::OnFive"; + monster "job3_rang02",54,49,"Poring",1002,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 18) + { + donpcevent "False Monster Summon::OnFive"; + monster "job3_rang02",54,49,"Poring",1031,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 19) + { + donpcevent "False Monster Summon::OnFive"; + monster "job3_rang02",54,49,"Poring",1242,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 20) + { + donpcevent "False Monster Summon::OnFive"; + monster "job3_rang02",54,49,"Poring",1031,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 21) + { + donpcevent "False Monster Summon::OnSix"; + monster "job3_rang02",35,39,"Poring",1002,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 22) + { + donpcevent "False Monster Summon::OnSix"; + monster "job3_rang02",35,39,"Poring",1031,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 23) + { + donpcevent "False Monster Summon::OnSix"; + monster "job3_rang02",35,39,"Poring",1242,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 24) + { + donpcevent "False Monster Summon::OnSix"; + monster "job3_rang02",35,39,"Poring",1113,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 25) + { + donpcevent "False Monster Summon::OnSeven"; + monster "job3_rang02",44,39,"Poring",1002,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 26) + { + donpcevent "False Monster Summon::OnSeven"; + monster "job3_rang02",44,39,"Poring",1031,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 27) + { + donpcevent "False Monster Summon::OnSeven"; + monster "job3_rang02",44,39,"Poring",1242,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 28) + { + donpcevent "False Monster Summon::OnSeven"; + monster "job3_rang02",44,39,"Poring",1113,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 29) + { + donpcevent "False Monster Summon::OnEight"; + monster "job3_rang02",54,39,"Poring",1002,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 30) + { + donpcevent "False Monster Summon::OnEight"; + monster "job3_rang02",54,39,"Poring",1031,1,"Correct Monster Summon::OnMyMobDead"; + }else if (.@job_ranger_pattern01 == 31) + { + donpcevent "False Monster Summon::OnEight"; + monster "job3_rang02",54,39,"Poring",1242,1,"Correct Monster Summon::OnMyMobDead"; + }else { + donpcevent "False Monster Summon::OnEight"; + monster "job3_rang02",54,39,"Poring",1113,1,"Correct Monster Summon::OnMyMobDead"; + } + end; + +OnReset: + killmonster "job3_rang02","Correct Monster Summon::OnMyMobDead"; + end; + +OnMyMobDead: + specialeffect2 EF_POTION_CON; + set $@job_rang_point01,$@job_rang_point01+1; + mapannounce "job3_rang02","Test Supervisor, Notice : Correct Target! You have very good eyesight!",bc_map; + end; +} + +job3_rang02,106,95,0 script False Monster Summon 139,{ + +OnDisable: + disablenpc "False Monster Summon"; + end; + +OnOne: + monster "job3_rang02",44,58,"Poing",1002,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",54,58,"Horing",1031,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",35,49,"Poporing",1242,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",54,49,"Puring",1113,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",35,39,"Poriring",1031,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",44,39,"Marine",1242,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",54,39,"Droporing",1002,1,"False Monster Summon::OnMyMobDead"; + end; + +OnTwo: + monster "job3_rang02",35,58,"Poyong",1031,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",54,58,"Puding",1113,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",35,49,"Porin",1113,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",54,49,"Poja",1002,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",35,39,"Poporing",1031,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",44,39,"Drops",1242,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",54,39,"Pororing",1031,1,"False Monster Summon::OnMyMobDead"; + end; + +OnThree: + monster "job3_rang02",35,58,"Poporing",1113,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",44,58,"Podaegi",1002,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",35,49,"Poing",1002,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",54,49,"Poja",1031,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",35,39,"Maporing",1242,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",44,39,"Drops",1242,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",54,39,"Pororing",1031,1,"False Monster Summon::OnMyMobDead"; + end; + +OnFour: + monster "job3_rang02",35,58,"Poing",1242,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",44,58,"Hoing",1002,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",54,58,"Marine",1031,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",54,49,"Drops",1113,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",35,39,"Puding",1113,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",44,39,"Droporing",1002,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",54,39,"Marine",1242,1,"False Monster Summon::OnMyMobDead"; + end; + +OnFive: + monster "job3_rang02",35,58,"Popuri",1002,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",44,58,"Poporing",1242,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",54,58,"Mariring",1031,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",35,49,"Poyong",1113,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",35,39,"Marine",1031,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",44,39,"Puding",1002,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",54,39,"Hoing",1031,1,"False Monster Summon::OnMyMobDead"; + end; + +OnSix: + monster "job3_rang02",35,58,"Pork",1031,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",44,58,"Drops",1113,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",54,58,"Poja",1242,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",35,49,"Poporing",1242,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",54,49,"Horing",1002,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",44,39,"Marun",1031,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",54,39,"Drawing",1002,1,"False Monster Summon::OnMyMobDead"; + end; + +OnSeven: + monster "job3_rang02",35,58,"Marine",1113,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",44,58,"Pororing",1031,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",54,58,"Pork",1031,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",35,49,"Porin",1242,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",54,49,"Poporing",1002,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",35,39,"Horin",1113,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",54,39,"Puding",1002,1,"False Monster Summon::OnMyMobDead"; + end; + +OnEight: + monster "job3_rang02",35,58,"Marun",1242,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",44,58,"Poja",1113,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",54,58,"Drops",1031,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",35,49,"Poing",1242,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",54,49,"Puding",1002,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",35,39,"Horing",1031,1,"False Monster Summon::OnMyMobDead"; + monster "job3_rang02",44,39,"Poporing",1113,1,"False Monster Summon::OnMyMobDead"; + end; + +OnReset: + killmonster "job3_rang02","False Monster Summon::OnMyMobDead"; + end; + +OnMyMobDead: + specialeffect2 EF_DEVIL; + set $@job_rang_point01,$@job_rang_point01-1; + mapannounce "job3_rang02","Test Supervisor, Notice : Wrong Target! Pull yourself together!",bc_map; + end; +} + +job3_rang02,100,93,0 script Second Test Timer#jr_08 139,{ + +OnInit: + disablenpc "Second Test Timer#jr_08"; + end; + +OnEnable: + enablenpc "Second Test Timer#jr_08"; + initnpctimer; + donpcevent "Test Supervisor#jr_04::OnDisable"; + donpcevent "First Test Timer#jr_05::OnDisable"; + end; + +OnDisable: + stopnpctimer; + disablenpc "Second Test Timer#jr_08"; + end; + +OnStop: + stopnpctimer; + end; + +OnTimer3000: + mapannounce "job3_rang02","Test Supervisor, Caution : Yeah. Congrats on you passing the 1st practical test. I am the 2nd practical test supervisor Caution.",bc_map; + end; + +OnTimer6000: + mapannounce "job3_rang02","Test Supervisor, Caution : The Second Test is about test performance ability and the effective usage of traps.",bc_map; + end; + +OnTimer9000: + mapannounce "job3_rang02","Test Supervisor, Caution : When the test begins, you'll recive 'Bombring Caspule's' from a staff member near you, and kill the monsters in your way.",bc_map; + end; + +OnTimer11000: + mapannounce "job3_rang02","Test Supervisor, Caution : When you use a 'Bombring Capsule' a Bombring is summoned near you, and after 3 seconds it will explode.",bc_map; + end; + +OnTimer14000: + mapannounce "job3_rang02","Test Supervisor, Caution : The explosive range of the Bombring is a 5x5 cell around the Bombring, so be carefull not to be caught in the explosion.",bc_map; + end; + +OnTimer17000: + mapannounce "job3_rang02","Test Supervisor, Caution : Whilst progressing, if you complete the mission given by an staff member come and see me, then you will pass the 2nd practical test!",bc_map; + end; + +OnTimer20000: + mapannounce "job3_rang02","Test Supervisor, Caution : Oh! When you come and see me, all 'Bombring Capsules' have to been used up.",bc_map; + end; + +OnTimer23000: + mapannounce "job3_rang02","Test Supervisor, Caution : The test period will take 3 minutes in total! Copmplete the mission in 3 minutes and stay alive! Then come to see me!",bc_map; + end; + +OnTimer26000: + mapannounce "job3_rang02","Test Supervisor, Caution : Well the test begins now!! Start going!!!!!!",bc_map; + donpcevent "Staff Rust#job_ranger09::OnEnable"; + end; + +OnTimer80000: + mapannounce "job3_rang02","Test Supervisor, Caution : 1 Minute has passed. You are coming to see me, right?",bc_map; + end; + +OnTimer83000: + mapannounce "job3_rang02","Test Supervisor, Caution : Don't be too brave to rush and get yourself killed, be slow and careful.",bc_map; + end; + +OnTimer140000: + mapannounce "job3_rang02","Test Supervisor, Caution : 2 Minutes have passed. Getting here on time should be your top priority.?",bc_map; + end; + +OnTimer143000: + mapannounce "job3_rang02","Test Supervisor, Caution : However, you need to be alive in order to make the time limit, right? Please watch out.",bc_map; + end; + +OnTimer170000: + mapannounce "job3_rang02","Test Supervisor, Caution : 2 Minutes and 30 Seconds have passed. There's not much time left!",bc_map; + end; + +OnTimer173000: + mapannounce "job3_rang02","Test Supervisor, Caution : Hurry up! Hurry up! Come on.",bc_map; + end; + +OnTimer200000: + mapannounce "job3_rang02","Test Supervisor, Caution : 3 Minutes have passed! 3 Minutes!!!! I'll be a little easy on you, so hurry up!!!!!!",bc_map; + end; + +OnTimer205000: + mapannounce "job3_rang02","Test Supervisor, Caution : 5 Seconds remaining!!",bc_map; + end; + +OnTimer206000: + mapannounce "job3_rang02","Test Supervisor, Caution : 4 Seconds remaining!!",bc_map; + end; + +OnTimer207000: + mapannounce "job3_rang02","Test Supervisor, Caution : 3 Seconds remaining!!",bc_map; + end; + +OnTimer208000: + mapannounce "job3_rang02","Test Supervisor, Caution : 2 Seconds remaining!!",bc_map; + end; + +OnTimer209000: + mapannounce "job3_rang02","Test Supervisor, Caution : 1 Second remaining!!",bc_map; + end; + +OnTimer210000: + mapannounce "job3_rang02","Test Supervisor, Caution : Ugh.. What are you doing? Your time is up!",bc_map; + end; + +OnTimer213000: + mapannounce "job3_rang02","Test Supervisor, Caution : You couldn't get here on time, therefore the 2nd practical test ends here!",bc_map; + end; + +OnTimer217000: + mapannounce "job3_rang02","Test Supervisor, Caution : If you want to blame something, blame your own stupidness! Start over from the beginning! You fool!",bc_map; + mapwarp "job3_rang02","tur_dun01",93,165; + end; + +OnTimer220000: + mapannounce "job3_rang02","Test Supervisor, Caution : If you want to blame something, blame your own stupidness! Start over from the beginning! You fool!",bc_map; + mapwarp "job3_rang02","tur_dun01",93,165; + donpcevent "Staff Rust#job_ranger09::OnDisable"; + donpcevent "Plant Summon#jr_10::OnDisable"; + donpcevent "Test Supervisor#jr_11::OnDisable"; + end; + +OnTimer223000: + donpcevent "Practical Test::OnEnable"; + donpcevent "Second Test Timer#jr_08::OnDisable"; + stopnpctimer; + end; +} + +job3_rang02,111,56,3 script Staff Rust#job_ranger09 89,{ + + + if (job_ranger01 == 6) + { + if (countitem(12258) < 1) + { + if (countitem(6156) < 1) + { + set .@ranger_weight01,MaxWeight - Weight; + set .@gift_paper01,(.@ranger_weight01 - 2000) / 10; + percentheal 100,0; + specialeffect2 EF_ABSORBSPIRITS; + mes "[Staff Rust]"; + mes "I'll give you the 'Bombring Capsules'."; + mes "The 'Bombring Capsules' can be given again only for the one who used it all, so please keep that in mind."; + next; + emotion 55; + mes "[Staff Rust]"; + mes "And the mission is.... to deliver these documents to the supervisor, Caution. He won't take what I give..."; + setquest 8260; + getitem 6156,.@gift_paper01; + getitem 12258,10; + getitem 569,100; + close; + } + percentheal 100,0; + specialeffect2 EF_ABSORBSPIRITS; + mes "[Staff Rust]"; + mes "I'll give you the 'Bombring Capsules."; + mes "The 'Bombring Capsules' can be given again only for the one who used it all, so please keep that in mind."; + getitem 12258,5; + close; + } + mes "[Staff Rust]"; + mes "I'm sorry, but you already have the 'Bombring Capsules', so I cannot provide you with more."; + close; + } + mes "[Staff Rust]"; + mes "I'm sorry, but how did you get in?"; + next; + mes "[Staff Rust]"; + mes "If you are not here for the job change test, please leave."; + close; + +OnInit: + disablenpc "Staff Rust#job_ranger09"; + end; + +OnEnable: + enablenpc "Staff Rust#job_ranger09"; + donpcevent "Plant Summon#jr_10::OnEnable"; + donpcevent "Test Supervisor#jr_11::OnEnable"; + end; + +OnDisable: + disablenpc "Staff Rust#job_ranger09"; + end; +} + +job3_rang02,136,21,5 script Plant Summon#jr_10 139,5,5,{ + +OnInit: + disablenpc "Plant Summon#jr_10"; + end; + +OnEnable: + enablenpc "Plant Summon#jr_10"; + monster "job3_rang02",112,45,"Mandragora",1020,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",114,45,"Mandragora",1020,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",116,45,"Mandragora",1020,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",110,30,"Flora",1118,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",112,30,"Flora",1118,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",114,30,"Flora",1118,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",116,30,"Flora",1118,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",116,41,"Geographer",1368,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",114,40,"Mandragora",1020,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",112,41,"Geographer",1368,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",111,34,"Flora",1118,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",117,22,"Muscipular",1780,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",114,21,"Geographer",1368,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",115,23,"Parasite",1500,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",135,25,"Drosera",1781,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",135,23,"Geographer",1368,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",138,20,"Muscipular",1780,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",137,36,"Drosera",1781,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",139,34,"Geographer",1368,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",144,41,"Geographer",1368,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",152,41,"Parasite",1500,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",168,49,"Drosera",1781,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",165,48,"Muscipular",1780,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",160,56,"Geographer",1368,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",158,56,"Drosera",1781,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",159,55,"Mandragora",1020,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",170,53,"Flora",1118,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",168,56,"Parasite",1500,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",174,63,"Muscipular",1780,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",176,60,"Geographer",1368,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",170,59,"Geographer",1368,1,"Plant Summon#jr_10::OnMyMobDead"; + monster "job3_rang02",126,19,"Nepenthes",1988,1,"Plant Summon#jr_10::OnMyMobDead"; + end; + +OnDisable: + disablenpc "Plant Summon#jr_10"; + killmonster "job3_rang02","Plant Summon#jr_10::OnMyMobDead"; + end; + +OnTouch: + percentheal 10,0; + specialeffect2 EF_ABSORBSPIRITS; + mapannounce "job3_rang02","Test Supervisor, Caution : You are doing well! If you come closer a little more, you should be able to see me.",bc_map; + end; + +OnMyMobDead: + end; +} + +job3_rang02,180,78,3 script Test Supervisor#jr_11 882,1,1,{ + +OnTouch: + if (job_ranger01 == 6) + { + if (countitem(12258) < 1) + { + if (countitem(6156) > 0) + { + mes "[Test Supervisor, Caution]"; + mes "You've arrived safely!!!"; + donpcevent "Second Test Timer#jr_08::OnDisable"; + donpcevent "Staff Rust#job_ranger09::OnDisable"; + donpcevent "Plant Summon#jr_10::OnDisable"; + initnpctimer; + next; + mes "[Test Supervisor, Caution]"; + mes "What are those documents?"; + emotion 74; + next; + menu "Mr. Rust asked me to give this to you.",-; + mes "[Test Supervisor, Caution]"; + mes "Haaaaaaaah!!"; + mes "I've been avoiding him so much!!"; + delitem 6156,countitem(6156); + erasequest 8260; + next; + mes "[Test Supervisor, Caution]"; + mes "I've never imagined this could be a test..."; + emotion 28; + next; + mes "[Test Supervisor, Caution]"; + mes "Anyway you've passed the 2nd test very well."; + next; + mes "[Test Supervisor, Caution]"; + mes "Pass the 3rd one and you will become a great ranger."; + close2; + warp "job3_rang02",250,49; + donpcevent "Test Supervisor#jr_13::OnEnable"; + end; + } + mes "[Test Supervisor, Caution]"; + mes "You've arrived safely......uh?"; + next; + mes "[Test Supervisor, Caution]"; + mes "Didn't Rust give you something?"; + next; + mes "[Test Supervisor, Caution]"; + mes "Where did you lose that?"; + mes "Pick it up quickly!"; + close; + } + mes "[Test Supervisor, Caution]"; + mes "No, no!"; + mes "You need to use all the 'Bombring Capsules'?!"; + next; + mes "[Test Supervisor, Caution]"; + mes "Use it all and come back!"; + mes "Time is ticking so you'd better hurry."; + close; + } + mes "[Test Supervisor, Caution]"; + mes "You've arrived safely......uh?"; + next; + mes "[Test Supervisor, Caution]"; + mes "Didn't Rust give you something?"; + next; + mes "[Test Supervisor, Caution]"; + mes "Where did you lose that?"; + mes "Pick it up quickly!"; + close2; + end; + +OnTimer60000: + mapannounce "job3_rang02","Test Supervisor, Caution : Come here, you don't have to rush your test, but why are you delaying the test?",bc_map; + end; + +OnTimer63000: + mapannounce "job3_rang02","Test Supervisor, Caution : I hate people that make me wait! if you don't talk to me in 30 seconds to continue the test, I will end your test progress!",bc_map; + end; + +OnTimer93000: + mapannounce "job3_rang02","Test Supervisor, Caution : Hurry up! Hurry up! Come on.",bc_map; + end; + +OnTimer96000: + mapannounce "job3_rang02","Test Supervisor, Caution : You couldn't get here on time, therefore the 2nd practical test ends here!",bc_map; + end; + +OnTimer99000: + mapannounce "job3_rang02","Test Supervisor, Caution : If you want to blame something, blame your own stupidness! Start over from the beginning! You fool!",bc_map; + mapwarp "job3_rang02","tur_dun01",93,165; + end; + +OnTimer102000: + mapannounce "job3_rang02","Test Supervisor, Caution : If you want to blame something, blame your own stupidness! Start over from the beginning! You fool!",bc_map; + mapwarp "job3_rang02","tur_dun01",93,165; + donpcevent "Staff Rust#job_ranger09::OnDisable"; + donpcevent "Plant Summon#jr_10::OnDisable"; + donpcevent "Second Test Timer#jr_08::OnDisable"; + end; + +OnTimer105000: + donpcevent "Practical Test::OnEnable"; + donpcevent "Test Supervisor#jr_11::OnDisable"; + stopnpctimer; + end; + +OnInit: + disablenpc "Test Supervisor#jr_11"; + end; + +OnEnable: + enablenpc "Test Supervisor#jr_11"; + end; + +OnDisable: + stopnpctimer; + disablenpc "Test Supervisor#jr_11"; + end; + +} + +job3_rang02,104,93,0 script Third Test Timer#jr_12 139,{ + +OnTimer3000: + mapannounce "job3_rang02","Test Supervisor, Freeze : Well, then let's start the 3rd practical test! Are you ready?",bc_map; + end; + +OnTimer6000: + mapannounce "job3_rang02","Test Supervisor, Freeze : From now on, every 3 seconds an 'Egg Bomb' will appear! Look at it carefully, and have your wolf attack the egg bomb to dismantle it!",bc_map; + end; + +OnTimer9000: + mapannounce "job3_rang02","Test Supervisor, Freeze : You can control the wolf by pressing the alt key and left click the surface, the wolf then moves to that point! Then you target the bomb and click on more time, it will then attack it!",bc_map; + end; + +OnTimer12000: + mapannounce "job3_rang02","Test Supervisor, Freeze : The 'Egg Bombs' will spawn 20 times! Each time you successfully dismantle one, you get 1 point! If you get 10 ore more points, you pass the preactical test, so go for it! Then I'll start!!!!!",bc_map; + end; + +OnTimer15000: + set .@rand,rand(1,3); + if (.@rand == 1) + { + donpcevent "Egg Bomb#job_ranger14::OnEnable"; + }else if (.@rand == 2) + { + donpcevent "Egg Bomb#job_ranger15::OnEnable"; + }else + { + donpcevent "Egg Bomb#job_ranger16::OnEnable"; + } + end; + +OnTimer20000: + set .@rand,rand(1,3); + if (.@rand == 1) + { + donpcevent "Egg Bomb#job_ranger17::OnEnable"; + }else if (.@rand == 2) + { + donpcevent "Egg Bomb#job_ranger18::OnEnable"; + }else + { + donpcevent "Egg Bomb#job_ranger19::OnEnable"; + } + end; + +OnTimer25000: + set .@rand,rand(1,3); + if (.@rand == 1) + { + donpcevent "Egg Bomb#job_ranger20::OnEnable"; + }else if (.@rand == 2) + { + donpcevent "Egg Bomb#job_ranger21::OnEnable"; + }else + { + donpcevent "Egg Bomb#job_ranger22::OnEnable"; + } + end; + +OnTimer30000: + set .@rand,rand(1,3); + if (.@rand == 1) + { + donpcevent "Egg Bomb#job_ranger23::OnEnable"; + }else if (.@rand == 2) + { + donpcevent "Egg Bomb#job_ranger24::OnEnable"; + }else + { + donpcevent "Egg Bomb#job_ranger25::OnEnable"; + } + end; + +OnTimer35000: + set .@rand,rand(1,3); + if (.@rand == 1) + { + donpcevent "Egg Bomb#job_ranger26::OnEnable"; + }else if (.@rand == 2) + { + donpcevent "Egg Bomb#job_ranger27::OnEnable"; + }else + { + donpcevent "Egg Bomb#job_ranger28::OnEnable"; + } + end; + +OnTimer40000: + set .@rand,rand(1,3); + if (.@rand == 1) + { + donpcevent "Egg Bomb#job_ranger14::OnEnable"; + }else if (.@rand == 2) + { + donpcevent "Egg Bomb#job_ranger15::OnEnable"; + }else + { + donpcevent "Egg Bomb#job_ranger16::OnEnable"; + } + end; + +OnTimer45000: + set .@rand,rand(1,3); + if (.@rand == 1) + { + donpcevent "Egg Bomb#job_ranger17::OnEnable"; + }else if (.@rand == 2) + { + donpcevent "Egg Bomb#job_ranger18::OnEnable"; + }else + { + donpcevent "Egg Bomb#job_ranger19::OnEnable"; + } + end; + +OnTimer50000: + set .@rand,rand(1,3); + if (.@rand == 1) + { + donpcevent "Egg Bomb#job_ranger20::OnEnable"; + }else if (.@rand == 2) + { + donpcevent "Egg Bomb#job_ranger21::OnEnable"; + }else + { + donpcevent "Egg Bomb#job_ranger22::OnEnable"; + } + end; + +OnTimer55000: + set .@rand,rand(1,3); + if (.@rand == 1) + { + donpcevent "Egg Bomb#job_ranger23::OnEnable"; + }else if (.@rand == 2) + { + donpcevent "Egg Bomb#job_ranger24::OnEnable"; + }else + { + donpcevent "Egg Bomb#job_ranger25::OnEnable"; + } + end; + +OnTimer60000: + set .@rand,rand(1,3); + if (.@rand == 1) + { + donpcevent "Egg Bomb#job_ranger26::OnEnable"; + }else if (.@rand == 2) + { + donpcevent "Egg Bomb#job_ranger27::OnEnable"; + }else + { + donpcevent "Egg Bomb#job_ranger28::OnEnable"; + } + end; + +OnTimer65000: + set .@rand,rand(1,3); + if (.@rand == 1) + { + donpcevent "Egg Bomb#job_ranger14::OnEnable"; + }else if (.@rand == 2) + { + donpcevent "Egg Bomb#job_ranger15::OnEnable"; + }else + { + donpcevent "Egg Bomb#job_ranger16::OnEnable"; + } + end; + +OnTimer70000: + set .@rand,rand(1,3); + if (.@rand == 1) + { + donpcevent "Egg Bomb#job_ranger17::OnEnable"; + }else if (.@rand == 2) + { + donpcevent "Egg Bomb#job_ranger18::OnEnable"; + }else + { + donpcevent "Egg Bomb#job_ranger19::OnEnable"; + } + end; + +OnTimer75000: + set .@rand,rand(1,3); + if (.@rand == 1) + { + donpcevent "Egg Bomb#job_ranger20::OnEnable"; + }else if (.@rand == 2) + { + donpcevent "Egg Bomb#job_ranger21::OnEnable"; + }else + { + donpcevent "Egg Bomb#job_ranger22::OnEnable"; + } + end; + +OnTimer80000: + set .@rand,rand(1,3); + if (.@rand == 1) + { + donpcevent "Egg Bomb#job_ranger23::OnEnable"; + }else if (.@rand == 2) + { + donpcevent "Egg Bomb#job_ranger24::OnEnable"; + }else + { + donpcevent "Egg Bomb#job_ranger25::OnEnable"; + } + end; + +OnTimer85000: + set .@rand,rand(1,3); + if (.@rand == 1) + { + donpcevent "Egg Bomb#job_ranger26::OnEnable"; + }else if (.@rand == 2) + { + donpcevent "Egg Bomb#job_ranger27::OnEnable"; + }else + { + donpcevent "Egg Bomb#job_ranger28::OnEnable"; + } + end; + +OnTimer90000: + set .@rand,rand(1,3); + if (.@rand == 1) + { + donpcevent "Egg Bomb#job_ranger14::OnEnable"; + }else if (.@rand == 2) + { + donpcevent "Egg Bomb#job_ranger15::OnEnable"; + }else + { + donpcevent "Egg Bomb#job_ranger16::OnEnable"; + } + end; + +OnTimer95000: + set .@rand,rand(1,3); + if (.@rand == 1) + { + donpcevent "Egg Bomb#job_ranger17::OnEnable"; + }else if (.@rand == 2) + { + donpcevent "Egg Bomb#job_ranger18::OnEnable"; + }else + { + donpcevent "Egg Bomb#job_ranger19::OnEnable"; + } + end; + +OnTimer100000: + set .@rand,rand(1,3); + if (.@rand == 1) + { + donpcevent "Egg Bomb#job_ranger20::OnEnable"; + }else if (.@rand == 2) + { + donpcevent "Egg Bomb#job_ranger21::OnEnable"; + }else + { + donpcevent "Egg Bomb#job_ranger22::OnEnable"; + } + end; + +OnTimer105000: + set .@rand,rand(1,3); + if (.@rand == 1) + { + donpcevent "Egg Bomb#job_ranger23::OnEnable"; + }else if (.@rand == 2) + { + donpcevent "Egg Bomb#job_ranger24::OnEnable"; + }else + { + donpcevent "Egg Bomb#job_ranger25::OnEnable"; + } + end; + +OnTimer110000: + set .@rand,rand(1,3); + if (.@rand == 1) + { + donpcevent "Egg Bomb#job_ranger26::OnEnable"; + }else if (.@rand == 2) + { + donpcevent "Egg Bomb#job_ranger27::OnEnable"; + }else + { + donpcevent "Egg Bomb#job_ranger28::OnEnable"; + } + end; + +OnTimer113000: + mapannounce "job3_rang02","Test Supervisor, Freeze : The test is ooooooooooooooveeeeerrr!!!!!!!!!!!!!!!!!!!!!!!!!!",bc_map; + donpcevent "Egg Bomb#job_ranger14::OnDisable"; + donpcevent "Egg Bomb#job_ranger15::OnDisable"; + donpcevent "Egg Bomb#job_ranger16::OnDisable"; + donpcevent "Egg Bomb#job_ranger17::OnDisable"; + donpcevent "Egg Bomb#job_ranger18::OnDisable"; + donpcevent "Egg Bomb#job_ranger19::OnDisable"; + donpcevent "Egg Bomb#job_ranger20::OnDisable"; + donpcevent "Egg Bomb#job_ranger21::OnDisable"; + donpcevent "Egg Bomb#job_ranger22::OnDisable"; + donpcevent "Egg Bomb#job_ranger23::OnDisable"; + donpcevent "Egg Bomb#job_ranger24::OnDisable"; + donpcevent "Egg Bomb#job_ranger25::OnDisable"; + donpcevent "Egg Bomb#job_ranger26::OnDisable"; + donpcevent "Egg Bomb#job_ranger27::OnDisable"; + donpcevent "Egg Bomb#job_ranger28::OnDisable"; + end; + +OnTimer116000: + mapannounce "job3_rang02","Test Supervisor, Freeze : Well let's see the result?!",bc_map; + end; + +OnTimer119000: + set .point_result01,$@job_rang_point03; + mapannounce "job3_rang02","Test Supervisor, Freeze : Your score is ..."+.point_result01+" out of 20!",bc_map; + end; + +OnTimer121000: + if (.point_result01 > 9) + { + mapannounce "job3_rang02","Test Supervisor, Freeze : You have been successful so far! You've passed all practical tests! Let's move to the waitingroom!!!!!",bc_map; + mapwarp "job3_rang02","job3_rang01",89,38; + }else + { + mapannounce "job3_rang02","Test Supervisor, Freeze : It's too bad but you couldn't pass the 10 points, so you failed!!!!",bc_map; + } + end; + +OnTimer124000: + mapannounce "job3_rang02","Test Supervisor, Freeze : It's too bad, but you'll need to retake the test from the beginning! Please go back!",bc_map; + mapwarp "job3_rang02","tur_dun01",93,165; + end; + +OnTimer127000: + mapannounce "job3_rang02","Test Supervisor, Freeze : It's too bad, but you'll need to retake the test from the beginning! Please go back!",bc_map; + set $@job_rang_point03,0; + mapwarp "job3_rang02","tur_dun01",93,165; + donpcevent "Test Supervisor#jr_13::OnDisable"; + end; + +OnTimer130000: + set $@job_rang_point03,0; + donpcevent "Practical Test::OnEnable"; + donpcevent "Third Test Timer#jr_12::OnDisable"; + stopnpctimer; + end; + +OnInit: + set $@job_rang_point03,0; + disablenpc "Third Test Timer#jr_12"; + end; + +OnEnable: + enablenpc "Third Test Timer#jr_12"; + initnpctimer; + end; + +OnDisable: + set $@job_rang_point03,0; + stopnpctimer; + disablenpc "Third Test Timer#jr_12"; + end; +} + +job3_rang02,251,49,3 script Test Supervisor#jr_13 732,{ + + if (job_ranger01 == 6) + { + if (checkquest(8261) == -1) + { + mes "[Test Supervisor, Freeze]"; + mes "Congrats for passing the 2nd practical test! I am the 3rd practical test supervisor Freeze!"; + next; + mes "[Test Supervisor, Freeze]"; + mes "For the 3rd test, I'll test how much you could use a wolf effectively. When you become a Ranger in the future, you'll learn an wolf!"; + next; + mes "[Test Supervisor, Freeze]"; + mes "^0000ffThe tester is provided with a disposable Wolf summoning Flute! When you remove egg bombs coming out from here and there by controlling the summoned wolf, you get points!^000000"; + next; + mes "[Test Supervisor, Freeze]"; + mes "Tester cannot move during the test, and the test completes when all bombs are removed quickly and accurately within the given time only by using a wolf!"; + next; + mes "[Test Supervisor, Freeze]"; + mes "^0000ffThe way to control an wolf is to press the alt key and left-click the surface, then the wolf moves to the point where you've clicked on!^000000"; + mes "^0000ffWhen you target the bomb and press one more, it starts to attack!^000000"; + next; + mes "[Test Supervisor, Freeze]"; + mes "The 3rd test time limit is about 3 minutes, when you get 10 over 20 points, you can pass the practical test!"; + next; + mes "[Test Supervisor, Freeze]"; + mes "Well, then first get this Wolf' flutes and after summoning the wolf, talk to me!"; + getitem 12380,1; + setquest 8261; + close; + } + else if (checkquest(8261) == 1) + { + if (getmercinfo(1) == 2034) + { + erasequest 8261; + mes "[Test Supervisor, Freeze]"; + mes "Good! Then I'll start the test right now!"; + next; + mes "[Test Supervisor, Freeze]"; + mes "Keep in mind! You need to remove the egg bomb before it gets exploded by only using a wolf!"; + next; + mes "[Test Supervisor, Freeze]"; + mes "Then, Good luck!"; +// sc_start SC_STONE,120000,10; // Commented until the Mercenary M_DESERT_WOLF_B is working correctly. + close2; + donpcevent "Test Supervisor#jr_13::OnDisable"; + donpcevent "Third Test Timer#jr_12::OnEnable"; + end; + }else if (countitem(12380) < 1) + { + mes "[Test Supervisor, Freeze]"; + mes "Huh?! There's no wolf, no Test Flute, where did you get rid of them?!"; + next; + mes "[Test Supervisor, Freeze]"; + mes "I'll give you one more time specially, so hold yourself together!"; + next; + mes "[Test Supervisor, Freeze]"; + mes "Summon the wolf quickly, and talk to me again!"; + getitem 12380,1; + close; + } + mes "[Test Supervisor, Freeze]"; + mes "Ha? What are you doing?"; + next; + mes "[Test Supervisor, Freeze]"; + mes "Play the Test Flute quickly to summon the wolf and talk to me!"; + close; + } + } + mes "[Test Supervisor, Freeze]"; + mes "Who are you?"; + next; + mes "[Test Supervisor, Freeze]"; + mes "This area is for the Ranger Job Change test!"; + mes "And not for Outsiders such as you, so get out!"; + close; + +OnTimer3000: + mapannounce "job3_rang02","Test Supervisor, Freeze : Welcome to the 3rd practical test field! I am the 3rd pratcical Test Supervisor Freeze!",bc_map; + end; + +OnTimer6000: + mapannounce "job3_rang02","Test Supervisor, Freeze : For the smooth testing progress for the other testers, if you don't talk to me again in 2 minutes to start the 3rd test, the test will end!",bc_map; + end; + +OnTimer9000: + mapannounce "job3_rang02","Test Supervisor, Freeze : Don't hesitate and let's begin!",bc_map; + end; + +OnTimer60000: + mapannounce "job3_rang02","Test Supervisor, Freeze : For the smooth testing progress for the other testers, if you don't talk to me again in 1 minute to start the 3rd test, the test will end!",bc_map; + end; + +OnTimer63000: + mapannounce "job3_rang02","Test Supervisor, Freeze : Don't hesitate and let's begin!",bc_map; + end; + +OnTimer120000: + mapannounce "job3_rang02","Test Supervisor, Freeze : Why aren't you starting the test?",bc_map; + end; + +OnTimer123000: + mapannounce "job3_rang02","Test Supervisor, Freeze : You weren't on time for the test, so I am ending the 3rd practical test!",bc_map; + end; + +OnTimer127000: + set $@job_rang_point03,0; + mapannounce "job3_rang02","Test Supervisor, Freeze : It's too bad, but try again!",bc_map; + mapwarp "job3_rang02","tur_dun01",93,165; + end; + +OnTimer130000: + mapannounce "job3_rang02","Test Supervisor, Freeze : It's too bad, but try again!",bc_map; + mapwarp "job3_rang02","tur_dun01",93,165; + end; + +OnTimer133000: + donpcevent "Third Test Timer#jr_12::OnDisable"; + donpcevent "Practical Test::OnEnable"; + donpcevent "Test Supervisor#jr_13::OnDisable"; + stopnpctimer; + end; + +OnInit: + disablenpc "Test Supervisor#jr_13"; + end; + +OnEnable: + enablenpc "Test Supervisor#jr_13"; + initnpctimer; + donpcevent "Second Test Timer#jr_08::OnDisable"; + donpcevent "Staff Rust#job_ranger09::OnDisable"; + donpcevent "Plant Summon#jr_10::OnDisable"; + donpcevent "Test Supervisor#jr_11::OnDisable"; + end; + +OnDisable: + stopnpctimer; + disablenpc "Test Supervisor#jr_13"; + end; +} + +job3_rang02,246,42,0 script Egg Bomb#job_ranger14 139,{ + +OnInit: + disablenpc "Egg Bomb#job_ranger14"; + end; + +OnEnable: + enablenpc "Egg Bomb#job_ranger14"; + initnpctimer; + monster "job3_rang02",246,42,"Egg Bomb",1047,1,"Egg Bomb#job_ranger14::OnMyMobDead"; + mapannounce "job3_rang02","Egg Bomb 'I am almost done now... Don't stop me.'",bc_map; + end; + +OnDisable: + killmonster "job3_rang02","Egg Bomb#job_ranger14::OnMyMobDead"; + stopnpctimer; + disablenpc "Egg Bomb#job_ranger14"; + end; + +OnMyMobDead: + set $@job_rang_point03,$@job_rang_point03+1; + mapannounce "job3_rang02","Egg Bomb : Alas, it was only a dream for a short time...",bc_map; + donpcevent "Egg Bomb#job_ranger14::OnDisable"; + end; + +OnTimer10000: + mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; + donpcevent "Egg Bomb#job_ranger14::OnDisable"; + end; +} + +job3_rang02,249,46,0 script Egg Bomb#job_ranger15 139,{ + +OnInit: + disablenpc "Egg Bomb#job_ranger15"; + end; + +OnEnable: + enablenpc "Egg Bomb#job_ranger15"; + initnpctimer; + monster "job3_rang02",249,46,"Egg Bomb",1047,1,"Egg Bomb#job_ranger15::OnMyMobDead"; + mapannounce "job3_rang02","Egg Bomb : Hey, I am going to explode. What are you going to do?",bc_map; + end; + +OnDisable: + killmonster "job3_rang02","Egg Bomb#job_ranger15::OnMyMobDead"; + stopnpctimer; + disablenpc "Egg Bomb#job_ranger15"; + end; + +OnMyMobDead: + set $@job_rang_point03,$@job_rang_point03+1; + mapannounce "job3_rang02","Egg Bomb : The world is meaningless and my dream is so far away...",bc_map; + donpcevent "Egg Bomb#job_ranger15::OnDisable"; + end; + +OnTimer10000: + mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; + donpcevent "Egg Bomb#job_ranger15::OnDisable"; + end; +} + +job3_rang02,256,43,0 script Egg Bomb#job_ranger16 139,{ + +OnInit: + disablenpc "Egg Bomb#job_ranger16"; + end; + +OnEnable: + enablenpc "Egg Bomb#job_ranger16"; + initnpctimer; + monster "job3_rang02",256,43,"Egg Bomb",1047,1,"Egg Bomb#job_ranger16::OnMyMobDead"; + mapannounce "job3_rang02","Egg Bomb : I... no, I can't standy anymore!!",bc_map; + end; + +OnDisable: + killmonster "job3_rang02","Egg Bomb#job_ranger16::OnMyMobDead"; + stopnpctimer; + disablenpc "Egg Bomb#job_ranger16"; + end; + +OnMyMobDead: + set $@job_rang_point03,$@job_rang_point03+1; + mapannounce "job3_rang02","Egg Bomb : Don't be relieved. Misery always comes from carelesness.",bc_map; + donpcevent "Egg Bomb#job_ranger16::OnDisable"; + end; + +OnTimer10000: + mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; + donpcevent "Egg Bomb#job_ranger16::OnDisable"; + end; +} + +job3_rang02,243,54,0 script Egg Bomb#job_ranger17 139,{ + +OnInit: + disablenpc "Egg Bomb#job_ranger17"; + end; + +OnEnable: + enablenpc "Egg Bomb#job_ranger17"; + initnpctimer; + monster "job3_rang02",243,54,"Egg Bomb",1047,1,"Egg Bomb#job_ranger17::OnMyMobDead"; + mapannounce "job3_rang02","Egg Bomb 'I am almost done now... Don't stop me.'",bc_map; + end; + +OnDisable: + killmonster "job3_rang02","Egg Bomb#job_ranger17::OnMyMobDead"; + stopnpctimer; + disablenpc "Egg Bomb#job_ranger17"; + end; + +OnMyMobDead: + set $@job_rang_point03,$@job_rang_point03+1; + mapannounce "job3_rang02","Egg Bomb : Alas, it was only a dream for a short time...",bc_map; + donpcevent "Egg Bomb#job_ranger17::OnDisable"; + end; + +OnTimer10000: + mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; + donpcevent "Egg Bomb#job_ranger17::OnDisable"; + end; +} + +job3_rang02,246,58,0 script Egg Bomb#job_ranger18 139,{ + +OnInit: + disablenpc "Egg Bomb#job_ranger18"; + end; + +OnEnable: + enablenpc "Egg Bomb#job_ranger18"; + initnpctimer; + monster "job3_rang02",246,58,"Egg Bomb",1047,1,"Egg Bomb#job_ranger18::OnMyMobDead"; + mapannounce "job3_rang02","Egg Bomb : Hey, I am going to explode. What are you going to do?",bc_map; + end; + +OnDisable: + killmonster "job3_rang02","Egg Bomb#job_ranger18::OnMyMobDead"; + stopnpctimer; + disablenpc "Egg Bomb#job_ranger18"; + end; + +OnMyMobDead: + set $@job_rang_point03,$@job_rang_point03+1; + mapannounce "job3_rang02","Egg Bomb : The world is meaningless and my dream is so far away...",bc_map; + donpcevent "Egg Bomb#job_ranger18::OnDisable"; + end; + +OnTimer10000: + mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; + donpcevent "Egg Bomb#job_ranger18::OnDisable"; + end; +} + +job3_rang02,255,56,0 script Egg Bomb#job_ranger19 139,{ + +OnInit: + disablenpc "Egg Bomb#job_ranger19"; + end; + +OnEnable: + enablenpc "Egg Bomb#job_ranger19"; + initnpctimer; + monster "job3_rang02",255,56,"Egg Bomb",1047,1,"Egg Bomb#job_ranger19::OnMyMobDead"; + mapannounce "job3_rang02","Egg Bomb : I... no, I can't stand anymore!!",bc_map; + end; + +OnDisable: + killmonster "job3_rang02","Egg Bomb#job_ranger19::OnMyMobDead"; + stopnpctimer; + disablenpc "Egg Bomb#job_ranger19"; + end; + +OnMyMobDead: + set $@job_rang_point03,$@job_rang_point03+1; + mapannounce "job3_rang02","Egg Bomb : Don't be relieved. Misery always comes from carelesness.",bc_map; + donpcevent "Egg Bomb#job_ranger19::OnDisable"; + end; + +OnTimer10000: + mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; + donpcevent "Egg Bomb#job_ranger19::OnDisable"; + end; +} + +job3_rang02,260,48,0 script Egg Bomb#job_ranger20 139,{ + +OnInit: + disablenpc "Egg Bomb#job_ranger20"; + end; + +OnEnable: + enablenpc "Egg Bomb#job_ranger20"; + initnpctimer; + monster "job3_rang02",260,48,"Egg Bomb",1047,1,"Egg Bomb#job_ranger20::OnMyMobDead"; + mapannounce "job3_rang02","Egg Bomb 'I am almost done now... Don't stop me.'",bc_map; + end; + +OnDisable: + killmonster "job3_rang02","Egg Bomb#job_ranger20::OnMyMobDead"; + stopnpctimer; + disablenpc "Egg Bomb#job_ranger20"; + end; + +OnMyMobDead: + set $@job_rang_point03,$@job_rang_point03+1; + mapannounce "job3_rang02","Egg Bomb : Alas, it was only a dream for a short time...",bc_map; + donpcevent "Egg Bomb#job_ranger20::OnDisable"; + end; + +OnTimer10000: + mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; + donpcevent "Egg Bomb#job_ranger20::OnDisable"; + end; +} + +job3_rang02,244,53,0 script Egg Bomb#job_ranger21 139,{ + +OnInit: + disablenpc "Egg Bomb#job_ranger21"; + end; + +OnEnable: + enablenpc "Egg Bomb#job_ranger21"; + initnpctimer; + monster "job3_rang02",244,53,"Egg Bomb",1047,1,"Egg Bomb#job_ranger21::OnMyMobDead"; + mapannounce "job3_rang02","Egg Bomb : Hey, I am going to explode. What are you going to do?",bc_map; + end; + +OnDisable: + killmonster "job3_rang02","Egg Bomb#job_ranger21::OnMyMobDead"; + stopnpctimer; + disablenpc "Egg Bomb#job_ranger21"; + end; + +OnMyMobDead: + set $@job_rang_point03,$@job_rang_point03+1; + mapannounce "job3_rang02","Egg Bomb : The world is meaningless and my dream is so far away...",bc_map; + donpcevent "Egg Bomb#job_ranger21::OnDisable"; + end; + +OnTimer10000: + mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; + donpcevent "Egg Bomb#job_ranger21::OnDisable"; + end; +} + +job3_rang02,254,50,0 script Egg Bomb#job_ranger22 139,{ + +OnInit: + disablenpc "Egg Bomb#job_ranger22"; + end; + +OnEnable: + enablenpc "Egg Bomb#job_ranger22"; + initnpctimer; + monster "job3_rang02",254,50,"Egg Bomb",1047,1,"Egg Bomb#job_ranger22::OnMyMobDead"; + mapannounce "job3_rang02","Egg Bomb : I... no, I can't stand anymore!!",bc_map; + end; + +OnDisable: + killmonster "job3_rang02","Egg Bomb#job_ranger22::OnMyMobDead"; + stopnpctimer; + disablenpc "Egg Bomb#job_ranger22"; + end; + +OnMyMobDead: + set $@job_rang_point03,$@job_rang_point03+1; + mapannounce "job3_rang02","Egg Bomb : Don't be relieved. Misery always comes from carelesness.",bc_map; + donpcevent "Egg Bomb#job_ranger22::OnDisable"; + end; + +OnTimer10000: + mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; + donpcevent "Egg Bomb#job_ranger22::OnDisable"; + end; +} + +job3_rang02,241,41,0 script Egg Bomb#job_ranger23 139,{ + +OnInit: + disablenpc "Egg Bomb#job_ranger23"; + end; + +OnEnable: + enablenpc "Egg Bomb#job_ranger23"; + initnpctimer; + monster "job3_rang02",241,41,"Egg Bomb",1047,1,"Egg Bomb#job_ranger23::OnMyMobDead"; + mapannounce "job3_rang02","Egg Bomb 'I am almost done now... Don't stop me.'",bc_map; + end; + +OnDisable: + killmonster "job3_rang02","Egg Bomb#job_ranger23::OnMyMobDead"; + stopnpctimer; + disablenpc "Egg Bomb#job_ranger23"; + end; + +OnMyMobDead: + set $@job_rang_point03,$@job_rang_point03+1; + mapannounce "job3_rang02","Egg Bomb : Alas, it was only a dream for a short time...",bc_map; + donpcevent "Egg Bomb#job_ranger23::OnDisable"; + end; + +OnTimer10000: + mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; + donpcevent "Egg Bomb#job_ranger23::OnDisable"; + end; +} + +job3_rang02,259,41,0 script Egg Bomb#job_ranger24 139,{ + +OnInit: + disablenpc "Egg Bomb#job_ranger24"; + end; + +OnEnable: + enablenpc "Egg Bomb#job_ranger24"; + initnpctimer; + monster "job3_rang02",259,41,"Egg Bomb",1047,1,"Egg Bomb#job_ranger24::OnMyMobDead"; + mapannounce "job3_rang02","Egg Bomb : Hey, I am going to explode. What are you going to do?",bc_map; + end; + +OnDisable: + killmonster "job3_rang02","Egg Bomb#job_ranger24::OnMyMobDead"; + stopnpctimer; + disablenpc "Egg Bomb#job_ranger24"; + end; + +OnMyMobDead: + set $@job_rang_point03,$@job_rang_point03+1; + mapannounce "job3_rang02","Egg Bomb : The world is meaningless and my dream is so far away...",bc_map; + donpcevent "Egg Bomb#job_ranger24::OnDisable"; + end; + +OnTimer10000: + mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; + donpcevent "Egg Bomb#job_ranger24::OnDisable"; + end; +} + +job3_rang02,256,52,0 script Egg Bomb#job_ranger25 139,{ + +OnInit: + disablenpc "Egg Bomb#job_ranger25"; + end; + +OnEnable: + enablenpc "Egg Bomb#job_ranger25"; + initnpctimer; + monster "job3_rang02",256,52,"Egg Bomb",1047,1,"Egg Bomb#job_ranger25::OnMyMobDead"; + mapannounce "job3_rang02","Egg Bomb : I... no, I can't standy anymore!!",bc_map; + end; + +OnDisable: + killmonster "job3_rang02","Egg Bomb#job_ranger25::OnMyMobDead"; + stopnpctimer; + disablenpc "Egg Bomb#job_ranger25"; + end; + +OnMyMobDead: + set $@job_rang_point03,$@job_rang_point03+1; + mapannounce "job3_rang02","Egg Bomb : Don't be relieved. Misery always comes from carelesness.",bc_map; + donpcevent "Egg Bomb#job_ranger25::OnDisable"; + end; + +OnTimer10000: + mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; + donpcevent "Egg Bomb#job_ranger25::OnDisable"; + end; +} + +job3_rang02,259,58,0 script Egg Bomb#job_ranger26 139,{ + +OnInit: + disablenpc "Egg Bomb#job_ranger26"; + end; + +OnEnable: + enablenpc "Egg Bomb#job_ranger26"; + initnpctimer; + monster "job3_rang02",259,58,"Egg Bomb",1047,1,"Egg Bomb#job_ranger26::OnMyMobDead"; + mapannounce "job3_rang02","Egg Bomb 'I am almost done now... Don't stop me.'",bc_map; + end; + +OnDisable: + killmonster "job3_rang02","Egg Bomb#job_ranger26::OnMyMobDead"; + stopnpctimer; + disablenpc "Egg Bomb#job_ranger26"; + end; + +OnMyMobDead: + set $@job_rang_point03,$@job_rang_point03+1; + mapannounce "job3_rang02","Egg Bomb : Alas, it was only a dream for a short time...",bc_map; + donpcevent "Egg Bomb#job_ranger26::OnDisable"; + end; + +OnTimer10000: + mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; + donpcevent "Egg Bomb#job_ranger26::OnDisable"; + end; +} + +job3_rang02,254,52,0 script Egg Bomb#job_ranger27 139,{ + +OnInit: + disablenpc "Egg Bomb#job_ranger27"; + end; + +OnEnable: + enablenpc "Egg Bomb#job_ranger27"; + initnpctimer; + monster "job3_rang02",254,52,"Egg Bomb",1047,1,"Egg Bomb#job_ranger27::OnMyMobDead"; + mapannounce "job3_rang02","Egg Bomb : Hey, I am going to explode. What are you going to do?",bc_map; + end; + +OnDisable: + killmonster "job3_rang02","Egg Bomb#job_ranger27::OnMyMobDead"; + stopnpctimer; + disablenpc "Egg Bomb#job_ranger27"; + end; + +OnMyMobDead: + set $@job_rang_point03,$@job_rang_point03+1; + mapannounce "job3_rang02","Egg Bomb : The world is meaningless and my dream is so far away...",bc_map; + donpcevent "Egg Bomb#job_ranger27::OnDisable"; + end; + +OnTimer10000: + mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; + donpcevent "Egg Bomb#job_ranger27::OnDisable"; + end; +} + +job3_rang02,247,42,0 script Egg Bomb#job_ranger28 139,{ + +OnInit: + disablenpc "Egg Bomb#job_ranger28"; + end; + +OnEnable: + enablenpc "Egg Bomb#job_ranger28"; + initnpctimer; + monster "job3_rang02",247,42,"Egg Bomb",1047,1,"Egg Bomb#job_ranger28::OnMyMobDead"; + mapannounce "job3_rang02","Egg Bomb : I... no, I can't standy anymore!!",bc_map; + end; + +OnDisable: + killmonster "job3_rang02","Egg Bomb#job_ranger28::OnMyMobDead"; + stopnpctimer; + disablenpc "Egg Bomb#job_ranger28"; + end; + +OnMyMobDead: + set $@job_rang_point03,$@job_rang_point03+1; + mapannounce "job3_rang02","Egg Bomb : Don't be relieved. Misery always comes from carelesness.",bc_map; + donpcevent "Egg Bomb#job_ranger28::OnDisable"; + end; + +OnTimer10000: + mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map; + donpcevent "Egg Bomb#job_ranger28::OnDisable"; + end; +} + +job3_rang01,90,43,3 script Ranger Master#jr_29 832,{ + + if (job_ranger01 < 6) + { + mes "[Ranger Master, Neveragain]"; + mes "... ...Huh?"; + mes "Strange... ...how did you get here?"; + next; + mes "[Ranger Master, Neveragain]"; + mes "You don't seem to belong here..."; + next; + mes "[Ranger Master, Neveragain]"; + mes "Leave this place,"; + mes "You shouldn't have come here."; + close2; + warp "alberta",117,57; + end; + }else if (job_ranger01 == 6) + { + if (BaseLevel < 99 || JobLevel < 50) + { + mes "[Ranger Master, Neveragain]"; + mes "No."; + mes "I can tell just by looking at you that you seem to be to unexperienced."; + next; + mes "[Ranger Master, Neveragain]"; + mes "Have more pride in your job and get more experience, and then when you grow as a Hunter or a Sniper you can make an aura by yourself, please come back again."; + close2; + warp "alberta",117,57; + end; + } + changequest 8259,8262; + mes "[Ranger Master, Neveragain]"; + mes "Congratulations!"; + mes "You've completed all the rough practical tests!"; + next; + mes "[Ranger Master, Neveragain]"; + mes "Well, You've had enough experience so I won't need to drag on."; + next; + mes "[Ranger Master, Neveragain]"; + mes "Before you do a job change ^0000ffDismiss your Falcon^000000, and check if you've used all of your ^0000ffSkill Points^000000."; + next; + switch(select("Wait a minute:I am ready")) + { + case 1: + mes "[Ranger Master, Neveragain]"; + mes "I am not running away so take your time."; + close; + case 2: + if (checkfalcon() == 0) + { + if (SkillPoint > 0) + { + mes "[Ranger Master, Neveragain]"; + mes "It seems you haven't used all skill points."; + next; + mes "[Ranger Master, Neveragain]"; + mes "Please use your skill points, and come back to me."; + close; + } + mes "[Ranger Master, Neveragain]"; + mes "Good. No falcon and you've used up all your skill points."; + break; + }else + { + mes "[Ranger Master, Neveragain]"; + mes "Didn't you dismiss your falcon??"; + next; + mes "[Ranger Master, Neveragain]"; + mes "Please dismiss your falcon, and come back to me."; + close; + } + } + mes "[Ranger Master, Neveragain]"; + mes "Okay, before you really change the job into a ranger, I'll ask you on more time."; + mes "Do you really want to become a ranger?"; + next; + switch(select("No:Yes!")) + { + case 1: + mes "[Ranger Master, Neveragain]"; + mes "Umm? That's not the answer that I was waiting for..."; + next; + mes "[Ranger Master, Neveragain]"; + mes "Even after passing through all the rough practical tests, you don't want to become a ranger... are you sure?"; + close; + case 2: + break; + } + if(Class == Job_Baby_Hunter){ + mes "[Ranger Master, Neveragain]"; + mes "Your firm answer seems very trustworthy!"; + next; + nude; + if (countitem(1703) > 0) + { + mes "[Ranger Master, Neveragain]"; + mes "From now on be active as a splendid Ranger!"; + mes "I wish you luck in your future!"; + delitem 1703,1; + set job_ranger01,7; + completequest 8262; + jobchange Job_Baby_Ranger; + getitem 5748,1; + getitem 2795,1; + getitem 6124,1; + close; + } + mes "[Ranger Master, Neveragain]"; + mes "...However,"; + mes "You have to return your test items."; + mes "What did you do with your testing Bow?"; + close; + } + else if (Class == Job_Hunter) + { + mes "[Ranger Master, Neveragain]"; + mes "Your firm answer seems very trustworthy!"; + next; + nude; + if (countitem(1703) > 0) + { + mes "[Ranger Master, Neveragain]"; + mes "From now on be active as a splendid Ranger!"; + mes "I wish you luck in your future!"; + delitem 1703,1; + set job_ranger01,7; + completequest 8262; + jobchange Job_Ranger; + getitem 5748,1; + getitem 2795,1; + getitem 6124,1; + close; + } + mes "[Ranger Master, Neveragain]"; + mes "...However,"; + mes "You have to return your test items."; + mes "What did you do with your testing Bow?"; + close; + }else if (Class == Job_Sniper) + { + mes "[Ranger Master, Neveragain]"; + mes "Your firm answer seems very trustworthy!"; + next; + nude; + if (countitem(1703) > 0) + { + mes "[Ranger Master, Neveragain]"; + mes "From now on be active as a splendid Ranger!"; + mes "I wish you luck in your future!"; + delitem 1703,1; + set job_ranger01,7; + completequest 8262; + jobchange Job_Ranger_T; + getitem 5748,1; + getitem 2795,1; + getitem 6124,1; + close; + } + mes "[Ranger Master, Neveragain]"; + mes "...However,"; + mes "You have to return your test items."; + mes "What did you do with your testing Bow?"; + close; + }else + { + mes "[Ranger Master, Neveragain]"; + mes "...Huh? Who are you?"; + mes "You are not a Hunter or a Sniper?!"; + next; + mes "[Ranger Master, Neveragain]"; + mes "What are you doing here?"; + mes "You shouldn't have come here. Get out!"; + set job_ranger01,0; + erasequest 8254; + erasequest 8255; + erasequest 8256; + erasequest 8257; + erasequest 8258; + erasequest 8259; + erasequest 8260; + erasequest 8261; + erasequest 8262; + close2; + warp "alberta",117,57; + end; + } + }else if (job_ranger01 > 6) + { + mes "[Ranger Master, Neveragain]"; + mes "Hey, you look great."; + mes "What are you doing here?"; + next; + switch(select("I just came by:Please let me be out")) + { + case 1: + mes "[Ranger Master, Neveragain]"; + mes "Well, there's nothing to see and you came."; + next; + mes "[Ranger Master, Neveragain]"; + mes "Take a rest as long as you want."; + mes "It's the place where you can have a tea easily."; + close; + case 2: + break; + } + mes "[Ranger Master, Neveragain]"; + mes "It was good to see you."; + mes "Don't lose the dignity as a Ranger wherever you go."; + close2; + warp "alberta",117,57; + end; + } + mes "[Ranger Master, Neveragain]"; + mes "Hey, you look great."; + mes "What are you doing here?"; + next; + switch(select("I just came by:Please let me be out")) + { + case 1: + mes "[Ranger Master, Neveragain]"; + mes "Well, there's nothing to see and you came."; + next; + mes "[Ranger Master, Neveragain]"; + mes "Take a rest as long as you want."; + mes "It's the place where you can have a tea easily."; + close; + case 2: + break; + } + mes "[Ranger Master, Neveragain]"; + mes "It was good to see you."; + mes "Don't lose the dignity as a Ranger wherever you go."; + close2; + warp "alberta",117,57; + end; +} + +job3_rang01,58,1,0 script Test#job_ranger 88,{ + + if(getgmlevel() > 98) + { + switch(select("Enable Waiting Room:Disable Waiting Room:Enable 1st Test:Disable 1st Test:Enable 2nd Test:Disable 2nd Test:Enable 3rd Test:Disable 3rd Test:Cancel")) + { + case 1: + mes "Enabled Waiting Room"; + donpcevent "Practical Test::OnEnable"; + close; + case 2: + mes "Disabled Waiting Room"; + donpcevent "Practical Test::OnDisable"; + close; + case 3: + mes "1st Test Enabled"; + donpcevent "Test Supervisor#jr_04::OnEnable"; + close; + case 4: + mes "1st Test Disabled"; + donpcevent "Test Supervisor#jr_04::OnDisable"; + donpcevent "First Test Timer#jr_05::OnDisable"; + donpcevent "Correct Monster Summon::OnReset"; + donpcevent "False Monster Summon::OnReset"; + close; + case 5: + mes "2nd Test Enabled"; + donpcevent "Second Test Timer#jr_08::OnEnable"; + close; + case 6: + mes "2nd Test Disabled"; + donpcevent "Second Test Time#job_ranger08::OnDisable"; + close; + case 7: + mes "3rd Test has been Enabled"; + donpcevent "3rd Test Timer#job_ranger12::OnEnable"; + close; + case 8: + mes "3rd Test has been Disabled"; + donpcevent "Third Test Timer#jr_12::OnDisable"; + donpcevent "Egg Bomb#job_ranger14::OnDisable"; + donpcevent "Egg Bomb#job_ranger15::OnDisable"; + donpcevent "Egg Bomb#job_ranger16::OnDisable"; + donpcevent "Egg Bomb#job_ranger17::OnDisable"; + donpcevent "Egg Bomb#job_ranger18::OnDisable"; + donpcevent "Egg Bomb#job_ranger19::OnDisable"; + donpcevent "Egg Bomb#job_ranger20::OnDisable"; + donpcevent "Egg Bomb#job_ranger21::OnDisable"; + donpcevent "Egg Bomb#job_ranger22::OnDisable"; + donpcevent "Egg Bomb#job_ranger23::OnDisable"; + donpcevent "Egg Bomb#job_ranger24::OnDisable"; + donpcevent "Egg Bomb#job_ranger25::OnDisable"; + donpcevent "Egg Bomb#job_ranger26::OnDisable"; + donpcevent "Egg Bomb#job_ranger27::OnDisable"; + donpcevent "Egg Bomb#job_ranger28::OnDisable"; + close; + case 9: + close; + } + } +}
\ No newline at end of file diff --git a/npc/pre-re/jobs/3-1/rune_knight.txt b/npc/pre-re/jobs/3-1/rune_knight.txt new file mode 100644 index 000000000..d8f05acb8 --- /dev/null +++ b/npc/pre-re/jobs/3-1/rune_knight.txt @@ -0,0 +1,3984 @@ +//===== rAthena Script ======================================= +//= Rune Knight Job Quest +//===== By: ================================================== +//= L0ne_W0lf +//= Credits: Gepard, Muad_Dib +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Job change Quest from Knight / Lord Knight -> Rune Knight. +//= Does not entirely support changing to Baby Third Class. +//===== Additional Comments: ================================= +//= 1.0 First version. +//= 1.1 Added forgoten Header. [Masao] +//============================================================ + +prt_in,162,24,3 script Splendid-Looking Knight 470,{ + + if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { + mes "[Rune Knight Manuel]"; + mes "Your are now a member of our select brethren. I can still remember when I first met you."; + next; + mes "[Rune Knight Manuel]"; + mes "Strive to live the way of the sword with honor..."; + next; + mes "[Rune Knight Manuel]"; + mes "Cheers to our new future..."; + close; + } + if (job_rune_edq == 0) { + mes "[Rune Knight Manuel]"; + mes "There are many paths one can take in the world. Most people can see their path but don't really follow it..."; + next; + mes "[Rune Knight Manuel]"; + mes "Anyway the drinks here are really good. Would you like to have one?"; + next; + switch (select("Sure, let's have a drink.:I refuse.")) { + case 1: + if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) { + mes "[Rune Knight Manuel]"; + mes "You walk the way of sword too don't you? Then we can understand each other. Drinks taste better when it's with a fellow Swordman."; + next; + mes "[Rune Knight Manuel]"; + mes "I'll buy this round."; + mes "A toast to friendship~"; + next; + if ((BaseLevel > 98) && (JobLevel > 49)) { + mes "[Rune Knight Manuel]"; + mes "In my opinion you seem to be ready to start a new way..."; + next; + mes "[Rune Knight Manuel]"; + mes "Walking the way of the sword is a perpetual battle. From now on you may have a rough journey ahead of you..."; + next; + mes "[Rune Knight Manuel]"; + mes "If you want to walk on your new way and surpass your current limits, I'm willing to help you."; + next; + mes "[Rune Knight Manuel]"; + mes "The true way of a Swordman who learned harmony to break the limit of a sword is a Rune Knight."; + next; + mes "[Rune Knight Manuel]"; + mes "Won't you join our brethren? You look like you're fully qualified to become one of us."; + next; + mes "[Rune Knight Manuel]"; + mes "If you are interested, I'll introduce you to the masters who will guide you to the way of the Rune Knight with my recommendation."; + next; + switch (select("I am not ready yet.:I'm ready to be a Rune Knight.")) { + case 1: + mes "[Rune Knight Manuel]"; + mes "Right. Every challenge always needs preparation. Okay, I'll wait for you."; + next; + mes "[Rune Knight Manuel]"; + mes "Of course, I would only accept you if you are one hundred percent sure of your conviction to become a Rune Knight."; + close; + case 2: + mes "[Rune Knight Manuel]"; + mes "You're sure now?"; + mes "Let me send a dispatch to my comrades that you are willing to join our ranks."; + next; + set job_rune_edq,1; + setquest 3200; + mes "[Rune Knight Manuel]"; + mes "You know the place called Glast Heim? There's a Rune Knight waiting for you there, he will guide you to the entrance of Glast Heim Tower."; + next; + mes "[Rune Knight Manuel]"; + mes "My name is Manuel. I am called the Rune Knight of Brilliance. When you tell him that you are a Rune Knight candidate with my recommendation, he will handle the rest."; + next; + mes "[Rune Knight Manuel]"; + mes "I will wait for the day that you become our comrade as a true Rune Knight."; + close; + } + } + mes "[Rune Knight Manuel]"; + mes "If you continually walk the way of the sword, you will eventually feel the limits of your powers. Like myself before..."; + next; + mes "[Rune Knight Manuel]"; + mes "When the time comes there will be a way to help you surpass that limit. Until the day that your strength has grown comes, we can at least still have a drink together."; + next; + mes "[Rune Knight Manuel]"; + mes "A toast to the day that your strength can withstand the powers of a Rune Knight!"; + close; + } + mes "[Rune Knight Manuel]"; + mes "I believe that the wind of change is not always a good one."; + next; + mes "[Rune Knight Manuel]"; + mes "Just like the taste of this drink. I wish the taste of this drink is kept here forever."; + close; + case 2: + mes "[Rune Knight Manuel]"; + mes "Are you sure? You don't know the true elegance of these drinks..."; + close; + } + } + if (job_rune_edq == 1) { + mes "[Rune Knight Manuel]"; + mes "The Rune Knight is waiting for you at Glast Heim. He will guide you to the entrance of Glast Heim Tower."; + next; + mes "[Rune Knight Manuel]"; + mes "Tell him that you are a candidate to be a Rune Knight and he will handle the rest."; + next; + mes "[Rune Knight Manuel]"; + mes "I will wait for the day you become our comrade as a true Rune Knight."; + close; + } + mes "[Rune Knight Manuel]"; + mes "Don't you have things to do right now?"; + next; + mes "[Rune Knight Manuel]"; + mes "No? Well then never mind."; + mes "Don't you love the smell of alcohol?"; + close; +} + +glast_01,44,363,3 script Guide, Jungberg 468,{ + + if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { + mes "[Guide, Jungberg]"; + mes "Oh you must be, "+strcharinfo(0)+"."; + mes "Welcome."; + next; + mes "[Guide, Jungberg]"; + mes "We are looking forward to you helping the Rune Knights spread honor throughout the world."; + next; + mes "[Guide, Jungberg]"; + mes "So, What can I help you with?"; + next; + switch (select("I want to go to the gathering place.:Nothing.")) { + case 1: + mes "[Guide, Jungberg]"; + mes "Right. I'll send you right now. I'll see you soon."; + close2; + warp "job3_rune01",80,65; + end; + case 2: + close; + } + } + if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) { + if (job_rune_edq == 0) { + mes "[Guide, Jungberg]"; + mes "Are you a cursed ghost of this place? Or are you an ignorant adventurer?"; + next; + mes "[Guide, Jungberg]"; + mes "If you are a breathing human, then listen to me carefullly. I wouldn't risk my life here by hesitating to talk to just anyone."; + next; + switch (select("Who are you?:What are you doing here?:Cancel.")) { + case 1: + if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) { + mes "[Guide, Jungberg]"; + mes "I am the only knight who's keeping the way of the Swordman in this cursed place Glast Heim."; + next; + mes "[Guide, Jungberg]"; + mes "If you also follow the way of the Swordman our paths will most certainly cross again when you have reached your full potential."; + close; + } + mes "[Guide, Jungberg]"; + mes "I am the only knight who's keeping the way of the Swordman in this cursed place Glast Heim."; + next; + mes "[Guide, Jungberg]"; + mes "Since you don't walk the way of the Sword, you wouldn't understand our spirit. I can manage by myself. Follow your own path."; + close; + case 2: + if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) { + mes "[Guide, Jungberg]"; + mes "I am a man walking the way of the Sword. But I'm not exactly the same as the likes of you, Rune-Midgart knight."; + next; + mes "[Guide, Jungberg]"; + mes "We are not like the other Knights who are absorbed with pomp and circumstance so you may not know of us yet."; + next; + mes "[Guide, Jungberg]"; + mes "We are the Rune Knights. A group that leads the true power as well as the physical strength to the righteous way of the Sword."; + next; + mes "[Guide, Jungberg]"; + mes "We have been living in secret here in the deep of Glast Heim for a half century but it's time to let the world know our purpose."; + next; + mes "[Guide, Jungberg]"; + mes "Now there are many instructors who are looking for talented Sword wielders in various places of Rune Midgard. They are looking for a people who will join the true way of the Sword."; + next; + mes "[Guide, Jungberg]"; + mes "If you wish to join the Rune Knights. Please get a recommendation from one of the guides and come to me again."; + close; + } + mes "[Guide, Jungberg]"; + mes "We are not like the other Knights who are absorbed with pomp and circumstance so you may not know of us yet."; + next; + mes "[Guide, Jungberg]"; + mes "We are the Rune Knights. A group that leads the true power as well as the physical strength to the righteous way of the Sword."; + next; + mes "[Guide, Jungberg]"; + mes "We have been living in secret here in the deep of Glast Heim for a half century but it's time to let the world know our purpose."; + next; + mes "[Guide, Jungberg]"; + mes "Now there are many instructors who are looking for talented Sword wielders in various places of Rune Midgard. They are looking for a people who will join the true way of the Sword."; + next; + mes "[Guide, Jungberg]"; + // custom translation + mes "Unfortunately, you are pursuing a different path than our people...I hope you can follow their path and convictions."; + close; + case 3: + close; + } + } + if (job_rune_edq == 1) { + mes "[Guide, Jungberg]"; + mes "Are you a cursed ghost of this place? Or are you an ignorant adventurer?"; + next; + mes "[Guide, Jungberg]"; + mes "If you are a breathing human, then listen to me carefullly. I wouldn't risk my life here by hesitating to talk to just anyone."; + next; + switch (select("I came to be a Rune Knight.:Cancel.")) { + case 1: + mes "[Guide, Jungberg]"; + mes "Um... Are you the Rune Knight candidate that Manuel talked about?"; + next; + mes "[Guide, Jungberg]"; + mes "Your name is "+strcharinfo(0)+", right? I can see clearly that you are qualified to become our comrade."; + next; + mes "[Guide, Jungberg]"; + mes "Good. I don't have to ask anymore about your qualification to join our brethren....1.S...Now I'll give you your first assignment."; + next; + mes "[Guide, Jungberg]"; + mes "Find our Rune Knight gathering place hidden inside of Glast Heim."; + next; + mes "[Guide, Jungberg]"; + mes "There's a place that leads to the Rune Knight's secret gathering room inside the Glast Heim Chivalry. Find that place by yourself."; + next; + mes "[Guide, Jungberg]"; + mes "If you can find it, there'll be a person waiting to greet you, so let's start."; + next; + mes "[Guide, Jungberg]"; + mes "Of course your life might be at risk by the ghosts of Glast Heim...but overcoming the risk shouldn't be hard for a Rune Knight candidate."; + set job_rune_edq,2; + changequest 3200,3201; + close; + case 2: + close; + } + } + if (job_rune_edq == 2) { + mes "[Guide, Jungberg]"; + mes "The 1st assignment is to find out our Rune Knight gathering place hidden inside of Glast Heim."; + next; + mes "[Guide, Jungberg]"; + mes "There's a place that leads to the Rune Knights' secret gathering place inside Glast Heim Chivalry. Find that place by yourself."; + next; + mes "[Guide, Jungberg]"; + mes "If you can find it, there'll be a person waiting to greet you, so let's start."; + next; + mes "[Guide, Jungberg]"; + mes "Of course your life might be at risk by the ghosts of Glast Heim...but overcoming the risk shouldn't be hard for a Rune Knight candidate."; + close; + } + mes "[Guide, Jungberg]"; + mes "It seems that you are still taking the test. Do your best and pass all the tests."; + next; + switch (select("I want to go to the gathering place.:Quit the conversation.")) { + case 1: + mes "[Guide, Jungberg]"; + mes "All right. I'll send you right away. I'll check you later."; + close2; + warp "job3_rune01",80,65; + end; + case 2: + close; + } + } + mes "[Guide, Jungberg]"; + mes "I am the only knight who's keeping the way of the Swordman in this cursed place Glast Heim."; + next; + mes "[Guide, Jungberg]"; + mes "Since you don't walk the way of the Sword, you wouldn't understand our spirit. I can manage by myself. Follow your own path."; + close; +} + +gl_knt02,150,55,3 script Rune Knight Staff 83,{ + + if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { + mes "[Rune Knight Staff]"; + mes "Welcome, " + strcharinfo(0) + ". Are you going to the gathering place?"; + next; + switch (select("Yes, take me there.:I'm on other business.:Cancel.")) { + case 1: + mes "[Rune Knight Staff]"; + mes "Okay, come in. I'll guide you."; + close2; + warp "job3_rune01",80,65; + end; + case 2: + mes "[Rune Knight Staff]"; + mes "Oh, really? Then, keep on your work. I'll continue with my mission."; + close; + case 3: + close; + } + } + if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) { + if ((job_rune_edq > 0) && (job_rune_edq < 2)) { + // custom translation + mes "[Rune Knight Staff]"; + mes "Ah...this area is off limits, you are prohibited to be here. Please do not do anything to hinder our efforts."; + next; + mes "[Rune Knight Staff]"; + mes "although...you seem to have the potential to become a companion to those who follow the path of the sword."; + next; + mes "[Rune Knight Staff]"; + mes "I'm sure we'll be crossing paths before long. I believe we will meet again."; + close; + } + if (job_rune_edq > 1) { + mes "[Rune Knight Staff]"; + mes "You found this place correctly. Jungberg sent me to send you to the gathering place."; + next; + mes "[Rune Knight Staff]"; + mes "When you get into the gathering place, talk to Captain Tigris. He's always waiting for new members to show up."; + next; + mes "[Rune Knight Staff]"; + mes "Well, please follow me."; + close2; + warp "job3_rune01",80,65; + end; + } + close; + } + mes "[Rune Knight Staff]"; + mes "Wait! This place is prohibited. I don't mind you going around but, don't ever disturb me again."; + close; +} + +job3_rune01,80,60,3 script Rune Knight Captain 470,{ + + if (checkweight(1201,1) == 0) { + mes "You've got too many things. You cannot proceed anymore. Please try again after losing some weight."; + close; + } + if ((MaxWeight - Weight) < 1000) { + mes "You've got too many things. You cannot proceed anymore. Please try again after losing some weight."; + close; + } + if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { + if (job_rune_edq == 23) { + mes "[Captain Tigris]"; + mes "Oh, I see... Please wait a moment."; + next; + mes "[Captain Tigris]"; + mes "I forgot to check if you are qualified to get the celebration gift for changing your job.."; + next; + mes "[Captain Tigris]"; + mes "Let me check the report from the instructors who took care of your tests."; + next; + if (job_rune_edq3 == 0) { + // custom translation + mes "[Captain Tigris]"; + mes "Ah...perfect. This result is truely rare."; + next; + mes "[Captain Tigris]"; + mes "Well, take this. This is a present that I've kept to give to my juniors like you."; + getitem 2140,1; //Energy_Rune_Guard + set job_rune_edq,24; + close; + } + else if ((job_rune_edq3 > 2) && (job_rune_edq3 < 6)) { + // custom translation + mes "[Captain Tigris]"; + mes "Ah, what a high score. Your results were very good."; + next; + mes "[Captain Tigris]"; + mes "Well, take this. This is a present that I've kept to give to my juniors like you."; + getitem 2794,1; //Magic_Stone_Ring + set job_rune_edq,24; + close; + } + mes "[Captain Tigris]"; + mes "Umm, not bad. It's not a great record but you tried your best."; + next; + mes "[Captain Tigris]"; + mes "Well, take this. This is a present that I've kept to give to my juniors like you."; + getitem 15002,1; //Rune_Plate + set job_rune_edq,24; + close; + } + mes "[Captain Tigris]"; + mes "Hey, long time no see, "+strcharinfo(0)+". I don't think you've got any important matters to discuss but make yourself comfortable."; + close; + } + if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) { + if (job_rune_edq == 2) { + mes "A man wearing glorious armor and passion in his eyes is standing in front of me."; + next; + mes "He stares at me with an absent look and after a while he begins to talk."; + next; + mes "[Captain Tigris]"; + mes "Hey, are you the Rune Knight candidate that Manuel recommended? I am Captain Tigris from the Rune Knights, and your name is??"; + next; + mes "[Captain Tigris]"; + mes "Oh, I've heard it before but I've forgotten it. Right, were you "+strcharinfo(0)+"? I truly welcome you from the heart for coming here."; + next; + mes "[Captain Tigris]"; + mes "Let's see. How many candidates have come to this room? Hey, Lunarea, which candidate is this one here?"; + next; + mes "[Rune Knight, Lunarea]"; + mes "... 172nd."; + next; + mes "[Captain Tigris]"; + mes "She says so my friend. Actually I don't want to see the next one. So please do well."; + next; + mes "[Captain Tigris]"; + mes "Let me see... Manual and Jungberg must have finished the basic verification, then let's start the test right away."; + next; + mes "[Captain Tigris]"; + mes "Lunarea, proceed with the first test."; + next; + mes "[Rune Knight, Lunarea]"; + mes "..."; + next; + mes "This pale-skinned female Rune Knight called Lunarea is nodding her head quietly and watching me."; + next; + mes "[Captain Tigris]"; + mes "The test begins now. First, you'll get the 1st test from that beautiful icy lady, so please try your best."; + next; + mes "[Captain Tigris]"; + mes "When the test is done, talk to me. Anyway you'll need to care about the tests progressing with other people."; + next; + set job_rune_edq,3; + changequest 3201,3202; + mes "[Captain Tigris]"; + mes "Well then, I'll be waiting here so take the test."; + close; + } + if (job_rune_edq == 3) { + mes "[Captain Tigris]"; + mes "Now the test begins. First, you'll get the 1st test from that beautiful icy lady, so please try your best."; + next; + mes "[Captain Tigris]"; + mes "When the test is done, talk to me... anyway you'll need to care about the tests progressing with other people."; + next; + mes "[Captain Tigris]"; + mes "Well then, I'll be waiting here so take the test."; + close; + } + if ((job_rune_edq > 3) && (job_rune_edq < 6)) { + mes "[Captain Tigris]"; + mes "Hey you, weren't you testing? Lunarea, what happened? Is the test all done?"; + next; + mes "[Rune Knight, Lunarea]"; + mes "......"; + next; + mes "She just shakes her head without saying any word, and stares at me. She has piercing eyes."; + next; + mes "[Captain Tigris]"; + mes "Okay Lunarea. Hey, listen to me carefully. Lunarea is a poor talker and quiet but you shouldn't ignore her."; + next; + mes "[Captain Tigris]"; + mes "Even for me... no, any one of us who upsets her wouldn't be able to deal with that."; + next; + mes "[Rune Knight, Lunarea]"; + mes "......"; + next; + mes "[Captain Tigris]"; + mes "Whoa don't look at me like that. Okay, you see that? Aspiring Rune Knight. Go back to Lunarea and take the test as she says. That'll be good for you."; + close; + } + if (job_rune_edq == 6) { + mes "[Captain Tigris]"; + mes "Umm, it seems that you've passed Lunarea's test? I guess I won't have to test more for the basics."; + next; + mes "[Captain Tigris]"; + mes "Undeniably our Rune Knights have some differences but we should not forget our Swordman roots."; + next; + mes "[Captain Tigris]"; + mes "From now on, this will be the real test as a Rune Knight that you want to be. You'll need to prepare to take next test."; + next; + mes "[Captain Tigris]"; + mes "Renoa, I know that you've been waiting for a long time but it's your turn."; + next; + mes "[Rune Knight, Renoa]"; + mes "It really has been such a long time but Lunarea's test and mine differ like the sky to the earth. I hope you won't be just a muscle-headed fool."; + next; + mes "[Captain Tigris]"; + mes "Hahaha. you heard that? It won't be easy this time. I hope you get through it my friend."; + next; + mes "[Captain Tigris]"; + mes "Go to that fiery lady in the library room to get the next test done and come back."; + set job_rune_edq,7; + changequest 3204,3205; + close; + } + if ((job_rune_edq > 6) && (job_rune_edq < 16)) { + mes "[Captain Tigris]"; + mes "Now, this will be the real test as a Rune Knight. You've got to prepare to take the next test."; + next; + mes "[Captain Tigris]"; + mes "Renoa, I know that you've been waiting for a long time but it's your turn."; + next; + mes "[Rune Knight, Renoa]"; + mes "It really has been such a long time but Lunarea's test and mine differ like the sky to the earth. I hope you won't be just a muscle-headed fool."; + next; + mes "[Captain Tigris]"; + mes "Hahaha. you heard that? It won't be easy this time. I hope you get through it my friend."; + next; + mes "[Captain Tigris]"; + mes "Go to that fiery lady in the library room to get the next test done and come back."; + close; + } + if (job_rune_edq == 16) { + mes "[Captain Tigris]"; + mes "Oh, I heard that you've passed Renoa's test which only few people could pass."; + next; + mes "[Captain Tigris]"; + mes "I heard that the number of candidates who've given up while taking Renoa's test has been high."; + next; + mes "[Captain Tigris]"; + mes "You have to understand. I think it was the test that shows exactly the test instructor's personality. Hmm..."; + next; + mes "[Captain Tigris]"; + mes "Now, there's only the last test left. When you pass this, you will be on your way to officially becoming a Rune Knight."; + next; + mes "[Captain Tigris]"; + mes "Take the final test from the Rune Knight Velpino who is at the arsenal's right side."; + next; + mes "[Captain Tigris]"; + mes "I'm not kidding, I am really looking forward to your new start as a Rune Knight."; + mes "So please do your best."; + set job_rune_edq,17; + changequest 3215,3216; + close; + } + if ((job_rune_edq > 16) && (job_rune_edq < 22)) { + mes "[Captain Tigris]"; + mes "Take the final test from the Rune Knight Velpino who is at the arsenal's right side."; + next; + mes "[Captain Tigris]"; + mes "I'm not kidding, I am really looking forward to your new start as a Rune Knight. So please do your best."; + close; + } + if (job_rune_edq == 22) { + mes "[Captain Tigris]"; + mes "Congratulations. Now you've passed all the tests and can walk the way of a Rune Knight."; + next; + mes "[Captain Tigris]"; + mes "I'm happy from the bottom of my heart. I'm very proud of you."; + next; + mes "[Captain Tigris]"; + mes "Now you can be yourself around us and stand proud as one of us."; + next; + mes "[Captain Tigris]"; + mes "There's the evaluations from Lunarea, Renoa and Velpino who took care of your tests."; + next; + mes "[Captain Tigris]"; + mes "It's not much but there are some gifts for new Rune Knights who got good scores on the tests."; + next; + mes "[Captain Tigris]"; + mes "There will be a difference depending on the scores, but they are all helpful for anyone who is a Rune Knight."; + next; + mes "[Captain Tigris]"; + mes "Lastly, there are several things to be aware of as a Knight who's experienced a job change to a Lord Knight in Valhalla."; + next; + mes "[Captain Tigris]"; + mes "If there's any equipment that you are wearing now, or anything you're holding, please empty it for your job change moment."; + next; + mes "[Captain Tigris]"; + mes "Visit the Kafra Employee to use the storage."; + next; + mes "[Captain Tigris]"; + mes "You might know already, if you are riding a Peco Peco, you should have left it behind. If you brought it, leave it and come again."; + next; + mes "[Captain Tigris]"; + mes "One more thing. If you have any remained skill-points, use it all and learn the skills. You won't be able to change jobs if you have any more skill points."; + next; + mes "[Captain Tigris]"; + mes "Well, my job is done now. Would you like to start your new life as a Rune Knight?"; + next; + switch (select("Every preparation is done.:I need more time to think.")) { + case 1: + if (Weight > 0 || checkcart() || SkillPoint != 0 || checkfalcon() || checkriding()) { + mes "[Captain Tigris]"; + mes "Weren't you listening?"; + next; + mes "[Captain Tigris]"; + mes "If there's any equipment that you are wearing now, or anything you're holding. Please empty it for your job change moment."; + next; + mes "[Captain Tigris]"; + mes "Talk to the Kafra Employee to use the storage."; + next; + mes "[Captain Tigris]"; + mes "You might know already, if you are riding a Peco Peco, you should have left it behind. If you brought it, leave it and come again."; + next; + mes "[Captain Tigris]"; + mes "One more thing. If you have any remained skill-points, use it all and learn the skills. You won't be able to change jobs if you have any more skill points."; + next; + mes "[Captain Tigris]"; + mes "If you understood, then make your preparations and come back."; + close; + } + if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight && ((JobLevel > 49) && (SkillPoint == 0) && (BaseLevel > 98))) { + mes "[Captain Tigris]"; + mes "Our Master, Beljeve... and the Great Sage, Serpeone..."; + next; + mes "[Captain Tigris]"; + mes "This Knight is going to walk the way of the Rune Knights with us, so please give your blessing."; + next; + if (Class == Job_Baby_Knight) { + getitem 5746,1; //Rune_Circlet + getitem 2795,1; //Green_Apple_Ring + set job_rune_edq,23; + completequest 3219; + jobchange Job_Baby_Rune; + mes "[Captain Tigris]"; + mes "Remember this moment forever for you are now a Rune Knight."; + next; + mes "[Captain Tigris]"; + mes "There's a royal gift from the Rune-Midgarts Kingdom for all new Rune Knights."; + next; + mes "[Captain Tigris]"; + mes "Give me a second to get the royal gift and talk to me again."; + close; + } + else if (Class == Job_Knight) { + getitem 5746,1; //Rune_Circlet + getitem 2795,1; //Green_Apple_Ring + set job_rune_edq,23; + completequest 3219; + jobchange Job_Rune_Knight; + mes "[Captain Tigris]"; + mes "Remember this moment forever for you are now a Rune Knight."; + next; + mes "[Captain Tigris]"; + mes "There's a royal gift from the Rune-Midgarts Kingdom for all new Rune Knights."; + next; + mes "[Captain Tigris]"; + mes "Give me a second to get the royal gift and talk to me again."; + close; + } + else if (Class == Job_Lord_Knight) { + getitem 5746,1; //Rune_Circlet + getitem 2795,1; //Green_Apple_Ring + set job_rune_edq,23; + completequest 3219; + jobchange Job_Rune_Knight_T; + mes "[Captain Tigris]"; + mes "Remember this moment forever for you are now a Rune Knight."; + next; + mes "[Captain Tigris]"; + mes "There's a royal gift from the Rune-Midgarts Kingdom for all new Rune Knights."; + next; + mes "[Captain Tigris]"; + mes "Give me a second to get the royal gift and talk to me again."; + close; + } + } + // custom translation + mes "[Captain Tigris]"; + mes "You seem to be missing something?"; + close; + case 2: + close; + } + } + } + // custom translation + mes "[Captain Tigris]"; + mes "I don't know how you got here...but you should not have come here."; + next; + mes "[Captain Tigris]"; + mes "Go back to where came from."; + close2; + warp "gl_knt02",150,55; + end; +} + +job3_rune01,90,50,3 script Rune Knight Lunarea 469,{ + + if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { + mes "She holds up her chin quietly, nods lightly and notices me."; + next; + mes "Then after a moment she puts her face down and seems absorbed with other thoughts."; + close; + } + if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) { + if (job_rune_edq < 3) { + mes "This pale-skinned absent-looking female Rune Knight doesn't seem to care. Of course she doesn't seem interested with my existence"; + close; + } + if (job_rune_edq == 3) { + mes "She finally opens her mouth and begins to talk."; + next; + mes "[Rune Knight, Lunarea]"; + mes "5 minutes... When you endure and get rid of all, you succeed."; + next; + mes "[Rune Knight, Lunarea]"; + mes "In this test, Captain Tigris, Renoa, Velpino and I will visit together."; + next; + mes "[Rune Knight, Lunarea]"; + mes "If you want to, you can ask help from one of us. But don't think that we will always help."; + next; + mes "[Rune Knight, Lunarea]"; + mes "Since it's a test, getting help from us is completely your choice. It doesn't matter if you take the test with our help or all by yourself."; + next; + mes "[Rune Knight, Lunarea]"; + mes "When you are ready to go to the test field talk to me."; + next; + switch (select("Move to the test field now.:Give me time to get ready.")) { + case 1: + if ($@job_rune_test1 == 0) { + mes "She nods her head and reaches out her hand lightly. Then she draws her sword and makes a signal."; + set job_rune_edq, 4; + changequest 3202,3203; + set $@job_rune_test1,1; + close2; + warp "job3_rune02",38,40; + end; + } + // custom translation + mes "She nods her head and reaches out her hand lightly. Then she draws her sword and makes a signal."; + next; + mes "But her expression suddenly changed a bit as she looked at to speak."; + next; + mes "[Rune Knight, Lunarea]"; + mes "Now...the testing room is currently occupied..."; + next; + mes "[Rune Knight, Lunarea]"; + mes "You'll have to wait...it is regulation that the test must take place on a 1:1 level."; + next; + mes "[Rune Knight, Lunarea]"; + mes "Just wait over 5 minutes and it should be your turn."; + close; + case 2: + close; + } + } + if (job_rune_edq == 4) { + mes "[Rune Knight, Lunarea]"; + mes "Did you fail? But, there's no limitation to the number of times you can try."; + next; + mes "[Rune Knight, Lunarea]"; + mes "If you want to take the test again. I can send you to the test field."; + next; + mes "[Rune Knight, Lunarea]"; + mes "5 minutes... When you endure and get rid of all, you succeed."; + next; + mes "[Rune Knight, Lunarea]"; + mes "If you are ready to move to the test field talk to me."; + next; + switch (select("Move to the test field now.:Please give me time to prepare.")) { + case 1: + if (checkquest(3220,PLAYTIME) == -1 || checkquest(3220,PLAYTIME) == 0) { + if ($@job_rune_test1 == 0) { + mes "She nods her head and reaches out her hand lightly. Then she draws her sword and makes a signal."; + set $@job_rune_test1,1; + erasequest 3220; + setquest 3220; + close2; + warp "job3_rune02",38,40; + end; + } + // custom translation + mes "She nods her head and reaches out her hand lightly. Then she draws her sword and makes a signal."; + next; + mes "But her expression suddenly changed a bit as she looked at to speak."; + next; + mes "[Rune Knight, Lunarea]"; + mes "Now...the testing room is currently occupied..."; + next; + mes "[Rune Knight, Lunarea]"; + mes "You'll have to wait...it is regulation that the test must take place on a 1:1 level."; + next; + mes "[Rune Knight, Lunarea]"; + mes "Just wait over 5 minutes and it should be your turn."; + close; + } + if (checkquest(3220,PLAYTIME) == 1) { + mes "[Rune Knight, Lunarea]"; + mes "Once someone enters into the test field you cannot enter directly. The test is taken one by one."; + next; + mes "[Rune Knight, Lunarea]"; + mes "When it's your turn to enter you will be sent there directly."; + close; + } + if (checkquest(3220,PLAYTIME) == 2) { + erasequest 3220; + if ($@job_rune_test1 == 0) { + mes "She nods her head and reaches out her hand lightly. Then she draws her sword and makes a signal."; + set $@job_rune_test1,1; + erasequest 3220; + setquest 3220; + close2; + warp "job3_rune02",38,40; + end; + } + // custom translation + mes "She nods her head and reaches out her hand lightly. Then she draws her sword and makes a signal."; + next; + mes "But her expression suddenly changed a bit as she looked at to speak."; + next; + mes "[Rune Knight, Lunarea]"; + mes "Now...the testing room is currently occupied..."; + next; + mes "[Rune Knight, Lunarea]"; + mes "You'll have to wait...it is regulation that the test must take place on a 1:1 level."; + next; + mes "[Rune Knight, Lunarea]"; + mes "It will be your turn when the time is up."; + close; + } + case 2: + close; + } + } + if (job_rune_edq == 5) { + mes "[Rune Knight, Lunarea]"; + mes "Was your test successful?"; + next; + mes "She shows a small smile which is barely visible and looks at me."; + next; + mes "[Rune Knight, Lunarea]"; + mes "This portion of the test is over. Go talk to Captain Tigris."; + set job_rune_edq,6; + changequest 3203,3204; + close; + } + if (job_rune_edq > 5) { + mes "[Rune Knight, Lunarea]"; + mes "This portion of the test is over. Go talk to Captain Tigris."; + next; + mes "[Rune Knight, Lunarea]"; + mes "There are other tests you need to complete. I hope you do a good job."; + close; + } + end; + } + mes "This pale-skinned absent-looking female Rune Knight doesn't seem to care. Of course she doesn't seem interested with my existence"; + close; +} + +job3_rune01,55,50,3 script Rune Knight, Renoa 469,{ + + if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { + mes "[Rune Knight, Renoa]"; + mes "Congratulations for becoming one of us. Junior Rune Knight, "+strcharinfo(0)+"."; + next; + mes "[Rune Knight, Renoa]"; + mes "Soon you'll see the way we need to go clearly."; + next; + mes "[Rune Knight, Renoa]"; + mes "Until then, I'll be here to discover more candidates just like you."; + close; + } + if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) { + if (job_rune_edq < 7) { + mes "[Rune Knight, Renoa]"; + mes "Are you the one who wants to be a Rune Knight? There have been so many today."; + next; + mes "[Rune Knight, Renoa]"; + mes "It's too bad that there haven't been many candidates that have made it to my part of the test yet so I'm just taking a bit of a rest."; + next; + mes "[Rune Knight, Renoa]"; + mes "If you are taking the Rune Knight test I hope that you try your best. This won't be as easy to pass as Lunarea's test ok?"; + close; + } + if (job_rune_edq == 7) { + mes "[Rune Knight, Renoa]"; + mes "Finally! Is it my turn? I'm so happy."; + next; + mes "[Rune Knight, Renoa]"; + mes "There have been so many candidates failing Lunarea's test that I've given up counting."; + next; + mes "[Rune Knight, Renoa]"; + mes "I am Renoa. I am in charge of the teaching and testing of runes and magic for Rune Knight candidates."; + next; + mes "[Rune Knight, Renoa]"; + mes "Thank you for all of your trouble taking the test so far. Okay, anyway."; + next; + mes "[Rune Knight, Renoa]"; + mes "Well first, I'll give you an assignment. Let's start by studying. Go to the library and study these books."; + next; + mes "[Rune Knight, Renoa]"; + mes "Umm, ^0000FFRunes and Rune Knights^000000, ^0000FFThe Principles of Runes^000000, ^0000FFThe Making and use of Runes^000000. Start with these 3..."; + next; + mes "[Rune Knight, Renoa]"; + mes "Read the book thoroughly and come back. If you are the type of person who doesn't like reading and studying then it won't be easy for you to live as a Rune Knight."; + next; + mes "[Rune Knight, Renoa]"; + mes "Don't worry, you won't be required to have the same knowledge as the magicians of Geffen or Juno. But you can't be an idiot either."; + set job_rune_edq,8; + changequest 3205,3206; + close; + } + if (job_rune_edq == 8) { + mes "[Rune Knight, Renoa]"; + mes "Well first, I'll give you an assignment. Let's start by studying. Go to the library and study these books."; + next; + mes "[Rune Knight, Renoa]"; + mes "Umm, ^0000FFRunes and Rune Knights^000000, ^0000FFThe Principles of Runes^000000, ^0000FFThe Making and use of Runes^000000. Start with these 3..."; + next; + mes "[Rune Knight, Renoa]"; + mes "Read the book thoroughly and come back. If you are the type of person who doesn't like reading and studying then it won't be easy for you to live as a Rune Knight."; + next; + mes "[Rune Knight, Renoa]"; + mes "Don't worry, you won't be required to have the same knowledge as the magicians of Geffen or Juno. But you can't be an idiot either."; + close; + } + if (job_rune_edq == 11) { + mes "[Rune Knight, Renoa]"; + mes "Have you read all the books from the library? It won't be easy to read but if you are determined to be a Rune Knight, you have to have this kind of basic knowledge."; + next; + mes "[Rune Knight, Renoa]"; + mes "Basically, the power of magic cannot be used without training to draw out the power of nature and the elements."; + next; + mes "[Rune Knight, Renoa]"; + mes "Therefore, jobs such as Wizard and Sage have come out and the magic became their own sacred field."; + next; + mes "[Rune Knight, Renoa]"; + mes "The leader of the Rune Knights, Beljeve, is known to have been in touch with the fairies even before the dimensional door of the Ash Vacuum was made when Satan Morroc resurrected."; + next; + mes "[Rune Knight, Renoa]"; + mes "I heard a story from the magical scholars about the technology that can substantialize the essence of magic. I began a study to substantialize it to a rune by getting their help."; + next; + mes "[Rune Knight, Renoa]"; + mes "Our Rune Knight's were born from the result of that study, which enables practicing both the power of the sword and magic by using runes."; + next; + mes "[Rune Knight, Renoa]"; + mes "You look like you don't understand why I'm repeating the teaching of the story already written in the book."; + next; + mes "[Rune Knight, Renoa]"; + mes "So for the second test, you need to visit the Laphine magical scholars who had given the direct help to the birth of Rune Knights at Ash Vacuum."; + next; + mes "[Rune Knight, Renoa]"; + mes "Find the sage, Serpeone who's been studying and helping the Rune Knights who are out in the Rune Midgard's camp at Ash Vacuum."; + next; + mes "[Rune Knight, Renoa]"; + mes "The sage has already been in touch with us for a long time so you don't need to worry about understanding Serpeone's language.c"; + next; + mes "[Rune Knight, Renoa]"; + mes "If you are ready I'll guide you to the warp that moves you directly to Serpeone. Meet her and get instructions from her."; + set job_rune_edq,12; + changequest 3206,3207; + close; + } + if ((job_rune_edq > 11) && (job_rune_edq < 14)) { + mes "[Rune Knight, Renoa]"; + mes "If you are ready I'll open the way to the sage, Serpeone who's in the Rune Midgard post at Ash Vacuum. Are you prepared?"; + next; + switch (select("Yes, I am prepared.:Not yet.")) { + case 1: + mes "[Rune Knight, Renoa]"; + mes "Good. Then I'll send you there now. But, there's one thing I need to tell you."; + next; + mes "[Rune Knight, Renoa]"; + mes "You will be sent to the Ash Vacuum. The people dispatched to the Rune Midgard post are certified adventurers and officials."; + next; + mes "[Rune Knight, Renoa]"; + mes "Beljeve has an agreement with the other alliance countries that the free behavior of our Rune Knights is guaranteed but..."; + next; + mes "[Rune Knight, Renoa]"; + mes "If you want to move freely through all of Ash Vacuum, you'll have to go through the normal route which is acquiring qualification with the Rune Midgard alliance. It has nothing to do with us."; + next; + mes "[Rune Knight, Renoa]"; + mes "The agreement only allows us to send candidates to the Rune Midgard camp and nowhere else."; + next; + mes "[Rune Knight, Renoa]"; + mes "Good luck."; + close2; + warp "mid_camp",235,250; + end; + case 2: + mes "[Rune Knight, Renoa]"; + mes "If you are ready talk to me again. I'm free anytime."; + close; + } + } + if (job_rune_edq == 14) { + mes "[Rune Knight, Renoa]"; + mes "Umm, you're back? How's it like in the Ash Vacuum?"; + next; + mes "[Rune Knight, Renoa]"; + mes "Well, a person of your strength must have been there already no?"; + next; + mes "[Rune Knight, Renoa]"; + mes "Now its time to take the test concerning runes. I know that you have been through quite a complicated process."; + next; + mes "[Rune Knight, Renoa]"; + mes "I am going to give you a test that allows you to deal with runes directly."; + next; + mes "[Rune Knight, Renoa]"; + mes "In this test you will be making a rune stone yourself which will also be used for your last test."; + next; + mes "[Rune Knight, Renoa]"; + mes "If you remember what you read in the library just before, you'll be able to produce a rune stone here without my explanation."; + next; + mes "[Rune Knight, Renoa]"; + mes "If you succeed in making the rune stone it will automatically become the rune stone you'll use for yourself when you become a Rune Knight, so try your best."; + next; + mes "[Rune Knight, Renoa]"; + mes "The total number of rune stones you need to make is 20."; + mes "Remember that well."; + set job_rune_edq, 15; + changequest 3213,3214; + close; + } + if (job_rune_edq == 15) { + mes "[Rune Knight, Renoa]"; + mes "In this test you will be making a rune stone yourself which is going to be used for your last test."; + next; + mes "[Rune Knight, Renoa]"; + mes "If you remember the books you've read in the library just before, you'll be able to produce a rune stone here without my explanation."; + next; + mes "[Rune Knight, Renoa]"; + mes "If you succeed in making the rune stone automatically it becomes the rune stone you'll use for yourself when you succeed, and it's delivered to Captain Tigris...so try hard."; + next; + mes "[Rune Knight, Renoa]"; + mes "The number of total rune stones you need to make is exactly 20. Remember that well."; + next; + switch (select("Check number of made runes?:I've made all the 20 rune stones.")) { + case 1: + mes "[Rune Knight, Renoa]"; + mes "The number of rune stones made 'til now is "+job_rune_edq2+"."; + close; + case 2: + if (job_rune_edq2 == 20) { + mes "[Rune Knight, Renoa]"; + mes "You've brought just the right amount. I'll hand over all the finished rune stones to Captain Tigris."; + next; + mes "[Rune Knight, Renoa]"; + mes "Because there is a test waiting for you that uses these rune stones."; + next; + mes "[Rune Knight, Renoa]"; + mes "Here, you've passed. Go back to Captain Tigris and complete the next test."; + next; + mes "[Rune Knight, Renoa]"; + mes "Ha! You did a good job considering how difficult my test is. If you were nervous, you can relax now."; + set job_rune_edq,16; + changequest 3214,3215; + close; + } + if (job_rune_edq2 > 20) { + mes "[Rune Knight, Renoa]"; + mes "Wow! What's this? You've made over 20. It's ok for now but remember to follow directions next time."; + next; + mes "[Rune Knight, Renoa]"; + mes "You've brought just the right amount. I'll hand over all the made rune stones to Captain Tigris."; + next; + mes "[Rune Knight, Renoa]"; + mes "Because there a test waiting for you to use these rune stones."; + next; + mes "[Rune Knight, Renoa]"; + mes "Here, you've passed. Go back to Captain Tigris and complete the next test."; + next; + mes "[Rune Knight, Renoa]"; + mes "Ha! You did a good job considering how difficult my test is. If you were nervous, you can relax now."; + set job_rune_edq,16; + close; + } + mes "[Rune Knight, Renoa]"; + mes "Hey! I think I told you to make at least 20."; + close; + } + } + mes "[Rune Knight, Renoa]"; + mes "Become a proud Rune Knight."; + close; + } + // custom translation + mes "[Rune Knight, Renoa]"; + mes "HOw...how did you get in here?! Captain we have a spy!"; + next; + mes "[Captain Tigris]"; + mes "Ah? What are you talking about, Renoa? Do not talk in such a manner! You make us sound like criminals."; + next; + mes "[Rune Knight, Renoa]"; + mes "Well, there is an unidentified individual here."; + next; + mes "[Captain Tigris]"; + mes "Ah...hey, friend, come over here and let us talk a moment..."; + close; +} + +job3_rune01,58,51,1 script Rune Furnace 844,{ + + if (job_rune_edq < 15) { + mes "[Rune Knight Renoa]"; + mes "You don't want to touch that thing. Believe me, I'm not kidding."; + close; + } + if (job_rune_edq == 15) { + set @job_rune_success,job_rune_edq2; + set @job_rune_miss,job_rune_edq3; + set @job_rune_crash,5; + set @job_rune_book_test_action,0; + set @job_rune_test_rand,rand(1,24); + mes "I can see a hole under the huge Rune Stone Statue behind Renoa. Clearly this is a mass-produced rune heating furnace that I read in the book."; + next; + switch (select("Use the Rune Heating Furnace:Stop.")) { + case 1: + if (@job_rune_test_rand == 1) { + progressbar "ffff00",5; + mes "The magical power of the rune pitches and tosses while it is getting shaped."; + next; + mes "This red hot spiral is..."; + next; + input .@inputstr$; + if (.@inputstr$ == "Ehwaz") { + mes "[Rune Knight Renoa]"; + mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Eiwaz rune was made normally."; + set @job_rune_success,job_rune_edq2; + set @job_rune_success_check,@job_rune_success+1; + set job_rune_edq2,@job_rune_success_check; + close; + } + set @job_rune_miss,job_rune_edq3; + set @job_rune_miss_check,@job_rune_miss+1; + set @job_rune_crash_check,@job_rune_crash+@job_rune_miss_check; + if (rand(1,@job_rune_crash_check) == 3) { + mes "[Rune Knight Renoa]"; + // occurances of this line are all custom. I couldn't get the damn thing to fail and give me the line. + mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Eiwaz rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + mes "[Rune Knight Renoa]"; + mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; + next; + mes "[Rune Knight Renoa]"; + mes "Refining the rune stone is a failure... Please try again."; + set @job_rune_miss,job_rune_edq3; + set @job_rune_miss_check,@job_rune_miss+1; + set job_rune_edq3,@job_rune_miss_check; + close; + } + if (@job_rune_test_rand == 2) { + progressbar "ffff00",5; + mes "The magical power of the rune pitches and tosses while it is getting shaped."; + next; + mes "The rune flashing with this violet oblique line shape is..."; + next; + input .@inputstr$; + if (.@inputstr$ == "Osilla") { + mes "[Rune Knight Renoa]"; + mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Othlia rune was made normally."; + set @job_rune_success,job_rune_edq2; + set @job_rune_success_check,@job_rune_success+1; + set job_rune_edq2,@job_rune_success_check; + close; + } + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; + if (rand(1,@job_rune_crash_check) == 3) { + mes "[Rune Knight Renoa]"; + mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Othlia rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + mes "[Rune Knight Renoa]"; + mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; + next; + mes "[Rune Knight Renoa]"; + mes "Refining the rune stone is a failure... Please try again."; + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set job_rune_edq3, @job_rune_miss_check; + close; + } + if (@job_rune_test_rand == 3) { + progressbar "ffff00",5; + mes "The magical power of the rune pitches and tosses while it is getting shaped."; + next; + mes "This live emerald diamond rune is..."; + next; + input .@inputstr$; + if (.@inputstr$ == "Mannaz") { + mes "[Rune Knight Renoa]"; + mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Mannaz rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; + if (rand(1,@job_rune_crash_check) == 3) { + mes "[Rune Knight Renoa]"; + mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Mannaz rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + mes "[Rune Knight Renoa]"; + mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; + next; + mes "[Rune Knight Renoa]"; + mes "Refining the rune stone is a failure... Please try again."; + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set job_rune_edq3, @job_rune_miss_check; + close; + } + if (@job_rune_test_rand == 4) { + progressbar "ffff00",5; + mes "The magical power of the rune pitches and tosses while it is getting shaped."; + next; + mes "The rune flashing with an emerald round shape is..."; + next; + input .@inputstr$; + if (.@inputstr$ == "Ansuz") { + mes "[Rune Knight Renoa]"; + mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Ansuz rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; + if (rand(1,@job_rune_crash_check) == 3) { + mes "[Rune Knight Renoa]"; + mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Ansuz rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + mes "[Rune Knight Renoa]"; + mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; + next; + mes "[Rune Knight Renoa]"; + mes "Refining the rune stone is a failure... Please try again."; + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set job_rune_edq3, @job_rune_miss_check; + close; + } + if (@job_rune_test_rand == 5) { + progressbar "ffff00",5; + mes "The magical power of the rune pitches and tosses while it is getting shaped."; + next; + mes "The rune flashing with this skyblue star shape is..."; + next; + input .@inputstr$; + if (.@inputstr$ == "Hagalaz") { + mes "[Rune Knight Renoa]"; + mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Hagalaz rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; + if (rand(1,@job_rune_crash_check) == 3) { + mes "[Rune Knight Renoa]"; + mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Hagalaz rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + mes "[Rune Knight Renoa]"; + mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; + next; + mes "[Rune Knight Renoa]"; + mes "Refining the rune stone is a failure... Please try again."; + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set job_rune_edq3, @job_rune_miss_check; + close; + } + if (@job_rune_test_rand == 6) { + progressbar "ffff00",5; + mes "The magical power of the rune pitches and tosses while it is getting shaped."; + next; + mes "This flashing with a red diamond shape rune is..."; + next; + input .@inputstr$; + if (.@inputstr$ == "Kano") { + mes "[Rune Knight Renoa]"; + mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Kano rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; + if (rand(1,@job_rune_crash_check) == 3) { + mes "[Rune Knight Renoa]"; + mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Kano rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + mes "[Rune Knight Renoa]"; + mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; + next; + mes "[Rune Knight Renoa]"; + mes "Refining the rune stone is a failure... Please try again."; + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set job_rune_edq3, @job_rune_miss_check; + close; + } + if (@job_rune_test_rand == 7) { + progressbar "ffff00",5; + mes "The magical power of the rune pitches and tosses while it is getting shaped."; + next; + mes "The rune flashing with this skyblue oblique line shape is..."; + next; + input .@inputstr$; + if (.@inputstr$ == "Rhydo") { + mes "[Rune Knight Renoa]"; + mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Raido rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; + if (rand(1,@job_rune_crash_check) == 3) { + mes "[Rune Knight Renoa]"; + mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Raido rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + mes "[Rune Knight Renoa]"; + mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; + next; + mes "[Rune Knight Renoa]"; + mes "Refining the rune stone is a failure... Please try again."; + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set job_rune_edq3, @job_rune_miss_check; + close; + } + if (@job_rune_test_rand == 8) { + progressbar "ffff00",5; + mes "The magical power of the rune pitches and tosses while it is getting shaped."; + next; + mes "The rune flashing with this yellow round shape is..."; + next; + input .@inputstr$; + if (.@inputstr$ == "Turisus") { + mes "[Rune Knight Renoa]"; + mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Thurisaz rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; + if (rand(1,@job_rune_crash_check) == 3) { + mes "[Rune Knight Renoa]"; + mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Thurisaz rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + mes "[Rune Knight Renoa]"; + mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; + next; + mes "[Rune Knight Renoa]"; + mes "Refining the rune stone is a failure... Please try again."; + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set job_rune_edq3, @job_rune_miss_check; + close; + } + if (@job_rune_test_rand == 9) { + progressbar "ffff00",5; + mes "The magical power of the rune pitches and tosses while it is getting shaped."; + next; + mes "The rune flashing with this emerald spiral line shape is..."; + next; + input .@inputstr$; + if (.@inputstr$ == "Dagaz") { + mes "[Rune Knight Renoa]"; + mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Dagaz rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; + if (rand(1,@job_rune_crash_check) == 3) { + mes "[Rune Knight Renoa]"; + mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Dagaz rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + mes "[Rune Knight Renoa]"; + mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; + next; + mes "[Rune Knight Renoa]"; + mes "Refining the rune stone is a failure... Please try again."; + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set job_rune_edq3, @job_rune_miss_check; + close; + } + if (@job_rune_test_rand == 10) { + progressbar "ffff00",5; + mes "The magical power of the rune pitches and tosses while it is getting shaped."; + next; + mes "The rune flashing with this skyblue fan-shape is..."; + next; + input .@inputstr$; + if (.@inputstr$ == "Sowilo") { + mes "[Rune Knight Renoa]"; + mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Sowilo rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; + if (rand(1,@job_rune_crash_check) == 3) { + mes "[Rune Knight Renoa]"; + mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Sowilo rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + mes "[Rune Knight Renoa]"; + mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; + next; + mes "[Rune Knight Renoa]"; + mes "Refining the rune stone is a failure... Please try again."; + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set job_rune_edq3, @job_rune_miss_check; + close; + } + if (@job_rune_test_rand == 11) { + progressbar "ffff00",5; + mes "The magical power of the rune pitches and tosses while it is getting shaped."; + next; + mes "The rune flashing with this yellow diamond shape is..."; + next; + input .@inputstr$; + if (.@inputstr$ == "Laguz") { + mes "[Rune Knight Renoa]"; + mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Laguz rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; + if (rand(1,@job_rune_crash_check) == 3) { + mes "[Rune Knight Renoa]"; + mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Laguz rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + mes "[Rune Knight Renoa]"; + mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; + next; + mes "[Rune Knight Renoa]"; + mes "Refining the rune stone is a failure... Please try again."; + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set job_rune_edq3, @job_rune_miss_check; + close; + } + if (@job_rune_test_rand == 12) { + progressbar "ffff00",5; + mes "The magical power of the rune pitches and tosses while it is getting shaped."; + next; + mes "The rune flashing with this violet spiral line is..."; + next; + input .@inputstr$; + if (.@inputstr$ == "Isia") { + mes "[Rune Knight Renoa]"; + mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Isa rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; + if (rand(1,@job_rune_crash_check) == 3) { + mes "[Rune Knight Renoa]"; + mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Isa rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + mes "[Rune Knight Renoa]"; + mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; + next; + mes "[Rune Knight Renoa]"; + mes "Refining the rune stone is a failure... Please try again."; + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set job_rune_edq3, @job_rune_miss_check; + close; + } + if (@job_rune_test_rand == 13) { + progressbar "ffff00",5; + mes "The magical power of the rune pitches and tosses while it is getting shaped."; + next; + mes "The rune flashing with this silver spiral shape is..."; + next; + input .@inputstr$; + if (.@inputstr$ == "Pertz") { + mes "[Rune Knight Renoa]"; + mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Perth rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; + if (rand(1,@job_rune_crash_check) == 3) { + mes "[Rune Knight Renoa]"; + mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Perth rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + mes "[Rune Knight Renoa]"; + mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; + next; + mes "[Rune Knight Renoa]"; + mes "Refining the rune stone is a failure... Please try again."; + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set job_rune_edq3, @job_rune_miss_check; + close; + } + if (@job_rune_test_rand == 14) { + progressbar "ffff00",5; + mes "The magical power of the rune pitches and tosses while it is getting shaped."; + next; + mes "The rune flashing with this gold star shape is..."; + next; + input .@inputstr$; + if (.@inputstr$ == "Verkana") { + mes "[Rune Knight Renoa]"; + mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Berkana rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; + if (rand(1,@job_rune_crash_check) == 3) { + mes "[Rune Knight Renoa]"; + mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Berkana rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + mes "[Rune Knight Renoa]"; + mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; + next; + mes "[Rune Knight Renoa]"; + mes "Refining the rune stone is a failure... Please try again."; + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set job_rune_edq3, @job_rune_miss_check; + close; + } + if (@job_rune_test_rand == 15) { + progressbar "ffff00",5; + mes "The magical power of the rune pitches and tosses while it is getting shaped."; + next; + mes "The rune flashing with this yellow cone shape is..."; + next; + input .@inputstr$; + if (.@inputstr$ == "Gebo") { + mes "[Rune Knight Renoa]"; + mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Gebo rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; + if (rand(1,@job_rune_crash_check) == 3) { + mes "[Rune Knight Renoa]"; + mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Gebo rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + mes "[Rune Knight Renoa]"; + mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; + next; + mes "[Rune Knight Renoa]"; + mes "Refining the rune stone is a failure... Please try again."; + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set job_rune_edq3, @job_rune_miss_check; + close; + } + if (@job_rune_test_rand == 16) { + progressbar "ffff00",5; + mes "The magical power of the rune pitches and tosses while it is getting shaped."; + next; + mes "The rune flashing with this emerald oblique line is..."; + next; + input .@inputstr$; + if (.@inputstr$ == "Algiz") { + mes "[Rune Knight Renoa]"; + mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Algiz rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; + if (rand(1,@job_rune_crash_check) == 3) { + mes "[Rune Knight Renoa]"; + mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Algiz rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + mes "[Rune Knight Renoa]"; + mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; + next; + mes "[Rune Knight Renoa]"; + mes "Refining the rune stone is a failure... Please try again."; + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set job_rune_edq3, @job_rune_miss_check; + close; + } + if (@job_rune_test_rand == 17) { + progressbar "ffff00",5; + mes "The magical power of the rune pitches and tosses while it is getting shaped."; + next; + mes "The rune flashing with this gray diamond is..."; + next; + input .@inputstr$; + if (.@inputstr$ == "Arwez") { + mes "[Rune Knight Renoa]"; + mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; + next; + mes "[Rune Knight Renoa]"; + mes "1 ewaz rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; + if (rand(1,@job_rune_crash_check) == 3) { + mes "[Rune Knight Renoa]"; + mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; + next; + mes "[Rune Knight Renoa]"; + mes "1 ewaz rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + mes "[Rune Knight Renoa]"; + mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; + next; + mes "[Rune Knight Renoa]"; + mes "Refining the rune stone is a failure... Please try again."; + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set job_rune_edq3, @job_rune_miss_check; + close; + } + if (@job_rune_test_rand == 18) { + progressbar "ffff00",5; + mes "The magical power of the rune pitches and tosses while it is getting shaped."; + next; + mes "The rune flashing with this gold round is..."; + next; + input .@inputstr$; + if (.@inputstr$ == "Teiwaz") { + mes "[Rune Knight Renoa]"; + mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Teiwaz rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; + if (rand(1,@job_rune_crash_check) == 3) { + mes "[Rune Knight Renoa]"; + mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Teiwaz rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + mes "[Rune Knight Renoa]"; + mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; + next; + mes "[Rune Knight Renoa]"; + mes "Refining the rune stone is a failure... Please try again."; + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set job_rune_edq3, @job_rune_miss_check; + close; + } + if (@job_rune_test_rand == 19) { + progressbar "ffff00",5; + mes "The magical power of the rune pitches and tosses while it is getting shaped."; + next; + mes "The rune flashing with this emerald star shape is..."; + next; + input .@inputstr$; + if (.@inputstr$ == "Wunjo") { + mes "[Rune Knight Renoa]"; + mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Wunjo rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; + if (rand(1,@job_rune_crash_check) == 3) { + mes "[Rune Knight Renoa]"; + mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Wunjo rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + mes "[Rune Knight Renoa]"; + mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; + next; + mes "[Rune Knight Renoa]"; + mes "Refining the rune stone is a failure... Please try again."; + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set job_rune_edq3, @job_rune_miss_check; + close; + } + if (@job_rune_test_rand == 20) { + progressbar "ffff00",5; + mes "The magical power of the rune pitches and tosses while it is getting shaped."; + next; + mes "The rune flashing with this yellow round is..."; + next; + input .@inputstr$; + if (.@inputstr$ == "Jera") { + mes "[Rune Knight Renoa]"; + mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Jara rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; + if (rand(1,@job_rune_crash_check) == 3) { + mes "[Rune Knight Renoa]"; + mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Jara rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + mes "[Rune Knight Renoa]"; + mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; + next; + mes "[Rune Knight Renoa]"; + mes "Refining the rune stone is a failure... Please try again."; + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set job_rune_edq3, @job_rune_miss_check; + close; + } + if (@job_rune_test_rand == 21) { + progressbar "ffff00",5; + mes "The magical power of the rune pitches and tosses while it is getting shaped."; + next; + mes "The rune flashing with this yellow fan-shape is..."; + next; + input .@inputstr$; + if (.@inputstr$ == "Nosiege") { + mes "[Rune Knight Renoa]"; + mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Nauthiz rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; + if (rand(1,@job_rune_crash_check) == 3) { + mes "[Rune Knight Renoa]"; + mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Nauthiz rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + mes "[Rune Knight Renoa]"; + mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; + next; + mes "[Rune Knight Renoa]"; + mes "Refining the rune stone is a failure... Please try again."; + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set job_rune_edq3, @job_rune_miss_check; + close; + } + if (@job_rune_test_rand == 22) { + progressbar "ffff00",5; + mes "The magical power of the rune pitches and tosses while it is getting shaped."; + next; + mes "The rune flashing with this violet diamond shape is..."; + next; + input .@inputstr$; + if (.@inputstr$ == "Ingz") { + mes "[Rune Knight Renoa]"; + mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Inguz rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; + if (rand(1,@job_rune_crash_check) == 3) { + mes "[Rune Knight Renoa]"; + mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Inguz rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + mes "[Rune Knight Renoa]"; + mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; + next; + mes "[Rune Knight Renoa]"; + mes "Refining the rune stone is a failure... Please try again."; + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set job_rune_edq3, @job_rune_miss_check; + close; + } + if (@job_rune_test_rand == 23) { + progressbar "ffff00",5; + mes "The magical power of the rune pitches and tosses while it is getting shaped."; + next; + mes "The rune flashing with this silver round shape is..."; + next; + input .@inputstr$; + if (.@inputstr$ == "Fehu") { + mes "[Rune Knight Renoa]"; + mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Fehu rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; + if (rand(1,@job_rune_crash_check) == 3) { + mes "[Rune Knight Renoa]"; + mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Fehu rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + mes "[Rune Knight Renoa]"; + mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; + next; + mes "[Rune Knight Renoa]"; + mes "Refining the rune stone is a failure... Please try again."; + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set job_rune_edq3, @job_rune_miss_check; + close; + } + if (@job_rune_test_rand == 24) { + progressbar "ffff00",5; + mes "The magical power of the rune pitches and tosses while it is getting shaped."; + next; + mes "The rune flashing with this violet spiral is..."; + next; + input .@inputstr$; + if (.@inputstr$ == "Urj") { + mes "[Rune Knight Renoa]"; + mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Uruz rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check; + if (rand(1,@job_rune_crash_check) == 3) { + mes "[Rune Knight Renoa]"; + mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though."; + next; + mes "[Rune Knight Renoa]"; + mes "1 Uruz rune was made normally."; + set @job_rune_success, job_rune_edq2; + set @job_rune_success_check, @job_rune_success + 1; + set job_rune_edq2, @job_rune_success_check; + close; + } + mes "[Rune Knight Renoa]"; + mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower."; + next; + mes "[Rune Knight Renoa]"; + mes "Refining the rune stone is a failure... Please try again."; + set @job_rune_miss, job_rune_edq3; + set @job_rune_miss_check, @job_rune_miss + 1; + set job_rune_edq3, @job_rune_miss_check; + close; + } + case 2: + close; + } + } + mes "[Rune Knight Renoa]"; + mes "You don't want to touch that thing. Believe me, I'm not kidding."; + close; +} + +job3_rune01,40,54,1 script Runes and Rune Knights 844,{ + + if (job_rune_edq < 8) { + mes "[Rune Knight Renoa]"; + mes "Besides touching stuff in this place without permission. Would you be able to understand the contents of the book?"; + next; + mes "[Captain Tigris]"; + mes "Hey Renoa go easy on that Knight. You there too, you'd better stop touching stuff here without a permission."; + close; + } + if (job_rune_edq > 7) { + while (1) { + switch (select("The birth of Rune Knights:Runes and Magic Energy:Stop Reading")) { + case 1: + set @job_rune_book1_1, @job_rune_book1_1 + 1; + mes "Rune Knights are the gathering of evolved swordmen who have achieved the harmony of sword and magic."; + next; + mes "It had been achieved by the legendary swordman Beljeve who's been known as a Sword Master and a founder of dispensable expenditure."; + next; + mes "Rune Knights use rune stones as a medium for magic power rather than using the magical energy made directly within the body."; + next; + mes "Magic power could only previously be used by those who can harness magic power within their bodies through a long time of research"; + next; + mes "However, for the direct research on the rune magical power which had broken the human's normal concept is now ongoing."; + next; + mes "It's known that the Sword Master Beljeve felt the limit of his power, so he studied the way to overcome the physical limitation of mortals."; + next; + mes "We guess he had been already in touch with the Laphine tribe long before the dimensional rift was discovered to get to the Ash Vacuum."; + next; + mes "The Laphine tribe are the fairies from the Ash Vacuum and are known to have a close relationship to the birth of the Rune Knights."; + next; + mes "Now it's possible for those who are normally unsuitted to using magic power to carry a medium that can carry magic that normal mortals could not wield before."; + next; + mes "The result of studying these techniques are the rune stones tuned in harmony with the physical power of swords."; + next; + mes "Beljeve's disciples who started to learn the way to harmoze their swords with rune stones became known as Rune Knights."; + next; + break; + case 2: + set @job_rune_book1_2, @job_rune_book1_2 + 1; + mes "A jewel called as a Rune is a medium that contains the formless existence, the magical power and the essence of it can be used directly."; + next; + mes "The Laphine Sage, Serpeone and the founder of Rune Knights Beljeve co-researched runes and the result of their research has only recently become to be known to the world."; + next; + mes "It's a limitless alternative energy source and research on them is still ongoing. "; + next; + mes "Unlike humans, the living things in the Ash Vacuum preserve magical energy by holding it in their bodies."; + next; + mes "The discovery of transvering this magical power into runes was refined by Beljeve and Serpeone and shared with the Rune Knights."; + next; + break; + case 3: + if ((@job_rune_book1_1 > 0) && (@job_rune_book1_2 > 0) && (job_rune_edq == 8)) { + set job_rune_edq,9; + } else if ((@job_rune_book1_1 > 0) && (@job_rune_book1_2 > 0) && (job_rune_edq == 9)) { + set job_rune_edq,10; + } else if ((@job_rune_book1_1 > 0) && (@job_rune_book1_2 > 0) && (job_rune_edq == 10)) { + set job_rune_edq,11; + } + break; + } + break; + } + close; + } + end; +} + +job3_rune01,43,44,1 script The Principles of Runes 844,{ + + if (job_rune_edq < 8) { + mes "[Rune Knight Renoa]"; + mes "Besides touching stuff in this place without permission. Would you be able to understand the contents of the book?"; + next; + mes "[Captain Tigris]"; + mes "Hey Renoa go easy on that Knight. You there too, you'd better stop touching stuff here without a permission."; + close; + } + if (job_rune_edq > 7) { + while (1) { + switch (select("The principle use of Runes:The types of Runes:Stop Reading")) { + case 1: + set @job_rune_book2_1, @job_rune_book2_1 + 1; + mes "A rune is a kind of symbol that's been used on the Rune Midgard continent since ancient times. Up until now it has only been used by occult circles."; + next; + mes "A rune is a kind of symbol that's been used on the Rune Midgard continent since ancient times. Up until now it has only been used by occult circles."; + next; + mes "Runes are used as a symbol system, however, by the story handed down orally, it's known to be used for fortune-telling or used to draw out the human subconsciousness."; + next; + mes "Runes have their own system and types and can draw out various powers according to how they are arranged. But their power level can't currently be measured by known means."; + next; + mes "It is fortunate that the Rune Knights discovered their use for positive means. Runes have not been used for dark magic but it is certainly possible for their power to be misused if in the wrong hands."; + next; + break; + case 2: + set @job_rune_book2_2, @job_rune_book2_2 + 1; + mes "The runes are created from a a total of 25 small stones and they are very fragile to physical shock. So they require special care when being handled."; + next; + mes "The 25 stones have different meanings and among these, 14 when counter-positioned can have entirely different power and meaning from the original so it's essential to study the exceptional aspects."; + next; + mes "The other 11 runes have consistent power, not influenced by any position so if you don't master all 11 ordinary runes and the 14 inverse runes, you cannot draw out all the complete power."; + next; + mes "Among the 11 ordinary runes, the blank rune is an exception."; + next; + mes "The names of the 25 rune stones are the following:"; + next; + mes "Ehwaz, Osilia, Mannaz, Ansuz, Hagalas, Kano, Rhydo, Turisus, Dagaz, Sowilo, Laguz, Isia, Pertz, Verkana, Gebo, Algiz, Arwez, Teiwaz, Wunjo, Jera, Nosiege, Ingz, Fehu, Urj."; + next; + break; + case 3: + if ((@job_rune_book2_1 > 0) && (@job_rune_book2_2 > 0) && (job_rune_edq == 8)) { + set job_rune_edq,9; + }else if ((@job_rune_book2_1 > 0) && (@job_rune_book2_2 > 0) && (job_rune_edq == 9)) { + set job_rune_edq,10; + }else if ((@job_rune_book2_1 > 0) && (@job_rune_book2_2 > 0) && (job_rune_edq == 10)) { + set job_rune_edq,11; + } + break; + } + break; + } + close; + } + end; +} + +job3_rune01,50,36,1 script Runes, Make & Use 844,{ + + if (job_rune_edq < 8) { + mes "[Rune Knight Renoa]"; + mes "Besides touching stuff in this place without permission. Would you be able to understand the contents of the book?"; + next; + mes "[Captain Tigris]"; + mes "Hey Renoa go easy on that Knight. You there too, you'd better stop touching stuff here without a permission."; + close; + } + if (job_rune_edq > 7) { + while (1) { + switch (select("The Making of Rune Stones:Rune Stone Ability Details:Stop Reading")) { + case 1: + set @job_rune_book3_1, @job_rune_book3_1 + 1; + mes "The making of Rune stones is achieved through a skill called rune mastery which is learned when one becomes a Rune Knight."; + next; + mes "Rune Mastery is like a code that's been put into the body as a mark of a Rune Knight."; + next; + mes "Ordinary people can also learn this skill and it needs its own machine called a Rune Furnace."; + next; + mes "When you making a Rune stone with a Rune Furnace, the type of rune is determined by the magical energy put into it, and it cannot be changed."; + next; + mes "When making a rune stone by using Rune Mastery, it can be made into the rune property that you want but it's classified as a Rune Knights' own ability. "; + next; + mes "When you operate the Rune Furnace , the magical energy of the body gets concentrated through it and it enables the change into a Rune Stone."; + next; + break; + case 2: + set @job_rune_book3_2, @job_rune_book3_2 + 1; + switch (select("Chapter One:Chapter Two:Chapter Three:Chapter Four:Stop Reading")) { + case 1: + mes "Ehwaz - This rune means the enhancement of luck and positive power. It shapes the source in the form of a red spiral in a Rune Furnace."; + next; + mes "Osilia - This rune is an equivalent exchangement which means that you lose one and you gain one, and it also means the power that needs a cost. This is shaped into the form of a violet oblique line in a Rune Furnace."; + next; + mes "Mannaz - This rune means hope and a new start and also the positive power that can reverse a desperate situation. This is shaped into the form of an emerald diamond in a Rune Furnace."; + next; + mes "Ansuz - This rune means preparation or arrangement and the power that can overcome the uneasiness of the coming future. This is shaped into the form of an emerald round in a Rune Furnace. "; + next; + mes "Hagalas - This rune means the freedom and the power that resists restraint. This is shaped into the form of a skyblue colored star-shape in a Rune Furnace."; + next; + mes "Kano - This rune means flame and passion, and the power that ends everything. The source of it is shaped into the form of a red diamond in a Rune Furnace."; + next; + break; + case 2: + mes "Rhydo - This rune means the combination and recombination and the power of completion. This is shaped into the skyblue oblique line in a Rune Furnace."; + next; + mes "Turisus - This rune means the border and the power of limitation. This is shaped into a yellow round in a Rune Furnace."; + next; + mes "Dagaz - This rune means the talent and the power of enduring adversity. This is shaped into an emerald spiral in a Rune Furnace."; + next; + mes "Sowilo - This rune means victory and success and the power of arrangement and cessation. This is shaped into the form of a skyblue fan-shape in a Rune Furnace."; + next; + mes "Laguz -This rune means uncertainty and the power that protects the inside. This is shaped into a form of a yellow diamond in a Rune Furnace."; + next; + mes "Isia - This rune means the power that stops everything. This is shaped into a violet spiral in a Rune Furnace."; + next; + break; + case 3: + mes "Pertz - This rune means revelation and the power of chance. This is shaped into the form of silver spiral in a Rune Furnace."; + next; + mes "Verkana - This rune means richness, birth and the power of defense and protection. This is shaped into the form of a gold-color star in a Rune Furnace."; + next; + mes "Gebo - This rune means cooperation and the power of harmony. This is shaped into the form of a yellow cone in a Rune Furnace."; + next; + mes "Algiz - This rune means chance and the power of challenge. This is shaped into the form of an emerald oblique line in a Rune Furnace."; + next; + mes "Arwez - This rune means change, convulsion and the power of movement. This is shaped into the form of a gray diamond in a Rune Furnace."; + next; + mes "Teiwaz - This rune means perfect victory and the power of absolute solution. This is shaped into the form of a gold round in a Rune Furnace."; + next; + break; + case 4: + mes "Wunjo - This rune means intelligence and the power of wisdom. This is shaped into the form of an emerald star in a Rune Furnace."; + next; + mes "Jera - This rune means comfort and the power of rest. This is shaped into the form of a yellow round in a Rune Furnace."; + next; + mes "Nosiege - This rune means weakness and the power of attenuating. This is shaped into the form of a yellow fan-shape in a Rune Furnace."; + next; + mes "Ingz - This rune means disruption and the power of separation. This is shaped into the form of a violet diamond in a Rune Furnace."; + next; + mes "Fehu - This rune means attainment and the power of materialization. This is shaped into the form of a silver round in a Rune Furnace."; + next; + mes "Urj - This rune means destiny and the power of restriction. This is shaped into the form of a violet spiral line in a Rune Furnace."; + next; + break; + case 5: + close2; + break; + } + break; + case 3: + if ((@job_rune_book3_1 > 0) && (@job_rune_book3_2 > 0) && (job_rune_edq == 8)) { + set job_rune_edq,9; + }else if ((@job_rune_book3_1 > 0) && (@job_rune_book3_2 > 0) && (job_rune_edq == 9)) { + set job_rune_edq,10; + }else if ((@job_rune_book3_1 > 0) && (@job_rune_book3_2 > 0) && (job_rune_edq == 10)) { + set job_rune_edq,11; + } + break; + } + break; + } + close; + } + end; +} + +mid_camp,238,250,3 script Rune Knight Sage Guard 468,{ + + if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { + mes "[Rune Knight Sage Guard]"; + mes "The sage Serpeone is the one who has been with us since the beginning of the Rune Knights."; + next; + mes "[Rune Knight Sage Guard]"; + mes "I am very proud as a Rune Knight to serve beside her."; + close; + } + if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) { + if (job_rune_edq < 11) { + mes "[Rune Knight Sage Guard]"; + mes "You might be walking the way of the sword but you are not a Rune Knight yet. Don't wander around here too much if you know what I mean."; + close; + } + if (job_rune_edq > 10) { + mes "[Rune Knight Sage Guard]"; + mes "Splendide is the land of the Laphine. We are offering a convenience by an agreement between the Rune Knights and the expeditionary team."; + next; + mes "[Rune Knight Sage Guard]"; + mes "Our agents are opening the way to Splendide only for the trainees who are taking the Rune Knight job change test."; + next; + mes "[Rune Knight Sage Guard]"; + mes "But when you become a Rune Knight, you'll need to make sure that you join the expeditionary team in order to fully explore the Ash Vacuum."; + close; + } + } + mes "[Rune Knight Sage Guard]"; + mes "Hanging around this man won't be good for you. Keep going the way you were heading."; + close; +} + +mid_camp,13,138,3 script Dispatched Rune Knight 83,{ + + if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { + mes "[Dispatched Rune Knight]"; + mes "Thanks for your work. We will continue our mission for the Rune Knight testers."; + close; + } + if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) { + if (job_rune_edq < 11) { + mes "[Dispatched Rune Knight]"; + mes "Shh... Our mission is not something to be revealed to the public. Please just move along."; + close; + } + if (job_rune_edq > 10) { + mes "[Dispatched Rune Knight]"; + mes "I've been waiting for you Rune Knight candidate. I'm helping the candidates as a favor to Ms. Serpeone."; + next; + mes "[Dispatched Rune Knight]"; + mes "Do you want to go out to the Splendide field?"; + next; + switch (select("Move to Splendide field:Cancel.")) { + case 1: + warp "spl_fild01",355,325; + end; + case 2: + close; + } + } + } + mes "[Dispatched Rune Knight]"; + mes "Shh... Our mission is not something to be revealed to the public. Please just move along."; + close; +} + +spl_fild02,13,241,0 script #roadblock1 139,10,10,{ + +OnTouch: + if ((job_rune_edq > 0) && (job_rune_edq < 23)) { + mes "-Whispers of the sage Serpeone are delivered to my mind.-"; + next; + mes "[Sage Serpeone]"; + mes "Until you become an honorable Rune Knight I cannot help you control your powers in Rune Midgard."; + next; + mes "[Sage Serpeone]"; + mes "Please understand this and be devoted to this test."; + close2; + warp "spl_fild02",25,245; + end; + } + end; +} + +spl_fild01,361,327,3 script Dispatched Rune Knight#2 83,{ + + if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { + mes "[Dispatched Rune Knight]"; + mes "Thanks for your work. We will continue our mission for the Rune Knight testers."; + close; + } + if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) { + if (job_rune_edq < 11) { + mes "[Dispatched Rune Knight]"; + mes "Shh... Our mission is not something to be revealed to the public. Please just move along."; + close2; + } + if (job_rune_edq > 10) { + mes "[Dispatched Rune Knight]"; + mes "I've been waiting for you Rune Knight candidate. I'm helping the candidates as a favor to Ms. Serpeone."; + next; + mes "[Dispatched Rune Knight]"; + mes "Do you want to go back to the expeditionary team's post?"; + next; + switch (select("Yes please.:Not yet.")) { + case 1: + warp "mid_camp",50,153; + end; + case 2: + close; + } + } + end; + } + mes "[Dispatched Rune Knight]"; + mes "Shh... Our mission is not something to be revealed to the public. Please just move along."; + close; +} + +mid_camp,235,250,3 script Sage Serpeone 435,{ + + if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { + mes "[Sage Serpeone]"; + mes "Finally you are an honorable Rune Knight. I'm happy to help you."; + next; + mes "[Sage Serpeone]"; + mes "The power of Runes are not perfect and more research still needs to be done to make it perfectly safe. It is up to me and other Rune Knights like you to make sure to continue that research."; + next; + mes "[Sage Serpeone]"; + mes "Please be devoted to the Runes and hopefully your life will be illuminated by it."; + close; + } + if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) { + if (job_rune_edq < 12) { + mes "[Sage Serpeone]"; + mes "It must be surprising that I, a Laphine, am here in your people's base."; + next; + mes "[Sage Serpeone]"; + mes "Some of us have been in contact with humans in special situations since even before the dimensional rift opened up."; + next; + mes "[Sage Serpeone]"; + mes "I have been having correspondences with humans for a number of years now. It was for mutual interests. Anyway, that's how I learned your language."; + next; + mes "[Sage Serpeone]"; + mes "Maybe there needs to be a machine that can translate the Laphine language to make it easier for humans to understand us."; + next; + mes "[Sage Serpeone]"; + mes "More than that... I cannot tell you more. I cannot speak carelessly since I'm speaking for my people here and I am on a special pass to be allowed in your camp."; + close; + } + if (job_rune_edq == 12) { + mes "[Sage Serpeone]"; + mes "Welcome, you are the one taking the job training test of the Rune Knights. I am Serpeone."; + next; + mes "[Sage Serpeone]"; + mes "All Rune Knights that you've met so far are the disciples who were taught by me and Beljeve. Now you are on your way to joining them."; + next; + mes "[Sage Serpeone]"; + mes "I think you've already heard a basic explanation and instructions from Renoa. Now it seems that it's my turn to help you out."; + next; + mes "[Sage Serpeone]"; + mes "The magical power that the Rune Knights use are not technically the same as the magical power made in the human world."; + next; + mes "[Sage Serpeone]"; + mes "Right this place... our sphere where you call as Ash Vacuum...it's the magical power made with"; + next; + mes "[Sage Serpeone]"; + mes "The living things in this place have been preserving the magical energy in our bodies unlike the living things in the human world."; + next; + mes "[Sage Serpeone]"; + mes "The power of the rune stones is the way of shaping the magical power in our bodies into runes which take place of our bodies as a medium."; + next; + mes "[Sage Serpeone]"; + mes "So to use the rune stone you need a direct understanding of the other sphere's living things."; + next; + mes "[Sage Serpeone]"; + mes "But, it must be too much for you to extract the magical energy from the living things in this land yet."; + next; + mes "[Sage Serpeone]"; + mes "Now I'll cast a magic spell on your body so you can gather magic energy from other living things."; + next; + mes "[Sage Serpeone]"; + mes "Temporarily you'll able to extract magic energy from evil creatures in the human world. Of course you won't be able to use the energy directly..."; + next; + mes "[Sage Serpeone]"; + mes "If you store up the energy by getting rid of evil creatures in the human world, I'll convert it to the energy that you can use."; + next; + mes "[Sage Serpeone]"; + mes "The vicious souls that they keep even after being dead is the great source of magical powers."; + next; + mes "[Sage Serpeone]"; + mes "Please get rid of ^0000FF10 Dullahan^000000, ^0000FF10 Disguise^000000, ^0000FF10 Quve^000000, ^0000FF10 Heirozoist^000000 and gather their energy."; + next; + mes "[Sage Serpeone]"; + mes "I am telling you beforehand but I don't test or judge your qualification. A Rune Knight will be the judge of that."; + next; + mes "[Sage Serpeone]"; + mes "If you have any problems or any questions, please talk to me."; + set job_rune_edq,13; + changequest 3207,3208; + setquest 3209; + setquest 3210; + setquest 3211; + setquest 3212; + close; + } + if (job_rune_edq == 13) { + mes "[Sage Serpeone]"; + mes "Are you gathering enough magical energy? Or do you have any questions?"; + next; + switch (select("I've gathered enough energy.:To the gathering place.:Stop the conversation.")) { + case 1: + mes "[Sage Serpeone]"; + mes "Is it so? Then let's check this out."; + next; + if ((checkquest(3209,HUNTING) == 2) && (checkquest(3210,HUNTING) == 2) && (checkquest(3211,HUNTING) == 2) && (checkquest(3212,HUNTING) == 2)) { + mes "[Sage Serpeone]"; + mes "Umm, this is great. Enough amount of living body magical energy has accumulated in your body."; + next; + mes "[Sage Serpeone]"; + mes "Rune Knight Renoa will tell you the way of using rune stones."; + next; + mes "[Sage Serpeone]"; + mes "Now I think my part is all over. I hope you will become an honorable Rune Knight."; + next; + mes "[Sage Serpeone]"; + mes "If you have any business here, I'll send you to the Rune Knight gathering place. If you are ready, please tell me."; + set job_rune_edq,14; + changequest 3208,3213; + completequest 3209; + completequest 3210; + completequest 3211; + completequest 3212; + close2; + } + mes "[Sage Serpeone]"; + mes "You haven't collected enough magical energy yet."; + next; + mes "[Sage Serpeone]"; + mes "Please brace yourself and gather enough energy by dispatching those monsters."; + close; + case 2: + mes "[Sage Serpeone]"; + mes "You want to go back to the gathering place? If you want I'll send you back there immediately. But to continue the test you'll need to come and see me again."; + next; + mes "[Sage Serpeone]"; + mes "Do you want to go back the Rune Knight gathering place?"; + next; + switch (select("I want to go back.:I want to cancel.")) { + case 1: + warp "job3_rune01",80,65; + end; + case 2: + close; + } + case 3: + close; + } + } + if (job_rune_edq == 14) { + mes "[Sage Serpeone]"; + mes "Are you ready to go back to the Rune Knight gathering place?"; + next; + switch (select("I want to go back now.:I am not ready yet.")) { + case 1: + warp "job3_rune01",80,65; + end; + case 2: + close; + } + } + if (job_rune_edq > 14) { + mes "[Sage Serpeone]"; + mes "Are the preparations going well?"; + next; + mes "[Sage Serpeone]"; + mes "Aren't you in the wrong state right now?"; + next; + mes "[Sage Serpeone]"; + mes "Then I'll send you to the Rune Knight gathering place where you should be."; + next; + switch (select("I'll go back now.:I'll stay.")) { + case 1: + warp "job3_rune01",80,65; + end; + case 2: + close; + } + } + end; + } + mes "[Sage Serpeone]"; + mes "It must be surprising that I, a Laphine, am here in your people's base."; + next; + mes "[Sage Serpeone]"; + mes "Some of us have been in contact with humans in special situations since even before the dimensional rift opened up."; + next; + mes "[Sage Serpeone]"; + mes "I have been having correspondences with humans for a number of years now. It was for mutual interests. Anyway, that's how I learned your language."; + next; + mes "[Sage Serpeone]"; + mes "Maybe there needs to be a machine that can translate the Laphine language to make it easier for humans to understand us."; + next; + mes "[Sage Serpeone]"; + mes "More than that... I cannot tell you more. I cannot speak carelessly since I'm speaking for my people here and I am on a special pass to be allowed in your camp."; + close; +} + +job3_rune01,114,50,3 script Rune Knight Velpino 468,{ + + set .@strRetPart1,getequipisequiped(EQI_HEAD_TOP); + set .@strRetPart2,getequipisequiped(EQI_ARMOR); + set .@strRetPart5,getequipisequiped(EQI_GARMENT); + set .@strRetPart6,getequipisequiped(EQI_SHOES); + set .@strRetPart7,getequipisequiped(EQI_ACC_L); + set .@strRetPart8,getequipisequiped(EQI_ACC_R); + set .@strRetPart10,getequipisequiped(EQI_HEAD_MID); + set .@strRetPart11,getequipisequiped(EQI_HEAD_LOW); + if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) { + mes "[Rune Knight Velpino]"; + mes "You still smell like a fledging. Bring honor to the Rune Knights and raise your power..."; + close; + } + if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) { + if (job_rune_edq < 17) { + mes "A very cold feeling Rune Knight dressed in black from head to toe is scowling at me."; + next; + mes "Why are all of the Rune Knights blabberers or uncommunicative and combative...?"; + next; + mes "[Captain Tigris]"; + mes "Hey... What about me? I'm not like that!"; + close; + } + if (job_rune_edq == 17) { + mes "[Rune Knight Velpino]"; + mes "I didn't think that a candidate would make it to me today..."; + next; + mes "[Rune Knight Velpino]"; + mes "Congratulations! You are at the long-waited final test... I think you've mastered the basics now."; + next; + mes "[Rune Knight Velpino]"; + mes "The final test is relatively simple. Everything ends when you get rid of all the magical monsters in this Glast Heim..."; + next; + mes "[Rune Knight Velpino]"; + mes "The only condition is that you have to get rid of these monsters by using the rune stones you made at the former test."; + next; + mes "[Rune Knight Velpino]"; + mes "For this test, only a one-hand weapon, a shield or a two-handed weapon can be equipped."; + next; + mes "[Rune Knight Velpino]"; + mes "The only set of weapons you can use should be within the weight limit of 400. Rune stones to be provided are 30 attack-only rune stones and 30 defense-only rune stones."; + next; + mes "[Rune Knight Velpino]"; + mes "To use these runes, I will cast a special buff spell over you."; + next; + mes "[Rune Knight Velpino]"; + mes "The magical monsters are the 3 kinds of magic monsters from Glast Heim that you might already know... It won't be an easy fight but if you just undergo this final suffering, you'll walk the path of a Rune Knight."; + next; + mes "[Rune Knight Velpino]"; + mes "To help the preparation we've made a contract with the Kafra center in Aldebaran by employing a kafra especially for this gathering place. So it would be good to visit her."; + next; + mes "[Rune Knight Velpino]"; + mes "If you are ready just talk to me again."; + set job_rune_edq,18; + changequest 3216,3217; + close; + } + if ((job_rune_edq > 17) && (job_rune_edq < 21)) { + set .@rune_crush,countitem(12388); + set .@rune_storm,countitem(12389); + set .@rune_millenium,countitem(12390); + set .@rune_check,.@rune_crush + .@rune_storm + .@rune_millenium; + if (.@rune_check == 0) { + mes "[Rune Knight Velpino]"; + mes "If all of your preparations are done, I'll send you to the final test field."; + set job_rune_edq,18; + next; + switch (select("Enter the final test field.:I'm not ready yet.")) { + case 1: + if ((.@strRetPart1 == 0) && (.@strRetPart2 == 0) && (.@strRetPart5 == 0) && (.@strRetPart6 == 0) && (.@strRetPart7 == 0) && (.@strRetPart8 == 0) && (.@strRetPart10 == 0) && (.@strRetPart11 == 0)) { + if (checkquest(3220,PLAYTIME) == -1 || checkquest(3220,PLAYTIME) == 0) { + if ($@job_rune_test1 == 0) { + if (Weight < 4001) { + set $@job_rune_test1,1; + //ConsumeSpecialItem Rune_Kn_Test_Int + getitem 12389,30; //Runstone_Storm + getitem 12390,30; //Runstone_Millennium + erasequest 3220; + setquest 3220; + warp "job3_rune02",38,40; + end; + } + mes "[Rune Knight Velpino]"; + mes "For this test, only a one-hand weapon, a shield or a two-handed weapon can be equipped. Keep your other equipments with the Kafra Employee in the center."; + close; + } + // custom translation + mes "[Rune Knight Velpino]"; + mes "Looks like there is already an applicant in the test room."; + next; + mes "[Rune Knight Velpino]"; + mes "Be patient and wait your turn,"; + close; + } + if (checkquest(3220,PLAYTIME) == 1) { + mes "[Rune Knight Velpino]"; + mes "Haven't you failed at the test... If you fail once, you cannot enter again for 10 minutes."; + next; + mes "[Rune Knight Velpino]"; + mes "It's a consideration for the other testers who are waiting for the test, just like you, so come back after the designated time."; + close; + } + if (checkquest(3220,PLAYTIME) == 2) { + if ($@job_rune_test1 == 0) { + if (Weight < 4001) { + set $@job_rune_test1,1; + //ConsumeSpecialItem Rune_Kn_Test_Int + getitem 12389,30; //Runstone_Storm + getitem 12390,30; //Runstone_Millennium + erasequest 3220; + setquest 3220; + warp "job3_rune02",38,40; + end; + } + mes "[Rune Knight Velpino]"; + mes "The only set of weapons you can use should be within the weight limit of 400. Rune stones to be provided are 30 attack-only rune stones and 30 defense-only rune stones."; + next; + mes "[Rune Knight Velpino]"; + mes "The remained stuff you are holding should be kept by the Kafra employee in the middle."; + close; + } + // custom translation + mes "[Rune Knight Velpino]"; + mes "Looks like there is already an applicant in the test room."; + next; + mes "[Rune Knight Velpino]"; + mes "Be patient and wait your turn,"; + close; + } + } + mes "[Rune Knight Velpino]"; + mes "For this test, only a one-hand weapon, a shield or a two-handed weapon can be equipped. Keep your other equipments with the Kafra Employee in the center."; + close; + case 2: + close; + } + } + set .@rune_crush,countitem(12388); + set .@rune_storm,countitem(12389); + set .@rune_millenium,countitem(12390); + if (.@rune_crush > 0) { + mes "[Rune Knight Velpino]"; + mes "Wait, I'll collect all the rune stones provided before. There's a certain limit on using the rune stones that's made for the test."; + delitem 12388,.@rune_crush; //Runstone_Crush + next; + mes "[Rune Knight Velpino]"; + mes "I'll get new rune stones so if your preparation is all done, please talk to me again."; + close; + } + if (.@rune_storm > 0) { + mes "[Rune Knight Velpino]"; + mes "Wait, I'll collect all the rune stones provided before. There's a certain limit on using the rune stones that's made for the test."; + delitem 12389,.@rune_storm; //Runstone_Storm + next; + mes "[Rune Knight Velpino]"; + mes "I'll get new rune stones so if your preparation is all done, please talk to me again."; + close; + } + if (.@rune_millenium > 0) { + mes "[Rune Knight Velpino]"; + mes "Wait, I'll collect all the rune stones provided before. There's a certain limit on using the rune stones that's made for the test."; + delitem 12390,.@rune_millenium; //Runstone_Millennium + next; + mes "[Rune Knight Velpino]"; + mes "I'll get new rune stones so if your preparation is all done, please talk to me again."; + close; + } + } + if (job_rune_edq == 21) { + mes "[Rune Knight Velpino]"; + mes "You've been very successful up to the last test."; + next; + set .@rune_crush,countitem(12388); + set .@rune_storm,countitem(12389); + set .@rune_millenium,countitem(12390); + set .@rune_check,.@rune_crush + .@rune_storm + .@rune_millenium; + if (.@rune_check == 0) { + mes "[Rune Knight Velpino]"; + mes "Now all the tests you need to take are over. Go back to Captain Tigris and inform him of this test result, and then feel the deep emotion of being born again as a Rune Knight."; + next; + mes "[Rune Knight Velpino]"; + mes "Congratulations!"; + mes "Well I'd better go now for the remaining candidates."; + set job_rune_edq,22; + changequest 3218,3219; + close; + } + set .@rune_crush, countitem(12388); + set .@rune_storm, countitem(12389); + set .@rune_millenium, countitem(12390); + if (.@rune_crush > 0) { + mes "[Rune Knight Velpino]"; + mes "Wait, I'll collect all the rune stones provided before. There's a certain limit on using the rune stones that's made for the test."; + delitem 12388,.@rune_crush; //Runstone_Crush + next; + mes "[Rune Knight Velpino]"; + mes "I'll need to re-use these unused rune stones. Talk to me again once I have taken all the test rune stones."; + close; + } + if (.@rune_storm > 0) { + mes "[Rune Knight Velpino]"; + mes "Wait, I'll collect all the rune stones provided before. There's a certain limit on using the rune stones that's made for the test."; + delitem 12389,.@rune_storm; //Runstone_Storm + next; + mes "[Rune Knight Velpino]"; + mes "I'll need to re-use these unused rune stones. Talk to me again once I have taken all the test rune stones."; + close; + } + if (.@rune_millenium > 0) { + mes "[Rune Knight Velpino]"; + mes "Wait, I'll collect all the rune stones provided before. There's a certain limit on using the rune stones that's made for the test."; + delitem 12390,.@rune_millenium; //Runstone_Millennium + next; + mes "[Rune Knight Velpino]"; + mes "I'll need to re-use these unused rune stones. Talk to me again once I have taken all the test rune stones."; + close; + } + } + mes "A very cold feeling Rune Knight dressed in black from head to toe is scowling at me."; + close; + } + mes "A very cold feeling Rune Knight dressed in black from head to toe is scowling at me."; + close; +} + +job3_rune02,38,40,0 script #RK Test Hidden Portal 1 139,10,10,{ + end; + +OnInit: + hideoffnpc "#RK Test Hidden Portal 1"; + end; + +OnEnable: + hideoffnpc "#RK Test Hidden Portal 1"; + end; + +OnDisable: + hideonnpc "#RK Test Hidden Portal 1"; + end; + +OnTouch: + if (job_rune_edq == 4) { + donpcevent "job_rune_edq#1st_tb::OnEnable"; + donpcevent "#RK Test Hidden Portal 1::OnDisable"; + end; + } + if ((job_rune_edq > 17) && (job_rune_edq < 21)) { + donpcevent "job_rune_edq#3rd_tb::OnEnable"; + donpcevent "#RK Test Hidden Portal 1::OnDisable"; + end; + } + donpcevent "#RK Test Hidden Portal 1::OnDisable"; + donpcevent "job_rune_edq#1st_tb::OnDisable"; + donpcevent "job_rune_edq#1st_tc::OnDisable"; + donpcevent "job_rune_edq#1st_tcmc::OnDisable"; + donpcevent "job_rune_edq#1st_tcmc2::OnDisable"; + donpcevent "job_rune_edq#1st_tcnc::OnDisable"; + donpcevent "job_rune_edq#3rd_tb::OnDisable"; + donpcevent "job_rune_edq#3rd_tc::OnDisable"; + set $@job_rune_test1,0; + set $@job_rune_test2,0; + donpcevent "#RK Test Hidden Portal 1::OnEnable"; + mapwarp "job3_rune02","job3_rune01",80,65; + end; +} + +job3_rune02,1,1,0 script job_rune_edq#1st_tb 139,{ + end; + +OnInit: + hideonnpc "job_rune_edq#1st_tb"; + end; + +OnEnable: + initnpctimer; + end; + +OnDisable: + stopnpctimer; + hideonnpc "job_rune_edq#1st_tb"; + end; + +OnTimer5000: + mapannounce "job3_rune02","I'll start the first test of the Rune Knight Job Change.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + end; + +OnTimer8000: + mapannounce "job3_rune02","The content of the test is to get rid of all the monsters for 5 minutes and survive.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + end; + +OnTimer11000: + mapannounce "job3_rune02","If you fail to survive or cannot get rid of all the monsters within the time limit, I'll consider it a failure.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + end; + +OnTimer14000: + mapannounce "job3_rune02","Now let's start the test.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + donpcevent "job_rune_edq#1st_tc::OnEnable"; + donpcevent "job_rune_edq#1st_tb::OnDisable"; + end; +} + +job3_rune02,1,2,0 script job_rune_edq#1st_tc 139,{ + end; + +OnInit: + hideonnpc "job_rune_edq#1st_tc"; + end; + +OnEnable: + initnpctimer; + donpcevent "job_rune_edq#1st_tcmc::OnEnable"; + donpcevent "job_rune_edq#1st_tcnc::OnEnable"; + end; + +OnDisable: + stopnpctimer; + hideonnpc "job_rune_edq#1st_tc"; + end; + +OnTimer300000: + killmonster "job3_rune02","job_rune_edq#1st_tc::OnMyMobDead"; + mapannounce "job3_rune02","You reached the limit time so I'll consider the test as a failure.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + end; + +OnTimer305000: + donpcevent "#RK Test Hidden Portal 1::OnDisable"; + donpcevent "job_rune_edq#1st_tb::OnDisable"; + donpcevent "job_rune_edq#1st_tc::OnDisable"; + donpcevent "job_rune_edq#1st_tcmc::OnDisable"; + donpcevent "job_rune_edq#1st_tcmc2::OnDisable"; + donpcevent "job_rune_edq#1st_tcnc::OnDisable"; + donpcevent "job_rune_edq#3rd_tb::OnDisable"; + donpcevent "job_rune_edq#3rd_tc::OnDisable"; + donpcevent "#RK Test Hidden Portal 1::OnEnable"; + mapwarp "job3_rune02","job3_rune01",80,65; + set $@job_rune_test1,0; + set $@job_rune_test2,0; + stopnpctimer; + end; +} + +job3_rune02,3,10,0 script job_rune_edq#1st_tcmc 139,{ + end; + +OnInit: + hideonnpc "job_rune_edq#1st_tcmc"; + end; + +OnEnable: + hideoffnpc "job_rune_edq#1st_tcmc"; + initnpctimer; + end; + +OnDisable: + killmonster "job3_rune02","job_rune_edq#1st_tcmc::OnMyMobDead"; + stopnpctimer; + hideonnpc "job_rune_edq#1st_tcmc"; + end; + +OnReset: + killmonster "job3_rune02","job_rune_edq#1st_tcmc::OnMyMobDead"; + end; + +OnTimer5000: + monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + end; + +OnTimer50000: + set .@job_rune_p,rand(1,6); + if (.@job_rune_p == 1) { + monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + end; + } + else if (.@job_rune_p == 2 || .@job_rune_p == 4) { + monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + end; + } + else if (.@job_rune_p == 3 || .@job_rune_p == 5) { + monster "job3_rune02",0,0,"Phendark",1484,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Rybio",1483,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + end; + } + else if (.@job_rune_p == 6) { + monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + end; + } + end; + +OnTimer100000: + set .@job_rune_p,rand(1,6); + if (.@job_rune_p == 1) { + monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + end; + } + else if (.@job_rune_p == 2 || .@job_rune_p == 4) { + monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + end; + } + else if (.@job_rune_p == 3 || .@job_rune_p == 5) { + monster "job3_rune02",0,0,"Phendark",1484,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Rybio",1483,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + end; + } + else if (.@job_rune_p == 6) { + monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + end; + } + end; + +OnTimer150000: + set .@job_rune_p,rand(1,6); + if (.@job_rune_p == 1) { + monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + end; + } + else if (.@job_rune_p == 2 || .@job_rune_p == 4) { + monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + end; + } + else if (.@job_rune_p == 3 || .@job_rune_p == 5) { + monster "job3_rune02",0,0,"Phendark",1484,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Rybio",1483,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + end; + } + else if (.@job_rune_p == 6) { + monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + end; + } + end; + +OnTimer200000: + set .@job_rune_p,rand(1,6); + if (.@job_rune_p == 1) { + monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + end; + } + else if (.@job_rune_p == 2 || .@job_rune_p == 4) { + monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + end; + } + else if (.@job_rune_p == 3 || .@job_rune_p == 5) { + monster "job3_rune02",0,0,"Phendark",1484,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Rybio",1483,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + end; + } + else if (.@job_rune_p == 6) { + monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead"; + end; + } + end; + +OnTimer250000: + killmonster "job3_rune02","job_rune_edq#1st_tcmc::OnMyMobDead"; + donpcevent "job_rune_edq#1st_tcmc2::OnEnable"; + donpcevent "job_rune_edq#1st_tcmc::OnDisable"; + end; + +OnMyMobDead: + end; +} + +job3_rune02,3,11,0 script job_rune_edq#1st_tcmc2 139,{ + end; + +OnInit: + hideonnpc "job_rune_edq#1st_tcmc2"; + end; + +OnEnable: + hideoffnpc "job_rune_edq#1st_tcmc2"; + initnpctimer; + set .@job_rune_p,rand(1,6); + if (.@job_rune_p == 1) { + monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_tcmc2::OnMyMobDead"; + monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc2::OnMyMobDead"; + monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc2::OnMyMobDead"; + end; + } + else if (.@job_rune_p == 2 || .@job_rune_p == 4) { + monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc2::OnMyMobDead"; + monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc2::OnMyMobDead"; + monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc2::OnMyMobDead"; + monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc2::OnMyMobDead"; + end; + } + else if (.@job_rune_p == 3 || .@job_rune_p == 5) { + monster "job3_rune02",0,0,"Phendark",1484,1,"job_rune_edq#1st_tcmc2::OnMyMobDead"; + monster "job3_rune02",0,0,"Rybio",1483,1,"job_rune_edq#1st_tcmc2::OnMyMobDead"; + end; + } + else if (.@job_rune_p == 6) { + monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc2::OnMyMobDead"; + monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc2::OnMyMobDead"; + monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc2::OnMyMobDead"; + monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc2::OnMyMobDead"; + end; + } + end; + +OnDisable: + killmonster "job3_rune02","job_rune_edq#1st_tcmc2::OnMyMobDead"; + stopnpctimer; + hideonnpc "job_rune_edq#1st_tcmc2"; + end; + +OnMyMobDead: + if (mobcount ("job3_rune02","job_rune_edq#1st_tcmc2::OnMyMobDead") < 1) { + set job_rune_edq,5; + erasequest 3220; + killmonster "job3_rune02","job_rune_edq#1st_tcmc2::OnMyMobDead"; + mapannounce "job3_rune02","Congratulations. You've passed the first test.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + mapwarp "job3_rune02","job3_rune01",80,65; + donpcevent "job_rune_edq#1st_tb::OnDisable"; + donpcevent "job_rune_edq#1st_tc::OnDisable"; + donpcevent "job_rune_edq#1st_tcnc::OnDisable"; + donpcevent "job_rune_edq#1st_tcmc::OnDisable"; + donpcevent "job_rune_edq#1st_tcmc2::OnDisable"; + donpcevent "#RK Test Hidden Portal 1::OnEnable"; + set $@job_rune_test1,0; + set $@job_rune_test2,0; + end; + } + end; +} + +job3_rune02,1,10,0 script job_rune_edq#1st_tcnc 139,{ + end; + +OnInit: + hideonnpc "job_rune_edq#1st_tcnc"; + end; + +OnEnable: + hideoffnpc "job_rune_edq#1st_tcnc"; + initnpctimer; + end; + +OnDisable: + hideonnpc "job_rune_edq#1st_tcnc"; + set $@job_rune_test2,0; + donpcevent "Captain Tigris#jrt1::OnDisable"; + donpcevent "Rune Knight Lunarea#jrt1::OnDisable"; + donpcevent "Rune Knight Renoa#jrt1::OnDisable"; + donpcevent "Rune Knight Velpino#jrt1::OnDisable"; + stopnpctimer; + end; + +OnUse: + mapannounce "job3_rune02","Captain Tigris : Gentleman, Let's watch the test for a while.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + stopnpctimer; + set $@job_rune_test2,0; + donpcevent "Captain Tigris#jrt1::OnDisable"; + donpcevent "Rune Knight Lunarea#jrt1::OnDisable"; + donpcevent "Rune Knight Renoa#jrt1::OnDisable"; + donpcevent "Rune Knight Velpino#jrt1::OnDisable"; + donpcevent "job_rune_edq#1st_tcnc::OnEnable"; + end; + +OnTimer30000: + mapannounce "job3_rune02","Captain Tigris : Rune Knight Candidates... If you want to borrow our power talk to one of us.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + donpcevent "Captain Tigris#jrt1::OnEnable"; + donpcevent "Rune Knight Lunarea#jrt1::OnEnable"; + donpcevent "Rune Knight Renoa#jrt1::OnEnable"; + donpcevent "Rune Knight Velpino#jrt1::OnEnable"; + end; + +OnTimer60000: + mapannounce "job3_rune02","Captain Tigris : It seems you don't need our help... Let's watch the test for a while.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + stopnpctimer; + donpcevent "Captain Tigris#jrt1::OnDisable"; + donpcevent "Rune Knight Lunarea#jrt1::OnDisable"; + donpcevent "Rune Knight Renoa#jrt1::OnDisable"; + donpcevent "Rune Knight Velpino#jrt1::OnDisable"; + donpcevent "job_rune_edq#1st_tcnc::OnEnable"; + end; +} + +job3_rune02,34,46,5 script Captain Tigris#jrt1 470,{ + + set .@tigris,rand(1,6); + set .@rune_test2,$@job_rune_test2; + if ((job_rune_edq == 4) && (.@rune_test2 == 0)) { + if (.@tigris == 1) { + set $@job_rune_test2,1; + // custom translation + mapannounce "job3_rune02","Captain Tigris : May Beljeve bless you!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + sc_start SC_BLESSING,24000,10; + initnpctimer; + end; + } + else if ((.@tigris == 2) || (.@tigris == 4)) { + set $@job_rune_test2,1; + mapannounce "job3_rune02","Captain Tigris : The Spark of life... may flame again.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + percentheal 100,100; + skilleffect "AL_HEAL",1500; + initnpctimer; + end; + } + else if (.@tigris == 3) { + set $@job_rune_test2,1; + // custom translation + mapannounce "job3_rune02","Captain Tigris : Evil spirits! Return to your graves!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + specialeffect2 EF_METEORSTORM; + donpcevent "job_rune_edq#1st_tcmc::OnReset"; + initnpctimer; + end; + } + else if (.@tigris == 5) { + set $@job_rune_test2,1; + // custom translation + mapannounce "job3_rune02","Captain Tigris : For a Rune Knight, this kind of ordeal is nothing!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + sc_start SC_STUN,10000,0; + initnpctimer; + end; + } + else if (.@tigris == 6) { + set $@job_rune_test2,1; + // custom translation + mapannounce "job3_rune02","Captain Tigris : For a Rune Knight, this kind of ordeal is nothing!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + sc_start SC_BLEEDING,10000,0; + initnpctimer; + end; + } + } + donpcevent "job_rune_edq#1st_tcnc::OnUse"; + end; + +OnInit: + hideonnpc "Captain Tigris#jrt1"; + end; + +OnEnable: + hideoffnpc "Captain Tigris#jrt1"; + end; + +OnDisable: + hideonnpc "Captain Tigris#jrt1"; + end; + +OnTimer5000: + donpcevent "job_rune_edq#1st_tcnc::OnUse"; + set $@job_rune_test2,0; + stopnpctimer; + end; +} + +job3_rune02,43,46,3 script Rune Knight Lunarea#jrt1 469,2,2,{ + set .@tigris,rand(1,6); + set .@rune_test2,$@job_rune_test2; + if ((job_rune_edq == 4) && (.@rune_test2 == 0)) { + if (.@tigris == 1) { + set $@job_rune_test2, 1; + // custom translation + mapannounce "job3_rune02","Rune Knight Lunarea : Quickly...find and strike at the enemy's vital points!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + sc_start SC_INCREASEAGI,24000,10; + initnpctimer; + end; + } + else if (.@tigris == 2 || .@tigris == 4) { + set $@job_rune_test2,1; + mapannounce "job3_rune02","Rune Knight Lunarea : It's not over... you need more power...",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + percentheal 100,100; + skilleffect "AL_HEAL",1500; + initnpctimer; + end; + } + else if (.@tigris == 3) { + set $@job_rune_test2,1; + // custom translation + mapannounce "job3_rune02","Rune Knight Lunarea : Everything shall return from whence it came!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + //UseSkillToPC 35 0 0 0 + skilleffect "AL_CURE",0; + initnpctimer; + end; + } + else if (.@tigris == 5) { + set $@job_rune_test2,1; + mapannounce "job3_rune02","Rune Knight Lunarea : There can't be growth without a trial.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + sc_start SC_POISON,30000,0; + initnpctimer; + end; + } + else if (.@tigris == 6) { + set $@job_rune_test2,1; + mapannounce "job3_rune02","Rune Knight Lunarea : There can't be growth without a trial.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + sc_start SC_CURSE,30000,0; + initnpctimer; + end; + } + } + donpcevent "job_rune_edq#1st_tcnc::OnUse"; + end; + +OnInit: + hideonnpc "Rune Knight Lunarea#jrt1"; + end; + +OnEnable: + hideoffnpc "Rune Knight Lunarea#jrt1"; + end; + +OnDisable: + hideonnpc "Rune Knight Lunarea#jrt1"; + end; + +OnTimer5000: + donpcevent "job_rune_edq#1st_tcnc::OnUse"; + set $@job_rune_test2,0; + stopnpctimer; + end; +} + +job3_rune02,43,34,1 script Rune Knight Renoa#jrt1 469,2,2,{ + set .@tigris, rand(1,6); + set .@rune_test2, $@job_rune_test2; + if ((job_rune_edq == 4) && (.@rune_test2 == 0)) { + if (.@tigris == 1) { + set $@job_rune_test2,1; + // custom translation + mapannounce "job3_rune02","Rune Knight Renoa : The rune of Blast! May it give you strength!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + sc_start SC_INCREASEAGI,24000,10; + initnpctimer; + end; + } + else if (.@tigris == 2 || .@tigris == 4) { + set $@job_rune_test2,1; + mapannounce "job3_rune02","Rune Knight Renoa : The rune of birth! May give you the power of life!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + percentheal 100,100; + skilleffect "AL_HEAL",1500; + initnpctimer; + end; + } + else if (.@tigris == 3) { + set $@job_rune_test2,1; + // custom translation + mapannounce "job3_rune02","Rune Knight Renoa : I am faster than others! Stronger than others!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + specialeffect2 EF_PIERCESELF; + donpcevent "job_rune_edq#1st_tcmc::OnReset"; + initnpctimer; + end; + } + else if (.@tigris == 5) { + set $@job_rune_test2,1; + mapannounce "job3_rune02","Rune Knight Renoa : For a Rune Knight, this kind of ordeal is nothing!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + sc_start SC_POISON,30000,0; + initnpctimer; + end; + } + else if (.@tigris == 6) { + set $@job_rune_test2,1; + mapannounce "job3_rune02","Rune Knight Renoa : For a Rune Knight, this kind of ordeal is nothing!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + sc_start SC_CURSE,30000,0; + initnpctimer; + end; + } + } + donpcevent "job_rune_edq#1st_tcnc::OnUse"; + end; + +OnInit: + hideonnpc "Rune Knight Renoa#jrt1"; + end; + +OnEnable: + hideoffnpc "Rune Knight Renoa#jrt1"; + end; + +OnDisable: + hideonnpc "Rune Knight Renoa#jrt1"; + end; + +OnTimer5000: + set $@job_rune_test2,0; + donpcevent "job_rune_edq#1st_tcnc::OnUse"; + stopnpctimer; + end; +} + +job3_rune02,34,34,7 script Rune Knight Velpino#jrt1 468,{ + + set .@tigris,rand(1,6); + set .@rune_test2,$@job_rune_test2; + if ((job_rune_edq == 4) && (.@rune_test2 == 0)) { + if (.@tigris == 1) { + set $@job_rune_test2,1; + mapannounce "job3_rune02","Rune Knight Velpino : You are not one who gets to fall down in this kind of place.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + percentheal 100,100; + skilleffect "AL_HEAL",1500; + initnpctimer; + end; + } + else if (.@tigris == 2 || .@tigris == 4) { + set $@job_rune_test2, 1; + // custom translation + mapannounce "job3_rune02","Rune Knight Velpino : Charge! Knock them all down!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + sc_start SC_INCREASEAGI,24000,10; + initnpctimer; + end; + } + else if (.@tigris == 3) { + set $@job_rune_test2,1; + // custom translation + mapannounce "job3_rune02","Rune Knight Velpino : You are not alone. We are by your side.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + sc_start SC_BLESSING,24000,10; + initnpctimer; + end; + } + else if (.@tigris == 5) { + set $@job_rune_test2,1; + // custom translation + mapannounce "job3_rune02","Rune Knight Velpino : Fight and win! Do not hesitate in the face of this test!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + sc_start SC_FREEZE,10000,0; + initnpctimer; + end; + } + else if (.@tigris == 6) { + set $@job_rune_test2,1; + mapannounce "job3_rune02","Rune Knight Velpino : It's not a big trial for a true Rune Knight!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + sc_start SC_SLEEP,10000,0; + initnpctimer; + end; + } + } + donpcevent "job_rune_edq#1st_tcnc::OnUse"; + end; + +OnInit: + hideonnpc "Rune Knight Velpino#jrt1"; + end; + +OnEnable: + hideoffnpc "Rune Knight Velpino#jrt1"; + end; + +OnDisable: + hideonnpc "Rune Knight Velpino#jrt1"; + end; + +OnTimer5000: + set $@job_rune_test2,0; + donpcevent "job_rune_edq#1st_tcnc::OnUse"; + stopnpctimer; + end; +} + +job3_rune02,2,1,0 script job_rune_edq#3rd_tb 139,{ + end; + +OnInit: + hideonnpc "job_rune_edq#3rd_tb"; + end; + +OnEnable: + initnpctimer; + end; + +OnDisable: + stopnpctimer; + hideonnpc "job_rune_edq#3rd_tb"; + end; + +OnTimer5000: + mapannounce "job3_rune02","I'll start the last test of the Rune Knight Job change.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + end; + +OnTimer8000: + mapannounce "job3_rune02","Get rid of monsters appearing here within 8 minutes by using the provided rune stones.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + end; + +OnTimer11000: + mapannounce "job3_rune02","If you die or can't get rid of all the monsters within the time limit, I'll consider the try as a failure.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + end; + +OnTimer14000: + mapannounce "job3_rune02","Now I'll start the test.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + donpcevent "job_rune_edq#3rd_tc::OnEnable"; + donpcevent "job_rune_edq#3rd_tb::OnDisable"; + end; +} + +job3_rune02,2,2,0 script job_rune_edq#3rd_tc 139,{ + end; + +OnInit: + hideonnpc "job_rune_edq#3rd_tc"; + end; + +OnEnable: + initnpctimer; + donpcevent "job_rune_edq#3rd_tc1::OnEnable"; + end; + +OnDisable: + stopnpctimer; + donpcevent "job_rune_edq#3rd_tc1::OnDisable"; + donpcevent "job_rune_edq#3rd_tc2::OnDisable"; + donpcevent "job_rune_edq#3rd_tc3::OnDisable"; + hideonnpc "job_rune_edq#3rd_tc"; + end; + +OnTimer480000: + mapannounce "job3_rune02","You reached the limit time so I'll consider the test as a failure.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + end; + +OnTimer482000: + mapwarp "job3_rune02","job3_rune01",80,65; + donpcevent "job_rune_edq#1st_tb::OnDisable"; + donpcevent "job_rune_edq#1st_tc::OnDisable"; + donpcevent "job_rune_edq#1st_tcnc::OnDisable"; + donpcevent "job_rune_edq#1st_tcmc2::OnDisable"; + donpcevent "job_rune_edq#1st_tcmc::OnDisable"; + donpcevent "job_rune_edq#3rd_tb::OnDisable"; + donpcevent "job_rune_edq#3rd_tc::OnDisable"; + donpcevent "#RK Test Hidden Portal 1::OnEnable"; + set $@job_rune_test1,0; + set $@job_rune_test2,0; + stopnpctimer; + end; +} + +job3_rune02,2,3,0 script job_rune_edq#3rd_tc1 139,{ + end; + +OnInit: + hideonnpc "job_rune_edq#3rd_tc1"; + end; + +OnEnable: + hideoffnpc "job_rune_edq#3rd_tc1"; + monster "job3_rune02",40,40,"Executioner",2039,1,"job_rune_edq#3rd_tc1::OnMyMobDead"; + end; + +OnDisable: + killmonster "job3_rune02","job_rune_edq#3rd_tc1::OnMyMobDead"; + hideonnpc "job_rune_edq#3rd_tc1"; + end; + +OnMyMobDead: + if (mobcount ("job3_rune02","job_rune_edq#3rd_tc1::OnMyMobDead") < 1) { + set job_rune_edq,19; + killmonster "job3_rune02","job_rune_edq#3rd_tc1::OnMyMobDead"; + donpcevent "job_rune_edq#3rd_tc2::OnEnable"; + donpcevent "job_rune_edq#3rd_tc1::OnDisable"; + end; + } + end; +} + +job3_rune02,2,4,0 script job_rune_edq#3rd_tc2 139,{ + end; + +OnInit: + hideonnpc "job_rune_edq#3rd_tc2"; + end; + +OnEnable: + hideoffnpc "job_rune_edq#3rd_tc2"; + monster "job3_rune02",40,40,"Ogretooth",2040,1,"job_rune_edq#3rd_tc2::OnMyMobDead"; + end; + +OnDisable: + killmonster "job3_rune02","job_rune_edq#3rd_tc2::OnMyMobDead"; + hideonnpc "job_rune_edq#3rd_tc2"; + end; + +OnMyMobDead: + if (mobcount ("job3_rune02","job_rune_edq#3rd_tc2::OnMyMobDead") < 1) { + set job_rune_edq,20; + killmonster "job3_rune02","job_rune_edq#3rd_tc2::OnMyMobDead"; + donpcevent "job_rune_edq#3rd_tc3::OnEnable"; + donpcevent "job_rune_edq#3rd_tc2::OnDisable"; + end; + } + end; +} + +job3_rune02,2,5,0 script job_rune_edq#3rd_tc3 139,{ + end; + +OnInit: + hideonnpc "job_rune_edq#3rd_tc3"; + end; + +OnEnable: + hideoffnpc "job_rune_edq#3rd_tc3"; + monster "job3_rune02",40,40,"Mysteltainn",2041,1,"job_rune_edq#3rd_tc3::OnMyMobDead"; + end; + +OnDisable: + killmonster "job3_rune02","job_rune_edq#3rd_tc3::OnMyMobDead"; + hideonnpc "job_rune_edq#3rd_tc3"; + end; + +OnMyMobDead: + if (mobcount ("job3_rune02","job_rune_edq#3rd_tc3::OnMyMobDead") < 1) { + set job_rune_edq,21; + changequest 3217,3218; + erasequest 3220; + killmonster "job3_rune02","job_rune_edq#3rd_tc3::OnMyMobDead"; + mapannounce "job3_rune02","Congratulations. You've passed the second test.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0 + mapwarp "job3_rune02","job3_rune01",80,65; + donpcevent "job_rune_edq#1st_tb::OnDisable"; + donpcevent "job_rune_edq#1st_tc::OnDisable"; + donpcevent "job_rune_edq#1st_tcnc::OnDisable"; + donpcevent "job_rune_edq#1st_tcmc2::OnDisable"; + donpcevent "job_rune_edq#1st_tcmc::OnDisable"; + donpcevent "job_rune_edq#3rd_tb::OnDisable"; + donpcevent "job_rune_edq#3rd_tc::OnDisable"; + donpcevent "#RK Test Hidden Portal 1::OnEnable"; + set $@job_rune_test1,0; + set $@job_rune_test2,0; + end; + } + end; +} + +job3_rune01,92,62,3 script Kafra Employee 114,{ + cutin "kafra_04",2; + mes "[Kafra Employee]"; + mes "Hello. Kafra Service are always with you."; + mes "What can I help you with?"; + next; + switch(select("Use Storage:Rent a Pushcart:Use Teleport Service:Check Other Information:Cancel")) { + case 1: + if(basicskillcheck() && getskilllv("NV_BASIC") < 6){ + mes "[Kafra Employee]"; + mes "I'm sorry, but you"; + mes "need the Novice's"; + mes "Basic Skill Level 6 to"; + mes "use the Storage Service."; + } + else if ((countitem(7059) != 0) || (Zeny >= 50)) { + if (countitem(7059) != 0) + delitem 7059,1; //Cargo_Free_Ticket + else { + set RESRVPTS,RESRVPTS+5; + set zeny,zeny-80; + } + mes "[Kafra Employee]"; + mes "Here, let me open"; + mes "your Storage for you."; + mes "Thank you for using"; + mes "the Kafra Service."; + close2; + cutin "kafra_04",255; + openstorage; + end; + } + else { + mes "[Kafra Employee]"; + mes "I'm sorry, but you don't"; + mes "have enough zeny to use"; + mes "the Storage Service. Our"; + mes "Storage access fee is 80 zeny."; + } + break; + case 2: + if (BaseClass != Job_Merchant) { + mes "[Kafra Employee]"; + mes "I'm sorry, but the"; + mes "Pushcart rental service"; + mes "is only available to Merchants,"; + mes "Blacksmiths, Master Smiths,"; + mes "Alchemists, Biochemists,"; + mes "Mechanics and Geneticists."; + } + else if (checkcart()) { + mes "[Kafra Employee]"; + mes "You already have"; + mes "a Pushcart equipped."; + mes "Unfortunately, we can't"; + mes "rent more than one to"; + mes "each customer at a time."; + } + else { + if (!getskilllv("MC_CART")) { + mes "[Kafra Employee]"; + mes "You do not have the skill level required to rent a Pushcart."; + } + if (countitem(7061) != 0) + delitem 7061,1; //Cart_Free_Ticket + else { + mes "[Kafra Employee]"; + mes "The Pushcart rental"; + mes "fee is 700 zeny. Would"; + mes "you like to rent a Pushcart?"; + next; + switch(select("Rent a Pushcart.:Cancel")) { + case 1: + if (Zeny >= 700) { + set RESRVPTS,RESRVPTS+85; + set zeny,zeny-700; + } + else { + mes "[Kafra Employee]"; + mes "I'm sorry, but you"; + mes "don't have enough"; + mes "zeny to pay the Pushcart"; + mes "rental fee of 700 zeny."; + } + break; + case 2: + break; + } + } + setcart; + } + break; + case 3: + mes "[Kafra Employee]"; + mes "Please tell me the destination."; + next; + switch(select("Izlude -> 600 z:Geffen -> 1200 z:Payon -> 1200 z:Morroc -> 1200 z:Alberta -> 1800 z:Cancel.")) { + case 1: + if ((countitem(7060) != 0) || (Zeny >= 600)) { + if (countitem(7060) != 0) + delitem 7060,1; //Warp_Free_Ticket + else { + set zeny,zeny-600; + set RESRVPTS,RESRVPTS+60; + } + cutin "kafra_04",255; + warp "izlude",91,105; + end; + } + else { + mes "[Kafra Employee]"; + mes "I'm sorry, but you don't have"; + mes "enough zeny for the Teleport"; + mes "Service. The fee to teleport"; + mes "to Izlude is 600 zeny."; + } + break; + case 2: + if ((countitem(7060) != 0) || (Zeny >= 1200)) { + if (countitem(7060) != 0) + delitem 7060,1; //Warp_Free_Ticket + else { + set zeny,zeny-1200; + set RESRVPTS,RESRVPTS+120; + } + cutin "kafra_04",255; + warp "geffen",120,39; + end; + } + else { + mes "[Kafra Employee]"; + mes "I'm sorry, but you don't have"; + mes "enough zeny for the Teleport"; + mes "Service. The fee to teleport"; + mes "to Geffen is 1,200 zeny."; + } + break; + case 3: + if ((countitem(7060) != 0) || (Zeny >= 1200)) { + if (countitem(7060) != 0) { + delitem 7060,1; //Warp_Free_Ticket + } + else { + set zeny,zeny-1200; + set RESRVPTS,RESRVPTS+120; + } + cutin "kafra_04",255; + warp "payon",161,58; + end; + } + else { + mes "[Kafra Employee]"; + mes "I'm sorry, but you don't have"; + mes "enough zeny for the Teleport"; + mes "Service. The fee to teleport"; + mes "to Payon is 1,200 zeny."; + } + break; + case 4: + if ((countitem(7060) != 0) || (Zeny >= 1200)) { + if (countitem(7060) != 0) + delitem 7060,1; //Warp_Free_Ticket + else { + set zeny,zeny-1200; + set kf_100_pit,kf_100_pit+1; + set kf_10_pit,kf_10_pit+2; + } + cutin "kafra_04",255; + warp "morocc",156,46; + end; + } + else { + mes "[Kafra Employee]"; + mes "I'm sorry, but you don't have"; + mes "enough zeny for the Teleport"; + mes "Service. The fee to teleport"; + mes "to Morroc is 1,200 zeny."; + } + break; + case 5: + if ((countitem(7060) != 0) || (Zeny >= 1800)) { + if (countitem(7060) != 0) + delitem 7060,1; //Warp_Free_Ticket + else { + set zeny,zeny-1800; + set RESRVPTS,RESRVPTS+180; + } + cutin "kafra_04",255; + warp "alberta",117,56; + end; + } + else { + mes "[Kafra Employee]"; + mes "I'm sorry, but you don't have"; + mes "enough zeny for the Teleport"; + mes "Service. The fee to teleport"; + mes "to Alberta is 1,800 zeny."; + } + break; + case 6: + break; + } + break; + case 4: + switch(select("Check Special Reserve Points.:Cancel")) { + case 1: + mes "[Kafra Employee]"; + mes "Let's see..."; + mes "" + strcharinfo(0) + "..."; + mes "Ah, you have a total of"; + mes "" + RESRVPTS + " Special Reserve Points."; + next; + mes "[Kafra Employee]"; + mes "You can exchange your"; + mes "Special Reserve Points for"; + mes "rewards at the Kafra Main Office in Al De Baran. Please use our"; + mes "convenient services to see the benefits of our rewards program."; + break; + case 2: + break; + } + break; + case 5: + mes "[Kafra Employee]"; + mes "We, here at Kafra Corporation,"; + mes "are always endeavoring to provide you with the best services. We hope that we meet your adventuring needs and standards of excellence."; + break; + } + close2; + cutin "kafra_04",255; + end; +} + +/* +sec_in02,34,167,3 script ·ûÎÄÆïʿתְÈ볡¹ÜÀíÔ± 470,{ + mes "ÇëÊäÈëÃÜÂë¡£"; + next; + input .@inputstr$; + if (.@inputstr$ == "1854") { + mes "·ûÎÄÆïʿתְ¹ÜÀíÄ£¿é¿ªÊ¼"; + next; + switch (select("¼ì²éÈ«¾Ö±äÁ¿:ÐÞ¸ÄÈ«¾Ö±äÁ¿")) { + case 1: + set .@rune_global, $@job_rune_test1; + mes "µ±Ç°·ûÎÄÆïʿתְ±äÁ¿ÊÇ "+.@rune_global+" ¡£"; + mes "µ±Ç°·ûÎÄÆïÊ¿¿¼³¡ÖеÄÈËÊýΪ "+getmapusers("job3_rune02")+ "ÈË¡£"; + close; + case 2: + set .@rune_global, $@job_rune_test1; + set $@job_rune_test1, 0; + mes "½«·ûÎÄÆïʿתְȫ¾Ö±äÁ¿ÐÞ¸ÄΪ0¡£¿¼³¡¿ÉÒÔʹÓá£"; + close; + } + } + close; +} +*/
\ No newline at end of file diff --git a/npc/pre-re/jobs/3-1/warlock.txt b/npc/pre-re/jobs/3-1/warlock.txt new file mode 100644 index 000000000..8c517c991 --- /dev/null +++ b/npc/pre-re/jobs/3-1/warlock.txt @@ -0,0 +1,2109 @@ +//===== rAthena Script ======================================= +// Warlock Job change Quest +//===== By: ================================================== +//= Masao +//= Credits: Muad_Dib, Gepard & L0ne_W0lf +//===== Current Version: ===================================== +//= 1.2a +//===== Compatible With: ===================================== +//= Any rAthena SVN +//===== Description: ========================================= +//= [AEGIS Conversion] +//= Job change Quest from Wizard / High Wizard -> Warlock. +//===== Additional Comments: ================================= +//= 1.0 First Version. +//= 1.1 Fixed some conversion mistakes, replaced numbers with +//= constants, added item names in comments. +//= 1.2 Fixed the problem where NPC are not enabled and chamber will never open +//= for the second try or use. +//= 1.2a Fixed a typo. [Euphy] +//============================================================ + +morocc,103,144,0 script distorted place morroc 139,1,1,{ + +OnTouch: + if (job_wl > 1){ + if (Class == Job_Warlock || Class == Job_Warlock_T || Class == Job_Baby_Warlock){ + mes " - There is a strange distortion here - "; + close; + } + mes " - There is a strange distortion here - "; + next; + switch(select("Extend your hand.:Ignore it.")){ + case 1: + mes " - I extend my arm as a fierce sound resonates in my ear and a cool wave surrounds me - "; + close2; + warp "spl_in02",79,102; + end; + case 2: + mes " - You ignore it. - "; + close; + } + } + if ((BaseLevel > 94) && (Class == Job_Wizard || Class == Job_High_Wizard || Class == Job_Baby_Wizard)){ + mes " - There is a strange distortion here - "; + next; + switch(select( "Search the area.:Ignore it.")){ + case 1: + mes " - There appears to be nothing here. But I can definitely feel something around here... - "; + next; + switch(select("Extend arm.:Leave it alone.")){ + case 1: + mes " - I extend my arm as a fierce sound resonates in my ear and a cool wave surrounds me - "; + close2; + warp "spl_in02",79,102; + end; + case 2: + mes " - You decide to leave it alone. - "; + close; + } + case 2: + mes " - You ignore it. - "; + close; + } + } + end; +} + +splendide,141,284,0 script Distorted place molco 139,1,1,{ + +OnTouch: + if (job_wl > 1){ + mes " - There is a strange - "; + mes "- distortion here -"; + next; + switch(select("Extend your hand.:Ignore it.")){ + case 1: + mes " - I extend my arm as a fierce sound resonates in my ear and a cool wave surrounds me - "; + close2; + warp "spl_in02",79,102; + end; + case 2: + mes " - You ignore the distortion. - "; + close; + } + } + if (BaseLevel > 94){ + mes " - I can feel a strange distortion around me - "; + next; + switch(select( "Search the area.:Ignore it.")){ + case 1: + mes " - There appears to be nothing here. But I can definitely feel something around here... - "; + next; + switch(select("Extend arm.:Leave it alone.")){ + case 1: + mes " - I extend my arm as a fierce sound resonates in my ear and a cool wave surrounds me - "; + close2; + warp "spl_in02",79,102; + end; + case 2: + mes " - You decide to leave it alone. - "; + close; + } + case 2: + mes " - You ignore it. - "; + close; + } + } + end; +} + +spl_in02,77,107,5 script Assistant#Warlock 446,{ + + if (job_wl < 1){ + if (Class == Job_Wizard || Class == Job_High_Wizard || Class == Job_Baby_Wizard){ + mes "[Assistant]"; + mes "Huh!!! Human!?!"; + mes "How did you enter here?"; + mes "This is only connected with a special gate!"; + next; + mes "[Assistant]"; + mes "I don't know how..."; + mes "But we should leave before my master spots you...!"; + next; + mes "[???]"; + mes "What's that noise out there?"; + mes "I warned them to be quiet while I'm meditating."; + next; + mes "[Assistant]"; + mes "Huh!?!"; + mes "Master..."; + mes "It's nothing..."; + next; + mes "[Master]"; + mes "Oh~ there's a human being in front of me."; + next; + mes "[Assistant]"; + mes "Oh this thing?"; + mes "I was just leading it out."; + next; + mes "[Master]"; + mes "Yoop!!!"; + next; + mes "[Yoop]"; + mes "Yeap...!!"; + next; + mes "[Master]"; + mes "There's the warp portal beyond you... Is it an illusion?"; + next; + mes "[Yoop]"; + mes "Sorry!!!"; + mes "It's my mistake..."; + next; + mes "[Master]"; + mes "Fool..."; + mes "I'll deal with you after you send the human away."; + next; + mes "[Master]"; + mes "MushSartas Ir Cyamar"; + mes "UdenLo"; + next; + mes " - The fairy with the green hair chants a spell. - "; + mes " - I feel like something special surrounds me. - "; + specialeffect2 EF_DISPELL; + next; + mes "[Master]"; + mes "Oh, that's interesting."; + mes "How dare you resist me human?"; + next; + if ((BaseLevel > 98) && (JobLevel > 49)){ + mes "[Master]"; + mes "Oh, that's interesting."; + mes "How dare you resist me human?"; + next; + menu "I'm not sure. Who are you?",-; + mes "[Master]"; + mes "I am the leader of the ^000077Warlock^000000s."; + mes "'^000077Sila Egnoloria^000000'"; + mes "If you are a Wizard, it would be good of you to memorize my name."; + next; + menu "What is a ^000077Warlock^000000?",-; + mes "[Master Egnoloria]"; + mes "Oh...are you interested?"; + next; + mes "[Master Egnoloria]"; + mes "A ^000077Warlock^000000 is someone who uses the magic of the giants of Jotunheim."; + mes "It can't be defined in any other words."; + next; + mes "[Master Egnoloria]"; + mes "Only the strong magic can explain it."; + mes "kkk"; + next; + menu "Could I become Warlock?",-; + mes "[Master Egnoloria]"; + mes "You?"; + mes "You wanna become a Warlock?"; + mes "Hahaha"; + next; + mes "[Master Egnoloria]"; + mes "You're so interesting."; + mes "It would be difficult for a human to become a Warlock."; + mes "The strong power would gnaw at your weak body."; + next; + mes "[Master Egnoloria]"; + mes "If you dare to face death, you can try to become one."; + next; + switch(select("What do I need to do?:Cancel.")){ + case 1: + mes "[Master Egnoloria]"; + mes "Are you serious?"; + mes "You hunger for power don't you human."; + next; + mes "[Master Egnoloria]"; + mes "The strong desire to be more powerful makes your soul more beautiful."; + next; + mes "[Master Egnoloria]"; + mes "But, I need to check that you're qualified."; + next; + mes "[Master Egnoloria]"; + mes "Yoop!"; + next; + mes "[Yoop]"; + mes "Yeap!!"; + next; + mes "[Master Egnoloria]"; + mes "Give this to the human."; + next; + mes "[Master Egnoloria]"; + mes "Talk to the guy with the weird hair."; + mes "He'll let you know what you should do."; + set job_wl,2; + setquest 11106; + close; + case 2: + mes "[Master Egnoloria]"; + mes "Good."; + mes "You are a human being so that's for you."; + mes "kkk"; + set job_wl,1; + close2; + warp "splendide",200,100; + end; + } + } + mes "[Master]"; + mes "You're still quite far too low of a level to even consider this."; + close2; + warp "splendide",200,100; + end; + } + mes "[Assistant]"; + mes "Huh!!! Human!?!"; + mes "How did you enter here?"; + mes "This is only connected with a special gate!"; + next; + mes "[Assistant]"; + mes "I don't know how..."; + mes "But we should leave before my master spots you...!"; + next; + mes "[???]"; + mes "What's that noise out there?"; + mes "I warned them to be quiet while I'm meditating."; + next; + mes "[Assistant]"; + mes "Huh!?!"; + mes "Master..."; + mes "It's nothing..."; + next; + mes "[Master]"; + mes "Oh~ there's a human being in front of me."; + next; + mes "[Assistant]"; + mes "Oh this thing?"; + mes "I was just leading it out."; + next; + mes "[Master]"; + mes "Yoop!!!"; + next; + mes "[Yoop]"; + mes "Yeap...!!"; + next; + mes "[Master]"; + mes "There's the warp portal beyond you... Is it an illusion?"; + next; + mes "[Yoop]"; + mes "Sorry!!!"; + mes "It's my mistake..."; + next; + mes "[Master]"; + mes "Fool..."; + mes "I'll deal with you after you send the human away."; + next; + mes "[Master]"; + mes "MushSartas Ir Cyamar"; + mes "UdenLo"; + close2; + warp "splendide",200,100; + end; + } + if (job_wl == 1){ + mes "[Yoop]"; + mes "You're... we've met before."; + mes "Can you imagine how severely I was scolded by my master?!"; + mes "If you have any business with me, just go away!"; + next; + switch(select("Leave.:Stay.")){ + case 1: + mes "[Yoop]"; + mes "Leave me alone...!"; + close2; + warp "splendide",200,100; + end; + case 2: + mes "[Yoop]"; + mes "What?!"; + mes "Just do whatever you want..."; + mes "My master will deal with you then."; + close; + } + } + if (job_wl == 2){ + mes "[Yoop]"; + mes "Dear, master! My pony-tail is funny looking?!"; + mes "Oh, but I spent a lot time on it!"; + next; + mes "[Master Egnoloria]"; + mes "It's noisy."; + mes "I need to meditate"; + mes "so do as I said."; + next; + mes "[Yoop]"; + mes "Huh.."; + mes "Oh, yeah!"; + next; + mes "[Yoop]"; + mes "Hey, human!"; + mes "Would you like to"; + mes "become a Warlock?"; + next; + if (SkillPoint != 0) { + mes "[Yoop]"; + mes "First, use all of your remaining job skills points before continuing."; + set job_wl,3; + close; + } + mes "[Yoop]"; + mes "This is the Master's"; + mes "decision so let me know."; + next; + mes "[Yoop]"; + mes "We need to test if your body can withstand being a Warlock."; + mes "So you need to gather materials to prove yourself."; + next; + mes "[Yoop]"; + mes "Please gather ^000077Glittering Crystal^000000s and ^000077Giant Bradium Fragment^000000s."; + next; + mes "[Yoop]"; + mes "You must be wearing these Magical Stone Rings to get these items while hunting."; + mes "You need to hunt Naga and Bradium Golems while wearing these rings."; + next; + mes "[Yoop]"; + mes "Show us how strong you are. And don't forget to wear this."; + set job_wl,4; + getitem 2796,1; //Magical_Stone + getitem 2797,1; //Magical_Stone_ + changequest 11106,11107; + next; + mes "[Yoop]"; + mes "Bring these stones with you or else you won't be able to return!"; + mes "Be careful!"; + next; + mes "[Yoop]"; + mes "The person next to my Master will let you out if you talk to him."; + next; + mes "[Yoop]"; + mes "My lab is located on the north western part of Splendide. Bring these to me when you've gathered them."; + close; + } + if (job_wl == 3){ + if (SkillPoint != 0) { + mes "[Yoop]"; + mes "First, use all of your remaining job skills points before continuing."; + close; + } + mes "[Yoop]"; + mes "We need to test if your body can withstand being a Warlock."; + mes "So you need to gather materials to prove yourself."; + next; + mes "[Yoop]"; + mes "Please gather ^000077Glittering Crystal^000000s and ^000077Giant Bradium Fragment^000000s."; + next; + mes "[Yoop]"; + mes "You must be wearing these Magical Stone Rings to get these items while hunting."; + mes "You need to hunt Naga and Bradium Golems while wearing these rings."; + next; + mes "[Yoop]"; + mes "Show us how strong you are. And don't forget to wear this."; + set job_wl,4; + getitem 2796,1; //Magical_Stone + getitem 2797,1; //Magical_Stone_ + changequest 11106,11107; + next; + mes "[Yoop]"; + mes "Bring these stones with you or else you won't be able to return!"; + mes "Be careful!"; + next; + mes "[Yoop]"; + mes "The person next to my Master will let you out if you talk to him."; + next; + mes "[Yoop]"; + mes "My lab is located on the north western part of Splendide. Bring these to me when you've gathered them."; + close; + } + if (job_wl == 4){ + if (countitem(6152) < 1 || countitem(6151) < 1){ + mes "[Yoop]"; + mes "Please gather ^000077Glittering Crystal^000000s and ^000077Giant Bradium Fragment^000000s."; + next; + mes "[Yoop]"; + mes "You must be wearing these Magical Stone Rings to get these items while hunting."; + mes "You need to hunt Naga and Bradium Golems while wearing these rings."; + next; + mes "[Yoop]"; + mes "Bring these stones with you or else you won't be able to return!"; + mes "Be careful!"; + next; + mes "[Yoop]"; + mes "The person next to my Master will let you out if you talk to him."; + next; + mes "[Yoop]"; + mes "My lab is located on the north western part of Splendide. Bring these to me when you've gathered them."; + close; + } + mes "[Yoop]"; + mes "I can't conduct the task here. I need to go to my lab."; + mes "My lab is located on the north western part of Splendide."; + close; + } + if (job_wl == 5){ + mes "[Yoop]"; + mes "This stone is well made."; + mes "Please go to my Master."; + close; + } + mes "[Yoop]"; + mes "A Magic Chamber is created from magic materials."; + next; + mes "[Yoop]"; + mes "This combined stone is formed differently according to the raw materials and the way of treating it."; + next; + mes "[Yoop]"; + mes "But most of stones are quite similar!"; + mes "We can't differentiate them easily."; + next; + mes "[Yoop]"; + mes "Even I don't know how it all works."; + close; +} + +spl_in02,60,231,5 script Yoop#Warlock 446,{ + + if (job_wl < 4){ + mes "[Yoop]"; + mes "Who are you."; + mes "Get out of here!"; + close; + } + if (job_wl == 4){ + mes "[Yoop]"; + mes "You're back??"; + next; + switch(select("I brought the materials.:I've lost the Magical Stones.:Nothing.")){ + case 1: + if (countitem(6152) < 1 || countitem(6151) < 1){ + mes "[Yoop]"; + mes "Please gather ^000077Glittering Crystal^000000s and ^000077Giant Bradium Fragment^000000s."; + next; + mes "[Yoop]"; + mes "You must be wearing these Magical Stone Rings to get these items while hunting."; + mes "You need to hunt Naga and Bradium Golems while wearing these rings."; + next; + mes "[Yoop]"; + mes "Bring these stones with you or else you won't be able to return!"; + mes "Be careful!"; + close; + } + else if ((countitem(6152) > 0) && (countitem(6151) > 0)){ + if (countitem(2796) < 1 || countitem(2797) < 1){ + if (isequipped(2796) || isequipped(2797)){ + mes "[Yoop]"; + //Custom translation + mes "Please unequip the stones and talk to me again."; + close; + } + mes "[Yoop]"; + mes "It seems that you don't have it?"; + mes "You lost it?"; + next; + mes "[Yoop]"; + mes "Please find that stone and come back to me."; + close; + } + if (isequipped(2796) || isequipped(2797)){ + mes "[Yoop]"; + //Custom translation + mes "Please unequip the stones and talk to me again."; + close; + } + mes "[Yoop]"; + mes "While I am concentrating on working on this stone. Can you go back to my master?"; + mes "I will follow up once it's done."; + delitem 2796,countitem(2796); //Magical_Stone + delitem 2797,countitem(2797); //Magical_Stone_ + delitem 6152,countitem(6152); //Glittering_Crystal + delitem 6151,countitem(6151); //Peice_Of_Great_Bradium + set job_wl,5; + changequest 11107,11108; + close; + } + case 2: + mes "[Yoop]"; + mes "What?!"; + mes "I asked you to double check it and make sure you wore it!"; + next; + mes "[Yoop]"; + mes "Please check whether you missplaced it or if you already have it equipped."; + next; + switch(select("I found it.:nah.")){ + case 1: + mes "[Yoop]"; + mes "Don't tease me!"; + mes "It's not hard to tell if you have it or not!"; + close; + case 2: + if ((countitem(2797) < 1) && (countitem(2796) < 1)){ + if (!isequipped(2796) || !isequipped(2797)){ + if (countitem(732) >= 2){ + switch(select("Give 2x 3 Carat Diamonds.:Just quit it.")){ + case 1: + mes "[Yoop]"; + mes " I will overlook your fault."; + mes "Please be careful with it."; + delitem 732,2; //Crystal_Jewel__ + getitem 2796,1; //Magical_Stone + getitem 2797,1; //Magical_Stone_ + close; + case 2: + mes "[Yoop]"; + mes "Just show me your good faith!"; + close; + } + } + mes "[Yoop]"; + mes "How can you can say that?"; + mes "^000077Just apologize.^000000!"; + mes "I guess I could give you more stones if you give me say 2x 3 carat diamond..."; + close; + } + mes "[Yoop]"; + mes "How can you can say that?"; + mes "^000077Just apologize.^000000!"; + mes "I guess I could give you more stones if you give me say 2x 3 carat diamond..."; + close; + } + mes "[Yoop]"; + mes "How can you can say that?"; + mes "^000077Just apologize.^000000!"; + mes "I guess I could give you more stones if you give me say 2x 3 carat diamond..."; + close; + } + case 3: + mes "[Yoop]"; + mes "What...?"; + mes "Don't bother me, I am quite busy."; + close; + } + } + mes "[Yoop]"; + mes "I am focusing on meditating."; + mes "So I can create magic."; + next; + mes "[Yoop]"; + mes "And... you seem to have more talent on this than regular mages."; + mes "Maybe if I become an alchemist, I might be better than I am now don't you think?"; + next; + mes "[Yoop]"; + mes "I'm studying to better myself."; + next; + mes "[Yoop]"; + mes "If am inside of 'the room of time and magic', I will catch up with your power!"; + mes "Hahahaha..."; + close; +} + +spl_in02,84,103,3 script Assistant#Warlock2 445,{ + + if (job_wl < 1){ + if (Class == Job_Wizard || Class == Job_High_Wizard || Class == Job_Baby_Wizard){ + mes "[Assistant]"; + mes "Huh!!! Human!?!"; + mes "How did you enter here?"; + mes "This is only connected with a special gate!"; + next; + mes "[Assistant]"; + mes "I don't know how..."; + mes "But we should leave before my master spots you...!"; + next; + mes "[???]"; + mes "What's that noise out there?"; + mes "I warned them to be quiet while I'm meditating."; + next; + mes "[Assistant]"; + mes "Huh!?!"; + mes "Master..."; + mes "It's nothing..."; + next; + mes "[Master]"; + mes "Oh~ there's a human being in front of me."; + next; + mes "[Assistant]"; + mes "Oh this thing?"; + mes "I was just leading it out."; + next; + mes "[Master]"; + mes "Yoop!!!"; + next; + mes "[Yoop]"; + mes "Yeap...!!"; + next; + mes "[Master]"; + mes "There's the warp portal beyond you... Is it an illusion?"; + next; + mes "[Yoop]"; + mes "Sorry!!!"; + mes "It's my mistake..."; + next; + mes "[Master]"; + mes "Fool..."; + mes "I'll deal with you after you send the human away."; + next; + mes "[Master]"; + mes "MushSartas Ir Cyamar"; + mes "UdenLo"; + next; + mes " - The fairy with the green hair chants a spell. - "; + mes " - I feel like something special surrounds me. - "; + specialeffect2 EF_DISPELL; + next; + mes "[Master]"; + mes "Oh, that's interesting."; + mes "How dare you resist me human?"; + next; + if (BaseLevel > 98){ + mes "[Master]"; + mes "Oh, that's interesting."; + mes "How dare you resist me human?"; + next; + menu "I'm not sure. Who are you?",-; + mes "[Master]"; + mes "I am the leader of the ^000077Warlock^000000s."; + mes "'^000077Sila Egnoloria^000000'"; + mes "If you are a Wizard, it would be good of you to memorize my name."; + next; + menu "What is a ^000077Warlock^000000?",-; + mes "[Master Egnoloria]"; + mes "Oh...are you interested?"; + next; + mes "[Master Egnoloria]"; + mes "A ^000077Warlock^000000 is someone who uses the magic of the giants of Jotunheim."; + mes "It can't be defined in any other words."; + next; + mes "[Master Egnoloria]"; + mes "Only the strong magic can explain it."; + next; + menu "Could I become Warlock?",-; + mes "[Master Egnoloria]"; + mes "You?"; + mes "You wanna become a Warlock?"; + mes "Hahaha"; + next; + mes "[Master Egnoloria]"; + mes "You're so interesting."; + mes "It would be difficult for a human to become a Warlock."; + mes "The strong power would gnaw at your weak body."; + next; + mes "[Master Egnoloria]"; + mes "If you dare to face death, you can try to become one."; + next; + switch(select("What do I need to do?:Cancel.")){ + case 1: + mes "[Master Egnoloria]"; + mes "Are you serious?"; + mes "You hunger for power don't you human."; + next; + mes "[Master Egnoloria]"; + mes "The strong desire to be more powerful makes your soul more beautiful."; + next; + mes "[Master Egnoloria]"; + mes "But, I need to check that you're qualified."; + next; + mes "[Master Egnoloria]"; + mes "Yoop!"; + next; + mes "[Yoop]"; + mes "Yeap!!"; + next; + mes "[Master Egnoloria]"; + mes "Give this to the human."; + next; + mes "[Master Egnoloria]"; + mes "Talk to the guy with the weird hair."; + mes "He'll let you know what you should do."; + set job_wl,2; + setquest 11106; + close; + case 2: + mes "[Master Egnoloria]"; + mes "Good."; + mes "You are a human being so that's for you."; + mes "kkk"; + set job_wl,1; + close2; + warp "splendide",200,100; + end; + } + } + mes "[Master]"; + mes "You're still quite far too low of a level to even consider this."; + close2; + warp "splendide",200,100; + end; + } + mes "[Assistant]"; + mes "Huh!!! Human!?!"; + mes "How did you enter here?"; + mes "This is only connected with a special gate!"; + next; + mes "[Assistant]"; + mes "I don't know how..."; + mes "But we should leave before my master spots you...!"; + next; + mes "[???]"; + mes "What's that noise out there?"; + mes "I warned them to be quiet while I'm meditating."; + next; + mes "[Assistant]"; + mes "Huh!?!"; + mes "Master..."; + mes "It's nothing..."; + next; + mes "[Master]"; + mes "Oh~ there's a human being in front of me."; + next; + mes "[Assistant]"; + mes "Oh this thing?"; + mes "I was just leading it out."; + next; + mes "[Master]"; + mes "Yoop!!!"; + next; + mes "[Yoop]"; + mes "Yeap...!!"; + next; + mes "[Master]"; + mes "There's the warp portal beyond you... Is it an illusion?"; + next; + mes "[Yoop]"; + mes "Sorry!!!"; + mes "It's my mistake..."; + next; + mes "[Master]"; + mes "Fool..."; + mes "I'll deal with you after you send the human away."; + next; + mes "[Master]"; + mes "MushSartas Ir Cyamar"; + mes "UdenLo"; + close2; + warp "splendide",200,100; + end; + } + if (job_wl == 1){ + mes "[Assistant]"; + mes "Human! What do you want?"; + close; + } + if ((job_wl > 1) && (job_wl < 6)){ + mes "[Assistant]"; + mes "It's not me you are looking for currently."; + close; + } + if (job_wl == 6){ + if(checkweight(1201,1) == 0){ + mes "You've got too many items."; + mes "You'd best remove some and come back."; + close; + } + mes "[Yoop]"; + mes "The test isn't that hard."; + mes "We can create the magic stone in the magic room."; + next; + mes "[Yoop]"; + mes "Be careful of the monsters in the test room."; + mes "These are rainbow Rubies sealed with a Warlock's magic."; + mes "Use these during the test."; + next; + mes "[Yoop]"; + mes "I will guide you into the magic room."; + set job_wl,7; + changequest 11109,11110; + getitem 12384,5; //Rainbow_Ruby_Water + getitem 12385,5; //Rainbow_Ruby_Fire + getitem 12386,5; //Rainbow_Ruby_Wind + getitem 12387,5; //Rainbow_Ruby_Earth + close2; + warp "job3_war01",23,20; + end; + } + if (job_wl == 7){ + if(checkweight(1201,1) == 0){ + mes "You've got too many items."; + mes "You'd best remove some and come back."; + close; + } + mes "[Assistant]"; + mes "Would you like to try it again?"; + mes "Let me give you more rubies."; + next; + if (countitem(12384)) + delitem 12384,countitem(12384); //Rainbow_Ruby_Water + if (countitem(12385)) + delitem 12385,countitem(12385); //Rainbow_Ruby_Fire + if (countitem(12386)) + delitem 12386,countitem(12386); //Rainbow_Ruby_Wind + if (countitem(12387)) + delitem 12387,countitem(12387); //Rainbow_Ruby_Earth + getitem 12384,5; //Rainbow_Ruby_Water + getitem 12385,5; //Rainbow_Ruby_Fire + getitem 12386,5; //Rainbow_Ruby_Wind + getitem 12387,5; //Rainbow_Ruby_Earth + close2; + warp "job3_war01",23,20; + end; + } + if (job_wl == 8){ + mes "[Assistant]"; + mes "You have successfully crystallized the Hollow Stone."; + mes "I'm sorry that I've doubted you."; + if (countitem(12384)) + delitem 12384,countitem(12384); //Rainbow_Ruby_Water + if (countitem(12385)) + delitem 12385,countitem(12385); //Rainbow_Ruby_Fire + if (countitem(12386)) + delitem 12386,countitem(12386); //Rainbow_Ruby_Wind + if (countitem(12387)) + delitem 12387,countitem(12387); //Rainbow_Ruby_Earth + next; + mes "[Assistant]"; + mes "All of the tests are done. Now talk to Master Engoloria."; + mes "I'm so happy that you have succeeded."; + set job_wl,9; + changequest 11111,11112; + close; + } + if (job_wl == 9){ + mes "[Assistant]"; + mes "All of the tests are done. Now talk to Master Engoloria."; + mes "I'm so happy that you have succeeded."; + close; + } + mes "[Assistant]"; + mes "I can feel that you have strong magic."; + mes "I envy you."; + next; + mes "[Assistant]"; + mes "It deserves something special."; + mes "Don't abuse it."; + close; +} + +spl_in02,78,110,5 script Assistant#Warlock3 443,{ + + if (job_wl < 1){ + if (Class == Job_Wizard || Class == Job_High_Wizard || Class == Job_Baby_Wizard){ + mes "[Assistant]"; + mes "Huh!!! Human!?!"; + mes "How did you enter here?"; + mes "This is only connected with a special gate!"; + next; + mes "[Assistant]"; + mes "I don't know how..."; + mes "But we should leave before my master spots you...!"; + next; + mes "[???]"; + mes "What's that noise out there?"; + mes "I warned them to be quiet while I'm meditating."; + next; + mes "[Assistant]"; + mes "Huh!?!"; + mes "Master..."; + mes "It's nothing..."; + next; + mes "[???]"; + mes "Oh~ there's a human being in front of me."; + next; + mes "[Assistant]"; + mes "Oh this thing?"; + mes "I was just leading it out."; + next; + mes "[Master]"; + mes "Yoop!!!"; + next; + mes "[Yoop]"; + mes "Yeap...!!"; + next; + mes "[Master]"; + mes "There's the warp portal beyond you... Is it an illusion?"; + next; + mes "[Yoop]"; + mes "Sorry!!!"; + mes "It's my mistake..."; + next; + mes "[Master]"; + mes "Fool..."; + mes "I'll deal with you after you send the human away."; + next; + mes "[Master]"; + mes "MushSartas Ir Cyamar"; + mes "UdenLo"; + next; + mes " - The fairy with the green hair chants a spell. - "; + mes " - I feel like something special surrounds me. - "; + specialeffect2 EF_DISPELL; + next; + mes "[Master]"; + mes "Oh, that's interesting."; + mes "How dare you resist me human?"; + next; + if (BaseLevel > 98){ + mes "[Master]"; + mes "Oh, that's interesting."; + mes "How dare you resist me human?"; + next; + menu "I'm not sure. Who are you?",-; + mes "[Master]"; + mes "I am the leader of the ^000077Warlock^000000s."; + mes "'^000077Sila Egnoloria^000000'"; + mes "If you are a Wizard, it would be good of you to memorize my name."; + next; + menu "What is a ^000077Warlock^000000?",-; + mes "[Master Egnoloria]"; + mes "Oh...are you interested?"; + next; + mes "[Master Egnoloria]"; + mes "A ^000077Warlock^000000 is someone who uses the magic of the giants of Jotunheim."; + mes "It can't be defined in any other words."; + next; + mes "[Master Egnoloria]"; + mes "Only the strong magic can explain it."; + mes "kkk"; + next; + menu "Could I become Warlock?",-; + mes "[Master Egnoloria]"; + mes "You?"; + mes "You wanna become a Warlock?"; + mes "Hahaha"; + next; + mes "[Master Egnoloria]"; + mes "You're so interesting."; + mes "It would be difficult for a human to become a Warlock."; + mes "The strong power would gnaw at your weak body."; + next; + mes "[Master Egnoloria]"; + mes "If you dare to face death, you can try to become one."; + next; + switch(select("What do I need to do?:Cancel.")){ + case 1: + mes "[Master Egnoloria]"; + mes "Are you serious?"; + mes "You hunger for power don't you human."; + next; + mes "[Master Egnoloria]"; + mes "The strong desire to be more powerful makes your soul more beautiful."; + next; + mes "[Master Egnoloria]"; + mes "But, I need to check that you're qualified."; + next; + mes "[Master Egnoloria]"; + mes "Yoop!"; + next; + mes "[Yoop]"; + mes "Yeap!!"; + next; + mes "[Master Egnoloria]"; + mes "Give this to the human."; + next; + mes "[Master Egnoloria]"; + mes "Talk to the guy with the weird hair."; + mes "He'll let you know what you should do."; + set job_wl,2; + setquest 11106; + close; + case 2: + mes "[Master Egnoloria]"; + mes "Good."; + mes "You are a human being so that's for you."; + mes "kkk"; + set job_wl,1; + close2; + warp "splendide",200,100; + end; + } + } + mes "[Master]"; + mes "You're still quite far too low of a level to even consider this."; + close2; + warp "splendide",200,100; + end; + } + mes "[Assistant]"; + mes "Huh!!! Human!?!"; + mes "How did you enter here?"; + mes "This is only connected with a special gate!"; + next; + mes "[Assistant]"; + mes "I don't know how..."; + mes "But we should leave before my master spots you...!"; + next; + mes "[???]"; + mes "What's that noise out there?"; + mes "I warned them to be quiet while I'm meditating."; + next; + mes "[Assistant]"; + mes "Huh!?!"; + mes "Master..."; + mes "It's nothing..."; + next; + mes "[???]"; + mes "Oh~ there's a human being in front of me."; + next; + mes "[Assistant]"; + mes "Oh this thing?"; + mes "I was just leading it out."; + next; + mes "[Master]"; + mes "Yoop!!!"; + next; + mes "[Yoop]"; + mes "Yeap...!!"; + next; + mes "[Master]"; + mes "There's the warp portal beyond you... Is it an illusion?"; + next; + mes "[Yoop]"; + mes "Sorry!!!"; + mes "It's my mistake..."; + next; + mes "[Master]"; + mes "Fool..."; + mes "I'll deal with you after you send the human away."; + next; + mes "[Master]"; + mes "MushSartas Ir Cyamar"; + mes "UdenLo"; + close2; + warp "splendide",200,100; + end; + } + if (job_wl == 1){ + mes "[Assistant]"; + mes "......"; + mes "If you don't have anything to say to me, would you just leave?"; + next; + switch(select("Leave:Stay")){ + case 1: + mes "[Assistant]"; + mes "Then be careful!"; + close2; + warp "splendide",200,100; + end; + case 2: + mes "[Assistant]"; + mes "......"; + close; + } + } + if (job_wl == 2){ + mes "[Assistant]"; + mes "......"; + mes "I don't have a pony-tail..."; + next; + switch(select("Leave:Cancel.")){ + case 1: + mes "[Assistant]"; + mes "Then be careful."; + close2; + warp "splendide",200,100; + end; + case 2: + mes "[Assistant]"; + mes "......"; + close; + } + } + mes "[Assistant]"; + mes "Please be quiet while my master is meditating."; + next; + switch(select("Leave:Cancel.")){ + case 1: + mes "[Assistant]"; + mes "Then be careful."; + close2; + warp "splendide",200,100; + end; + case 2: + mes "[Assistant]"; + mes "......"; + close; + } +} + +spl_in02,80,108,5 script Guild Master#Warlock 465,{ + + if (job_wl < 1){ + if (Class == Job_Wizard || Class == Job_High_Wizard || Class == Job_Baby_Wizard){ + mes "[Assistant]"; + mes "Huh!!! Human!?!"; + mes "How did you enter here?"; + mes "This is only connected with a special gate!"; + next; + mes "[Assistant]"; + mes "I don't know how..."; + mes "But we should leave before my master spots you...!"; + next; + mes "[???]"; + mes "What's that noise out there?"; + mes "I warned them to be quiet while I'm meditating."; + next; + mes "[Assistant]"; + mes "Huh!?!"; + mes "Master..."; + mes "It's nothing..."; + next; + mes "[Master]"; + mes "Oh~ there's a human being in front of me."; + next; + mes "[Assistant]"; + mes "Oh this thing?"; + mes "I was just leading it out."; + next; + mes "[Master]"; + mes "Yoop!!!"; + next; + mes "[Yoop]"; + mes "Yeap...!!"; + next; + mes "[Master]"; + mes "There's the warp portal beyond you... Is it an illusion?"; + next; + mes "[Yoop]"; + mes "Sorry!!!"; + mes "It's my mistake..."; + next; + mes "[Master]"; + mes "Fool..."; + mes "I'll deal with you after you send the human away."; + next; + mes "[Master]"; + mes "MushSartas Ir Cyamar"; + mes "UdenLo"; + next; + mes " - The fairy with the green hair chants a spell. - "; + mes " - I feel like something special surrounds me. - "; + specialeffect2 EF_DISPELL; + next; + mes "[Master]"; + mes "Oh, that's interesting."; + mes "How dare you resist me human?"; + next; + if (BaseLevel > 98){ + mes "[Master]"; + mes "Oh, that's interesting."; + mes "How dare you resist me human?"; + next; + menu "I'm not sure. Who are you?",-; + mes "[Master]"; + mes "I am the leader of the ^000077Warlock^000000s."; + mes "'^000077Sila Egnoloria^000000'"; + mes "If you are a Wizard, it would be good of you to memorize my name."; + next; + menu "What is a ^000077Warlock^000000?",-; + mes "[Master Egnoloria]"; + mes "Oh...are you interested?"; + next; + mes "[Master Egnoloria]"; + mes "A ^000077Warlock^000000 is someone who uses the magic of the giants of Jotunheim."; + mes "It can't be defined in any other words."; + next; + mes "[Master Egnoloria]"; + mes "Only the strong magic can explain it."; + mes "kkk"; + next; + menu "Could I become Warlock?",-; + mes "[Master Egnoloria]"; + mes "You?"; + mes "You wanna become a Warlock?"; + mes "Hahaha"; + next; + mes "[Master Egnoloria]"; + mes "You're so interesting."; + mes "It would be difficult for a human to become a Warlock."; + mes "The strong power would gnaw at your weak body."; + next; + mes "[Master Egnoloria]"; + mes "If you dare to face death, you can try to become one."; + next; + switch(select("What do I need to do?:Cancel.")){ + case 1: + mes "[Master Egnoloria]"; + mes "Are you serious?"; + mes "You hunger for power don't you human."; + next; + mes "[Master Egnoloria]"; + mes "The strong desire to be more powerful makes your soul more beautiful."; + next; + mes "[Master Egnoloria]"; + mes "But, I need to check that you're qualified."; + next; + mes "[Master Egnoloria]"; + mes "Yoop!"; + next; + mes "[Yoop]"; + mes "Yeap!!"; + next; + mes "[Master Egnoloria]"; + mes "Give this to the human."; + next; + mes "[Master Egnoloria]"; + mes "Talk to the guy with the weird hair."; + mes "He'll let you know what you should do."; + set job_wl,2; + setquest 11106; + close; + case 2: + mes "[Master Egnoloria]"; + mes "Good."; + mes "You are a human being so that's for you."; + mes "kkk"; + set job_wl,1; + close2; + warp "splendide",200,100; + end; + } + } + mes "[Master]"; + mes "You're still quite far too low of a level to even consider this."; + close2; + warp "splendide",200,100; + end; + } + mes "[Assistant]"; + mes "Huh!!! Human!?!"; + mes "How did you enter here?"; + mes "This is only connected with a special gate!"; + next; + mes "[Assistant]"; + mes "I don't know how..."; + mes "But we should leave before my master spots you...!"; + next; + mes "[???]"; + mes "What's that noise out there?"; + mes "I warned them to be quiet while I'm meditating."; + next; + mes "[Assistant]"; + mes "Huh!?!"; + mes "Master..."; + mes "It's nothing..."; + next; + mes "[Master]"; + mes "Oh~ there's a human being in front of me."; + next; + mes "[Assistant]"; + mes "Oh this thing?"; + mes "I was just leading it out."; + next; + mes "[Master]"; + mes "Yoop!!!"; + next; + mes "[Yoop]"; + mes "Yeap...!!"; + next; + mes "[Master]"; + mes "There's the warp portal beyond you... Is it an illusion?"; + next; + mes "[Yoop]"; + mes "Sorry!!!"; + mes "It's my mistake..."; + next; + mes "[Master]"; + mes "Fool..."; + mes "I'll deal with you after you send the human away."; + next; + mes "[Master]"; + mes "MushSartas Ir Cyamar"; + mes "UdenLo"; + close2; + warp "splendide",200,100; + end; + } + if (job_wl == 1){ + mes "[Master Egnoloria]"; + mes "Do you have something to ask me?"; + next; + switch(select("How can I be a Warlock?:Cancel.")){ + case 1: + mes "[Master Egnoloria]"; + mes "Are you serious?"; + mes "You hunger for power don't you human."; + next; + mes "[Master Egnoloria]"; + mes "The strong desire to be more powerful makes your soul more beautiful."; + next; + mes "[Master Egnoloria]"; + mes "But, I need to check that you're qualified."; + next; + mes "[Master Egnoloria]"; + mes "Yoop!"; + next; + mes "[Yoop]"; + mes "Yeap!!"; + next; + mes "[Master Egnoloria]"; + mes "Give this to the human."; + next; + mes "[Master Egnoloria]"; + mes "Talk to the guy with the weird hair."; + mes "He'll let you know what you should do."; + set job_wl,2; + setquest 11106; + close; + case 2: + mes "[Master Egnoloria]"; + mes "Good."; + mes "You are a human being so that's for you."; + mes "kkk"; + close2; + warp "splendide",200,100; + end; + } + } + if (job_wl == 2){ + mes "[Master Egnoloria]"; + mes "I'm meditating, I said talk to Yoop ok."; + mes "Yoop has a funny pony-tail."; + mes "And don't disturb me."; + close; + } + if (job_wl == 3 || job_wl == 4){ + mes "[Master Egnoloria]"; + mes "......"; + next; + mes "[Assistant]"; + mes "Master is meditating."; + mes "Be quiet."; + close; + } + if (job_wl == 5){ + mes "[Master Egnoloria]"; + mes "I've heard from Yoop that a very useful stone can be created."; + mes "Kkk."; + next; + mes "[Master Egnoloria]"; + mes "It can be used to make magical jewelry that can cast powerful magic."; + next; + mes "[Master Egnoloria]"; + mes "Yoop."; + next; + mes "[Yoop]"; + mes "Yeap, Master!"; + next; + mes "[Master Egnoloria]"; + mes "Please take him to the magical room."; + next; + mes "[Yoop]"; + mes "Yup, Master."; + mes "Please follow me."; + emotion e_ic,"Assistant#Warlock2"; + set job_wl,6; + changequest 11108,11109; + close; + } + if ((job_wl > 5) && (job_wl < 9)){ + mes "[Master Egnoloria]"; + mes "......"; + next; + mes "[Yoop]"; + mes "My master is meditating now, please follow me."; + close; + } + if (job_wl == 9){ + if (BaseLevel == 99){ + if(checkweight(1201,1) == 0){ + mes "You've got too many items."; + mes "Please come back after reducing the number of items you have."; + close; + } + if (SkillPoint != 0) { + mes "[Master Egnoloria]"; + //Custom Translation + mes "Unless you like being your current job, you should use all your skill points."; + close; + } + if (Class == Job_Baby_Wizard){ + mes "[Master Egnoloria]"; + mes "Beautiful light..."; + mes "Don't make me disappointed at you..."; + next; + mes "[Master Egnoloria]"; + mes "You have become a member of the Warlocks."; + mes "Be proud."; + next; + mes "[Master Egnoloria]"; + mes "This crystallized magical stone will keep you safe."; + set job_wl,10; + jobchange Job_Baby_Warlock; + completequest 11112; + getitem 5753,1; //Magic_Stone_Hat + getitem 2795,1; //Green_Apple_Ring + close; + } + if (Class == Job_Wizard){ + mes "[Master Egnoloria]"; + mes "Beautiful light..."; + mes "Don't make me disappointed at you..."; + next; + mes "[Master Egnoloria]"; + mes "You have become a member of the Warlocks."; + mes "Be proud."; + next; + mes "[Master Egnoloria]"; + mes "This crystallized magical stone will keep you safe."; + set job_wl,10; + jobchange Job_Warlock; + completequest 11112; + getitem 5753,1; //Magic_Stone_Hat + getitem 2795,1; //Green_Apple_Ring + close; + } + if(Class == Job_High_Wizard){ + if ((JobLevel > 49) && (JobLevel < 60)){ + mes "[Master Egnoloria]"; + mes "Beautiful light..."; + mes "Don't make me disappointed at you..."; + next; + mes "[Master Egnoloria]"; + mes "You have become a member of the Warlocks."; + mes "Be proud."; + next; + mes "[Master Egnoloria]"; + mes "This crystallized magical stone will keep you safe."; + set job_wl,11; + jobchange Job_Warlock_T; + completequest 11112; + getitem 5753,1; //Magic_Stone_Hat + getitem 2795,1; //Green_Apple_Ring + close; + }else if ((JobLevel > 59) && (JobLevel < 70)){ + mes "[Master Egnoloria]"; + mes "Beautiful light..."; + mes "Don't make me disappointed at you..."; + next; + mes "[Master Egnoloria]"; + mes "You have become a member of the Warlocks."; + mes "Be proud."; + next; + mes "[Master Egnoloria]"; + mes "This crystallized magical stone will keep you safe."; + set job_wl,12; + jobchange Job_Warlock_T; + completequest 11112; + getitem 5753,1; //Magic_Stone_Hat + getitem 2795,1; //Green_Apple_Ring + close; + }else if (JobLevel == 70){ + mes "[Master Egnoloria]"; + mes "Beautiful light..."; + mes "Don't make me disappointed at you..."; + next; + mes "[Master Egnoloria]"; + mes "You have become a member of the Warlocks."; + mes "Be proud."; + next; + mes "[Master Egnoloria]"; + mes "This crystallized magical stone will keep you safe."; + set job_wl,13; + jobchange Job_Warlock_T; + completequest 11112; + getitem 5753,1; //Magic_Stone_Hat + getitem 2795,1; //Green_Apple_Ring + close; + } + } + mes "[Master Egnoloria]"; + //Custom Translation + mes "Ah......?"; + close; + } + mes "[Master Egnoloria]"; + //Custom Translation + mes "Ah......?"; + mes "How come you've made it this far..."; + close; + } + if (job_wl > 9){ + mes "[Master Egnoloria]"; + mes "How are you adjusting to the power of a Warlocks?"; + mes "If you get careless, you will be overthrown by your own power."; + close; + } +} + +job3_war01,22,22,7 script Yoop#WRR 439,{ + + mes "[Yoop]"; + mes "If you ask Ebein to be sent to the magical room, he would send you there."; + mes "wait in the queue to enter the Chamber of Magic."; + close; +} + +job3_war01,29,25,0 script Ebein#WRR 437,{ + + mes "[Ebein]"; + mes "Would you like to take a test?"; + mes "If you stand by in the waiting room, you'll be able to go into the Chamber of Magic."; + next; + mes "[Ebein]"; + mes "If there're others inside the room, you just need to wait for a while."; + next; + switch(select("Go to the waiting room.:Go outside.")){ + case 1: + mes "[Ebein]"; + mes "Then please enter the room yourself."; + mes "Make sure you have enough potions to survive the test as the monsters are very powerful in the Chamber."; + close; + case 2: + mes "[Ebein]"; + mes "......"; + mes "Then I will send you outside."; + mes "Bye..."; + close2; + warp "spl_in02",79,102; + end; + } +end; + +} + +job3_war01,29,25,5 script The chamber of magic 437,{ + end; + +OnInit: + disablenpc "The chamber of magic"; + waitingroom "The chamber of magic",20,"The chamber of magic::OnStartArena",1; + enablewaitingroomevent; + end; + +OnStartArena: + warpwaitingpc "job3_war02",29,25; + donpcevent "The chamber of magic#W::OnEnable"; + initnpctimer; + disablewaitingroomevent; + end; + +OnTimer10000: + if(getmapusers("job3_war02")==0) + { + donpcevent "The chamber of magic#W::OnResetNPC"; + donpcevent "The chamber of magic#W2::OnResetNPC"; + donpcevent "The chamber of magic#W3::OnResetNPC"; + donpcevent "Hollow Stone#W::OnResetNPC"; + stopnpctimer; + enablewaitingroomevent; + end; + } + initnpctimer; +end; + +OnEnable: + enablewaitingroomevent; + end; + +OnDisable: + disablewaitingroomevent; + end; +} + +job3_war02,1,1,0 script The chamber of magic#W 66,{ + end; + +OnInit: + disablenpc "The chamber of magic#W"; + end; + +OnEnable: + enablenpc "The chamber of magic#W"; + monster "job3_war02",23,32,"Magic Monster",2047,1,"The chamber of magic#W::OnMyMobDead"; + monster "job3_war02",23,21,"Magic Monster",2048,1,"The chamber of magic#W::OnMyMobDead"; + monster "job3_war02",34,32,"Magic Monster",2049,1,"The chamber of magic#W::OnMyMobDead"; + monster "job3_war02",34,21,"Magic Monster",2050,1,"The chamber of magic#W::OnMyMobDead"; + monster "job3_war02",23,32,"Magic Monster",2047,1,"The chamber of magic#W::OnMyMobDead"; + monster "job3_war02",23,21,"Magic Monster",2048,1,"The chamber of magic#W::OnMyMobDead"; + monster "job3_war02",34,32,"Magic Monster",2049,1,"The chamber of magic#W::OnMyMobDead"; + monster "job3_war02",34,21,"Magic Monster",2050,1,"The chamber of magic#W::OnMyMobDead"; + set .MyMobCount,8; + initnpctimer; + end; + +OnReset: + killmonster "job3_war02","The chamber of magic#W::OnMyMobDead"; + end; + +OnDisable: + disablenpc "The chamber of magic#W"; + end; + +OnMyMobDead: + set .MyMobCount,.MyMobCount-1; + if(.MyMobCount < 1){ + stopnpctimer; + mapannounce "job3_war02","The Monster Invasion has been stopped.",bc_map; + donpcevent "The chamber of magic#W2::OnEnable"; + } + end; + +OnTimer3000: + mapannounce "job3_war02","A Magical Power fragment has been created in the Magic Chamber Room.",bc_map; + end; + +OnTimer4000: + mapannounce "job3_war02","Defend this room from monsters for 5 minutes.",bc_map; + end; + +OnTimer5000: + mapannounce "job3_war02","Destroy all the monsters, and the Chamber will stabilize.",bc_map; + end; + +OnTimer63000: + mapannounce "job3_war02","There's 4 min left to stabilize the chamber....",bc_map; + end; + +OnTimer123000: + mapannounce "job3_war02","There's 3 min left to stabilize the chamber....",bc_map; + end; + +OnTimer183000: + mapannounce "job3_war02","There's 2 min left to stabilize the chamber....",bc_map; + end; + +OnTimer243000: + mapannounce "job3_war02","There's 1 min left to stabilize the chamber....",bc_map; + end; + +OnTimer273000: + mapannounce "job3_war02","There's 30 seconds left to stabilize the chamber....",bc_map; + end; + +OnTimer283000: + mapannounce "job3_war02","There's 20 seconds left to stabilize the chamber....",bc_map; + end; + +OnTimer293000: + mapannounce "job3_war02","There's 10 seconds left to stabilize the chamber....",bc_map; + end; + +OnTimer303000: + mapannounce "job3_war02", "The magic stabilization has failed. The fragment has lost it's power.",bc_map; // custom translation. + donpcevent "The chamber of magic#W::OnReset"; + donpcevent "The chamber of magic#W2::OnReset"; + donpcevent "The chamber of magic#W3::OnReset"; + end; + +OnTimer304000: + mapwarp "job3_war02","spl_in02",79,102; + end; + +OnTimer305000: + donpcevent "The chamber of magic#W::OnDisable"; + donpcevent "The chamber of magic#W2::OnDisable"; + donpcevent "The chamber of magic#W3::OnDisable"; + donpcevent "The chamber of magic::OnEnable"; + stopnpctimer; + end; + +OnResetNPC: + donpcevent "The chamber of magic#W::OnReset"; + donpcevent "The chamber of magic#W2::OnReset"; + donpcevent "The chamber of magic#W3::OnReset"; + donpcevent "The chamber of magic#W::OnDisable"; + donpcevent "The chamber of magic#W2::OnDisable"; + donpcevent "The chamber of magic#W3::OnDisable"; + stopnpctimer "The chamber of magic#W"; +end; +} + +job3_war02,1,2,0 script The chamber of magic#W2 66,{ + end; + +OnInit: + disablenpc "The chamber of magic#W2"; + end; + +OnEnable: + enablenpc "The chamber of magic#W2"; + monster "job3_war02",23,32,"Magic Monster",2047,1,"The chamber of magic#W2::OnMyMobDead"; + monster "job3_war02",23,21,"Magic Monster",2048,1,"The chamber of magic#W2::OnMyMobDead"; + monster "job3_war02",34,32,"Magic Monster",2049,1,"The chamber of magic#W2::OnMyMobDead"; + monster "job3_war02",34,21,"Magic Monster",2050,1,"The chamber of magic#W2::OnMyMobDead"; + monster "job3_war02",23,32,"Magic Monster",2047,1,"The chamber of magic#W2::OnMyMobDead"; + monster "job3_war02",23,21,"Magic Monster",2048,1,"The chamber of magic#W2::OnMyMobDead"; + monster "job3_war02",34,32,"Magic Monster",2049,1,"The chamber of magic#W2::OnMyMobDead"; + monster "job3_war02",34,21,"Magic Monster",2050,1,"The chamber of magic#W2::OnMyMobDead"; + set .MyMobCount,8; + initnpctimer; + end; + +OnReset: + killmonster "job3_war02","The chamber of magic#W2::OnMyMobDead"; + end; + +OnDisable: + disablenpc "The chamber of magic#W2"; + end; + +OnMyMobDead: + set .MyMobCount,.MyMobCount-1; + if(.MyMobCount < 1){ + stopnpctimer; + mapannounce "job3_war02","The Monster Invasion has been stopped.",bc_map; + donpcevent "The chamber of magic#W3::OnEnable"; + } + end; + +OnTimer4000: + mapannounce "job3_war02","Defend this room from monsters for 5 minutes.",bc_map; + end; + +OnTimer5000: + mapannounce "job3_war02","Destroy all the monsters, and the Chamber will stabilize.",bc_map; + end; + +OnTimer63000: + mapannounce "job3_war02","There's 4 min left to stabilize the chamber....",bc_map; + end; + +OnTimer123000: + mapannounce "job3_war02","There's 3 min left to stabilize the chamber....",bc_map; + end; + +OnTimer183000: + mapannounce "job3_war02","There's 2 min left to stabilize the chamber....",bc_map; + end; + +OnTimer243000: + mapannounce "job3_war02","There's 1 min left to stabilize the chamber....",bc_map; + end; + +OnTimer273000: + mapannounce "job3_war02","There's 30 seconds left to stabilize the chamber....",bc_map; + end; + +OnTimer283000: + mapannounce "job3_war02","There's 20 seconds left to stabilize the chamber....",bc_map; + end; + +OnTimer293000: + mapannounce "job3_war02","There's 10 seconds left to stabilize the chamber....",bc_map; + end; + +OnTimer303000: + mapannounce "job3_war02","The magic stabilization has failed. The fragment has lost it's power.",bc_map; // custom translation. + donpcevent "The chamber of magic#W::OnReset"; + donpcevent "The chamber of magic#W2::OnReset"; + donpcevent "The chamber of magic#W3::OnReset"; + end; + +OnTimer304000: + mapwarp "job3_war02", "spl_in02",79,102; + end; + +OnTimer305000: + donpcevent "The chamber of magic#W::OnDisable"; + donpcevent "The chamber of magic#W2::OnDisable"; + donpcevent "The chamber of magic#W3::OnDisable"; + donpcevent "The chamber of magic::OnEnable"; + stopnpctimer; + end; + + +OnResetNPC: + donpcevent "The chamber of magic#W::OnReset"; + donpcevent "The chamber of magic#W2::OnReset"; + donpcevent "The chamber of magic#W3::OnReset"; + donpcevent "The chamber of magic#W::OnDisable"; + donpcevent "The chamber of magic#W2::OnDisable"; + donpcevent "The chamber of magic#W3::OnDisable"; + stopnpctimer "The chamber of magic#W2"; +end; + +} + +job3_war02,1,3,0 script The chamber of magic#W3 66,{ + end; + +OnInit: + disablenpc "The chamber of magic#W3"; + end; + +OnEnable: + enablenpc "The chamber of magic#W3"; + monster "job3_war02",23,32,"Magic Monster",1002,1,"The chamber of magic#W3::OnMyMobDead"; + monster "job3_war02",23,21,"Magic Monster",1002,1,"The chamber of magic#W3::OnMyMobDead"; + monster "job3_war02",34,32,"Magic Monster",1002,1,"The chamber of magic#W3::OnMyMobDead"; + monster "job3_war02",34,21,"Magic Monster",1002,1,"The chamber of magic#W3::OnMyMobDead"; + monster "job3_war02",23,32,"Magic Monster",1002,1,"The chamber of magic#W3::OnMyMobDead"; + monster "job3_war02",23,21,"Magic Monster",1002,1,"The chamber of magic#W3::OnMyMobDead"; + monster "job3_war02",34,32,"Magic Monster",1002,1,"The chamber of magic#W3::OnMyMobDead"; + monster "job3_war02",34,21,"Magic Monster",1002,1,"The chamber of magic#W3::OnMyMobDead"; + set .MyMobCount,8; + initnpctimer; + end; + +OnReset: + killmonster "job3_war02","The chamber of magic#W3::OnMyMobDead"; + end; + +OnDisable: + disablenpc "The chamber of magic#W3"; + end; + +OnMyMobDead: + set .MyMobCount,.MyMobCount-1; + if(.MyMobCount < 1){ + stopnpctimer; + mapannounce "job3_war02","The Monster Invasion has been stopped.",bc_map; + donpcevent "Hollow Stone#W::OnEnable"; + } + end; + +OnTimer4000: + mapannounce "job3_war02", "Defend this room from monsters for 1 min.",bc_map; + end; + +OnTimer5000: + mapannounce "job3_war02", "Destroy all the monsters, and the Chamber will stabilize.",bc_map; + end; + +OnTimer33000: + mapannounce "job3_war02", "There's 30 seconds left to stabilize the chamber....",bc_map; + end; + +OnTimer43000: + mapannounce "job3_war02", "There's 20 seconds left to stabilize the chamber....",bc_map; + end; + +OnTimer53000: + mapannounce "job3_war02", "There's 10 seconds left to stabilize the chamber....",bc_map; + end; + +OnTimer58000: + mapannounce "job3_war02", "There's 5 seconds left to stabilize the chamber....",bc_map; + end; + +OnTimer63000: + mapannounce "job3_war02", "The magic stabilization has failed. The fragment has lost it's power.",bc_map; // custom translation. + donpcevent "The chamber of magic#W::OnReset"; + donpcevent "The chamber of magic#W2::OnReset"; + donpcevent "The chamber of magic#W3::OnReset"; + end; + +OnTimer64000: + mapwarp "job3_war02","spl_in02",79,102; + end; + +OnTimer65000: + donpcevent "The chamber of magic#W::OnDisable"; + donpcevent "The chamber of magic#W2::OnDisable"; + donpcevent "The chamber of magic#W3::OnDisable"; + donpcevent "The chamber of magic::OnEnable"; + stopnpctimer; + end; + + +OnResetNPC: + donpcevent "The chamber of magic#W::OnReset"; + donpcevent "The chamber of magic#W2::OnReset"; + donpcevent "The chamber of magic#W3::OnReset"; + donpcevent "The chamber of magic#W::OnDisable"; + donpcevent "The chamber of magic#W2::OnDisable"; + donpcevent "The chamber of magic#W3::OnDisable"; + stopnpctimer "The chamber of magic#W3"; +end; +} + +job3_war02,1,4,0 script Hollow Stone#W 66,{ + end; + +OnInit: + disablenpc "Hollow Stone#W"; + end; + +OnEnable: + enablenpc "Hollow Stone#W"; + donpcevent "The chamber of magic#W::OnReset"; + donpcevent "The chamber of magic#W::OnDisable"; + donpcevent "The chamber of magic#W2::OnReset"; + donpcevent "The chamber of magic#W2::OnDisable"; + donpcevent "The chamber of magic#W3::OnReset"; + donpcevent "The chamber of magic#W3::OnDisable"; + monster "job3_war02",29,27,"Hollow Stone",2035,1,"Hollow Stone#W::OnMyMobDead"; + initnpctimer; + end; + +OnReset: + killmonster "job3_war02","Hollow Stone#W::OnMyMobDead"; + end; + +OnDisable: + disablenpc "Hollow Stone#W"; + end; + +OnMyMobDead: + mapannounce "job3_war02","The Hollow Stone is Crystallized with enough magic power.",bc_map; // custom translation + set job_wl,8; + changequest 11110,11111; + donpcevent "Hollow Stone#W::OnReset"; + donpcevent "Hollow Stone#W::OnDisable"; + stopnpctimer; + donpcevent "Ebein#E::OnEnable"; + donpcevent "Ebein#E2::OnEnable"; + end; + +OnTimer1000: + mapannounce "job3_war02","The Hollow Stone needs to be crystallized with magic.",bc_map; + end; + +OnTimer2000: + mapannounce "job3_war02","The Hollow Stone will absorb any magic thrown at it.",bc_map; + end; + +OnTimer3000: + mapannounce "job3_war02","You have 10 minutes to crystallize the Hollow Stone your magic.",bc_map; + end; + +OnTimer303000: + mapannounce "job3_war02","There's 5 min left to crystallize the stone....",bc_map; + end; + +OnTimer363000: + mapannounce "job3_war02","There's 4 min left to crystallize the stone....",bc_map; + end; + +OnTimer423000: + mapannounce "job3_war02","There's 3 min left to crystallize the stone....",bc_map; + end; + +OnTimer483000: + mapannounce "job3_war02","There's 2 min left to crystallize the stone....",bc_map; + end; + +OnTimer543000: + mapannounce "job3_war02","There's 1 min left to crystallize the stone....",bc_map; + end; + +OnTimer573000: + mapannounce "job3_war02","There's 30 seconds left to crystallize the stone....",bc_map; + end; + +OnTimer583000: + + mapannounce "job3_war02","There's 20 seconds left to crystallize the stone....",bc_map; + end; + +OnTimer593000: + mapannounce "job3_war02","There's 10 seconds left to crystallize the stone....",bc_map; + end; + + +OnTimer603000: + mapannounce "job3_war02","The Hollow Stone Crystalization has failed.",bc_map; + donpcevent "Hollow Stone#W::OnReset"; + end; + +OnTimer605000: + mapwarp "job3_war02","spl_in02",79,102; + end; + +OnTimer607000: + donpcevent "Hollow Stone#W::OnDisable"; + stopnpctimer; + donpcevent "The chamber of magic::OnEnable"; + end; + +OnResetNPC: + donpcevent "Hollow Stone#W::OnReset"; + donpcevent "Hollow Stone#W::OnDisable"; + stopnpctimer "Hollow Stone#W"; +end; +} + +job3_war01,1,1,0 script Ebein#E 66,{ + end; + +OnInit: + disablenpc "Ebein#E"; + end; + +OnEnable: + initnpctimer; + enablenpc "Ebein#E"; + end; + +OnDisable: + disablenpc "Ebein#E"; + end; + +OnTimer2000: + mapannounce "job3_war02","Congratulations! You've successfully made a magic crystal.",bc_map; //Custom translation + end; + +OnTimer3000: + mapannounce "job3_war02","The Magic Chamber is starting to fill with magic power.",bc_map; + end; + +OnTimer6000: + donpcevent "Ebein#E::OnDisable"; + stopnpctimer; + donpcevent "The chamber of magic::OnEnable"; + end; + +} + +job3_war02,1,1,0 script Ebein#E2 66,{ + end; + +OnInit: + disablenpc "Ebein#E2"; + end; + +OnEnable: + initnpctimer; + enablenpc "Ebein#E2"; + end; + +OnDisable: + disablenpc "Ebein#E2"; + end; + +OnTimer3000: + mapannounce "job3_war02","Congratulations! You've successfully made a magic crystal.",bc_map; //Custom translation + end; + +OnTimer5000: + mapannounce "job3_war02","The Magic Chamber is starting to fill with magic power.",bc_map; + mapwarp "job3_war02","spl_in02",79,102; + end; + +OnTimer6000: + donpcevent "Ebein#E2::OnDisable"; + stopnpctimer; + end; +} + +/* +job3_war01,1,2,0 script ??? 66,{ + switch(select("?????:?????:??????:??????:??????:??????:??")) { + case 1: + mes "??????"; + donpcevent "??? ?::OnEnable"; + close; + case 2: + mes "??????"; + donpcevent "??? ?::OnDisable"; + close; + case 3: + mes "??? ? ???"; + donpcevent "??? ?#?????::OnEnable"; + close; + case 4: + mes "??? ? ???"; + donpcevent "??? ?#?????::OnReset"; + donpcevent "??? ?#?????::OnDisable"; + donpcevent "??? ?#?????2::OnReset"; + donpcevent "??? ?#?????2::OnDisable"; + donpcevent "??? ?#?????3::OnReset"; + donpcevent "??? ?#?????3::OnDisable"; + close; + case 5: + mes "??? ? ???"; + donpcevent "??? ?#?????::OnEnable"; + close; + case 6: + mes "??? ? ???"; + donpcevent "??? ?#?????::OnReset"; + donpcevent "??? ?#?????::OnDisable"; + close; + case 7: + close; + } +} +*/
\ No newline at end of file diff --git a/npc/pre-re/jobs/3-2/genetic.txt b/npc/pre-re/jobs/3-2/genetic.txt new file mode 100644 index 000000000..435f6fa15 --- /dev/null +++ b/npc/pre-re/jobs/3-2/genetic.txt @@ -0,0 +1,1471 @@ +//===== rAthena Script ======================================= +// Genetic Job change Quest +//===== By: ================================================== +//= Masao +//= Credits: Muad_Dib & Aeomin +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= Any rAthena SVN +//===== Description: ========================================= +//= [AEGIS Conversion] +//= Job change Quest from Alchemist / Creator -> Genetic. +//===== Additional Comments: ================================= +//= 1.0 First Version. +//= 1.1 Fixed Scatter Stuff NPC's - [JayPee]. +//============================================================ + +alde_alche,35,186,5 script Alchemist Union Member 805,{ + + if ((BaseLevel == 99) && (JobLevel > 49)){ + if (Class == Job_Alchemist || Class == Job_Creator || Job_Baby_Alchemist){ + if (SkillPoint == 0){ + if (job_gen == 0){ + mes "[Alchemist Union Member]"; + mes "Our Alchemist Union brings up many junior alchemists with various promotions and investigations."; + next; + mes "[Alchemist Union Member]"; + mes "They have spread to all corners of Rune-Midgart and were active in many fields like sciences or special item production methods."; + next; + mes "[Alchemist Union Member]"; + mes "We call the members of our new union ^3131FF'Geneticists'^000000."; + next; + mes "[Alchemist Union Member]"; + mes "Geneticists are the ones who have reached their peak potential in the world of Alchemy. They are the ones who currently spearhead alchemy throughout all of Rune-Midgart."; + next; + mes "[Alchemist Union Member]"; + mes "I see you have a certain level of experience in this area. Perhaps you would like to meet other geneticists?"; + next; + mes "[Alchemist Union Member]"; + mes "Just recently, an research paper from a geneticist caused a sensation."; + mes "Someone experienced like yourself, would understand her research, and would be able to discuss it with her, right?"; + next; + mes "[Alchemist Union Member]"; + mes "Maybe her research results can be of benefit to your research, and with some luck you could become a geneticist too!";; + next; + mes "[Alchemist Union Member]"; + mes "What do you think? Would you like to meet this geneticist?"; + next; + switch(select("Meet with her.:Don't meet with her.")){ + case 1: + mes "[Alchemist Union Member]"; + mes "Wise choice!"; + mes "The infamous geneticist 'Devries'."; + next; + mes "[Alchemist Union Member]"; + mes "You can find her in the Alchemy Lab at the western part of Lighthalzen. There is also another geneticist studying weaponry there, you might want to pay her a visit too."; + set job_gen,1; + setquest 2215; + close; + case 2: + mes "[Alchemist Union Member]"; + mes "Aren't you interested in the study of life?"; + close; + } + } + mes "[Alchemist Union Member]"; + mes "The geneticist causing academic sensation is studying at the Alchemy Lab in the western part of Lighthalzen."; + mes "If you are interested, go meet with her."; + close; + } + mes "[Alchemist Union Member]"; + mes "- You still have unused skill points. Come back when you have used all of them."; + close; + } + } + mes "[Alchemist Union Member]"; + mes "Our Alchemist Union brings up many junior alchemists with various promotions and investigations."; + next; + mes "[Alchemist Union Member]"; + mes "They have spread to all corners of Rune-Midgart and were active in many fields like sciences or special item production methods."; + next; + mes "[Alchemist Union Member]"; + mes "We call the members of our new union ^3131FF'Geneticists'^000000."; + next; + mes "[Alchemist Union Member]"; + mes "Geneticists are the ones who have reached their peak potential in the world of Alchemy. They are the ones who currently spearhead alchemy throughout all of Rune-Midgart."; + close; +} + +job3_gen01,25,58,3 script Devries#gen 865,{ + + if (SkillPoint == 0){ + if (job_gen == 1){ + mes "[Devries]"; + mes "Argh. The bloodsucking plant sample C is withering again."; + mes "Should I change the ingredient of the growth care?"; + mes "Hey please cheer up soon!"; + next; + mes "[Devries]"; + mes "Eh? This is the first time we meet, right?"; + mes "Looking at your clothing, could you be a fellow alchemist?"; + next; + mes "[Devries]"; + mes "Recently the number of young alchemists is increasing, but very few have the passion to study and do research!"; + next; + mes "[Devries]"; + mes "Take a look at this, this bomb is very powerful! But my Poison Spores are more beautiful! I have lots of goodies!"; + next; + mes "[Devries]"; + mes "Although the Alchemist Union said that they support their researchers, but all of my hard work only got me this 'Easy to Plant Mushroom'!"; + next; + mes "[Devries]"; + mes "Somehow mushrooms spread over the entire lab! I even find spores all over my house!"; + next; + menu "You have a weird accent.",-; + mes "[Devries]"; + mes "I am from Rune-Midgart!"; + mes "Have you ever been to the Rune-Midgarts Kingdom? Everyone in Rune-Midgart speaks like this."; + next; + switch(select("Really?!:I'm from Rune-Midgart too.")){ + case 1: + mes "[Devries]"; + mes "Really?"; + mes "Do you come from a Rune-Midgart village?"; + mes "My village is very big, everyone there speaks with this accent."; + next; + break; + case 2: + emotion e_lv; + mes "[Devries]"; + mes "Ah! No wonder you look so familiar."; + mes "I am happy to meet a fellow Rune-Midgartian here in the Schwartzvalt Republic!"; + next; + break; + } + mes "- Bang Bang Bang -"; + next; + emotion e_ag; + mes "[Devries]"; + mes "Aaaghh! It's that woman again!"; + next; + menu "What is that noise?",-; + mes "[Devries]"; + mes "That's my classmate, Demi Calberine. That noise is from her experiments."; + mes "Demi is an mini cannon specialist, she always makes a lot of noise."; + next; + emotion e_sob; + mes "[Devries]"; + mes "Look!"; + mes "My mushrooms and plants are scared!"; + mes "I can't even concentrate on my research. This is so annoying!!"; + next; + mes "- Kala Kala -"; + next; + mes "[Devries]"; + mes "Whenever I am in a bad mood, I need to eat some of Orleans cookies."; + next; + mes "[Devries]"; + mes "It's a luxury cookie from Prontera. When I put one in my mouth it reminds me of Asgard."; + mes "When I finish eating a delicious cookie, the noise from Demi Calberine just goes away."; + next; + mes "[Devries]"; + mes "Would you like one?"; + mes "Aw, I already ate the last one."; + next; + mes "[Devries]"; + mes "But that's okay! I have a few boxes in my room on the second floor."; + mes "Because of the temptation, I've bought a large amount, hehehe."; + next; + mes "- Ke Ke Ke Ke Ke Ke Ke -"; + specialeffect EF_ENDURE; + next; + specialeffect EF_REPAIRWEAPON; + mes "- Ke Ke Ke Ke! Ke Ke Ke Ke Ke Ke!!! -"; + next; + specialeffect EF_CRASHEARTH; + mes "- Bang! Bang!! Bang!!! Bang!!!! -"; + next; + mes "[Devries]"; + mes ".................."; + next; + mes "[Devries]"; + mes "Ooooh uh"; + mes "Eh Aaaaahhh!!!"; + next; + mes "[Devries]"; + mes "Demi!!!!! Demi!!!!"; + next; + mes "- It looks like you need to calm Devries down. -"; + set job_gen,2; + close; + }else if (job_gen == 2){ + mes "[Devries]"; + mes "Uh Aaaaaaah!!!!"; + mes "Demi!!!!! Demi!!!!"; + next; + mes "- It looks like you need to calm Devries down. -"; + close; + }else if (job_gen == 3){ + mes "[Devries]"; + mes "Uh Aaaaaahhhh!!!!"; + mes "Demi!!!!! Demi!!!!"; + next; + menu "Give the cookies to Devries.",-; + mes "- Devries took the cookies and started eating like a hungry wolf. -"; + next; + mes "- Ka Ka Ka -"; + mes "- Ka Ka Ka -"; + mes "- Ka Ka Ka -"; + next; + mes "[Devries]"; + mes "Ah,"; + mes "The sweet butter taste,"; + mes "really calms me down."; + next; + emotion e_rice; + mes "[Devries]"; + mes "Demi works very persistent today too."; + mes "Hehehe, what a hard working colleague."; + next; + mes "- As expected, the cookie works really well. -"; + emotion e_no1; + next; + mes "[Devries]"; + mes "You also like alchemy, which has brought you here, right?"; + next; + mes "[Devries]"; + mes "Oh, right, I haven't introduced myself."; + mes "My name is Devries."; + mes "I'm interested in new and special life."; + next; + mes "[Devries]"; + mes "What's your name, young alchemist?"; + next; + menu "I am "+strcharinfo(0)+".",-; + mes "[Devries]"; + mes "Oh, "+strcharinfo(0)+"."; + mes "What an interesting name. Nice to meet you."; + next; + mes "[Devries]"; + mes "But I am terrible with names...... Is it okay if I call you Bubbles?"; + next; + mes "[Devries]"; + mes "Bubbles, have you heard of my research?"; + mes "You did read my research paper before you came here, right?"; + next; + switch(select("No.:Yes, I did.")){ + case 1: + mes "[Devries]"; + mes "Ah, it's written all over your face."; + mes "Don't be shy."; + break; + case 2: + mes "[Devries]"; + mes "Am I right?"; + mes "It's easy to communicate with people from the same place."; + break; + } + next; + mes "[Devries]"; + mes "Now, you used the method I mentioned earlier to calm me down."; + next; + mes "[Devries]"; + mes "I'm very satisfied with how you paid attention to details."; + mes "You have the quality to become a geneticist."; + next; + mes "[Devries]"; + mes "^FF0000After becoming a geneticist, you can no longer study alchemy or bio-chemistry.^000000"; + mes "If you accept, you may take the test."; + next; + switch(select("Maybe later.:I want to become a Geneticist!")){ + case 1: + mes "[Devries]"; + mes "Okay then."; + mes "Even though your knowledge is not that great as that of geneticists, a fundamental knowledge is also important."; + mes "Bubbles, come back to me once you've finished your studies."; + set job_gen,4; + close; + case 2: + mes "[Devries]"; + mes "Good!"; + mes "Let's do our best together!"; + set job_gen,5; + close; + } + }else if (job_gen == 4){ + mes "[Devries]"; + mes "Bubbles!"; + mes "Are you prepared to take the test?"; + next; + switch(select("Not yet.:Yes!")){ + case 1: + mes "[Devries]"; + mes "You have to try hard! There is no shortcut when obtaining knowledge!"; + close; + case 2: + mes "[Devries]"; + mes "Very good!"; + mes "Let's do our best together!"; + set job_gen,5; + close; + } + }else if (job_gen == 5){ + mes "[Devries]"; + mes "Bubbles, what do you think of plants?"; + mes "Do you like plants? Which one are you interested in?"; + next; + mes "- Bang Bang Bang Bang -"; + next; + emotion e_swt2; + mes "[Devries]"; + mes "Ah, Demi Calberine is doing it again?"; + mes "Hopefully she fails again......Demi...must...not succeed..."; + next; + mes "[Devries]"; + mes "Where was I?"; + mes "Oh, right. In alchemy, plants are very important."; + mes "Alchemists would make Geographers and Hydra's grow fast, and they would help them when in a battle..."; + next; + mes "- Bang!! Bang!! Bang!! Bang!! -"; + next; + emotion e_hmm; + mes "[Devries]"; + mes "......................."; + next; + emotion e_hmm; + mes "[Devries]"; + mes "Like technologies, plants are easily to..."; + next; + mes "- Bang!!!! -"; + next; + emotion e_hmm; + mes "[Devries]"; + mes "...sexual reproduction..."; + next; + mes "- Bang!!!! -"; + mes "- Ke Ke Ke Ke Ke Ke!! -"; + mes "- Bang Bang Bang Bang Bang!!!! -"; + mes "- Bang!! Bang!! Bang!! Bang!! -"; + next; + emotion e_hmm; + mes "[Devries]"; + mes "......................."; + next; + emotion e_hmm; + mes "[Devries]"; + mes "Bubbles."; + next; + emotion e_hmm; + mes "[Devries]"; + mes "To become a geneticist, you must pass the test"; + next; + mes "[Devries]"; + mes "It's called the 'Perfect Soundproof System'!"; + mes "You must use plants and experiment samples on the 1st floor of the lab. Release me from Demi Calberine's scary noise."; + next; + mes "[Devries]"; + mes "Okay then, let's get started!"; + set job_gen,6; + close; + }else if (job_gen == 6){ + mes "[Devries]"; + mes "It's called the 'Perfect Soundproof System'!"; + mes "You must use plants and experiment samples on the 1st floor of the lab. Release me from Demi Calberine's scary noise."; + next; + mes "[Devries]"; + mes "There are some related guides in the cabinet that you may use."; + mes "Okay then, let's get started!"; + close; + }else if ((job_gen > 6) && (job_gen < 60)){ + mes "[Devries]"; + mes "Is there a problem?"; + next; + switch(select("Nothing.:The experiment failed.")){ + case 1: + mes "[Devries]"; + mes "Better get started, or I'll start to scream!!!"; + close; + case 2: + mes "[Devries]"; + mes "Why not redo the experiment?"; + mes "Why are you asking me these things?"; + set job_gen,7; + if (checkquest(2209) == 1){ + erasequest 2209; + } + if (checkquest(2210) == 1){ + erasequest 2210; + } + if (checkquest(2211) == 1){ + erasequest 2211; + } + if (checkquest(2212) == 1){ + erasequest 2212; + } + if (checkquest(2213) == 1){ + erasequest 2213; + } + if (checkquest(2214) == 1){ + erasequest 2214; + } + close; + } + }else if (job_gen == 60 || job_gen == 61){ + mes "- Bang Bang Bang Ke Ke Ke Ke -"; + next; + mes "- Bang Bang Bangg Bang Bang Bang -"; + next; + mes "[Devries]"; + mes "What is Demi Calberine doing?"; + mes "That is really loud."; + next; + mes "[Devries]"; + mes "Did you finish the experiment, Bubbles?"; + mes "Show me the seed."; + next; + if ((countitem(6273) == 0) && (countitem(6272) == 0)){ + mes "[Devries]"; + mes "What is this?"; + mes "How can you claim success when you have a unfinished experiment?"; + mes "Hurry up and redo the experiment."; + set job_gen,7; + if (checkquest(2209) == 1){ + erasequest 2209; + } + if (checkquest(2210) == 1){ + erasequest 2210; + } + if (checkquest(2211) == 1){ + erasequest 2211; + } + if (checkquest(2212) == 1){ + erasequest 2212; + } + if (checkquest(2213) == 1){ + erasequest 2213; + } + if (checkquest(2214) == 1){ + erasequest 2214; + } + close; + } + mes "[Devries]"; + mes "Show me the seed you created."; + mes "What will it be?"; + next; + mes "[Devries]"; + mes "Put the seed in the Super Cultivator, adjust the temperature..."; + next; + mes "[Devries]"; + mes "Ah!"; + next; + if (job_gen == 60){ + specialeffect EF_FLASHER; + specialeffect EF_PHARMACY_OK; + mes "[Devries]"; + mes "Bubbles, look at this!"; + mes "What a fascination plant!"; + next; + mes "[Devries]"; + mes "Spike vines are everywhere in the culture machine!"; + mes "These vines are very high concentrated and hard, like a brick wall!"; + next; + mes "[Devries]"; + mes "This is it, Bubbles!"; + mes "The properties of this plant can be used for varying things!"; + next; + mes "[Devries]"; + mes "Great, Bubbles."; + mes "I thought you would have a decent result, but it came out better then I expected!"; + next; + mes "[Devries]"; + mes "I need to submit your experiment result to the Alchemist Union."; + mes "I will write a letter, stating that Bubbles is terrific, and has the qualifications to become a geneticist."; + next; + mes "[Devries]"; + mes "The union's reply might take a while, can you wait for it?"; + mes "In the meantime, go meet Demi Calberine upstairs."; + next; + mes "[Devries]"; + mes "She is a fellow geneticist, specializing in mini cannons."; + mes "Go take a look at her experiment results."; + mes "Could you give this message to her? Tell her to conduct her experiments quietly."; + delitem 6273,1; + set job_gen,62; + changequest 2215,2216; + if (checkquest(2209) == 1){ + erasequest 2209; + } + if (checkquest(2210) == 1){ + erasequest 2210; + } + if (checkquest(2211) == 1){ + erasequest 2211; + } + if (checkquest(2212) == 1){ + erasequest 2212; + } + if (checkquest(2213) == 1){ + erasequest 2213; + } + if (checkquest(2214) == 1){ + erasequest 2214; + } + close; + } + specialeffect EF_SPELLBREAKER; + specialeffect EF_PHARMACY_FAIL; + mes "[Devries]"; + mes "Uh oh! You failed, Bubbles"; + mes "it did not grow at all, it's withered already."; + mes "Go and redo the experiment!"; + delitem 6272,1; + set job_gen,7; + if (checkquest(2209) == 1){ + erasequest 2209; + } + if (checkquest(2210) == 1){ + erasequest 2210; + } + if (checkquest(2211) == 1){ + erasequest 2211; + } + if (checkquest(2212) == 1){ + erasequest 2212; + } + if (checkquest(2213) == 1){ + erasequest 2213; + } + if (checkquest(2214) == 1){ + erasequest 2214; + } + close; + }else if ((job_gen > 61) && (job_gen < 76)){ + if (checkquest(2223,2) == 2){ + mes "[Devries]"; + mes "Ah, hold on."; + mes "It looks like the mail has already arrived."; + set job_gen,76; + completequest 2223; + close; + } + mes "[Devries]"; + mes "Whilst waiting for the Union's reply, go see Demi Calberine's experiment results."; + close; + }else if (job_gen == 76){ + mes "[Devries]"; + mes "Bubbles!"; + mes "Good news!"; + next; + if ((Class == Job_Alchemist || Class == Job_Creator || Job_Baby_Alchemist) && ((JobLevel > 49) && (SkillPoint == 0) && (BaseLevel > 98))){ + if (checkcart() == 0){ + mes "[Devries]"; + mes "Put that heavy and dirty cart away. On such a happy moment, that thing will just ruin it."; + close; + } + if(checkweight(1201,1) == 0){ + mes "- Wait a minute !! -"; + mes "- Currently you're carrying -"; + mes "- too many items with you. -"; + mes "- Please try again -"; + mes "- after you lose some weight. -"; + close; + } + mes "[Devries]"; + mes "The letter from the Alchemist Union has arrived."; + mes "Let me read it to you, Bubbles!"; + next; + mes "<Dear geneticist Devries:>"; + mes "<We recently heard of your activities, many have heard of your news.>"; + next; + mes "[Devries]"; + mes "This is from my hometown."; + next; + mes "<Many have heard of your experiment results and they have already been put into commercial use, we are very happy about this.>"; + mes "<This will certainly help the field of alchemy.>"; + next; + mes "<You also attached a research paper.>"; + mes "<Including a experiment from an alchemist named "+strcharinfo(0)+". A new fast growing plant type that is as hard as a brick wall.>"; + mes "Myself and other Alchemist Union Members studied this paper, and found it to be very interesting.>"; + next; + mes "<Other geneticists are also interested in the use of this plant, we hope to see some related research papers in the near future.>"; + next; + mes "<Devries>"; + mes "<We think "+strcharinfo(0)+" has the qualifications to become a geneticist.>"; + mes "<Please let him know, that we hope that he keeps up his outstanding work after becoming a geneticist.>"; + next; + mes "<The Alchemist Union is proud of having talented people like Ms. Devries, Ms. Demi Calberine, and "+strcharinfo(0)+".>"; + mes "<We highly anticipate the results of your next experiment.>"; + next; + mes "[Devries]"; + mes "Congratulations, Bubbles"; + mes "From now on, you are a Geneticist!!"; + if(Class == Job_Baby_Alchemist){ + jobchange Job_Baby_Genetic; + } + else if (Class == Job_Alchemist){ + jobchange Job_Genetic; + } else { + jobchange Job_Genetic_T; + } + set job_gen,77; + getitem 5752,1; + getitem 2795,1; + next; + mes "[Devries]"; + mes "Just like in the Union's letter, I'm also looking forward to your future research."; + mes "Let's work hard! Strive to become the best geneticist!"; + close; + } + }else if (job_gen == 77){ + mes "[Devries]"; + mes "Bubbles, want to join my Love Orleans club? It's a club for those that love cookies. Of course, we don't think of doing weird things with Charles Orleans."; + close; + } + mes "[Devries]"; + mes "- You still have some unused skill points. -"; + close;; + } + mes "[Devries]"; + mes "Am I that beautiful to you? Or why are you staring at me like that?"; + close; +} + +job3_gen01,83,72,3 script Delivery Box#generic 111,{ + + mes "- There's a big box. -"; + if (job_gen == 2){ + next; + switch(select("Open it.:Check the address.:Do nothing.")){ + case 1: + mes "- The box contains 6 bag of cookies -"; + next; + switch(select("Take the cookies.:Do nothing.")){ + case 1: + mes "- You took a bag of cookies from the box -"; + set job_gen,3; + close; + case 2: + mes "You do nothing."; + close; + } + case 2: + mes "[From: Rune-Midgarts Kingdom, Prontera, Charles Orleans]"; + mes "[Recipient: Schwaltzvalt Republic, Lighthalzen, Devries]"; + close; + case 3: + mes "You do nothing."; + close; + } + } + close; +} + +job3_gen01,12,56,3 script Plant Guide#generic 111,{ + + mes "<The Easiest Alchemy in the World>"; + mes "Written by Bob Ross."; + next; + switch(select("Animals:Plants:Minerals:Etc.")){ + case 1: + mes "...Using animals in alchemy can easily be practiced by anyone."; + mes "You can put the animals that you want to use on the white tray, imagine the goal you want to make and then practice the alchemy."; + mes "It's very easy."; + next; + mes "...The animals that are used in alchemy might in the danger of getting extinct because of being captured by thoughtless alchemists."; + mes "So I won't mention them."; + close; + case 2: + mes "...The guide of alchemy using plants is easy to follow, even for a little kid."; + mes "You can put the plants on the table, and break or cut them, connect them using a simple tool, then do alchemy."; + mes "That's really an extraordinary method."; + next; + mes "...The plants usually used for alchemy are Bigibigi Grass and Muka Trees that have sharp thorns but are delicate inside and Bogi Creeper whose growth speed is really fast but parasitic on living things."; + if (job_gen == 6){ + set job_gen,7; + } + close; + case 3: + mes "...Using minerals in alchemy is a way that beginners find pretty easy."; + mes "You can put the minerals you want to in the beautifully crafted box, and sing any song that you can think of twice and then practice the alchemy."; + mes "That's really an easy way."; + next; + mes "...A mineral that's usually used for alchemy is 'Phracon' which doesn't cost a lot."; + close; + case 4: + mes "...Alchemy is the easiest thing in the world."; + mes "This writer shows a cobalt blue alchemy demonstration in front of students every week, and always get a big applaud from them."; + mes "I'm sure that you would be into the alchemy world at the moment you read this book."; + close; + } +} + +job3_gen01,36,55,3 script Bigibigi Grass#gen 844,{ + + if (job_gen == 7){ + if (checkquest(2209) == -1 || checkquest(2209) == 0){ + mes "- The size is quite big to be normal grass so it's called Bigibigi Grass. -"; + next; + switch(select("Use as experiment sample.:Leave it alone.")){ + case 1: + mes "- You have obtained Bigibigi Grass. -"; + setquest 2209; + close; + case 2: + mes "- This plant doesn't look suitable as an experiment sample. -"; + close; + } + } + mes "- You already have Bigibigi Grass. -"; + close; + }else if (job_gen == 6){ + mes "Information related to this plant can be found in the Plant Guide in the cabinet."; + close; + } + mes "- The size is quite big to be normal grass so it's called Bigibigi Grass. -"; + close; +} + +job3_gen01,36,45,3 script Muka Tree#gen 844,{ + + if (job_gen == 7){ + if (checkquest(2210) == -1 || checkquest(2210) == 0){ + mes "- This is the Muka Tree which protects its delicate inside with sharp thorns. -"; + next; + switch(select("Use as experiment sample.:Leave it alone.")){ + case 1: + mes "- You have obtained some parts of Muka Tree.-"; + setquest 2210; + close; + case 2: + mes "- This plant doesn't look suitable as an experiment sample. -"; + close; + } + } + mes "- You already have Muka Tree. -"; + close; + }else if (job_gen == 6){ + mes "Information related to this plant can be found in the Plant Guide in the cabinet."; + close; + } + mes "- This is the Muka Tree which protects its delicate inside with sharp thorns. -"; + close; +} + +job3_gen01,42,55,3 script Bogi Vine#gen 844,{ + + if (job_gen == 7){ + if (checkquest(2211) == -1 || checkquest(2211) == 0){ + mes "- This is a Bogi Vine which has a very fast growth speed. -"; + next; + switch(select("Use as experiment sample.:Leave it alone.")){ + case 1: + mes "- You have obtained some parts of Bogi Vine. -"; + setquest 2211; + close; + case 2: + mes "- This plant doesn't look suitable as an experiment sample. -"; + close; + } + } + mes "- You already have Bogi Vine. -"; + close; + }else if (job_gen == 6){ + mes "Information related to this plant can be found in the Plant Guide in the cabinet."; + close; + } + mes "- This is a Bogi Vine which has a very fast growth speed. -"; + close; +} + +job3_gen01,30,58,3 script Aolatura#gen 844,{ + + if (job_gen == 7){ + if (checkquest(2212) == -1 || checkquest(2212) == 0){ + mes "- This is known to blossom then thousand flowers as it only blooms once per lifetime. -"; + next; + switch(select("Use as experiment sample.:Leave it alone.")){ + case 1: + mes "- You have obtained Aolatura. -"; + setquest 2212; + close; + case 2: + mes "- This plant doesn't look suitable as an experiment sample. -"; + close; + } + } + mes "- You already have Aolatura. -"; + close; + }else if (job_gen == 6){ + mes "Information related to this plant can be found in the Plant Guide in the cabinet."; + close; + } + mes "- This is known to blossom then thousand flowers as it only blooms once per lifetime. -"; + close; +} + +job3_gen01,30,63,3 script Congra#gen 844,{ + + if (job_gen == 7){ + if (checkquest(2213) == -1 || checkquest(2213) == 0){ + mes "- It's a plant that has a big and solid stem with enormous leaves. -"; + next; + switch(select("Use as experiment sample.:Leave it alone.")){ + case 1: + mes "- You have obtained Congra. -"; + setquest 2213; + close; + case 2: + mes "- This plant doesn't look suitable as an experiment sample. -"; + close; + } + } + mes "- You already have Congra. -"; + close; + }else if (job_gen == 6){ + mes "Information related to this plant can be found in the Plant Guide in the cabinet."; + close; + } + mes "- It's a plant that has a big and solid stem with enormous leaves. -"; + close; +} + +job3_gen01,32,38,3 script Sticky Grass#gen 844,{ + + if (job_gen == 7){ + if (checkquest(2214) == -1 || checkquest(2214) == 0){ + mes "- I may not know the name but it's sticky and can stick to just about anything. -"; + next; + switch(select("Use as experiment sample.:Leave it alone.")){ + case 1: + mes "- You have obtained Sticky Grass -"; + setquest 2214; + close; + case 2: + mes "- This plant doesn't look suitable as an experiment sample. -"; + close; + } + } + mes "- You already have Sticky Grass -"; + close; + }else if (job_gen == 6){ + mes "Information related to this plant can be found in the Plant Guide in the cabinet."; + close; + } + mes "- I may not know the name but it's sticky and can stick to just about anything. -"; + close; +} + +job3_gen01,7,50,3 script Testing Table#gen 844,{ + + if (job_gen == 7){ + mes "- This is a testing table with a lot of tools. I think I can study the combinations here with plants. -"; + next; + switch(select("Conduct experiment.:Don't conduct experiment.")){ + case 1: + if ((checkquest(2209) == -1 || checkquest(2209) == 0) && (checkquest(2210) == -1 || checkquest(2210) == 0) && (checkquest(2211) == -1 || checkquest(2211) == 0) && (checkquest(2212) == -1 || checkquest(2212) == 0) && (checkquest(2213) == -1 || checkquest(2213) == 0) && (checkquest(2214) == -1 || checkquest(2214) == 0)){ + mes "["+strcharinfo(0)+"]"; + mes "Hmm, I need to bring a plant sample to experiment with."; + close; + } + mes "What do you want to do with the prepared plant sample?"; + next; + switch(select("Break:Crush:Smash")){ + case 1: + break; + case 2: + break; + case 3: + break; + } + while(1){ + if (.@fortune == 7){ + break; + }else{ + mes "What next?"; + next; + set .@rand,rand(1,2); + if (.@rand == 1){ + switch(select("Burn into Ashes.:Dip in distilled Water.:Cook it with Steam.")){ + case 1: + break; + case 2: + break; + case 3: + break; + } + } + switch(select("Put it into a Testing Flask and Shake.:Cool it down.:Warm it up.")){ + case 1: + break; + case 2: + break; + case 3: + break; + } + set .@fortune,rand(1,7); + } + } + mes "What next?"; + next; + menu "Inject it into a Testing Seed.",-; + mes "Which Seed do you want to use?"; + next; + switch(select("Testing Seed Type A:Testing Seed Type B:Testing Seed Type C:Testing Seed Type D")){ + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + mes "Put the seed into the prepared sample."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Okay, now I need to bring this seed to Devries!"; + if ((checkquest(2209) == -1 || checkquest(2209) == 0) && (checkquest(2210) == -1 || checkquest(2210) == 0) && (checkquest(2211) == -1 || checkquest(2211) == 0)){ + set job_gen,61; + getitem 6272,1; + close; + } + if (checkquest(2209) == 1){ + set job_gen,job_gen+10; + } + if (checkquest(2210) == 1){ + set job_gen,job_gen+10; + } + if (checkquest(2211) == 1){ + set job_gen,job_gen+10; + } + set .@score,job_gen + JobLevel - 20; + set .@result,rand(1,100); + if (.@result < .@score){ + set job_gen,60; + getitem 6273,1; + close; + } + set job_gen,61; + getitem 6272,1; + close; + case 2: + mes "- It's not the time to start the experiment yet. -"; + close; + } + }else if ((job_gen > 7) && (job_gen < 60)){ + mes "- It looks like there is a problem with the experiment. I better redo the experiment. -"; + set job_gen,7; + if (countitem(6273) > 0){ + delitem 6273,1; + } + if (countitem(6272) > 0){ + delitem 6272,1; + } + if (checkquest(2209) == 1){ + erasequest 2209; + } + if (checkquest(2210) == 1){ + erasequest 2210; + } + if (checkquest(2211) == 1){ + erasequest 2211; + } + if (checkquest(2212) == 1){ + erasequest 2212; + } + if (checkquest(2213) == 1){ + erasequest 2213; + } + if (checkquest(2214) == 1){ + erasequest 2214; + } + close; + }else if (job_gen == 60 || job_gen == 61){ + mes "- It looks like I only need to bring the created seed to Devries now. -"; + close; + } + mes "- This is a testing table with a lot of tools. I think I can study the combinations here with plants. -"; + close; +} + +//npc "job3_gen01" "Super Cultivator#gen" CLEAR_NPC 21 67 3 0 0 + +job3_gen01,91,48,3 script Demi Calberine#gen 982,{ + + if (job_gen < 62){ + mes "[Demi Calberine]"; + mes "Hmm~ Where'd that bolt go?"; + close; + }else if (job_gen == 62){ + mes "[Demi Calberine]"; + mes "I want to sit on a blue cart~"; + mes "And make a beautiful picture of me with my cannon~"; + mes "With my love~"; + mes "Shot forever~?"; + next; + mes "[Demi Calberine]"; + mes "Hmm~ Where'd that bolt go?"; + mes "Why aren't their enough bolts? Didn't I just order a bunch yesterday?"; + next; + menu "Hi",-; + mes "[Demi Calberine]"; + mes "Huh~?"; + mes "What...who are you?"; + next; + mes "[Demi Calberine]"; + mes "Ah, no, this is not the time to talk!"; + mes "Uh! Come help me!"; + next; + mes "[Demi Calberine]"; + mes "A customer ordered a cart with a mini cannon that I have to finish today, but I can't find the parts!"; + next; + mes "[Demi Calberine]"; + mes "Er Ah~I think they fell somewhere around here..."; + mes "I only need 12 pieces! I need to work on other parts as well... Please help me find them!"; + changequest 2216,2217; + set job_gen,63; + close; + }else if ((job_gen > 62) && (job_gen < 74)){ + mes "[Demi Calberine]"; + mes "Ah, oh no, oh no~~~"; + mes "Did you find the missing pieces yet? No, not yet? You promised, please hurry up!"; + close; + }else if (job_gen == 74){ + mes "[Demi Calberine]"; + mes "This cart is low on power, maybe if install this here..."; + next; + menu "I found the pieces.",-; + mes "[Demi Calberine]"; + mes "Ah, you scared me!"; + mes "Why do you like to scare people???"; + mes "Are these my missing bolts?"; + mes "Where did you find them?"; + next; + menu "Didn't you ask me to go find them?",-; + mes "[Demi Calberine]"; + mes "Oh? Oh?"; + mes "Really? Hehehehehe."; + mes "Must be my bad memory."; + next; + mes "[Demi Calberine]"; + mes "Wait a minute."; + mes "Now that I have these pieces, I should be able to finish it now."; + next; + mes "- Ke Ke Ke Ke -"; + next; + mes "[Demi Calberine]"; + mes "Very good, the mini cannon is installed on the cart...let's take it for a test shall we?"; + next; + mes "- Chi... -"; + next; + mes "- Bang! Bang! Bang! Bang! -"; + next; + mes "[Demi Calberine]"; + mes "Good! Success!"; + mes "Phew, thanks to you, I was able to finish this on time."; + mes "Thank you very much."; + next; + mes "[Demi Calberine]"; + mes "Ah, what's do you need"; + mes "Do you want to make a custom order or something?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "I'm a geneticist apprentice."; + mes "I heard Demi Calberine was obsessed with mini cannons."; + next; + mes "[Demi Calberine]"; + mes "Yes, I can make many types of mini cannons."; + mes "Recently a lot of people want me to modify their carts, I installed new features such as mini cannons."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Cart modification?"; + next; + mes "[Demi Calberine]"; + mes "Yes, when you are going downhill, don't you want to sit on the cart and slide down?"; + mes "Don't you feel bored dragging the cart everywhere?"; + next; + mes "[Demi Calberine]"; + mes "The cart is no longer just for item storage."; + mes "Installing a mini cannon on the cart, will help you attack your enemies, and increases your power."; + next; + mes "[Demi Calberine]"; + mes "Devries below seems to be conducting playhouse like experiments."; + mes "I cannot understand why experiments like that are so popular, tsk."; + emotion e_rice; + next; + mes "[Demi Calberine]"; + mes "Please look at this mini cannon."; + mes "As big as the size of my palm, it's the smallest and lightest cannon in the world."; + mes "Don't you think it's cute? Eh~"; + emotion e_awsm; + next; + menu "Can my cart be modified too?",-; + mes "[Demi Calberine]"; + mes "Sorry, only geneticists can have their carts modified."; + mes "This is a rule from the Alchemy Union, I have no choice in the matter."; + next; + mes "[Demi Calberine]"; + mes "But don't be disappointed."; + mes "Just become a geneticist? Hehehe."; + next; + mes "[Demi Calberine]"; + mes "And not all carts can be modified."; + mes "They have to meet a certain standard."; + next; + mes "[Demi Calberine]"; + mes "Before becoming a geneticist, please practice your Cart Revolution skill."; + mes "You need your muscles and cart movement to be in perfect balance."; + next; + mes "[Demi Calberine]"; + mes "If you want, ^FF0000I can show you a nice area to practise in.^000000"; + mes "^FF0000Though I don't like her^000000, it is a nice place, hehe."; + next; + mes "[Demi Calberine]"; + mes "With this oppurtunity, you just need to have fun practising your Cart Revolution skill."; + mes "Use your cart to kill ^FF0000100 Poison Spores^000000, watch your fatique, and familiarize yourself with the cart."; + next; + mes "[Demi Calberine]"; + mes "Okay, I need to start work on the next order."; + mes "If you want to practice, come back here."; + mes "I will help to modify your cart anytime."; + next; + mes "- KaBoom -"; + next; + mes "- What happened? The floor seems to have disappeared. -"; + set job_gen,75; + changequest 2217,2223; + close2; + warp "job3_gen01",23,32; + end; + }else if (job_gen == 75){ + if (checkquest(2223,2) == 2){ + mes "[Demi Calberine]"; + mes "It looks like Devries found out that I put you into her mushroom cage."; + mes "Just look at her face, nice. Such anger."; + close; + } + mes "[Demi Calberine]"; + mes "Er ah, didn't you finish practising?"; + mes "Do you want to enter the mushroom cage?"; + next; + switch(select("Yes:No")){ + case 1: + mes "[Demi Calberine]"; + mes "have fun swinging your cart around~"; + close2; + warp "job3_gen01",23,32; + end; + case 2: + mes "[Demi Calberine]"; + mes "Hm, too bad. I want to see Devries's angry face."; + close; + } + }else if (job_gen > 75){ + mes "[Demi Calberine]"; + mes "It looks like Devries found out that I put you into her mushroom cage."; + mes "Just look at her face, nice. Such anger."; + close; + } + mes "[Demi Calberine]"; + mes "Hmm~ Where'd that bolt go?"; + close; +} + +job3_gen01,84,45,3 script Scattered Stuff#gen1 111,{ + goto OnDetails; +end; + +OnInit: + enablenpc "Scattered Stuff#gen1"; + end; + +OnDetails: + if ((job_gen > 62) && (job_gen < 74)){ + mes "- There is stuff scattered everywhere, what a mess in the lab. -"; + next; + mes "- You found some small pieces of metal. -"; + set job_gen,job_gen+1; + disablenpc "Scattered Stuff#gen1"; + initnpctimer; + close; + }else if (job_gen == 74){ + mes "- You have collected all the parts. -"; + close; + } + end; + +OnTimer7000: + enablenpc "Scattered Stuff#gen1"; + stopnpctimer; + end; +} + +job3_gen01,77,41,3 script Scattered Stuff#gen2 111,{ + goto OnDetails; +end; + +OnInit: + enablenpc "Scattered Stuff#gen2"; + end; + +OnDetails: + if ((job_gen > 62) && (job_gen < 74)){ + mes "- There is stuff scattered everywhere, what a mess in the lab. -"; + next; + mes "- You found some small pieces of metal. -"; + set job_gen,job_gen+1; + disablenpc "Scattered Stuff#gen2"; + initnpctimer; + close; + }else if (job_gen == 74){ + mes "- You have collected all the parts. -"; + close; + } + end; + +OnTimer7000: + enablenpc "Scattered Stuff#gen2"; + stopnpctimer; + end; +} + +job3_gen01,78,57,3 script Scattered Stuff#gen3 111,{ + goto OnDetails; +end; + +OnInit: + enablenpc "Scattered Stuff#gen3"; + end; + +OnDetails: + if ((job_gen > 62) && (job_gen < 74)){ + mes "- There is stuff scattered everywhere, what a mess in the lab. -"; + next; + mes "- You found some small pieces of metal. -"; + set job_gen,job_gen+1; + disablenpc "Scattered Stuff#gen3"; + initnpctimer; + close; + }else if (job_gen == 74){ + mes "- You have collected all the parts. -"; + close; + } + end; + +OnTimer7000: + enablenpc "Scattered Stuff#gen3"; + stopnpctimer; + end; +} + +job3_gen01,89,59,3 script Scattered Stuff#gen4 111,{ + goto OnDetails; +end; + +OnInit: + enablenpc "Scattered Stuff#gen4"; + end; + +OnDetails: + if ((job_gen > 62) && (job_gen < 74)){ + mes "- There is stuff scattered everywhere, what a mess in the lab. -"; + next; + mes "- You found some small pieces of metal. -"; + set job_gen,job_gen+1; + disablenpc "Scattered Stuff#gen4"; + initnpctimer; + close; + }else if (job_gen == 74){ + mes "- You have collected all the parts. -"; + close; + } + end; + +OnTimer7000: + enablenpc "Scattered Stuff#gen4"; + stopnpctimer; + end; +} + +job3_gen01,90,51,3 script Scattered Stuff#gen5 111,{ + goto OnDetails; +end; + +OnInit: + enablenpc "Scattered Stuff#gen5"; + end; + +OnDetails: + if ((job_gen > 62) && (job_gen < 74)){ + mes "- There is stuff scattered everywhere, what a mess in the lab. -"; + next; + mes "- You found some small pieces of metal. -"; + set job_gen,job_gen+1; + disablenpc "Scattered Stuff#gen5"; + initnpctimer; + close; + }else if (job_gen == 74){ + mes "- You have collected all the parts. -"; + close; + } + end; + +OnTimer7000: + enablenpc "Scattered Stuff#gen5"; + stopnpctimer; + end; +} + +job3_gen01,83,27,3 script Scattered Stuff#gen6 111,{ + goto OnDetails; +end; + +OnInit: + enablenpc "Scattered Stuff#gen6"; + end; + +OnDetails: + if ((job_gen > 62) && (job_gen < 74)){ + mes "- There is stuff scattered everywhere, what a mess in the lab. -"; + next; + mes "- You found some small pieces of metal. -"; + set job_gen,job_gen+1; + disablenpc "Scattered Stuff#gen6"; + initnpctimer; + close; + }else if (job_gen == 74){ + mes "- You have collected all the parts. -"; + close; + } + end; + +OnTimer7000: + enablenpc "Scattered Stuff#gen6"; + stopnpctimer; + end; +} + +job3_gen01,74,45,3 script Scattered Stuff#gen7 111,{ + goto OnDetails; +end; + +OnInit: + enablenpc "Scattered Stuff#gen7"; + end; + +OnDetails: + if ((job_gen > 62) & (job_gen < 74)){ + mes "- There is stuff scattered everywhere, what a mess in the lab. -"; + next; + mes "- You found some small pieces of metal. -"; + set job_gen,job_gen+1; + disablenpc "Scattered Stuff#gen7"; + initnpctimer; + close; + }else if (job_gen == 74){ + mes "- You have collected all the parts. -"; + close; + } + end; + +OnTimer7000: + enablenpc "Scattered Stuff#gen7"; + stopnpctimer; + end; +} + +job3_gen01,18,39,3 script Warning#gen 837,{ + + mes "= Warning ="; + mes "If you bully my spores, I'll scream!!!"; + if (job_gen > 74){ + next; + switch(select("Get out of the cage.:Stay here.")){ + case 1: + mes "- I better get out before Devries catches me. -"; + close2; + warp "job3_gen01",21,38; + end; + case 2: + mes "- Action cancelled. -"; + close; + } + } + close; +} + +job3_gen01,80,12,1 script Stacked Magazines#gen 111,{ + + mes "- 'Monthly Bang!' magazines are piled up in disorder. -"; + close; +} + +job3_gen01,83,20,1 script Bed#gen 111,{ + + mes "- A checker patterned blanket set which looks like it was picked carefully is too good for this dirty bed. -"; + close; +} + +job3_gen01,85,25,1 script Opened Book#gen 111,{ + + mes "< Do you want to have my pretty room? Do you have enough zeny? Is there enough room? Run to the Lighthalzen Department Store right away and get the most high-end wall papers and interior accessories! >"; + next; + mes "< Luxurious candles that'll lighten up your room, a huge golden mirror that every lady owns, you can not miss any of them! >"; + close; +} + +job3_gen01,81,81,0 script dbroom 139,2,2,{ + +OnTouch: + mes "- It's a room that looks like a storehouse, thanks to so many parcels piled up in the room. -"; + close; +} + +job3_gen01,7,59,0 script from1to2gen 45,1,1,{ + +OnTouch: + warp "job3_gen01",72,52; + end; +} + +job3_gen01,71,56,0 script #from2to1gen 45,1,1,{ + +OnTouch: + warp "job3_gen01",11,60; + end; +} + +lighthalzen,52,132,0 script lighttogen 45,1,1,{ + +OnTouch: + warp "job3_gen01",45,50; + end; +} + +job3_gen01,49,49,0 script gentolight 45,1,1,{ + +OnTouch: + warp "lighthalzen",54,132; + end; +} + +job3_gen01,24,32,0 script Devries Vision 139,2,2,{ + +OnTouch: + if (checkquest(2223,2) == 2){ + mapannounce "job3_gen01","Devries: Huh? Did a cat got through the mushroom cage?",bc_map; + warp "job3_gen01",21,38; + } + end; +} + +job3_gen01,26,34,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,23,33,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,21,30,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,26,34,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,23,33,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,21,30,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,26,34,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,23,33,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,21,30,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,26,34,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,23,33,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,21,30,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,26,34,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,23,33,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,21,30,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,26,34,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,23,33,0,0 monster Poison Spore 1428,1,7000,0,0 +job3_gen01,21,30,0,0 monster Poison Spore 1428,1,7000,0,0
\ No newline at end of file diff --git a/npc/pre-re/jobs/3-2/minstrel.txt b/npc/pre-re/jobs/3-2/minstrel.txt new file mode 100644 index 000000000..d6cef4d08 --- /dev/null +++ b/npc/pre-re/jobs/3-2/minstrel.txt @@ -0,0 +1,2598 @@ +//===== rAthena Script ======================================= +// Minstrel Job change Quest +//===== By: ================================================== +//= Masao +//= Credits: Muad_Dib +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= Any rAthena SVN +//===== Description: ========================================= +//= [AEGIS Conversion] +//= Job change Quest from Bard / Clown -> Minstrel. +//===== Additional Comments: ================================= +//= 1.0 First Version. +//= 1.1 Fix the checking of requirements before job change to Minstel - [JayPee] +//============================================================ + +alberta,196,133,4 script Bard#job_min 486,{ + + if (job_min == 0){ + if (Class == Job_Bard || Class == Job_Clown || Class == Job_Baby_Bard){ + if ((BaseLevel > 98) && (JobLevel > 49)){ + mes "[Bard]"; + mes "The voice of heaven revolves around in my ears"; + mes "like a wandering wind,"; + next; + mes "[Bard]"; + mes "Even though I close my eyes and cover my ears,"; + mes "I can hear a voice from somewhere,"; + next; + mes "[Bard]"; + mes "It put temptation in exhausted crewman to deep sleep,"; + mes "made them feel as if they were in a land of dreams."; + next; + mes "[Girl]"; + mes "Ahhh!! Awesome!!"; + next; + mes "[Boy]"; + mes "Encore!! Encore!!!"; + next; + mes "[Old Man passing by]"; + mes "Eeeee~ that's not real song..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Clap."; + mes "I can feel the rhythm."; + mes "Can I hear one more song?"; + next; + mes "[Bard]"; + mes "Hum?"; + mes "Juding by your outfit I think you are good at singing, why don't you sing us a song?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "??!!"; + next; + mes "[Bard]"; + mes "Hahaha!"; + mes "Just kidding."; + mes "Were you serious? Haha."; + next; + mes "["+strcharinfo(0)+"]"; + mes "..."; + next; + mes "[Karian]"; + mes "Sorry~"; + mes "Don't be upset..."; + mes "My name is Karian, I'm just going around."; + next; + mes "[Karian]"; + mes "Do you want to go somewhere?"; + mes "Alberta is perfect for traveling."; + next; + mes "[Karian]"; + mes "But when you go to sea, you have to be careful."; + mes "If you run into a Siren, then it's only a matter of time before she kills you."; + next; + mes "[Karian]"; + mes "No man can survive after hearing ^f57d7dthe voice of a Siren^000000."; + next; + mes "["+strcharinfo(0)+"]"; + mes "I'm "+strcharinfo(0)+"."; + mes "Are you here in Alberta to travel?"; + next; + mes "[Karian]"; + mes "Um.. I'm not trying to leave..."; + mes "..."; + next; + mes "[Karian]"; + mes "Yes!"; + mes "I'm looking for '^f57d7dMaestro Song^000000'."; + next; + mes "["+strcharinfo(0)+"]"; + mes "^f57d7d'Maestro Song'^000000, you mean the poet of legend?"; + next; + mes "[Karian]"; + mes "That's right."; + mes "According to a rumor that I heard, he is a rich noble."; + mes "But other than that fact, I can't get anymore information."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Why can't you get anymore information?"; + next; + mes "[Karian]"; + mes "Well?"; + mes "That's why I tried to go Prontera..."; + mes "Umm..."; + next; + mes "[Karian]"; + mes "If you are interested, why don't help me find out where ^f57d7d'Maestro Song'^000000 is?"; + next; + switch(select("Ok.:No.")){ + case 1: + mes "[" +strcharinfo(0)+ "]"; + mes "Ok, I will."; + set job_min,1; + setquest 11135; + next; + break; + case 2: + mes "["+strcharinfo(0)+"]"; + mes "I'm not interested."; + next; + mes "[Karian]"; + mes "Are you? It can't be helped."; + mes "See you later~"; + close; + } + mes "[Karian]"; + mes "It's good to travel by yourself but sometimes you feel that you want to have friends around."; + next; + mes "[Karian]"; + mes "Then "+strcharinfo(0)+"."; + mes "Can you collect some ^f57d7dInformation on 'Maestro Song'^000000 in ^f57d7dProntera^000000?"; + mes "Because I have something to investigate in Alberta."; + next; + mes "[Karian]"; + mes "Please come back here after finishing the investigation."; + close; + } + mes "[Bard]"; + mes "You have to be careful when you are going to sea."; + mes "If you run into a Siren, then it's only a matter of time before she kills you."; + next; + mes "[Bard]"; + mes "There is no one who can live when he hears^f57d7dthe voice of Siren^000000."; + close; + } + mes "[Bard]"; + mes "You have to be careful when you are going to sea."; + mes "If a Siren fascinates you, then it's only a matter of time before she kills you."; + next; + mes "[Bard]"; + mes "No man can survive after hearing ^f57d7dthe voice of a Siren^000000."; + close; + }else if (job_min == 1){ + mes "[Karian]"; + mes "It's good to travel by yourself but sometimes you feel that you want to have friends around."; + next; + mes "[Karian]"; + mes "Then "+strcharinfo(0)+"."; + mes "Can you collect some ^f57d7dInformation on 'Maestro Song'^000000 in ^f57d7dProntera^000000?"; + mes "Because I have something to investigate in Alberta."; + next; + mes "[Karian]"; + mes "Please come back here after finishing the investigation."; + close; + }else if ((job_min > 1) && (job_min < 4)){ + mes "[Karian]"; + mes "Can you collect some ^f57d7d information on 'Maestro Song'^000000 in ^f57d7dProntera^000000?"; + mes "Because I have something to investigate in Alberta."; + next; + mes "[Karian]"; + mes "please come back here after finishing the investigation."; + close; + }else if (job_min == 4){ + mes "[Karian]"; + mes ""+strcharinfo(0)+"! Did you already go to Prontera?"; + mes "Did you get any useful information?"; + next; + mes "[Karian]"; + mes "Hum~ did you?"; + mes "I think that's not enough to use..."; + next; + mes "[Karian]"; + mes "Huhu~ But I got some useful information from some of the captains here in Alberta."; + next; + mes "[Karian]"; + mes "I heard that there is a ship which had a man who could be ^f57d7dMaestro Song^000000."; + mes "A few years ago, it was a ship headed for ^f57d7dHugel^000000."; + next; + mes "[Karian]"; + mes "It doesn't exist any more, so I need to take an airship..."; + mes "It's my first time to take it."; + next; + mes "[Karian]"; + mes "Um.."; + mes "Anyway let's meet at the airship in Izlude."; + set job_min,5; + changequest 11138,11139; + close; + }else if (job_min == 100){ + mes "[Karian]"; + mes "The voice of heaven revolves around my ears"; + mes "like a wandering wind,"; + next; + mes "[Bard]"; + mes "Even though I close my eyes and cover my ears,"; + mes "I can hear a voice from somewhere,"; + next; + mes "[Bard]"; + mes "It put temptation in exhausted crewman to deep sleep,"; + mes "make them feel as if they are in the land of dreams."; + next; + mes "[Karian]"; + mes "Ah!!! "+strcharinfo(0)+" Long time no see!"; + mes "What? What am I doing here?"; + next; + mes "[Karian]"; + mes "Well?"; + mes "Let me leave here?"; + close; + } + mes "[Bard]"; + mes "The voice of heaven revolves around in my ears"; + mes "like wandering wind,"; + next; + mes "[Bard]"; + mes "Even though I close my eyes and cover my ears,"; + mes "I can hear the voice from somewhere,"; + next; + mes "[Bard]"; + mes "It put temptation in exhausted crewman to deep sleep,"; + mes "make them feel as if they are in the land of dreams."; + close; +} + +prontera,141,97,4 script Warmhearted woman 701,{ + + if (job_min == 1){ + mes "[Warmhearted woman]"; + mes "Maestro Song?"; + mes "I haven't heard that name before."; + next; + mes "[Warmhearted woman]"; + mes "Is he a legendary poet?"; + mes "I don't know who he is, but I guess he is a grand man?"; + next; + mes "[Warmhearted woman]"; + mes "Ah! Ask a ^f57d7dman wearing glasses near the gate of the castle^000000 about a song."; + mes "He will make a book of 100 hit songs~"; + next; + mes "[Warmhearted woman]"; + mes "He must know something about making that book."; + set job_min,2; + changequest 11135,11136; + close; + }else if (job_min == 2){ + mes "[Warmhearted woman]"; + mes "Ah! Ask a ^f57d7dman wearing glasses near the gate of the castle^000000 about the song."; + mes "They will make a book of 100 hit songs~"; + next; + mes "[Warmhearted woman]"; + mes "He must know something about making that book."; + close; + } + mes "[Warmhearted woman]"; + mes "I heard that a ^f57d7dman wearing glasses near the gate of the castle^000000 is making a 100 hit song book~"; + close; +} + +prontera,140,331,6 script Glasses-wearing Man 883,{ + + if (job_min == 2){ + mes "[Glasses-wearing Man]"; + mes "You mean Maestro Song?"; + mes "I don't know details of his life but I heard that he wrote great songs."; + next; + mes "[Glasses-wearing Man]"; + mes "I don't get how a boy raised in a rich environment could write a song like this."; + next; + mes "[Glasses-wearing Man]"; + mes "He is still on a trip, but thesedays we haven't heard new songs from him."; + next; + mes "[Glasses-wearing Man]"; + mes "So we are worried."; + next; + mes "[Glasses-wearing Man]"; + mes "It would be better to ask the ^f57d7dwoman standing in front of the tool shop^000000."; + set job_min,3; + changequest 11136,11137; + close; + }else if (job_min == 3){ + mes "[Glasses-wearing Man]"; + mes "It would better to ask the ^f57d7dwoman standing in front of the tool shop^000000."; + close; + } + mes "[Glasses-wearing Man]"; + mes "100 hit songs!!"; + mes "Whoever want to be a Minstrel should know about this!"; + next; + mes "[Glasses-wearing Man]"; + mes "Once this book is completed, I'll be rich!"; + mes "Haha!!"; + close; +} + +prontera,146,218,4 script Woman#job_min 90,{ + + if (job_min == 3){ + mes "[Woman]"; + mes "Do you know who Maestro Song is?"; + mes "I think he must be my little boy."; + next; + mes "[Woman]"; + mes "A few years ago, he went off to sea but he never came back."; + next; + mes "[Woman]"; + mes "He liked to sing a lot but we didn't let him sing."; + next; + mes "[Woman]"; + mes "His father didn't like him singing much."; + next; + mes "[Woman]"; + mes "So he broke every instrument in the house..."; + mes "It was terrible."; + mes "Where is my little boy... sniff."; + next; + mes "- I can't get anymore -"; + mes "- useful information. -"; + mes "- I'll go back to Alberta -"; + mes "- and talk to that Bard. -"; + set job_min,4; + changequest 11137,11138; + close; + }else if (job_min == 4){ + mes "- I can't get anymore -"; + mes "- useful information. -"; + mes "- Go back to Alberta. -"; + mes "- and talk to that Bard. -"; + close; + } + mes "[Woman]"; + mes "Where is my little boy... sniff."; + close; +} + +airplane,222,67,6 script Karian#job_min1 486,{ + + if (job_min == 5){ + mes "[Karian]"; + mes "Yup!!!!!!!!!!!!!!!!!!"; + next; + mes "[Karian]"; + mes "Please leave me alone."; + mes "I feel nauseated."; + next; + mes "[Karian]"; + mes "Acchh..."; + set job_min,6; + changequest 11139,11140; + close2; + warp "hu_in01",267,8; + end; + } + mes "[Karian]"; + mes "Yup!!!!!!!!"; + next; + mes "[Karian]"; + mes "Please leave me alone."; + mes "I feel nauseated."; + next; + mes "[Karian]"; + mes "Acchh..."; + close; +} + +hu_in01,267,5,3 script Karian#job_min2 486,{ + + if (job_min == 6){ + mes "[Karian]"; + mes "Eeeeh it's so painful."; + mes "I don't want to feel like this ever again."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Are you ok?"; + next; + mes "[Karian]"; + mes "..."; + mes "No..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "I'm feeling ok."; + mes "So, I'm going to find out information in town, you can take a rest."; + next; + mes "[Karian]"; + mes "Sorry, blech! I still feel bad..."; + mes "You can get good information from the ^f57d7dPub^000000. Owww..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "You don't have to tell me everything. I can take care of it."; + next; + mes "[Karian]"; + mes "..."; + set job_min,7; + changequest 11140,11141; + close; + }else if (job_min == 7){ + mes "[Karian]"; + mes "Sorry... Owww!"; + mes "You can get good information from the ^f57d7dPub^000000. Owww..."; + close; + }else if (job_min == 8){ + mes "[Karian]"; + mes "Wooo."; + mes "Did you get anything?"; + next; + mes "- Karian doesn't look -"; + mes "- like he's doing well -"; + mes "- you can get information -"; + mes "- from a man in the Pub. -"; + close; + }else if (job_min == 9){ + mes "[Karian]"; + mes "Owww..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "How do you feel?"; + next; + mes "[Karian]"; + mes "Oww..."; + mes "I feel better."; + next; + mes "[Karian]"; + mes "Did you get anything?"; + mes "I'm sorry that I can't be more helpful to you."; + next; + mes "["+strcharinfo(0)+"]"; + mes "No, it's ok."; + mes "I met a man in the Pub, he said that he got a song from 'Maestro Song'."; + next; + mes "[Karian]"; + mes "Pub?"; + mes "You got a song?"; + mes "....."; + mes "Bleech..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hey! Are you sure that you are ok?"; + next; + mes "[Karian]"; + mes "I don't become airsick,"; + mes "It's just bad memories."; + mes "So did you hear something?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "I heard a song named ^f57d7d'Metallic Sound'^000000."; + next; + mes "[Karian]"; + mes "What?!?!?!?!!!!!"; + mes "You heard that?!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Why? Do you know that song?"; + next; + mes "[Karian]"; + mes "Ahh..."; + mes "Y, yes..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hmm..."; + next; + mes "[Karian]"; + mes "I met him before."; + mes "He has a great voice..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Yes."; + mes "I blacked out as I heard that song."; + next; + mes "[Karian]"; + mes "He has the destructive power of voice."; + mes "And he..."; + mes "What else?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Ah!!"; + mes "^f57d7d'Maestro Song'^000000 went to ^f57d7dThanatos Tower^000000."; + mes "I don't know why he went there."; + next; + mes "[Karian]"; + mes "Did he? I must go there!"; + set job_min,10; + changequest 11142,11143; + close; + }else if (job_min == 10){ + mes "[Karian]"; + mes "What are you doing? Let's go to Thanatos tower."; + close; + } + mes "[Karian]"; + mes "Of course it's easy to take an airship, but sometimes it can be good to walk."; + next; + mes "[Karian]"; + mes "It isn't about my sickness."; + close; +} + +hu_in01,361,103,3 script Tone-deaf person 995,{ + + if (job_min == 7){ + mes "[Tone-deaf person]"; + mes "Lala~ lala~"; + mes "Humming~?"; + next; + mes "[Tone-deaf person]"; + mes "lalala~"; + mes "lullula~"; + next; + mes "- It's very hard to hear. -"; + mes "- You start to have doubts -"; + mes "- that such sounds could -"; + mes "- be made from humans. -"; + next; + switch(select("You move to other side.:Keep listening.")){ + case 1: + close; + case 2: + break; + } + mes "[Tone-deaf person]"; + mes "Turuturu~"; + mes "Dadada~"; + next; + mes "[Tone-deaf person]"; + mes "Shubashuba~ shaaa~"; + mes "Blahblah~"; + mes "Lalala..."; + mes "......!!"; + next; + if (Class == Job_Bard || Class == Job_Baby_Bard){ + mes "[Tone-deaf person]"; + mes "Hum!! Hey you, you were listening to my song."; + mes "You look like a Bard, how about you sing for me as rewarding my song?"; + next; + }else{ + mes "[Tone-deaf person]"; + mes "Hum!! Hey you, you were listening to my song."; + mes "You look like a Clown, how about you sing for me as rewarding my song?"; + next; + } + mes "["+strcharinfo(0)+"]"; + mes "What?!"; + next; + mes "[Tone-deaf person]"; + mes "Sing for me."; + mes "Come on~"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Ok..."; + mes "Hum hum..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "You are standing in the middle of Asgard's field."; + mes "You hand the friut of heaven over to me~"; + mes "You are loved by every god~"; + next; + mes "[Tone-deaf person]"; + mes "Hooo~ You sing well. I can feel better when I hear ^f57d7d'Idun's apple'^000000~"; + next; + mes "[Tone-deaf person]"; + mes "As you can see!"; + mes "I'm a guy who can enjoy songs!"; + next; + mes "[Tone-deaf person]"; + mes "I think it is nothing to be proud of. But I'm good at singing."; + mes "When I was young, I tried to be a Bard but I had to succeed the family business."; + next; + mes "[Tone-deaf person]"; + mes "For a long time I lost my dream, I'm already old."; + next; + mes "[Tone-deaf person]"; + mes "I have famliy that needed my protection."; + mes "But one day I believe that my dreams come true!"; + next; + mes "[Tone-deaf person]"; + mes "In my spare time, I heard the stories of a tourist in the Pub."; + mes "When I left there, I didn't want to become a laughing stock."; + next; + mes "[Tone-deaf person]"; + mes "And I can show my song to those who know the song."; + next; + mes "[Tone-deaf person]"; + mes "They are usually suprised when they hear the song."; + mes "They are suprised by my skill."; + mes "Huhu"; + next; + mes "[Tone-deaf person]"; + mes "But ^f57d7d'Maestro Song'^000000 didn't get discouraged by my song."; + mes "Of course he isn't good enough to me."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Did you meet ^f57d7d'Maestro Song'^000000?"; + next; + mes "[Tone-deaf person]"; + mes "Hmm? Have you met him?"; + mes "I did. A few years ago."; + next; + mes "[Tone-deaf person]"; + mes "When he heard my song, he said that he can't hear songs like this anywhere."; + next; + mes "[Tone-deaf person]"; + mes "I could have the opportunity to sing for him in Hugel."; + mes "There is no one who has skill like that."; + next; + mes "[Tone-deaf person]"; + mes "Before he left, I got a song that reminds me of him."; + next; + mes "[Tone-deaf person]"; + mes "He said that he will go to Thanatos."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Did you get a song?"; + next; + mes "[Tone-deaf person]"; + mes "Yes!"; + mes "He conceded my ability!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Can I hear the song?"; + next; + mes "[Tone-deaf person]"; + mes "Hum..."; + mes "Wait."; + mes "I have to find a piece of paper."; + mes "I put it in my vest."; + next; + mes "[Tone-deaf person]"; + mes "Rummaging rummaging."; + mes "Browsing browsing ."; + set job_min,8; + close; + }else if (job_min == 8){ + mes "[Tone-deaf person]"; + mes "I got it."; + mes "Hum!"; + mes "Listen carefully!"; + mes "^f57d7d'Metallic Sound!!'^000000"; + next; + mes "[Tone-deaf person]"; + mes "$$$$$$@@@@@!!!!"; + mes "&&$%&@@@$#$~~"; + mes "$#^#$####$$!!!@@#!!!!!"; + percentheal -30,-30; + next; + mes "[Tone-deaf person]"; + mes "!@@@$$%^@@#%^%!!!!!!"; + mes "!!!!!!!##$$^^^#^!!!"; + mes "&$$%@@@%@##%~~~"; + percentheal -30,-30; + next; + mes "-You lose consciousness.-"; + mes "-This voice must have-"; + mes "-huge destructive-"; + mes "-power.-"; + percentheal -30,-30; + next; + mes "-And I can't remember-"; + mes "-the end of this song.-"; + next; + mes "[Tone-deaf person]"; + mes "Hey~"; + next; + mes "[Tone-deaf person]"; + mes "Open your eyes~"; + next; + mes "[Tone-deaf person]"; + mes "Clap"; + mes "Hey~"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Eeeee..."; + next; + mes "[Tone-deaf person]"; + mes "I think you are qualified, but you seem to need more training."; + next; + mes "["+strcharinfo(0)+"]"; + mes "......"; + next; + mes "-You're so exhausted.-"; + mes "-So go back to the hotel.-"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Thank you for your song."; + mes "I have to go back..."; + next; + mes "[Tone-deaf person]"; + mes "Ah?"; + mes "Ok see you later."; + mes "If you want to hear my song, you can visit me."; + mes "Hahahh"; + set job_min,9; + changequest 11141,11142; + close; + }else if (job_min == 9){ + mes "["+strcharinfo(0)+"]"; + mes "......"; + next; + mes "-I'm so exhausted.-"; + mes "-you got information-"; + mes "-so go back to the hotel.-"; + close; + }else if (job_min == 10){ + mes "[Tone-deaf person]"; + mes "Are you leaving??"; + mes "If you want to hear my song, you can visit me."; + mes "Hahahah"; + close; + }else if (job_min == 100){ + mes "[Tone-deaf person]"; + mes "Oh!!"; + mes "You seem to be strong!"; + mes "You are no less competent than I am."; + close; + } + mes "[Tone-deaf person]"; + mes "Lala~ lalal~"; + mes "Lulu~?"; + next; + mes "[Tone-deaf person]"; + mes "Lalalal~"; + mes "Lululul~"; + next; + mes "-It's very hard to hear.-"; + mes "-You start to have doubts-"; + mes "-that such a sound can be-"; + mes "-coming out a human.-"; + close; +} + +tha_scene01,140,200,0 script min_receipt 139,3,3,{ + +OnTouch: + if (job_min == 10){ + mes "-There is a piece of paper on the ground.-"; + next; + mes "["+strcharinfo(0)+"]"; + mes "What is this?"; + next; + mes "[Karian]"; + mes "What does it say?"; + donpcevent "Karian#cmd1::OnEnable"; + next; + mes "==================="; + mes "==photo exchange=="; + mes "======receipt======"; + mes "==================="; + mes "Name : Maestro Song"; + next; + mes "- Bring this receipt and exchange it"; + mes ""; + mes "- Juno's store manager : Mr. Click."; + next; + mes "- Directions : Around Juno's plaza."; + getitem 6271,1; + next; + mes "["+strcharinfo(0)+"]"; + mes "Photo exchange receipt?"; + mes "How did he drop it..."; + next; + mes "[Karian]"; + mes "Juno's store..."; + mes "Let's go to Juno..."; + set job_min,11; + changequest 11143,11144; + donpcevent "Karian#cmd1::OnDisable"; + close; + }else if (job_min == 11){ + if (countitem(6271) < 1){ + mes "-There is a piece of paper on the ground.-"; + next; + mes "["+strcharinfo(0)+"]"; + mes "What is this?"; + next; + mes "[Karian]"; + mes "What does it say?"; + donpcevent "Karian#cmd1::OnEnable"; + next; + mes "==================="; + mes "==photo exchange=="; + mes "======receipt======"; + mes "==================="; + mes "Name : Maestro Song"; + next; + mes "- Bring this receipt and exchange it"; + mes ""; + mes "- Juno's store manager : Mr. Click."; + next; + mes "- Directions : Around Juno's plaza."; + getitem 6271,1; + next; + mes "["+strcharinfo(0)+"]"; + mes "Photo exchange receipt?"; + mes "How did he drop it..."; + next; + mes "[Karian]"; + mes "Juno's store..."; + mes "Let's go to Juno..."; + donpcevent "Karian#cmd1::OnDisable"; + close; + } + } +} + +tha_scene01,139,204,6 script Karian#cmd1 486,{ + end; + +OnInit: + disablenpc "Karian#cmd1"; + end; + +OnEnable: + enablenpc "Karian#cmd1"; + initnpctimer; + end; + +OnDisable: + disablenpc "Karian#cmd1"; + stopnpctimer; + end; + +OnTimer15000: + donpcevent "Karian#cmd1::OnDisable"; + stopnpctimer; + end; +} + +yuno,143,170,6 script Mr. Click#job_min 748,{ + + if (job_min == 11){ + mes "[Mr. Click]"; + mes "Hi~ welcome~"; + mes "I can take a picture for you."; + mes "Do you want to take a pic?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "No..."; + mes "Do you remember this receipt?"; + next; + mes "[Mr. Click]"; + mes "Let me see~"; + mes "Umm..."; + next; + mes "[Mr. Click]"; + mes "Yes..."; + mes "It looks so old."; + next; + mes "[Mr. Click]"; + mes "It's okay."; + mes "Tourists usually don't pick up their pictures."; + next; + mes "[Mr. Click]"; + mes "So there are plenty of photos I've been holding on to."; + next; + mes "[Mr. Click]"; + mes "I can find that so easily."; + mes "I keep lots of old stuff."; + mes "No problem."; + next; + mes "[Mr. Click]"; + mes "browsing~"; + next; + mes "[Mr. Click]"; + mes "browsing~"; + next; + mes "[Mr. Click]"; + mes "I think I found it!"; + mes "The photo crashed down, but it's ok."; + mes "No problem."; + next; + mes "[Mr. Click]"; + mes "Here, take a look."; + next; + mes "["+strcharinfo(0)+"]"; + mes "The picture!"; + mes "Let me see it!"; + next; + mes "[Karian]"; + mes "Hurry."; + donpcevent "Karian#cmd2::OnEnable"; + next; + mes "["+strcharinfo(0)+"]"; + mes "..."; + next; + mes "[Karian]"; + mes "Oh~ Good pic, isn't it?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "I expected I would see the face of 'Maestro Song', but he's wearing a mask..."; + mes "He's wearing a mask?!"; + mes "We came here for this?"; + next; + mes "[Karian]"; + mes "Ah! look at this!"; + mes "Something is on the back of the picture."; + next; + mes "-I want to have a Teddy Bear. I need 33?"; + mes "-In front of Thanatos tower."; + mes "-Maestro Song."; + next; + mes "["+strcharinfo(0)+"]"; + mes "What does it mean?"; + next; + mes "[Karian]"; + mes "Well..."; + next; + mes "[Karian]"; + mes "Um... Teddy Bear..."; + mes "Between Einbroch and Lighthalzen, there is an area that teddybears live."; + next; + mes "[Karian]"; + mes "We might be able to get something there."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Then why would he need 33?"; + next; + mes "[Karian]"; + mes "Well... Go there and we might be able to find out something."; + next; + mes "[Karian]"; + mes "Umm... Then I'll pass by Einbroch and go to Lighthalzen. Why don't you go to the place that Teddy Bears are?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Ok. Then let's meet at Lighthalzen's hotel."; + mes "I'll get the 33 Teddy Bears."; + donpcevent "Karian#cmd2::OnDisable"; + set job_min,12; + getitem 6270,1; + changequest 11144,11145; + close; + }else if (job_min == 12){ + mes "[Mr. Click]"; + mes "Then take care."; + next; + mes "[Karian]"; + mes "Let's go there!"; + donpcevent "Karian#cmd2::OnEnable"; + next; + mes "[Karian]"; + mes "Then I'll pass by Einbroch and go to Lighthalzen. Why don't you go to the place that Teddy Bears are?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Then let's meet at Lighthalzen's hotel."; + mes "I'll get the 33 Teddy Bears."; + donpcevent "Karian#cmd2::OnDisable"; + close; + } + mes "[Mr. Click]"; + mes "Hi~ welcome~"; + mes "I can take a picture for you."; + mes "Do you want to take a pic?"; + close; +} + +yuno,146,168,0 script Karian#cmd2 486,{ + end; + +OnInit: + disablenpc "Karian#cmd2"; + end; + +OnEnable: + enablenpc "Karian#cmd2"; + initnpctimer; + end; + +OnDisable: + disablenpc "Karian#cmd2"; + stopnpctimer; + end; + +OnTimer100000: + donpcevent "Karian#cmd2::OnDisable"; + stopnpctimer; + end; +} + +lighthalzen,162,126,3 script Little Girl#job_min 62,3,3,{ + +OnTouch: + if (checkquest(11145,2) == 2){ + if (job_min == 12){ + mes "[Little Girl]"; + mes "Ah!!!!"; + mes "Teddy bear!!!"; + next; + mes "[Little Girl]"; + mes "Why do you have lots of teddy bears?"; + mes "Where did you get them old man?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hey, I'm not an old man."; + next; + mes "[Little Girl]"; + mes "And my name isn't 'Hey'!"; + mes "My name is 'Rion'!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Sorry~ sorry~"; + mes "What if I give you a teddy bear."; + next; + mes "[Rion]"; + mes "Ah!"; + mes "Are you sure?"; + mes "Hooray!!!"; + next; + mes "[Rion]"; + mes "A man who I saw before didn't give me teddybears even though he had lots of them!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Is he the guy in this pic?"; + next; + mes "[Rion]"; + mes "I can't rememebr well."; + mes "But I think he is."; + next; + mes "[Rion]"; + mes "My mother said that he was rolling in a room with teddy bears."; + next; + mes "[Rion]"; + mes "And he wears teddy bear outfits and goes to the ^f57d7dIce Cave^000000."; + next; + mes "[Rion]"; + mes "My mother works here."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Ice Cave?"; + next; + mes "[Rion]"; + mes "Mother said that it's freezing."; + next; + mes "[Karian]"; + mes "Hey~ "+strcharinfo(0)+"~"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Ah, Karian. Did you just get here?"; + next; + mes "[Karian]"; + mes "Yes."; + mes "It was much farther away than I'd expected."; + donpcevent "Karian#cmd3::OnEnable"; + next; + mes "["+strcharinfo(0)+"]"; + mes "You... walked here?"; + next; + mes "[Karian]"; + mes "..."; + mes "I didn't want to take the airship again..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Oh... got it."; + mes "Then did you get anything in Einbroch?"; + next; + mes "[Karian]"; + mes "I think 'Maestro Song' went to Einbroch, but he left soon because of air."; + mes "How about you? Did you find something about the teddy bears?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "'Maestro Song' might be in an Ice Cave."; + next; + mes "[Karian]"; + mes "Might be?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "This little... ah... Rion saw him."; + next; + mes "[Karian]"; + mes "Then it's time to go to the Ice Cave?"; + mes "Huu... legs hurt."; + mes "Ok, let's go to there."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Okay."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Thanks, Rion."; + mes "I'll give you all the teddy bears I have."; + next; + mes "[Rion]"; + mes "Really?!"; + mes "Waaah!!!!!!!!!"; + mes "I'm so happy!!!"; + mes "Thank you, "+strcharinfo(0)+"."; + set job_min,13; + changequest 11145,11146; + donpcevent "Karian#cmd3::OnDisable"; + close; + }else if (job_min == 13){ + mes "[Rion]"; + mes "I heard that 'Maestro Song' when I went to the Ice Cave."; + mes "Thank you for the Teddy Bears!"; + close; + }else if (job_min > 13){ + mes "[Rion]"; + mes "I'm having a lot of fun playing with the Teddy Bears!"; + close; + } + mes "[Little Girl]"; + mes "I'm having a lot of fun playing with the Teddy Bears!"; + close; + } + mes "[Little Girl]"; + mes "Do you like teddy bears?"; + mes "I love 'em!!!!!"; + close; +} + +lighthalzen,160,124,6 script Karian#cmd3 486,{ + end; + +OnInit: + disablenpc "Karian#cmd3"; + end; + +OnEnable: + enablenpc "Karian#cmd3"; + initnpctimer; + end; + +OnDisable: + disablenpc "Karian#cmd3"; + stopnpctimer; + end; + +OnTimer100000: + donpcevent "Karian#cmd3::OnDisable"; + stopnpctimer; + end; +} + +ice_dun01,157,15,0 script Ice Cave Minstrel1 139,2,2,{ + +OnTouch: + if (job_min == 13){ + mes "-A long time ago-"; + close2; + warp "ice_dun01",157,23; + end; + } + end; +} + +ice_dun01,157,23,0 script Ice Cave Minstrel2 139,2,2,{ + +OnTouch: + if (job_min == 13){ + mes "-THe giant born to ice-"; + close2; + warp "ice_dun01",141,41; + end; + } + end; +} + +ice_dun01,141,41,0 script Ice Cave Minstrel3 139,2,2,{ + +OnTouch: + if (job_min == 13){ + mes "-died-"; + close2; + warp "ice_dun01",120,35; + end; + } + end; +} + +ice_dun01,120,35,0 script Ice Cave Minstrel4 139,2,2,{ + +OnTouch: + if (job_min == 13){ + mes "-His body became the ground-"; + close2; + warp "ice_dun01",104,30; + end; + } + end; +} + +ice_dun01,104,30,0 script Ice Cave Minstrel5 139,2,2,{ + +OnTouch: + if (job_min == 13){ + mes "-His bones became a mountain-"; + close2; + warp "ice_dun01",86,23; + end; + } + end; +} + +ice_dun01,86,23,0 script Ice Cave Minstrel6 139,2,2,{ + +OnTouch: + if (job_min == 13){ + mes "-his skin became soil-"; + close2; + warp "ice_dun01",75,19; + end; + } + end; +} + +ice_dun01,75,19,0 script Ice Cave Minstrel7 139,2,2,{ + +OnTouch: + if (job_min == 13){ + mes "-His blood became a river-"; + close2; + warp "ice_dun01",56,12; + end; + } + end; +} + +ice_dun01,56,12,0 script Ice Cave Minstrel8 139,2,2,{ + +OnTouch: + if (job_min == 13){ + mes "-his hair became a plant-"; + close2; + warp "ice_dun01",29,26; + end; + } + end; +} + +ice_dun01,29,26,0 script Ice Cave Minstrel9 139,2,2,{ + +OnTouch: + if (job_min == 13){ + mes "-His head became the sky-"; + close2; + warp "ice_dun01",25,46; + end; + } + end; +} + +ice_dun01,25,46,0 script Ice Cave Minstrel10 139,2,2,{ + +OnTouch: + if (job_min == 13){ + mes "-His tears from his-"; + close2; + warp "ice_dun01",20,66; + end; + } + end; +} + +ice_dun01,20,66,0 script Ice Cave Minstrel11 139,2,2,{ + +OnTouch: + if (job_min == 13){ + mes "-eyes became dew-"; + close2; + warp "ice_dun01",22,85; + end; + } + end; +} + +ice_dun01,22,85,0 script Ice Cave Minstrel12 139,2,2,{ + +OnTouch: + if (job_min == 13){ + mes "-on the leaves-"; + percentheal -90,0; + set job_min,14; + changequest 11146,11147; + close2; + warp "ra_in01",361,129; + end; + } + end; +} + +ra_in01,361,129,0 script jmRachelHotel 139,2,2,{ + +OnTouch: + if (job_min == 14){ + mes "[Old Woman]"; + mes "Huu!!"; + mes "Wake up!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Where am I...?"; + set job_min,15; + close; + } + end; +} + +ra_in01,358,130,4 script Old Woman#job_min 979,{ + + if (job_min == 14){ + mes "[Old Woman]"; + mes "Huu!!"; + mes "Wake up!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Where am I...?"; + set job_min,15; + close; + }else if (job_min == 15){ + mes "[Old Woman]"; + mes "You're in Rachel."; + mes "You arere strange. You have to wear warmer clothes if you want to go into the Ice Cave."; + next; + mes "[Old Woman]"; + mes "You're lucky that my husband found you when he did."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Sorry."; + next; + mes "[Old Woman]"; + mes "Anyway!! Be careful!"; + mes "You don't believe your youth alone will protect you."; + next; + mes "["+strcharinfo(0)+"]"; + mes "I'll be careful."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Do you know that song written on the wall of the Ice cave?"; + next; + mes "[Old Woman]"; + mes "Did you go there to see?"; + mes "A few years ago, one man wearing a mask carved that on the Ice cave."; + next; + mes "[Old Woman]"; + mes "I couldn't see his face because of the mask,"; + next; + mes "[Old Woman]"; + mes "but he got a cold and felt so painful."; + next; + mes "[Old Woman]"; + mes "And then he decided to go to Comodo."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Comodo?"; + next; + mes "[Old Woman]"; + mes "Yes, I heard that Comodo is a very fun place, I want to go there before I die."; + next; + mes "[Old Woman]"; + mes "If you want to go there you have to take an airship to the Rune-Midgarts Kingdom."; + next; + mes "[Old Woman]"; + mes "That's not easy."; + next; + mes "[Karian]"; + mes "What?! An Airship?!"; + mes "Eee I don't want to go on an airship again!"; + donpcevent "Karian#cmd4::OnEnable"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Take it easy..."; + mes "Is there another way to go there?"; + next; + mes "[Old Woman]"; + mes "Without an airship?"; + mes "You can walk..."; + mes "But it takes a long time..."; + next; + mes "[Old Woman]"; + mes "Ah! It's Comodo over southern Veins."; + next; + mes "[Old Woman]"; + mes "We don't have a proper boat."; + mes "In southern of Veins, there is a port. If you are lucky you can take it..."; + donpcevent "Karian#cmd4::OnDisable"; + set job_min,16; + changequest 11147,11148; + close; + }else if (job_min == 16){ + mes "[Old Woman]"; + mes "Ah! It's Comodo over southern Veins."; + next; + mes "[Old Woman]"; + mes "We don't have a proper boat."; + mes "In southern of Veins, there is a port. If you are lucky you can take it..."; + close; + } + mes "[Old Woman]"; + mes "I heard that Comodo is a very fun place, I want to go there before I die."; + next; + mes "[Old Woman]"; + mes "If you want to go there you have to take an Airship to the Rune-Midgarts Kingdom."; + next; + mes "[Old Woman]"; + mes "It's the fastest way."; + close; +} + +ra_in01,357,128,0 script Karian#cmd4 486,{ + end; + +OnInit: + disablenpc "Karian#cmd4";; + end; + +OnEnable: + enablenpc "Karian#cmd4";; + initnpctimer; + end; + +OnDisable: + disablenpc "Karian#cmd4";; + stopnpctimer; + end; + +OnTimer100000: + donpcevent "Karian#cmd4::OnDisable"; + stopnpctimer; + end; +} + +ve_fild07,131,132,5 script =Notice=#job_min 837,{ + + if (job_min == 16){ + mes "===Notice==="; + mes "Maestro Song, Go to Comodo by boat!"; + mes "Be ambitious!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Will it be okay..."; + next; + mes "[Karian]"; + mes "Don't worry, trust me!!"; + donpcevent "Karian#cmd5::OnEnable"; + next; + mes "-It's not easy to trust her-"; + next; + switch(select("I don't like this.:Take the kayak.")){ + case 1: + mes "[Karian]"; + mes "I never ride airships ever..."; + donpcevent "Karian#cmd5::OnDisable"; + close; + case 2: + mes "[Karian]"; + mes "Ok Then let's go!!!!!"; + next; + mes "-If you take a small boat,-"; + mes "-and go ahead-"; + mes "-to Comodo,-"; + mes "-You should see-"; + mes "-other small boats.-"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hmm..."; + mes "I didn't think that there was anyone who would cross over this sea with a boat."; + mes "You sure I'll see other boats?"; + next; + mes "[Karian]"; + mes "They will be headed the other direction."; + donpcevent "Karian#cmd5::OnDisable"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Where are you going?"; + next; + mes "[Karian]"; + mes "Well? I haven't heard of the place's name before."; + mes "It's just called 'island' from what I heard."; + next; + mes "-For a whlie the silence-"; + mes "-continues. Karian starts-"; + mes "-to hum as she rows.-"; + next; + mes "-Listening to Karian hum-"; + mes "-You suddenly feel like-"; + mes "-you're sitting in water.-"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hey! There's a water leak!!"; + next; + mes "[Karian]"; + mes "Ahhhh!!!!!!!!!!!!!!"; + next; + set .@rand,rand(7,9); + if (.@rand == 7){ + switch(select("Throw the water out.:Row.:Dance.")){ + case 1: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + case 2: + mes "[Karian]"; + mes "The boat is sinking!!!"; + close; + case 3: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + } + }else if (.@rand == 8){ + switch(select("Row.:Throw the water out.:Dance.")){ + case 1: + mes "[Karian]"; + mes "The boat is sinking!!!"; + close; + case 2: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + case 3: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + } + } + switch(select("Dance.:Row.:Throw the water out.")){ + case 1: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + case 2: + mes "[Karian]"; + mes "The boat is sinking!!!"; + close; + case 3: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + } + set .@rand,rand(7,9); + if (.@rand == 7){ + switch(select("Throw the water out.:Row.:Dance.")){ + case 1: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + case 2: + mes "[Karian]"; + mes "The boat is sinking!!!"; + close; + case 3: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + } + }else if (.@rand == 8){ + switch(select("Row.:Throw the water out.:Sleep.")){ + case 1: + mes "[Karian]"; + mes "The boat is sinking!!!"; + close; + case 2: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + case 3: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + } + } + switch(select("Sleep.:Row.:Throw the water out.")){ + case 1: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + case 2: + mes "[Karian]"; + mes "The boat is sinking!!!"; + close; + case 3: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + } + set .@rand,rand(7,9); + if (.@rand == 7){ + switch(select("Throw the water out.:Row.:Sleep.")){ + case 1: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + case 2: + mes "[Karian]"; + mes "The boat is sinking!!!"; + close; + case 3: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + } + }else if (.@rand == 8){ + switch(select("Row.:Throw the water out.:Sing.")){ + case 1: + mes "[Karian]"; + mes "The boat is sinking!!!"; + close; + case 2: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + case 3: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + } + } + switch(select("Sing.:Row.:Throw the water out.")){ + case 1: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + case 2: + mes "[Karian]"; + mes "The boat is sinking!!!"; + close; + case 3: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + } + set .@rand,rand(7,9); + if (.@rand == 7){ + switch(select("Throw the water out.:Row.:Have some water.")){ + case 1: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + case 2: + mes "[Karian]"; + mes "The boat is sinking!!!"; + close; + case 3: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + } + }else if (.@rand == 8){ + switch(select("Row.:Throw the water out.:Have some water.")){ + case 1: + mes "[Karian]"; + mes "The boat is sinking!!!"; + close; + case 2: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + case 3: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + } + } + switch(select("Have some water.:Row.:Throw the water out.")){ + case 1: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + case 2: + mes "[Karian]"; + mes "The boat is sinking!!!"; + close; + case 3: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + } + set .@rand,rand(7,9); + if (.@rand == 7){ + switch(select("Throw the water out.:Row.:Shout 'Viva'.")){ + case 1: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + case 2: + mes "[Karian]"; + mes "The boat is sinking!!!"; + close; + case 3: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + } + }else if (.@rand == 8){ + switch(select("Row.:Throw the water out.:Shout 'Viva'.")){ + case 1: + mes "[Karian]"; + mes "The boat is sinking!!!"; + close; + case 2: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + case 3: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + } + } + switch(select("Shout 'Viva'.:Row.:Throw the water out.")){ + case 1: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + case 2: + mes "[Karian]"; + mes "The boat is sinking!!!"; + close; + case 3: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + } + set .@rand,rand(7,9); + if (.@rand == 7){ + switch(select("Throw the water out.:Row.:Go fishing.")){ + case 1: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + case 2: + mes "[Karian]"; + mes "The boat is sinking!!!"; + close; + case 3: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + } + }else if (.@rand == 8){ + switch(select("Row.:Throw the water out.:Go fishing.")){ + case 1: + mes "[Karian]"; + mes "The boat is sinking!!!"; + close; + case 2: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + case 3: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + } + } + switch(select("Go fishing.:Row.:Throw the water out.")){ + case 1: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + case 2: + mes "[Karian]"; + mes "The boat is sinking!!!"; + close; + case 3: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + } + set .@rand,rand(7,9); + if (.@rand == 7){ + switch(select("Throw the water out.:Row.:Listen to my song.")){ + case 1: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + case 2: + mes "[Karian]"; + mes "The boat is sinking!!!"; + close; + case 3: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + } + }else if (.@rand == 8){ + switch(select("Row.:Throw the water out.:Listen to my song.")){ + case 1: + mes "[Karian]"; + mes "The boat is sinking!!!"; + close; + case 2: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + case 3: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + } + } + switch(select("Listen to my song.:Row.:Throw the water out.")){ + case 1: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + case 2: + mes "[Karian]"; + mes "The boat is sinking!!!"; + close; + case 3: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + } + set .@rand,rand(7,9); + if (.@rand == 7){ + switch(select("Throw the water out.:Row.:Pray.")){ + case 1: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + case 2: + mes "[Karian]"; + mes "The boat is sinking!!!"; + close; + case 3: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + } + }else if (.@rand == 8){ + switch(select("Row.:Throw the water out.:Pray.")){ + case 1: + mes "[Karian]"; + mes "The boat is sinking!!!"; + close; + case 2: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + case 3: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + } + } + switch(select("Pray.:Row.:Throw the water out.")){ + case 1: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + case 2: + mes "[Karian]"; + mes "The boat is sinking!!!"; + close; + case 3: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + } + set .@rand,rand(7,9); + if (.@rand == 7){ + switch(select("Throw the water out.:Row.:Eat some food.")){ + case 1: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + case 2: + mes "[Karian]"; + mes "The boat is sinking!!!"; + close; + case 3: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + } + }else if (.@rand == 8){ + switch(select("Row.:Throw the water out.:Eat some food.")){ + case 1: + mes "[Karian]"; + mes "The boat is sinking!!!"; + close; + case 2: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + case 3: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + } + } + switch(select("Eat some food.:Row.:Throw the water out.")){ + case 1: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + case 2: + mes "[Karian]"; + mes "The boat is sinking!!!"; + case 3: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + } + set .@rand,rand(7,9); + if (.@rand == 7){ + switch(select("Throw the water out.:Row.:Give up.")){ + case 1: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + case 2: + mes "[Karian]"; + mes "The boat is sinking!!!"; + close; + case 3: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + } + }else if (.@rand == 8){ + switch(select("Row.:Throw the water out.:Give up.")){ + case 1: + mes "[Karian]"; + mes "The boat is sinking!!!"; + close; + case 2: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + case 3: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + } + } + switch(select("Give up.:Row.:Throw the water out.")){ + case 1: + mes "[Karian]"; + mes "What the hell do you think you're doing?"; + close; + case 2: + mes "[Karian]"; + mes "The boat is sinking!!!"; + close; + case 3: + mes "[Karian]"; + mes "I'll row and you just throw the water out!!"; + next; + break; + } + mes "-I've escaped from the-"; + mes "-throes of death a-"; + mes "-countless amount of times.-"; + set job_min,17; + changequest 11148,11149; + close2; + warp "comodo",184,108; + end; + } + } + mes "===Notice==="; + mes "Maestro Song, Go to Comodo by boat!"; + mes "Be ambitious!"; + close; +} + +ve_fild07,129,132,5 script Karian#cmd5 486,{ + end; + +OnInit: + disablenpc "Karian#cmd5"; + end; + +OnEnable: + enablenpc "Karian#cmd5"; + initnpctimer; + end; + +OnDisable: + disablenpc "Karian#cmd5"; + stopnpctimer; + end; + +OnTimer30000: + donpcevent "Karian#cmd5::OnDisable"; + stopnpctimer; + end; +} + +comodo,184,108,0 script jmComodo Almost Dead 139,2,2,{ + +OnTouch: + if (job_min == 17){ + mes "["+strcharinfo(0)+"]"; + mes "I'm... I'm alive~"; + next; + mes "[Karian]"; + mes "That was a close call."; + donpcevent "Karian#cmd6::OnEnable"; + next; + mes "["+strcharinfo(0)+"]"; + mes "You're the one that insisted that we ride on that boat. That's how we ended up like this in the first place!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "We wouldn't have suffered like this if we just took the Airship."; + next; + mes "[Karian]"; + mes "But I told you that I don't ride airships!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "I can't believe this!"; + next; + mes "[Karian]"; + mes "Well, let's forget about the past!"; + mes "Since we're in Comodo, let's just have some fun okay?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Then what should we do about looking for 'Maestro Song'??"; + next; + mes "[Karian]"; + mes "Oh yeah..."; + mes "Why don't we ask the villagers?"; + donpcevent "Karian#cmd6::OnDisable"; + set job_min,18; + changequest 11149,11150; + close; + } + end; +} + +comodo,184,109,0 script Karian#cmd6 486,{ + end; + +OnInit: + disablenpc "Karian#cmd6"; + end; + +OnEnable: + enablenpc "Karian#cmd6"; + initnpctimer; + end; + +OnDisable: + disablenpc "Karian#cmd6"; + stopnpctimer; + end; + +OnTimer100000: + donpcevent "Karian#cmd6::OnDisable"; + stopnpctimer; + end; +} + +comodo,192,119,0 script Kayak Master#job_min 98,{ + + if (job_min == 18){ + mes "[Kayak Master]"; + mes "What?"; + mes "Maestro Song?"; + mes "I don't know~"; + next; + mes "[Kayak Master]"; + mes "Go to the diner located in the northern part of Comodo."; + mes "If he visits this town, he would likely go there first."; + next; + mes "[Kayak Master]"; + mes "The hostess is good at memorizing the faces of customers."; + mes "It's good for business you know?"; + set job_min,19; + changequest 11150,11151; + close; + } + mes "[Kayak Master]"; + mes "The sea is man's dream."; + next; + mes "[Kayak Master]"; + mes "It's my hope that I can cross over to Hugel someday!"; + close; +} + +comodo,159,316,4 script Woman Roasting Meat 701,{ + + if (job_min == 19){ + mes "[Woman Roasting Meat]"; + mes "Maestro Song?"; + mes "Yes, I remember that face because he visited a few years ago."; + next; + mes "[Woman Roasting Meat]"; + mes "He ate a whole plate of baby back ribs by himself..."; + mes "How can I forget his face?"; + next; + mes "[Woman Roasting Meat]"; + mes "It was kind of a big fuss."; + mes "It was so crowded because of him."; + next; + mes "[Woman Roasting Meat]"; + mes "Finally, he became exhaused and he wanted to go somewhere quiet."; + next; + mes "[Woman Roasting Meat]"; + mes "I told him that there was a quiet place near Morroc, and he left."; + next; + mes "[Woman Roasting Meat]"; + mes "I regret that."; + next; + mes "[Woman Roasting Meat]"; + mes "He raised our income a lot while he was here..."; + set job_min,20; + changequest 11151,11152; + close; + }else if (job_min == 20){ + mes "[Woman Roasting Meat]"; + mes "Where is the quiet place?"; + mes "Well I'm not sure but there is a mysterious building in south-eastern part of Morroc."; + next; + mes "[Woman Roasting Meat]"; + mes "I heard that some mysterious people gather there."; + mes "I think they're part of some secret guild called ash... or assa... Oh I forget..."; + close; + } + mes "[Woman Roasting Meat]"; + mes "He ate a whole plate of baby back ribs by himself."; + next; + mes "[Woman Roasting Meat]"; + mes "I'll never forget him."; + close; +} + +moc_fild16,206,232,0 script jmTransfer news 139,3,3,{ + +OnTouch: + if (job_min == 20){ + mes "["+strcharinfo(0)+"]"; + mes "Um? What is this?"; + mes "Something covered by sand?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Ah It's!!"; + mes "I think 'Maestro Song' dropped it!"; + next; + mes "[Karian]"; + mes "What?! How do you know?"; + donpcevent "Karian#cmd7::OnEnable"; + next; + mes "["+strcharinfo(0)+"]"; + mes "The lyrics from the man I met in hugel on the receipt..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "and this poem written on this paper."; + mes "The calligraphy style is the same."; + next; + mes "[Karian]"; + mes "I want to see clock tower..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "But this poem can't be a clue..."; + mes "..."; + mes "What?"; + next; + mes "[Karian]"; + mes "......"; + mes "I want to see clock tower."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Clock tower?"; + mes "What are you saying all of a sudden?"; + next; + mes "[Karian]"; + mes "The... huge clock tower in Al De Baran."; + next; + mes "["+strcharinfo(0)+"]"; + mes "I know but..."; + next; + mes "[Karian]"; + mes "Will you join me?"; + next; + switch(select("Refuse.:Accept.")){ + case 1: + mes "[Karian]"; + mes "Come on~Come on~"; + mes "Come on~Come on~"; + mes "Come on~~~~~~~~~"; + next; + mes "[Karian]"; + mes "We don't have anymore clues."; + next; + mes "[Karian]"; + mes "Hey! Let's go~~"; + donpcevent "Karian#cmd7::OnDisable"; + set job_min,21; + changequest 11152,11153; + close; + case 2: + mes "["+strcharinfo(0)+"]"; + mes "Ok that's not a bad idea..."; + next; + mes "[Karian]"; + mes "Ok!!!"; + mes "Hey! Let's go~~"; + donpcevent "Karian#cmd7::OnDisable"; + set job_min,21; + changequest 11152,11153; + close; + } + } + end; +} + +moc_fild16,204,231,0 script Karian#cmd7 486,{ + end; + +OnInit: + disablenpc "Karian#cmd7"; + end; + +OnEnable: + enablenpc "Karian#cmd7"; + initnpctimer; + end; + +OnDisable: + disablenpc "Karian#cmd7"; + stopnpctimer; + end; + +OnTimer100000: + donpcevent "Karian#cmd7::OnDisable"; + stopnpctimer; + end; +} + +aldebaran,140,130,0 script jmAldebaran Clock Tower 139,3,3,{ + +OnTouch: + if (job_min == 21){ + mes "["+strcharinfo(0)+"]"; + mes "Anyway why do you want to visit this place?"; + next; + mes "[Karian]"; + mes "......"; + donpcevent "Karian#cmd8::OnEnable"; + next; + mes "[Karian]"; + mes "This is my friend's favorite place."; + mes "When we feel tired, we see that tower."; + next; + mes "[Karian]"; + mes "Let me go back to my hometown."; + mes "There are many beautiful flowers."; + mes "The birds sing for me."; + mes "It's this old town."; + next; + mes "[Karian]"; + mes "I harvest crops"; + mes "for my church."; + mes "There is no warmer"; + mes "place than where"; + mes "I was raised."; + next; + mes "[Karian]"; + mes "Let me go back to my hometown."; + mes "Let me play in the lake until I die."; + mes "I'll take a rest"; + mes "at the end of my life."; + next; + mes "[Karian]"; + mes "Where is Misa and Masa."; + mes "They already went to the"; + mes "brilliant mountain where"; + mes "it is full of freedom and"; + mes "pleasure I want to go"; + mes "there soon."; + next; + mes "[Karian]"; + mes "It's a song that my friend always sang for me."; + mes "I haven't sung it in a long time..."; + next; + mes "[Karian]"; + mes "Why don't we go back to Prontera?"; + next; + mes "[Karian]"; + mes "I can't get rid of the the memories that I was impressed with when I entered Prontera's gates."; + set job_min,22; + changequest 11153,11154; + donpcevent "Karian#cmd8::OnDisable"; + close; + }else if (job_min == 22){ + mes "[Karian]"; + mes "Let's go back to Prontera?"; + next; + mes "[Karian]"; + mes "I can't get rid of the the memories that I was impressed with when I entered Prontera's gates."; + close; + } + end; +} + +aldebaran,142,128,2 script Karian#cmd8 486,{ + end; + +OnInit: + disablenpc "Karian#cmd8"; + end; + +OnEnable: + enablenpc "Karian#cmd8"; + initnpctimer; + end; + +OnDisable: + disablenpc "Karian#cmd8"; + stopnpctimer; + end; + +OnTimer100000: + donpcevent "Karian#cmd8::OnDisable"; + stopnpctimer; + end; +} + +prontera,155,40,0 script jmprt1 139,2,2,{ + +OnTouch: + if (job_min == 22){ + mes "[Karian]"; + mes "I've finally come back."; + mes "Back to Prontera..."; + donpcevent "Karian#cmd9::OnEnable"; + next; + mes "[Karian]"; + mes "I'm so tired."; + mes "I want to take a rest~"; + mes "Come here, "+strcharinfo(0)+"."; + set job_min,23; + close; + } + end; +} + +prontera,155,49,4 script Karian#cmd9 486,{ + end; + +OnInit: + disablenpc "Karian#cmd9"; + end; + +OnEnable: + enablenpc "Karian#cmd9"; + initnpctimer; + end; + +OnDisable: + disablenpc "Karian#cmd9"; + stopnpctimer; + end; + +OnTimer300000: + donpcevent "Karian#cmd9::OnDisable"; + stopnpctimer; + end; +} + +prontera,155,42,0 script prtjm1 139,1,1,{ + +OnTouch: + if (job_min == 23){ + mes "-Let me go back to my hometown.-"; + set job_min,24; + close2; + warp "prontera",155,44; + end; + } + end; +} + +prontera,155,44,0 script prtjm2 139,1,1,{ + +OnTouch: + if (job_min == 24){ + mes "-There are many beautiful flowers.-"; + set job_min,25; + close2; + warp "prontera",155,46; + end; + } + end; +} + +prontera,155,46,0 script prtjm3 139,1,1,{ + +OnTouch: + if (job_min == 25){ + mes "-The birds sing for me.-"; + set job_min,26; + close2; + warp "prontera",155,48; + end; + } + end; +} + +prontera,155,48,0 script prtjm4 139,1,1,{ + +OnTouch: + if (job_min == 26 || job_min == 27){ + mes "-It's this old town.-"; + next; + if(SkillPoint != 0){ + mes "[Karian]"; + mes "Hey... Don't you know how to use your skill points?"; + mes "You should use them."; + close; + } + if(checkweight(1201,1) == 0){ + mes "^3355FFWait a minute! You're"; + mes "carrying too many items"; + mes "right now: store some of"; + mes "your extra things in Kafra"; + mes "Storage, and then come back.^000000"; + close; + } + if (JobLevel < 50 || BaseLevel < 99){ + mes "[Karian]"; + mes "Hey... why are you so low?"; + mes "How did you lose levels?"; + close; + } + if (Class == Job_Bard || Class == Job_Clown || Class == Job_Baby_Bard){ + mes "["+strcharinfo(0)+"]"; + mes "-It's a poem that you picked up in the desert.-"; + next; + mes "["+strcharinfo(0)+"]"; + mes "-How does Karian know-"; + mes "-that song's not a poem?-"; + next; + mes "[Karian]"; + mes "Why are you looking at me?"; + mes "How was it? Have fun??"; + set job_min,27; + donpcevent "Karian#cmd9::OnDisable"; + close2; + warp "prt_in",101,174; + end; + } + mes "[Karian]"; + mes "Hey... you changed your outfit?"; + mes "How'd you do that?"; + close; + } + end; +} + +prt_in,94,172,4 script Karian#job_min3 480,{ + +if(job_min >= 27) +{ + if (job_min > 99){ + switch(select("Talk.:Leave.")){ + case 1: + mes "[Maestro Song]"; + mes "The name 'Karian'?"; + mes "He gave it to me."; + next; + mes "[Maestro Song]"; + mes "He said that when he hears my song, he feels warmhearted."; + mes "'Kallianga' means hot air."; + next; + mes "[Maestro Song]"; + mes "He likes to sing.."; + next; + mes "[Maestro Song]"; + mes "And he's good at singing for sure?"; + next; + mes "[Maestro Song]"; + mes "Ah! If it's okay with you, I want to take a pic with you in Juno?"; + next; + mes "[Maestro Song]"; + mes "I want to have something to remember you by."; + close; + case 2: + mes "[Maestro Song]"; + mes "See you."; + mes "It was really fun."; + close2; + warp "prontera",156,99; + end; + } + } + if(checkweight(1201,1) == 0){ + mes "^3355FFWait a minute! You're"; + mes "carrying too many items"; + mes "right now: store some of"; + mes "your extra things in Kafra"; + mes "Storage, and then come back.^000000"; + close; + } + if (JobLevel < 50 || BaseLevel < 99){ + mes "[Karian]"; + mes "Hey... why are you so low?"; + mes "How did you lose levels?"; + close; + } + if (SkillPoint != 0){ + mes "[Karian]"; + mes "Hey... Don't you know how to use your skill points?"; + mes "You should use them."; + close; + } + if (Class == Job_Bard || Class == Job_Clown || Class == Job_Baby_Bard){ + mes "[Karian]"; + mes "I'm sorry about the lie."; + mes "The song written on this paper..."; + next; + mes "[Karian]"; + mes "I really want to find my friend's article left behind."; + mes "I couldn't find it by myself."; + next; + mes "[Karian]"; + mes "I gave it to my friend but he kept it precious..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Did you give it to him?"; + mes "Wait a second!"; + mes "Just who are you?"; + next; + mes "[Maestro Song]"; + mes "Yes! I'm 'Maestro Song'!"; + mes "Are you suprised!?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "......"; + next; + mes "[Maestro Song]"; + mes "This is my present to you."; + next; + if (Class == Job_Baby_Bard){ + mes "[Maestro Song]"; + mes "You are also my friend."; + set job_min,100; + jobchange Job_Baby_Minstrel; + completequest 11154; + getitem 5751,1; + getitem 2795,1; + close; + }if (Class == Job_Bard){ + mes "[Maestro Song]"; + mes "You are also my friend."; + set job_min,100; + jobchange Job_Minstrel; + completequest 11154; + getitem 5751,1; + getitem 2795,1; + close; + }else if (Class == Job_Clown){ + mes "[Maestro Song]"; + mes "You are also my friend."; + set job_min,100; + jobchange Job_Minstrel_T; + completequest 11154; + getitem 5751,1; + getitem 2795,1; + close; + } + mes "[Maestro Song]"; + mes "Huh?"; + close; + } +} + mes "[Karian]"; + mes "How did you get in here?"; + close; +}
\ No newline at end of file diff --git a/npc/pre-re/jobs/3-2/royal_guard.txt b/npc/pre-re/jobs/3-2/royal_guard.txt new file mode 100644 index 000000000..a7dc7591e --- /dev/null +++ b/npc/pre-re/jobs/3-2/royal_guard.txt @@ -0,0 +1,517 @@ +//===== rAthena Script ======================================= +// Royal Guard Job change Quest +//===== By: ================================================== +//= brAthena +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= Any rAthena or brAthena SVN +//===== Description: ========================================= +//= [AEGIS Conversion] +//= Job change Quest from Crusader / Paladin -> Royal Guard. +//===== Additional Comments: ================================= +//= 1.0 First Version. +//============================================================ +prt_castle,48,163,3 script Gentleman#4386457567 57,{ + if(!checkweight(1201,1)) { + mes "You have too many items. please arrange them then try again."; + close; + } + if(MaxWeight - Weight < 1000) { + mes "You have too much items, please make more light."; + close; + } + if(Class == 4066 || Class == 4073 || Class == 4102) { + mes "[Middle-aged Gentleman]"; + mes "Uh? What am I doing? I came here for an errand..."; + next; + mes "^000099Maybe my feeling has moved to another body^000000"; + close; + } + if(JobLevel < 50 || SkillPoint || BaseLevel < 99) { + mes "[Middle-aged Gentleman]"; + mes "Oh you are so young. Keep working hard."; + close; + } + if(checkriding() || checkcart() || checkfalcon()) { + mes "[Middle-aged Gentleman]"; + mes "You are dragging something. If you're riding something you better dismount it before proceeding."; + close; + } + if((Class != 14) && (Class != 4015) && (Class != 4037)) { + mes "[Middle-aged Gentleman]"; + mes "I don't have anything to say to you. Find another person."; + close; + } + if(job_royal < 1) { + mes "[Middle-aged Gentleman]"; + mes "What was I saying... (mumble) the remaining segment is in Glass Heim around 13......."; + next; + mes "[Middle-aged Gentleman]"; + mes "Uhh?"; + mes "Did you need something?"; + next; + select "I haven't seen you before."; + mes "[Middle-aged Gentleman]"; + mes "Hehehe, don't worry about me."; + next; + mes "[Middle-aged Gentleman]"; + mes "If you don't have business with me, just keep going my friend."; + next; + select "You don't look like a Knight..."; + mes "[Middle-aged Gentleman]"; + mes "You're a curious one. Who are you? What do you want?"; + next; + select "Just looking around!:This is my office!:Who am I? Who are you?"; + mes "[Middle-aged Gentleman]"; + mes "Do you want to argue with me? Do you know who I am?"; + next; + if(select("Not really, who are you?:Sorry, I won't hurt your feelings.") == 2) { + mes "["+strcharinfo(0)+"]"; + mes "Sorry. I had to be sure. I didn't know that you are from the royal palace."; + next; + mes "[Middle-aged Gentleman]"; + mes "That's enough. Don't make this mistake again."; + close; + } + mes "["+strcharinfo(0)+"]"; + mes "I'm a member here and have the authority to find out what your business is here."; + next; + mes "["+strcharinfo(0)+"]"; + mes "You are a stranger and I'm not sure if you belog here."; + next; + mes "["+strcharinfo(0)+"]"; + mes "If you tell me your identity, I will apologize."; + next; + mes "[Middle-aged Gentleman]"; + mes "You are so persistent."; + mes "If you really want, I will introduce myself."; + next; + mes "[Middle-aged Gentleman]"; + mes "I am Heinrich."; + mes "I'm collecting information about King Schmidtz's trace which has disappeared."; + next; + select "Schmidzt's trace? Is it a treasure?"; + mes "[Heinrich]"; + mes "Most archaeologists are eager to get treasure. I'm looking for traces of the ^000099Royal Guard^000000 and their sons who belong to the Schmidtz line."; + next; + select "Royal Guard?"; + mes "[Heinrich]"; + mes "Sounds interesting doesn't it? I can't really say but their history and files are under strict security."; + next; + select "Can't you tell me?"; + mes "[Heinrich]"; + mes "I can't really talk about the Royal Guard to just anyone who asks about them."; + next; + mes "[Heinrich]"; + mes "BUT!! I want to believe you..."; + next; + if(select("I want to know more.:Stop talking.") == 2) { + mes "[Heinrich]"; + mes "Good idea."; + next; + mes "[Heinrich]"; + mes "Just forget it and let your mind do more worthy things."; + close; + } + mes "[Heinrich]"; + mes "You are impetuous."; + next; + mes "[Heinrich]"; + mes "It's not a simple story to tell a person like you. Go back."; + set job_royal,1; + setquest 12090; + close; + } + mes "[Heinrich]"; + if(job_royal == 1) { + mes "You are persistent friend."; + mes "Do you have more things to talk to me about?"; + next; + select "If you can't trust me, test me pal."; + mes "[Heinrich]"; + mes "Test?"; + mes "Did you say the test? Huhu!"; + next; + mes "[Heinrich]"; + mes "Friend, you have shown your interest about my job, are you sure? Or are you kidding me?"; + next; + select "I'm serious!"; + mes "[Heinrich]"; + mes "Really?"; + mes "Good. You might have the wrong idea about what a Royal Guard is. So, in your opinion, what do you think is the key to being a Royal Guard?"; + next; + select "Decision and Bravery:Calm Judgment:Sharp wisdom:Benevolent spirit"; + mes "[Heinrich]"; + mes "Good choice."; + mes "Actually, the other 3 are also needed to have the Royal Guard spirit, friend."; + next; + mes "[Heinrich]"; + mes "But according to research documents about the Royal Guard, the best belief is 'asceticism and endurance'."; + next; + mes "[Heinrich]"; + mes "Did you get it?"; + mes "Asceticism and Endurance young one. It is a bit different from what you answered."; + next; + mes "[Heinrich]"; + mes "You seem to have a large interest about this story but I can't tell you more."; + next; + mes "[Heinrich]"; + mes "Only those who have qualification can hear the Royal Guard history."; + next; + select "What can I do to hear that story?"; + mes "^000099Heinrich has an agonized look on his face. Then he looked like he fell asleep. Finally he says with wreckless abandon.^000000"; + next; + mes "[Heinrich]"; + mes "You are too stubborn."; + mes "If so I will test you to see your asceticism and endurance."; + next; + mes "[Heinrich]"; + mes "Long ago King Schmidtz gave a title to a brave soldier who come back with 100 Sacred Marks."; + next; + mes "[Heinrich]"; + mes "If you want to hear more story, you have to show me your similar attitude."; + next; + if(select("That's an unfair demand.:I will try.") == 2) { + mes "[Heinrich]"; + mes "Good idea, it would better to find something more worthy."; + close; + } + mes "[Heinrich]"; + mes "Ok, let's do it this way. Actually it's too difficult to collect 100 Sacred Marks, just show your ambition by collecting 100 Burning Hearts."; + next; + mes "[Heinrich]"; + mes "If you bring them I can tell you more of the story. That means you show your endurance to me."; + next; + mes "[Heinrich]"; + mes "Don't forget to bring the 100 Burning Hearts."; + set job_royal,2; + changequest 12090,12091; + close; + } + if(job_royal == 2) { + if(countitem(7097) < 100) { + mes "Don't forget to bring 100 Burning Heart."; + close; + } + mes "Did you get all of them?"; + mes "Most people just ignore me or give up the mission."; + next; + mes "[Heinrich]"; + mes "Wait while I arrange the stuff that you brought."; + delitem 7097,100; + set job_royal,3; + changequest 12091,12092; + close; + } + if(job_royal == 3) { + mes "..."; + mes "Good. I can feel truth from your heart. Now I can tell you more of the story."; + next; + select "Ok tell me more."; + mes "[Heinrich]"; + mes "The best members of the Crusader and Paladin classes can gain the qualification of the Royal Guard."; + next; + mes "[Heinrich]"; + mes "They are agents of the divine order and judge with swift punishment."; + next; + mes "[Heinrich]"; + mes "We still have many opinions about how they could have survived. Surely someone had to have believed that their history was not false."; + next; + select "Are there still documents?"; + mes "[Heinrich]"; + mes "Hmm, documents you say..."; + next; + mes "[Heinrich]"; + mes "Unfortunately after King Schmidtz disappeared, traces of the Royal Guard disappeared."; + next; + mes "[Heinrich]"; + mes "Their history, belief, vision and fighting skill seemingly disappeared without any of the documents being saved."; + next; + mes "[Heinrich]"; + mes "It's like it disappeared with the king."; + next; + select "So the reason of finding their traces..."; + mes "[Heinrich]"; + mes "I was worried about past Royal Guards that might not have been able to pass down their history."; + next; + mes "[Heinrich]"; + mes "The mysterious power... can't appear anymore in the world. How disappointing is it~!"; + next; + mes "[Heinrich]"; + mes "That's why I'm concentrating to revive their job."; + next; + select "How much progress have you made?"; + mes "[Heinrich]"; + mes "Fortunately, I excavated most of the treasures and interpreted them. I just have one trace left to find."; + next; + select "The rest of the traces?"; + mes "[Heinrich]"; + mes "The Royal Guard carved the mark of King Schmidtz on their clothes. The trace of this custom is the last clue."; + next; + mes "[Heinrich]"; + mes "According to reports from other cities the last trace possibly exists in a monastery inside of Glass Heim."; + next; + mes "[Heinrich]"; + mes "But it is too dangerous for me there so I almost gave up."; + next; + mes "[Heinrich]"; + mes "Now I can't tell you why the trace is there."; + next; + if(select("Interesting. Can I go there?:Seems really dangerous.") == 2) { + mes "[Heinrich]"; + mes "Good idea, that's useless work to explore there."; + close; + } + mes "[Heinrich]"; + mes "Are you kidding?"; + mes "You shouldn't treat it like it's just some normal chore."; + next; + select "I'm not kidding. I'm serious."; + mes "[Heinrich]"; + mes "If you say it like that I don't have anymore options."; + next; + mes "[Heinrich]"; + mes "I don't know if it will be helpful or not. I will write an explanation in detail."; + next; + mes "^000099Here's the last trace of the Royal Guard. Open the quest window and check the position.^000000"; + set job_royal,4; + changequest 12092,12093; + close; + } + if(job_royal == 4) { + if(!countitem(6274)) { + mes "Our staff has already left to find the last trace, so don't work too hard."; + close; + } + mes "You surprised me. How did you get it? So far no one could get it."; + next; + mes "[Heinrich]"; + mes "Thank you so much."; + mes "Thanks to your effort I can find the last clue. How amazing~!"; + next; + mes "^000099Heinrich hesitated and brought an old shield from the side of the office.^000000"; + next; + mes "[Heinrich]"; + mes "Our staff excavated it. They assumed that King Schmidtz used it. But it wasn't used by him."; + next; + select "Sure it's wasn't used by the King?"; + mes "[Heinrich]"; + mes "I can't be entirely sure."; + mes "Maybe you are right but, according to when we did the initial identification we can be sure it wasn't used."; + next; + mes "[Heinrich]"; + mes "But it's an old treasure so, somehow it will be useful. I might know how to use it."; + next; + select "Can I keep it?"; + mes "[Heinrich]"; + mes "Of course."; + mes "Someday it might be useful to you."; + next; + mes "^000099You get the shield from Heinrich. There are some letters carved on the inside of the shield."; + next; + mes "If you want to see the letters, please check the quest window.^000000"; + next; + mes "[Heinrich]"; + mes "Ok~~ now."; + mes "I'll be deciphering the cloth for now so I will be very busy!"; + delitem 6274,1; + getitem 6275,1; + set job_royal,5; + changequest 12093,12094; + close; + } + if(!countitem(6275)) { + mes "What? Did you lose the shield? What is the one on your back?"; + getitem 6275,1; + close; + } + mes "Thanks to your help I can finish the excavation work. Thanks a lot."; + close; +} + +glast_01,240,366,5 script Memory of King Schmidtz 844,{ + if(!checkweight(1201,1) || MaxWeight - Weight < 1000) { + mes "You are too heavy. Make yourself lighter."; + close; + } + if(job_royal == 5 && (Class == 14 || Class == 4015 || Class == 4037)) { + if(countitem(6275) < 1) { + mes "^000099You seem to have lost the shield. Go back to Heinrich and ask for help^000000."; + close; + } + mes "[Memory of King Schmidtz]"; + mes "Who are you?"; + next; + select "I brought a relic..."; + mes "[Memory of King Schmidtz]"; + mes "My relic?"; + next; + mes "[Memory of King Schmidtz]"; + mes "Too bad. Here is one more friend who has been cheated by Heinrich."; + next; + select "Do you know Heinrich?"; + mes "[Memory of King Schmidtz]"; + mes "He was my faithful adjutant. And he has continued to be so for hundreds of years."; + next; + select "How has he lived for hundreds..."; + mes "[Memory of King Schmidtz]"; + mes "Maybe his body is just a cast. He found a way to move from body to body in order to stay alive."; + next; + mes "[Memory of King Schmidtz]"; + mes "He doesn't want to accept my death and wanders the world, continuing to find Royal Guards."; + next; + select "What's the meaning of this shield?"; + mes "[Memory of King Schmidtz]"; + mes "The shield from Heinrich is our contract before I died."; + next; + mes "[Memory of King Schmidtz]"; + mes "Heinrich was charged with finding the proper people to become Royal Guards, the shield was to be the contract."; + next; + mes "[Memory of King Schmidtz]"; + mes "To him, this was the last order that I gave to him."; + next; + mes "[Memory of King Schmidtz]"; + mes "Now he doesn't need to do it anymore, but will remain as a fool whom can't forget his King's final order."; + next; + select "So what now? Can I leave?"; + mes "[Memory of King Schmidtz]"; + mes "Sorry but I can't send you now."; + next; + mes "[Memory of King Schmidtz]"; + mes "This is a contract with Heinrich so I have to keep it. You look faithful and brave."; + next; + mes "[Memory of King Schmidtz]"; + mes "Now, it's time to keep the promise with Heinrich. It's up to you."; + next; + mes "[Memory of King Schmidtz]"; + mes "I'm planning to accept you as a member of the Royal Guard to continue their lost traditions. Are you ready to do it?"; + next; + if(select("Sure, of course:Not yet") == 2) { + mes "[Memory of King Schmidtz]"; + mes "Umm, maybe Heinrich had wrong judgement."; + close; + } + mes "[Memory of King Schmidtz]"; + mes "If so, I will proceed to making you a Royal Guard."; + next; + if(select("Great.:Not yet.") == 2) { + mes "[Memory of King Schmidtz]"; + mes "Perhaps Heinrich had the wrong image of you."; + close; + } + mes "[Memory of King Schmidtz]"; + mes "Congratulations! Young Royal Guard."; + mes "Be a symbol of honor and continue the great tradition of your new name."; + close2; + specialeffect2 EF_MAPPILLAR; + progressbar "FFFF00",7; + specialeffect2 EF_LORD; + delitem 6275,1; + erasequest 12094; + if(class == 4037){ + jobchange 4102; + } + else if(class == 14){ + jobchange 4066; + }else{ + jobchange 4073; + } + getitem 5757,1; + getitem 2795,1; + end; + } +} + +gl_church,173,88,0 script Delicate trace#01 844,{ + if(job_royal == 4 && !countitem(6274)) { + progressbar "ffff00",5; + if(set(.@rand,rand(70)) >= 65) { + mes "While investigating, the topography breaks. It would be better to dig other places for a while."; + disablenpc strnpcinfo(0); + initnpctimer; + close; + } + getitem (.@rand >= 5 ? 7049:6274),1; + end; + } + mes "There is a trace that someone has already dug here."; + close; + + OnTimer60000: + enablenpc strnpcinfo(0); + stopnpctimer; + OnTimer1000: + OnTimer20000: + OnTimer40000: + specialeffect EF_MAPPILLAR; + end; +} +gl_church,158,103,0 duplicate(Delicate trace#01) Delicate trace#02 844 +gl_church,139,90,0 duplicate(Delicate trace#01) Delicate trace#03 844 +gl_church,126,62,0 duplicate(Delicate trace#01) Delicate trace#04 844 +gl_church,148,5,0 duplicate(Delicate trace#01) Delicate trace#05 844 +gl_church,185,72,0 duplicate(Delicate trace#01) Delicate trace#06 844 +gl_church,185,72,0 duplicate(Delicate trace#01) Delicate trace#07 844 +gl_church,211,94,0 duplicate(Delicate trace#01) Delicate trace#08 844 +gl_church,185,125,0 duplicate(Delicate trace#01) Delicate trace#09 844 +gl_church,143,125,0 duplicate(Delicate trace#01) Delicate trace#10 844 +gl_church,105,115,0 duplicate(Delicate trace#01) Delicate trace#11 844 + +gl_church,158,100,0 script #Clue of traces 111,4,4,{ + end; + OnTouch: + if(job_royal == 4 && !countitem(6274)) { + specialeffect2 EF_FREEZE; + mes "I can feel strong power around here. It would be better to explore around here."; + viewpoint 1,173,88 ,1, "0xFFFF00"; + viewpoint 1,158,103,2, "0xFFFF00"; + viewpoint 1,139,90 ,3, "0xFFFF00"; + viewpoint 1,126,62 ,4, "0xFFFF00"; + viewpoint 1,148,5 ,5, "0xFFFF00"; + viewpoint 1,185,72 ,6, "0xFFFF00"; + viewpoint 1,211,94 ,7, "0xFFFF00"; + viewpoint 1,185,125,8, "0xFFFF00"; + viewpoint 1,143,125,9, "0xFFFF00"; + viewpoint 1,105,115,10,"0xFFFF00"; + close; + } +} + +sec_in02,12,43,3 script Caller 57,1,1,{ + switch(select("Royal Guard:Rune Knight:Call Player")) { + case 1: + mes "1~5"; + next; + if(input(.@val,1,5)) { + mes "Set item to adjust the Royal Guard"; + mes "You can only set a bumber betweeen 1 to 5."; + close; + } + set job_royal,.@val; + mes "Completed"; + close; + case 2: + mes "1~24"; + next; + if(input(1,24)) { + mes "Set item to adjust the Rune Knight"; + mes "You can only set a bumber betweeen 1 to 24."; + close; + } + set job_rune_edq,.@val; + mes "Completed"; + close; + case 3: + mes "1~5"; + next; + if(input(1,5)) { + mes "Item Adjust call"; + mes "You can only set a bumber betweeen 1 to 5."; + close; + } + set job_soc,.@val; + mes "Completed"; + close; + } +}
\ No newline at end of file diff --git a/npc/pre-re/jobs/3-2/shadow_chaser.txt b/npc/pre-re/jobs/3-2/shadow_chaser.txt new file mode 100644 index 000000000..2792134e2 --- /dev/null +++ b/npc/pre-re/jobs/3-2/shadow_chaser.txt @@ -0,0 +1,2346 @@ +//===== rAthena Script ======================================= +// Shadow Chaser Job change Quest +//===== By: ================================================== +//= ultragunner +//= Credits: Oshinoke +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena +//===== Description: ========================================= +//= Job change Quest from Rogue / Stalker -> Shadow Chaser. +//= Based on Official pRO server +//===== Additional Comments: ================================= +//= 1.0 First Version. +//= 1.1 Standardized. [Euphy] +//============================================================ + +morocc,156,70,3 script Girl#H-1 93,{ + mes "[Girl]"; + if (Class == Job_Rogue || Class == Job_Stalker || Class == Job_Baby_Rogue) { + if (BaseLevel == 99 && JobLevel > 49) { + if (job_sha == 0) { + mes "Hey! Stop!"; + mes "Are you interested in hearing a funny story?"; + next; + select("What story?"); + mes "[Girl]"; + mes "Have you been to the guild recently?"; + mes "Some interesting things have happened lately."; + mes "Maybe new guests..."; + next; + mes "[Girl]"; + mes "I heard it has to do with something called a Shadow Chaser."; + mes "You should go and check it out."; + next; + mes "[Girl]"; + mes "Everytime they visit us, they are on new missions."; + mes "What missions are they doing I wonder?"; + set job_sha,1; + } else if (job_sha == 1) { + mes "If you have any interest... just go! Do you know where the guild is?"; + next; + mes "[Girl]"; + mes "It is in a fortress under Pharos lighthouse."; + mes "Sigh...."; + mes "You must visit there!"; + } else if (job_sha > 1 && job_sha < 28) { + mes "Wow, you look busy."; + mes "Have you heard that there are visitors?"; + mes "They're on a treasure hunt!"; + next; + mes "[Girl]"; + mes "It must be fun."; + mes "I wanna try!"; + } + close; + } else { + mes "You're not ready."; + close; + } + } + mes "Eh..."; + mes "I don't have anything for you..."; + close; +} + +in_rogue,378,103,3 script Scary Man#H-10 810,{ + if (job_sha == 1) { + mes "[Urupa]"; + mes "We give a quiz and nobody has yet to solve it."; + mes "You want it to be solved?"; + mes "This is a code."; + mes "Look at it."; + next; + mes "- The message is -"; + mes "- written in a cipher. -"; + mes "The mission seems to be to break the code..."; + next; + mes "[Urupa]"; + mes "This is the code."; + mes "It is just numbering a cipher to make the message make sense."; + mes "For example..."; + next; + callsub L_Code,1; + mes "[Urupa]"; + mes "Now here's what needs to be to solved."; + mes "Decipher the code and go where it tells you..."; + next; + mes "[Urupa]"; + mes "Here we go!"; + next; + callsub L_Code,2; + next; + set job_sha,2; + setquest 7160; + mes "[Urupa]"; + mes "So write this down!"; + mes "I expected that you would take this adventure!"; + close; + } else if (job_sha > 1 && job_sha < 3) { + mes "[Urupa]"; + mes "You want one more explanation?"; + mes "Or do you just want the code?"; + next; + switch(select("More explanation.:Get the code.")) { + case 1: + callsub L_Code,1; + mes "[Urupa]"; + mes "Now it's up to you!"; + mes "So go! Go!"; + close; + case 2: + mes "[Urupa]"; + mes "Let me show you the code again..."; + next; + mes "[Urupa]"; + mes "Here we go!"; + next; + callsub L_Code,2; + close; + } + } else if (job_sha > 2 && job_sha < 28) { + mes "[Urupa]"; + mes "Ok, have you solved it yet?"; + mes "Good luck!"; + close; + } else if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) { + mes "[Urupa]"; + mes "Nothing special?"; + mes "As you see... I am ok here!"; + close; + } + mes "[Scary man]"; + mes "What's your business?"; + mes "I don't have anything to do with you."; + mes "I don't care for people like you."; + mes "I just deal with the extraordinary."; + close; + +L_Code: + if (getarg(0)==1) { + mes "[Urupa]"; + mes "3511543433"; + mes "This means PAYON."; + next; + mes "[Urupa]"; + mes "The numbers have to be paired."; + mes "3511543433"; + mes "35 11 54 34 33 breaks down into 5 pairs!"; + next; + mes "[Urupa]"; + mes "So the pairs mean:"; + mes "35-P, 11-A,"; + mes "54-Y, 34-O, 33-N."; + next; + mes "[Urupa]"; + mes "Here are the numbers all in a row."; + mes "33, 34, 35!"; + mes "N, O, P?"; + next; + } else { + mes " "; + mes "^aaaaff43231114345243^000000"; + mes "^aaaaff11441531241542^000000"; + mes "^aaaaff2433^000000"; + mes "^aaaaff3542343344154211^000000"; + next; + mes "[Urupa]"; + mes "Could you do that?"; + mes "If you visit there, you might be surprised..."; + } + return; +} + +function script sc_gldmes { + if (getarg(0)==1) { + mes "[Vin]"; + mes "Ah? What's this?"; + mes "Lotte, you know what this means?"; + next; + mes "[Lotte]"; + mes "Hmm '3847147298' this is the only thing I've used on..."; + mes "Then, why'd they use numbers to name the villages?"; + next; + mes "[Lotte]"; + mes "Vin! This is crap!"; + next; + mes "[Vin]"; + mes "What?"; + next; + mes "[Scary man]"; + mes "Hey there!?"; + next; + switch(select("Yes? Me?:Sorry, I am busy...")) { + case 1: + mes "[Scary man]"; + mes "Yes! You there!"; + mes "Let me introduce myself to you."; + mes "My name is Urupa."; + mes "If you are interested, could you come over here?"; + close; + case 2: + mes "[Scary man]"; + mes "What? You're just going to give up like that?"; + mes "So disappointing..."; + close; + } + } else { + mes "[Vin]"; + mes "Ah? What's this?"; + next; + mes "[Lotte]"; + mes "Hmm '3847147298' this is the only"; + mes "thing I've used on..."; + mes "Then, why'd they use numbers to"; + mes "name the villages?"; + next; + mes "[Lotte]"; + mes "Vin! This is crap!"; + next; + mes "[Vin]"; + mes "What?"; + next; + mes "[Scary man]"; + mes "You are supposed to figure this one out!"; + mes "But you are still so... weak."; + close; + } +} + +in_rogue,375,102,5 script Guild Member#H-11 828,{ + if (Class == Job_Rogue || Class == Job_Stalker || Class == Job_Baby_Rogue) { + if (job_sha == 1) callfunc "sc_gldmes",1; + else if (job_sha > 1) && (job_sha < 28) { + mes "[Vin]"; + mes "Yes..."; + mes "Sooner or later I'll solve it"; + mes "myself if I dare to get the"; + mes "map...!"; + close; + } + else callfunc "sc_gldmes",2; + } else if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) { + mes "[Vin]"; + mes "Huh! This is a Shadow Chaser!"; + mes "How unbelievable!"; + mes "But it seems familiar, doesn't it?"; + next; + mes "[Vin]"; + mes "Hmm......"; + mes ".........."; + mes "Oh my! I can't remember...!"; + close; + } + mes "[Vin]"; + mes "Ah? Who's there?"; + mes "We are flooded with guests"; + mes "today..."; + close; +} + +in_rogue,378,100,2 script Guild Member#H-12 747,{ + if (Class == Job_Rogue || Class == Job_Stalker || Class == Job_Baby_Rogue) { + if (job_sha == 1) callfunc "sc_gldmes",1; + else if (job_sha > 1) && (job_sha < 28) { + mes "[Lotte]"; + mes "What?"; + mes "Damn..."; + next; + mes "[Lotte]"; + mes "I just hate numbers!"; + close; + } + else callfunc "sc_gldmes",2; + } else if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) { + mes "[Lotte]"; + mes "Wow!"; + mes "You are the one!"; + mes "The extraordinarily smart and emotionally advanced..."; + next; + mes "[Lotte]"; + mes "SHADOW CHASER!"; + mes "Wow, when could I become one?"; + close; + } + mes "[Lotte]"; + mes "I don't need anything."; + close; +} + +s_atelier,65,123,4 script Manager#H-2 903,{ + if (job_sha == 2) { + mes "[Manager]"; + mes "Where's Max!?"; + mes "Damn, there're so many strangers around."; + mes "Hey..."; + next; + switch(select("Show the deciphered code!:...")) { + case 1: + mes "[Manager]"; + mes "Wow, you deciphered it?"; + mes "So, what's the right answer?"; + next; + input .@SCAtelier$; + mes "[Manager]"; + if (.@SCAtelier$ != "shadows atelier in prontera") { + mes "Remember to put the code exactly as it should be deciphered."; + mes "Maybe you should try again..."; + close; + } + mes "Good."; + mes "You just got it."; + mes "Then why have you come over here?"; + next; + select("The code says here's the one..."); + mes "[Manager]"; + mes "So you are the one."; + mes "Could you wait for a sec?"; + set job_sha,3; + close; + case 2: + mes "[Manager]"; + mes "Only allowed for people"; + mes "involved...."; + mes "Could you ask the clerk at the shop?"; + close; + } + } else if (job_sha == 3) { + mes "[Graham]"; + mes "Now let me introduce myself to you!"; + mes "I am Graham, the manager of this shadow gallery..."; + next; + mes "[Graham]"; + mes "You may have already guessed."; + mes "This is an additional facility for rogues."; + mes "We adopt things like art and other historical stuff."; + next; + mes "[Graham]"; + mes "These things are illegal."; + mes "Such things you guys bring us from historical places..."; + mes "Ok."; + next; + mes "[Graham]"; + mes "So we've got to know things"; + mes "like..."; + mes "special codes and information where the treasures are."; + next; + mes "[Graham]"; + mes "We need you guys..."; + mes "So we've asked assistance from the Rogue guild."; + next; + select("Any other places you guys work?"); + mes "[Graham]"; + mes "Ah, yes..."; + mes "We are in Prontera, Juno, Rachel, and Lighthalzen."; + mes "Ok?"; + next; + mes "[Graham]"; + mes "Anyway...."; + mes "We all really want to know where the treasures are."; + mes "So the code is to break into each of those places."; + next; + mes "[Graham]"; + mes "You seem like the right one."; + mes "So I will give you the code."; + mes "Please find the treasure!"; + next; + set job_sha,4; + switch(select("No way!:I'll give it a try!")) { + case 1: + mes "[Graham]"; + mes "What the hell?"; + mes "If you are not going to help then I'll just find someone else."; + close; + case 2: + mes "[Graham]"; + mes "You are so powerful!"; + mes "So here..."; + next; + callsub L_Code; + } + } else if (job_sha == 4) { + mes "[Graham]"; + mes "Are you interested in it now?"; + next; + switch(select("Not at all.:Hmm, I'll take it.")) { + case 1: + mes "[Graham]"; + mes "Damn it."; + close; + case 2: + mes "[Graham]"; + mes "You are just so picky..."; + mes "Here..."; + next; + callsub L_Code; + } + } else if (job_sha > 4 && job_sha < 8) { + mes "[Graham]"; + mes "Did you find something?"; + next; + switch(select("I need an explanation.:What's the code again?")) { + case 1: + mes "[Graham]"; + mes "You are so powerful!"; + next; + callsub L_Code,1; + case 2: + mes "[Graham]"; + mes "I've given you the code."; + mes "So crazy..."; + mes "Don't you have a memo of it?"; + close; + } + } else if (job_sha == 8) { + mes "[Graham]"; + mes "So, any improvements?"; + next; + select("Show him the key."); + mes "[Graham]"; + mes "Deception!"; + mes "You are deceiving me!"; + next; + mes "[Graham]"; + mes "This is all?"; + mes "Only one key."; + mes "How deceptive!"; + mes "Just as I thought, it's a kind of treasure."; + next; + mes "[Graham]"; + mes "You just gave me a shock."; + mes "Ok..."; + mes "The code is kept in galleries."; + next; + mes "[Graham]"; + mes "Ok there's more galleries than this one..."; + mes "Juno and Rachel have the codes..."; + next; + mes "[Graham]"; + mes "This is just what I was guessing."; + mes "The codes kept by other galleries aren't treasures at all..."; + next; + mes "[Graham]"; + mes "Go to Rachel..."; + next; + mes "[Graham]"; + mes "Find the gallery in Rachel..."; + mes "Tell 'em that you just came from Graham and ask for the code."; + next; + erasequest 7165; + setquest 7166; + set job_sha,9; + mes "[Graham]"; + mes "Ok?"; + mes "Then go there!"; + close; + } else if (job_sha > 8 && job_sha < 11) { + mes "[Graham]"; + mes "There're four galleries..."; + mes "Prontera, Rachel, Juno, and Lighthalzen."; + next; + mes "[Graham]"; + mes "One of the codes kept by the galleries is already deciphered."; + mes "It's just one key...."; + next; + mes "[Graham]"; + mes "But here's what I am guessing."; + mes "The codes are linked to each other."; + mes "And the purpose is different for each one."; + next; + mes "[Graham]"; + mes "For example..."; + mes "If one is just a key then the others are things requiring the key."; + next; + mes "[Graham]"; + mes "The key must be for opening the box."; + mes "Can you guess what's inside?"; + next; + select("Umm, treasure?"); + mes "[Graham]"; + mes "YES."; + mes "That's why we're here!"; + next; + mes "[Graham]"; + mes "People think that we are just trading the stuff..."; + mes "But we are here for very special things."; + next; + mes "[Graham]"; + mes "Go to ^aaaaffRachel Gallery^000000 and get the code..."; + mes "They will support you if you explain everything."; + mes "Ok?"; + close; + } else if (job_sha > 10 && job_sha < 27) { + mes "[Graham]"; + mes "How about everything?"; + mes "We are dying to know about the key."; + mes "So you got support from the other galleries..."; + close; + } else if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser || job_sha == 27) { + mes "[Graham]"; + mes "Shadow Chaser!!"; + mes "Ah!"; + next; + mes "[Graham]"; + mes "It's not intentionally deceiving..."; + mes "Hahaha!!"; + next; + mes "[Graham]"; + mes "Isn't it interesting?"; + mes "It's more than just taking exams."; + mes "We got to know about you and figured out who you are."; + next; + mes "[Graham]"; + mes "How's my acting?"; + mes "It worked?"; + next; + mes "[Graham]"; + mes "If you need anything just ask them what you want."; + close; + } + mes "[Manager]"; + mes "Only allowed for people involved..."; + mes "Could you ask the clerk at the shop?"; + close; + +L_Code: + mes "-note."; + mes "^aaaaff13 15 18 15 3 3 18 21 9 14^000000"; + mes "key: 0-"; + next; + select("These are just numbers..."); + mes "[Graham]"; + mes "The only difference from the one from the Rogue Guild is that you don't need to match them in pairs."; + next; + mes "[Graham]"; + mes "Also here's the keyword."; + mes "This case is... 0."; + next; + mes "[Graham]"; + mes "Let's see."; + mes "13 15 18 15 3 3 18 21 9 14 ="; + mes "M O R O C C R U I N"; + next; + mes "[Graham]"; + mes "Look at this... C = 3."; + mes "C is the third letter right?"; + next; + mes "[Graham]"; + mes "Do you get it?"; + mes "But this won't be given with keyword 0. When I give you the keyword you can figure it out for yourself."; + if (getarg(0,0)) close; + next; + mes "[Graham]"; + mes "Now let's think about the mission."; + mes "Here's the things we've got."; + next; + erasequest 7160; + setquest 7163; + set job_sha,5; + mes "^aaaaff5 15 24 8^000000"; + mes "^aaaaff9 12 21 8^000000"; + mes "^aaaaff12 17^000000"; + mes "^aaaaff23 24 21 23 15 8^000000"; + mes "^aaaaff12 22 15 4 17 7^000000"; + mes "^aaaaff23 11 12 21 7^000000"; + mes "^aaaaff9 15 18 18 21^000000"; + mes "^aaaaffkey: 3.^000000"; + next; + mes "[Graham]"; + mes "You just take it."; + mes "I have a bad memory."; + mes "You have all the information so you are on your own now."; + next; + mes "[Graham]"; + mes "Once you get something come over here."; + next; + mes "- You take the memo from Graham."; + mes "Don't forget it! -"; + close; +} + +s_atelier,168,65,5 script Manager#H-3 923,{ + if (job_sha == 9) { + mes "[Manager]"; + mes "Who are you?"; + mes "This place isn't for you."; + next; + switch(select("Give me your password!:I was sent by Graham.")) { + case 1: + mes "[Manager]"; + mes "You need my password?"; + mes "How much would you pay me?"; + next; + mes "[Manager]"; + mes "10 million zeny?"; + mes "Ok, I'll take that then!"; + next; + mes "[Manager]"; + mes "Yeah, right!"; + mes "Who the hell are you?"; + mes "How dare you just ask for my password?"; + close; + case 2: + mes "[Manager]"; + mes "Graham?"; + mes "Why?"; + next; + mes "[Manager]"; + mes "So this key was sent by him."; + next; + select("No, I found it as the clue."); + mes "[Manager]"; + mes "Ah?"; + mes "So doesn't that mean that one code could be exchanged as a treasure?"; + next; + select("Maybe."); + mes "[Manager]"; + mes ".........."; + mes "Hmm...."; + next; + mes "[Manager]"; + mes "Hmm..."; + next; + mes "- The manager seems -"; + mes "- to be thinking about -"; + mes "- something. Then he -"; + mes "- hands over a paper. -"; + next; + mes "[Manager]"; + mes "No way."; + mes "Here's the clue."; + mes "Try to find it."; + next; + mes "[Manager]"; + mes "Anyway, my name is Paul."; + mes ".........."; + next; + mes "[Paul]"; + mes "Naturally..."; + mes "I've already solved the clue."; + next; + mes "- Here's the paper that -"; + mes "- Paul handed over. -"; + next; + mes "R-E-N-N-N-D"; + mes "L-N-N-W-W-N-D"; + next; + mes "[Paul]"; + mes "Isn't it so simple?"; + mes "What do you think?"; + mes "RENNND / LNNWWND can mean only one thing."; + next; + switch(select("I think I got it.:I have no clue.")) { + case 1: + erasequest 7166; + setquest 7167; + set @job_sc_chest2,rand(1,3); + goto L_icedun; + case 2: + erasequest 7166; + setquest 7167; + set job_sha,10; + mes "[Paul]"; + mes "What? You don't know it?"; + mes "Then you'd better think about it more."; + mes "It's so easy."; + close; + } + } + } else if (job_sha == 10) { + mes "[Paul]"; + mes "So did you get what it means?"; + next; + switch(select("Yes!:No I don't think so.")) { + case 1: + erasequest 7166; + setquest 7167; + set @job_sc_chest2,rand(1,3); + goto L_icedun; + case 2: + mes "[Paul]"; + mes "Is it that hard?"; + next; + select("I can't do it..."); + mes "[Paul]"; + mes "No way"; + mes "Can I give you a hint?"; + mes "Compass!"; + close; + } + } +L_icedun: + if (job_sha < 11) { + if (@job_sc_chest2 && @job_sc_chest2 < 4) { + mes "[Paul]"; + mes "Really? Then I don't need to give you the answer."; + mes "Could you interpret the meaning of each letter?"; + next; + select("It's kinda the combination of the places."); + mes "[Paul]"; + mes "So?"; + next; + select("E-N means East - North"); + mes "[Paul]"; + mes "Ok, enough."; + mes "Then go and find out."; + next; + mes "Memorize this."; + mes "You might need it. It could be a clue for you."; + next; + mes "[Paul]"; + switch(@job_sc_chest2) { + case 1: + mes "[S E E D]"; + mes "It's seed."; + break; + case 2: + mes "[F O O T]"; + mes "It's foot."; + break; + case 3: + mes "[C O L D]"; + mes "It's cold."; + break; + } + mes "I don't know what it really means, but it would be helpful to you to figure it out."; + set job_sha,11; + set job_chest2, @job_sc_chest2; + changequest 7167, @job_sc_chest2+7167; + close; + } + } else if (job_sha > 10 && job_sha < 13) { + mes "[Paul]"; + mes "I've already given you all the info you need."; + next; + mes "[Paul]"; + mes "I've given you one more clue."; + mes "Isn't it enough?"; + next; + mes "[Paul]"; + mes "As you and Graham mentioned..."; + mes "Go and find it out."; + next; + mes "[Paul]"; + mes "If you find real things like treasure,"; + mes "come back here."; + close; + } else if (job_sha == 14) { + mes "[Paul]"; + mes "I was dying waiting for you."; + mes "So what did you find out?"; + next; + select("I found the key.:Hmm..."); + mes "- You hand over the 'Illusion Key' that you found in the ice cave. -"; + next; + mes "[Paul]"; + mes "Illusion! Haha!"; + mes "After deception is illusion!"; + mes "So are you lying to me?"; + next; + mes "[Paul]"; + mes "I can feel how Graham felt it...."; + mes "We don't dare to get that tiny key..."; + next; + mes "[Paul]"; + mes "The young guy in Lighthalzen is quite challenging to deal with..."; + mes "So we'd better request assistance from Haled..."; + next; + mes "[Paul]"; + mes "Hey..."; + mes "if you go to Juno..."; + mes "There's a gallery..."; + next; + mes "[Paul]"; + mes "So could you ask him to get the password?"; + mes "Hmm..."; + next; + mes "[Paul]"; + mes "I feel like the red hair guy in the main gallery is teasing me..."; + mes "Anyway..."; + mes "So I really like to know the password and the identity of the key..."; + next; + erasequest 7168; + erasequest 7169; + erasequest 7170; + erasequest 7172; + setquest 7173; + set job_sha,15; + mes "[Paul]"; + mes "If Haled isn't supportive..."; + mes "Tell him ^aaaaffI know what you did last summer!^000000"; + mes "You shouldn't be wrong...!?"; + close; + } else if (job_sha > 14 && job_sha < 18) { + mes "[Paul]"; + mes "You could ask him to get the key..."; + mes "He will help you if you tell him something..."; + next; + mes "[Paul]"; + mes "If Haled isn't supportive..."; + mes "Tell him ^aaaaffI know what you did last summer!^000000"; + close; + } else if (job_sha > 16 && job_sha < 27) { + mes "[Paul]"; + mes "So you are still looking for the treasure... right?"; + mes "I would look for it..."; + close; + } else if (job_sha == 27) { + // Is this correct? + mes "[Paul]"; + mes "Kkkkkkkkkkkkkkkk!"; + next; + mes "[Paul]"; + mes "Now I almost guessed what would happen later..."; + mes "It can't happen!"; + next; + mes "[Paul]"; + mes "Are you shocked?"; + mes "Don't think worse."; + mes "You could get a good person."; + mes "Hahaha..."; + close; + } else if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) { + mes "[Paul]"; + mes "Do you need a painting tool?"; + mes "You can request that to the assistant."; + mes "We always have it just in case."; + close; + } + mes "[Manager]"; + mes "Who are you?"; + mes "This place isn't for you."; + next; + mes "[Manager]"; + mes "What are they doing up there?"; + mes "Bleh..."; + close; +} + +s_atelier,168,129,3 script Manager#H-4 806,{ + if (job_sha == 15) { + mes "[Manager]"; + mes "What?"; + mes "If you've come here for some money, you are wrong."; + mes "This isn't a pawnshop."; + next; + select("You are... Haled?"); + mes "[Haled]"; + mes "Hmm? I'm the manager of this workplace in Juno. What's the matter?"; + next; + mes "[Haled]"; + mes "Hmm. You were sent by Graham and Paul?"; + mes "I thought that you just came here to beg for money with fossil pieces."; + next; + mes "[Haled]"; + mes "It's a classic way that poor scholars use."; + mes "Sometimes I buy good stuff so some people know that this is a pawnshop."; + next; + mes "[Haled]"; + mes "Let me hear your story."; + next; + mes "- You explain everything so far and show the key of arrogance. -"; + next; + mes "[Haled]"; + mes "So..."; + mes "I totally understand."; + mes "It's this key's location that shared the information!"; + next; + mes "[Haled]"; + mes "Anyway. Two are keys and the treasure that I have to open with this key, what can I do?"; + next; + mes "[Haled]"; + mes "We will investigate Juno's workplace, so give it to me?"; + next; + mes "- Haled doesn't want to cooperate with you."; + mes "Remember what Paul said. -"; + next; + goto L_Paul; + } else if (job_sha == 16) { + mes "[Haled]"; + mes "What?"; + mes "You want to talk with me?"; + mes "How about you just hand over that key to me?"; + next; + goto L_Paul; + } else if (job_sha == 17) { + mes "[Haled]"; + mes "Got it."; + mes "Ok."; + mes "You need to know where the place with the code is?"; + next; + mes "[Haled]"; + mes "I don't have a choice."; + mes "Listen carefully to this poem."; + next; + mes "[Haled]"; + mes "^aaaaffThe end of thin root of life-giving water.^000000"; + mes "^aaaaffIt's all of tears and signs of living people.^000000"; + mes "^aaaaffThey are us but also not us.^000000"; + mes "^aaaaffResidents of forgotten night play the waltz of despair.^000000"; + next; + mes "[Haled]"; + mes "Do you know where it is?"; + mes "You know where it is right?"; + mes "It's only my opinion, but..."; + mes "It can't be possible..."; + next; + mes "[Haled]"; + mes "Anyway, if you want to do it, go ahead."; + mes "If you know what this poem means."; + next; + erasequest 7173; + setquest 7174; + set job_sha,18; + mes "[Haled]"; + mes "Of course, if you find something, you have to come back."; + mes "Got it?"; + mes "I'm going to write it down so that you won't forget."; + close; + } else if (job_sha > 17 && job_sha < 22) { + mes "[Haled]"; + mes "I won't be surprised with whatever you find."; + mes "You have to find the place that the poem speaks of."; + next; + mes "[Haled]"; + mes "^aaaaffThe end of thin root of life-giving water.^000000"; + mes "^aaaaffIt's all of tears and signs of living people.^000000"; + mes "^aaaaffThey are us but also not us.^000000"; + mes "^aaaaffResidents of forgotten night play the waltz of despair.^000000"; + next; + mes "Of course, if you find something, you have to come back."; + mes "Got it?"; + close; + } + if (job_sha == 22) { + mes "[Haled]"; + mes "Did you find something?"; + next; + select("Show the Key of Pleasure."); + mes "[Haled]"; + mes "Ha...........akkk."; + mes "Another key?"; + mes "Is it the only key?!"; + next; + mes "[Haled]"; + mes "Then... do I have to ask help from the young man from Lighthalzen?"; + mes "............"; + mes "Ah..."; + next; + mes "[Haled]"; + mes "I have no choice."; + mes "Go to Lighthalzen with the three keys."; + mes "Meet Vicente, who is master of the store in Lighthalzen, and tell him everything."; + next; + mes "[Haled]"; + mes "I told you that the old man is persistent and he ruins everything."; + next; + mes "[Haled]"; + mes "You have to have all your facts straight to send information to the guild."; + mes "First you have to work together in one accord."; + next; + mes "[Haled]"; + mes "The thing you find can belong to the workplace."; + mes "It can be shared."; + next; + mes "[Haled]"; + mes "I thought that it was a very simple thing."; + mes "We couldn't share that stuff together."; + next; + mes "[Haled]"; + mes "All of the information that I got fromworkplace are key."; + mes "There must be something to use three key with."; + next; + mes "[Haled]"; + mes "Anyway it has to do with deceit and pleasure..."; + mes "Is it teasing me..."; + next; + erasequest 7176; + setquest 7177; + set job_sha,23; + mes "[Haled]"; + mes "Ok. Let me finish."; + mes "Go to Vicente in Lighthalzen."; + close; + } else if (job_sha > 22 && job_sha < 24) { + mes "[Haled]"; + mes "Shadow workplace in lighthalzen"; + mes "The manager's name is Vicente."; + mes "Tell him everything and get one last information."; + close; + } else if (job_sha == 24) { + mes "[Haled]"; + mes "Hey, you!"; + mes "Was Vicente helpful?"; + mes "You have something important..."; + mes "So you have to find out what is it."; + next; + mes "[Haled]"; + mes "Keep trying."; + close; + } else if (job_sha == 27) { + mes "[Haled]"; + mes "Hey, you!"; + mes "What's going on?"; + mes "What? Shadow Chaser?"; + next; + mes "[Haled]"; + mes "Did I know that fact?"; + mes "Sure. I heard a little bit before I used to do work like this."; + next; + mes "[Haled]"; + mes "It's honor to me cause It's for to pick a person up belongs to us."; + mes "Just accept that. You are going to be a good Shadow Chaser."; + close; + } else if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) { + mes "[Haled]"; + mes "I like your face."; + mes "We don't have any special thing."; + mes "An assistant sells some paint and tool."; + close; + } + mes "[Manager]"; + mes "What?"; + mes "If you've come here for some money,"; + mes "you are wrong."; + mes "This isn't a pawnshop."; + close; + +L_Paul: + mes "["+strcharinfo(0)+"]"; + mes "Paul said...."; + next; + input .@psaid$; + if (.@psaid$ != "I know what you did last summer!") { + set job_sha,16; + mes "[Haled]"; + mes "So what?"; + mes "He's a wild-eyed person."; + mes "Did you just speak to me in a threatening tone?"; + close; + } + mes "["+strcharinfo(0)+"]"; + mes "Paul said...."; + mes "I know what you did last summer!"; + next; + mes "[Haled]"; + mes "Ekk... He..."; + mes "Knew everything..."; + mes "Hmm..."; + mes "I can help."; + mes "I will cooperate."; + next; + set job_sha,17; + mes "[Haled]"; + mes "I need some time to collect my thoughts."; + mes "Wait for me a bit."; + close; +} + +tur_dun03,38,209,5 script Blue Flame#H-19 802,{ + if (job_sha == 5) { + mes "A blue flame is roaring."; + mes "The deciphered code means..."; + next; + input .@BLFnpc$; + if (.@BLFnpc$ != "blue fire in turtle island third floor") { + mes "["+strcharinfo(0)+"]"; + mes "What was it?"; + mes "I guess I have to make sure I don't use any capital letters."; + close; + } + mes "["+strcharinfo(0)+"]"; + mes "^aaaaffblue fire in turtle island third floor^000000"; + mes "It's clearly pointing to this."; + next; + mes "You murmur the sentence when the flame begins growing."; + next; + mes "[Unknown voice]"; + mes "Hm? Someone is coming?"; + mes "You are the one who wants to have my treasure?"; + mes "But your limitation is over."; + next; + mes "The flame is talking."; + mes "The voice is snake-like."; + mes "In the middle of blue flame, there are two marble eyes."; + next; + select("Pick it up."); + mes "[Unknown voice]"; + mes "You are in a hurry."; + mes "Hahaha, humans usually do things like that."; + mes "They can't see the truth."; + next; + mes "[Unknown voice]"; + mes "How about you?"; + mes "I don't expect that you will do harm to this blue flame."; + mes "It's the only one with two..."; + next; + select("Who are you?"); + mes "[Shadow of Deception]"; + mes "Me? I'm a deception."; + mes "I sneer at people who are stupid."; + mes "I laugh behind their backs."; + mes "HahaHaha..."; + next; + erasequest 7163; + setquest 7164; + set job_sha,6; + mes "The Blue Flame is growing and rolling."; + mes "They seem to be related."; + close; + } else if (job_sha == 6) { + if (checkquest(7164,HUNTING) != 2) { + mes "The flame is still rolling with a"; + mes "strong spell."; + mes "You have to cut the relation with it."; + close; + } + else if (checkquest(7164,HUNTING) == 2) { + mes "It looks like the blue flame is under the limitation."; + mes "You can't feel that rolling effect of a spell like before."; + next; + select("Pick up the marbles."); + mes "When you pick them up, you can feel that your weight is lightened."; + close2; + set job_sha,7; + erasequest 7164; + warp "job3_sha01",22,82; + end; + } + } else if (job_sha == 7) { + mes "It looks like the blue flame is under the limitation."; + mes "You can't feel that rolling effect of a spell like before."; + next; + select("Pick up the marbles."); + mes "When you pick it up, you can feel that your weight is lightened."; + close2; + warp "job3_sha01",22,82; + end; + } + mes "The flame is rolling."; + close; +} + +ice_dun02,206,223,5 script Red Flame#H-20 802,{ + if (job_sha == 11) { + mes "The red flame is roaring."; + mes "It changed to a woman in black."; + next; + mes "[Woman in black]"; + mes "Can you hear me?"; + mes "Huhu."; + mes "Can you see me?"; + next; + mes "[Woman in black]"; + mes "You are the chosen one?"; + mes "You can know that."; + mes "There is a soul that is the same as me."; + next; + mes "[Woman in black]"; + mes "I'm a shadow."; + mes "A wandering shadow."; + mes "Sad soul."; + mes "A shadow of illusion without truth."; + next; + setquest 7171; + set job_sha,12; + mes "[Shadow of Illusion]"; + mes "What do you want?"; + mes "Do you want treasure?"; + mes "Then pick it up."; + mes "Tear my soul and"; + mes "show the truth."; + close; + } else if (job_sha == 12) { + if (checkquest(7171,HUNTING) != 2) { + mes "[Shadow of Illusion]"; + mes "Huhu."; + mes "What's wrong?"; + mes "You couldn't find the half of my soul?"; + mes "Huhu..."; + next; + mes "[Shadow of Illusion]"; + mes "Ah, hurry and give me rest."; + mes "I want to die softly."; + mes "I want to give up the phony life."; + next; + mes "[Shadow of Illusion]"; + mes "Huhu..."; + mes "When the false shadow is gone, you can see the truth."; + mes "Please, tear the false to dazzle who are blind..."; + mes "without any trace.."; + close; + } else if (checkquest(7171,HUNTING) == 2) { + mes "You can't feel the soul from the flame."; + mes "When you go closer, you can't see well because of darkness."; + close2; + set job_sha,13; + erasequest 7171; + warp "job3_sha01",22,33; + end; + } + } else if (job_sha == 13) { + mes "You can't feel the soul from the flame."; + mes "When you go closer, you can't see well because of darkness."; + close2; + warp "job3_sha01",22,33; + end; + } else if (job_sha > 13 && job_sha < 28) { + mes "The flame is rolling."; + mes "You can't see well because of the light of ice."; + close; + } + mes "An unknown red flame is roaring."; + close; +} + +niflheim,230,276,5 script Red Flame#H-21 802,{ + if (job_sha == 18) { + mes "["+strcharinfo(0)+"]"; + mes "The poem that Haled told me was pointing to Niflheim."; + mes "There is a flame that looks like the one from turtle island and ice dungeon."; + next; + mes "["+strcharinfo(0)+"]"; + mes "The end of living tree's roots."; + mes "Tears of all living people."; + mes "Sign of all dead people."; + next; + mes "["+strcharinfo(0)+"]"; + mes "They are us but also not us."; + next; + mes "[Someone's voice]"; + mes "They are us but also not us."; + next; + mes "[Someone's voice]"; + mes "Residents of the night forgotten..."; + next; + select("Who is playing that?"); + mes "[Someone's voice]"; + mes "Who is playing the waltz of desperation?"; + mes "....."; + next; + mes "[Someone's voice]"; + mes "Ha..."; + mes "You came here to dig the secret of death."; + mes "Can you play the waltz of death for me?"; + next; + mes "[Someone's voice]"; + mes "I don't to be subject to restraint and be with sign of dead people."; + next; + mes "[Shadow of Pleasure]"; + mes "I'm a shadow."; + mes "I show that best of the pleasure in this world."; + mes "Illusions such that you don't want to be awaken from the dream."; + next; + mes "[Shadow of Pleasure]"; + mes "The soul got tangled by cold chains"; + mes "I can't see the dream and the shadow lost the pleasure that will be lasting forever."; + next; + mes "[Shadow of Pleasure]"; + mes "Please, help me."; + mes "Give me two hands to escape from here!"; + next; + mes "[Shadow of Pleasure]"; + mes "Can you stifle me with two hands?"; + mes "The other side of my senses gas for breath."; + next; + mes "[Shadow of Pleasure]"; + mes "That's the evidence that I live."; + mes "That's the evidence that I cross over the line."; + mes "With start of life the last pleasure."; + next; + mes "[Shadow of Pleasure]"; + mes "Show me the sweet death."; + next; + erasequest 7174; + setquest 7175; + set job_sha,19; + mes "The flame is dying."; + mes "You should handle the shadow of pleasure."; + close; + } else if (job_sha == 19) { + if (checkquest(7175,HUNTING) != 2) { + mes "You can feel a strong soul in the flame."; + mes "You should handle the shadow of pleasure."; + close; + } else if (checkquest(7175,HUNTING) == 2) { + mes "You can't feel the soul from the flame."; + mes "When you go closer, you can't see well because of darkness."; + set job_sha,20; + erasequest 7175; + close2; + warp "job3_sha01",73,87; + end; + } + } else if (job_sha == 20) { + mes "You can't feel the soul from the flame."; + mes "When you go closer, you can't see well because of darkness."; + close2; + warp "job3_sha01",73,87; + end; + } else if (job_sha > 21 && job_sha < 27) { + mes "There is a flame."; + mes "You can't feel anything from it."; + close; + } + mes "That's a mysterious flame."; + mes "It looks like cursing."; + mes "Go away from that"; + close; +} + +tha_t01,149,228,0 script #shadowc07 45,1,1,{ + if ((Class == Job_Rogue || Class == Job_Stalker || Class == Job_Baby_Rogue) && job_sha == 24){ + mes "You can feel weird power."; + mes "You are getting dizzy."; + close2; + warp "job3_sha01",71,36; + end; + } + mes "You can feel weird power."; + mes "You don't know what it is."; + close; +} + +job3_sha01,22,78,5 script ????#H-22 844,{ + if (job_sha == 7) { + setarray .@Codes1$[1],"EFDFJWF","FGEGKXG","GHFHLYH","HIGIMZI","IJHJNAJ","JKIKOBK","KLJLPCL","LMKLQDM"; + setarray .@Codes2$[1],"IPOFTUZ","JQPGUVA","IRQHVWB","LSRIWXC","MTSJXYD","NUTKYZE","OVULZAF","PWVMABG"; + set @job_sc_chest1,rand(1,8); + mes "It's a small box made of a hard turtle's shell."; + mes "The middle of it..."; + next; + select("Touch the middle.:Push the middle."); + mes "When you touch it, something comes out!"; + next; + mes "DECEIVE"; + next; + mes ""+@job_sc_chest1; + next; + mes .@Codes1$[@job_sc_chest1]; + next; + mes "It shows some letters and numbers."; + mes " "; + mes "Deceive,"; + mes "then "+@job_sc_chest1+","; + mes "and "+.@Codes1$[@job_sc_chest1]+"."; + next; + select("What does it mean?"); + mes "["+strcharinfo(0)+"]"; + mes "Is it also code."; + mes "It must be a kind of rule of code?"; + mes "Ah, something is shown again...?"; + next; + mes "- You can see some letters on the turtle's shell. -"; + next; + mes "HONESTY"; + mes "And also letters. They are"; + mes "blinking as if waiting for a code to be input."; + next; + input .@sccst1$; + if (.@sccst1$ == .@Codes2$[@job_sc_chest1]) { + mes "When you put the correct"; + mes "answer in there, the box opens."; + mes "There is a small key inside."; + next; + getitem 6266,1; + setquest 7165; + set job_sha,8; + mes "- You get the Key of Deception. -"; + close; + } + mes "- You put the answer -"; + mes "- but it doesn't work. -"; + mes "- You have failed. -"; + close; + } + mes "You don't have to stay in here."; + next; + switch(select("Go outside.:Stay here.")) { + case 1: warp "tur_dun03",42,204; + case 2: close; + } +} + +job3_sha01,25,28,5 script ????#H-23 844,{ + if (job_sha == 13) { + setarray .@Words$[1],"SEED","FOOT","COLD"; + setarray .@Numbers[1],24,25,20; + mes "There are lots of boxes"; + mes "with numbers on them."; + next; + mes "1 2 3 4 5"; + mes "6 7 8 9 0"; + mes " [][]"; + next; + mes "When you touched that number, it moved."; + mes "You find the empty space."; + next; + mes "["+strcharinfo(0)+"]"; + mes "I guess I have to put the number in the empty space..."; + mes "I have two empty squares to put two numbers."; + mes "What will it be good for?"; + next; + select("I think it's related to the word given by Paul."); + mes "["+strcharinfo(0)+"]"; + mes "I got "+.@Words$[job_chest2]+"."; + mes "Now I have to convert it into a number..."; + next; + switch(select("Input the answer.:I can't get it.")) { + case 1: + input .@sccst2; + if (.@sccst2 == .@Numbers[job_chest2]) { + mes "You put 2 and "+(.@Numbers[job_chest2]-20)+"."; + mes "The box opens and you get one key."; + next; + mes "You picked up the Key of Illusion."; + next; + mes "["+strcharinfo(0)+"]"; + mes "It's not a treasure."; + mes "The Key of Illusion? Is it related to the Shadow of Illusion?"; + mes "I got the Key of Deception after I handled Deception..."; + next; + getitem 6267,1; + setquest 7172; + set job_sha,14; + set job_chest2,0; + mes "["+strcharinfo(0)+"]"; + mes "Anyway, Paul will be disappointed."; + mes "A key again...."; + mes "How can I escape from here?"; + next; + mes "When you push the box, it opens a door leading outside."; + close2; + warp "ice_dun02",209,219; + end; + } + mes "When you enter the number, it goes back to the first."; + close; + case 2: + mes "["+strcharinfo(0)+"]"; + mes "Hmm."; + mes "I can't get it..."; + mes "Is it the same code as the Prontera workplace...?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "According to that method..."; + mes "A means 11 and B means 12."; + close; + } + } + // Custom Translation + mes "You don't have to stay in here."; + close2; + warp "ice_dun02",209,219; + end; +} + +job3_sha01,73,80,5 script ????#H-24 844,{ + if (job_sha == 20) { + mes "There is a box that looks like a house."; + mes "There's a small paper in the chimmney."; + next; + mes "It says:"; + mes "-----------------"; + mes "20 21 18 14"; + mes "1 14 4"; + mes "19 8 1 11 5"; + mes "-----------------"; + next; + mes "["+strcharinfo(0)+"]"; + mes "I think it's another code."; + mes "I should solve it the same way as before."; + next; + mes "["+strcharinfo(0)+"]"; + mes "There are no clues..."; + mes "1 could equal A,"; + mes "And the the answer is..."; + next; + input .@sccst3$; + set job_sha,21; + if (.@sccst3$ != "TURN AND SHAKE") { + mes "["+strcharinfo(0)+"]"; + mes "..."+.@sccst3$+"....?"; + mes "What does that mean?"; + close; + } + } else if (job_sha == 21) { + mes "["+strcharinfo(0)+"]"; + mes "Let me think again..."; + mes "20 21 18 14"; + mes "1 14 4"; + mes "19 8 1 11 5"; + next; + mes "["+strcharinfo(0)+"]"; + mes "It's the same as before."; + mes "There's no code, so 1 should be A."; + mes "And the answer is..."; + next; + input .@sccst3$; + if (.@sccst3$ != "TURN AND SHAKE") { + mes "["+strcharinfo(0)+"]"; + mes "..."+.@sccst3$+"....?"; + mes "Again? I don't get it."; + close; + } + } + if (job_sha == 21) { + mes "["+strcharinfo(0)+"]"; + mes "Turn... Turn... and"; + mes "Shake? Shake?"; + mes "For what?"; + next; + L_chest32: + switch(select("Turn the roof.:Turn the house.:Turn the handle.")) { + case 1: + mes "You turn the roof."; + next; + switch(select("Shake the roof.:Shake the house.")) { + case 1: + mes "Even though you shake the roof, nothing happens."; + next; + mes "["+strcharinfo(0)+"]"; + mes "That's not it."; + mes "Hmm..."; + next; + goto L_chest32; + case 2: + mes "You tried to shake the house but it doesn't do anything."; + next; + mes "["+strcharinfo(0)+"]"; + mes "It's wrong."; + mes "I'll put it back"; + mes "and try again..."; + next; + goto L_chest32; + } + case 2: + mes "You grab the whole house and turn it."; + next; + switch(select("Shake up and down.:Shake back and forth.:Turn 'round and 'round and shake.:Roll it upside down.")) { + case 1: + case 2: + mes "Nothing happens."; + mes "You think there is something inside, but it won't come out."; + next; + mes "["+strcharinfo(0)+"]"; + mes "That's not it."; + mes "Hmm."; + next; + goto L_chest32; + case 3: + mes "You shake it slowly."; + mes "You can hear a noise,"; + mes "but nothing's coming out."; + next; + mes "["+strcharinfo(0)+"]"; + mes "That's not it."; + mes "Hmm."; + next; + goto L_chest32; + case 4: + mes "Rolling it upside down causes something inside to move."; + next; + mes "You shake it slowly."; + mes "You can hear some noise."; + mes "Something's coming out."; + next; + mes "- You got the Key of Pleasure. -"; + next; + getitem 6268,1; + erasequest 7175; + setquest 7176; + set job_sha,22; + mes "["+strcharinfo(0)+"]"; + mes "What? A key again!"; + mes "Haled will be disappointed..."; + mes "I better go back."; + close; + } + case 3: + mes "You tried to turn the small handle but it doesn't work."; + next; + mes "["+strcharinfo(0)+"]"; + mes "What should I do now?"; + next; + goto L_chest32; + } + } + mes "You don't have to stay in here."; + mes "You put the box down and see that there is a door leading outside."; + close2; + warp "niflheim",230,270; + end; +} + +job3_sha01,72,28,5 script ????#H-25 844,{ + if (countitem(6266) == 1 && countitem(6267) == 1 && countitem(6268) == 1) { + if (job_sha == 24) { + mes "There is a stone that looks like a small casket with a fabulous pattern around it."; + next; + mes "But you can't feel any power from it."; + mes "You find three holes in there."; + next; + mes "Inscribed next to the holes is written Deception, Illusion, and Pleasure."; + next; + select("Place the key in the holes."); + mes "["+strcharinfo(0)+"]"; + mes "At first, Deception..."; + mes "then Illusion..."; + mes "and Pleasure..."; + mes "Let me see."; + next; + mes "When you put the keys in, something comes out."; + next; + delitem 6266,1; + delitem 6267,1; + delitem 6268,1; + getitem 6269,1; + erasequest 7178; + setquest 7179; + set job_sha,25; + mes "- You got a brush with a fabulous pattern on it. -"; + next; + mes "["+strcharinfo(0)+"]"; + mes "What???"; + mes "A brush!!!"; + mes "This isn't treasure!!!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Ahahhah!!!"; + mes "*sniff*"; + mes "It's not treasure!"; + next; + select("Now I'm pissed off."); + mes "["+strcharinfo(0)+"]"; + mes "*Sigh*"; + mes "Guess I should bring this to ^aaaaffVicente^000000!"; + close; + } + } + mes "It's an empty stone statue."; + close; +} + +s_atelier,25,75,3 script Manager#H-5 899,{ + if (job_sha == 23) { + mes "[Vicente]"; + mes "Welcome."; + mes "I've been waiting for you."; + next; + select("For me?"); + mes "[Vicente]"; + mes "I wondered when you would visit."; + mes "I've been waiting a long time for you."; + mes "Huhu..."; + next; + mes "[Vicente]"; + mes "How were Graham, Paul and Haled?"; + mes "They are not easy people to deal with, huh?"; + next; + select("You know everything?"); + mes "[Vicente]"; + mes "Sure."; + mes "They ignore me because they think that I'm too young."; + mes "As if they were all perfect."; + mes "Hahaha..."; + next; + mes "[Vicente]"; + mes "Did you bring all of the keys?"; + mes "There should be three."; + mes "You came here to find out how to use them I assume, right?"; + next; + select("Yeah, you're right!"); + mes "[Vicente]"; + mes "You don't have to be surprised."; + mes "I can't find how long it took for those three men to investigate before."; + mes "I already finished my work."; + next; + mes "[Vicente]"; + mes "When I went to the final location I found a stone statue."; + mes "But it needed keys."; + next; + mes "[Vicente]"; + mes "Three of them."; + mes "- Vicente smiles. -"; + next; + mes "[Vicente]"; + mes "At first, the information that was"; + mes "given from the guild meant only one thing."; + mes "Because of the saying that they respect the right of our"; + mes "possessions,"; + mes "we shared our information."; + next; + mes "[Vicente]"; + mes "So we had to wait for it."; + mes "I thought the last man would never give it to me..."; + next; + mes "[Vicente]"; + mes "They thought I wanted to have the treasure for myself."; + mes "So that's why I've just been"; + mes "waiting for you."; + next; + mes "[Vicente]"; + mes "Then let's make a point!"; + mes "Do you know of the Thanatos Tower?"; + next; + switch(select("Sure.:The tower of death?")) { + case 1: + mes "[Vicente]"; + mes "You know that."; + mes "Then you can understand easily."; + next; + break; + case 2: + mes "[Vicente]"; + mes "Yes, that tower in northern Juno."; + mes "There are huge monsters there."; + next; + break; + } + mes "[Vicente]"; + mes "You told me that you went to the final place with the information?"; + mes "That's the Thanatos Tower."; + next; + mes "[Vicente]"; + mes "Fortunately, the location is the 1st floor of that tower."; + mes "So I'm going to tell what you have to do."; + next; + mes "[Vicente]"; + mes "At the 1st floor of the Thanatos Tower, there are members from the Rekenber Corporation."; + mes "Go north from their desk..."; + next; + mes "[Vicente]"; + mes "And you can find stairs and a location where light comes out of."; + mes "That's the location of the"; + mes "information that I have."; + next; + mes "[Vicente]"; + mes "Now you know the location you have to go to with the three keys."; + mes "Find out the secret of the stone statue."; + next; + erasequest 7177; + setquest 7178; + set job_sha,24; + mes "[Vicente]"; + mes "You can't imagine what kind of things you might find."; + mes "That's the final destination of all of the keys."; + next; + mes "[Vicente]"; + mes "Good luck."; + close; + } else if (job_sha == 24) { + mes "[Vicente]"; + mes "Listen carefully."; + mes "The location you need to find is"; + mes "north from the middle of the 1st floor in the Thanatos Tower."; + mes "You can find stairs and a location where light comes out."; + next; + mes "[Vicente]"; + mes "If you find something, come back here."; + mes "Actually, I want to get the key from you, but..."; + next; + mes "[Vicente]"; + mes "I just respect your opinion."; + mes "If you find something, come back here. Got it?"; + close; + } else if (job_sha == 25) { + mes "[Vicente]"; + mes "You're back?"; + mes "Did you find anything?"; + next; + switch(select("Throw the brush.:Grab him by the collar.:Drop the brush.")) { + case 1: + mes "[Vicente]"; + mes "Hey, what are you doing?"; + mes "This brush..."; + mes "Is this the treasure hidden in the Thanatos Tower?"; + next; + break; + case 2: + mes "[Vicente]"; + mes "What's wrong with you?"; + mes "You can't tell me more details?"; + close; + case 3: + mes "[Vicente]"; + mes "What's the matter?"; + mes "Are you ok?"; + next; + mes "- Vicente looks at me with a surprised face. -"; + next; + select("Point at the brush."); + mes "[Vicente]"; + mes "Is this the treasure hidden in thanatos tower?"; + next; + break; + } + mes "Vicente looks surprised after taking a look at it."; + next; + mes "[Vicente]"; + mes "Haha!!"; + mes "Ahahahaha!!!!!"; + mes "I get it now!"; + mes "Congratulations."; + next; + mes "[Vicente]"; + mes "It's treasure."; + mes "You found a big treasure!"; + mes "Talk to me for bit, won't you?"; + next; + erasequest 7179; + setquest 7180; + set job_sha,26; + mes "[Vicente]"; + mes "There is someone who has been waiting for you."; + mes "He's been waiting for someone to bring this brush back."; + mes "Let's go inside."; + close; + } else if (job_sha > 25 && job_sha < 28) { + mes "[Vicente]"; + mes "I'm going to listen to your story."; + close; + } else if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) { + mes "[Vicente]"; + mes "I'm expecting your work from now on."; + mes "You'll be a good Shadow Chaser."; + mes "I'm sure of it."; + close; + } + mes "[Manager]"; + mes "You are?"; + mes "Sorry, but we don't trade old art goods."; + mes "If you need something, then ask an assistant."; + close; +} + +s_atelier,73,65,3 script Vicente#H-18 899,{ + mes "[Vicente]"; + if (job_sha > 25 && job_sha < 27) { + mes "This way."; + mes "He's been waiting for you for a while."; + mes "Not me, Dumk."; + close; + } else if (job_sha == 27) { + mes "Dumk wants to have you as a Shadow Chaser."; + mes "Big news, right?"; + close; + } else if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) { + mes "I don't have any special reason to visit here."; + mes "An assistant sells tools and paints."; + close; + } + mes "If you don't have anything special"; + mes "to do here, you'd better leave."; + mes "No trespassing!"; + close; +} + +s_atelier,70,66,5 script Dumk 481,{ + mes "[Dumk]"; + if ((Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) && !countitem(6269)) { + mes "What is it?"; + mes "Have you been enjoying your new skills?"; + next; + mes "[Dumk]"; + mes "If you want to improve your skills, you have to seek out new uses for paints."; + next; + mes "[Dumk]"; + mes "Don't forget."; + mes "We are Shadow Chasers."; + mes "Huhu..."; + mes "HuhuHuhu..."; + close; + } + if (!countitem(6269)) { + if (Class == Job_Rogue || Class == Job_Stalker || Class == Job_Baby_Rogue) { + mes "Vicente, no soliciting!"; + next; + mes "[Vicente]"; + mes "A solicitor?"; + mes "I don't think so. That's our colleage."; + next; + mes "[Dumk]"; + mes "...Ah?"; + close; + } + mes "........"; + mes "Heh."; + next; + mes "[Vicente]"; + mes "I'm sorry."; + mes "He is not interested in other people."; + mes "But you can't enter this space."; + mes "You can get tools at the store."; + close; + } + // Not sure if this is placed correctly... + if (BaseLevel != 99 || JobLevel < 50) { + mes "Sorry, but make sure that you're"; + mes "Base Lvl. 99 / Job Lvl. 50 minimun and set all your Skillpoints."; + close; + } + if (SkillPoint) { + mes "You are still green!"; + mes "Did you expect to learn the dark arts with your ability?"; + mes "You are wrong!"; + next; + mes "[Vicente]"; + mes "Haha..."; + mes "Please, understand. Dumk has very bad communication skills."; + mes "He doesn't talk to anyone who isn't at a high enough level."; + next; + mes "[Vicente]"; + mes "And to those who are not ready..."; + mes "^aaaaffYou might not be ready for him.^000000"; + next; + mes "[Dumk]"; + mes "You talk too much."; + mes "Heh."; + next; + mes "[Vicente]"; + mes "- He is pleased. -"; + mes "Hey."; + mes "He could be ashamed."; + close; + } + // Not sure if this is correct either... + if ((MaxWeight - Weight) < 1000) { + mes "Sorry, but you're overweight."; + mes "Please store some of your items first."; + close; + } + if (job_sha == 27) { + mes "So, do you want me to keep talking about Shadow Chasers?"; + next; + switch(select("What is a Shadow Chaser?:Change me to Shadow Chaser.:I'll come back later.")) { + case 1: + mes "[Dumk]"; + mes "Most spells are exclusively for Wizards and their kind."; + mes "But Knight has since been able to use a kind of magic with things called Runes."; + next; + mes "[Dumk]"; + mes "So we tried finding a medium for spells that suit our characteristics."; + next; + mes "[Dumk]"; + mes "So finally..."; + mes "We found paint!"; + next; + mes "[Dumk]"; + mes "Paint gives us lots of feelings."; + mes "We can feel peaceful and happy or it can give us feelings of sorrow and fear."; + next; + mes "[Dumk]"; + mes "We use that to harness the different emotions of people and exploit them when they're most vulnerable."; + next; + mes "[Dumk]"; + mes "The effects on our enemies are similar to that of magic spells."; + next; + mes "[Dumk]"; + mes "For instance, this power could be used to create blackholes to make your enemies vanish."; + next; + mes "[Dumk]"; + mes "So if you want to have that power then you must have artistry."; + next; + mes "[Dumk]"; + mes "You have to be a trendsetter when it comes to fashion!"; + mes "The ability to understand art!"; + mes "You should have everything."; + next; + select("Then what is the Master Brush?"); + mes "[Dumk]"; + mes "Ah?"; + mes "That was a brush who was a master of dark arts."; + mes "Now we are looking for someone who can be Shadow Chaser."; + next; + mes "[Dumk]"; + mes "This is kind of game."; + mes "If there is someone who wants to become a Shadow Chaser,"; + mes "we just look the process to find this brush."; + next; + mes "[Dumk]"; + mes "We put the codes to make sure that you can think outside of the box."; + mes "Did you have fun?"; + close; + case 2: + mes "[Dumk]"; + mes "You decided!"; + mes "As your case, you can master the art of psychological warfare using paint!"; + mes "The art created is beautiful but dangerous."; + next; + mes "[Dumk]"; + mes "We use paint as a medium for spells."; + mes "We use that to harness the different emotions of people and exploit them when they're most vulnerable."; + next; + mes "[Dumk]"; + mes "For instance, this power could be used to create blackholes to make your enemies vanish."; + next; + mes "[Dumk]"; + mes "So if you want to have that power then you must have artistry."; + next; + mes "[Dumk]"; + mes "You have to be a trendsetter when it comes to fashion!"; + mes "The ability to understand art!"; + mes "You should have everything."; + next; + mes "[Dumk]"; + mes "You performed your duties diligently and found the brush."; + mes "So you are qualified to be a Shadow Chaser."; + next; + jobchange roclass(eaclass()|EAJL_THIRD); + set JobLevel, 1; + nude; + getitem 6121,1; + getitem 6122,1; + getitem 2795,1; + getitem 5750,1; + delitem 6269,1; + mes "[Dumk]"; + mes "Congratulations."; + mes "Welcome to your new life."; + completequest 7180; + set job_sha,28; + next; + mes "[Dumk]"; + mes "It's a fashionable uniform."; + mes "It uses patterns of leopard and feathers."; + mes "The fashion world will be shocked."; + next; + mes "[Dumk]"; + mes "This shadow peacock I designed myself."; + mes "It's too hard to create something that absorbs my art sense."; + mes "Then about this part..."; + next; + mes "Dumk keeps talking about fashion, art sense, paint and feeling."; + mes "He's obviously in his own world."; + next; + select("About this brush..."); + mes "[Vicente]"; + mes "Ah, I'll explain."; + mes "We need tools for painting."; + next; + mes "[Vicente]"; + mes "The make-up brush is used for face painting."; + mes "You can get paint from the workplace."; + next; + mes "[Vicente]"; + mes "The paint brush is used for painting big spaces."; + mes "You can get paint from the workplace too."; + next; + mes "[Vicente]"; + mes "Don't you remember the location of the workplace?"; + mes "Juno, Prontera, Rachel and Lighthalzen."; + next; + mes "[Vicente]"; + mes "If you need paint, go to an assistant."; + mes "^aaaaffIf you don't have any tools, you can use skill needed paints.^000000"; + next; + mes "[Vicente]"; + mes "Congratulations to be our person."; + close; + case 3: + mes "[Dumk]"; + mes "What?"; + mes "Why not?"; + mes "You don't want to be a Shadow Chaser?"; + mes "I can teach you so much about painting."; + next; + mes "[Dumk]"; + mes "You really won't understand until you become one."; + next; + mes "[Dumk]"; + mes "Don't you want to learn how to harness a power stronger than what you know?"; + mes "...."; + next; + mes "Dumk seemed to be disappointed that you didn't answer him."; + close; + } + } + mes "It's you? You are the one who found the brush?"; + next; + select("Show the brush to him."); + mes "[Dumk]"; + mes "That's it."; + mes "Did you find it by yourself?"; + next; + switch(select("Yes.:With my friends.")) { + case 1: + mes "[Dumk]"; + mes "Hmm..."; + mes "You have a high ability."; + mes "Breaking the codes should have been tough."; + mes "But it wasn't for you."; + next; + break; + case 2: + mes "[Dumk]"; + mes "Hmm..."; + mes "That's your other skill."; + mes "People who have no friends must be lonely."; + next; + mes "[Dumk]"; + mes "To us, relationships are very important."; + mes "You get more people, you get more help."; + next; + break; + } + mes "[Dumk]"; + mes "It's time to introduce myself."; + mes "I'm Dumk."; + next; + select("You are....."); + mes "[Vicente]"; + mes "Chicken! How about the chicken for this supper?"; + next; + mes "[Dumk]"; + mes "Why chicken?"; + mes "Why are you interrupting?"; + mes "You wanna be fired?"; + next; + mes "[Vicente]"; + mes "Sorry..."; + mes "(He turns to you and says it's taboo to talk about chicken.)"; + next; + mes "[Dumk]"; + mes "Anyway, let's make a point."; + mes "You."; + mes "Will you yield to the will of the brush?"; + next; + select("Yield to? What?"); + mes "[Dumk]"; + mes "This brush was used by the master."; + mes "Paintings by him have mysterious power."; + next; + mes "[Dumk]"; + mes "I can't tell you the root of the power."; + mes "Someday you will find out."; + mes "He sublimates power through the medium of his paintings."; + next; + select("I don't get it...?"); + mes "[Dumk]"; + mes "We walk in darkness without moonlight."; + mes "And find out our shining days are over."; + next; + mes "[Dumk]"; + mes "We follow to other shadows and we can be real Shadow Chasers!"; + next; + select("What are you talking about?"); + mes "[Vicente]"; + mes "So, he suggests that you become a Shadow Chaser."; + next; + mes "[Vicente]"; + mes "In out guild, there is a special group that have unique skills."; + mes "They are Shadow Chasers."; + mes "They usually hide their figure and they think they are different from others."; + next; + mes "[Dumk]"; + mes "Don't be so sarcastic, Vicente!"; + mes "I told you."; + mes "You are qualified to be a Shadow Chaser!"; + next; + mes "[Dumk]"; + mes "Give that brush to me."; + mes "I need it again."; + mes "I'm so thirsty."; + mes "Wait a minute."; + set job_sha,27; + close; +} + +s_atelier,29,119,3 script Max#H-13 97,{ + mes "[Max]"; + mes "Welcome~"; + if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) { + mes "You are a member of the Rogue guild!"; + mes "What can I help you with?"; + next; + switch(select("I need a make-up brush.:I need a paint brush.:Nothing.")) { + case 1: + set .@i,1; + case 2: + mes "[Max]"; + if (countitem(6122-.@i)) { + mes "Are you kidding me?"; + mes "you already have it? you don't need anything else."; + next; + mes "[Max]"; + mes "Visit later and use what you have!"; + close; + } + mes "Here's your item."; + getitem (6122-.@i),1; + close; + case 3: + mes "[Max]"; + mes "If you need more,"; + mes "just visit me!"; + close; + } + } + mes "We sell all art related things here~"; + next; + switch(select("Paint!?:Where's the manager?")) { + case 1: + mes "[Max]"; + mes "You are asking for paint?"; + mes "Could you just ask them to get the paint?~"; + close; + case 2: + mes "[Max]"; + mes "There's our manager."; + mes "Right over there."; + mes "**points**"; + mes "Are you blind?"; + close; + } +} + +s_atelier,124,128,3 script RimiGX#H-14 862,{ + mes "[RimiGX]"; + mes "Welcome."; + if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) { + mes "What are you looking for?"; + next; + switch(select("Make a new blush for make-up.:Make a new blush for painting:Nothing.")) { + case 1: + set .@i,1; + case 2: + mes "[RimiGX]"; + if (countitem(6122-.@i)) { + mes "I can't offer extra stuff."; + mes "Visit here when you've lost stuff."; + close; + } + mes "Here's your item."; + getitem (6122-.@i),1; + close; + case 3: + mes "[RimiGX]"; + mes "Visit me again."; + close; + } + } + mes "It's the shadow workplace~"; + next; + switch(select("Where is the paint?:Where is the manager?")) { + case 1: + mes "[RimiGX]"; + mes "Paint?"; + mes "Ask an assistant that works over there."; + close; + case 2: + mes "[RimiGX]"; + mes "Manager? He's in inside the workplace."; + mes "But when you visit him, you should have something to tell him..."; + close; + } +} + +s_atelier,136,70,3 script Titika#H-15 914,{ + mes "[Titika]"; + mes "Welcome~"; + if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) { + mes "You are in a guild."; + mes "What can I help you with?"; + next; + switch(select("Make a new make-up brush.:Make a new paint brush.:Nothing.")) { + case 1: + set .@i,1; + case 2: + mes "[Titika]"; + if (countitem(6122-.@i)) { + mes "You already have a paint brush?"; + mes "I think it's enough..."; + close; + } + mes "Here's your item."; + getitem (6122-.@i),1; + close; + case 3: + mes "[Titika]"; + mes "Visit me again."; + close; + } + } + mes "This is the Shadow Chaser workplace~"; + next; + switch(select("Where is the paint?:Where is the manager?")) { + case 1: + mes "[Titika]"; + mes "You want paint?"; + mes "Talk to the assistant and ask about the paint tool."; + close; + case 2: + mes "[Titika]"; + mes "My manager is inside the workplace."; + mes "If you visit him without a special reason, he will ignore you."; + close; + } +} + +s_atelier,26,68,3 script Vito#H-16 904,{ + mes "[Vito]"; + mes "Welcome."; + if (Class == Job_Shadow_Chaser || Class == Job_Shadow_Chaser_T || Class == Job_Baby_Chaser) { + mes "What are you looking for?"; + next; + switch(select("Make a new brush for make-up.:Make a new brush for painting.:Nothing.")) { + case 1: + set .@i,1; + case 2: + mes "[Vito]"; + if (countitem(6122-.@i)) { + mes "We offer only one brush per person."; + mes "We can't give out extra brushes."; + close; + } + mes "[Vito]"; + mes "Here's your item."; + getitem (6122-.@i),1; + close; + case 3: + mes "[Vito]"; + mes "Whenever you need a brush, visit me."; + mes "See you!"; + close; + } + } + mes "It's the shadow workplace."; + next; + switch(select("Where is the paint?:Where is the manager?")) { + case 1: + mes "[Vito]"; + mes "Paint?"; + mes "Ask the assistant standing over there."; + close; + case 2: + mes "[Vito]"; + mes "The man standing in front of the counter is the manager."; + close; + } +} + +// Quest Mob Spawn +tur_dun03,0,0,0,0 monster Shadow of Deception 2076,1,0,0 +ice_dun02,0,0,0,0 monster Shadow of Illusion 2077,1,0,0 +niflheim,0,0,0,0 monster Shadow of Pleasure 2078,1,0,0
\ No newline at end of file diff --git a/npc/pre-re/jobs/3-2/sorcerer.txt b/npc/pre-re/jobs/3-2/sorcerer.txt new file mode 100644 index 000000000..c3147f9e7 --- /dev/null +++ b/npc/pre-re/jobs/3-2/sorcerer.txt @@ -0,0 +1,585 @@ +//===== rAthena Script ======================================= +// Sorcerer Job change Quest +//===== By: ================================================== +//= Masao +//= Credits: Muad_Dib +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= Any rAthena SVN +//===== Description: ========================================= +//= [AEGIS Conversion] +//= Job change Quest from Sage / Professor -> Sorcerer. +//===== Additional Comments: ================================= +//= 1.0 First Version. +//= 1.1 Cleaning. [Euphy] +//============================================================ + +gef_tower,102,34,5 script Merito 742,{ + + if(checkweight(1201,1) == 0){ + mes "You packed so much in your bag. Try again after emptying your bag."; + close; + } + mes "[Merito]"; + if (Class == Job_Sorcerer || Class == Job_Sorcerer_T || Class == Job_Baby_Sorcerer){ + mes "Please get on with the sprits well~ You should~!"; + close; + } + if (JobLevel < 50 || SkillPoint != 0 || BaseLevel < 99){ + mes "Wow~ you are a young adventurer. I envy you."; + close; + } + if ((Class != Job_Sage) && (Class != Job_Professor) && (Class != Job_Baby_Sage)){ + mes "Wow~ you are a young adventurer. I envy you."; + close; + } + if (job_soc < 1){ + mes "Welcome. What can I help you with?"; + next; + select("Do you know about Sorcerers?"); + mes "[Merito]"; + mes "Wouldn't it be more comfortable to just live as a scholar? Sorcerers are busy communicating with the spirits and don't have much time to read books..."; + next; + mes "[Merito]"; + mes "What made you want to be a sorcerer?"; + next; + if(select("The spirit of fire led me here.:The spirit of water led me here.:The spirit of earth led me here:The spirit of meat led me here.")==4) { + mes "[Merito]"; + mes "That kind of spirit doesn't exist!"; + close; + } + mes "[Merito]"; + mes "Oh, I see."; + mes "You must be born with the natural ability to see that you already communicated with the spirits, or you must be an excellent liar."; + next; + mes "[Merito]"; + mes "Hmm... Then first, can you write down your name on this list?"; + next; + if(select("Write name.:I won't.")==2){ + mes "[Merito]"; + mes "Well, okay. See you again when you get a chance."; + close; + } + mes "[Merito]"; + mes "So, you are ["+strcharinfo(0)+"]."; + next; + mes "[Merito]"; + mes "Give me a second to register your name."; + mes "Talk to me again in a second."; + set job_soc,1; + close; + } + else if (job_soc == 1){ + mes "Good, then I'll give you a short explanation about the Sorcerer."; + next; + mes "[Merito]"; + mes "["+strcharinfo(0)+"], can you handle magic skillfully?"; + next; + if(select("Yes, I can.:No, I'm not really good at it.")==2){ + mes "[Merito]"; + mes "What!? You don't know how to use magic?"; + mes "What are you doing here then? Get out of here. Right now!"; + close; + } + mes "[Merito]"; + mes "Okay, that should be obvious."; + mes "Of course, Sorcerers use magic, too. But, do you know the main difference Sorcerers have from other magical jobs?"; + next; + switch(select("They know how to sing.:They're all old fogies.:They can deal with the spirits.")){ + case 1: + mes "[Merito]"; + mes "Well maybe some but that's not the main difference."; + close; + case 2: + mes "[Merito]"; + mes "What! How dare you!?!"; + close; + case 3: + break; + } + mes "[Merito]"; + mes "That's right. That is the most distinguishing feature that Sorcerers have."; + next; + mes "[Merito]"; + mes "When the people who want to be a Sorcerer come, the first thing we do is to check whether they can communicate with spirits or not."; + next; + mes "[Merito]"; + mes "So that's the basic introduction, so you just need to decide whether or not you want to take the qualification test."; + next; + mes "[Merito]"; + mes "Well, it's all up to you. What are you going to do?"; + next; + switch(select("I will take the test.:I'll do it later.")){ + case 1: + mes "[Merito]"; + mes "Okay. "; + mes "Then I'll hand it over to Karacas who is on the 4th floor. He will guide you through the process of the test."; + set job_soc,2; + setquest 12096; + close; + case 2: + mes "[Merito]"; + mes "What? I was sure that you wanted to become a Sorcerer."; + close; + } + } + else if (job_soc > 1){ + mes "How about your test? Well, Karacas is a little lazy, so that might bother you some..."; + close; + } +} + +gef_tower,113,161,5 script Karacas 754,{ + + if(checkweight(1201,1) == 0){ + mes "You packed so much in your bag. Try again after emptying your bag."; + close; + } + mes "[Karacas]"; + if (Class == Job_Sorcerer || Class == Job_Sorcerer_T || Class == Job_Baby_Sorcerer){ + mes "You look happy. Have a great journey."; + close; + } + if (JobLevel < 50 || SkillPoint != 0 || BaseLevel < 99){ + mes "Is there anything I can do for you?"; + close; + } + if ((Class != Job_Sage) && (Class != Job_Professor) && (Class != Job_Baby_Sage)){ + mes "Is there anything I can do for you?"; + close; + } + if (job_soc < 2){ + mes "More people are visiting Geffen Tower thesedays."; + close; + } + else if (job_soc == 2){ + mes "...."; + next; + select("Ah... excuse me~"); + mes "[Karacas]"; + mes "... (Z z z~)"; + next; + selecT("Hm hm!!!~"); + mes "[Karacas]"; + mes "Aaaak!! "; + mes "Oh, my... "; + next; + mes "[Karacas]"; + mes "Wh... where are you from?"; + next; + select("Merito told me to visit you."); + mes "[Karacas]"; + mes "I see, give me a moment."; + mes "The list... has already arrived."; + next; + mes "[Karacas]"; + mes "So, you are ["+strcharinfo(0)+"]... right?"; + next; + if(select("Yes, I am.:No, I'm not!")==2){ + mes "[Karacas]"; + mes "Oh, there must be some mistake in the list, I think. Will you come again later?"; + close; + } + mes "[Karacas]"; + mes "Before you take the Sorcerer test, let me give you the basic information."; + next; + mes "[Karacas]"; + mes "The way to get a Sorcerer registration ticket is really simple. You just need to go and find one of each spirit scattered around the world, and then convert their power into the shape of a certain material."; + next; + mes "[Karacas]"; + mes "Sounds easy, right?"; + next; + select("Ahh... sir. Is that really possible?"); + mes "[Karacas]"; + mes "Well, it is impossible to meet every spirit by yourself. You need to train yourself very hard to give a shape to the spirits and see them clearly through your eyes."; + next; + mes "[Karacas]"; + mes "So, usually we perform a certain ceremony parade toward the place where we can feel the spirits."; + next; + mes "[Karacas]"; + mes "I will tell you how to do that. So listen carefully."; + next; + mes "[Karacas]"; + mes "Usually we cannot see the spirits with our eyes but there is a way to realize the part of the spirits through a special medium."; + next; + mes "[Karacas]"; + mes "For example, if you visit the place where the spirit of wind stays with a certain amount of Wind of Verdure, the reaction of the spirit is amplified."; + next; + mes "[Karacas]"; + mes "Likewise, if you approach the place where the spirit of fire seems to stay while you have a certain amount of Red Blood, the spirit will show the adverse reaction."; + next; + mes "[Karacas]"; + mes "Sorcerers use this basic principle, this is the essential knowledge that Sorcerers need to have to reach the spirits."; + next; + select("So communicating with spirits..."); + mes "[Karacas]"; + mes "Right~"; + mes "This job is based on the power of spirits."; + next; + mes "[Karacas]"; + mes "Hmm, but it might be hard for someone like you who's focused only on reading books..."; + next; + mes "[Karacas]"; + mes "First, you need to bring the following materials needed for the test."; + next; + mes "[Karacas]"; + mes "3 Wind of Verdure."; + mes "3 Crystal Blue."; + mes "3 Red Blood."; + mes "3 Green Live."; + next; + mes "[Karacas]"; + mes "When you bring these materials, I'll tell you the next step."; + set job_soc,3; + changequest 12096,12097; + close; + } + else if (job_soc == 3){ + if ((countitem(992) > 2) && (countitem(991) > 2) && (countitem(990) > 2) && (countitem(993) > 2)){ + mes "Oh, you have all the materials."; + next; + select("What should I do next?"); + mes "[Karacas]"; + mes "I'll tell you about it now. First, I'll tell you the places for the test. You better write them down."; + next; + mes "[Karacas]"; + mes "1. 1st floor of Ice Cave"; + mes "2. 1st floor of Thor Volcano Dungeon"; + mes "3. 3rd floor of Mjolnir Dead Pit"; + mes "4. 2nd floor of Kunlun Dungeon"; + next; + mes "[Karacas]"; + mes "We have set up the detecting poles in these 4 places so that ordinary people can communicate with the spirits."; + next; + mes "[Karacas]"; + mes "Be aware that these detecting poles are activated only when you have more than the certain amount of property stones."; + next; + mes "[Karacas]"; + mes "You need to prepare at least 3 small stones for each property. For example, you need Wind of Verdure, not Rough Wind."; + next; + select("So I need the property stones..."); + mes "[Karacas]"; + mes "Yes, you have quick wits!"; + next; + mes "[Karacas]"; + mes "Once you bring the stones to the poles, put them into the property decomposing machine which is attached to the pole. The detecting pole will be activated, and you can communicate with the spirit."; + next; + mes "[Karacas]"; + mes "If you succeed, you can extract a part of the spirit as a reagent. If you fail, the property stone will break up."; + next; + mes "[Karacas]"; + mes "Of course if you are lucky enough, if you fail, a Wind of Verdure can be changed into a Rough Wind... Well, that's not a common situation so let's leave that out of the discussion for now."; + next; + select("What if I run out of stones?"); + mes "[Karacas]"; + mes "Ahahaha... If you run out of property stones, you simply have to get more."; + next; + mes "[Karacas]"; + mes "So people who have this test usually start with as many property stones as they can carry. The amount I told you to get is just the bare minimum."; + next; + mes "[Karacas]"; + mes "If you are an advanced Sorcerer, you will be able to talk with spirits without going through this process again. But beginners need to use that kind of medium to talk with them."; + next; + select("So the reagent is...?"); + mes "[Karacas]"; + mes "We don't know which reagent is going to be made from the spirits. It differs by the state of spirits."; + next; + mes "[Karacas]"; + mes "When you succeed in getting 3 different kinds of reagents, you can come back."; + next; + mes "[Karacas]"; + mes "A reagent that one spirit makes won't be over 2 kinds so if you're going to make 3 kinds of reagents, I suggest you go around several places."; + next; + mes "[Karacas]"; + mes "Have any questions?"; + next; + if(select("No.:Please explain it again.")==2){ + mes "[Karacas]"; + mes "Haha, then can I have a cup of water for a minute? Please come and find me again later."; + next; + } + mes "[Karacas]"; + mes "Then I'll write down the progress that I've summarized shortly. Wait..."; + next; + mes "^000099You got a paper on which the way of communicating with spirits is written. For more information please open your quest window^000000."; + set job_soc,4; + changequest 12097,12098; + close; + } + mes "Before I let you know the progressing way, you'll need to bring some required material."; + next; + mes "[Karacas]"; + mes "3 Wind of Verdure."; + mes "3 Crystal Blue."; + mes "3 Red Blood."; + mes "3 Green Live."; + next; + mes "[Karacas]"; + mes "When you bring these basic things, I'll guide you to the next step."; + close; + } + else if (job_soc == 4){ + if (countitem(6276) && countitem(6278) && countitem(6277)){ + mes "Wow~ your skill is good."; + mes "I thought you'd be overwhelmed by the spirits but you've managed to get the effective medicine!"; + next; + select("Is this all I need to do?"); + mes "[Karacas]"; + mes "Well done. First, I will organize the miraculous medicine so please wait a moment."; + delitem 6276,1; + delitem 6278,1; + delitem 6277,1; + set job_soc,5; + completequest 12098; + close; + } + mes "It's not an easy thing to get the desired effect by communicating with spirits."; + next; + mes "[Karacas]"; + mes "Don't give up and keep on trying~"; + close; + } + else if (job_soc == 5){ + mes "Originally my teacher needs to check the Sorcerer job change but after he went out to find the spirit of fish, I can't see him. So I'll check it myself."; + next; + mes "[Karacas]"; + mes "Dear ["+strcharinfo(0)+"],"; + mes "you went around the rough wilds to open the door as a Sorcerer and passed all the requirements that our Academy has given."; + next; + mes "[Karacas]"; + mes "Of course it is just a beginning, we don't know which spirit you're going to commune with or what kind of hardships await you."; + next; + mes "[Karacas]"; + mes "But with the ability you've shown until now, you will be capable to do anything from now on. Dear ["+strcharinfo(0)+"]"; + next; + mes "[Karacas]"; + mes "Moreover, I formally acknowledge that you've completed all the job transfer tests of the Sorcerer Academy."; + next; + mes "[Karacas]"; + mes "Congratulations, ["+strcharinfo(0)+"]"; + jobchange roclass(eaclass()|EAJL_THIRD); + getitem 5756,1; + getitem 2795,1; + next; + mes "[Karacas]"; + mes "I hope that you gain more communion with spirits from now on."; + close; + } +} + +thor_v01,64,252,0 script Spirit Detecting Staff#1 836,{ + + if ((job_soc == 4) && (countitem(990) > 2)){ + progressbar "ffff00",5; + set .@rand,rand(1,70); + if (.@rand < 10){ + if ((job_soc == 4) && (countitem(990) > 2) && (countitem(6276) < 1)){ + mes "You got a reagent by communicating with an unseen spirit."; + delitem 990,3; + getitem 6276,1; + close; + }else if ((job_soc == 4) && (countitem(990) > 2) && (countitem(6276) > 0)){ + mes "It doesn't seem like you got anything special from the spirits."; + delitem 990,3; + close; + } + mes "The spirit is mad at you."; + close; + }else if ((.@rand > 9) && (.@rand < 16)){ + if ((job_soc == 4) && (countitem(990) > 2) && (countitem(6278) < 1)){ + mes "You got a reagent by communicating with an unseen spirit."; + delitem 990,3; + getitem 6278,1; + close; + }else if ((job_soc == 4) && (countitem(990) > 2) && (countitem(6278) > 0)){ + mes "It doesn't seem like you got anything special from the spirits."; + delitem 990,3; + close; + } + mes "The spirit is mad at you."; + close; + }else if (.@rand == 56){ + if ((job_soc == 4) && (countitem(990) > 2)){ + mes "The spirit combined the property stones into a huge property stone."; + delitem 990,3; + getitem 994,1; + close; + } + mes "The spirit is mad at you."; + close; + } + mes "You used the property stones but it looks like you failed to communicate with the spirits."; + delitem 990,3; + close; + }else if ((job_soc == 4) && (countitem(990) < 3)){ + mes "I can see the detecting staff that's been installed by the Sorcerer Union to communicate with the spirits ."; + next; + mes "If you have the suitable property stones, you should be able to commune with the spirits."; + close; + } + mes "I can see the detecting staff that's been installed by the Sorcerer Union to communicate with the spirits ."; + close; +} + +ice_dun01,274,274,0 script Spirit Detecting Staff#2 836,{ + + if ((job_soc == 4) && (countitem(991) > 2)){ + progressbar "ffff00",5; + set .@rand,rand(1,70); + if (.@rand < 10){ + if ((job_soc == 4) && (countitem(991) > 2) && (countitem(6278) < 1)){ + mes "You got a reagent by communicating with an unseen spirit."; + delitem 991,3; + getitem 6278,1; + close; + }else if ((job_soc == 4) && (countitem(991) > 2) && (countitem(6278) > 0)){ + mes "It doesn't seem like you got anything special from the spirits."; + delitem 991,3; + close; + } + mes "The spirit is mad at you."; + close; + }else if ((.@rand > 9) && (.@rand < 16)){ + if ((job_soc == 4) && (countitem(991) > 2) && (countitem(6276) < 1)){ + mes "You got a reagent by communicating with an unseen spirit."; + delitem 991,3; + getitem 6276,1; + close; + }else if ((job_soc == 4) && (countitem(991) > 2) && (countitem(6276) > 0)){ + mes "It doesn't seem like you got anything special from the spirits."; + delitem 991,3; + close; + } + mes "The spirit is mad at you."; + close; + }else if (.@rand == 56){ + if ((job_soc == 4) && (countitem(991) > 2)){ + mes "The spirit combined the property stones into a huge property stone."; + delitem 991,3; + getitem 995,1; + close; + } + mes "The spirit is mad at you."; + close; + } + mes "You used the property stones but it looks like you failed to communicate with the spirits."; + delitem 991,3; + close; + }else if ((job_soc == 4) && (countitem(991) < 3)){ + mes "I can see the detecting staff that's been installed by the Sorcerer Union to communicate with the spirits ."; + next; + mes "If you have the suitable property stones, you should be able to commune with the spirits."; + close; + } + mes "I can see the detecting staff that's been installed by the Sorcerer Union to communicate with the spirits ."; + close; +} + +mjo_dun03,200,141,0 script Spirit Detecting Staff#3 836,{ + + if ((job_soc == 4) && (countitem(993) > 2)){ + progressbar "ffff00",5; + set .@rand,rand(1,70); + if (.@rand < 10){ + if ((job_soc == 4) && (countitem(993) > 2) && (countitem(6277) < 1)){ + mes "You got a reagent by communicating with an unseen spirit."; + delitem 993,3; + getitem 6277,1; + close; + }else if ((job_soc == 4) && (countitem(993) > 2) && (countitem(6277) > 0)){ + mes "It doesn't seem like you got anything special from the spirits."; + delitem 993,3; + close; + } + mes "The spirit is mad at you."; + close; + }else if ((.@rand > 9) && (.@rand < 16)){ + if ((job_soc == 4) && (countitem(993) > 2) && (countitem(6276) < 1)){ + mes "You got a reagent by communicating with an unseen spirit."; + delitem 993,3; + getitem 6276,1; + close; + }else if ((job_soc == 4) && (countitem(993) > 2) && (countitem(6276) > 0)){ + mes "It doesn't seem like you got anything special from the spirits."; + delitem 993,3; + close; + } + mes "The spirit is mad at you."; + close; + }else if (.@rand == 56){ + if ((job_soc == 4) && (countitem(993) > 2)){ + mes "The spirit combined the property stones into a huge property stone."; + delitem 993,3; + getitem 997,1; + close; + } + mes "The spirit is mad at you."; + close; + } + mes "You used the property stones but it looks like you failed to communicate with the spirits."; + delitem 993,3; + close; + }else if ((job_soc == 4) && (countitem(993) < 3)){ + mes "I can see the detecting staff that's been installed by the Sorcerer Union to communicate with the spirits ."; + next; + mes "If you have the suitable property stones, you should be able to commune with the spirits."; + close; + } + mes "I can see the detecting staff that's been installed by the Sorcerer Union to communicate with the spirits ."; + close; +} + +gon_dun02,195,190,0 script Spirit Detecting Staff#4 836,{ + + if ((job_soc == 4) && (countitem(992) > 2)){ + progressbar "ffff00",5; + set .@rand,rand(1,70); + if (.@rand < 10){ + if ((job_soc == 4) && (countitem(992) > 2) && (countitem(6277) < 1)){ + mes "You got a reagent by communicating with an unseen spirit."; + delitem 992,3; + getitem 6277,1; + close; + }else if ((job_soc == 4) && (countitem(992) > 2) && (countitem(6277) > 0)){ + mes "It doesn't seem like you got anything special from the spirits."; + delitem 992,3; + close; + } + mes "The spirit is mad at you."; + close; + }else if ((.@rand > 9) && (.@rand < 16)){ + if ((job_soc == 4) && (countitem(992) > 2) && (countitem(6278) < 1)){ + mes "You got a reagent by communicating with an unseen spirit."; + delitem 992,3; + getitem 6278,1; + close; + }else if ((job_soc == 4) && (countitem(992) > 2) && (countitem(6278) > 0)){ + mes "It doesn't seem like you got anything special from the spirits."; + delitem 992,3; + close; + } + mes "The spirit is mad at you."; + close; + }else if (.@rand == 56){ + if ((job_soc == 4) && (countitem(992) > 2)){ + mes "The spirit combined the property stones into a huge property stone."; + delitem 992,3; + getitem 996,1; + close; + } + mes "The spirit is mad at you."; + close; + } + mes "You used the property stones but it looks like you failed to communicate with the spirits."; + delitem 992,3; + close; + }else if ((job_soc == 4) && (countitem(992) < 3)){ + mes "I can see the detecting staff that's been installed by the Sorcerer Union to communicate with the spirits ."; + next; + mes "If you have the suitable property stones, you should be able to commune with the spirits."; + close; + } + mes "I can see the detecting staff that's been installed by the Sorcerer Union to communicate with the spirits ."; + close; +}
\ No newline at end of file diff --git a/npc/pre-re/jobs/3-2/sura.txt b/npc/pre-re/jobs/3-2/sura.txt new file mode 100644 index 000000000..57bac1ad9 --- /dev/null +++ b/npc/pre-re/jobs/3-2/sura.txt @@ -0,0 +1,1190 @@ +//===== rAthena Script ======================================= +// Sura Job change Quest +//===== By: ================================================== +//= Masao +//= Credits: Muad_Dib, Gepard +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= Any rAthena SVN +//===== Description: ========================================= +//= [AEGIS Conversion] +//= Job change Quest from Monk / Champion -> Sura. +//===== Additional Comments: ================================= +//= 1.0 First Version. +//============================================================ + +ve_in,237,125,0 script King Crab#job_shu 107,{ + + if (job_shu == 0){ + if (Class == Job_Monk || Class == Job_Champion || Job_Baby_Monk){ + if ((BaseLevel > 98) && (JobLevel > 49)){ + mes "[King Crab]"; + mes "Khh ha ha ha ha ha ha."; + mes "That little rookie was knocked out by my one blow!"; + next; + mes "[Sludge Worm]"; + mes "Those arrogant fellows deserve a bitter lesson."; + mes "How dare a little rookie attack you, boss!"; + next; + mes "[King Crab]"; + mes "Ha ha ha ha ha ha ha!!!!"; + next; + mes "[Sludge Worm]"; + mes "Hey! Right here!!! One more cup of beer!!!"; + mes "What are you doing? My boss's cup is already empty! Come quickly!"; + next; + mes "[Waitress]"; + mes "Yes, I will bring it right away."; + next; + mes "[Sludge Worm]"; + mes "Too slow!!! Who do you think my boss is? Huh!?"; + next; + mes "[Waitress]"; + mes "I... I'm really sorry, sir..."; + next; + mes "[King Crab]"; + mes "K k k k k. That's enough."; + mes "That cute girl seems to be scared of you!"; + mes "Hey lady~ We are not scary people~~"; + next; + mes "[Waitress]"; + mes "Aaaaaaaaaaak! Don't do this!!"; + next; + mes "- Bang -"; + donpcevent "???#bcmd::OnEnable"; + next; + mes "[???]"; + mes "Hey, there."; + mes "I've been watching you, making a ruckuss like you own this place."; + next; + mes "[???]"; + mes "It's too noisy. So if you want to say that nonsense again, go home."; + next; + mes "[Sludge Worm]"; + mes "What?!"; + mes "I don't know who you are but you must've lost your mind!"; + mes "Do you have any idea who my boss is?!!"; + next; + mes "[Sludge Worm]"; + mes "This is the famous King Crab!!!"; + mes "Who can decimate entire armies with his fist!!!"; + next; + mes "[???]"; + mes "You do all the dirty things like your dirty face."; + mes "You're just a thug satisfying your desires."; + next; + mes "[King Crab]"; + mes "What?"; + mes "How dare you say those things?"; + mes "Just because you're a girl doesn't mean I'll just let it go."; + next; + mes "[Sludge Worm]"; + mes "Huh! The boss is really mad!"; + mes "I can beat you up with one blow..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hey! How dare you use violence against a lady!?"; + next; + mes "[???]"; + mes "Move back, you little thing..."; + next; + mes "[???]"; + mes "Oh, I'm glad to hear that."; + mes "I won't attack first because I'm in the middle of training."; + next; + mes "[King Crab && Sludge Worm]"; + mes "What?"; + next; + mes "[King Crab && Sludge Worm]"; + mes "Uhhhh?!"; + next; + mes "[King Crab && Sludge Worm]"; + mes "Aaaaaahhhhhhhhk!!!!!!!!"; + specialeffect EF_FIRESPLASHHIT,"King Crab#job_shu"; + specialeffect EF_FIRESPLASHHIT,"Sludge Worm#job_shu"; + next; + mes "- What is that amazing power? -"; + mes "- I've never seen this"; + mes "- kind of skill before... -"; + next; + mes "[???]"; + mes "Well, the mood is spoiled..."; + next; + mes "[Waitress]"; + mes "Tha... Thank you so much..."; + mes "How can I repay you?"; + next; + mes "[???]"; + mes "It's not a big deal. It's okay."; + next; + mes "[Waitress]"; + mes "Are you going back to your lodging?"; + mes "If it's okay with you, can I deliver you a meal?"; + next; + mes "[???]"; + mes "Oh, you don't really need to."; + mes "Just a slice of bread and warm soup will be enough for me."; + mes "Then, I've got to say goodbye. Bye."; + donpcevent "???#bcmd::OnDisable"; + next; + mes "[Waitress]"; + mes "Bye..."; + mes "..."; + mes "....."; + mes "........(cheeks glowing)"; + set job_shu,1; + setquest 11155; + close; + } + mes "[King Crab]"; + mes "Khh ha ha ha ha ha ha"; + mes "That little rookie was knocked out by my one blow!"; + next; + mes "[Sludge Worm]"; + mes "Those arrogant fellows deserve a bitter lesson."; + mes "How dare a little rookie attack my boss!"; + next; + mes "[King Crab]"; + mes "Khhha ha ha ha ha ha!!!!"; + mes "One more cup of beer, here!!!"; + mes "I will drink today!!!"; + next; + mes "[Sludge Worm]"; + mes "King Crab!!! I will follow you forever!!"; + close; + } + } + mes "[King Crab]"; + mes "Khh ha ha ha ha ha ha"; + mes "That little rookie was knocked out by my one blow!"; + next; + mes "[Sludge Worm]"; + mes "Those arrogant fellows deserve a bitter lesson."; + mes "How dare a little rookie attack my boss!"; + next; + mes "[King Crab]"; + mes "Khhha ha ha ha ha ha!!!!"; + mes "One more cup of beer, here!!!"; + mes "I will drink today!!!"; + next; + mes "[Sludge Worm]"; + mes "King Crab!!! I will follow you forever!!"; + close; +} + +ve_in,241,128,4 script Sludge Worm#job_shu 110,{ + + if (job_shu == 0){ + if (Class == Job_Monk || Class == Job_Champion || Job_Baby_Monk){ + if ((BaseLevel > 98) && (JobLevel > 49)){ + mes "[King Crab]"; + mes "Khh ha ha ha ha ha ha."; + mes "That little rookie was knocked out by my one blow!"; + next; + mes "[Sludge Worm]"; + mes "Those arrogant fellows deserve a bitter lesson."; + mes "How dare a little rookie attack you, boss!"; + next; + mes "[King Crab]"; + mes "Ha ha ha ha ha ha ha!!!!"; + next; + mes "[Sludge Worm]"; + mes "Hey! Right here!!! One more cup of beer!!!"; + mes "What are you doing? My boss's cup is already empty! Come quickly!"; + next; + mes "[Waitress]"; + mes "Yes, I will bring it right away."; + next; + mes "[Sludge Worm]"; + mes "Too slow!!! Who do you think my boss is? Huh!?"; + next; + mes "[Waitress]"; + mes "I... I'm really sorry, sir..."; + next; + mes "[King Crab]"; + mes "K k k k k. That's enough."; + mes "That cute girl seems to be scared of you!"; + mes "Hey lady~ We are not scary people~~"; + next; + mes "[Waitress]"; + mes "Aaaaaaaaaaak! Don't do this!!"; + next; + mes "- Bang -"; + donpcevent "???#bcmd::OnEnable"; + next; + mes "[???]"; + mes "Hey, there."; + mes "I've been watching you, making a ruckuss like you own this place."; + next; + mes "[???]"; + mes "It's too noisy. So if you want to say that nonsense again, go home."; + next; + mes "[Sludge Worm]"; + mes "What?!"; + mes "I don't know who you are but you must've lost your mind!"; + mes "Do you have any idea who my boss is?!!"; + next; + mes "[Sludge Worm]"; + mes "This is the famous King Crab!!!"; + mes "Who can decimate entire armies with his fist!!!"; + next; + mes "[???]"; + mes "You do all the dirty things like your dirty face."; + mes "You're just a thug satisfying your desires."; + next; + mes "[King Crab]"; + mes "What?"; + mes "How dare you say those things?"; + mes "Just because you're a girl doesn't mean I'll just let it go."; + next; + mes "[Sludge Worm]"; + mes "Huh! The boss is really mad!"; + mes "I can beat you up with one blow..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hey! How dare you use violence against a lady!?"; + next; + mes "[???]"; + mes "Move back, you little thing..."; + next; + mes "[???]"; + mes "Oh, I'm glad to hear that."; + mes "I won't attack first because I'm in the middle of training."; + next; + mes "[King Crab && Sludge Worm]"; + mes "What?"; + next; + mes "[King Crab && Sludge Worm]"; + mes "Uhhhh?!"; + next; + mes "[King Crab && Sludge Worm]"; + mes "Aaaaaahhhhhhhhk!!!!!!!!"; + specialeffect EF_FIRESPLASHHIT,"King Crab#job_shu"; + specialeffect EF_FIRESPLASHHIT,"Sludge Worm#job_shu"; + next; + mes "- What is that amazing power? -"; + mes "- I've never seen this"; + mes "- kind of skill before... -"; + next; + mes "[???]"; + mes "Well, the mood is spoiled..."; + next; + mes "[Waitress]"; + mes "Tha... Thank you so much..."; + mes "How can I repay you?"; + next; + mes "[???]"; + mes "It's not a big deal. It's okay."; + next; + mes "[Waitress]"; + mes "Are you going back to your lodging?"; + mes "If it's okay with you, can I deliver you a meal?"; + next; + mes "[???]"; + mes "Oh, you don't really need to."; + mes "Just a slice of bread and warm soup will be enough for me."; + mes "Then, I've got to say goodbye. Bye."; + donpcevent "???#bcmd::OnDisable"; + next; + mes "[Waitress]"; + mes "Bye..."; + mes "..."; + mes "....."; + mes "........(cheeks glowing)"; + set job_shu,1; + setquest 11155; + close; + } + mes "[King Crab]"; + mes "Khh ha ha ha ha ha ha"; + mes "That little rookie was knocked out by my one blow!"; + next; + mes "[Sludge Worm]"; + mes "Those arrogant fellows deserve a bitter lesson."; + mes "How dare a little rookie attack my boss!"; + next; + mes "[King Crab]"; + mes "Khhha ha ha ha ha ha!!!!"; + mes "One more cup of beer, here!!!"; + mes "I will drink today!!!"; + next; + mes "[Sludge Worm]"; + mes "King Crab!!! I will follow you forever!!"; + close; + } + } + mes "[King Crab]"; + mes "Khh ha ha ha ha ha ha"; + mes "That little rookie was knocked out by my one blow!"; + next; + mes "[Sludge Worm]"; + mes "Those arrogant fellows deserve a bitter lesson."; + mes "How dare a little rookie attack my boss!"; + next; + mes "[King Crab]"; + mes "Khhha ha ha ha ha ha!!!!"; + mes "One more cup of beer, here!!!"; + mes "I will drink today!!!"; + next; + mes "[Sludge Worm]"; + mes "King Crab!!! I will follow you forever!!"; + close; +} + +ve_in,244,126,3 script Waitress#job_shu 69,{ + + if (job_shu == 0){ + mes "[Waitress]"; + mes "Oh no~"; + mes "I hate those noisy and impolite customers!"; + mes "I hope there is someone who can scold them for me."; + close; + }else if (job_shu == 1){ + if (Class == Job_Monk || Job_Baby_Monk){ + mes "[Waitress]"; + mes "Oh dear~"; + mes "I really appreciate you, Monk, for helping me a while ago."; + next; + }else if (Class == Job_Champion){ + mes "[Waitress]"; + mes "Oh dear~"; + mes "I really appreciate you, Champion, for helping me a while ago."; + next; + } + mes "[Waitress]"; + mes "Ah, the person we saw before?"; + mes "She has been staying in this village for days,"; + mes "Isn't she so great?"; + next; + mes "[Waitress]"; + mes "Although she is a woman like me, she was so cool!"; + mes "Aaahh~ That beautiful and imposing figure..."; + next; + mes "[Waitress]"; + mes "Oh my!!"; + mes "I forgot to do something!"; + mes "I should cook right away and then bring the meal to the Inn. Aaahh~"; + next; + mes "[Waitress]"; + mes "If you still don't know where to stay, please use ^f57d7dthe Inn at the upper side of this building^000000."; + close; + } + mes "[Waitress]"; + mes "Now that the customers have become a little quiet."; + mes "Ahhhh, I feel better now!!"; + close; +} + +ve_in,240,131,0 script ???#bcmd 484,{ + end; + +OnInit: + disablenpc "???#bcmd"; + end; + +OnEnable: + enablenpc "???#bcmd"; + initnpctimer; + end; + +OnDisable: + disablenpc "???#bcmd"; + stopnpctimer; + end; + +OnTimer600000: + donpcevent "???#bcmd::OnDisable"; + stopnpctimer; + end; +} + +// Custom Translation NPC name +ve_in,97,149,0 script Sura Hotel 111,3,3,{ + +OnTouch: + if (job_shu == 1){ + mes "[???]"; + mes "Who is it?!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "I am the person who was at the pub a while ago."; + mes "I have something to ask."; + next; + mes "[???]"; + mes "Don't bother me, just go away!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Please, I just want to talk."; + next; + mes "[???]"; + mes "..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Don't ignore me, just talk to me."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Just for a moment, isn't it okay?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "I'm not here to hurt you."; + next; + mes "["+strcharinfo(0)+"]"; + mes "How could you treat someone who came to your door so badly?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "You're going too far."; + next; + mes "["+strcharinfo(0)+"]"; + mes "After I saw you fighting..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "I thought that you must have practiced martial arts and I came here to meet you."; + next; + mes "["+strcharinfo(0)+"]"; + mes "But seeing that you stood me up outside like this..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "You must be advanced in martial arts..."; + next; + mes "[???]"; + mes "How persistent..."; + next; + mes "[???]"; + mes "What the hell do you want?"; + set job_shu,2; + close; + } + end; +} + +ve_in,98,159,0 script Fighter#job_shu 484,{ + + if (job_shu < 2){ + mes "[Fighter]"; + mes "Ahhhh~ I'm so tired."; + mes "Training is so tough and I have a long way to go!"; + close; + }else if (job_shu == 2){ + mes "["+strcharinfo(0)+"]"; + mes "I want to know about the skill you used a while ago."; + next; + mes "[???]"; + mes "..."; + mes "......"; + mes "........."; + mes "............ A rookie like you doesn't need to know."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Rookie?!"; + mes "I have steadily practiced martial arts."; + mes "I am confident that I will never lose."; + next; + mes "[???]"; + mes "So you can beat me, too?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "No..."; + mes "I guess that's too much..."; + mes "Frankly speaking, I was quite amazed by you."; + next; + mes "["+strcharinfo(0)+"]"; + mes "I had thought that I was strong enough but after seeing you fight, I realized that I was full of conceit."; + next; + mes "[???]"; + mes "Huuuh~ No matter how strong you are,"; + mes "you cannot avoid reaching for your true limit."; + next; + mes "["+strcharinfo(0)+"]"; + mes "You are just the person that I expected."; + next; + mes "["+strcharinfo(0)+"]"; + mes "I think you would know"; + mes "how to overcome this limitation."; + next; + mes "[???]"; + mes "Stop it."; + next; + mes "["+strcharinfo(0)+"]"; + mes "What? Why?"; + next; + mes "[???]"; + mes "Are you a human?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "What?"; + mes "Of course, I am a human."; + next; + mes "[???]"; + mes "To become stronger is too hard for a mere human."; + mes "If you want to, just buy better equipment."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Then, what are you?"; + mes "You mean you're not a human being?"; + next; + mes "[???]"; + mes "To overstep the limit..."; + mes "is impossible for a human."; + mes "It's a ghost's way..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Ghost?"; + next; + mes "[???]"; + mes "I gave up being a human after I chose this way."; + mes "The way to become a Sura abandoning divine protection."; + next; + mes "[???]"; + mes "You won't even have time to take a rest if you choose this way."; + mes "You'll become a puppet for war..."; + next; + switch(select("But I still want to know more.:Well, I quit then.")){ + case 1: + mes "[???]"; + mes "Aren't you an idiot?"; + mes "Why are you so happy about becoming a ghost?"; + next; + mes "[???]"; + mes "You'll regret it, so just be satisfied with your present life."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Well, now that I've met you, I won't live my life this way anymore!"; + next; + mes "[???]"; + mes "Hah... you're really making me tired."; + next; + mes "[???]"; + mes "Okay, then^f57d7d go and kill 100 Desert Wolves.^000000"; + mes "After that, I'll think about it again."; + set job_shu,3; + changequest 11155,11156; + close; + case 2: + mes "[???]"; + mes "Well, good choice."; + mes "You don't need to look for trouble."; + close; + } + }else if (job_shu == 3){ + if (checkquest(11156,2) == 2){ + mes "[???]"; + mes "Wow~"; + mes "Did you really kill all those wolves?"; + mes "I figured you'd have given up."; + next; + mes "[???]"; + mes "A woman's word is her bond!!"; + mes "A promise is a promise."; + next; + mes "[???]"; + mes "Go to ^f57d7dEl Mes Gorge Southeast of Juno^000000."; + mes "My colleague ^f57d7dBuddy^000000 will be training himself near the center of that area."; + next; + mes "[Bruno]"; + mes "Tell him that 'Bruno' sent you there and after that, just suit yourself."; + set job_shu,4; + changequest 11156,11157; + close; + } + mes "[???]"; + mes "Hah... you're really making me tired."; + next; + mes "[???]"; + mes "Okay, then^f57d7d go and kill 100 Desert Wolves.^000000"; + mes "Then I'll think about it again."; + close; + }else if (job_shu == 4){ + mes "[Bruno]"; + mes "Go to ^f57d7dEl Mes Gorge Southeast of Juno^000000."; + mes "My colleague ^f57d7dBuddy^000000 will be training himself near the center of that area."; + next; + mes "[Bruno]"; + mes "Tell him that 'Bruno' sent you there and after that, just suit yourself."; + close; + }else if (job_shu == 100){ + mes "[Bruno]"; + mes "Hey~ !"; + mes "How are you doing?"; + next; + mes "[Bruno]"; + mes "Don't you have any presents for your teacher?"; + close; + } + mes "[Bruno]"; + mes "I recommend you to reconsider being a Sura."; + mes "Sura is strong and cool, but that's not all."; + next; + mes "[Bruno]"; + mes "Me?"; + mes "If I need to choose a job again, I will definitely choose Sura."; + close; +} + +yuno_fild07,254,176,7 script Buddy#job_shu 483,{ + + if (job_shu < 4){ + mes "[Buddy]"; + mes "Haaap!!! Haaaap!!! Whoo!! Haahhp!!!"; + next; + mes "[Buddy]"; + mes "I don't know why you're here but please don't stand behind me unless you want to die."; + close; + }else if (job_shu == 4){ + mes "[Buddy]"; + mes "Haaap!!! Haaaap!!! Whoo!! Haahhp!!!"; + next; + mes "[Buddy]"; + mes "I don't know why you're here but please don't stand behind me unless you want to die."; + next; + mes "["+strcharinfo(0)+"]"; + mes "'Bruno' sent me here."; + next; + mes "[Buddy]"; + mes "Ah! My colleague introduced me to you!"; + mes "Anyway, why are you here to see me?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "I asked Bruno about her strength, and she recommended me to you."; + next; + mes "[Buddy]"; + mes "That difficult girl... no, just kidding."; + mes "You must be a special person for her to send you to me."; + next; + mes "[Buddy]"; + mes "Well, I can't answer your question because I'm in the process of self training, so I will take you to our master."; + next; + mes "[Buddy]"; + mes "My master doesn't like noise, so please ^f57d7dwait in the living room silently.^000000"; + next; + mes "[Buddy]"; + mes "This way..."; + set job_shu,5; + changequest 11157,11158; + close2; + warp "sword_1-1",215,244; + end; + }else if (job_shu == 100){ + mes "[Buddy]"; + mes "Ah, long time no see, "+strcharinfo(0)+"."; + mes "Are you here to meet my master?"; + next; + switch(select("Yes:No")){ + case 1: + mes "[Buddy]"; + mes "I'll take you right away."; + close2; + warp "sword_1-1",216,168; + end; + case 2: + mes "[Buddy]"; + mes "Then, why are you here?"; + mes "You are not here to see me, aren't you?"; + close; + } + } + mes "[Buddy]"; + mes ""+strcharinfo(0)+"£¬Didn't you meet the master yet?"; + next; + mes "[Buddy]"; + mes "My master doesn't like noise, so please ^f57d7dwait in the living room silently.^000000"; + next; + mes "[Buddy]"; + mes "This way..."; + close2; + warp "sword_1-1",215,244; + end; +} + +sword_1-1,223,243,4 script Drawing Room 483,{ + +OnInit: + disablenpc "Drawing Room"; + waitingroom "Drawing Room",20,"Drawing Room::OnStartArena",1; + enablewaitingroomevent; + end; + +OnStartArena: + warpwaitingpc "sword_2-1",223,205; + donpcevent "Buddy#Sura_Salon::OnEnable"; + disablewaitingroomevent; + end; + +OnEnable: + enablewaitingroomevent; + end; + +OnDisable: + disablewaitingroomevent; + end; +} + +sword_1-1,223,243,4 script Buddy#job_shu reception 483,{ + + mes "[Buddy]"; + mes "My master doesn't like noise, so please ^f57d7dwait in the living room silently.^000000"; + next; + switch(select("Go to the living room.:Go outside.")){ + case 1: + mes "[Buddy]"; + mes "Please wait in the living room at the upper side."; + close; + case 2: + mes "[Buddy]"; + mes "Then, see you again."; + close2; + warp "yuno_fild07",255,178; + end; + } +} + +sword_2-1,1,1,0 script Buddy#Sura_Salon 66,{ + end; + +OnInit: + disablenpc "Buddy#Sura_Salon"; + end; + +OnEnable: + enablenpc "Buddy#Sura_Salon"; + initnpctimer; + end; + +OnReset: + killmonster "sword_2-1","Buddy#Sura_Salon::OnMyMobDead"; + end; + +OnDisable: + disablenpc "Buddy#Sura_Salon"; + stopnpctimer; + end; + +OnMyMobDead: + if(.MyMobCount < 1){ + monster "sword_2-1",219,210,"hallucination",1479,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,209,"hallucination",1483,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,201,"hallucination",1479,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",219,201,"hallucination",1483,1,"Buddy#Sura_Salon::OnMyMobDead"; + } + end; + +OnTimer3000: + mapannounce "sword_2-1","The master is now in the middle of training, and you need to wait in the living room around 5 minutes.",bc_map; + end; + +OnTimer4000: + mapannounce "sword_2-1","Ah! You may have hallucinations in the living room, so please be careful.",bc_map; + end; + +OnTimer5000: + mapannounce "sword_2-1","This is the policy of the master, so please don't feel unpleasant.",bc_map; + end; + +OnTimer33000: + monster "sword_2-1",219,210,"hallucination",1480,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",219,210,"It can't be true",1479,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,209,"hallucination",1446,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,209,"Just Imagination",1483,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,201,"hallucination",1480,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,201,"Illusion",1479,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",219,201,"hallucination",1446,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",219,201,"Just Imagination",1483,1,"Buddy#Sura_Salon::OnMyMobDead"; + set .MyMobCount,8; + end; + +OnTimer93000: + monster "sword_2-1",219,210,"hallucination",1480,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",219,210,"Just Imagination",1479,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,209,"hallucination",1446,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,209,"hallucination",1483,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,201,"hallucination",1480,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",219,201,"hallucination",1446,1,"Buddy#Sura_Salon::OnMyMobDead"; + set .MyMobCount,6; + end; + +OnTimer153000: + mapannounce "sword_2-1","If you're bored, may I bring you some magazines?",bc_map; + monster "sword_2-1",219,210,"Magazine",1478,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",219,210,"Magazine",1478,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,209,"Magazine",1478,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,209,"Magazine",1478,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,201,"Magazine",1478,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,201,"Magazine",1478,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",219,201,"Magazine",1478,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",219,201,"Magazine",1478,1,"Buddy#Sura_Salon::OnMyMobDead"; + set .MyMobCount,8; + end; + +OnTimer213000: + monster "sword_2-1",219,210,"hallucination",1480,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",219,210,"Never mind",1479,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,209,"hallucination",1483,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,201,"hallucination",1480,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,201,"Can you see me?",1479,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",219,201,"hallucination",1483,1,"Buddy#Sura_Salon::OnMyMobDead"; + set .MyMobCount,6; + end; + +OnTimer273000: + monster "sword_2-1",219,210,"",1480,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,209,"hallucination",1446,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,201,"hallucination",1480,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",228,201,"hallucination",1479,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",219,201,"hallucination",1446,1,"Buddy#Sura_Salon::OnMyMobDead"; + monster "sword_2-1",219,201,"hallucination",1483,1,"Buddy#Sura_Salon::OnMyMobDead"; + set .MyMobCount,6; + end; + +OnTimer300000: + mapannounce "sword_2-1","The master has arrived. Soon I'll show you into the master's room.",bc_map; + end; + +OnTimer303000: + donpcevent "Buddy#job_shuaneh::OnEnable"; + end; + +OnTimer305000: + donpcevent "Buddy#Sura_Salon::OnReset"; + end; + +OnTimer315000: + mapannounce "sword_2-1","Come on here.",bc_map; + donpcevent "Buddy#job_shuaneh::OnDisable"; + donpcevent "Sura_garajjom::OnEnable"; + end; + +OnTimer320000: + mapannounce "sword_2-1","I guess you're not ready to meet the master yet..",bc_map; + donpcevent "Sura_garajjom::OnDisable"; + donpcevent "Drawing Room::OnEnable"; + mapwarp "sword_2-1","yuno_fild07",255,178; + stopnpctimer; + end; +} + +sword_2-1,223,205,7 script Buddy#job_shuaneh 483,{ + + if (job_shu > 4){ + mes "I'll show you the way. This way."; + close2; + warp "sword_1-1",216,168; + donpcevent "Buddy#job_shuaneh::OnDisable"; + end; + } + // Custom Translation + mes "How did you get here?"; + close2; + warp "yuno_fild07",248,179; + end; + +OnInit: + disablenpc "Buddy#job_shuaneh"; + end; + +OnEnable: + enablenpc "Buddy#job_shuaneh"; + end; + +OnDisable: + disablenpc "Buddy#job_shuaneh"; + end; +} + +sword_2-1,223,205,0 script Sura_garajjom 111,10,10,{ + end; + +OnTouch: + warp "sword_1-1",216,168; + end; + +OnInit: + disablenpc "Sura_garajjom"; + end; + +OnEnable: + enablenpc "Sura_garajjom"; + end; + +OnDisable: + disablenpc "Sura_garajjom"; + end; +} + +sword_1-1,222,169,5 script Bruno#job_shu 484,{ + + if (job_shu > 4){ + mes "[Bruno]"; + mes "Hey~ "+strcharinfo(0)+", What's up?"; + next; + switch(select("Let's have conversation.:Go outside.")){ + case 1: + if (job_shu == 100){ + mes "[Bruno]"; + mes "My master?"; + mes "He said he has put the world out of his mind and he is a ghost who gave up being a human but he seems to have a lingering desire for the world."; + next; + mes "[Bruno]"; + mes "Well, I am also a Sura but I still enjoy traveling and meeting many people~"; + next; + mes "[Bruno]"; + mes "In the old days, my master had one close friend but after becoming a Sura,"; + next; + mes "[Bruno]"; + mes "I heard that he wrote a letter to the friend that he had died."; + mes "Then he sometimes visits 'the place of memory' secretly."; + next; + mes "[Bruno]"; + mes "It would be better not saying that he died and just keep meeting his friend."; + mes "He's a bit of a stick-in-the-mud."; + next; + mes "[Bruno]"; + mes "But he is really cool and awesome."; + mes "Ho ho."; + next; + mes "[Bruno]"; + mes "The reason why I keep traveling is to find 'the precious friend' of my master and not to training myself more."; + next; + mes "[Bruno]"; + mes "I feel heavy-hearted when I see my master missing his friend..."; + mes "It's not... not just for my... master!"; + close; + } + mes "[Bruno]"; + mes "Wow~ I thought you would be knocked out before seeing my master but you are finally here now?"; + next; + mes "[Bruno]"; + mes "Anyway you are here now, so I am your immediate superior."; + next; + mes "[Bruno]"; + mes "We don't care about your age in our world!"; + close; + case 2: + mes "[Bruno]"; + mes "Come again whenever you want to~"; + mes "I will show you the training course of the dead~"; + close2; + warp "yuno_fild07",255,178; + end; + } + } + mes "[Bruno]"; + // Custom Translation + mes "How do people keep"; + mes "getting in here!"; + mes "Get out!!!"; + close2; + warp "yuno_fild07",255,178; + end; +} + +sword_1-1,223,167,2 script Master#job_shu 483,{ + + if (job_shu > 4){ + if (job_shu == 5){ + mes "[Master]"; + mes "You must have bright eyes to see that you finally came to this room."; + next; + if(SkillPoint != 0){ + mes "[Master]"; + // Custom Translation + mes "Please use all your Skill Points or you cannot become a Sura."; + close; + } + if(checkweight(1201,1) == 0){ + mes "[Master]"; + // Custom Translation + mes "Your earthly burden is to heavy. You'd better go clean up."; + close; + } + if (JobLevel < 50 || BaseLevel < 99){ + mes "[Master]"; + // Custom Translation + mes "You seem to have not yet reached the limits of human beings, you still have far to go in order to become Sura."; + mes "Go train more."; + close; + } + if (Class == Job_Baby_Monk){ + mes "[Bruno]"; + mes "Of course~"; + mes "I have keen eyes."; + next; + mes "[Bruno]"; + mes "Master! This is a wolf fur coat."; + mes "Put it on when it's cold."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Ahhk! That is the wolf I... caught... Uhh."; + next; + mes "- Whack -"; + next; + mes "[Bruno]"; + mes "Ho ho ho~"; + mes "Do you have something to say, "+strcharinfo(0)+"?"; + mes "You became a member of our family, let's get along together ~"; + next; + mes "[Master]"; + mes "Right, I now accept you as my student, too."; + next; + mes "[Master]"; + mes "I think you already know it, but to live as a Sura will not be that easy."; + next; + mes "[Master]"; + mes "I also shut myself off from the world. If there comes a day when we go to the world again, it must be the day when the world needs ghosts for the wars."; + next; + mes "[Master]"; + mes "I hope those days will not come but... I'll willingly be the ghost and kill all enemies."; + next; + mes "[Master]"; + mes "You should train yourself steadily until that day."; + set job_shu,100; + jobchange Job_Baby_Sura; + completequest 11158; + getitem 5754,1; + getitem 2795,1; + close; + }else if (Class == Job_Monk){ + mes "[Bruno]"; + mes "Of course~"; + mes "I have keen eyes."; + next; + mes "[Bruno]"; + mes "Master! This is a wolf fur coat."; + mes "Put it on when it's cold."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Ahhk! That is the wolf I... caught... Uhh."; + next; + mes "- Whack -"; + next; + mes "[Bruno]"; + mes "Ho ho ho~"; + mes "Do you have something to say, "+strcharinfo(0)+"?"; + mes "You became a member of our family, let's get along together ~"; + next; + mes "[Master]"; + mes "Right, I now accept you as my student, too."; + next; + mes "[Master]"; + mes "I think you already know it, but to live as a Sura will not be that easy."; + next; + mes "[Master]"; + mes "I also shut myself off from the world. If there comes a day when we go to the world again, it must be the day when the world needs ghosts for the wars."; + next; + mes "[Master]"; + mes "I hope those days will not come but... I'll willingly be the ghost and kill all enemies."; + next; + mes "[Master]"; + mes "You should train yourself steadily until that day."; + set job_shu,100; + jobchange Job_Sura; + completequest 11158; + getitem 5754,1; + getitem 2795,1; + close; + }else if (Class == Job_Champion){ + mes "[Bruno]"; + mes "Of course~"; + mes "I have keen eyes."; + next; + mes "[Bruno]"; + mes "Master! This is a wolf fur coat."; + mes "Put it on when it's cold."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Ahhk! That is the wolf I... caught... Uhh."; + next; + mes "- Whack -"; + next; + mes "[Bruno]"; + mes "Ho ho ho~"; + mes "Do you have something to say, "+strcharinfo(0)+"?"; + mes "You became a member of our family, let's get along together ~"; + next; + mes "[Master]"; + mes "Right, I now accept you as my student, too."; + next; + mes "[Master]"; + mes "I think you already know it, but to live as a Sura will not be that easy."; + next; + mes "[Master]"; + mes "I also shut myself off from the world. If there comes a day when we go to the world again, it must be the day when the world needs ghosts for the wars."; + next; + mes "[Master]"; + mes "I hope those days will not come but... I'll willingly be the ghost and kill all enemies."; + next; + mes "[Master]"; + mes "You should train yourself steadily until that day."; + set job_shu,100; + jobchange Job_Sura_T; + completequest 11155; + getitem 5754,1; + getitem 2795,1; + close; + } + mes "[Master]";; + // Custom Translation + mes "Ah?";; + close; + } + mes "[Master]"; + mes "Once I was also an ordinary young man who traveled a lot and met many friends."; + next; + mes "[Master]"; + mes "However, as you might have felt, I finally faced my limitation."; + next; + mes "[Master]"; + mes "Sometimes I wondered 'should I have to give up everything to be more powerful...?'"; + next; + mes "[Master]"; + mes "But what's done is done..."; + if (countitem(6153) > 0){ + delitem 6153,1; + getitem 5754,1; + close; + } + close; + } + mes "[Master]"; + mes "You should not have come here."; + mes "Please leave."; + close2; + warp "yuno_fild07",255,178; + end; +} + +// Custom Translation +sword_2-1,1,2,0 script Sura Job Switch 66,{ + + switch(select("Open Arena:Close Arena:Activate Drawing Room:Actvate Buddy:Activate Naigara:All Off:Cancel")){ + case 1: + mes "Opening Arena"; + donpcevent "Drawing Room::OnEnable"; + close; + case 2: + mes "Closing Arena"; + donpcevent "Drawing Room::OnDisable"; + close; + case 3: + mes "Activating Drawing Room"; + donpcevent "Buddy#Sura_Salon::OnEnable"; + close; + case 4: + mes "Activating Buddy"; + donpcevent "Buddy#job_shuaneh::OnEnable"; + close; + case 5: + mes "Activating garajjom"; + donpcevent "Sura_garajjom::OnEnable"; + close; + case 6: + mes "Deactivating all."; + donpcevent "Drawing Room::OnDisable"; + donpcevent "Buddy#Sura_Salon::OnReset"; + donpcevent "Buddy#Sura_Salon::OnDisable"; + donpcevent "Buddy#job_shuaneh::OnDisable"; + donpcevent "Sura_garajjom::OnDisable"; + close; + case 7: + close; + } +}
\ No newline at end of file diff --git a/npc/pre-re/jobs/3-2/wanderer.txt b/npc/pre-re/jobs/3-2/wanderer.txt new file mode 100644 index 000000000..453f2566e --- /dev/null +++ b/npc/pre-re/jobs/3-2/wanderer.txt @@ -0,0 +1,1393 @@ +//===== rAthena Script ======================================= +// Wanderer Job change Quest +//===== By: ================================================== +//= Muad_Dib, Meyraw +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= Any rAthena SVN +//===== Description: ========================================= +//= Official Script +//= Job change Quest from Dancer / Gypsy -> Wanderer. +//===== Additional Comments: ================================= +//= 1.0 First Version. +//============================================================ + +xmas,162,209,5 script Little Iraki#job_wan 714,{ + + if (job_wan == 0){ + mes "[Little Iraki]"; + mes "Mimi, how are you?"; + mes "Oh, my heart is beating faster~ ~"; + next; + mes "[Mimi]"; + mes "Little Iraki, why is your face red? ha-ha!"; + next; + mes "[Little Iraki]"; + mes "Oh stop joking, Mimi -"; + mes "But I have thoughts on Dancer Kim's performance!"; + emotion e_shy; + next; + mes "[Little Iraki]"; + mes "Due to the mysterious enchanting, Wanderers has been praised by dancers and I might faint when I see her."; + next; + mes "[Mimi]"; + mes "Calm down, Little Iraki."; + mes "If you continue like this, you might fall before performance starts, huh, huh."; + next; + mes "[Mimi]"; + mes "But I can understand."; + mes "I've heard that wanderers are the most acclaimed dancers, so I'm looking forward to it."; + if (Class == Job_Dancer || Class == Job_Gypsy || Class == Job_Baby_Dancer){ + if (BaseLevel < 99 || JobLevel < 50){ + close; + } + next; + } + else { + close; + } + switch(select("Dancer Kim?:Wanderers?")){ + case 1: + mes "[Little Iraki]"; + mes "What? You don't know anything about Dancer Kim?"; + mes "God, I can't believe it!"; + mes "You look like a dancing professional and yet you don't know Dancer Kim? I can't let that happen!"; + next; + mes "[Mimi]"; + mes "Wanderers are supported by the wind, accompanied by the stars. They are wandering around the world with the freedom of their soul."; + mes "They are always dancing, accompanied by beautiful music."; + next; + mes "[Mimi]"; + mes "Dancer Kim is the part of performance group called <Nuoli Ou>. She is a very famous dancer."; + next; + mes "[Mimi]"; + mes "Me and Little Iraki are the wanderer students. Soon after, we're looking for ward to <Nuoli Ou> performance, that will be held here."; + next; + mes "[Little Iraki]"; + mes "If you're a real dancer, then you should visit their performances."; + mes "Oh, where can I meet such romantic poet like Guitar Song, mimi?"; + next; + mes "[Mimi]"; + mes "Huh-uh, Little Iraki."; + next; + if (select("Where is the performance held?:End conversation.") == 2){ + mes "[Mimi]"; + mes "If you are interested in wanderers, I can help you as much as I can."; + close; + } + mes "[Little Iraki]"; + mes "In front of the Christmas tree!"; + mes "Snow white, beautiful and seductive dance music."; + mes "It will be a great performance, right?"; + set job_wan,1; + close; + case 2: + mes "[Mimi]"; + mes "If you are interested in wanderers, I can help you as much as I can."; + close; + } + } + else if (job_wan == 1){ + mes "[Little Iraki]"; + mes "Performance will be held in Lutie in front of the Christmas tree."; + mes "I'm so excited! Oh, I think I'm going to faint, Mimi~!"; + close; + } + else if (job_wan == 10){ + mes "[Little Iraki]"; + mes "<Nuoli Ou> is the best!!"; + close; + } + mes "[Little Iraki]"; + mes "I want to be a good wanderer, Mimi~"; + close; +} + +xmas,163,209,3 script Mimi#job_wan 714,{ + + if (job_wan == 0){ + mes "[Little Iraki]"; + mes "Mimi, how are you?"; + mes "Oh, my heart is beating faster~ ~"; + next; + mes "[Mimi]"; + mes "Little Iraki, why is your face red? ha-ha!"; + next; + mes "[Little Iraki]"; + mes "Oh stop joking, Mimi -"; + mes "But I have thoughts on Dancer Kim's performance!"; + emotion e_shy; + next; + mes "[Little Iraki]"; + mes "Due to the mysterious enchanting, Wanderers has been praised by dancers and I might faint when I see her."; + next; + mes "[Mimi]"; + mes "Calm down, Little Iraki."; + mes "If you continue like this, you might fall before performance starts, huh, huh."; + next; + mes "[Mimi]"; + mes "But I can understand."; + mes "I've heard that wanderers are the most acclaimed dancers, so I'm looking forward to it."; + if (Class == Job_Dancer || Class == Job_Gypsy || Class == Job_Baby_Dancer){ + if (BaseLevel < 99 || JobLevel < 50){ + close; + } + next; + } + else { + close; + } + switch(select("Dancer Kim?:Wanderers?")){ + case 1: + mes "[Little Iraki]"; + mes "What? You don't know anything about Dancer Kim?"; + mes "God, I can't believe it!"; + mes "You look like a dancing professional and yet you don't know Dancer Kim? I can't let that happen!"; + next; + mes "[Mimi]"; + mes "Wanderers are supported by the wind, accompanied by the stars. They are wandering around the world with the freedom of their soul."; + mes "They are always dancing, accompanied by beautiful music."; + next; + mes "[Mimi]"; + mes "Dancer Kim is the part of performance group called <Nuoli Ou>. She is a very famous dancer."; + next; + mes "[Mimi]"; + mes "Me and Little Iraki are the wanderer students. Soon after, we're looking for ward to <Nuoli Ou> performance, that will be held here."; + next; + mes "[Little Iraki]"; + mes "If you're a real dancer, then you should visit their performances."; + mes "Oh, where can I meet such romantic poet like Guitar Song, mimi?"; + next; + mes "[Mimi]"; + mes "Huh-uh, Little Iraki."; + next; + if (select("Where is the performance held?:End conversation.") == 2){ + mes "[Mimi]"; + mes "If you are interested in wanderers, I can help you as much as I can."; + close; + } + mes "[Little Iraki]"; + mes "In front of the Christmas tree!"; + mes "Snow white, beautiful and seductive dance music."; + mes "It will be a great performance, right?"; + set job_wan,1; + close; + case 2: + mes "[Mimi]"; + mes "If you are interested in wanderers, I can help you as much as I can."; + close; + } + } + else if (job_wan == 1){ + mes "[Little Iraki]"; + mes "Performance will be held in Lutie in front of the Christmas tree."; + mes "I'm so excited! Oh, I think I'm going to faint, Mimi~!"; + close; + } + else if (job_wan == 10){ + mes "[Little Iraki]"; + mes "<Nuoli Ou> is the best!!"; + close; + } + mes "[Little Iraki]"; + mes "I want to be a good wanderer, Mimi~"; + close; +} + +xmas,132,143,5 script Performance Manager#w 713,{ + + if (job_wan == 0){ + mes "[Stage Staff]"; + mes "Oh, how could it be?"; + close; + } + else if (job_wan == 1){ + mes "[Stage Staff]"; + mes "Oh, how could it be?"; + mes "How could this happen?"; + next; + emotion e_ag; + mes "[Stage Staff]"; + mes "Hey, you!"; + mes "May I talk with you?"; + mes "In fact, I usually don't say these things to thers."; + mes "But I'm very depressed. Really, really depressed."; + next; + while(1){ + switch(select("I'm not interested.:What happened?:If you're not saying, why would you tell me that?")) { + case 1: + mes "[Stage Staff]"; + mes "Oh! What a ruthless world!"; + close; + case 2: + mes "[Stage Staff]"; + mes "I want to say that only few days left until stage will fill with guests!"; + next; + mes "[Stage Staff]"; + mes "I have no sense of responsibility..."; + next; + goto L_wh1; + case 3: + emotion e_ag; + mes "[Stage Staff]"; + mes "I am not saying it? I'm too depressed! Well, now you know!"; + next; + break; + } + } +L_wh1: + while(1){ + switch(select("What is the problem?:Who are you talking about?:Seems to me that it doesn't matter, right?")) { + case 1: + mes "[Stage Staff]"; + mes "how could this happen?"; + mes "I will be hit with a snowball!"; + mes "No, they might throw a snowman at me!"; + next; + emotion e_wah; + mes "[Stage Staff]"; + mes "People will put a collar on me! Oh, terrible, so terrible!"; + next; + goto L_wh2; + case 2: + mes "[Stage Staff]"; + mes "Who else!"; + mes "It's <Nuoli Ou>!"; + mes "Do you know?"; + mes "They are the worst people in the world."; + next; + break; + case 3: + mes "[Stage Staff]"; + mes "Too much!"; + close; + } + } +L_wh2: + while(1){ + switch(select("Why fear that someone will hit you?:Is it wrong to participate in performances?:Whatever, I'm going.")) { + case 1: + mes "[Stage Staff]"; + mes "If we switch places, would you not be afraid?"; + mes "I am the person in charge of performances! You know how many performances there will be, how many money there will be? Or how many people we will expect to face! Don't you think that I have a multiple burden?"; + next; + break; + case 2: + mes "[Stage Staff]"; + mes "Yes!"; + mes "It's the legendary <Nuoli Ou> group's sudden notice to cancel the performances!"; + next; + mes "[Stage Staff]"; + mes "Performance day is soon and they left all troubles with me!"; + next; + mes "[Stage Staff]"; + mes "Do you know how many people will complain? This will be terrible..."; + next; + goto L_wh3; + case 3: + mes "[Stage Staff]"; + mes "Hey, where are you going!"; + close; + } + } +L_wh3: + mes "["+strcharinfo(0)+"]"; + mes "When preparations go not as planned, you become very worried about it."; + mes "The audience wants to see the best performance."; + next; + mes "[Stage Staff]"; + mes "I don't know how this happened/"; + mes "Why are they suddenly canceling their performance?"; + mes "Do you know?"; + next; + mes "[Stage Staff]"; + mes "<Nuoli Ou>... Why did they suddenly cancel the prformance."; + mes "What have I done wrong? After they signed the contract, I did everything they wanted."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Well..."; + input .@input$; + mes "^3131FF" +.@input$+ "^000000"; + mes "... is the reason."; + next; + emotion e_ag; + mes "[Stage Staff]"; + mes "What are you talking about?"; + mes "Are you kidding? Or do you think I'm insane?"; + next; + mes "[Stage Staff]"; + mes "Oh, chest hair, nausea, dizzy head..."; + next; + mes "[Stage Staff]"; + mes "Hey! Find the minstrel Guitar Song!"; + next; + switch(select("Okay.:How can I find him!:Happy!")) { + case 1: + break; + case 2: + mes "[Stage Staff]"; + mes "How do I know!?"; + mes "Ah, no, no."; + mes "Since you're a dancer, you must be interested in it, right?"; + mes "Don't you want to see the performance?"; + next; + break; + case 3: + mes "[Stage Staff]"; + mes "You musn't talk with me again..."; + close; + } + mes "[Stage Staff]"; + mes "If you can, I really want Guitar Song here fast!"; + mes "If you persuade him, everything might go as planned. But now I have to deal with sponcors..."; + next; + mes "[Stage Staff]"; + mes "Although I don't know where the Guitar Song is, but I know that he often visits various places in Comodo!"; + mes "Find him faster, faster! Oh, I'm really going to get more depressed! Oh! Guitar Song!!!"; + set job_wan,2; + setquest 2218; + close; + } + else if (job_wan == 2) { + mes "[Stage Staff]"; + mes "Although I don't know where the Guitar Song is, but I know that he often visits various places in Comodo!"; + close; + } + else if (job_wan == 9) { + mes "[Stage Staff]"; + mes "They came back!!!"; + close; + } + else if (job_wan == 10) { + if (checkweight(1201,1) == 0) { + mes "[Stage Staff]"; + mes "- Stop! You're holding too much items! -"; + close; + } + if (countitem(6153) > 0) { + delitem 6153,1; // Exchange Coupon + getitem 5758,1; // Swan + mes "[Stage Staff]"; + mes "Thanks to you, performance went successfully as planned."; + mes "They are really talented!"; + next; + mes "[Stage Staff]"; + mes "Ah, you have exchange coupons?"; + mes "You still haven't exchanged your ticket? If I had known, wouldn't yell at you. I'm really sorry."; + next; + mes "[Stage Staff]"; + mes "Good! please take this headgear."; + mes "This item is not easy to get, so be careful and not lose it!"; + close; + } + else { + mes "[Stage Staff]"; + mes "Thanks to you, the performance went successfully as planned."; + mes "They are really talented!"; + mes "As a reward, I will prepare a stage especially for you."; + close; + } + } + mes "[Stage Staff]"; + mes "Oh, great chaos! Ah-ah!"; + close; +} + +comodo,140,86,5 script Cheerless Minstrel#w 479,{ + + if (job_wan < 2){ + mes "[Cheerless Minstrel]"; + mes "You can dance ~ ~"; + mes "You can work ~ ~"; + mes "You are the dancing queen ~ ~"; + mes "Feel the beat from the tambourine ~ ~"; + next; + mes "[Cheerless Minstrel]"; + mes "Thank you ..."; + close; + } + if (job_wan == 2){ + mes "[Cheerless Minstrel]"; + mes "You can dance ~ ~"; + mes "You can work ~ ~"; + mes "You are the dancing queen ~ ~"; + mes "Feel the King of the tambourines ~ ~"; + next; + mes "- that guy seems to be Guitar Song -"; + next; + if (select("Thats one Guitar Song's strange song.:Leave him alone.") == 2){ + mes "- Such a strange person. -"; + close; + } + mes "[Cheerless Minstrel]"; + mes "What?!"; + mes "How dare you look down to top-hit song the <Tambourine king>? That was the first slap to the face. This really makes me angry."; + next; + menu "Ah, I didn't slapped you!",-; + emotion e_gasp; + mes "[Cheerless Minstrel]"; + mes "Oh! by looking at your clothes, you look like a person from dance group."; + next; + mes "[Cheerless Minstrel]"; + mes "How are your fellow dancers and musicians doing? Good? If not, then how about we form a duet?"; + next; + mes "[Cheerless Minstrel]"; + mes "I'll call it <Guitar Song of distress>."; + mes "Guitar Song will write a poem of pain in adults."; + mes "The name has a lot of flavors so it will be highly popular."; + next; + menu "Are you Guitar song?",-; + emotion e_shy; + mes "[Guitar Song]"; + mes "Hey... ... Only now you recognized me? That makes me sad."; + mes "Yes, I was a well-known musician from <Nuoli Ou>. Guitar Song, the world's first male beauty, huh, huh."; + next; + mes "[Guitar Song]"; + mes "Are you interested in my proposal?"; + mes "Most people, after hearing the proposal, already passed out from happiness."; + next; + switch(select("Where is Dancer Kim?:The reason why they cancel the performance.")){ + case 1: + mes "[Guitar Song]"; + mes "Why suddenly mention this?"; + mes "Hey, Hey, lets say that everyone is happy, okay?"; + mes "Without me and Dancer Kim, performances will be fine."; + next; + menu "What are you talking about?",-; + mes "[Guitar Song]"; + mes "Hey, didn't I said to not mention that?"; + mes "I don't want to think about it. When I think about it, it makes me sad."; + next; + mes "- Guitar Song refused to talk it. He is the only one who knows about <Nuoli Ou>. What should I do? -"; + set job_wan,3; + close; + case 2: + close; + } + } + else if (job_wan == 3) { + mes "["+strcharinfo(0)+"]"; + mes "(What should I do to make Guitar Song talk?)"; + next; + switch(select("Scream:Lullaby:Lucky Kiss")){ + case 1: + set .@scream,getskilllv(326); + if (.@scream == 5) { + mes "- You leaned your head to Guitar Song's ear -"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Ah -"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hey -!!!!!"; + specialeffect EF_STUNATTACK; + next; + mes "[Guitar Song]"; + mes "Huh, why!!! Why are you doing that!"; + mes "You will break my eardrums like that."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hey, cheer up!!!"; + next; + mes "[Guitar Song]"; + mes "What are you talking about?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "It should be very clear that people like how you sing, right?"; + mes "Many people are looking forward for your support."; + mes "Don't you feel the shame to let people down without a good reason?"; + next; + break; + } + else { + set .@chance,(rand(1,100)); + if (.@chance > 80) { + mes "- You leaned your head to Guitar Song's ear -"; + next; + mes "["+strcharinfo(0)+"]"; + mes "ah -"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hey -!!!!!"; + specialeffect EF_STUNATTACK,"Cheerless Minstrel#w"; + next; + mes "[Guitar Song]"; + mes "Huh, why!!! Why are you doing that!"; + mes "You will break my eardrums like that."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hey, cheer up!!!"; + next; + mes "[Guitar Song]"; + mes "What are you talking about?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "It should be very clear that people like how you sing, right?"; + mes "Many people are looking forward for your support."; + mes "Don't you feel the shame to let people down without a good reason?"; + next; + break; + } + else { + mes "["+strcharinfo(0)+"]"; + mes "Ah -"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Ah ah ah ah ah ah ah !!!!!"; + next; + mes "[Guitar Song]"; + mes "Why!!! This is so mean!"; + mes "Guard!!!"; + next; + mes "[Man wearing black]"; + mes "Please don't do that."; + close2; + warp "comodo",117,98; + end; + } + } + case 2: + set .@scream,getskilllv(306); + if (.@scream == 0) { + mes "- I didn't learned this skill. -"; + close; + } + else { + mes "["+strcharinfo(0)+"]"; + mes "It doesn't look like a good idea to me."; + close; + } + case 3: + set .@scream,getskilllv(329); + if (.@scream == 0) { + mes "- I didn't learned this skill. -"; + close; + } + else { + emotion e_lv,1; + mes "["+strcharinfo(0)+"]"; + mes "ah, Guitar Song ~ ~"; + next; + mes "[Guitar Song]"; + mes "Oh, how? I think I'm getting goosebumps."; + next; + emotion e_lv,1; + mes "["+strcharinfo(0)+"]"; + mes "I have been looking at performances of <Nuoli Ou> a long time ago."; + next; + mes "[Guitar Song]"; + mes "You were really famous! ha-ha!"; + next; + emotion e_lv2,1; + mes "["+strcharinfo(0)+"]"; + mes "I've heard many court musicians and their performances, but your singing is o ver the top, do you know that?"; + next; + mes "[Guitar Song]"; + mes "Hey hey hey! I'm really great!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "It's like the first time... After listening you play, didn't I told you that I went in love on first sight?"; + mes "It's like listening how mother is singing you a lullaby, while you're lying on the cradle ~~ so beautiful, so moving... Aren't you the best minstrel ever?"; + next; + specialeffect EF_STEAL; + mes "[Guitar Song]"; + mes "Hey Hey, of course, after listening to your words, I feel very pleased."; + next; + mes "["+strcharinfo(0)+"]"; + mes "I look forward to your performance in Lutie."; + mes "When I heard that performance is about to be cancelled, I almost lost my heart."; + next; + emotion e_sob,1; + mes "["+strcharinfo(0)+"]"; + mes "By hearing your music ~ I want to dance in the ocean of music and feel free as butterfly."; + mes "My dream won't come true! Hum!"; + next; + mes "[Guitar Song]"; + mes "Oh! Well ..."; + next; + emotion e_sob,1; + mes "["+strcharinfo(0)+"]"; + mes "I'm very pleased to see you here, but the beautiful Lutie performance... hum."; + next; + emotion e_sob,1; + mes "["+strcharinfo(0)+"]"; + mes "And in the end... Why are did you cancelled the performance?"; + mes "I really want to know! Is that because you hate me?"; + next; + emotion e_omg; + mes "[Guitar Song]"; + mes "No, how could this is be the reason!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "I beg you to tell me because my heart is in pain and I want to hear your music and beautiful voice."; + emotion e_lv,1; + next; + break; + } + } + mes "[Guitar Song]"; + mes "Ah, oh, well!"; + mes "In fact, I would like to be in stage!"; + mes "But how can do it alone?"; + next; + emotion e_ag; + mes "[Guitar Song]"; + mes "This is the problem of Dancer Kim!"; + mes "Not long ago, she suddenly lost her temper and left the <Nuoli Ou>!"; + mes "Dancer Kim has bad temper. I've had enough."; + next; + mes "[Guitar Song]"; + mes "Thats all."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Why Dancer Kim suddenly went angry?"; + next; + emotion e_swt; + mes "[Guitar Song]"; + mes "I don't know! She seems to be crazy now!"; + mes "Dancer Kim always been a kind person."; + mes "She suddenly disappeared, and then sent a letter with strange combination of letters. Really reckless writen letter."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Where is Dancer Kim now?"; + next; + mes "[Guitar Song]"; + mes "I can't find the mail address."; + mes "It seems that she went back home, where Kim and I first met. It's the town where Monster Race is held."; + next; + emotion e_hmm; + mes "[Guitar Song]"; + mes "She oftenly gets angry, but she is a great dancer."; + mes "I don't know why is she unhappy in the end. She was really happy when she listened to my music. It seems that my music comes to end too... "; + set job_wan,4; + changequest 2218,2219; + close; + } + else if (job_wan > 3 && job_wan < 8) { + mes "[Guitar Song]"; + mes "Dancer Kim should be in town where monster race is held, right?"; + mes "If you like monster race, you should know the location ..."; + close; + } + else if (job_wan == 8){ + emotion e_gasp; + mes "- You told everything to Guitar Song -"; + next; + mes "[Guitar Song]"; + mes "Ooh ~ ~"; + mes "Dancer Kim, you're such a fool ~ ~"; + mes "I will truly take care of you ~ ~"; + next; + mes "[Guitar Song]"; + mes "Immediately, go to Lutie. We will gather as fast as we can."; + set job_wan,9; + close; + } + else if (job_wan == 9){ + mes "[Guitar Song]"; + mes "I'll go to Lutie as promised."; + close; + } + else { + mes "[inability of the court musicians]"; + mes "Where is my companion ..."; + close; + } +} + +hu_in01,305,251,5 script Vacant Looking Lady#w 879,{ + + if (job_wan < 4){ + mes "[Vacant Looking Lady]"; + mes "*Sigh*"; + close; + } + else if (job_wan == 4){ + mes "[Vacant Looking Lady]"; + mes "... ... ... sob sob."; + next; + menu "Why are you crying?",-; + emotion e_sob; + mes "[Vacant Looking Lady]"; + mes "Because I gave up on his dream. *Sob-sob*"; + next; + menu "What are you talking about?",-; + mes "[Vacant Looking Lady]"; + mes "And I always travel with companion, but I broke up with him."; + next; + menu "Oh, why would you say that?",-; + mes "[Vacant Looking Lady]"; + mes "Well... That... Woo!"; + next; + menu "Just tell me everything.",-; + mes "[Vacant Looking Lady]"; + mes "Do you know that wanderers and minstrels together have ability to work together?"; + next; + mes "[Vacant Looking Lady]"; + mes "Therefore, the court wanderers and minstrels often travel together, with the ensemble performance."; + mes "With lively music, dance like a beauty."; + next; + mes "[Vacant Looking Lady]"; + mes "Not long time ago, I partnered with the Guitar Song. We used various combinations of dances and songs and Guitar Song was always cheerful."; + next; + mes "[Vacant Looking Lady]"; + mes "Also I dance more than usual if people applause, so I'm a very proud person."; + mes "Guitar Song always praised my dancing. And that was a big advantage for me, I felt like I'm over the top."; + next; + mes "[Vacant Looking Lady]"; + mes "But..."; + next; + menu "What happened in the end... ?",-; + mes "[Vacant Looking Lady]"; + mes "The next morning I get up to brush teeth and wash my face, but I realized that I had no make-up."; + next; + emotion e_sob; + mes "[Vacant Looking Lady]"; + mes "At that time I didn't know what happened, but then Guitar Song appeared and shouted: ^3131FF Hey! What are you doing here? ^000000, and then he forced me out from the room."; + next; + mes "[Vacant Looking Lady]"; + mes "He always have been a good companion, but how could he do this to me?"; + mes "I thought that Guitar Song was a joking! but he rushed to close the door, really..."; + next; + emotion e_sob; + mes "[Vacant Looking Lady]"; + mes "Why didn't Guitar Song recognized me, ah? I still have no make-up on my face so he won't recognize me, ah? Ooo-ooo..."; + next; + menu "So you have to solve this problem?",-; + emotion e_sob; + mes "[Vacant Looking Lady]"; + mes "What can a woman with broken self-esteem do?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "How could he be so careless!"; + mes "because such a trivial matter, if not justify the dissolution of the combination, right? Because of the nature of this problem, it's not going to be solved by itself, right?"; + next; + mes "[Vacant Looking Lady]"; + mes "Yes. But thats not the only reason."; + mes "I have to say, that due to injure..."; + next; + mes "[Vacant Looking Lady]"; + mes "I was heartbroken by Guitar Song, so I have to stay in my hometown, hiding in my room alone. Thank god I have a delicious cake to comfort me."; + next; + emotion e_shy; + mes "[Vacant Looking Lady]"; + mes "The cake is the best!"; + mes "Cake with a soft cream, surrounded with melted dark chocolate and covered with fresh fruits on top. Thats the best cake ever!"; + next; + mes "[Vacant Looking Lady]"; + mes "In sad times I used to eat delicious cake... I feel like the Happiness Fairy is coming to my side to passionate and comfort me."; + next; + mes "[Vacant Looking Lady]"; + mes "From morning till night, I'm heartily accepting the Happiness Fairy."; + next; + menu "And...",-; + emotion e_sob; + mes "[Vacant Looking Lady]"; + mes "That fairy took away my sorrow, but now I got fatter! Ah-ah-ah-ah-ah!"; + next; + mes "[Vacant Looking Lady]"; + mes "wanderers do not wear clothes on! I can no longer be called a fairy dance! Wanderers do not wear clothes on! I can't be called wanderer now!"; + mes "I can't do belly dance now! Ah-ah-ah..."; + next; + mes "[Vacant Looking Lady]"; + mes "performances of the day is coming soon, but the monster who has brought me happiness than Miao also difficult test Tierney mountains! The performance day is coming soon, but to lose weight I need to train train hard."; + mes "I again plunged into despair! can not I like this Guitar Song and the fans to see! And again I have fallen into despair, when I imagine how dance see me and Guitar Song."; + mes "<Nuo Li> has broken apart! Ah ah ah ah!"; + set job_wan,5; + close; + } + else if (job_wan == 5){ + emotion e_sob; + mes "[Dancer Kim]"; + mes "I was once a beautiful dove, but now I became a hen."; + mes "Dancer Kim's is no longer wanderer."; + next; + if (select("Don't give up.:You'll can handle it yourself.") == 2){ + mes "[Dancer Kim]"; + mes "My life has not came out from the abyss ..."; + close; + } + mes "[Dancer Kim]"; + mes "I already said that it's all over with Guitar Song."; + mes "It's over, and even if you insist, this won't do anything."; + next; + menu "If you give up, everything will be over.",-; + mes "[Dancer Kim]"; + mes "But if this continues..."; + mes "There is nothing really I can do..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "You need to exercise to lose weight!"; + mes "As long as you exercise with effort, your body will get better!"; + next; + mes "[Dancer Kim]"; + mes "It won't be too hard, but I'm so tired so I will easily give up."; + mes "It's not be too long before I will give up."; + next; + if (select("Then there is nothing else to do.:Lets exercise.") == 1){ + mes "[Dancer Kim]"; + mes "There is no dream, no hope..."; + close; + } + mes "[Dancer Kim]"; + mes "Do you want to exercise with me? Together?"; + mes "Really?"; + next; + mes "[Dancer Kim]"; + mes "A person, with whom we can train together..."; + next; + mes "[Dancer Kim]"; + mes "My heart now feels better!"; + mes "I feel like my body is igniting for some action."; + mes "And now I'm motivated to take advantage of the time and overcome all difficulties as soon as possible!"; + next; + menu "What are we going to do?",-; + mes "[Dancer Kim]"; + mes "I have a good idea!"; + next; + mes "[Dancer Kim]"; + mes "In the field near Hugel, there is a lake called the Lake of Abyss."; + mes "Lets meet there."; + set job_wan,6; + changequest 2219,2220; + close; + } + else if (job_wan == 6 || job_wan == 7) { + mes "[Dancer Kim]"; + mes "I will wait for you in the Lake of Abyss."; + close; + } + else if (job_wan == 8) { + mes "[Dancer Kim]"; + mes "Come to the Lutie with Guitar Song!"; + mes "I'll start immediately!"; + close; + } + mes "[Vacant Looking Lady]"; + mes "Where is my partner..."; + close; +} + +hu_fild05,342,130,5 script Dancer Kim#fild 879,{ + + if (job_wan == 6){ + mes "[Dancer Kim]"; + mes "Campaign is good enough, but with competition, the effect of training will be a lot better!"; + next; + mes "[Dancer Kim]"; + mes "From now on, lets begin the race of killing Yellow Novus."; + next; + mes "[Dancer Kim]"; + mes "The goal is 50 Yellow Novuses."; + mes "Are you Ready?"; + next; + if (select("No.:Yes.") == 1){ + mes "[Dancer Kim]"; + mes "Please prepare as fast as you can, before all of this will disappear from my interests!"; + close; + } + mes "[Dancer Kim]"; + mes "Good! So, prepare!"; + mes "Start!"; + set job_wan,7; + changequest 2220,2221; + close; + } + else if (job_wan == 7){ + set .@chk_nov_time,checkquest(2221,PLAYTIME); + set .@chk_nov_hunt,checkquest(2221,HUNTING); + if (.@chk_nov_time == 0 || .@chk_nov_time == 1){ + if (.@chk_nov_hunt == 2){ + mes "[Dancer Kim]"; + mes "Whew!"; + mes "Hey, looks like I've lost!"; + next; + mes "[Dancer Kim]"; + mes "This feeling reminds me of the past where I've crossed the borders of many continents."; + next; + mes "[Dancer Kim]"; + mes "Ah! look at this!"; + mes "I'm getting slimmer, can you see it?"; + next; + mes "[Dancer Kim]"; + mes "I feel that my body is full of power."; + mes "I suddenly wanted to see my good partner Guitar Song."; + mes "I want to start dancing again."; + next; + menu "How about dancing in Lutie?",-; + emotion e_gasp; + mes "[Dancer Kim]"; + mes "Ah! Christmas Village! Yes! Yes! My dream to dance in Lutie will finally come true!"; + next; + mes "[Dancer Kim]"; + mes "I want to dance and jump all day to bring people happiness!"; + mes "So I will go to Lutie."; + next; + mes "[Dancer Kim]"; + mes "Ah, do me a favour, please."; + mes "Can you bring Guitar Song to Lutie?"; + mes "Say that his partner is waiting for him."; + next; + menu "No problem!",-; + mes "[Dancer Kim]"; + mes "You're a good person. I'm really happy that I met you."; + mes "Thank god for sending such a stubborn person to me!"; + set job_wan,8; + changequest 2221,2222; + close; + } + mes "[Dancer Kim]"; + mes "You look relaxed."; + mes "But I have more chances to win this."; + close; + } + if (.@chk_nov_time == 2){ + mes "[Dancer Kim]"; + mes "You came back."; + mes "I'm so tired. My back hurts. It seems that my body doesn't work well. <Nuo Li>, It's all over."; + next; + mes "- It looks like Dancer Kim cannot stand the pain and gives up. She sat down on the ground -"; + set job_wan,6; + changequest 2221,2220; + close; + } + mes "[Dancer Kim]"; + mes "Ah ...?"; + set job_wan,6; + close; + } + else if (job_wan == 8) { + mes "[Dancer Kim]"; + mes "Please tell Guitar Song that I'm waiting for him in Lutie."; + close; + } + mes "[Dancer Kim]"; + mes "Hunting Yellow Novus really is the best sport."; + close; +} + +hu_fild05,81,111,0 script #fildshout01 -1,20,20,{ + +OnTouch: + if (job_wan == 7){ + set .@bc_rd,(rand(1,3)); + if (.@bc_rd == 1){ + mapannounce "hu_fild05","Dancer Kim: Ah, ah. How are you doing? I killed few novuses.",bc_map; + end; + } + if (.@bc_rd == 2){ + mapannounce "hu_fild05","Dancer Kim: Yeah! Novuses are coming, my sister!",bc_map; + end; + } + else { + mapannounce "hu_fild05","Dancer Kim: Oh, you're tired so soon? It seems that I'll win this!",bc_map; + end; + } + } + end; +} + +hu_fild05,193,98,0 script #fildshout02 -1,20,20,{ + +OnTouch: + if (job_wan == 7){ + set .@bc_rd,(rand(1,3)); + if (.@bc_rd == 1){ + mapannounce "hu_fild05","Dancer Kim: Ah, ah. How are you doing? I killed few novuses.",bc_map; + end; + } + if (.@bc_rd == 2){ + mapannounce "hu_fild05","Dancer Kim: Yeah! Novuses are coming, my sister!",bc_map; + end; + } + else { + mapannounce "hu_fild05","Dancer Kim: Oh, you're tired so soon? It seems that I'll win this!",bc_map; + end; + } + } + end; +} + +hu_fild05,252,74,0 script #fildshout03 -1,20,20,{ + +OnTouch: + if (job_wan == 7){ + set .@bc_rd,(rand(1,3)); + if (.@bc_rd == 1){ + mapannounce "hu_fild05","Dancer Kim: Ah, ah. How are you doing? I killed few novuses.",bc_map; + end; + } + if (.@bc_rd == 2){ + mapannounce "hu_fild05","Dancer Kim: Yeah! Novuses are coming, my sister!",bc_map; + end; + } + else { + mapannounce "hu_fild05","Dancer Kim: Oh, you're tired so soon? It seems that I'll win this!",bc_map; + end; + } + } + end; +} + +hu_fild05,323,175,0 script #fildshout04 -1,20,20,{ + +OnTouch: + if (job_wan == 7){ + set .@bc_rd,(rand(1,3)); + if (.@bc_rd == 1){ + mapannounce "hu_fild05","Dancer Kim: Ah, ah. How are you doing? I killed few novuses.",bc_map; + end; + } + if (.@bc_rd == 2){ + mapannounce "hu_fild05","Dancer Kim: Yeah! Novuses are coming, my sister!",bc_map; + end; + } + else { + mapannounce "hu_fild05","Dancer Kim: Oh, you're tired so soon? It seems that I'll win this!",bc_map; + end; + } + } + end; +} + +hu_fild05,334,225,0 script #fildshout05 -1,20,20,{ + +OnTouch: + if (job_wan == 7){ + set .@bc_rd,(rand(1,3)); + if (.@bc_rd == 1){ + mapannounce "hu_fild05","Dancer Kim: Ah, ah. How are you doing? I killed few novuses.",bc_map; + end; + } + if (.@bc_rd == 2){ + mapannounce "hu_fild05","Dancer Kim: Yeah! Novuses are coming, my sister!",bc_map; + end; + } + else { + mapannounce "hu_fild05","Dancer Kim: Oh, you're tired so soon? It seems that I'll win this!",bc_map; + end; + } + } + end; +} + +hu_fild05,301,287,0 script #fildshout06 -1,20,20,{ + +OnTouch: + if (job_wan == 7){ + set .@bc_rd,(rand(1,3)); + if (.@bc_rd == 1){ + mapannounce "hu_fild05","Dancer Kim: It seems that your body is not in good condition. This time I must win.",bc_map; + end; + } + if (.@bc_rd == 2){ + mapannounce "hu_fild05","Dancer Kim: Ah, my nails are broken! It hurt... Forget about it...",bc_map; + end; + } + else { + mapannounce "hu_fild05","Dancer Kim: Oh, you're tired so soon? It seems that I'll win this!",bc_map; + end; + } + + } + end; +} + +hu_fild05,229,315,0 script #fildshout07 -1,20,20,{ + +OnTouch: + if (job_wan == 7){ + set .@bc_rd,(rand(1,3)); + if (.@bc_rd == 1){ + mapannounce "hu_fild05","Dancer Kim: It seems that your body is not in good condition. This time I must win.",bc_map; + end; + } + if (.@bc_rd == 2){ + mapannounce "hu_fild05","Dancer Kim: Ah, my nails are broken! It hurt... Forget about it...",bc_map; + end; + } + else { + mapannounce "hu_fild05","Dancer Kim: Oh, you're tired so soon? It seems that I'll win this!",bc_map; + end; + } + } + end; +} + +hu_fild05,146,309,0 script #fildshout08 -1,20,20,{ + +OnTouch: + if (job_wan == 7){ + set .@bc_rd,(rand(1,3)); + if (.@bc_rd == 1){ + mapannounce "hu_fild05","Dancer Kim: It seems that your body is not in good condition. This time I must win.",bc_map; + end; + } + if (.@bc_rd == 2){ + mapannounce "hu_fild05","Dancer Kim: Ah, my nails are broken! It hurt... Forget about it...",bc_map; + end; + } + else { + mapannounce "hu_fild05","Dancer Kim: Oh, you're tired so soon? It seems that I'll win this!",bc_map; + end; + } + } + end; +} + +hu_fild05,80,239,0 script #fildshout09 -1,20,20,{ + +OnTouch: + if (job_wan == 7){ + set .@bc_rd,(rand(1,3)); + if (.@bc_rd == 1){ + mapannounce "hu_fild05","Dancer Kim: It seems that your body is not in good condition. This time I must win.",bc_map; + end; + } + if (.@bc_rd == 2){ + mapannounce "hu_fild05","Dancer Kim: Ah, my nails are broken! It hurt... Forget about it...",bc_map; + end; + } + else { + mapannounce "hu_fild05","Dancer Kim: Oh, you're tired so soon? It seems that I'll win this!",bc_map; + end; + } + } + end; +} + +hu_fild05,69,147,0 script #fildshout10 -1,20,20,{ + +OnTouch: + if (job_wan == 7){ + set .@bc_rd,(rand(1,3)); + if (.@bc_rd == 1){ + mapannounce "hu_fild05","Dancer Kim: It seems that your body is not in good condition. This time I must win.",bc_map; + end; + } + if (.@bc_rd == 2){ + mapannounce "hu_fild05","Dancer Kim: Ah, my nails are broken! It hurt... Forget about it...",bc_map; + end; + } + else { + mapannounce "hu_fild05","Dancer Kim: Oh, you're tired so soon? It seems that I'll win this!",bc_map; + end; + } + } + end; +} + +xmas,148,131,0 script #wandergogo -1,3,3,{ + +OnTouch: + if (job_wan == 9){ + enablenpc "Dancer Kim#xmas"; + enablenpc "Guitar Song#xmas"; + enablenpc "Audience#xmas1"; + enablenpc "Audience#xmas2"; + enablenpc "Audience#xmas3"; + enablenpc "Audience#xmas4"; + enablenpc "Little Iraki#xm"; + enablenpc "Mimi#xmas"; + } + end; +} + +xmas,147,135,5 script Dancer Kim#xmas 485,{ + +if (job_wan == 9){ + if (Class == Job_Dancer || Class == Job_Gypsy || Class == Job_Baby_Dancer){ + if (BaseLevel < 99){ + mes "- task execution condition is not met, can not perform the task -"; + close; + } + if (JobLevel < 50){ + mes "- task execution condition is not met, can not perform the task -"; + close; + } + if (SkillPoint > 0){ + mes "- there are remaining skill points, can not perform the task -"; + close; + } + if (checkweight(1201,1) == 0){ + mes "- must be clear backpack, to perform the task -"; + close; + } + mes "- You see the ongoing performance of <Nuoli Ou> -"; + next; + emotion e_ho,"Guitar Song#xmas"; + emotion e_ho,"Dancer Kim#xmas"; + mes "[Guitar Song]"; + mes "Thump! Thump! Thump! Thump! Blue fish ~ ~"; + mes "Wind! Wind! Wind! Wind ~ ~"; + mes "Strong will remains invulnurable, even if nose bleeds. ~ ~"; + next; + emotion e_ho,"Audience#xmas1"; + emotion e_ho,"Audience#xmas2"; + emotion e_ho,"Audience#xmas3"; + emotion e_ho,"Audience#xmas4"; + emotion e_ho,"Little Iraki#xm"; + emotion e_ho,"Mimi#xmas"; + mes "[Audience]"; + mes "Ah ah ah ah ah - -!!!"; + mes "Great! <Nuo Li> is the best!!!"; + next; + mes "[Guitar Song]"; + mes "Hello, everyone!"; + next; + emotion e_lv,"Audience#xmas1"; + emotion e_lv,"Audience#xmas2"; + emotion e_lv,"Audience#xmas3"; + emotion e_lv,"Audience#xmas4"; + emotion e_lv,"Little Iraki#xm"; + emotion e_lv,"Mimi#xmas"; + mes "[Audience]"; + mes "Hello !!!!!"; + next; + mes "[Guitar Song]"; + mes "We search for love, search for the wind, this is the romantic traveling song of <Nuoli Ou>!"; + next; + emotion e_lv,"Audience#xmas1"; + emotion e_lv,"Audience#xmas2"; + emotion e_lv,"Audience#xmas3"; + emotion e_lv,"Audience#xmas4"; + emotion e_lv,"Little Iraki#xm"; + emotion e_lv,"Mimi#xmas"; + mes "[Audience]"; + mes "Ah ah ah ah ah ~ ~ !!"; + next; + mes "[Dancer Kim]"; + mes "In the beautiful village where fluttering snowflaces dance."; + mes "I'm very happy to be in Lutie!"; + next; + mes "[Audience]"; + mes "Wow ah ~ ~"; + next; + mes "[Dancer Kim]"; + mes "And... Today's show was almost canceled because of the mistakes I've made."; + next; + mes "[Guitar Song]"; + mes "I feel broken for hurting the heart of Dancer Kim."; + mes "And I would like to say sorry to her."; + next; + mes "[Dancer Kim]"; + mes "No, because I was too stubborn. I should apologize to you, my dear."; + next; + mes "[Dancer Kim]"; + mes "In fact, after I went home, I spend days being depressed until a good friend came to encourage me, and then we worked together to help me out!"; + next; + mes "[Dancer Kim]"; + mes "I think you'll prefer to see her dancing in close future!"; + mes "I watched her long time and she is a very talented person."; + next; + mes "[Dancer Kim]"; + mes "Let me introduce you!"; + next; + mes "[Dancer Kim]"; + mes "The hope and future of wanderers, the new shining star, "+strcharinfo(0)+"!"; + mapannounce "xmas","Dancer Kim: Let me introduce you! The hope and future of wanderers, the new shining star - "+strcharinfo(0)+"!",bc_map; + if(Class == Job_Baby_Dancer){ + jobchange Job_Baby_Wanderer; + } + else if (Class == Job_Dancer){ + jobchange Job_Wanderer; + } + else { + jobchange Job_Wanderer_T; + } + getitem 5758,1; // Swan + getitem 2795,1; // Green Apple Ring + set job_wan,10; + completequest 2222; + next; + mes "[Dancer Kim]"; + mes "Ha ha ha, are you surprised?"; + mes "Why are you staring blankly at me?"; + mes "Since you brought me here, you've completed all qualifications needed."; + next; + mes "[Dancer Kim]"; + mes "Like a beautiful swan!"; + mes "I want to see you dance and be jealous!"; + next; + mes "[Dancer Kim]"; + mes ""+strcharinfo(0)+"! I wish that you will achieve remarkable success in the future."; + mes "I hope will find your own partner. By that time, can we dance together?"; + next; + mes "[Guitar Song]"; + mes "Thanks to you, I've returned a valuable companion!"; + mes "I really thank you for everything. In the near future, I, Guitar Song, will write a song about you."; + disablenpc "Dancer Kim#xmas"; + disablenpc "Guitar Song#xmas"; + disablenpc "Audience#xmas1"; + disablenpc "Audience#xmas2"; + disablenpc "Audience#xmas3"; + disablenpc "Audience#xmas4"; + disablenpc "Little Iraki#xm"; + disablenpc "Mimi#xmas"; + close; + } + mes "- task execution condition is not met, can not perform the task -"; + close; +} +end; + +OnInit: + disablenpc "Dancer Kim#xmas"; + end; +} + +xmas,149,135,3 script Guitar Song#xmas 479,{ +end; + +OnInit: + disablenpc "Guitar Song#xmas"; + end; +} +xmas,142,130,7 script Audience#xmas1 711,{ +end; + +OnInit: + disablenpc "Audience#xmas1"; + end; +} + +xmas,145,127,7 script Audience#xmas2 712,{ +end; + +OnInit: + disablenpc "Audience#xmas2"; + end; +} + +xmas,151,127,7 script Audience#xmas3 716,{ +end; + +OnInit: + disablenpc "Audience#xmas3"; + end; +} + +xmas,154,129,1 script Audience#xmas4 797,{ +end; + +OnInit: + disablenpc "Audience#xmas4"; + end; +} + +xmas,149,127,1 script Mimi#xmas 714,{ +end; + +OnInit: + disablenpc "Mimi#xmas"; + end; +} + +xmas,148,127,7 script Little Iraki#xm 714,{ +end; + +OnInit: + disablenpc "Little Iraki#xm"; + end; +}
\ No newline at end of file diff --git a/npc/pre-re/jobs/novice/novice.txt b/npc/pre-re/jobs/novice/novice.txt new file mode 100644 index 000000000..33f9dd64d --- /dev/null +++ b/npc/pre-re/jobs/novice/novice.txt @@ -0,0 +1,2297 @@ +//===== rAthena Script ======================================= +//= New Novice Training Grounds +//===== By: ================================================== +//= Kisuka +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= New Novice Training Grounds +//= [Hand Scripted (No Programs or AEGIS Scripts)] +//===== Additional Comments: ================================= +//= 1.0 First version. [Kisuka] +//= 1.1 Updated warps, savepoints, NPC locations. [Kisuka] +//============================================================ + +//============================================================================ +// Sprakki (Start of Novice Training Ground, Outside Castle) +//============================================================================ +new_1-1,53,114,4 script Sprakki#nv1 90,{ + if(job_novice_q < 1) { + mes "[Sprakki]"; + mes "Hello there! Welcome to the World of Ragnarok Online. My name is Sprakki and I'm in charge of giving you basic gameplay tips."; + mes "Click on the [Next] button or press [Enter] to continue."; + next; + mes "[Sprakki]"; + mes "First you need to learn the very basics of controlling your character."; + mes "All the basic ^4A4AFFmoves, selection of items, and attacks^000000 use the ^4A4AFFleft click of the mouse^000000."; + next; + cutin "tutorial01",3; + mes "-! Info !-"; + mes "Click on the ground to move the character."; + mes "Attacking monsters and conversations with the people of this world can be done by simply clicking on them."; + next; + cutin "",255; + mes "[Sprakki]"; + mes "First off, try moving around."; + mes "Do you see that wooden bridge to the right?"; + next; + setquest 7117; + set job_novice_q,1; + mes "[Sprakki]"; + mes "Walk over that bridge and there's a castle used as the Training Center."; + mes "I will be waiting for you inside of that Castle. Please come to the castle by yourself."; + next; + cutin "tutorial02",3; + mes "-! Info !-"; + mes "You've received a quest from Sprakki."; + mes "You can check the contents of the quest in the Quest Info Window."; + next; + mes "[Sprakki]"; + mes "I will wait inside the Training Center across the bridge."; + next; + mes "-! Info !-"; + mes "You can open the Quest Info Window by pressing the ^4A4AFFALT + U^000000 keys at the same time."; + next; + cutin "",255; + mes "[Sprakki]"; + mes "Have you checked the Quest Info Window?"; + mes "I'll be waiting in the castle across the bridge."; + close; + } else { + mes "[Sprakki]"; + mes "I will be waiting for you across the Bridge to the east."; + close; + } +} + +//============================================================================ +// Sprakki (Inside Castle) +//============================================================================ +new_1-2,100,29,4 script Sprakki#nv2 90,{ + if(job_novice_q < 1) { + mes "[Sprakki]"; + mes "Hello there! Welcome to the World of Ragnarok Online. My name is Sprakki and I'm in charge of giving you basic gameplay tips."; + mes "Click on the [Next] button or press [Enter] to continue."; + next; + mes "[Sprakki]"; + mes "First you need to learn the very basics of controlling your character."; + mes "All the basic ^4A4AFFmoves, selection of items, and attacks^000000 use the ^4A4AFFleft click of the mouse^000000."; + next; + cutin "tutorial01",3; + mes "-! Info !-"; + mes "Click on the ground to move the character."; + mes "Attacking monsters and conversations with the people of this world can be done by simply clicking on them."; + next; + cutin "",255; + setquest 7117; + set job_novice_q,1; + mes "[Sprakki]"; + mes "Well then, I will give you a quest to talk to me."; + mes "After the conversation is over, talk to me again by left-clicking on me."; + next; + cutin "tutorial02",3; + mes "-! Info !-"; + mes "You've received a quest from Sprakki."; + mes "You can check the contents of the quest in the Quest Info Window by pressing the ^4A4AFFAlt + U^000000 keys at the same time."; + next; + cutin "",255; + mes "[Sprakki]"; + mes "Have you checked the Quest Info Window?"; + mes "Well, talk to me again."; + close; + } else { + if(job_novice_q == 1) { + getexp 300,0; + getexp 300,5; + completequest 7117; + set job_novice_q,2; + mes "[Sprakki]"; + mes "Great!"; + mes "Now you know how to move and talk to others, right?"; + next; + } + mes "[Sprakki]"; + mes "The training Center is prepared for novices just like you."; + mes "You are going to be trained to get used to the basics of the Game."; + next; + select("Begin Training."); + mes "[Sprakki]"; + mes "I will guide you to the Novice Training Center."; + mes "Inside, Instructor 'Brade' will be waiting to speak to you."; + next; + setquest 7118; + set job_novice_q,3; + mes "[Sprakki]"; + mes "Instructor 'Brade' will help you afterwards."; + mes "Please, Go see him."; + next; + mes "^4A4AFF- You received a quest 'Novice Training Ground-1' from Sprakki.^000000"; + mes "^4A4AFFPlease check the Quest Info Window.-^000000"; + close2; + savepoint "new_1-2",100,100; + warp "new_1-2",100,100; + end; + } +} + + +//============================================================================ +// Instructor Brade +//============================================================================ +new_1-2,100,105,4 script Brade#nv 733,{ + if(job_novice_q < 3) { + mes "[Instructor Brade]"; + mes "How did you get here?"; + close2; + warp "new_1-1",53,111; + end; + } + else if(job_novice_q == 3) { + getexp 300,0; + getexp 300,0; + getexp 300,10; + completequest 7118; + set job_novice_q,4; + mes "[Instructor Brade]"; + mes "Great."; + mes "You've completed the given quest successfully, so I will reward you with experience points."; + next; + mes "[Instructor Brade]"; + mes "Experience Points you've earned from hunting or finishing quests can be checked by tracking the EXP Bar, located at the upper-left side of the display."; + next; + mes "[Instructor Brade]"; + mes "Sigh... I will just talk roughly."; + mes "...I just can't get used to"; + mes "'politeness' you know."; + mes "Don't look at me like that!"; + next; + mes "[Instructor Brade]"; + mes "Ok look alive you maggot."; + mes "Next up is items and equipment."; + next; + mes "[Instructor Brade]"; + mes "First, take these."; + mes "These are very basic equipments and recovery potions."; + getitem 2352,1; // Novice_Plate + getitem 2510,1; // Novice_Hood + getitem 2414,1; // Novice_Boots + getitem 5055,1; // Novice_Egg_Cap + getitem 1243,1; // Novice_Knife + getitem 2112,1; // Novice_Guard + getitem 569,300; // Novice_Potion + setquest 7119; + set job_novice_q,5; + next; + mes "[Instructor Brade]"; + mes "In the upper left Basic Info Window, press the 'Item' icon to open the Item Window."; + mes "The item window has 3 sections..."; + next; + mes "[Instructor Brade]"; + mes "consumable items, equipment and other items."; + mes "If you want to use or equip items, double-click on the item or drag them into the Equipment Window."; + next; + mes "[Instructor Brade]"; + mes "You can see detailed info of each item by right-clicking on the item."; + mes "Do that and the info will pop-up in a separate window."; + next; + cutin "tutorial04",3; + mes "!- Info -!"; + mes "Double-click on the item to see the detailed information."; + next; + mes "!- Info -!"; + mes "Right-click on other players to show the Community Menu and you can join a party, request trades, etc."; + next; + cutin "",255; + mes "[Instructor Brade]"; + mes "Why don't you equip the items I gave you earlier?"; + mes "^4A4AFFDouble-Click^000000 on the item you want to equip. Let us continue after you are done gearing up."; + next; + cutin "tutorial03",3; + mes "!- Info -!"; + mes "Items can be easily equipped or used by simply clicking on them."; + mes "The Hot Key to open the Item Window is Alt + E."; + next; + mes "!- Info -!"; + mes "To check on the items that are currently equipped, use the hot key Alt + Q."; + mes "Or, drag the item on to the item slot you want the item to be equipped."; + next; + mes "!- Info -!"; + mes "Equip all of the equipment given by Instructor Brade."; + close2; + cutin "",255; + end; + } + else if(job_novice_q == 4) { + mes "[Instructor Brade]"; + mes "Uh... Where were we? Oh right, let's continue."; + mes "It's about items and equipments."; + next; + mes "[Instructor Brade]"; + mes "Take these."; + mes "Basic equipments and recovery potions."; + getitem 2352,1; // Novice_Plate + getitem 2510,1; // Novice_Hood + getitem 2414,1; // Novice_Boots + getitem 5055,1; // Novice_Egg_Cap + getitem 1243,1; // Novice_Knife + getitem 2112,1; // Novice_Guard + getitem 569,300; // Novice_Potion + setquest 7119; + set job_novice_q,5; + next; + mes "[Instructor Brade]"; + mes "In the upper left Basic Info Window, press the 'Item' icon to open the Item Window."; + mes "The item window is divided into..."; + next; + mes "[Instructor Brade]"; + mes "3 sections: consumable items, equipment and other items."; + mes "If you want to use or equip items, double-click on the item or drag them into the Equipment Window."; + next; + mes "[Instructor Brade]"; + mes "You can see detailed info of each item by right-clicking on the item."; + mes "Do that and the info will pop-up in a separate window."; + next; + cutin "tutorial04",3; + mes "!- Info -!"; + mes "Double-click on the item to see the detailed information."; + next; + mes "!- Info -!"; + mes "Right-click on other players to show the Community Menu and you can join a party, request trades, etc."; + next; + cutin "",255; + mes "[Instructor Brade]"; + mes "Why don't you equip the items I gave you earlier?"; + mes "^4A4AFFDouble-Click^000000 on the item you want to equip. Let us continue after you are done gearing up."; + next; + cutin "tutorial03",3; + mes "!- Info -!"; + mes "Items can be easily equipped or used by simply clicking on them."; + mes "The Hot Key to open the Item Window is Alt + E."; + next; + mes "!- Info -!"; + mes "To check on the items that are currently equipped, use the hot key Alt + Q."; + mes "Or, drag the item on to the item slot you want the item to be equipped."; + next; + mes "!- Info -!"; + mes "Equip all of the equipment given by Instructor Brade."; + close2; + cutin "",255; + end; + } + else if(job_novice_q == 5 || job_novice_q == 6) { + set .@EquipCheck,0; + if (getequipisequiped(EQI_SHOES)) { set .@EquipCheck,.@EquipCheck+1; } + if (getequipisequiped(EQI_ARMOR)) { set .@EquipCheck,.@EquipCheck+1; } + if (getequipisequiped(EQI_GARMET)) { set .@EquipCheck,.@EquipCheck+1; } + if (getequipisequiped(EQI_HEAD_TOP)) { set .@EquipCheck,.@EquipCheck+1; } + if (getequipisequiped(EQI_HAND_L)) { set .@EquipCheck,.@EquipCheck+1; } + if (getequipisequiped(EQI_HAND_R)) { set .@EquipCheck,.@EquipCheck+1; } + if(.@EquipCheck >= 4) { + if(job_novice_q == 5) { + mes "[Instructor Brade]"; + mes "You are all set."; + mes "You are coming along just fine."; + getexp 300,0; + getexp 300,0; + getexp 300,0; + getexp 300,15; + getitem 12323,50; // N_Fly_Wing + getitem 12324,20; // N_Butterfly_Wing + completequest 7119; + set job_novice_q,6; + next; + mes "[Instructor Brade]"; + mes "Here's some Fly Wings and Butterfly Wings as a reward."; + mes "You don't need these in the Training Ground, but they will come in handy later."; + next; + } + mes "[Instructor Brade]"; + mes "Next, are Hot Keys."; + mes "Press the ^4A4AFF12 key^000000 on your keyboard."; + mes "A box with 9 slots will pop up."; + next; + mes "[Instructor Brade]"; + mes "Drag on the right corner of the Hot Key Window and you will be able to see the other pages of the Hot Key."; + next; + mes "[Instructor Brade]"; + mes "The F1 to F9 keys are the designated hotkeys."; + mes "Just drag a skill or an item onto the Hot Key Window and press a corresponding key to use them right away."; + next; + cutin "tutorial05",3; + mes "!- Info -!"; + mes "You can register a skill or an item to the Hot Key Window by just dragging them onto the Hot Key Slot."; + next; + mes "!- Info -!"; + mes "Registered Skills or Items can be used/equipped by just pressing the corresponding key."; + next; + mes "!- Info -!"; + mes "You can customize the Hot Key to use any keys you please as the Hot Key by changing the Shortcut configuration in the options menu."; + next; + mes "!- Info -!"; + mes "Register skills and items that you use often so that you can use them easily"; + next; + cutin "",255; + mes "[Instructor Brade]"; + mes "The last part is how to use Skills."; + mes "But before that, you need to learn something first."; + next; + setquest 7120; + set job_novice_q,7; + mes "[Instructor Brade]"; + mes "Somewhere in this room, there's someone named ^4A4AFFJinha^000000."; + mes "Find Jinha and learn the ^4A4AFF[First Aid]^000000 skill from him."; + next; + mes "[Instructor Brade]"; + mes "Your lesson is after that."; + mes "Go find Jinha and learn the [First Aid] Skill. Then come back to me."; + close; + }else{ + mes "[Instructor Brade]"; + mes "Try to put on at least 4 of the equipment I gave you."; + mes "Put those shoes on, wear those clothes, and arm yourself with that weapon you maggot."; + close; + } + } + else if(job_novice_q == 7) { + mes "[Instructor Brade]"; + mes "Somewhere in this room, there's someone named ^4A4AFFJinha^000000."; + mes "Find Jinha and learn the ^4A4AFF[First Aid]^000000 skill from him."; + close; + } + else if(job_novice_q == 8) { + mes "[Instructor Brade]"; + mes "Now you've learned the [First Aid] Skill."; + mes "Just as I told you before, by registering the First Aid Skill onto the Hot Key Window, you can use the skill fast and easy."; + next; + mes "[Instructor Brade]"; + mes "And that's it, that's all I can teach you."; + mes "You see that exit to the west?"; + mes "Move on to the next room and there will be another instructor waiting for you."; + next; + mes "[Instructor Brade]"; + mes "We will be seeing each other soon enough."; + mes "But for now, go to the room to the west and get more information."; + next; + mes "[Instructor Brade]"; + mes "You've come along fine this far."; + mes "This is not much, but that this as a reward."; + getitem 2393,1; // N_Adventurer's_Suit + completequest 7120; + set job_novice_q,9; + close; + } + else if(job_novice_q > 8) { + mes "[Instructor Brade]"; + mes "Next step of the Training is done in the room west of here."; + mes "If you are lost, I can send you there."; + next; + if(select("I can get there by myself.:Please, send me to the next room.") == 2) { + mes "[Instructor Brade]"; + mes "Oh well."; + mes "I think it's better than seeing you lost and wandering about."; + mes "Hahahaha..."; + close2; + warp "new_1-2",41,172; + end; + } + mes "[Instructor Brade]"; + mes "Good. That's the attitude you must have."; + mes "You can't just lean on others to help you."; + mes "Now, go ahead."; + close; + } + else { + mes "[Instructor Brade]"; + mes "Why are you still here?"; + close2; + warp "prontera",156,90; + end; + } +} + +//============================================================================ +// Instructor Jinha +//============================================================================ +new_1-2,115,120,4 script Jinha#nv 59,{ + if(job_novice_q < 7) { + mes "[Jinha]"; + mes "What can I help you with?"; + mes "Hmm? You haven't followed the curriculum correctly."; + next; + mes "[Jinha]"; + mes "You have to see Instructor Brade first before me. I will send you to Instructor Brade."; + close2; + warp "new_1-2",100,100; + end; + } + else if(job_novice_q == 7) { + mes "[Jinha]"; + mes "Hello!"; + mes "How can I help you?"; + next; + select("I want to learn the use the [First Aid] Skill."); + mes "[Jinha]"; + mes "That's right."; + mes "First Aid is the skill used to convert SP into HP when you are in danger."; + next; + specialeffect2 58; + specialeffect2 234; + mes "[Jinha]"; + mes "It's recovery amount is small."; + mes "Still, it will help you not to faint from a critical hit."; + next; + skill "NV_FIRSTAID",1,0; // NV_FIRSTAID + set job_novice_q,8; + mes "[Jinha]"; + mes "You can open the Skill Window by pressing the ^4A4AFFskill^000000 button in the Basic Window."; + mes "Hot Key is ^4A4AFFALT + S^000000."; + mes "Why don't you try the skill?"; + next; + mes "[Jinha]"; + mes "Good, now you know how to use the First Aid Skill, you have to move on to the next step."; + mes "Go back to Instructor Brade and show him what you've learned here."; + close; + } + else if(job_novice_q == 8) { + mes "[Jinha]"; + mes "Didn't you learn the First Aid Skill already?"; + mes "Have it checked by Instructor Brade."; + mes "If you don't know how to get to him, I will send you to him."; + next; + if(select("I'm good by myself.:Please, send me to him.") == 2) { + mes "[Jinha]"; + mes "I will send you to Instructor Brade."; + close2; + warp "new_1-2",100,100; + end; + } + mes "[Jinha]"; + mes "Very Good!"; + mes "That's the right attitude!"; + mes "You will be a great adventurer in the future."; + close; + } + else if(job_novice_q > 8) { + mes "[Jinha]"; + mes "What can I do for you?"; + mes "Next course will be continued in the West Room."; + mes "Go on to the west room."; + close; + } + else { + mes "[Jinha]"; + mes "Why are you still here?"; + close2; + warp "prontera",156,90; + end; + } +} + +//============================================================================ +// People/Services in Ragnarok +//============================================================================ +// ---------- Chocolat ---------- +new_1-2,32,172,4 script Chocolat#nv 96,{ + if(job_novice_q < 9) { + mes "[Chocolat]"; + mes "Hmm? Strange."; + mes "Let me see that Trainee ID for a sec."; + next; + mes "[Chocolat]"; + mes "You were still on the basic course."; + mes "You should go back to Instructor Brade or Jinha."; + next; + mes "[Chocolat]"; + mes "If you don't know how to find them, I can send you to Instructor Brade, How about it?"; + next; + if(select("I will go myself.:Will you do that for me?") == 2) { + mes "[Chocolat]"; + mes "Sure."; + mes "I will see you later."; + close2; + warp "new_1-2",100,100; + end; + } + mes "[Chocolat]"; + mes "Sure. Go out to the door to the right."; + close; + } + else if(job_novice_q == 9) { + mes "[Chocolat]"; + mes "I will tell you about the people you will be seeing in Town."; + mes "There are many kinds of people in town and some of them will be helpful to know."; + next; + mes "[Chocolat]"; + mes "There are a lot of people in town, but among them, these people are the most important to know."; + next; + mes "[Chocolat]"; + mes "They are [Kafra] Agents standing right behind me and their rival company the [Cool Event]."; + mes "When you visit a town for the first time, you should talk to Information [Soldier]."; + next; + mes "[Chocolat]"; + mes "Well then, let's hear from each of them."; + mes "Start by talking to the [Kafra] agent."; + setquest 7121; + set job_novice_q,10; + close; + } + else if(job_novice_q == 10) { + mes "[Chocolat]"; + mes "Here, talk to these guys standing behind me."; + mes "Start with the [Kafra] gal behind me."; + close; + } + else if(job_novice_q == 11) { + mes "[Chocolat]"; + mes "You've learned a lot about Kafra service huh?"; + mes "From now on, you can use the Kafra Server."; + next; + mes "[Chocolat]"; + mes "Next is Kafra's rival, [Cool Event] Staff!"; + mes "[Cool Event] Staff specialize in events."; + mes "Well, why don't you talk to him yourself?"; + close; + } + else if(job_novice_q == 12) { + mes "[Chocolat]"; + mes "After [Kafra] and [Cool Event], are the Information [Soldier]s."; + mes "They can seem insignificant but they can help you greatly when the time comes."; + next; + mes "[Chocolat]"; + mes "I've brought the Information Soldier from the City of Prontera."; + mes "Ask him what he actually does in town."; + close; + } + else if(job_novice_q == 13) { + mes "[Chocolat]"; + mes "How was the guide of the Information [Soldier]?"; + mes "Last is about using [Inn]s."; + mes "There's an Inn located in each town."; + next; + mes "[Chocolat]"; + mes "You can rest at Inns or Hotels for a small fee."; + mes "Your HP and SP will be recovered completely by resting there."; + mes "Can't hurt to use one, eh?"; + next; + mes "[Chocolat]"; + mes "Besides these guys, there's many merchants selling various kind of items, so go check them out."; + completequest 7121; + getexp 300,0; + getexp 300,0; + getexp 300,0; + getexp 300,0; + getexp 300,0; + getexp 300,20; + getitem 7059,20; // Cargo_Free_Ticket + getitem 7060,30; // Warp_Free_Ticket + set job_novice_q,14; + next; + mes "[Chocolat]"; + mes "You've completed all the quests I gave you."; + mes "As the reward, I will give you Free Tickets for Kafra Storage and Teleport Service."; + mes "They will come in handy."; + next; + mes "[Chocolat]"; + mes "That's all for me."; + mes "Now, it's time for real combat!"; + next; + mes "[Chocolat]"; + mes "Real Combat Training will be given by Instructor Brade. You met him earlier."; + mes "I will send you to the Real Combat Training Field."; + close2; + savepoint "new_1-3",96,21; + warp "new_1-3",96,21; + end; + } + else if(job_novice_q > 13) { + mes "[Chocolat]"; + mes "What can I do for you?"; + next; + select(""); + mes "[Chocolat]"; + mes "I will send you to the Real Combat Training Field right away."; + close2; + savepoint "new_1-3",96,21; + warp "new_1-3",96,21; + end; + } + else { + mes "[Chocolat]"; + mes "Why are you still here?"; + close2; + warp "prontera",156,90; + end; + } +} + + +// ---------- Kafra ---------- +new_1-2,29,176,4 script Kafra#nv 117,{ + if(job_novice_q < 10) { + mes "[Kafra Agent]"; + mes "Hello."; + mes "I don't think it's my turn yet."; + mes "Please talk to 'Chocolat' first."; + close; + } + else if(job_novice_q == 10) { + mes "[Kafra Agent]"; + mes "Hello."; + mes "I've been dispatched by the Kafra Head Office to help Trainees."; + mes "The Kafra Corporation is the world's largest company with a long and distinguished history on the Rune Midgard continent."; + mes "It's important for you adventurers to be close with us."; + next; + mes "[Kafra Agent]"; + mes "I will inform you about the Kafra Services which you will be using most frequently, [Save], [Storage], and [Teleport] Services."; + next; + mes "[Kafra Agent]"; + mes "When you talk to a Kafra Agent and ask for the Save Service, the location of where you will revive, after being defeated in battle, will be changed."; + next; + mes "[Kafra Agent]"; + mes "Your Respawn Point is always the last place where you have saved."; + mes "Using a Butterfly Wing will return you to the place where you last saved."; + mes "This service is free to use, so feel free to use the Save Service anytime you like."; + next; + mes "[Kafra Agent]"; + mes "Next is the Storage Service."; + mes "You can store and retrieve your items in any town at your convenience."; + next; + mes "[Kafra Agent]"; + mes "It's unreasonable to carry all of your items with you when you don't need them right away."; + mes "Please use our Storage and keep your items safe and secure."; + next; + mes "[Kafra Agent]"; + mes "Our convenient Storage Service is provided to our customers for a small fee which is different from town to town."; + mes "However, you must be at least ^4A4AFFBasic Skill Level 6^000000 to use the Storage."; + next; + mes "[Kafra Agent]"; + mes "There are 7 different item sections of the Storage into which items are organized: Consumable, Kafra (Item Mall), Armor, Weapons, Ammo, Cards, and Etc items."; + next; + mes "[Kafra Agent]"; + mes "There are a maximum of 600 Inventory Slots in Kafra Storage, meaning you can have up to 600 different kinds of total items in Storage."; + next; + mes "[Kafra Agent]"; + mes "If you have a Premium Subscription, the maximum Inventory Slots in Kafra Storage is 600!"; + mes "Remember though, that in the case of Equipment, each item takes up one Inventory Slot."; + mes "The maximum number of items that can be placed in Kafra Storage is 30,000."; + next; + mes "[Kafra Agent]"; + mes "Storage is shared by everyone character on one account."; + mes "Storage Fees can vary for each Town."; + mes "So please keep that in mind when you are using our storage service."; + next; + mes "[Kafra Agent]"; + mes "We also provide you with a Teleport Service to make your trips easier when you are trying to move a long distance."; + next; + mes "[Kafra Agent]"; + mes "With our veteran teleporter's skill, your trip will be safer and more comfortable."; + mes "Oh and remember that the places you can teleport to vary from town to town."; + next; + mes "[Kafra Agent]"; + mes "This is all for your never ending support. We are working hard to repay our debt to our customers."; + next; + mes "[Kafra Agent]"; + mes "Do you want to hear another explanation?"; + set job_novice_q,11; + next; + goto L_ServiceMenu; + } + else { + mes "[Kafra Agent]"; + mes "Kafra Service at your service"; + mes "What can I do for you?"; + next; + select("About Kafra Service"); + mes "[Kafra Agent]"; + mes "I will explain about the Kafra Service."; + mes "Which service do you want to be informed about?"; + next; + goto L_ServiceMenu; + } + + L_ServiceMenu: + while(1) { + switch(select("About Save:About Storage:About Teleport:About Cart:No More.")) { + case 1: + mes "[Kafra Agent]"; + mes "When you are killed in battle, you can revive in the location you saved with this service."; + mes "If you save at a Kafra in a village, you can revive in the village you saved."; + next; + mes "[Kafra Agent]"; + mes "Saved location is always where you saved last, and by using a Butterfly Wing, you can teleport directly to your saved point."; + mes "So feel free to use this service."; + next; + break; + case 2: + mes "[Kafra Agent]"; + mes "Next is the Storage Service."; + mes "You can store and retrieve your items in any town at your convenience."; + next; + mes "[Kafra Agent]"; + mes "It's unreasonable to carry all of your items with you when you don't need them right away."; + mes "Please use our Storage and keep your items safe and secure."; + next; + mes "[Kafra Agent]"; + mes "Our convenient Storage Service is provided to our customers for a small fee which is different from town to town."; + mes "However, you must be at least ^4A4AFFBasic Skill Level 6^000000 to use the Storage."; + next; + mes "[Kafra Agent]"; + mes "There are 7 different item sections of the Storage into which items are organized: Consumable, Kafra (Item Mall), Armor, Weapons, Ammo, Cards, and Etc items."; + next; + mes "[Kafra Agent]"; + mes "There are a maximum of 600 Inventory Slots in Kafra Storage, meaning you can have up to 600 different kinds of total items in Storage."; + next; + mes "[Kafra Agent]"; + mes "If you have a Premium Subscription, the maximum Inventory Slots in Kafra Storage is 600!"; + mes "Remember though, that in the case of Equipment, each item takes up one Inventory Slot."; + mes "The maximum number of items that can be placed in Kafra Storage is 30,000."; + next; + mes "[Kafra Agent]"; + mes "Storage is shared by everyone character on one account."; + mes "Storage Fees can vary for each Town."; + mes "So please keep that in mind when you are using our storage service."; + next; + break; + case 3: + mes "[Kafra Agent]"; + mes "We also provide you with a Teleport Service to make your trips easier when you are trying to move a long distance."; + next; + mes "[Kafra Agent]"; + mes "With our veteran teleporter's skill, your trip will be safer and more comfortable."; + mes "Oh and remember that the places you can teleport to vary from town to town."; + next; + mes "[Kafra Agent]"; + mes "This is all for your never ending support. We are working hard to repay our debt to our customers."; + next; + break; + case 4: + mes "[Kafra Agent]"; + mes "The Kafra corporation provides Cart rental services to customers engaged in commercial business."; + mes "Originally this cart rental service had been only provided by the merchant guild in Alberta."; + next; + mes "[Kafra Agent]"; + mes "However, since we took over this service, our merchant customers have been able to rent carts from almost anywhere."; + mes "The cart rental service is available only for job classes engaged in commercial business such as ^4A4AFFMerchants, Blacksmiths, Alchemists, and Super Novices^000000."; + next; + mes "[Kafra Agent]"; + mes "Of course you should learn the 'Pushcart' skill beforehand, otherwise you will not be able to rent a cart from us."; + mes "The rental fee varies by town, please keep that in mind."; + next; + break; + case 5: + mes "[Kafra Agent]"; + mes "I hope you are satisfied with my explanation about the Kafra Service."; + close; + } + } +} + +// ---------- Cool Event Staff ---------- +new_1-2,32,176,4 script Cool Event Staff#nv 874,{ + if(job_novice_q < 11) { + mes "[Cool Event Staff]"; + mes "This is not my turn."; + mes "You finished talking to Kafra yet?"; + close; + } + else if(job_novice_q == 11) { + mes "[Cool Event Staff]"; + mes "Hello."; + mes "We are working hard to provide events on Rune Midgard similar to the Kafra service."; + next; + mes "[Cool Event Staff]"; + mes "Our staff is here to support you with [storage], [save], and [teleport] services."; + next; + mes "[Cool Event Staff]"; + mes "If there's no Kafra around you, we're around to help you."; + next; + mes "[Cool Event Staff]"; + mes "We are working hard on a network of Events to make your life better."; + mes "I hope that you can meet our staff in Alberta."; + next; + mes "[Cool Event Staff]"; + mes "Who knows, we might meet outside of this academy."; + next; + mes "[Cool Event Staff]"; + mes "Mostly all of us wear red coats in the places that the Kafra Staff don't work for."; + set job_novice_q,12; + close; + } + else { + mes "[Cool Event Staff]"; + mes "Most of our services are similar to those of Kafra."; + close; + } +} + +// ---------- Soldier ---------- +new_1-2,35,176,4 script Soldier#nv 105,{ + if(job_novice_q < 12) { + mes "[Soldier]"; + mes "It isn't my turn yet."; + mes "Listen to Chocolat."; + close; + } + else if(job_novice_q == 12) { + mes "[Soldier]"; + mes "Soldiers are in each town to guide you to useful places."; + mes "Ask us where you want to go and we'll mark your mini maps with a ^4A4AFF+^000000."; + mes "Don't hesitate to ask us questions."; + next; + mes "[Soldier]"; + mes "We all don't look the same in every town but our roles are the same."; + mes "Take note of this whenever you go to a new town."; + next; + mes "[Soldier]"; + mes "If you want to go to your first town, you can do so once you have reached Base Level 11 in the training grounds."; + set job_novice_q,13; + close; + } + else { + mes "[Soldier]"; + mes "What can I help you with?"; + mes "Need me to explain what I do again?"; + next; + if(select("Yes, I need an explanation.:Nope") == 2) { + mes "[Soldier]"; + mes "Ok well talk to Chocolat if you're done talking with us."; + close; + } + mes "[Soldier]"; + mes "Soldiers are in each town to guide you to useful places."; + mes "Ask us where you want to go and we'll mark your mini maps with a ^4A4AFF+^000000."; + mes "Don't hesitate to ask us questions."; + next; + mes "[Soldier]"; + mes "We all don't look the same in every town but our roles are the same."; + mes "Take note of this whenever you go to a new town."; + next; + mes "[Soldier]"; + mes "If you want to go to your first town, you can do so once you have reached Base Level 11 in the training grounds."; + close; + } +} + +//============================================================================ +// Instructor Brade (Real Combat Training) +//============================================================================ +- script Brade#nv::NvBrade 733,{ + if(job_novice_q < 14) { + mes "[Brade]"; + mes "How did you get here?"; + close2; + warp "new_1-2",100,100; + end; + } + else if(job_novice_q == 14) { + mes "[Brade]"; + mes "Welcome."; + mes "Now this is real practice."; + mes "We can practice real battle here."; + next; + mes "[Brade]"; + mes "As I explained the first time, we can click on the monsters."; + mes "One attack per click."; + next; + mes "[Brade]"; + mes "For convenience,"; + mes "^4A4AFFIf you hold down the Ctrl key,^000000"; + mes "while attacking, you will automatically attack."; + next; + mes "[Brade]"; + mes "You can also set this mode before battle by typing ^4A4AFF[ /nc ]^000000."; + next; + mes "[Brade]"; + mes "Then, let's go Poring hunting."; + mes "Please hunt Poring's on Level 1 of the training grounds."; + setquest 7122; + set job_novice_q,15; + getitem 569,100; // Novice_Potion + next; + mes "^4A4AFF- You've received a quest from Instructor Brade.^000000"; + mes "^4A4AFFPlease check the quest information window. -^000000"; + close; + } + else if(job_novice_q == 15) { + if(checkquest(7122,HUNTING) == 2) { + mes "[Brade]"; + mes "You can see it is not so hard, right?"; + mes "Nice job."; + getitem 13040,1; // N_Cutter + getexp 1000,0; + getexp 1000,0; + getexp 1000,30; + completequest 7122; + set job_novice_q,16; + next; + mes "[Brade]"; + mes "Now all of the courses are almost done."; + mes "You are a Novice, and you can't get any jobs yet."; + next; + mes "[Brade]"; + mes "If you acquire all of basic skills with Job Level 10, you can change your job."; + next; + mes "[Brade]"; + mes "The first job classes are defined into 6 classes."; + next; + mes "[Brade]"; + mes "The 6 basic jobs are"; + mes "Swordman, Thief,"; + mes "Acolyte, Mage,"; + mes "Archer and Merchant."; + next; + mes "[Brade]"; + mes "Let's experience the basic 6 jobs, Swordman, Thief, Acolyte, Mage, Archer and Merchant and see what those jobs can do."; + next; + mes "[Brade]"; + mes "Behind me, there are people dispatched from each of the basic Job Guilds."; + mes "These people will give you instruction manuals that allow you to experience some limited skills of each job."; + next; + mes "[Brade]"; + mes "Equip a manual of the job which you want to experience, and you will be able to use some basic skills of that corresponding job."; + mes "Try those skills and decide which job to choose."; + close; + }else{ + mes "[Brade]"; + mes "Kill enough Porings."; + mes "Porings are easy to deal with, so cheer up."; + mes "Try again."; + percentheal 100,100; + skilleffect 28,9999; + close; + } + } + else { + mes "[Brade]"; + mes "Have you tried the skills in the Manuals?"; + mes "If you want to hear information about each job, talk to the people dispatched by the Job Guilds."; + next; + mes "[Brade]"; + mes "I think you've learned enough, if you want to learn more, then speak to the Eden Group girl next to the Trainers."; + next; + mes "[Brade]"; + mes "Try using the job manuals to find out the characteristics of each job's skills."; + mes "I will restore your HP and SP...Keep it up."; + percentheal 100,100; + skilleffect 28,9999; + close; + } +} + +new_1-3,96,30,4 duplicate(NvBrade) Brade#nv1 733 +new_2-3,96,30,4 duplicate(NvBrade) Brade#nv2 733 +new_3-3,96,30,4 duplicate(NvBrade) Brade#nv3 733 +new_4-3,96,30,4 duplicate(NvBrade) Brade#nv4 733 +new_5-3,96,30,4 duplicate(NvBrade) Brade#nv5 733 + +//============================================================================ +// Job Guides (Real Combat Training) +//============================================================================ +// ---------------------------- Swordman Guide ------------------------------- +- script Swordman Guide#nv::NvSwd 728,{ + if(job_novice_q < 16) { + mes "[Swordman Guildsman]"; + mes "I won't help you until you finish Brade's instructions."; + close; + } + else if(checkquest(7123,HUNTING) != -1 && checkquest(7123,HUNTING) != 2) { + mes "[Swordman Guildsman]"; + mes "Hunt two Picky monsters."; + mes "You can find them in the more difficult training grounds by talking to Trainer Brutus."; + close2; + } + else if(checkquest(7123) != 2 && checkquest(7123,HUNTING) == 2) { + mes "[Swordman Guildsman]"; + mes "Great."; + mes "I think that you're good enough to be a Swordman."; + mes "I'll give you some potions as a reward."; + completequest 7123; + getitem 569,200; // Novice_Potion + getexp 1000,0; + getexp 1000,0; + getexp 1000,0; + getexp 1000,0; + getexp 1000,100; + close2; + } + mes "[Swordman Guildsman]"; + mes "Can I help you?"; + next; + switch(select("About Swordman Class.:Job change to Swordman.:Got any quests?:Cancel.")) { + case 1: + mes "[Swordman Guildsman]"; + mes "Literally, Swordman means one, who is specialized in wielding swords."; + mes "But they can also choose to use spears if they so choose."; + next; + mes "[Swordman Guildsman]"; + mes "We possess strong physical strength."; + mes "So naturally we can equip heavy armors and weapons."; + mes "Most weapon classes, except for bows and rods, are equippable by our class."; + next; + mes "[Swordman Guildsman]"; + mes "The only weakness of the Swordman class is that they cannot use magic spells."; + mes "But we've compensated for that by using elemental weapons."; + next; + mes "[Swordman Guildsman]"; + mes "The merits of being a Swordman is the enormous amount of HP we have."; + mes "Most of us can bear the grunt of our enemies' attacks with relative ease."; + next; + mes "[Swordman Guildsman]"; + mes "And we are unrivaled when it comes to one-on-one melee combat."; + next; + mes "[Swordman Guildsman]"; + mes "Anyone who chooses to be a Swordman will likely play the role of the tank. It is our duty to protect the weak."; + next; + mes "[Swordman Guildsman]"; + mes "As a Swordman you can advance to a ^8C2121Knight^000000 or ^8C2121Crusader^000000 class as your 2nd class profession."; + mes "And just recently third professions have been discovered."; + if(countitem(2819) == 0 && (getequipid(EQI_ACC_L) != 2819 || getequipid(EQI_ACC_R) != 2819)) { + next; + mes "[Swordman Guildsman]"; + mes "If you're interested in being a Swordman, I'll offer you this manual."; + mes "Do you want to try the skills of a Swordman?"; + next; + if(select("I'll try the Swordman skills.:No Thanks.") == 2) { + mes "[Swordman Guildsman]"; + mes "Hum. Do you think so?"; + mes "Ok, I agree with you. Choosing a job is very important in our lives."; + mes "Just talk to me whenever you want to experience Swordman skills."; + close; + } + mes "[Swordman Guildsman]"; + mes "Here is the Swordman manual."; + mes "I'll just take any manuals from any other classes you have."; + next; + mes "[Swordman Guildsman]"; + mes "Here is the Swordman manual."; + mes "I'll just take any manuals from any other classes you have."; + nude; + if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual + if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual + if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual + if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual + if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual + getitem 2819,1; // Swordsman_Manual + next; + mes "[Swordman Guildsman]"; + mes "After equipping the Manual, open your Skill menu by pressing ALT+S."; + mes "Make sure to minimize your Skill tree by clicking the '-' button on the top right corner of the Skill Tree Window."; + } + close; + case 2: + mes "[Swordman Guildsman]"; + mes "Do you really want to change your job to Swordman?"; + mes "If you want to be a Swordman, I'll send you to the Swordman Guild immediately."; + next; + mes "[Swordman Guildsman]"; + mes "I think you have enough job levels, of course, right?"; + mes "Do you want to stop your training now and go to the Swordman Guild?"; + next; + if(select("I'll consider it again.:I'll go to the Swordman Guild.") == 2) { + mes "[Swordman Guildsman]"; + mes "I see."; + mes "Then I'll end your training process and send you to the Swordman Guild."; + close2; + if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; } + if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; } + if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; } + if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; } + nude; + if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual + if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual + if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual + if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual + if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual + if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual + savepoint "izlude",94,103; + warp "izlude_in",74,167; + end; + } + mes "[Swordman Guildsman]"; + mes "Please try enough instruction manuals from each job class and consider it carefully."; + mes "Of course, you're always welcomed."; + close; + case 3: + if(checkquest(7123,HUNTING) != -1 && checkquest(7123,HUNTING) != 2) { + mes "[Swordman Guildsman]"; + mes "Hunt two Picky monsters."; + mes "You can find them in the more difficult training grounds by talking to Trainer Brutus."; + close; + } + else if(checkquest(7123) == 2) { + mes "[Swordman Guildsman]"; + mes "I think you finished that quest already, right?"; + mes "You'll experience more of these quests as you grow as an adventurer in the world."; + next; + mes "[Swordman Guildsman]"; + mes "Your training is now complete."; + mes "If you choose to become a Swordman I wish you goodluck."; + close; + } + else{ + mes "[Swordman Guildsman]"; + mes "You want me to give you a quest?"; + mes "Umm. Let me see."; + mes "Ok! Hunt a couple of Picky monsters around here."; + next; + mes "^4A4AFFYou received a hunting request from a staff of the Swordman Guild.^000000"; + mes "^4A4AFFYou can check the contents of the quest from the quest information window.^000000"; + setquest 7123; + next; + mes "[Swordman Guildsman]"; + mes "Use the 'Bash' skill in the Swordman manual."; + mes "Open your Skill Tree by pressing ^4A4AFFAlt + S^000000 and minimize the window by pressing the '-' button on the top right corner of the window to see the available Swordman skills."; + next; + mes "[Swordman Guildsman]"; + mes "Talk to Trainer Brutus if you want to fight stronger monsters."; + mes "I'll wait for you here."; + mes "Wish you a good luck."; + close; + } + case 4: + mes "[Swordman Guildsman]"; + mes "If you have any questions about the Swordman class, please ask me."; + mes "The Swordman Guild is waiting for novices like you."; + close; + } +} + +new_1-3,97,41,4 duplicate(NvSwd) Swordman Guide#nv1 728 +new_2-3,97,41,4 duplicate(NvSwd) Swordman Guide#nv2 728 +new_3-3,97,41,4 duplicate(NvSwd) Swordman Guide#nv3 728 +new_4-3,97,41,4 duplicate(NvSwd) Swordman Guide#nv4 728 +new_5-3,97,41,4 duplicate(NvSwd) Swordman Guide#nv5 728 + +// ---------------------------- Mage Guide ---------------------------------- +- script Mage Guide#nv::NvMag 123,{ + if(job_novice_q < 16) { + mes "[Mage Guide]"; + mes "You are still in the process of training with Instructor Brade."; + close; + } + else if(checkquest(7124,HUNTING) != -1 && checkquest(7124,HUNTING) != 2) { + mes "[Mage Guide]"; + mes "The quest is that you have to hunt Lunatics and bring 5 clovers."; + close2; + } + else if(checkquest(7124) != 2 && checkquest(7124,HUNTING) == 2) { + mes "[Mage Guide]"; + mes "You have done an excellent job."; + mes "So, did you find any interests about Mages?"; + mes "Alright. I will give something..."; + mes "Here are Novice Butterfly Wings, please take them."; + completequest 7124; + getitem 12324,30; // N_Butterfly_Wing + getexp 1000,0; + getexp 1000,0; + getexp 1000,0; + getexp 1000,0; + getexp 1000,100; + close2; + } + mes "[Mage Guide]"; + mes "What can I help you with?"; + next; + switch(select("Tell me about Mages:I want to be a Mage:Give me a Quest:Cancel")) { + case 1: + mes "[Mage Guide]"; + mes "Mages are those who can use magic when they need to protect their friends."; + mes "Mages can curse enemies using the elements of fire, water, earth and thunder magic."; + next; + mes "[Mage Guide]"; + mes "However they cannot equip other weapons but staffs and books."; + mes "Because they are too delicate to carry heavy weapons."; + next; + mes "[Mage Guide]"; + mes "But they can cover this weakness by their remarkable magic skills."; + mes "That is why many people want to become a Mage!"; + next; + mes "[Mage Guide]"; + mes "Mages have to be in their guild for guild's power and honor."; + mes "This is one of the reasons why Mages are popular in any parties and guilds."; + mes "Why don't you become a Mage?"; + next; + mes "[Mage Guide]"; + mes "^8C2121Mages can transform to Wizards or Sages as their second job.^000000"; + if(countitem(2824) == 0 && (getequipid(EQI_ACC_L) != 2824 || getequipid(EQI_ACC_R) != 2824)) { + next; + mes "[Mage Guide]"; + mes "Do you want to register to experience how it is to be a Mage?"; + mes "Would you like to test Mage skills?"; + next; + if(select("I want to test Mage skills.:I don't want to test it.") == 2) { + mes "[Mage Guide]"; + mes "Hum. Do you think so."; + mes "Ok, I agree with you. Choosing a job is very important in our life."; + mes "Just talk to me whenever you want to experience Mage skills."; + close; + } + mes "[Mage Guide]"; + mes "Here is the Mage Manual."; + mes "I will take the other job registration forms and manuals from you."; + next; + mes "[Mage Guide]"; + mes "Here is the Mage Manual."; + mes "I will take the other job registration forms and manuals from you."; + nude; + if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual + if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual + if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual + if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual + if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual + getitem 2824,1; // Mage_Manual + next; + mes "[Mage Guide]"; + mes "After equipping the Manual, open your Skill menu by pressing ALT+S."; + mes "Make sure to minimize your Skill tree by clicking the '-' button on the top right corner of the Skill Tree Window."; + } + close; + case 2: + mes "[Mage Guide]"; + mes "You want to be a Mage?"; + mes "Ok, then, I will send you to the Mage Guild union in Geffen right away."; + next; + mes "[Mage Guide]"; + mes "Wait, have you checked your Job level?"; + mes "Do you want to complete your Novice training and go straight to the Mage Guild's union?"; + next; + if(select("I will think about it again.:Yes, complete my training.") == 2) { + mes "[Mage Guide]"; + mes "Welcome!!"; + mes "I will send you to the Mage Guilds union after you complete your Novice training."; + close2; + if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; } + if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; } + if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; } + if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; } + nude; + if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual + if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual + if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual + if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual + if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual + if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual + savepoint "geffen",119,38; + warp "geffen_in",163,98; + end; + } + mes "[Mage Guide]"; + mes "Please test what Mage skills are all about before you decide."; + mes "We are always welcome to have you!"; + close; + case 3: + if(checkquest(7124,HUNTING) != -1 && checkquest(7124,HUNTING) != 2) { + mes "[Mage Guide]"; + mes "The quest is that you have to hunt Lunatics and bring 5 clovers."; + close; + } + else if(checkquest(7124) == 2) { + mes "[Mage Guide]"; + mes "You have already completed the quest."; + mes "Once you enter the main world, you can get various exciting quests there!"; + next; + mes "[Mage Guide]"; + mes "This should be enough for your training."; + close; + } + else { + mes "[Mage Guide]"; + mes "Huh? Quest?"; + mes "Hmm... What would be suited for you...?"; + mes "Would you like to hunt Lunatics by using Bolt skills?"; + next; + mes "^4A4AFFYou have received a Hunting quest from the Mage Guide.^000000"; + mes "^4A4AFFYou can get more information about the quest from the quest window.^000000"; + setquest 7124; + next; + mes "[Mage Guide]"; + mes "You are able to use 'Fire Bolt' skill that is shown on the Mage manual."; + mes "I will wait for you here."; + mes "Good luck!"; + close; + } + case 4: + mes "[Mage Guide]"; + mes "If you have any questions about Mages, feel free to ask me."; + mes "I think you could be a intelligent Mage..."; + close; + } +} + +new_1-3,101,41,4 duplicate(NvMag) Mage Guide#nv1 123 +new_2-3,101,41,4 duplicate(NvMag) Mage Guide#nv2 123 +new_3-3,101,41,4 duplicate(NvMag) Mage Guide#nv3 123 +new_4-3,101,41,4 duplicate(NvMag) Mage Guide#nv4 123 +new_5-3,101,41,4 duplicate(NvMag) Mage Guide#nv5 123 + +// ---------------------------- Thief Guide --------------------------------- +- script Thief Guide#nv::NvThf 118,{ + if(job_novice_q < 16) { + mes "[Thief Guild Member]"; + mes "You look like you are not done with Instructor Brade's lessons."; + close; + } + else if(checkquest(7127,HUNTING) != -1 && checkquest(7127,HUNTING) != 2) { + mes "[Thief Guild Member]"; + mes "Hunt 5 Willows and then come talk to me to finish your quest."; + close2; + } + else if(checkquest(7127) != 2 && checkquest(7127,HUNTING) == 2) { + mes "[Thief Guild Member]"; + mes "You are very strong."; + mes "These are not many but let me give you a reward for your effort."; + completequest 7127; + getitem 12323,50; // N_Fly_Wing + getexp 1000,0; + getexp 1000,0; + getexp 1000,0; + getexp 1000,0; + getexp 1000,100; + close2; + } + mes "[Thief Guild Member]"; + mes "How can I help you?"; + next; + switch(select("About the Thief Class.:I want to be a Thief.:Got any Quests?:Cancel.")) { + case 1: + mes "[Thief Guild Member]"; + mes "Thieves are experts at using Dagger class weapons."; + mes "They strike quickly and easily evade attacks from their enemies."; + next; + mes "[Thief Guild Member]"; + mes "Thieves can learn skills that allow them to hide from their enemies or steal items from monsters."; + mes "They are also feared for their use of poison, which slowly weakens their enemies."; + next; + mes "[Thief Guild Member]"; + mes "In jeopardy, or in the case that thieves do not want to reveal themselves, they can use their skill to hide themselves easily."; + next; + mes "[Thief Guild Member]"; + mes "Thieves can change their jobs to ^8C2121Assassins^000000 or ^8C2121Rogues.^000000"; + if(countitem(2820) == 0 && (getequipid(EQI_ACC_L) != 2820 || getequipid(EQI_ACC_R) != 2820)) { + next; + mes "[Thief Guild Member]"; + mes "If you want, I'll give you a Thief skill manual."; + mes "Would you like to experience the skills of a Thief?"; + next; + if(select("Yes, I would.:No, I don't.") == 2) { + mes "[Thief Guild Member]"; + mes "Oh, are you sure?"; + mes "Class selection is very important so please consider it carefully."; + mes "If you want to ask about Thieves, please talk to me any time."; + close; + } + mes "[Thief Guild Member]"; + mes "Here, please take the Thief manual."; + mes "I'll just take the other class manuals while I'm at it."; + next; + mes "[Thief Guild Member]"; + mes "Here, please take the Thief manual."; + mes "I'll just take the other class manuals while I'm at it."; + nude; + if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual + if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual + if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual + if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual + if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual + getitem 2820,1; // Thief_Manual + next; + mes "[Thief Guild Member]"; + mes "Make sure to equip the Skill Manual by double-clicking it in the Inventory Window."; + mes "Open your Skill Tree by pressing ^4A4AFFAlt + S^000000 and minimize the window by pressing the '-' button on the top right corner of the window to see the available skills."; + } + close; + + case 2: + mes "[Thief Guild Member]"; + mes "Do you really want to be a Thief?"; + mes "If so, I will send you to the Thief Guild immediately."; + next; + mes "[Thief Guild Member]"; + mes "You already reached the required job level, didn't you?"; + mes "Do you want to finish the Novice training and go to the Thief Guild?"; + next; + if(select("Let me consider it again.:Yes, I do.") == 2) { + mes "[Thief Guild Member]"; + mes "Ok, I see."; + mes "Welcome. Then your Novice training is totally complete and you will be sent to the Thief Guild immediately."; + close2; + if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; } + if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; } + if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; } + if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; } + nude; + if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual + if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual + if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual + if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual + if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual + if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual + savepoint "morocc",150,100; + warp "moc_prydb1",99,185; + end; + } + mes "[Thief Guild Member]"; + mes "Have you tried all of the class manuals yet?"; + mes "If you're undecided what job to take on I suggest you try talking to all the Guides first."; + close; + case 3: + if(checkquest(7127,HUNTING) != -1 && checkquest(7127,HUNTING) != 2) { + mes "[Thief Guild Member]"; + mes "Hunt 5 Willows and then come talk to me to finish your quest."; + close; + } + else if(checkquest(7127) == 2) { + mes "[Thief Guild Member]"; + mes "I'm sorry but I don't have any quests to give you right now."; + close; + } + else { + mes "[Thief Guild Member]"; + mes "Quests?"; + mes "Hmm, what will be good for you?"; + mes "How about hunting some Willows."; + next; + mes "[Thief Guild Member]"; + mes "You can't cheat this so make sure to kill 5 Willows. When you're done come and talk to me again."; + mes "If you talk to Trainer Brutus, he can send you to a more difficult training ground where there are Willows to hunt."; + next; + mes "[Thief Guild Member]"; + mes "If you equip the Thief manual, you can have the effect of the skill, Double Attack."; + mes "Double Attack and Hide are the main skills of the Thief."; + setquest 7127; + close; + } + case 4: + mes "[Thief Guild Member]"; + mes "If you have something to ask about the Thief job, feel free to ask me."; + close; + } +} + +new_1-3,105,41,4 duplicate(NvThf) Thief Guide#nv1 118 +new_2-3,105,41,4 duplicate(NvThf) Thief Guide#nv2 118 +new_3-3,105,41,4 duplicate(NvThf) Thief Guide#nv3 118 +new_4-3,105,41,4 duplicate(NvThf) Thief Guide#nv4 118 +new_5-3,105,41,4 duplicate(NvThf) Thief Guide#nv5 118 + +// ---------------------------- Merchant Guide ------------------------------ +- script Merchant Guide#nv::NvMer 97,{ + if(job_novice_q < 16) { + mes "[Merchant Guide]"; + mes "You are still in the process of training with sir Brade."; + close; + } + else if((checkquest(7126) == 0 || checkquest(7126) == 1) && Zeny < 300) { + mes "[Merchant Guide]"; + mes "Zeny is the currency of Rune Midgard."; + mes "You can make zeny by selling loot as well as through making smart business decisions."; + next; + mes "[Merchant Guide]"; + mes "You can get loot by killing monsters. After hunting monsters, you can sell those loot to make a profit!"; + mes "What a valuable job it is! Isn't it?"; + next; + mes "[Merchant Guide]"; + mes "Why don't you try to be a Merchant?"; + mes "Making money is not easy but it will be a great experience!"; + close2; + } + else if((checkquest(7126) == 0 || checkquest(7126) == 1) && Zeny >= 300) { + mes "[Merchant Guide]"; + mes "Excellent!"; + mes "Zeny is the currency of Rune Midgard."; + mes "You can make zeny by selling loot as well as through making smart business decisions."; + next; + mes "[Merchant Guide]"; + mes "We can use extremely powerful skills with zeny!"; + mes "Mammonite! That is our ultimate attack skill!!"; + mes "We basically paste money on the weapon and then strike the enemy."; + mes "Death by Zeny! Nyahahahaha!"; + next; + mes "[Merchant Guide]"; + mes "By the way, you have done an excellent job. So, I should give you something... What would be good?"; + mes "Alright! What about Phracon?"; + mes "Phracon is a metallic element which you can use for refining weapons."; + completequest 7126; + getitem 1010,7; // Phracon + getexp 1000,0; + getexp 1000,0; + getexp 1000,0; + getexp 1000,0; + getexp 1000,100; + close2; + } + mes "[Merchant Guide]"; + mes "What can I help you with?"; + next; + switch(select("Tell me about Merchants:I want to be a Merchant.:Give me a Quest.:Cancel")) { + case 1: + mes "[Merchant Guide]"; + mes "Merchant? Simply put, they sell goods and make money."; + mes "That's the main focus for any Merchant."; + next; + mes "[Merchant Guide]"; + mes "We have special skills for making money."; + mes "We can buy goods at a lower price and sell them at a higher price."; + next; + mes "[Merchant Guide]"; + mes "Also Merchants can have Carts that we can store lots of items in."; + next; + mes "[Merchant Guide]"; + mes "^8C2121Merchants can transform to a Blacksmith or an Alchemist^000000 as their second job."; + if(countitem(2823) == 0 && (getequipid(EQI_ACC_L) != 2823 || getequipid(EQI_ACC_R) != 2823)) { + next; + mes "[Merchant Guide]"; + mes "Do you wan to see what it's like to be a Merchant?"; + next; + if(select("I want to test Merchant skills.:I don't want to test it.") == 2) { + mes "[Merchant Guide]"; + mes "Hum. Do you think so?"; + mes "Ok, I agree with you. Choosing a job is very important in our life."; + mes "Just talk to me whenever you want to experience Merchant skills."; + close; + } + mes "[Merchant Guide]"; + mes "Here is the Merchant skill manual."; + mes "I will take other job manuals from you while I'm at it."; + next; + mes "[Merchant Guide]"; + mes "Here is the Merchant skill manual."; + mes "I will take other job manuals from you while I'm at it."; + nude; + if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual + if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual + if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual + if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual + if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual + getitem 2823,1; // Merchant_Manual + next; + mes "[Merchant Guide]"; + mes "Make sure to equip the Skill Manual by double-clicking it in the Inventory Window."; + mes "Open your Skill Tree by pressing ^4A4AFFAlt + S^000000 and minimize the window by pressing the '-' button on the top right corner of the window to see the available skills."; + } + close; + + case 2: + mes "[Merchant Guide]"; + mes "You want to be a Merchant?"; + mes "Ok, then, I will send you to the Merchant Guild's union right away."; + next; + mes "[Merchant Guide]"; + mes "Wait, have you checked your Job level?"; + mes "Do you want to complete your Novice training and go straight to the Merchant Guild's union?"; + next; + if(select("I will think about it again.:Yes, I want to go to the Merchant Guild's union.") == 2) { + mes "[Merchant Guide]"; + mes "Welcome!!"; + mes "I will send you to the Merchant Guild's union after you complete your Novice training."; + close2; + if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; } + if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; } + if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; } + if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; } + nude; + if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual + if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual + if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual + if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual + if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual + if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual + savepoint "alberta",29,231; + warp "alberta_in",62,44; + end; + } + mes "[Merchant Guide]"; + mes "Ok, I hope you consider being a Merchant."; + mes "We are always welcome to have you!"; + close; + case 3: + if((checkquest(7126) == 0 || checkquest(7126) == 1) && Zeny < 300) { + mes "[Merchant Guide]"; + mes "Zeny is the currency of Rune Midgard."; + mes "You can make zeny by selling loot as well as through making smart business decisions."; + next; + mes "[Merchant Guide]"; + mes "You can get loot by killing monsters. After hunting monsters, you can sell those loot to make a profit!"; + mes "What a valuable job it is! Isn't it?"; + next; + mes "[Merchant Guide]"; + mes "Why don't you try to be a Merchant?"; + mes "Making money is not easy but it will be a great experience!"; + close; + } + else if(checkquest(7126) == 2) { + mes "[Merchant Guide]"; + mes "You have already completed the quest."; + mes "Once you enter the main world, you can get various exciting quests there!"; + next; + mes "[Merchant Guide]"; + mes "I think you're strong enough now to change your job right? Hahahaha don't waste too much time here Novice."; + close; + } + else { + mes "[Merchant Guide]"; + mes "Huh? Quest??"; + mes "Humm... What would be suited for you...?"; + mes "Ok, then bring me ^4A4AFF300 zeny^000000 by selling some of your items to the Potato Merchant."; + next; + mes "[Merchant Guide]"; + mes "If you equipped the Merchant manual you have the ability to use the 'Overcharge' and 'Discount' skills."; + setquest 7126; + next; + mes "[Merchant Guide]"; + mes "Good luck!"; + close; + } + case 4: + mes "[Merchant Guide]"; + mes "If you have any questions about Merchants, feel free to ask me."; + mes "I think you could be a rich Merchant. AhHahaha."; + close; + } +} + +new_1-3,109,41,4 duplicate(NvMer) Merchant Guide#nv1 97 +new_2-3,109,41,4 duplicate(NvMer) Merchant Guide#nv2 97 +new_3-3,109,41,4 duplicate(NvMer) Merchant Guide#nv3 97 +new_4-3,109,41,4 duplicate(NvMer) Merchant Guide#nv4 97 +new_5-3,109,41,4 duplicate(NvMer) Merchant Guide#nv5 97 + +// ---------------------------- Archer Guide -------------------------------- +- script Archer Guide#nv::NvArc 727,{ + if(job_novice_q < 16) { + mes "[Archer Guide]"; + mes "You are still in the process of training with sir Brade."; + close; + } + mes "[Archer Guide]"; + mes "What can I help you with?"; + next; + switch(select("Tell me about Archers:I want to be an Archer:Cancel")) { + case 1: + mes "[Archer Guide]"; + mes "Archers have specialized skills by using a Bow and have a variety of powerful skills."; + mes "Archers are good at staying back and picking off their targets."; + next; + mes "[Archer Guide]"; + mes "Archers don't have great vitality so they have to keep their distance from enemies."; + next; + mes "[Archer Guide]"; + mes "On the other hand, Archers are attentive and have incredibly accurate eyes."; + mes "So once they are ready to attack, they can kill enemies before they're even aware of their presence."; + next; + mes "[Archer Guide]"; + mes "^8C2121Archers can transform to many second jobs like a Hunter.^000000"; + mes "^8C2121Besides Hunters, Archers can transform to a Bard, if they are male.^000000"; + mes "^8C2121They can transform to a Dancer, if they are female.^000000"; + if(countitem(2822) == 0 && (getequipid(EQI_ACC_L) != 2822 || getequipid(EQI_ACC_R) != 2822)) { + next; + mes "[Archer Guide]"; + mes "Do you want to register to test skill experience?"; + mes "Would you like to test Archer skills?"; + next; + if(select("I want to test Archer skills.:I don't want to test it.") == 2) { + mes "[Archer Guide]"; + mes "Hum. Do you think so."; + mes "Ok, I agree with you. Choosing a job is very important in our life."; + mes "Just talk to me whenever you want to experience Archer skills."; + close; + } + mes "[Archer Guide]"; + mes "Here is the Archer manual."; + mes "I will take the other job manuals from you while you test the Archer manual out."; + next; + mes "[Archer Guide]"; + mes "I will take the other job manuals from you while you test the Archer manual out."; + nude; + if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual + if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual + if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual + if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual + if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual + getitem 2822,1; // Archer_Manual + next; + mes "[Archer Guide]"; + mes "Make sure to equip the Skill Manual by double-clicking it in the Inventory Window."; + mes "Open your Skill Tree by pressing ^4A4AFFAlt + S^000000 and minimize the window by pressing the '-' button on the top right corner of the window to see the available skills."; + } + close; + case 2: + mes "[Archer Guide]"; + mes "You want to be an Archer?"; + mes "Ok, then, I will send you to the Archer Guild right away."; + next; + mes "[Archer Guide]"; + mes "Wait, have you checked your Job level?"; + mes "Do you want to complete the Novice training arena and go to the Archer Guild right now?"; + next; + if(select("I will think about it again.:Yes, I want to go to the Archer Guild's union.") == 2) { + mes "[Archer Guide]"; + mes "Welcome!!"; + mes "I will send you to the Archer Guild after you complete your Novice training."; + close2; + if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; } + if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; } + if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; } + if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; } + nude; + if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual + if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual + if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual + if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual + if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual + if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual + savepoint "payon",256,242; + warp "payon_in02",64,65; + end; + } + mes "[Archer Guide]"; + mes "Test out all the jobs if you have to but choose Archer because we're the best."; + mes "We are always welcome to have you!"; + close; + case 3: + mes "[Archer Guide]"; + mes "If you have any questions about Archers, feel free to ask me."; + mes "I think you could be a strong Archer young Novice."; + close; + } +} + +new_1-3,113,41,4 duplicate(NvArc) Archer Guide#nv1 727 +new_2-3,113,41,4 duplicate(NvArc) Archer Guide#nv2 727 +new_3-3,113,41,4 duplicate(NvArc) Archer Guide#nv3 727 +new_4-3,113,41,4 duplicate(NvArc) Archer Guide#nv4 727 +new_5-3,113,41,4 duplicate(NvArc) Archer Guide#nv5 727 + +// ---------------------------- Acolyte Guide ------------------------------- +- script Acolyte Guide#nv::NvAco 95,{ + if(job_novice_q < 16) { + mes "[Prontera Acolyte]"; + mes "You look like you are not done with Instructor Brade's lessons."; + close; + } + mes "[Prontera Acolyte]"; + mes "What can I do for you?"; + next; + switch(select("What is an Acolyte?:Job change to Acolyte:Cancel")) { + case 1: + mes "[Prontera Acolyte]"; + mes "An Acolyte is someone who worships the goddess Freya sacrificing themselves to help others."; + next; + mes "[Prontera Acolyte]"; + mes "Acolytes use supportive skills to make combat easier."; + mes "It is essential to have an Acolyte in any successful party."; + next; + mes "[Prontera Acolyte]"; + mes "^8C2121As an Acolyte, you can upgrade your future job to Priest or Monk.^000000"; + next; + mes "[Prontera Acolyte]"; + if(countitem(2821) == 0 && (getequipid(EQI_ACC_L) != 2821 || getequipid(EQI_ACC_R) != 2821)) { + next; + mes "[Prontera Acolyte]"; + mes "If you want, I can give you a skill manual to experience what it is like to be an Acolyte."; + mes "Would you like to experience the skills of an Acolyte?"; + next; + if(select("Yes, please.:No I'm not interested.") == 2) { + mes "[Prontera Acolyte]"; + mes "Hum. Do you think so."; + mes "Ok, I agree with you. Choosing a job is very important in our life."; + mes "Just talk to me whenever you want to know about Acolytes."; + close; + } + mes "[Prontera Acolyte]"; + mes "Here you go, the instruction manual of an Acolyte."; + mes "I will take away those other job's manuals while you study this one."; + next; + mes "[Prontera Acolyte]"; + mes "Here you go, the instruction manual of an Acolyte."; + mes "I will take away those other job's manuals while you study this one."; + nude; + if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual + if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual + if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual + if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual + if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual + getitem 2821,1; // Acolyte_Manual + next; + mes "[Prontera Acolyte]"; + mes "Make sure to equip the Skill Manual by double-clicking it in the Inventory Window."; + mes "Open your Skill Tree by pressing ^4A4AFFAlt + S^000000 and minimizing the window by pressing the '-' button on the top right corner of the window to see the available skills."; + } + close; + case 2: + mes "[Prontera Acolyte]"; + mes "Of course, I assume you have enough job levels to become an Acolyte right?"; + mes "Would you like to quit the Training Process and go to the Cathedral of Prontera?"; + next; + if(select("Let me reconsider.:I will go to the Cathedral.") == 2) { + mes "[Prontera Acolyte]"; + mes "That's great."; + mes "Then I will completely end the Training Process and send you to the Cathedral of Prontera."; + close2; + if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; } + if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; } + if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; } + if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; } + nude; + if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual + if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual + if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual + if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual + if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual + if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual + savepoint "prontera",117,72; + warp "prt_church",172,19; + end; + } + mes "[Prontera Acolyte]"; + mes "You should try out each job's manuals."; + mes "Go through them throughly and decide carefully."; + mes "Of course, I will welcome you anytime."; + close; + case 3: + mes "[Prontera Acolyte]"; + mes "If you have any questions about Acolytes, please ask me anytime."; + mes "Our God, Odin awaits adventurers like you"; + close; + } +} + +new_1-3,117,41,4 duplicate(NvAco) Acolyte Guide#nv1 95 +new_2-3,117,41,4 duplicate(NvAco) Acolyte Guide#nv2 95 +new_3-3,117,41,4 duplicate(NvAco) Acolyte Guide#nv3 95 +new_4-3,117,41,4 duplicate(NvAco) Acolyte Guide#nv4 95 +new_5-3,117,41,4 duplicate(NvAco) Acolyte Guide#nv5 95 + +// ---------------------------- Bruce (Extended Jobs) ----------------------- +- script Bruce#nv::NvBruce 57,{ + mes "[Bruce]"; + mes "Hello?"; + mes "I'm here to guide you about extra jobs and special classes."; + next; + mes "[Bruce]"; + mes "For special classes, there are Taekwon, Ninja, Super Novice, and Gunslinger."; + mes "Which job description do you want to hear?"; + next; + while(1) { + switch(select("Taekwon:Ninja:Super Novice:Gunslinger:End the conversation.")) { + case 1: + mes "[Bruce]"; + mes "It's a job that usually uses a lot of kicking skills."; + mes "It belongs to special class and later you can change your job into Taekwon Master which has much stronger attack skills."; + next; + mes "[Bruce]"; + mes "There is a secondary class to choose from called Soul Linker which also has strong attacks."; + mes "You can decide that later when you get stronger."; + next; + break; + case 2: + mes "[Bruce]"; + mes "Ninja's specialty is rapid movement."; + mes "They specialize in using throwing weapons."; + next; + mes "[Bruce]"; + mes "Ninjas are kind of a hybrid class that can use various dodge skills with the capability of both physical and magical attacks depending on their preference."; + next; + break; + case 3: + mes "[Bruce]"; + mes "The biggest attraction of the stronger Novice, called Super Novice, is their pull to mediocrity."; + mes "They are the proverbial Jack-of-all-Trades but Master of none."; + next; + mes "[Bruce]"; + mes "Super Novices can learn most of the 1st job class skills."; + mes "If you become a Super Novice, you cannot change your job, which is too bad, but you can grow as a very individual character."; + next; + break; + case 4: + mes "[Bruce]"; + mes "You can job change directly from Novice to a special class which is optimized for a long-distance attack with guns."; + next; + mes "[Bruce]"; + mes "Gunslingers use all kinds of guns made in 'Einbroch', the city of steel."; + mes "I recommend this for those who want to become powerful sharpshooters."; + next; + break; + case 5: + mes "[Bruce]"; + mes "If you need more information, you can always go to"; + mes "'iro.ragnarokonline.com'"; + close; + } + } +} + +new_1-3,121,41,4 duplicate(NvBruce) Bruce#nv1 57 +new_2-3,121,41,4 duplicate(NvBruce) Bruce#nv2 57 +new_3-3,121,41,4 duplicate(NvBruce) Bruce#nv3 57 +new_4-3,121,41,4 duplicate(NvBruce) Bruce#nv4 57 +new_5-3,121,41,4 duplicate(NvBruce) Bruce#nv5 57 + +//============================================================================ +// Eden Group Officer (Real Combat Training) +//============================================================================ +- script Eden Group Officer#nv::NvEdn -1,{ + if(BaseLevel < 11) { + mes "[Eden Group Officer]"; + mes "Hello, I am a representative of the Eden Group."; + mes "We are here to assist adventurers in Rune Midgard."; + next; + mes "[Eden Group Officer]"; + mes "We have agents all over the world waiting to send you to our secret headquarters where you can get some useful quests."; + next; + mes "[Eden Group Officer]"; + mes "If you take our quests we even give you weapons and equipment so be sure to visit us once you are done with your training."; + next; + mes "[Eden Group Officer]"; + mes "Speak to me again once you have reached Base Level 10 and I will send you out of the training grounds."; + mes "Have you taken the quests from all of the Guides yet?"; + close; + }else{ + mes "[Eden Group Officer]"; + mes "Great! You are ready to take on the challenges of the world."; + mes "What would you like to do?"; + next; + switch(select("I want to leave the training grounds:Tell me about the towns.:Cancel")) { + case 1: + mes "[Eden Group Officer]"; + mes "Looks like you are ready."; + mes "I guess you have made up your mind, huh?"; + next; + mes "[Eden Group Officer]"; + mes "If you know what job you want to change to, you should ask the ^4A4AFFJob Guides^000000 to send you out of the training grounds."; + mes "What town would you like to go to?"; + next; + switch(select("Prontera:Morocc:Payon:Alberta:Geffen:Cancel")) { + case 1: + mes "[Eden Group Officer]"; + mes "Prontera, the Capital city of the Rune-Midgarts Kingdom."; + mes "Take care and may Freya bless you on your journey."; + close2; + if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; } + if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; } + if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; } + if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; } + nude; + if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual + if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual + if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual + if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual + if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual + if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual + savepoint "prontera",122,77; + warp "prontera",121,76; + end; + case 2: + mes "[Eden Group Officer]"; + mes "The desert city of Morocc was recently destroyed."; + mes "I will send you to the camp where the survivors are."; + close2; + if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; } + if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; } + if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; } + if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; } + nude; + if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual + if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual + if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual + if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual + if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual + if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual + savepoint "moc_ruins",71,157; + warp "moc_ruins",70,158; + end; + case 3: + mes "[Eden Group Officer]"; + mes "Just north of Payon you'll find the Archer Village."; + mes "Good luck on your journeys."; + close2; + if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; } + if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; } + if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; } + if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; } + nude; + if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual + if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual + if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual + if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual + if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual + if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual + savepoint "payon",167,68; + warp "payon",172,111; + end; + case 4: + mes "[Eden Group Officer]"; + mes "Alberta, the Port City."; + mes "It's the main hub of all trades."; + mes "If you want to travel to other civilizations, Alberta is the only outlet."; + close2; + if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; } + if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; } + if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; } + if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; } + nude; + if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual + if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual + if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual + if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual + if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual + if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual + savepoint "alberta",115,57; + warp "alberta",116,58; + end; + case 5: + mes "[Eden Group Officer]"; + mes "Geffen, is known as the Magical City of Rune Midgard."; + mes "I will send you near the Fountains."; + mes "Goddess Freya bless you."; + close2; + if(checkquest(7123) == 0 || checkquest(7123) == 1) { erasequest 7123; } + if(checkquest(7124) == 0 || checkquest(7124) == 1) { erasequest 7124; } + if(checkquest(7126) == 0 || checkquest(7126) == 1) { erasequest 7126; } + if(checkquest(7127) == 0 || checkquest(7127) == 1) { erasequest 7127; } + nude; + if(countitem(2819) > 0) delitem 2819,1; // Swordsman_Manual + if(countitem(2820) > 0) delitem 2820,1; // Thief_Manual + if(countitem(2821) > 0) delitem 2821,1; // Acolyte_Manual + if(countitem(2822) > 0) delitem 2822,1; // Archer_Manual + if(countitem(2823) > 0) delitem 2823,1; // Merchant_Manual + if(countitem(2824) > 0) delitem 2824,1; // Mage_Manual + savepoint "geffen",118,36; + warp "geffen",128,66; + end; + case 6: + mes "[Eden Group Officer]"; + mes "If you're still not sure what job you want, talk to the Job Guides for more help."; + close; + } + case 2: + mes "[Eden Group Officer]"; + mes "Prontera is the main capital of the Rune-Midgard Kingdom. Here you will find Merchants selling their items and is a favorite gathering point of adventurers."; + next; + mes "[Eden Group Officer]"; + mes "The Acolyte Guild is here at the Prontera Church located to the northwest. The Swordman Guild can be found at Izlude, a town just southeast of Prontera."; + next; + mes "[Eden Group Officer]"; + mes "Morocc is a city located in the desert that was recently destroyed due to an evil monster named Satan Morroc. The Thief Guild has been working to restore it to it's former glory."; + next; + mes "[Eden Group Officer]"; + mes "Payon is where the Archer Guild has made it's home. You can also find the Kafra Shop Employees selling their Item Mall items near the center of this city."; + next; + mes "[Eden Group Officer]"; + mes "Alberta is the trading hub of Rune Midgard. The Merchant Guild is located here and the docks have ships that will take you to different island cities."; + next; + mes "[Eden Group Officer]"; + mes "Geffen is known as the magical city of Rune Midgard. The Mage Guild is located here and research for new magic is always being conducted at their headquarters."; + next; + mes "[Eden Group Officer]"; + mes "If you wish to be sent directly to the Job Guilds, then speak to the Job Guides and tell them that you want to change your job."; + close; + case 3: + close; + } + } + +OnTouch: + emotion e_gasp; + end; +} + +new_1-3,97,50,4 duplicate(NvEdn) Eden Group Officer#nv1 729,5,5 +new_2-3,97,50,4 duplicate(NvEdn) Eden Group Officer#nv2 729,5,5 +new_3-3,97,50,4 duplicate(NvEdn) Eden Group Officer#nv3 729,5,5 +new_4-3,97,50,4 duplicate(NvEdn) Eden Group Officer#nv4 729,5,5 +new_5-3,97,50,4 duplicate(NvEdn) Eden Group Officer#nv5 729,5,5 + +//============================================================================ +// Merchant (Real Combat Training) +//============================================================================ +- shop Merchant#nv::NvPotato 93,516:15 + +new_1-3,100,50,4 duplicate(NvPotato) Merchant#nv1 93 +new_2-3,100,50,4 duplicate(NvPotato) Merchant#nv2 93 +new_3-3,100,50,4 duplicate(NvPotato) Merchant#nv3 93 +new_4-3,100,50,4 duplicate(NvPotato) Merchant#nv4 93 +new_5-3,100,50,4 duplicate(NvPotato) Merchant#nv5 93 + +//============================================================================ +// Trainer (Real Combat Training) +//============================================================================ +- script Level 1 Trainer#nv::NvBrutus 84,{ + mes "[Trainer Brutus]"; + mes "These monsters are all weak and easy to kill. But be careful, a lot of them are aggressive and out for blood!"; + next; + mes "[Trainer Brutus]"; + mes "If you think monsters here are too weak for you, I can send you to another training ground where the monsters are stronger than the ones over here."; + next; + mes "[Trainer Brutus]"; + mes "So would you like to try?"; + next; + switch(select("Send me to another Level:What monsters are there?:Cancel")) { + case 1: + mes "[Trainer Brutus]"; + mes "I see, then let me guide you to another level. Which level do you want to go to?"; + next; + for(set .@i,1; .@i<=5; set .@i,.@i+1) { + if(strnpcinfo(2) == "nv1") { + set .@select$,"Send me to Level 2:Send me to Level 3:Send me to Level 4:Send me to Level 5"; + } + if(strnpcinfo(2) == "nv2") { + set .@select$,"Send me to Level 1:Send me to Level 3:Send me to Level 4:Send me to Level 5"; + } + if(strnpcinfo(2) == "nv3") { + set .@select$,"Send me to Level 1:Send me to Level 2:Send me to Level 4:Send me to Level 5"; + } + if(strnpcinfo(2) == "nv4") { + set .@select$,"Send me to Level 1:Send me to Level 2:Send me to Level 3:Send me to Level 5"; + } + if(strnpcinfo(2) == "nv5") { + set .@select$,"Send me to Level 1:Send me to Level 2:Send me to Level 3:Send me to Level 4"; + } + } + switch(select(""+.@select$+":Cancel")) { + case 1: + if(strnpcinfo(2) == "nv1") { + warp "new_2-3",96,21; + }else{ + warp "new_1-3",96,21; + } + end; + case 2: + if(strnpcinfo(2) == "nv1" || strnpcinfo(2) == "nv2") { + warp "new_3-3",96,21; + }else{ + warp "new_2-3",96,21; + } + end; + case 3: + if(strnpcinfo(2) == "nv4" || strnpcinfo(2) == "nv5") { + warp "new_3-3",96,21; + }else{ + warp "new_4-3",96,21; + } + end; + case 4: + if(strnpcinfo(2) == "nv5") { + warp "new_4-3",96,21; + }else{ + warp "new_5-3",96,21; + } + end; + case 5: + close; + } + case 2: + mes "[Trainer Brutus]"; + mes "You seem eager to fight."; + mes "The monster levels increase with each level of the training grounds."; + next; + mes "[Trainer Brutus]"; + mes "Level 1 has the weakest monsters."; + mes "There you'll find Poring, Drops, Lunatics, Fabres, and Chonchons."; + next; + mes "[Trainer Brutus]"; + mes "Level 2 is more challenging."; + mes "There you'll find Condors, Pickys, Willows, Fabres, and Roda Frogs."; + next; + mes "[Trainer Brutus]"; + mes "Level 3 is pretty much the same as Level 2."; + mes "There you'll find Condors, Pickys, Willows, Fabres, and Roda Frogs."; + next; + mes "[Trainer Brutus]"; + mes "Level 4 has stronger monsters."; + mes "There you'll find Rockers, Spores, and Fabres."; + next; + mes "[Trainer Brutus]"; + mes "Level 5 is the same as Level 4."; + mes "There you'll find Rockers, Spores, and Fabres."; + close; + case 3: + mes "[Trainer Brutus]"; + mes "Hmm...?"; + mes "Are you worried about going to more challenging places? That's understandable, since you're still a new adventurer. Good luck~"; + close; + } +} + +new_1-3,103,50,4 duplicate(NvBrutus) Level 1 Trainer#nv1 84 +new_2-3,103,50,4 duplicate(NvBrutus) Level 2 Trainer#nv2 84 +new_3-3,103,50,4 duplicate(NvBrutus) Level 3 Trainer#nv3 84 +new_4-3,103,50,4 duplicate(NvBrutus) Level 4 Trainer#nv4 84 +new_5-3,103,50,4 duplicate(NvBrutus) Level 5 Trainer#nv5 84 + +//============================================================================ +// Random Stuff (Guards & Bulletin Board) +//============================================================================ +new_1-1,66,114,4 script Bulletin Board#nv 111,{ + mes "^FF0000=================================^000000"; + mes "^FF0000 ^000000 ^E40CAA[Welcome]^CC0000 to ^FF9000Novice^7FFF00 Training ^00FF00Grounds ^E40CAA[Welcome]^FF0000^000000"; + mes "^FF0000=================================^000000"; + close; +} + +new_1-1,144,116,2 script Guard#nv1 105,{ + mes "[Training Grounds Guard]"; + mes "Welcome to the Training Grounds."; + mes "You are now in the outer court yard. Please go inside the castle to begin your training."; + close; +} + +new_1-1,144,107,2 script Guard#nv2 105,{ + mes "[Training Grounds Guard]"; + if(rand(2)) { + mes "Come in!"; + mes "I would like o welcome you to the Training Grounds!"; + next; + mes "[Training Grounds Guard]"; + mes "In here, you can prepare yourself for your future adventures throughout the Ragnarok world!"; + } + else { + mes "Go, Novice, go!"; + mes "Fight, and grow stronger! Look towards a brighter tomorrow!"; + } + close; +} + +new_1-2,161,182,5 script Instructor#nv 92,{ + mes "[Edwin]"; + mes "Eh? Why are you still here?"; + mes "There are no more courses that you need to take."; + next; + mes "[Edwin]"; + mes "Well, I will let you out of here."; + mes "Go find the instructor, Brade."; + close2; + warp "new_1-2",100,100; + end; +} + +//============================================================================ +// Real Combat Training Mobs +//============================================================================ +new_1-3,0,0,0,0 monster ChonChon 1011,10,0,0,0 +new_1-3,0,0,0,0 monster Drops 1113,10,0,0,0 +new_1-3,0,0,0,0 monster Fabre 1184,5,0,0,0 +new_1-3,0,0,0,0 monster Lunatic 1063,10,0,0,0 +new_1-3,0,0,0,0 monster Poring 1002,10,0,0,0 +new_2-3,0,0,0,0 monster Condor 1009,10,0,0,0 +new_2-3,0,0,0,0 monster Fabre 1184,5,0,0,0 +new_2-3,0,0,0,0 monster Picky 1050,10,0,0,0 +new_2-3,0,0,0,0 monster Roda Frog 1012,10,0,0,0 +new_2-3,0,0,0,0 monster Willow 1010,10,0,0,0 +new_3-3,0,0,0,0 monster Condor 1009,10,0,0,0 +new_3-3,0,0,0,0 monster Fabre 1184,5,0,0,0 +new_3-3,0,0,0,0 monster Picky 1050,10,0,0,0 +new_3-3,0,0,0,0 monster Roda Frog 1012,10,0,0,0 +new_3-3,0,0,0,0 monster Willow 1010,10,0,0,0 +new_4-3,0,0,0,0 monster Fabre 1184,5,0,0,0 +new_4-3,0,0,0,0 monster Rocker 1052,10,0,0,0 +new_4-3,0,0,0,0 monster Spore 1014,10,0,0,0 +new_4-3,0,0,0,0 monster Thief Bug 1051,10,0,0,0 +new_4-3,0,0,0,0 monster Thief Bug 1053,10,0,0,0 +new_5-3,0,0,0,0 monster Fabre 1184,5,0,0,0 +new_5-3,0,0,0,0 monster Rocker 1052,10,0,0,0 +new_5-3,0,0,0,0 monster Spore 1014,1,0,0,0 +new_5-3,0,0,0,0 monster Thief Bug 1051,1,0,0,0 +new_5-3,0,0,0,0 monster Thief Bug 1053,1,0,0,0 diff --git a/npc/pre-re/jobs/novice/supernovice.txt b/npc/pre-re/jobs/novice/supernovice.txt new file mode 100644 index 000000000..628cb30ff --- /dev/null +++ b/npc/pre-re/jobs/novice/supernovice.txt @@ -0,0 +1,472 @@ +//===== rAthena Script ======================================= +//= Super Novice Script +//===== By: ================================================== +//= Darkchild +//===== Current Version: ===================================== +//= 2.2 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Super Novice Job Change Npc +//= Super Novice Cart Rental Npc +//= Some Other Useless Super Novice Npc +//===== Additional Comments: ================================= +//= 1.9 Rescripted to the Aegis 10.3 Standars. [Samuray22] +//= 2.0 Rescripted again, this time using an iRO base. [L0ne_W0lf] +//= 2.1 Swapped use of baseclass for basejob. [L0ne_W0lf] +//= 2.2 Added Quest Log commands. [Kisuka] +//============================================================ + +aldeba_in,223,167,3 script Tzerero#sn 709,{ + if (BaseJob == Job_SuperNovice) { + mes "[Tzerero]"; + mes "I trust that you are enjoying"; + mes "life as a Super Novice? Ah,"; + mes "good good...just as I expected."; + mes "Verily, the light of mediocrity is shining brightly within you..."; + next; + mes "[Tzerero]"; + mes "I encourage you to live"; + mes "life as Mister Kimu-Shaun did..."; + mes "Become a Jack of All Trades..."; + mes "...and a master of none."; + close; + } + if (countitem(938) > 29 && countitem(907) > 29 && SUPNOV_Q == 1) { + delitem 938,30; //Sticky_Mucus + delitem 907,30; //Resin + mes "[Tzerero]"; + mes "Ah, you've brought the"; + mes "items I've requested!"; + mes "You've proven yourself"; + mes "worthy of joining our"; + mes "Super Novice Society."; + next; + mes "[Tzerero]"; + mes "Then, as promised, I will"; + mes "change your job into a"; + mes "^3355FFSuper Novi--^000000Huh?"; + mes "What's that behind you?"; + next; + select("Huh?:What is that?"); + mes "^3355FFYou look behind you, but..."; + mes "There's nothing's there."; + mes "Something fishy is going on here!^000000"; + next; + completequest 6010; + callfunc "F_ClearJobVar"; + getitem 2339,1; //G_Strings + if (Upper==0) jobchange Job_SuperNovice; + if (Upper==2) jobchange Job_Super_Baby; + mes "[Tzerero]"; + mes "Bwaha! I got you!"; + mes "So...how do you like my joke?"; + mes "Oh well, let's forget that..."; + next; + mes "[Tzerero]"; + mes "As well as any possible"; + mes "reason a grown man such as"; + mes "myself would carry around"; + mes "a pair of Panties."; + next; + mes "[Tzerero]"; + mes "The important thing is..."; + mes "you have joined the esteemed"; + mes "ranks of the great Super Novices."; + next; + mes "[Tzerero]"; + mes "Consider these Panties a gift..."; + mes "This very garment is rumored"; + mes "to be worn by Mister Kimu-Shaun,"; + mes "our legendary club founder, in"; + mes "his early days in striving for"; + mes "exemplary mediocrity."; + next; + mes "[Tzerero]"; + mes "Go out, and enjoy your new life"; + mes "as a Super Novice! Venture"; + mes "forth and help the common"; + mes "man, while being one at at"; + mes "the same time!"; + close; + } + if (SUPNOV_Q == 1) { + mes "[Tzerero]"; + mes "Huh? Did you forget what I"; + mes "wanted from you? Okay,"; + mes "I will let you know once"; + mes "again. Please remember"; + mes "this time..."; + next; + mes "[Tzerero]"; + mes "I asked you to bring me"; + mes "^FF000030 Sticky Mucus^000000 and"; + mes "^FF000030 Resin^000000."; + close; + } + if (BaseJob == Job_Novice && upper != 1) { + mes "[Tzerero]"; + mes "...Hmm?"; + mes "Stop."; + mes "Let me look at you."; + next; + mes "[Tzerero]"; + mes "....."; + mes "......."; + mes "........."; + emotion e_dots; + next; + mes "[Tzerero]"; + mes "I see that the light"; + mes "of mediocrity shines"; + mes "brightly within you..."; + next; + mes "[Tzerero]"; + mes "Why don't you join us,"; + mes "young Novice? Join"; + mes "us and learn the subtle"; + mes "greatness of being"; + mes "mediocre..."; + next; + mes "[Tzerero]"; + mes "Accept my offer..."; + mes "Cast off your those"; + mes "brown, dusty garments"; + mes "and bloom into..."; + next; + mes "[Tzerero]"; + mes "...a ^CE6300Super Novice^000000."; + next; + switch(select("Accept his offer.:Reject his offer.:Listen more carefully.")) { + case 1: + if (getskilllv("NV_BASIC") < 9) { + mes "[Tzerero]"; + mes "Hmm...But do you truly"; + mes "appreciate the value of"; + mes "finding strength in"; + mes "weakness? You must"; + mes "prove to me that you"; + mes "are a true underachiever."; + next; + mes "[Tzerero]"; + mes "Live life as a Novice..."; + mes "And return when you"; + mes "have mastered the"; + mes "Basic Skills..."; + mes "Grow in mediocrity and"; + mes "Become a Level 10 Novice..."; + close; + } + if (BaseLevel < 45) { + mes "[Tzerero]"; + mes "Hmm...But do you truly"; + mes "value the relaxed lifestyle"; + mes "of the banal adventurer?"; + mes "Prove to me that you do not"; + mes "lust for power..."; + next; + mes "[Tzerero]"; + mes "Live life mundanely..."; + mes "Become a Level 45 Novice..."; + mes "It will be then that you can join us..."; + close; + } + mes "[Tzerero]"; + mes "I can see in your eyes"; + mes "the determination to"; + mes "live life simply..."; + next; + mes "[Tzerero]"; + mes "Only the truly wise can"; + mes "see that being ordinary"; + mes "and banal is the best"; + mes "way to live life."; + next; + mes "[Tzerero]"; + mes "However, we do not welcome"; + mes "just anyone into our society."; + mes "You must first pass our"; + mes "qualification test."; + next; + mes "[Tzerero]"; + mes "For this test, you must"; + mes "bring me some items which"; + mes "are dropped from normal,"; + mes "unexceptional monsters."; + next; + mes "[Tzerero]"; + mes "Hmmmm..."; + mes "^FF000030 Sticky Mucus^000000"; + mes "and ^FF000030 Resin"; + mes "^000000will be suitable to test your"; + mes "ability to fight meager enemies."; + next; + mes "[Tzerero]"; + mes "Also, the number 30"; + mes "is significant. It's not"; + mes "anything special...just"; + mes "an ordinary number."; + mes "Hahahahaha~"; + next; + set SUPNOV_Q,1; + setquest 6010; + mes "[Tzerero]"; + mes "Good luck, my friend."; + close; + case 2: + mes "[Tzerero]"; + mes "Well, well...I suppose the"; + mes "value of the simple life"; + mes "is difficult for you to"; + mes "to grasp. It's...okay..."; + mes "Your life is your own."; + next; + mes "[Tzerero]"; + mes "But, if you ever see the"; + mes "light of banality, you"; + mes "are welcome to visit me"; + mes "anytime..."; + next; + mes "[Tzerero]"; + mes "As our Novice club"; + mes "grows more popular and"; + mes "we gain more followers,"; + mes "we may consider using"; + mes "a more difficult test..."; + close; + case 3: + mes "[Tzerero]"; + mes "Our Novice Society was founded"; + mes "by the legendary Mister"; + mes "Kimu-Shaun...perhaps the"; + mes "greatest man in our generation."; + next; + mes "[Tzerero]"; + mes "He realized that there"; + mes "was much suffering in the"; + mes "world, especially among"; + mes "the common people of"; + mes "Rune-Midgard..."; + next; + mes "[Tzerero]"; + mes "He learned many skills from"; + mes "all the different people he"; + mes "met...but since he didn't"; + mes "stay in one place for long,"; + mes "he became a jack of all"; + mes "trades...and a master of none."; + next; + mes "[Tzerero]"; + mes "In sharing the pain of"; + mes "the common man, he became"; + mes "became one himself..."; + mes "the greatest ordinary"; + mes "man ever."; + next; + mes "[Tzerero]"; + mes "The members of our society"; + mes "try to live as Mister"; + mes "Kimu-Shaun did, according to"; + mes "the principles he laid before us..."; + close; + } + } + else { + if (BaseJob == Job_SuperNovice) { + mes "[Tzerero]"; + mes "How do you like living"; + mes "life simply as a Super"; + mes "Novice? I'm sure that"; + mes "you're enjoying it~"; + next; + mes "[Tzerero]"; + mes "Please grow as a Super"; + mes "Novice by helping the"; + mes "common man while being"; + mes "one at the same time..."; + next; + mes "[Tzerero]"; + mes "I encourage you to"; + mes "grow in your Super"; + mes "Noviceness, and lead"; + mes "an example in living"; + mes "an exceptionally"; + mes "mundane life."; + close; + } + mes "[Tzerero]"; + mes "Hello, I am Tzerero,"; + mes "the unofficial executive"; + mes "director of the Great"; + mes "Novice Society."; + next; + mes "[Tzerero]"; + mes "Hmmm...you seem to be well"; + mes "above the average person."; + mes "Yes, you're definitely more"; + mes "'extraordinary' than you are"; + mes "'ordinary...'"; + next; + mes "[Tzerero]"; + mes "*Sigh* I suppose you"; + mes "could never understand"; + mes "our way of life, the"; + mes "subtle greatness in"; + mes "being ordinary. But"; + mes "that's alright."; + next; + mes "[Tzerero]"; + mes "Well...there are thousands"; + mes "of different people in this"; + mes "world, so I just try to accept"; + mes "all of our differences."; + mes "I hope you will too."; + close; + } +} + +aldeba_in,216,169,5 script Esseray#sn 86,{ + if (BaseJob == Job_SuperNovice) { + mes "[Esseray]"; + mes "Hm? Hey, you're a member"; + mes "of our great Novice Society,"; + mes "aren't you? Isn't this the"; + mes "best club ever?!"; + next; + mes "[Essaray]"; + mes "Living life mundanely,"; + mes "according to the principles"; + mes "of Mister Kimu-Shaun..."; + mes "It's great to be ordinary!"; + next; + mes "[Esseray]"; + mes "Let's try to lead our lives"; + mes "as normally as we can!"; + mes "For your reference, I am"; + mes "the number one member,"; + mes "under Mister Tzerero of"; + mes "course!"; + close; + } + if (BaseJob == Job_Novice && upper != 1) { + mes "[Esseray]"; + mes "Hah~ you don't know anything"; + mes "about being a normal person yet!"; + mes "Why don't you join our Novice"; + mes "Society? This club is the best in the world~"; + next; + mes "[Esseray]"; + mes "Yup, Super Novices"; + mes "are the best characters!"; + mes "Hahahahahahahaha!"; + close; + } + else { + mes "[Esseray]"; + mes "Bah~! You're better than"; + mes "average...Hell, you may"; + mes "even be 'special.'"; + mes "What a shame! Well..."; + mes "I hope you still live"; + mes "your life positively."; + close; + } +} + +aldebaran,54,238,5 script Kafra Employee#sn 117,{ + if (BaseJob == Job_SuperNovice) { + mes "[Kafra Employee]"; + if (Sex ) + mes "Hello, Mister Super Novice~"; + else + mes "Hello, Super Novice, Ma'am."; + mes "You must have been really"; + mes "dissapointed that the other"; + mes "Kafra Employees wouldn't let"; + mes "you rent a cart from them."; + mes "But don't you worry now..."; + next; + mes "[Kafra Employee]"; + mes "I'm here to support you guys"; + mes "by providing carts..."; + next; + mes "[Kafra Employee]"; + mes "^3355FF*whispers*^000000"; + mes "^555555I am not supposed to do this"; + mes "because it's against our"; + mes "company policy. But I felt"; + mes "really sorry for Super Novices"; + mes "...so here I am.^000000"; + next; + mes "[Kafra Employee]"; + mes "Anyway, would you like to rent a cart? The service fee is 1,900 zeny."; + next; + if (select("Rent a Cart.:Cancel.") == 1) { + mes "[Kafra Employee]"; + mes "Oh, here's the thing..."; + mes "Have you learned the 'Push Cart'"; + mes "skill? I can just rent you a"; + mes "cart, but if you haven't"; + mes "learned to push it, you'll"; + mes "just be wasting your zeny."; + next; + mes "[Kafra Employee]"; + mes "So make sure that you have"; + mes "the 'Push Cart' skill already."; + next; + if (select("Rent a Cart.:Cancel.") == 1) { + if (checkcart()) { + mes "[Kafra Employee]"; + mes "Oh, you've already equipped a cart."; + close; + } + if (Zeny >= 1899) { + set RESRVPTS, RESRVPTS + 190; + set zeny,zeny-1900; + if (getskilllv("MC_PUSHCART") > 0) setcart; + mes "[Kafra Employee]"; + mes "Thank you for using my service."; + mes "Although what I am doing might"; + mes "not be legitimate to other"; + mes "Kafra Employees, I strongly"; + mes "believe I am doing what's right for the customers."; + close; + } + else { + mes "[Kafra Employee]"; + mes "I am sorry, but you do not have enough zeny with you. The service fee is 1,900 zeny."; + close; + } + } + mes "[Kafra Employee]"; + mes "Please come again."; + mes "Thank you for using my services."; + close; + } + mes "[Kafra Employee]"; + mes "Please come again."; + mes "Thank you for using my services."; + close; + } + mes "[Kafra Employee]"; + mes "Good da--Oops...!"; + mes "I don't think I can provide you"; + mes "with the services you want..."; + mes "Please go talk to another"; + mes "Kafra employee. I apologize"; + mes "for such inconvenience..."; + close; +} + +//============================================================ +// Old changelog +//============================================================ +//= Dialogs From Some Other Scripts (Most Of It) +//= 1.3-1.5 Added Baby class support (and to the Kafta SN Cart +//= renter, too) [Lupus] +//= 1.6 Added a fix which prevent High Novices passing +//= this Job Quests again. [Lupus] +//= 1.7 Fixed Baby Class Support. [Lupus] +//= 1.8 Now a Baby can become a Super Baby [Lupus] +//============================================================ diff --git a/npc/pre-re/jobs/valkyrie.txt b/npc/pre-re/jobs/valkyrie.txt new file mode 100644 index 000000000..bf6aa5cb3 --- /dev/null +++ b/npc/pre-re/jobs/valkyrie.txt @@ -0,0 +1,398 @@ +//===== rAthena Script ======================================= +//= Valkyrie Realm +//===== By: ================================================== +//= Nana, fixes by Poki +//= finished, optimized and tested by Lupus +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 3.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Quest to become a Tranceded Class. (Advanced/Rebirthed) +//===== Additional Comments: ================================= +//= 1.1 Made all into functions,additional checks,quest skills,now Valhallana can return you back. She also makes reborn process only when you got no Zeny/items (as in kRO) [Lupus] +//= 1.2 now alternative classes can use their 1-1 job NPC to become Advanced 1st Class [Lupus] +//= 1.4 added Baby Class support [Lupus] +//= 1.5 Fixed loads of gramatical errors. [Mass Zero] +//= 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 On reborn reset some Job Quest Vars and Reset Girls Counter [Lupus] +//= 1.8 Added Taekwondo classes check [Lupus] +//= 1.9 Added support for Job NPC Fase pics, sorrected one dialogue stuff [Lupus] +//= 2.0 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon] +//= 2.1 Changed all numbers into constants. [Vicious] +//= 2.2 Now ALL quests skills are saved/restored [Lupus] +//= 2.3 Removed Duplicates [Silent] +//= 2.4 Fixed typos, optimized [Lupus] +//= 2.5 Fixed a stuck bug [Lupus] +//= 2.6a Adding proper dialogues [Lupus] +//= 2.7 Rescripted to Aegis 10.3 standards. [L0ne_W0;f] +//= Removed all functions as they are no longer required. +//= Correct job level requirements for 1-1 -> 2-x. +//= 2.7a Added Function "F_BlockHigh" back in until rewriteing of the 2-x [L0ne_W0lf] +//= scripts are comepleted. +//= 2.7b Removed function "F_BlockHigh" as it's no longer used. [L0ne_W0lf] +//= 2.8 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf] +//= 2.9 Corrected Valkyrie case spicifying where to warp after rebirthing. [L0ne_W0lf] +//= 2.9b Fixed Verdandi typo, fixed resetting vars [Lupus] +//= 3.0 Added quest log commands. [L0ne_W0lf] +//============================================================ + +valkyrie,48,86,4 script Valkyrie# 811,{ + if (ADVJOB != 0 || Upper == 1) { + mes "[Valkyrie]"; + mes "Welcome"; + mes "to Valhalla,"; + mes "the Hall of Honor."; + next; + mes "[Valkyrie]"; + mes "Please make"; + mes "yourself comfortable"; + mes "while you are here."; + mes "Honor to the warriors!"; + close; + } + else if (Baselevel > 98 && JobLevel > 49 && Class >= Job_Knight && Class <= Job_Crusader2) { + mes "[Valkyrie]"; + mes "Welcome"; + mes "to Valhalla,"; + mes "the Hall of Honor."; + next; + mes "[Valkyrie]"; + mes "You will now end"; + mes "your present life and"; + mes "begin an entirely new life."; + mes "Honor to the warriors!"; + next; + if (Weight > 0 || Zeny > 0 || checkcart() != 0 || checkfalcon() != 0 || checkriding() != 0) { + mes "[Valkyrie]"; + mes "There are a few things you must"; + mes "do before we start. You must"; + mes "first empty your mind and body."; + mes "Honor comes when you abandon"; + mes "all your selfish desires..."; + next; + mes "[Valkyrie]"; + mes "You cannot take anything with you to the next life. Your items, zeny, pets and Pushcart all have to be left behind."; + next; + mes "[Valkyrie]"; + mes "When you are ready"; + mes "please return to me,"; + mes "brave adventurer."; + close2; + warp "yuno_in02",93,205; + end; + } + else { + mes "[Valkyrie]"; + mes "I see you've already"; + mes "released yourself from"; + mes "all worldy attachments,"; + mes ""+ strcharinfo(0) +"."; + next; + mes "[Valkyrie]"; + mes "That's an admirable attitude for an adventurer such as yourself. Honor comes when you abandon all personal desires for the sake of mankind."; + next; + if (SkillPoint) { + mes "[Valkyrie]"; + mes "Hmm... I sense that you have"; + mes "some lingering attachment or"; + mes "unfinished business in your"; + mes "current life. Take care of that,"; + mes "and bring closure to your present life."; + close2; + warp "yuno_in02",93,205; + end; + } + mes "[Valkyrie]"; + mes "Now, let me remove all"; + mes "of your present memories..."; + mes "However, you will be able to"; + mes "remember the most honorable"; + mes "moments of this life."; + next; + mes "[Valkyrie]"; + mes "With one,"; + mes "I will ask the"; + mes "goddess Urd to remove"; + mes "all of your present"; + mes "memories."; + next; + mes "[Valkyrie]"; + mes "With two,"; + mes "I will ask the"; + mes "goddess Verdandi to keep"; + mes "and record the most honorable moments of your present life."; + next; + mes "[Valkyrie]"; + mes "With three,"; + mes "I will ask the"; + mes "goddess Skuld to"; + mes "guide you to your"; + mes "next life."; + next; + mes "[Valkyrie]"; + mes "One..."; + callfunc "F_ClearJobVar"; + next; + mes "[Valkyrie]"; + mes "One..."; + mes "Two......"; + next; + mes "[Valkyrie]"; + mes "One..."; + mes "Two......"; + mes "And Three."; + set ADVJOB, Class+Job_Novice_High; //memo the target 3rd Job ID + if(ADVJOB == Job_Lord_Knight2) set ADVJOB,Job_Lord_Knight; + if(ADVJOB == Job_Paladin2) set ADVJOB,Job_Paladin; + jobchange Job_Novice_High; + resetlvl(1); + set MISC_QUEST,MISC_QUEST | 1024; //<-reset Skill Reset Event + skill 142,1,0; + skill 143,1,0; + completequest 1000; + next; + mes "[Valkyrie]"; + mes "Congratulations."; + mes "You are now reborn"; + mes "into a brand new life."; + mes "Please take these small gifts"; + mes "in preparation for your new adventures."; + getitem 1202,1; //Knife_ + getitem 2302,1; //Cotton_Shirt_ + next; + mes "[Valkyrie]"; + mes "I wish that the release the goddess Urd has granted you proves to be a blessing. I hope that the memories Verdandi has recorded will always honor you."; + next; + mes "[Valkyrie]"; + mes "And I pray that the new life to which the goddess Skuld will guide you will be even more honorable than your last."; + close2; + switch (ADVJOB) { + case 4008: + case 4015: + warp "izlude",94,103; break; + case 4009: + case 4016: + warp "prontera",273,354; break; + case 4010: + case 4017: + warp "geffen",120,60; break; + case 4011: + case 4019: + warp "alberta",116,57; break; + case 4012: + case 4020: + case 4021: + warp "payon",69,100; break; + case 4013: + case 4018: + warp "morocc",154,50; break; + default: + warp "yuno_in02",93,205; break; + } + end; + } + } + else { + mes "[Valkyrie]"; + mes "Welcome"; + mes "to Valhalla,"; + mes "the Hall of Honor."; + next; + mes "[Valkyrie]"; + mes "Unfortunately, you have not yet been invited here. I ask you to leave immediately. Honor to the warriors!"; + close2; + warp "yuno_in02",93,205; + end; + } +} + +yuno_in02,88,164,5 script Metheus Sylphe#Library 742,{ + if (Baselevel > 98 && JobLevel > 49 && Class >= Job_Knight && Class <= Job_Crusader2) { + if (valkyrie_Q == 0) { + mes "[Metheus Sylphe]"; + mes "Welcome to the Library of the Schweicherbil Magic Academy."; + mes "I assume you have come here"; + mes "to read the 'Book of Ymir.'"; + next; + mes "[Metheus Sylphe]"; + mes "Unfortunately, the original copy of the book has been damaged over time. We currently only allow the public to view a copy of the book."; + next; + mes "[Metheus Sylphe]"; + mes "Also, in order to preserve the original 'Book of Ymir,' we have decided to accept donations from people who wish to read the copy we have provided."; + next; + mes "[Metheus Sylphe]"; + mes "The suggested"; + mes "donation amount is"; + mes "1,285,000 zeny."; + next; + if (select("Donate.:Cancel.") == 1) { + if (Zeny >= 1285000) { + set zeny,zeny-1285000; + set valkyrie_Q,1; + mes "[Metheus Sylphe]"; + mes "Thank you, your donation will be used for a good cause. You may"; + mes "now go in and read the book."; + close; + } + mes "[Metheus Sylphe]"; + mes "Unfortunately, you don't seem to possess enough zeny at the moment. Please check your funds and come back again."; + close; + } + mes "[Metheus Sylphe]"; + mes "Take your time, and"; + mes "enjoy your travels."; + close; + } + mes "[Metheus Sylphe]"; + mes "Once again, thank you for your generous donation. Feel free to read a carbon copy of the 'Book of Ymir' at your leisure."; + close; + } + mes "[Metheus Sylphe]"; + mes "Welcome to the Library of the Schweicherbil Magic Academy."; + mes "Here, we have a countless number of books. Please take your time and look around."; + close; +} + +yuno_in02,93,207,1 script Book of Ymir 111,{ + if (ADVJOB != 0 || Upper == 1) { + mes "[The Book of Ymir]"; + mes "...The entrance to the Hall of Honor is open to anyone who has moved forward into their next life. It is there to help heroes decide what they want to do, and can lead them to anywhere in this world."; + next; + mes "[The Book of Ymir]"; + mes "In the Hall of Honor, everything is prepared for heroes. It is rumored that any wish that cannot be fulfilled in our reality can be realized in the Hall of Honor."; + next; + if (select("Stop reading.:Continue reading.") == 1) { + mes "[The Book of Ymir]"; + mes "....."; + close; + } + mes "[The Book of Ymir]"; + mes "There is a forgotten path which leads to the Hall of Honor, the closest place to the heavens. The ordinary will never discover this place..."; + close2; + warp "valkyrie",48,8; + end; + } + else if (Baselevel > 98 && JobLevel > 49 && Class >= Job_Knight && Class <= Job_Crusader2) { + if (valkyrie_Q != 0) { + mes "[The Book of Ymir]"; + mes "...Therefore, ancient heroes were"; + mes "always in anguish, knowing that"; + mes "eventually, they were mortal and"; + mes "would pass from this realm..."; + next; + mes "[The Book of Ymir]"; + mes "There were no documents,"; + mes "songs, or remaining folklore that had any information on life after death. However, I recently uncovered an old scroll"; + mes "about Valkyrie..."; + next; + mes "[The Book of Ymir]"; + mes "Valkyrie..."; + mes "The legendary"; + mes "guardian angel."; + mes "Angel of Ragnarok."; + next; + mes "[The Book of Ymir]"; + mes "Adventurers of great strength"; + mes "and bravery will be lead by"; + mes "Valkyrie to Valhalla, the Hall"; + mes "of Honor. There, they will be"; + mes "given a new life."; + next; + mes "[The Book of Ymir]"; + mes "Reborn, they will live again as"; + mes "even greater heroes that will"; + mes "brighten the world. Bodies that"; + mes "were exhausted will be filled"; + mes "with energy..."; + next; + mes "[The Book of Ymir]"; + mes "And their souls will be given abilities with the heart of Ymir. However, the heart of Ymir was totally destroyed and scattered all over the world after the battle for Rune-Midgarts."; + next; + mes "[The Book of Ymir]"; + mes "I have found a small amount of"; + mes "Ymir heart pieces over a long"; + mes "long period of time. But I can't"; + mes "confirm if the story of Valkyrie"; + mes "and Valhalla is true just"; + mes "through scientific tests."; + next; + mes "[The Book of Ymir]"; + mes "So, I am leaving this record in hope that someone in the future"; + mes "can confirm that Valkyrie and Valhalla actually exist..."; + next; + set valkyrie_Q,2; + if(checkquest(1000) == -1) { + setquest 1000; + } + mes "[The Book of Ymir]"; + mes "Let the heroes live new lives"; + mes "so they can protect the world"; + mes "from danger. And then..."; + close; + } + mes "[The Book of Ymir]"; + mes "..."; + close; + } + mes "[The Book of Ymir]"; + mes "..."; + close; +} + +yuno_in05,49,43,1 script Heart of Ymir 111,{ + if (Baselevel > 98 && JobLevel > 49 && Class >= Job_Knight && Class <= Job_Crusader2) { + if (valkyrie_Q == 2) warp "valkyrie",48,8; + } + end; +} + +valkyrie,44,33,5 script Teleporter 124,{ + if (Upper != 1) { + set .@karma_d,rand(1,10); + if (.@karma_d > 4) { + mes "[Teleporter]"; + mes "Congratulations."; + mes "Honor to the warriors!"; + close; + } + mes "[Teleporter]"; + mes "Please refrain"; + mes "from touching any"; + mes "of the exhibitions."; + mes ".........."; + close; + } + else { + mes "[Teleporter]"; + mes "Honorable one,"; + mes "which place do you wish to go?"; + next; + switch(select("Prontera:Morroc:Payon:Geffen:Alberta:Izlude:Al De Baran:Comodo:Juno")) { + case 1: callsub S_Warpchar,"prontera",116,72; + case 2: callsub S_Warpchar,"morocc",156,46; + case 3: callsub S_Warpchar,"payon",69,100; + case 4: callsub S_Warpchar,"geffen",120,39; + case 5: callsub S_Warpchar,"alberta",117,56; + case 6: callsub S_Warpchar,"izlude",94,103; + case 7: callsub S_Warpchar,"aldebaran",91,105; + case 8: callsub S_Warpchar,"comodo",209,143; + case 9: callsub S_Warpchar,"yuno",328,101; + } + } +S_WarpChar: + mes "[Teleporter]"; + mes "Have a nice trip."; + close2; + savepoint getarg(0),getarg(1),getarg(2); + warp getarg(0),getarg(1),getarg(2); + end; +} + +// Warps +//============================================================ +valkyrie,48,73,0 warp valk01#1 1,1,valkyrie,48,64 +valkyrie,48,66,0 warp valk01#2 1,1,valkyrie,48,75 + |