From 31825ccc2dde034a218d9ad466dd721c40b5651d Mon Sep 17 00:00:00 2001 From: shennetsind Date: Sun, 8 Jul 2012 19:30:07 +0000 Subject: Okie ladies and gentleman if this commit breaks anything it's jman's and maki's fault, yes, blame them. Fixing pre-re / re npc support, moving /config/ folder to src root so other servers may also make use of the #define renewal dir and other stuff. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16382 54d463be-8e91-2dee-dedb-b68131a5f0ec --- npc/re/jobs/1-1/swordman.txt | 127 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 npc/re/jobs/1-1/swordman.txt (limited to 'npc/re/jobs/1-1/swordman.txt') diff --git a/npc/re/jobs/1-1/swordman.txt b/npc/re/jobs/1-1/swordman.txt new file mode 100644 index 000000000..6942c170b --- /dev/null +++ b/npc/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; + } +} -- cgit v1.2.3-70-g09d2 From 693467a92ac8dd1c2c0cc1962e0de54ae94c92ea Mon Sep 17 00:00:00 2001 From: masao87 Date: Sat, 28 Jul 2012 17:09:58 +0000 Subject: Part 1 - 3 of the big job folder Update: - Updated all 1-1 and 2-1 job change files to latest available official file. * 2-2 and advanced / reborn and the other job change scripts will follow with Part 2. * NPC optimizations will follow in Part 3. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16521 54d463be-8e91-2dee-dedb-b68131a5f0ec --- npc/pre-re/jobs/1-1/acolyte.txt | 430 ++-- npc/pre-re/jobs/1-1/archer.txt | 108 +- npc/pre-re/jobs/1-1/mage.txt | 277 ++- npc/pre-re/jobs/1-1/merchant.txt | 171 +- npc/pre-re/jobs/1-1/swordman.txt | 130 +- npc/pre-re/jobs/1-1/thief.txt | 383 ++- npc/pre-re/jobs/2-1/assassin.txt | 3064 ++++++++++++++++-------- npc/pre-re/jobs/2-1/blacksmith.txt | 2223 ++++++++++++----- npc/pre-re/jobs/2-1/hunter.txt | 3969 +++++++++++++++++++++---------- npc/pre-re/jobs/2-1/knight.txt | 4594 ++++++++++++++++++++++++++---------- npc/pre-re/jobs/2-1/priest.txt | 1688 +++++++------ npc/pre-re/jobs/2-1/wizard.txt | 1948 ++++++++++----- npc/re/jobs/1-1/acolyte.txt | 430 ++-- npc/re/jobs/1-1/archer.txt | 108 +- npc/re/jobs/1-1/mage.txt | 277 ++- npc/re/jobs/1-1/merchant.txt | 171 +- npc/re/jobs/1-1/swordman.txt | 130 +- npc/re/jobs/1-1/thief.txt | 383 ++- npc/re/jobs/2-1/assassin.txt | 3064 ++++++++++++++++-------- npc/re/jobs/2-1/blacksmith.txt | 2223 ++++++++++++----- npc/re/jobs/2-1/hunter.txt | 3969 +++++++++++++++++++++---------- npc/re/jobs/2-1/knight.txt | 4594 ++++++++++++++++++++++++++---------- npc/re/jobs/2-1/priest.txt | 1688 +++++++------ npc/re/jobs/2-1/wizard.txt | 1946 ++++++++++----- 24 files changed, 26231 insertions(+), 11737 deletions(-) (limited to 'npc/re/jobs/1-1/swordman.txt') diff --git a/npc/pre-re/jobs/1-1/acolyte.txt b/npc/pre-re/jobs/1-1/acolyte.txt index a200ec514..147496143 100644 --- a/npc/pre-re/jobs/1-1/acolyte.txt +++ b/npc/pre-re/jobs/1-1/acolyte.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.1 +//= 1.2 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -11,6 +11,7 @@ //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] //= 1.1 Added back the npcs used for the priest quest. +//= 1.2 Added Baby job change support. [Masao] //============================================================ prt_church,184,41,4 script Cleric#aco 60,{ if (Upper == 1) { @@ -38,62 +39,74 @@ prt_church,184,41,4 script Cleric#aco 60,{ mes "wish you luck on your"; mes "new life's journey."; next; - skill 143,0,0; + skill 143,0,1; 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."; + mes "Now, venture forth to seek people who need your help. May God enlighten your way."; close; } + 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.")) { + switch (select("Father, I want to be a Acolyte.:Acolyte Requirements.:Just looking around.")) { case 1: - if(Class != Job_Novice) { + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { 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?"; - } + 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?"; 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; - } + } + if ((Class != Job_Baby) && (Class != Job_Novice)) { 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 "I'm sorry, but we can only accept Novices as applicants for the job change to Acolyte."; + close; + } + 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 "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 + mes "Good Lord! Haven't you accomplished the Basic Training yet?! It's important that you finish that!"; next; mes "[Father Mareusis]"; - mes "Lastly, I want to sincerely congratulate you on persevering through your trial of penance."; + mes "You should have trained more! Go back and make sure you reach Novice Job Level 9 and learn all of the Basic Skills!"; close; } + mes "[Father Mareusis]"; + mes "Hmm... your job level is high enough and you've proven your qualification."; + next; + mes "[Father Mareusis]"; + mes "I am proud to say that you are now ready to become an Acolyte!"; + next; + skill 143,0,1; + if(Class == Job_Baby){ + jobchange Job_Baby_Acolyte; + } else { + jobchange Job_Acolyte; + } + set job_acolyte_q,0; + getitem 1545,1; //N_Mace + mes "[Father Mareusis]"; + mes "Always remember to be thankful to God, who is taking care of us all the time."; + next; + mes "[Father Mareusis]"; + mes "Always use your gifts to serve Him by helping others. In chaos and times of difficulty, face your hardships with unwavering faith."; + 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?"; @@ -104,7 +117,7 @@ prt_church,184,41,4 script Cleric#aco 60,{ 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."; + mes "When you think you fulfilled this requirement I've asked of you. As long as your desire to serve God and others is sincere, you will be able to make it."; close; case 3: close; @@ -112,9 +125,9 @@ prt_church,184,41,4 script Cleric#aco 60,{ } prt_fild03,365,255,2 script Ascetic#aco 89,{ - mes "[Father Rubalkabara]"; - if (BaseJob == Job_Novice) { + if (Class == Job_Novice) { if (job_acolyte_q == 6) { + mes "[Father Rubalkabara]"; 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]"; @@ -123,6 +136,7 @@ prt_fild03,365,255,2 script Ascetic#aco 89,{ } if (job_acolyte_q != 0) { if (job_acolyte_q == 2) { + mes "[Father Rubalkabara]"; 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]"; @@ -142,125 +156,198 @@ prt_fild03,365,255,2 script Ascetic#aco 89,{ next; mes "[Father Rubalkabara]"; mes "Farewell."; - close2; savepoint "prt_fild03",361,255; set job_acolyte_q,6; - end; + close; } - else { - mes "Oh..."; - mes "Are you one of the"; - mes "Acolyte applicants...?"; - mes "Let's see..."; + mes "[Father Rubalkabara]"; + 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; + } + mes "[Father Rubalkabara]"; + mes "Huh? What brings you here? This is a very dangerous place for a Novice like yourself!"; + close; + } + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + if (job_priest_q != 0) { + if (job_priest_q == 1) { + mes "[Father Rubalkabara]"; + 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 "Your name is " + strcharinfo(0) + "?"; - mes "I don't think your name"; - mes "is on my list. Hmmm..."; + 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 "Why don't you go back to the Prontera Sanctuary and check again?"; + mes "Well then, please head to your next destination for your pilgrimage. Be safe in your travels."; + savepoint "prt_fild03",361,255; + set job_priest_q,2; + close; + } + if (job_priest_q == 2) { + mes "[Father Rubalkabara]"; + mes "Please be hurry to the next destination for your pilgrimage. I hope you become a Priest soon."; 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."; + mes "May I ask why you have returned? Please go back and continue your religious practice."; close; } + mes "[Father Rubalkabara]"; + mes "I have no idea what brought you here, but please excuse me."; + close; + } + if (Class == Job_Baby_Priest || Class == Job_Priest) { + mes "[Father Rubalkabara]"; + 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; } + mes "[Father Rubalkabara]"; + 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) { +moc_fild07,41,355,4 script Ascetic#2 95,{ + if (Class == Job_Novice) { + if (job_acolyte_q == 6) { + mes "[Mother Marthilda]"; 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 "[Mother Marthilda]"; 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 "[Mother Marthilda]"; mes "Ah, you must be one of the Acolyte applicants. I sincerely welcome you."; next; - mes "[Mother Mathilda]"; + mes "[Mother Marthilda]"; mes "What is your name? " + strcharinfo(0) + "? Let's see... Ah, you're on my list."; next; - mes "[Mother Mathilda]"; + mes "[Mother Marthilda]"; 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 "[Mother Marthilda]"; 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; + close; } - else { - mes "Ah...!"; - mes "You must be one"; - mes "of the Acolyte applicants."; - mes "I sincerely welcome you."; + mes "[Mother Marthilda]"; + mes "Ah...!"; + mes "You must be one"; + mes "of the Acolyte applicants."; + mes "I sincerely welcome you."; + next; + mes "[Mother Marthilda]"; + mes "Now, what is your name?"; + mes "" + strcharinfo(0) + "? Let's see..."; + next; + mes "[Mother Marthilda]"; + mes "Hmm..."; + mes "It seems your name"; + mes "is not on my list..."; + next; + mes "[Mother Marthilda]"; + mes "Perhaps you should return to the Prontera Sanctuary and check the destination for your penance trial once again."; + close; + } + mes "[Mother Marthilda]"; + mes "..."; + close; + } + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + if (job_priest_q != 0) { + if (job_priest_q == 1) { + mes "[Mother Marthilda]"; + mes "Hmm..."; + mes "It seems you're"; + mes "training to become"; + mes "a Priest."; next; - mes "[Mother Mathilda]"; - mes "Now, what is your name?"; - mes "" + strcharinfo(0) + "? Let's see..."; + mes "[Mother Marthilda]"; + mes "However, at this point in your pilgrimage, I am not the person that you should be visiting."; next; - mes "[Mother Mathilda]"; - mes "Hmm..."; - mes "It seems your name"; - mes "is not on my list..."; + mes "[Mother Marthilda]"; + mes "Perhaps you should ask Bishop Paul or Sister Cecilia once again. Well, may God be with you..."; + close; + } + if (job_priest_q == 2) { + mes "[Mother Marthilda]"; + mes "Ah, are you"; + mes "a Priest trainee...?"; + mes "Welcome!"; next; - mes "[Mother Mathilda]"; - mes "Perhaps you should return to the Prontera Sanctuary and check the destination for your penance trial once again."; + mes "[Mother Marthilda]"; + mes "We Priests are obliged to spread the message of God to"; + mes "the peoples of the Earth."; + next; + mes "[Mother Marthilda]"; + 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 Marthilda]"; + mes "Well then..."; + mes "I shall pray to"; + mes "God for safety"; + mes "on your journey."; + savepoint "moc_fild07",35,355; + set job_priest_q,3; close; } - } - else { - mes "..."; + if (job_priest_q == 3) { + mes "[Mother Marthilda]"; + mes "Please leave soon, and"; + mes "continue your training."; + close; + } + mes "[Mother Marthilda]"; + mes "May I ask you the reason you came back? Please continue your training."; close; } + mes "[Mother Marthilda]"; + mes "May God"; + mes "be with you..."; + 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; - } + if (Class == Job_Baby_Priest || Class == Job_Priest) { + mes "[Mother Marthilda]"; + mes "Hello there~"; + next; + mes "[Mother Marthilda]"; + mes "How is your practice coming along? I certainly hope you're enjoying living in the grace of God."; + close; } + mes "[Mother Marthilda]"; + mes "May God"; + mes "be with you..."; + close; } -prt_fild00,208,218,6 script Ascetic#3aco 98,{ - mes "[Father Yosuke]"; - if (BaseJob == Job_Novice) { +prt_fild00,208,218,6 script Ascetic#3 98,{ + if (Class == Job_Novice) { if (job_acolyte_q == 8) { + mes "[Father Yosuke]"; mes "What?"; next; mes "[Father Yosuke]"; @@ -269,6 +356,7 @@ prt_fild00,208,218,6 script Ascetic#3aco 98,{ } if (job_acolyte_q != 0) { if (job_acolyte_q == 4) { + mes "[Father Yosuke]"; mes "Hey."; mes "Whatever you are,"; mes "you look like an"; @@ -287,48 +375,104 @@ prt_fild00,208,218,6 script Ascetic#3aco 98,{ 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; + close; } - else { - mes "Hey."; - mes "You look like an Acolyte Applicant. Am I right?"; + mes "[Father Yosuke]"; + 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; + } + mes "[Father Yosuke]"; + mes "You..."; + mes "Novice."; + mes "There something"; + mes "you wanna tell me?"; + close; + } + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + if (job_priest_q != 0) { + if (job_priest_q == 1) { + mes "[Father Yosuke]"; + mes "Hmm..."; + mes "A Priest trainee, eh?"; 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?"; + 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; + } + if (job_priest_q == 2) { + mes "[Father Yosuke]"; + mes "Hmm..."; + mes "A Priest trainee, eh?"; next; mes "[Father Yosuke]"; - mes "" + strcharinfo(0) + ", huh? Why isn't your name on my list?"; + 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 "You probably made a mistake. Go back to the Santuary, and check with the Bishop."; + mes "But that's your own fault. Go back to Church."; + close; + } + if (job_priest_q == 3) { + mes "[Father Yosuke]"; + 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."; + savepoint "prt_fild00",206,230; + set job_priest_q,4; + close; + } + if (job_priest_q == 4) { + mes "[Father Yosuke]"; + 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; } - } - 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."; + mes "Just go be a Priest. This isn't a playground for kids."; close; } + mes "[Father Yosuke]"; + mes "...Acolyte, you don't have any business with me here."; + close; } -} - + if (Class == Job_Baby_Priest || Class == Job_Priest) { + mes "[Father Yosuke]"; + 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; + } + mes "[Father Yosuke]"; + mes "Do you have anything to say? Because unfortunately for you,"; + mes "I don't any replies."; + close; +} \ No newline at end of file diff --git a/npc/pre-re/jobs/1-1/archer.txt b/npc/pre-re/jobs/1-1/archer.txt index 46325309c..8204689bc 100644 --- a/npc/pre-re/jobs/1-1/archer.txt +++ b/npc/pre-re/jobs/1-1/archer.txt @@ -3,21 +3,20 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.0 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Archer Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] +//= 1.1 Added Baby job change support. [Masao] //============================================================ -payon_in02,64,71,4 script Archer Guildsman#archer 85,{ +payon_in02,64,71,4 script Archer Guildsman 85,{ if (Upper == 1) { - if (Class == Job_Novice_High && (ADVJOB == Job_Sniper || ADVJOB == Job_Clown || ADVJOB == Job_Gypsy)) { + 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"; @@ -38,7 +37,7 @@ payon_in02,64,71,4 script Archer Guildsman#archer 85,{ mes "need to say anything else."; mes "I know you'll make a great Archer..."; next; - skill 143,0,0; + skill 143,0,1; jobchange Job_Archer_high; skill 147,1,0; skill 148,1,0; @@ -46,84 +45,97 @@ payon_in02,64,71,4 script Archer Guildsman#archer 85,{ 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 "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.")) { + 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{ + if (Class == Job_Baby || Class == Job_Novice) { mes "[Archer Guildsman]"; - mes "You are... "+strcharinfo(0)+". right?"; + 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"; + mes "Well, you don't have the right skill level. "; + mes "Your job level must be at least ^4d4dff10^000000"; + mes "and your Basic Skill level should reach ^4d4dfflevel 9^000000"; next; mes "[Archer Guildsman]"; - mes "Because an Archer needs extremely high concentration, so we do not accept those who have little patience."; - close; + mes "Because an Archer needs"; + mes "extremely high concentration,"; + mes "so we do not accept "; + mes "those who have little patience."; + close2; } 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."; + mes "You seem to have learned the basic skills.."; + mes "....Hm~~ you are now ready to become an Archer. I will take the step right away."; next; + skill 143,0,1; + if(Class == Job_Baby){ + jobchange Job_Baby_Archer; + } else { + jobchange Job_Archer; + } 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 + 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."; + mes "Having a bow and arrows, now you've become a real Archer."; + mes "If you open the arrow quiver, there will be arrows in it that you can equip."; + mes "Well, I expect to hear good news from you. It's time to say goodbye. Bye."; close; } + if (Class == Job_Baby_Archer || Class == Job_Archer || Class == Job_Archer_High) { + mes "[Archer Guildsman]"; + mes "Haha, you are kidding me.."; + close; + } + mes "[Archer Guildsman]"; + mes "Wait a second. You've chosen a different job already. You don't need to know this~"; + 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 "Although an Archer has weaker HP,"; + mes "he or she can shoot enemies"; + mes "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."; + mes "Although an Archer in Ragnarok has lower HP,"; + mes "he or she has high accuracy and attack rate"; + mes "so that the archer can kill monsters"; + mes "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"; + mes "^8E2323An Archer can change"; + mes "^8E2323jobs to a Hunter."; + mes "^8E2323Other than Hunter, if you are a man, you can change your job to Bard"; + mes "^8E2323and 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; } -} +} \ No newline at end of file diff --git a/npc/pre-re/jobs/1-1/mage.txt b/npc/pre-re/jobs/1-1/mage.txt index 99cca81c4..c44d0148e 100644 --- a/npc/pre-re/jobs/1-1/mage.txt +++ b/npc/pre-re/jobs/1-1/mage.txt @@ -3,15 +3,16 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.0 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Mage Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] +//= 1.1 Added Baby job change support. [Masao] //============================================================ -geffen_in,164,124,4 script Mage Guildsman#mage 123,{ +geffen_in,164,124,4 script Mage Guildsman 123,{ if (Upper == 1) { if (ADVJOB == Job_High_Wizard || ADVJOB == Job_Professor) { if (Class == Job_Novice_High) { @@ -38,89 +39,112 @@ geffen_in,164,124,4 script Mage Guildsman#mage 123,{ 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."; + 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; } + 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) { + if (Class == Job_Baby_Mage || Class == Job_Mage) { 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."; - } + mes "Hey, haven't you realized? You're aleady a Mage, silly!"; + next; + mes "[Mage Guildsman]"; + mes "One of these days you'll realize the power inside of you when you can make Fire with your mind!"; close; - }else{ + } + if ((Class != Job_Baby_Mage) && (Class != Job_Mage) && (Class != Job_Novice)) { + mes "[Mage Guildsman]"; + mes "Hey~ C'mon. Quit playing games. You can't be a Mage because you already have another Job."; + close; + } + if (Class == Job_Baby || Class == Job_Novice) { mes "[Mage Guildsman]"; mes "Hey?"; next; - switch(select("I want to be a Mage:What are the requirements to be a Mage?:Nothing, thanks.")) { + switch (select("I want to be a Mage.:Tell me the Requirements.:Pretty much nothing.")) { case 1: mes "[Mage Guildsman]"; - mes "Wanna be a Mage? Eh..."; + mes "Wanna be a Mage, eh?"; next; mes "[Mage Guildsman]"; - if (Sex) { + if (Sex == 1) { mes "Hey, look at you! You're kinda cute~! Not my type though..."; - }else{ + } + 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) { + switch (select("I want to be a Mage.:Pretty much nothing.")) { + case 1: + if (getskilllv("NV_BASIC") < 9) { + mes "[Mage Guildman]"; + mes "Oh, what a bummer. You haven't met the requirements yet."; + next; + mes "[Mage Guildman]"; + mes "Go back and reach Novice Job level 9 first. Don't forget that you also have to learn all of the Basic Skills before you come back."; + close; + } 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!"; + mes "Okay. Sign right there. Oh, you're very good at spelling."; + mes "So your name is... " + strcharinfo(0) + "."; + next; + mes "[Mage Guildsman]"; + mes "Hmm I can see that you've worked very hard on your own."; + mes "Good! Always sticking to the basics is the best! I will transform you right away."; + next; + mes "[Mage Guildsman]"; + mes "*Ahem*"; + mes "Congratulations!"; + mes "You are now a Mage!"; + next; + skill 143,0,1; + if(Class == Job_Baby){ + jobchange Job_Baby_Mage; + } else { + jobchange Job_Mage; + } + getitem 1639,1; //N_Rod + set Zeny, Zeny + 50; + mes "[Mage Guildsman]"; + mes "'Welcome to My World~'"; + mes "Heh heh, I just wanted to say that. You know, it's a quote from a well-known movie~"; + next; + mes "[Mage Guildsman]"; + mes "Now that you're a Mage just like us, let's be friends, okay?"; 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."; + case 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 "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!"; + if (Sex == 1) { + mes "For a cutie like you, I'd be happy to explain the requirements!"; + } + else { + 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."; + 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."; + mes "In the past, there was a complicated potion mixing test. Because of that hard test, we slowly started to lose aplicants."; + mes "So, we decided to accept all aplicants who have the basic requirements."; next; mes "[Mage Guildsman]"; - mes "Don't hesitate. Just be a magician!"; + mes "Let me know when you are ready to become a Mage, alright?"; close; case 3: mes "[Mage Guildsman]"; @@ -129,3 +153,152 @@ geffen_in,164,124,4 script Mage Guildsman#mage 123,{ } } } + +geffen_in,164,112,4 script Mixing machine 111,{ + mes "- Out of Order !! -"; + close; +} + +pay_arche,122,100,0 script Dollshoi 88,{ + mes "[Mage Guildsman]"; + mes "You want a Solution? Hmm, give me 50 Zeny and at least 1 Empty Test Tube."; + next; + switch (select("Alright, Deal.:Nah, forget it.")) { + case 1: + mes "[Mage Guildsman]"; + if (Zeny < 50) { + mes "Hey! You don't have enough money to cover my 50 Zeny charge."; + close; + } + if (countitem(1092) == 0) { + mes "You can't carry solutions without a bottle! Bring me an Empty Test Tube."; + close; + } + delitem 1092,1; //Empty_Cylinder + set Zeny, Zeny - 50; + getitem 1089,1; //Payon_Potion + close; + case 2: + close; + } +} + +moc_ruins,91,150,0 script Ponka-Hontas 93,{ + mes "[Mage Guildsman]"; + mes "Would you like a Solution? Then please give me 50 Zeny and at least 1 Empty Testtube."; + next; + switch (select("Alright, Deal.:Nah, forget it.")) { + case 1: + mes "[Mage Guildsman]"; + if (Zeny < 50) { + mes "I'm sorry, but you don't have enough money to cover the 50 Zeny fee."; + close; + } + if (countitem(1092) == 0) { + mes "You can't carry liquids without using a bottle. Bring an Empty Test Tube the next time you see me."; + close; + } + delitem 1092,1; //Empty_Cylinder + set Zeny, Zeny - 50; + getitem 1088,1; //Morocc_Potion + close; + case 2: + close; + } +} + +geffen_in,177,112,4 script Bookshelf 111,{ + mes "[Guide Book]"; + mes "This Guide Book is the property of the Geffen Mage Association. Please handle with care."; + next; + switch (select("Solution No. 1.:Solution No. 2.:Solution No. 3.:Solution No. 4.:Close.")) { + case 1: + mes "[Mage Test Solution No. 1]"; + mes "* Ingredients List *"; + mes "2 Jellopy"; + mes "3 Fluff"; + mes "1 Milk"; + next; + mes "[Mage Test Solution No. 1]"; + mes "* Solvent Agent *"; + mes "Payon Solution"; + mes "Where to Find:"; + mes "A small spring in Payon, the Archer Village."; + next; + mes "[Mage Test Solution No. 1]"; + mes "* Magic Power Serial Code *"; + mes "8472"; + next; + mes "[Mage Test Solution No. 1]"; + mes "* Catalyst *"; + mes "Yellow Gemstone"; + mes "(Provided by"; + mes "Mixing Machine)"; + close; + case 2: + mes "[Mage Test Solution No. 2]"; + mes "* Ingredients List *"; + mes "3 Jellopy"; + mes "1 Fluff"; + mes "1 Milk"; + next; + mes "[Mage Test Solution No. 2]"; + mes "* Solvent Agent *"; + mes "None"; + next; + mes "[Mage Test Solution No. 2]"; + mes "* Magic Power Serial Code *"; + mes "3735"; + next; + mes "[Mage Test Solution No. 2]"; + mes "* Catalyst *"; + mes "Red Gemstone"; + mes "(Provided by"; + mes "Mixing Machine)"; + close; + case 3: + mes "[Mage Test Solution No. 3]"; + mes "* Ingredients List *"; + mes "6 Jellopy"; + mes "1 Fluff"; + next; + mes "[Mage Test Solution No. 3]"; + mes "* Solvent Agent *"; + mes "Payon Solution"; + mes "Where to Find:"; + mes "A small spring in Payon, the Archer Village."; + next; + mes "[Mage Test Solution No. 3]"; + mes "* Magic Power Serial Code *"; + mes "2750"; + next; + mes "[Mage Test Solution No. 3]"; + mes "* Catalyst *"; + mes "Blue Gemstone"; + mes "(Provided by"; + mes "Mixing Machine)"; + close; + case 4: + mes "[Mage Test Solution No. 4]"; + mes "* Ingredients List *"; + mes "2 Jellopy"; + mes "3 Fluff"; + next; + mes "[Mage Test Solution No. 4]"; + mes "* Solvent Agent *"; + mes "Morroc Solution"; + mes "Where to Find:"; + mes "A small spring near entrance of pyramid in Morroc."; + next; + mes "[Mage Test Solution No. 4]"; + mes "* Magic Power Serial Code *"; + mes "5429"; + next; + mes "[Mage Test Solution No. 4]"; + mes "* Catalyst *"; + mes "1 carat Diamond"; + mes "(Provided by"; + mes "Mixing Machine)"; + close; + } +} \ No newline at end of file diff --git a/npc/pre-re/jobs/1-1/merchant.txt b/npc/pre-re/jobs/1-1/merchant.txt index 4b7e091f0..6c9004a76 100644 --- a/npc/pre-re/jobs/1-1/merchant.txt +++ b/npc/pre-re/jobs/1-1/merchant.txt @@ -3,13 +3,14 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.0 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Merchant Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] +//= 1.1 Added Baby job change support. [Masao] //============================================================ alberta_in,53,43,6 script Merchant#mer 86,{ if (Upper == 1) { @@ -36,7 +37,7 @@ alberta_in,53,43,6 script Merchant#mer 86,{ 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; + skill 143,0,1; jobchange Job_Merchant_High; skill 153,1,0; skill 154,1,0; @@ -44,34 +45,22 @@ alberta_in,53,43,6 script Merchant#mer 86,{ 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 "[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?"; + mes "[Chief Mahnsoo]"; + mes "So, what brings you to"; + mes "the Merchant Association?"; + mes "Is there anything"; + mes "I can help you with?"; 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.")) { + switch (select("I want to be a Merchant.:Tell me about Merchants.:Tell me the requirements.:Nope.")) { 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{ + if (Class == Job_Baby || Class == Job_Novice) { mes "[Guildsman Mahnsoo]"; mes "Want to be a merchant? Hmm..."; next; @@ -81,7 +70,7 @@ alberta_in,53,43,6 script Merchant#mer 86,{ next; mes "[Guildsman Mahnsoo]"; mes "Don't you think we need to learn some basic skills although we just deal with money?"; - close; + close2; } mes "[Guildsman Mahnsoo]"; mes "Good, I think you're fully ready for it seeing that your basic skill level is fulfilled."; @@ -89,37 +78,137 @@ alberta_in,53,43,6 script Merchant#mer 86,{ next; mes "[Guildsman Mahnsoo]"; mes "Congratulations on becoming a merchant!"; + next; + skill 143,0,1; + if(Class == Job_Baby){ + jobchange Job_Baby_Merchant; + } else { + jobchange Job_Merchant; + } + set job_merchant_q,0; + set job_merchant_q2,0; + getitem 1381,1; //N_Battle_Axe + mes "[Guildsman Mahnsoo]"; 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~"; + 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; } + if (Class == Job_Baby_Merchant || Class == Job_Merchant || Class == Job_Merchant_High) { + mes "[Chief Mahnsoo]"; + mes "Hello there!"; + mes "How do you like"; + mes "being a Merchant?"; + next; + mes "[Chief Mahnsoo]"; + mes "Having a way with"; + mes "money certainly"; + mes "has its perks,"; + mes "does it not?"; + close; + } + mes "[Chief Mahnsoo]"; + mes "We Merchants hate people who are two faced. It's bad for business."; + next; + mes "[Chief Mahnsoo]"; + mes "People who always try to take advantage of other people by selling things at a ridiculous price just so they can make money that they'll waste are the worst."; + next; + mes "[Chief Mahnsoo]"; + mes "Well, in any case, we only accept Novices for job changes to the Merchant class. But I appreciate your interest in what we do."; + 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."; + mes "[Chief Mahnsoo]"; + mes "Merchant?"; + mes "Well, we basically sell goods to make money. That is the way"; + mes "of the Merchant."; 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?"; + mes "[Chief Mahnsoo]"; + mes "I guess we may not be the best at fighting, and we don't have many special attacks. We've got no healing skills..."; + next; + mes "[Chief Mahnsoo]"; + mes "But we can buy goods at lower prices from NPC shops and sell them at a higher price to other people~"; + next; + mes "[Chief Mahnsoo]"; + mes "Our ultimate attack skill is 'Mammonite.' The strength of Mammonite comes from the anger"; + mes "when we're forced to throw away perfectly good zeny."; + next; + mes "[Chief Mahnsoo]"; + mes "Throwing away zeny like that"; + mes "causes a deadly rage to well up in the heart of any Merchant!"; + mes "Just thinking about it"; + mes "makes my blood boil!"; + next; + mes "[Chief Mahnsoo]"; + mes "Anyway, we can use most"; + mes "weapons except Bows, Rods, and Two-Handed Swords. But we can always sell those."; + next; + mes "[Chief Mahnsoo]"; + mes "Yes..."; + mes "We Merchants generally"; + mes "have money on our minds..."; 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."; + mes "To become a Merchant,"; + mes "although just selling and receiving money is our job,"; + mes "you will need to learn all Basic Skills."; next; mes "[Guildsman Mahnsoo]"; - mes "Well, we used to receive a start-up fee before. Wasn't it hard to make that money?"; + mes "Well, we used to receive a Membership Fee. But was it so 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."; + mes "So recently, we decided to allow any Novice who wants to be a Merchant become one."; + mes "Because staying alive or not, it all rests on your own ability."; close; case 4: close; } } + +alberta_in,28,29,2 script Merchant Guildsman 83,{ + if (job_merchant_q == 0 || job_merchant_q == 1 || job_merchant_q == 2) { + mes "[Union Staff Kay]"; + mes "I am sorry, but we don't make deliveries anymore."; + mes "Didn't Chief Mahnsoo tell you?"; + close; + } + mes "[Union Staff Kay]"; + mes "Ah, we don't make deliveries anymore."; + mes "Too many people cried and kept whining that it's too difficult."; + next; + mes "[Union Staff Kay]"; + mes "Well, maybe we will have a few deliveries later."; + mes "Anyway, I don't have any work now..."; + close; +} + +morocc_in,140,102,4 script Student#mer 86,{ + if (job_merchant_q == 4 || job_merchant_q == 3) { + mes "[Dyer's Student]"; + mes "I am sorry, but the Merchant Guild no longer makes deliveries to us anymore."; + close; + } + mes "[Dyer's Student]"; + mes "Mr. Java Dullihan is the one and only, the best dye maker on the Rune-Midgard continent."; + next; + mes "[Dyer's Student]"; + mes "Aaaand I'm proud to say that I'm his student! Someday, I'll be able to make really beautiful dyes too!"; + next; + mes "[Dyer's Student]"; + mes "Of course, I'm still learning the basics right now, but someday..."; + close; +} + +geffen_in,155,122,4 script Guild Staff 47,{ + if (job_merchant_q == 4 || job_merchant_q == 3) { + mes "[Guild Staff]"; + mes "I am sorry, but the Merchant Guild no longer makes deliveries to us anymore."; + close; + } + mes "[Guild Staff]"; + mes "My package should have arrived by now. Huh. I guess the Merchant Guild might be running a little late..."; + close; +} \ No newline at end of file diff --git a/npc/pre-re/jobs/1-1/swordman.txt b/npc/pre-re/jobs/1-1/swordman.txt index 6942c170b..ff87a1a05 100644 --- a/npc/pre-re/jobs/1-1/swordman.txt +++ b/npc/pre-re/jobs/1-1/swordman.txt @@ -3,98 +3,90 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.0 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Swordman Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] +//= 1.1 Added Baby job change support. [Masao] //============================================================ -izlude_in,74,172,4 script Swordman#swd 119,{ +izlude_in,74,172,4 script Swordman 119,{ if (Upper == 1) { - if (Class == Job_Novice_High && (ADVJOB == Job_Lord_Knight || ADVJOB == Job_Paladin)) { - mes "[Swordman]"; + if ((Class == Job_Novice_High) && (ADVJOB == Job_Lord_Knight || ADVJOB == Job_Paladin)) { + mes "[Swordman Guildsman]"; mes "It..."; mes "Can't be..."; mes "You've been reborn, haven't you?"; next; - mes "[Swordman]"; + mes "[Swordman Guildsman]"; 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 "[Swordman Guildsman]"; mes "Hmm? Ah, you must first master the Basic Skills before you are ready to become a Swordman."; next; - mes "[Swordman]"; + mes "[Swordman Guildsman]"; mes "Come back to me when you have finished learning the Basic Novice Skills."; close; } - mes "[Swordman]"; + mes "[Swordman Guildsman]"; mes "Excellent! Let me promote you to a Swordman right away!"; next; - skill 143,0,0; + skill 143,0,1; jobchange Job_Swordman_High; skill 144,1,0; skill 145,1,0; skill 146,1,0; - mes "[Swordman]"; + mes "[Swordman Guildsman]"; 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 "Hm...?"; + mes "You're a reborn"; + mes "warrior, aren't you?"; + next; + mes "[Swordman Guildsman]"; + 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?"; + mes "Welcome to the"; + mes "Swordman Association!"; + next; + mes "[Swordman Guildsman]"; + mes "So..."; + mes "What business"; + mes "brings you to us?"; next; - switch(select("Tell me about being a Swordman.:I want to be a Swordman.:Nothing.")) { + switch (select("Tell me about being a Swordman.:I want to be a Swordman.:Cancel.")) { case 1: mes "[Swordman Guildsman]"; - mes "So you wish to know more about the mighty Swordman? Okay!"; + mes "So you wish to know more about the mighty Swordman job? Well, then..."; 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!"; + mes "Amongst the First Class jobs, the Swordman is the best melee fighter for three reasons."; + mes "There are 3 reasons why Swordy is the best to approch a fight!"; 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."; + mes "First, Swordman has the benefit of additional HP. Second, Swordman generally have access to a wider selection fo weapons than the other First Class jobs."; 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!"; + mes "And third, most of the Swordman skills are crushing physical attacks! In my opinion, being a 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 (Class == Job_Baby || Class == Job_Novice) { 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."; + mes "I'm sorry to tell you this but to be a Swordman, you must reach at least ^4d4dffJob Level 10^000000."; + mes "and ^4d4dffBasic Skill Level 9^000000."; next; mes "[Swordman Guildsman]"; mes "Want to be a Swordman without having the minimum requirement?"; @@ -105,23 +97,43 @@ izlude_in,74,172,4 script Swordman#swd 119,{ 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) { + switch (select("Yes, I do.:I'll consider it again.")) { + case 1: + mes "[Swordman Guildsman]"; + mes "Congratulations! From now on, you are going to live a Swordman's life!"; + mes "I will transform you right away!"; + next; + skill 143,0,1; + if(Class == Job_Baby){ + jobchange Job_Baby_Swordman; + } else { + jobchange Job_Swordman; + } + set job_sword_q,0; + getitem 13415,1; //N_Falchion + mes "[Swordman Guildsman]"; + mes "Congratulations again for becomming a Swordman and I hope that you participate in many activities for the revival of our guild."; + close; + case 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...."; + mes "Yeah. Careful consideration is needed for choosing a job."; + mes "But I feel sorry... that you'll have to consider it again after all the trials...."; close; } + } + if (Class == Job_Baby_Swordman || Class == Job_Swordman || Class == Job_Swordman) { 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 + mes "You are already an excellent Swordman, aren't you?"; + mes "Just devote yourself to be a great Swordman."; close; } + mes "[Swordman Guildsman]"; + mes "Haha! Oh boy. I'm flattered, but you already have another job! Still, I can't blame you..."; + close; case 3: + mes "[Swordman Guildsman]"; + mes "Ha ha ha!"; + mes "Ah, youth!"; close; } -} +} \ No newline at end of file diff --git a/npc/pre-re/jobs/1-1/thief.txt b/npc/pre-re/jobs/1-1/thief.txt index 8d7e452f3..5c72e51cc 100644 --- a/npc/pre-re/jobs/1-1/thief.txt +++ b/npc/pre-re/jobs/1-1/thief.txt @@ -3,30 +3,31 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.0 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Thief Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] +//= 1.1 Added Baby job change support. [Masao] //============================================================ -moc_prydb1,39,129,2 script Thief Guide#thief 69,{ +moc_prydb1,39,129,2 script Thief Guildsman 69,{ if (Upper == 1) { if (ADVJOB == Job_Assassin_Cross || ADVJOB == Job_Stalker) { if (Class == Job_Novice_High) { - mes "[Thief Guide]"; + mes "[Thief Guildsman]"; 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 "[Thief Guildsman]"; 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 "[Thief Guildsman]"; mes "Take your time and learn all the Basic Skills, will you? Well then, see you later~!"; close; } - mes "[Thief Guide]"; + mes "[Thief Guildsman]"; 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; @@ -35,173 +36,297 @@ moc_prydb1,39,129,2 script Thief Guide#thief 69,{ skill 150,1,0; skill 151,1,0; skill 152,1,0; - mes "[Thief Guide]"; + mes "[Thief Guildsman]"; 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 "[Thief Guildsman]"; + if (Sex == 1) { 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!"; + } else { + mes "Hey, baby~"; + } 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; + if (Sex == 1) { + 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 (Class == Job_Baby_Thief || Class == Job_Thief || Class == Job_Thief_High) { 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."; + mes "Hey~ if you have any trouble, get it out to me anytime, huh?"; close; } - if(Class != Job_Novice) { - if(Class == Job_Thief) { + if ((Class != Job_Baby) && (Class != Job_Novice) && (Class != Job_Baby_Thief) && (Class != Job_Thief)) { + mes "[Thief Guildsman]"; + mes "What the heck...?"; + switch (Class) { + case Job_Swordman: + mes "Huh."; + mes "Now, that's"; + mes "a big sword."; + next; mes "[Thief Guildsman]"; - mes "Hey~ if you have any trouble, get it out to me anytime, huh?"; + mes "So..."; + mes "Trying to make"; + mes "up for something"; + mes "...Buddy?"; close; - }else{ - if(Sex) { + case Job_Mage: + mes "What's a Mage doin' here? Shouldn't you be doing card tricks elsewhere? Oh well, it's a free country..."; + next; + mes "[Thief Guildsman]"; + mes "Oh wait,"; + mes "it's not..."; + mes "Get outta here!"; + close; + case Job_Archer: + mes "Man, shouldn't you"; + mes "Archers be playing"; + mes "in the forest"; + mes "or something?"; + close; + case Job_Merchant: + mes "You're a Merchant,"; + mes "right? Why are you"; + mes "walking into a den"; + mes "of Thieves?!"; + next; + mes "[Thief Guildsman]"; + mes "It's like you're begging"; + mes "us to steal from you!"; + mes "Come on, hurry and"; + mes "get outta here~"; + close; + case Job_Acolyte: + mes "You know we all steal for a living, right? What are you doing in this kinda place, Acolyte?"; + close; + case Job_Assassin: + mes "Didn't you use to be one of us?! Man, you changed. You seem real dangerous now..."; + close; + close; + case Job_Rogue: + mes "Man, you got real cool all of a sudden! You must have some skills I can only dream of!"; + close; + close; + case Job_Priest: + mes "Oh my God..."; + mes "Am I dying?"; + next; + mes "[Thief Guildsman]"; + mes "Why else would a Priest come here? I guess I better start confessing all of my misdeeds."; + close; + } + next; + if (Sex == 1) { + 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 (Class == Job_Baby || Class == Job_Novice) { + mes "[Thief Guildsman]"; + if (Sex == 1) { + mes "Ehh... Seems like a beloved son of a rich family, but why are you here in this dirty place?"; + } + else { + mes "Ehh... Seems like a beloved daughter of a rich family, but why are you here in this dirty place?"; + } + next; + switch (select("I want to be a Thief.:Nothing.")) { + case 1: + if (job_thief_q == 0) { mes "[Thief Guildsman]"; - mes "What the heck...?"; - mes "Huh.. you are a "+jobname(Class)+" blockhead...!"; + mes "Well, are you that proud of it? 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 "Hey, brother."; - mes "Why are you here? Go back to your place~ go back~~"; - close; - }else{ + mes "Do you want to be a thief so badly?"; + next; + switch (select("Yes.:No.:How about you?")) { + case 1: + mes "[Thief Guildsman]"; + mes "Well, are you that proud of it? 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; + 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 "What the heck...?"; + mes "Anyway, in the outside world, never say that you want to be a Thief!!"; next; mes "[Thief Guildsman]"; - mes "Hey, lady."; - mes "Why are you here? Go back to your place~ go back~~"; + mes "So, do you want to apply for being a Thief?"; + next; + switch (select("Yes, I do.:No.")) { + case 1: + mes "[Thief Guildsman]"; + mes "Alright, tell me your name. Huh? What?"; + mes "" + strcharinfo(0) + ". " + 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? So go and reach at least Basic Skill Level 9."; + close; + } + mes "[Thief Guildsman]"; + mes "Alright. I looked at your Felony Record, and you seem to have a very interesting history. You might have what it takes to be a Thief."; + mes "" + strcharinfo(0) + ". I now decree that you have passed this interview. Good work!"; + set job_thief_q,1; + 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."; + close; + case 2: + mes "[Thief Guildsman]"; + mes "Well... do what you want to do~ Go your way~"; + close; + } + } + if (job_thief_q == 1) { + 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; } + mes "[Thief Guildsman]"; + mes "Oh, before I let you go... ...did you take any mushrooms?"; + mes "... ...It was a joke."; + mes "You don't need to do a test, and if you want to jobchange, you can do it directly."; + next; + mes "[Thief Guildsman]"; + mes "In short it was just a joke."; + mes "Ha ha ha ha ha!!"; + close; + case 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 "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..?"; +} + +moc_prydb1,42,133,2 script Comrade 118,{ + if (Class == Job_Baby_Thief || Class == Job_Thief || Class == Job_Thief_High) { + mes "[Brad]"; + mes "I don't have any special events now. So go on your way and come back later."; 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."; + if ((Class != Job_Baby) && (Class != Job_Novice) && (Class != Job_Baby_Thief) && (Class != Job_Thief)) { + mes "[Comrade]"; + mes "Um..."; + mes "You don't look"; + mes "like a Thief."; 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~"; + mes "[Comrade]"; + mes "What the heck are"; + mes "you doing here anyway?"; 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."; + if (job_thief_q == 0) { + mes "[Comrade]"; + mes "What's the matter? If you want to be a Thief, speak to the woman beside me."; 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) { + if (job_thief_q == 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 + mes "[Leader of Thief Guild 'E']"; + mes "" + strcharinfo(0) + "..."; + mes "'For those who are ready, the moonlight shall open the way. You are now one of us.'"; + skill 143,0,1; + if(Class == Job_Baby){ + jobchange Job_Baby_Thief; + } else { + jobchange Job_Thief; + } + getitem 13041,1; //N_Main_Gauche + erasequest 1013; 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.'"; + mes "[Leader of Thief Guild 'E']"; + mes "'Congratulations on becoming a Thief!'"; + mes "'From now, be an honorable representative of the Thief's Guild.'"; + mes "'If you bring disgrace to our guild, you will be killed.'"; + 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 "*Ahem* Welcome to the Guild, comrade!"; + mes "I'm Brad, and 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."; + mes "Okay, I've done what I can do to you, so go on your way. I'm a quite busy man."; + mes "Alright then, I'll see you around~"; 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~"; +} + +moc_ruins,141,125,3 script Mr. Irrelevant 83,{ + if (Class == Job_Baby_Thief || Class == Job_Thief) { + mes "[Mr. Irrelevant]"; + mes "Ah, I see that you are now a Thief. I always knew you'd join us."; + next; + mes "[Mr. Irrelevant]"; + mes "Why don't you leave this place?"; + close; + } + if ((Class != Job_Baby) && (Class != Job_Novice) && (Class != Job_Baby_Thief) && (Class != Job_Thief)) { + set .@rand,rand(1,5); + switch(.@rand){ + mes "[Mr. Irrelevant]"; + case 1: + mes "Today looks like a good day to go to the pyramids and hunt with some of my friends."; + close; + case 2: + mes "I could use a good, hard drink."; + close; + case 3: + mes "Gimme your money."; + next; + mes "[Mr. Irrelevant]"; + mes "Kidding, I'm off the clock."; + close; + case 4: + mes "WHO YOU CALLING A PSYCHO?!?!"; + close; + case 5: + mes "I've got nothing to say to you. Would you mind leaving me alone?"; + close; } + } + if (job_thief_q == 1) { + mes "[Mr. Irrelevant]"; + mes "There is this strange smell coming from... You. Now why would that be?"; 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."; + mes "[Mr. Irrelevant]"; + mes "Hey Novice! Why don't you join the ranks of the Thief Guild? You newbies are always welcome to join us and our selfish cause."; + next; + mes "[Mr. Irrelevant]"; + mes "You can get more information in the Underground Room in the Pyramid 1 BF."; close; } diff --git a/npc/pre-re/jobs/2-1/assassin.txt b/npc/pre-re/jobs/2-1/assassin.txt index 7f8febe58..aeee0b111 100644 --- a/npc/pre-re/jobs/2-1/assassin.txt +++ b/npc/pre-re/jobs/2-1/assassin.txt @@ -1,56 +1,20 @@ //===== rAthena Script ======================================= -//= Assassin Job Quest +// Assassin Job change Quest //===== By: ================================================== -//= kobra_k88 +//= Masao +//= Credits: Muad_Dib //===== Current Version: ===================================== -//= 3.5 +//= 1.0 //===== Compatible With: ===================================== -//= rAthena SVN +//= Any rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job Change quest for Assassin class. +//= [Translated from the Official] +//= Job change Quest from Thief -> Assassin. //===== 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] +//= 1.0 Updated to latest available official file. [Masao] //============================================================ -in_moc_16,19,33,1 script Guildsman#asn 55,{ +in_moc_16,19,33,1 script Guildsman 55,{ if (Upper == 1) { mes "[Ferocious-looking guy]"; mes "Hm? You....?"; @@ -60,12 +24,12 @@ in_moc_16,19,33,1 script Guildsman#asn 55,{ 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) { + if (SkillPoint != 0) { 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) { + if (ASN_Q == 4) { mes "[Ferocious-looking guy]"; mes "Oh, stop making that face. Can you really be in that much pain?"; next; @@ -77,30 +41,37 @@ in_moc_16,19,33,1 script Guildsman#asn 55,{ 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) { + switch (select("I will become an Assassin no matter what!:Oh man, I gotta take a break.")) { + case 1: mes "[Ferocious-looking guy]"; mes "Oh..."; mes "Well then,"; mes "go for it!"; close2; - set ASSIN_Q,0; + set ASN_Q,0; warp "in_moc_16",19,76; end; + case 2: + 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 ASN_Q,0; + set thief_joblvl,0; + set asn_skill,0; + erasequest 8000; + erasequest 8001; + erasequest 8002; + erasequest 8003; + erasequest 8004; + savepoint "in_moc_16",18,14; + warp "in_moc_16",18,14; + 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) { + if ((Class == Job_Baby_Thief || Class == Job_Thief) && (countitem(1008) == 0) && (ASN_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; @@ -111,7 +82,7 @@ in_moc_16,19,33,1 script Guildsman#asn 55,{ 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) { + if ((Class == Job_Baby_Thief || Class == Job_Thief) && (countitem(1008) > 0) && (ASN_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; @@ -126,19 +97,22 @@ in_moc_16,19,33,1 script Guildsman#asn 55,{ mes "......"; next; delitem 1008,1; //Frozen_Heart - changequest 8007,8008; mes "[Assassin Expert 'Huey']"; mes "Alright!"; mes "You've been approved!"; next; + if(Class == Job_Baby_Thief){ + jobchange Job_Baby_Assassin; + } else { + jobchange Job_Assassin; + } + changequest 8007,8008; 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) { + if ((countitem(1008) > 0) && (Class == Job_Baby_Thief || Class == Job_Thief) && (ASN_Q < 7)) { mes "[Ferocious-looking guy]"; mes "Eh?"; mes "What do you want?"; @@ -163,138 +137,128 @@ in_moc_16,19,33,1 script Guildsman#asn 55,{ 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 (Class == Job_Baby || Class == 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; + } + if (Class == Job_Swordman || Class == Job_Knight || Class == Job_Crusader) { + 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; + } + if (Class == Job_Mage || Class == Job_Wizard || Class == Job_Sage) { mes "[Ferocious-looking guy]"; - mes "What brings you here?"; - mes "I don't think I like the way you're looking at me... Punk."; + mes "Now what would a magic user be doing here?"; 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 "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; + } + if (Class == Job_Archer || Class == Job_Hunter || Class == Job_Bard || Class == Job_Dancer) { + 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; + } + if (Class == Job_Acolyte || Class == Job_Priest || Class == Job_Monk) { + 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; + } + if (Class == Job_Merchant || Class == Job_Blacksmith || Class == Job_Alchemist) { + mes "[Ferocious-looking guy]"; + mes "We don't like greedy people around these parts. You better sell your stuff somewhere else, Moneybags."; + close; + } + if (Class == 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; + } + if (Class == Job_Baby_Assassin || Class == 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; + } + if ((Classe == Job_Baby_Thief || Class == Job_Thief) && (JobLevel > 39)) { + if (SkillPoint != 0) { mes "[Ferocious-looking guy]"; - mes "We don't like greedy people around these parts. You better sell your stuff somewhere else, Moneybags."; + 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 if (BaseJob == Job_Rogue) { + 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 "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 "It's been a while since I've received a guest. I'm sending"; + mes "you to the office."; + close2; + set ASN_Q,0; + warp "in_moc_16",19,76; + end; + case 2: mes "[Ferocious-looking guy]"; - mes "By the way..."; - mes "Have you ever seen"; - mes "a girl named Markie?"; + 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 "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."; + 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; - } - 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; + case 3: 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."; + mes "Hmm..."; + mes "Alright then."; + mes "But come back when"; + mes "you think you're ready."; close; } } + 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; + 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."; @@ -302,7 +266,7 @@ in_moc_16,25,90,1 script Guildsman#ASN2 730,2,2,{ close; OnTouch: - if (ASSIN_Q2 == 4) { + if (asn_skill == 4) { mes "[Assassin 'Khai']"; mes "Ehhh?"; mes "Didn't you just"; @@ -328,7 +292,7 @@ OnTouch: 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!")) { + 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!!!"; @@ -382,14 +346,15 @@ OnTouch: close; case 2: mes "[Assassin 'Khai']"; - if (sex) { + if (Sex == 1) { 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 + 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..."; @@ -411,6 +376,7 @@ OnTouch: mes "seem depressing to you?"; close; case 3: + set .@assassin_quiz,rand(1,3); mes "[Assassin 'Khai']"; mes "...Hm."; next; @@ -425,12 +391,12 @@ OnTouch: 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) { + switch (select("...Got you.:...I'm confused.")) { + case 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: + if (.@assassin_quiz == 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; @@ -446,8 +412,8 @@ OnTouch: 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: + } + if (.@assassin_quiz == 2) { mes "[Assassin 'Khai']"; mes "'Sharpened Legbone of Ghoul' possesses the Undead property."; next; @@ -470,8 +436,8 @@ OnTouch: mes "[Assassin 'Khai']"; mes "You know elemental weapons? The names of Blacksmiths are engraved on them usually..."; next; - break; - case 3: + } + else { 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; @@ -508,104 +474,107 @@ OnTouch: close2; warp "in_moc_16",19,144; end; + case 2: + 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; } + } + } + mes "[Assassin 'Khai']"; + mes "Oh, you must be an Assassin trainee. You are here to become"; + mes "an Assassin, aren't you?"; + next; + switch (select("Yes, I am. :...No, I'm not.")) { + case 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 "^666666*Sigh...*^000000"; - mes "How can you not understand the concept of dignity? You just showed some to me just now!"; + mes "Wait, Job level " + JobLevel + "?! I can see you've been training pretty hard! My bosses will like this~"; next; mes "[Assassin 'Khai']"; - mes "Oh, I get it. It wasn't pride you were showing, you were just being a jerk!"; + 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 "Grrrrr..."; - mes "WARP PORTAL!"; + mes "Alright then,"; + mes "best of luck to you!"; close2; - warp "c_tower4",64,76; + set thief_joblvl,1; + set ASN_Q,1; + setquest 8001; + warp "in_moc_16",19,144; 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) { + if (JobLevel < 49) { mes "[Assassin 'Khai']"; - mes "Okay, good. Let's fill out the application form. Please sign your name and include your job level."; + mes "Well, you passed"; + mes "the requirements."; + mes "Not bad at all."; next; mes "[Assassin 'Khai']"; - mes "Let's see."; - mes "Your name is"; - mes "" + strcharinfo(0) + "..."; - mes "Job level " + JobLevel + "..."; + mes "Go ahead and give"; + mes "me the form when you're"; + mes "done filling it out."; + mes "Alright, thanks."; 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; - } + mes "[Assassin 'Khai']"; + mes "I'll transport you"; + mes "to the Test Hall."; + mes "Best of luck~"; + close2; + set thief_joblvl,2; + set ASN_Q,1; + setquest 8001; + 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; + case 2: + mes "[Assassin 'Khai']"; + mes "Huh...?"; + mes "What, are you trying to trick me or something? Don't you wanna be an Assassin?"; + next; + switch (select("No.:Yes, I want to be an Assassin.")) { + case 1: 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 "Eh, get outta here."; + mes "Stop wastin' my time..."; + close2; + set ASN_Q,0; + set thief_joblvl,0; + set asn_skill, 0; + erasequest 8000; + erasequest 8001; + erasequest 8002; + erasequest 8003; + erasequest 8004; + warp "moc_fild16",206,229; + end; + case 2: mes "[Assassin 'Khai']"; mes "..."; mes "What the hell?"; @@ -627,13 +596,13 @@ OnTouch: 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; + set thief_joblvl,1; + set ASN_Q,1; + setquest 8001; warp "in_moc_16",19,144; end; } - else if (JobLevel < 49) { + 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; @@ -641,53 +610,52 @@ OnTouch: 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; + set thief_joblvl,2; + set ASN_Q,1; + setquest 8001; 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; - } + 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,{ +in_moc_16,19,154,0 script nameless_one 139,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; + if (asn_skill < 1) { + 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; + switch (select("I think I crapped my pants!:You're all talk. I challenge you!")) { + case 1: mes "[The Anonymous One]"; - mes "I am perfectly hidden!"; - mes "To become undetectable can only be done by the greatest Assassins!"; + mes "Now I see that"; + mes "you're nothing"; + mes "but a wimp."; 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 "Bwahahahahahah!"; + mes "Stop cowering in fear!"; + mes "It's making me laugh!"; + close; + case 2: mes "[The Anonymous One]"; mes "So..."; mes "You wish for"; @@ -708,434 +676,1132 @@ OnTouch: 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) { + set asn_skill,0; + while (1) { + switch (select("...Skills?:...Stats?:Hmpf, I know it all.")) { + case 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 "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 asn_skill,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 asn_skill,2; + next; + break; + case 3: + if (asn_skill == 0) { + mes "[The Anonymous One]"; + mes "Know everything do you?!"; + mes "I'll be the judge of that!"; + set asn_skill,4; + changequest 8001,8002; + next; + break; + } + else { + set asn_skill,4; + changequest 8001,8002; + break; + } + break; } - 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."; } + 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; - switch(rand(1,3)) { - case 1: + 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; + set .@assassin_quiz,rand(1,3); + set @assassin_t, 0; + mes "[The Anonymous One]"; + mes "Are you ready?"; + mes "Prepare yourself!"; + next; + if (.@assassin_quiz == 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; + switch (select("Cloaking level 2:Sonic Blow level 5:Katar Mastery level 4:Right hand Mastery level 2")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } 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; + switch (select("Poison:Earth:Fire:Wind")) { + case 1: + set @assassin_t,@assassin_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Recover 80% of damage decrease:Recover 90% of damage decrease:Increase 90% of damage:Increase 108% of damage")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Red Blood:Blue Gemstone:Yellow Gemstone:Red Gemstone")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } 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; + switch (select("Envenom:Sonic Blow:Venom Splasher:Venom Dust")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } 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; + switch (select("Hiding:Back Slide:Cloaking:Sand Attack")) { + case 1: + break; + case 2: + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + break; + } 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; + switch (select("Poisoned target.:Red Gemstone.:Remaing HP of Target.")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + } 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; + switch (select("Steel Chonchon:Deviruchi:Elder Willow:Baphomet")) { + case 1: + break; + case 2: + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + break; + } 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; + switch (select("15:It's a passive skill, so SP use is 0.:It's passive skill, so SP use is 10.:54")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } 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: + switch (select("Wind Main Gauche:Ice Main Gauche:Earth Main Gauche:Fire Main Gauche")) { + case 1: + set @assassin_t,@assassin_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + } + if (.@assassin_quiz == 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; + switch (select("Thief Bug:Peco Peco:Desert Wolf:Hammer Cobolt")) { + case 1: + break; + case 2: + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + break; + } 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; + switch (select("Martin:Desert Wolf:Marionette:Myst")) { + case 1: + set @assassin_t,@assassin_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Merchant:Blacksmith:Thief:Priest")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Jamadhar:Jur:Katar:Gladius")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } 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; + switch (select("Water:Fire:Wind:Earth")) { + case 1: + set @assassin_t,@assassin_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Poporing:Roda Frog:Smokie:Poison Spore")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Dagger Goblin:Mace Goblin:Morning Star Goblin:Hammer Goblin")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } + mes "[The Anonymous One]"; + mes "8. Choose the non-elemental Katar from the following:"; + next; + switch (select("Katar of Raging Blaze:Katar of Dusty Thornbush:Sharpened Legbone of Ghoul:Infiltrator")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } + mes "[The Anonymous One]"; + mes "9. Which is the uncommon monster?"; + next; + switch (select("Poring:Mastering:Ghostring:Spore")) { + case 1: + break; + case 2: + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "10. Choose the monster"; + mes "that is not Undead."; + next; + switch (select("Drake:Megalodon:Spore:Khalitzburg")) { + case 1: + break; + case 2: + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + break; + } + } + else { + 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; + switch (select("30:40:160:20")) { + case 1: + set @assassin_t,@assassin_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "2. Choose a monster which detects hiding/cloaking Thieves and Assassins."; + next; + switch (select("Worm Tail:Andre:Mummy:Soldier Skeleton")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "3. Choose a group of weapons that cannot be used by an Assassin at once."; + next; + switch (select("Main Gaughe + Gladius:Stiletto + Main Gauche:Katar + Maingauche:Hammer + Stiletto")) { + case 1: + break; + case 2: + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "4. Choose the town where Thieves can change their jobs."; + next; + switch (select("Prontera:Lutie:Alberta:Morroc")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } + mes "[The Anonymous One]"; + mes "5. Choose a card that does not affect the AGI stat."; + next; + switch (select("Baphomet Jr. card:Whisper Card:Female Thiefbug card:Male Thiefbug card")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "6. Choose the correct specialty of the Assassin class."; + next; + switch (select("Excellent singing talent:Excellent reading talent:Excellent dancing talent:Excellent dodge ability")) { + case 1: + set @assassin_t,@assassin_t + 10; + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } + mes "[The Anonymous One]"; + mes "7. Choose the maximum AGI bonus an Assassin can get at job level 50."; + next; + switch (select("7:8:9:10")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } + mes "[The Anonymous One]"; + mes "8. Choose the item that an Assassin cannot equip."; + next; + switch (select("Dagger:Helm:Boots:Brooch")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } + 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: + set @assassin_t,@assassin_t + 10; + break; + case 2: + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "10. Choose a card that would typically benefit an Assassin the least."; + next; + switch (select("Whisper Card:Elder Willow Card:Soldier Skeleton Card:Cobold Card")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } + } + 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 asn_skill,5; + 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; + } + set asn_skill,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; + } + if (asn_skill < 5) { + mes "[The Anonymous One]"; + mes "Having problems"; + mes "passing a simple test?"; + mes "You should have"; + mes "known better."; + next; + switch (select("Help me, how do I pass?:I challenge you again!")) { + case 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,241; + end; + case 2: + 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; + set @assassin_quiz,rand(1,3); + set @assassin_t, 0; + mes "[The Anonymous One]"; + mes "Okay,"; + mes "are you ready?"; + mes "Good luck."; + next; + if (.@assassin_quiz == 1) { + mes "[The Anonymous One]"; + mes "1. Choose the skill that is not required to learn Grimtooth."; + next; + switch (select("Level 2 Cloaking:Level 5 Sonic Blow:Level 4 Katar Mastery:Level 2 Right hand Mastery")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } + mes "[The Anonymous One]"; + mes "2. What property does Enchant Poison possess?"; + next; + switch (select("Poison:Earth:Fire:Wind")) { + case 1: + set @assassin_t,@assassin_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "3. How does Level 4 'Right hand Mastery' work?"; + next; + switch (select("Recover 80% of damage decrement:Recover 90% of damage decrement:Increase 90% of damage:Increase 108% of damage!!")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "4. What is the item required for using Venom Dust?"; + next; + switch (select("Red Blood:Blue Gemstone:Yellow Gemstone:Red Gemstone")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } + mes "[The Anonymous One]"; + mes "5. Which skill can you learn when you reach Level 5 Enchant Poison?"; + next; + switch (select("Envenom:Sonic Blow:Venom Splasher:Venom Dust")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } + mes "[The Anonymous One]"; + mes "6. Among the following skills, which allows you to become invisible while moving?"; + next; + switch (select("Hiding:Back Slide:Cloaking:Sand Attack")) { + case 1: + break; + case 2: + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "7. From the following, choose the thing unrelated to using Venom Splasher."; + next; + switch (select("Poisoned target.:Red Gemstone.:Remaining HP of Target.")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + } + mes "[The Anonymous One]"; + mes "8. Which monster is weak to a weapon with Vadon card (adds 20% damage on Fire monster)?"; + next; + switch (select("Steel Chonchon:Deviruchi:Elder Willow:Baphomet")) { + case 1: + break; + case 2: + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "9. How much SP does"; + mes "Double Attack use?"; + next; + switch (select("15:It's a passive skill and doesn't use SP.:It's a passive skill, so it uses 10 SP.:54")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "10. What is the best elemental Main Gauche to use when hunting in Izlude dungeon?"; + next; + switch (select("Wind Main Gauche:Ice Main Gauche:Earth Main Gauche:Fire Main Gauche")) { + case 1: + set @assassin_t,@assassin_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + } + if (.@assassin_quiz == 2) { + mes "[The Anonymous One]"; + mes "1. Which monster drops"; + mes "a slotted Katar?"; + next; + switch (select("Thief Bug:Peco Peco:Desert Wolf:Hammer Cobold")) { + case 1: + break; + case 2: + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "2. Which monster"; + mes "a slotted Jur?"; + next; + switch (select("Martin:Desert Wolf:Marionette:Myst")) { + case 1: + set @assassin_t,@assassin_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "3. Which class is allowed to craft elemental weapons?"; + next; + switch (select("Merchant:Blacksmith:Thief:Priest")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "4. Choose a weapon which is not Katar class."; + next; + switch (select("Jamadhar:Jur:Katar:Gladius")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } + mes "[The Anonymous One]"; + mes "5. What property do Izlude dungeon monsters possess?"; + next; + switch (select("Water:Fire:Wind:Earth")) { + case 1: + set @assassin_t,@assassin_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "6. Which monster"; + mes "cannot be a Cute Pet?"; + next; + switch (select("Poporing:Roda Frog:Smokie:Poison Spore")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "7. Choose a monster that Fire property daggers work the best on."; + next; + switch (select("Dagger Goblin:Mace Goblin:Morning Star Goblin:Hammer Goblin")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } mes "[The Anonymous One]"; - mes "8. Choose the non-elemental Katar from the following:"; + mes "8. Choose the non-elemental Katar."; next; - if (select("Katar of Raging Blaze:Katar of Dusty Thornbush:Sharpened Legbone of Ghoul:Infiltrator") == 4) - set .@assassin_t,.@assassin_t+10; + switch (select("Katar of Raging Blaze:Katar of Dusty Thornbush:Sharpened Legbone of Ghoul:Infiltrator")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } 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; + switch (select("Poring:Mastering:Ghostring:Spore")) { + case 1: + break; + case 2: + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + break; + } 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: + switch (select("Drake:Megalodon:Spore:Khalitzburg")) { + case 1: + break; + case 2: + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + break; + } + } + else { 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."; + mes "1. When the 'Increase Dodge' skill is at Level 10, by how much is the maximum dodge rate increased?"; next; - if (select("30:40:160:20") == 1) - set .@assassin_t,.@assassin_t+10; + switch (select("30:40:160:20")) { + case 1: + set @assassin_t,@assassin_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } mes "[The Anonymous One]"; - mes "2. Choose a monster which detects hiding/cloaking Thieves and Assassins."; + mes "2. Choose the monster which detects hiding/cloaking Thief/Assassin."; next; - if (select("Worm Tail:Andre:Mummy:Soldier Skeleton") == 2) - set .@assassin_t,.@assassin_t+10; + switch (select("Worm Tail:Andre:Mummy:Soldier Skeleton")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } mes "[The Anonymous One]"; - mes "3. Choose a group of weapons that cannot be used by an Assassin at once."; + mes "3. Choose the group of weapons that cannot be used by an Assassin at the same time."; next; - if (select("Main Gaughe + Gladius:Stiletto + Main Gauche:Katar + Maingauche:Hammer + Stiletto") == 3) - set .@assassin_t,.@assassin_t+10; + switch (select("Main Gaughe + Gladius:Stiletto + Main Gauche:Katar + Maingauche:Hammer + Stiletto")) { + case 1: + break; + case 2: + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + break; + } mes "[The Anonymous One]"; - mes "4. Choose the town where Thieves can change their jobs."; + mes "4. Choose the town where the Thief job change resides."; next; - if (select("Prontera:Lutie:Alberta:Morocc") == 4) - set .@assassin_t,.@assassin_t+10; + switch (select("Prontera:Lutie:Alberta:Morroc")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } mes "[The Anonymous One]"; - mes "5. Choose a card that does not affect the AGI stat."; + mes "5. Choose the 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; + switch (select("Baphomet Jr. card:Whisper Card:Female Thiefbug card:Male Thiefbug card")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } mes "[The Anonymous One]"; - mes "6. Choose the correct specialty of the Assassin class."; + mes "6. Choose the specialty that applies to Assassins."; next; - if (select("Excellent singing talent:Excellent reading talent:Excellent dancing talent:Excellent dodge ability") == 4) - set .@assassin_t,.@assassin_t+10; + switch (select("Excellent singing talent:Excellent acting talent:Excellent dancing talent:Excellent dodge ability")) { + case 1: + set @assassin_t,@assassin_t + 10; + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } mes "[The Anonymous One]"; - mes "7. Choose the maximum AGI bonus an Assassin can get at job level 50."; + mes "7. Choose the maximum AGI bonus that an Assassin can get at job level 50."; next; - if (select("7:8:9:10") == 4) - set .@assassin_t,.@assassin_t+10; + switch (select("7:8:9:10")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } 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; + switch (select("Dagger:Helm:Boots:Brooch")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } mes "[The Anonymous One]"; - mes "9. Choose the job change item for Thief."; + mes "9. Choose the"; + mes "job change item"; + mes "for a Thief."; next; - switch(select("Orange Gooey Mushroom:Red Gooey Mushroom:Orange Net Mushroom:Orange Hair Mushroom")) { + switch (select("Orange Gooey Mushroom:Red Gooey Mushroom:Orange Net Mushroom:Orange Hair Mushroom")) { case 1: + set @assassin_t,@assassin_t + 10; + break; + case 2: + break; case 3: - set .@assassin_t,.@assassin_t+10; + set @assassin_t,@assassin_t + 10; break; - default: + case 4: break; } mes "[The Anonymous One]"; - mes "10. Choose a card that would typically benefit an Assassin the least."; + mes "10. Choose a card that would benefit Assassins the least."; next; - if (select("Whisper card:Elder Willow card:Soldier Skeleton card:Cobold card") == 2) - set .@assassin_t,.@assassin_t+10; + switch (select("Whisper card:Elder Willow card:Soldier Skeleton card:Cobold card")) { + case 1: 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; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; } } - else if (ASSIN_Q2 == 4) { - next; - mes "[The Anonymous One]"; - mes "You showed"; - mes "great effort..."; + 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 asn_skill,5; 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; - } + 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 asn_skill,4; + mes "You failed!"; + next; mes "[The Anonymous One]"; - mes "...I will keep watching you."; - close; + 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; } + 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"; + hideonnpc "Standby Room#ASNTEST"; waitingroom "Standby Room",10,"Standby Room#ASNTEST::OnStartArena",1; enablewaitingroomevent; end; OnStartArena: - warpwaitingpc "in_moc_16", 66, 151; + warpwaitingpc "in_moc_16",66,151; attachrid($@warpwaitingpc[0]); - if(ASSIN_Q2<5) - { + if(ASSIN_Q2<5) { warpchar "in_moc_16",20,145,getcharid(0); end; } - donpcevent "Beholder#ASNTEST::OnEnable"; + donpcevent "Beholder#ASNTEST2::OnEnable"; donpcevent "Keeper of the Door#ASN::OnDisable"; - set getvariableofnpc(.DisableTraps,"Beholder#ASNTEST"),0; - disablewaitingroomevent; + donpcevent "backers#ASN::OnDisable"; + donpcevent "traps#ASN::OnEnable"; + disablewaitingroomevent end; -OnStart: +OnReset: enablewaitingroomevent; end; } in_moc_16,21,165,2 script Test Guide#ASN 725,4,4,{ - end; OnTouch: - if (ASSIN_Q2 < 5) { + if (asn_skill < 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) { + if ((ASN_Q == 1) && (asn_skill == 5)) { mes "[Barcardi]"; mes "" + strcharinfo(0) + "..."; mes "You passed the test..?"; @@ -1168,124 +1834,92 @@ OnTouch: 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."; + changequest 8002,8003; close; } - else { - mes "[Barcardi]"; - mes "Hey, don't be too hard"; - mes "on yourself. Cheer up!"; - next; + 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; + switch (select("Continue!:Quit the job change test for now.")) { + case 1: 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 "Good choice!"; + mes "Remember, you"; + mes "must find and kill"; + mes "6 ^008800Job change target^000000 monsters!"; + mes "Good luck!"; + close; + case 2: 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; + set ASN_Q,0; + set thief_joblvl,0; + set asn_skill,0; warp "in_moc_16",19,13; + erasequest 8000; + erasequest 8001; + erasequest 8002; + erasequest 8003; + erasequest 8004; end; } } -in_moc_16,1,1,0 script Beholder#ASNTEST -1,{ +in_moc_16,1,1,0 script Beholder#ASNTEST 139,{ + end; + +OnInit: + hideonnpc "Beholder#ASNTEST"; end; OnEnable: - set .MyMobs,6; - // Target mobs + hideoffnpc "Beholder#ASNTEST"; 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"; + donpcevent "Standby Room#ASNTEST::OnReset"; 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) { + if (mobcount ("in_moc_16","Beholder#ASNTEST::OnMyMobDead") < 1) { mapannounce "in_moc_16","You seem to be doing quite well. Keep it up!",bc_map; - set ASSIN_Q,3; - changequest 8003,8004; + set ASN_Q,3; donpcevent "timestopper#1::OnEnable"; donpcevent "Keeper of the Door#ASN::OnEnable"; donpcevent "Beholder#ASNTEST::OnResetmob"; - set .DisableTraps,1; + donpcevent "Beholder#ASNTEST2::OnReset"; stopnpctimer; + donpcevent "Beholder#ASNTEST::OnDisable"; + donpcevent "Beholder#ASNTEST2::OnDisable"; } 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"; +OnDisable: + hideonnpc "Beholder#ASNTEST"; end; OnTimer1000: @@ -1300,206 +1934,481 @@ 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; +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; + end; + +OnTimer185500: + mapannounce "in_moc_16","Well, good job... If you wanted to waste your time. You'll have to try again!",bc_map; + set ASN_Q,2; + end; + +OnTimer186000: + donpcevent "backers#ASN::OnEnable"; + end; + +OnTimer186500: + donpcevent "backers#ASN::OnDisable"; + end; + +OnTimer187000: + donpcevent "Beholder#ASNTEST::OnReset"; + donpcevent "Beholder#ASNTEST2::OnReset"; + donpcevent "Beholder#ASNTEST::OnDisable"; + donpcevent "Beholder#ASNTEST2::OnDisable"; + end; +} + +in_moc_16,76,158,0 script backers#ASN 139,20,20,{ -OnTimer5000: - mapannounce "in_moc_16","Ok, now you've got exactly 3 minutes. Move! Move!",bc_map; +OnTouch: + warp "in_moc_16",19,161; end; -OnTimer65000: - mapannounce "in_moc_16","2 minutes left. As I've told you, get the 'Job change target' monsters!",bc_map; +OnInit: + hideonnpc "backers#ASN"; end; -OnTimer125000: - mapannounce "in_moc_16","1 minute left.",bc_map; +OnEnable: + donpcevent "job_asn_test::OnDisable"; + hideoffnpc "backers#ASN"; end; -OnTimer180000: - mapannounce "in_moc_16","5 seconds left...",bc_map; +OnDisable: + hideonnpc "backers#ASN"; end; +} -OnTimer181000: - mapannounce "in_moc_16","4 seconds left...",bc_map; +in_moc_16,1,1,0 script traps#ASN 139,{ + end; + +OnEnable: + donpcevent "job_asn_test::OnEnable"; end; +} -OnTimer182000: - mapannounce "in_moc_16","3 seconds left...",bc_map; +in_moc_16,2,1,0 script Beholder#ASNTEST2 139,{ end; -OnTimer183000: - mapannounce "in_moc_16","2 seconds left...",bc_map; +OnInit: + hideonnpc "Beholder#ASNTEST2"; end; -OnTimer184000: - mapannounce "in_moc_16","1 second left.",bc_map; +OnReset: + killmonster "in_moc_16","Beholder#ASNTEST2::OnMyMobDead"; 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; +OnDisable: + hideonnpc "Beholder#ASNTEST2"; end; -OnTimer186000: - areawarp "in_moc_16",60,136,93,177,"in_moc_16",19,161; +OnEnable: + hideoffnpc "Beholder#ASNTEST2"; + monster "in_moc_16",62,161,"Job change creature",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",85,169,"Job change creature",1031,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",79,174,"Job change creature",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",85,156,"Job change creature",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",74,171,"Job change monster",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",68,173,"Job change dummy",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",65,158,"Battle test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",60,158,"Warrior test target",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",64,169,"Job change targets",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",71,173,"Jobs change target",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",77,172,"Please don't hit me",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",76,172,"Job change sample",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",75,172,"Not me",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",67,167,"I got yours right here",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",86,170,"Job changes target",1031,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",86,171,"Job quest target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",86,170,"Job target change",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",86,173,"Hit me",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",85,170,"Battle Monster",1031,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",89,156,"Bouncer",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",89,156,"Mungamorp",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",89,156,"Battle test target",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",89,156,"Dew of the Battle field",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",89,156,"Tear of test",1031,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",83,169,"Evil Druid",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",63,158,"Doppelganger",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",63,157,"Job change dummy",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",64,159,"Job ready dummy",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",63,159,"Job change ready",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",63,159,"Archer test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",63,159,"Swordman test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",83,148,"Thief test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",82,148,"Acolyte test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",84,148,"Merchant test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; end; -OnTimer187000: +OnMyMobDead: + mapannounce "in_moc_16"," " + strcharinfo(0) + "! You made a mistake! I'm bringing you back!",bc_map; + set ASN_Q,2; + warp "in_moc_16",19,161; donpcevent "Beholder#ASNTEST::OnReset"; + donpcevent "Beholder#ASNTEST2::OnReset"; + donpcevent "Beholder#ASNTEST::OnDisable"; + donpcevent "Beholder#ASNTEST2::OnDisable"; end; } -in_moc_16,68,158,0 script 01_1::SinTrap -1,0,0,{ +- script job_asn_test::jasntdups -1,{ + 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"; - } + mapannounce "in_moc_16"," " + strcharinfo(0) + ", you're trapped. You will be sent back.",bc_map; + set ASN_Q,2; + warp "in_moc_16",19,161; + donpcevent "Beholder#ASNTEST::OnReset"; + donpcevent "Beholder#ASNTEST2::OnReset"; + donpcevent "Beholder#ASNTEST::OnDisable"; + donpcevent "Beholder#ASNTEST2::OnDisable"; + end; + +OnEnable: + hideoffnpc "01_1"; + hideoffnpc "01_2"; + hideoffnpc "01_3"; + hideoffnpc "01_4"; + hideoffnpc "02_1"; + hideoffnpc "02_2"; + hideoffnpc "02_3"; + hideoffnpc "02_4"; + hideoffnpc "03_1"; + hideoffnpc "03_2"; + hideoffnpc "03_3"; + hideoffnpc "03_4"; + hideoffnpc "04_1"; + hideoffnpc "04_2"; + hideoffnpc "04_3"; + hideoffnpc "04_4"; + hideoffnpc "05_1"; + hideoffnpc "05_2"; + hideoffnpc "05_3"; + hideoffnpc "05_4"; + hideoffnpc "06_1"; + hideoffnpc "06_2"; + hideoffnpc "06_3"; + hideoffnpc "06_4"; + hideoffnpc "07_1"; + hideoffnpc "07_2"; + hideoffnpc "07_3"; + hideoffnpc "07_4"; + hideoffnpc "08_1"; + hideoffnpc "08_2"; + hideoffnpc "08_3"; + hideoffnpc "08_4"; + hideoffnpc "09_1"; + hideoffnpc "09_2"; + hideoffnpc "09_3"; + hideoffnpc "09_4"; + hideoffnpc "10_1"; + hideoffnpc "10_2"; + hideoffnpc "10_3"; + hideoffnpc "10_4"; + hideoffnpc "10_5"; + hideoffnpc "10_6"; + hideoffnpc "10_7"; + hideoffnpc "10_8"; + hideoffnpc "11_1"; + hideoffnpc "11_2"; + hideoffnpc "11_3"; + hideoffnpc "11_4"; + hideoffnpc "12_1"; + hideoffnpc "12_2"; + hideoffnpc "12_3"; + hideoffnpc "12_4"; + hideoffnpc "13_1"; + hideoffnpc "13_2"; + hideoffnpc "13_3"; + hideoffnpc "13_4"; + hideoffnpc "14_1"; + hideoffnpc "14_2"; + hideoffnpc "14_3"; + hideoffnpc "14_4"; + hideoffnpc "14_5"; + hideoffnpc "14_6"; + hideoffnpc "14_7"; + hideoffnpc "14_8"; + hideoffnpc "14_9"; + hideoffnpc "14_10"; + hideoffnpc "14_11"; + hideoffnpc "14_12"; + hideoffnpc "15_1"; + hideoffnpc "15_2"; + hideoffnpc "15_3"; + hideoffnpc "15_4"; + hideoffnpc "16_1"; + hideoffnpc "16_2"; + hideoffnpc "16_3"; + hideoffnpc "16_4"; + hideoffnpc "17_1"; + hideoffnpc "17_2"; + hideoffnpc "17_3"; + hideoffnpc "17_4"; + hideoffnpc "18_1"; + hideoffnpc "18_2"; + hideoffnpc "18_3"; + hideoffnpc "18_4"; + end; + +OnDisable: + hideonnpc "01_1"; + hideonnpc "01_2"; + hideonnpc "01_3"; + hideonnpc "01_4"; + hideonnpc "02_1"; + hideonnpc "02_2"; + hideonnpc "02_3"; + hideonnpc "02_4"; + hideonnpc "03_1"; + hideonnpc "03_2"; + hideonnpc "03_3"; + hideonnpc "03_4"; + hideonnpc "04_1"; + hideonnpc "04_2"; + hideonnpc "04_3"; + hideonnpc "04_4"; + hideonnpc "05_1"; + hideonnpc "05_2"; + hideonnpc "05_3"; + hideonnpc "05_4"; + hideonnpc "06_1"; + hideonnpc "06_2"; + hideonnpc "06_3"; + hideonnpc "06_4"; + hideonnpc "07_1"; + hideonnpc "07_2"; + hideonnpc "07_3"; + hideonnpc "07_4"; + hideonnpc "08_1"; + hideonnpc "08_2"; + hideonnpc "08_3"; + hideonnpc "08_4"; + hideonnpc "09_1"; + hideonnpc "09_2"; + hideonnpc "09_3"; + hideonnpc "09_4"; + hideonnpc "10_1"; + hideonnpc "10_2"; + hideonnpc "10_3"; + hideonnpc "10_4"; + hideonnpc "10_5"; + hideonnpc "10_6"; + hideonnpc "10_7"; + hideonnpc "10_8"; + hideonnpc "11_1"; + hideonnpc "11_2"; + hideonnpc "11_3"; + hideonnpc "11_4"; + hideonnpc "12_1"; + hideonnpc "12_2"; + hideonnpc "12_3"; + hideonnpc "12_4"; + hideonnpc "13_1"; + hideonnpc "13_2"; + hideonnpc "13_3"; + hideonnpc "13_4"; + hideonnpc "14_1"; + hideonnpc "14_2"; + hideonnpc "14_3"; + hideonnpc "14_4"; + hideonnpc "14_5"; + hideonnpc "14_6"; + hideonnpc "14_7"; + hideonnpc "14_8"; + hideonnpc "14_9"; + hideonnpc "14_10"; + hideonnpc "14_11"; + hideonnpc "14_12"; + hideonnpc "15_1"; + hideonnpc "15_2"; + hideonnpc "15_3"; + hideonnpc "15_4"; + hideonnpc "16_1"; + hideonnpc "16_2"; + hideonnpc "16_3"; + hideonnpc "16_4"; + hideonnpc "17_1"; + hideonnpc "17_2"; + hideonnpc "17_3"; + hideonnpc "17_4"; + hideonnpc "18_1"; + hideonnpc "18_2"; + hideonnpc "18_3"; + hideonnpc "18_4"; 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,68,158,0 duplicate(jasntdups) 01_1 139 +in_moc_16,69,158,0 duplicate(jasntdups) 01_2 139 +in_moc_16,68,159,0 duplicate(jasntdups) 01_3 139 +in_moc_16,69,159,0 duplicate(jasntdups) 01_4 139 +in_moc_16,64,162,0 duplicate(jasntdups) 02_1 139 +in_moc_16,65,162,0 duplicate(jasntdups) 02_2 139 +in_moc_16,64,163,0 duplicate(jasntdups) 02_3 139 +in_moc_16,65,163,0 duplicate(jasntdups) 02_4 139 +in_moc_16,62,168,0 duplicate(jasntdups) 03_1 139 +in_moc_16,63,168,0 duplicate(jasntdups) 03_2 139 +in_moc_16,62,169,0 duplicate(jasntdups) 03_3 139 +in_moc_16,63,169,0 duplicate(jasntdups) 03_4 139 +in_moc_16,66,170,0 duplicate(jasntdups) 04_1 139 +in_moc_16,67,170,0 duplicate(jasntdups) 04_2 139 +in_moc_16,66,171,0 duplicate(jasntdups) 04_3 139 +in_moc_16,67,171,0 duplicate(jasntdups) 04_4 139 +in_moc_16,64,174,0 duplicate(jasntdups) 05_1 139 +in_moc_16,64,175,0 duplicate(jasntdups) 05_2 139 +in_moc_16,65,174,0 duplicate(jasntdups) 05_3 139 +in_moc_16,65,175,0 duplicate(jasntdups) 05_4 139 +in_moc_16,72,174,0 duplicate(jasntdups) 06_1 139 +in_moc_16,72,175,0 duplicate(jasntdups) 06_2 139 +in_moc_16,73,174,0 duplicate(jasntdups) 06_3 139 +in_moc_16,73,175,0 duplicate(jasntdups) 06_4 139 +in_moc_16,72,166,0 duplicate(jasntdups) 07_1 139 +in_moc_16,72,167,0 duplicate(jasntdups) 07_2 139 +in_moc_16,73,166,0 duplicate(jasntdups) 07_3 139 +in_moc_16,73,167,0 duplicate(jasntdups) 07_4 139 +in_moc_16,72,168,0 duplicate(jasntdups) 08_1 139 +in_moc_16,72,169,0 duplicate(jasntdups) 08_2 139 +in_moc_16,73,168,0 duplicate(jasntdups) 08_3 139 +in_moc_16,73,169,0 duplicate(jasntdups) 08_4 139 +in_moc_16,78,168,0 duplicate(jasntdups) 09_1 139 +in_moc_16,78,169,0 duplicate(jasntdups) 09_2 139 +in_moc_16,79,168,0 duplicate(jasntdups) 09_3 139 +in_moc_16,79,169,0 duplicate(jasntdups) 09_4 139 +in_moc_16,80,172,0 duplicate(jasntdups) 10_1 139 +in_moc_16,81,172,0 duplicate(jasntdups) 10_2 139 +in_moc_16,82,172,0 duplicate(jasntdups) 10_3 139 +in_moc_16,83,172,0 duplicate(jasntdups) 10_4 139 +in_moc_16,80,173,0 duplicate(jasntdups) 10_5 139 +in_moc_16,81,173,0 duplicate(jasntdups) 10_6 139 +in_moc_16,82,173,0 duplicate(jasntdups) 10_7 139 +in_moc_16,83,173,0 duplicate(jasntdups) 10_8 139 +in_moc_16,88,174,0 duplicate(jasntdups) 11_1 139 +in_moc_16,88,175,0 duplicate(jasntdups) 11_2 139 +in_moc_16,89,174,0 duplicate(jasntdups) 11_3 139 +in_moc_16,89,175,0 duplicate(jasntdups) 11_4 139 +in_moc_16,86,166,0 duplicate(jasntdups) 12_1 139 +in_moc_16,86,167,0 duplicate(jasntdups) 12_2 139 +in_moc_16,87,166,0 duplicate(jasntdups) 12_3 139 +in_moc_16,87,167,0 duplicate(jasntdups) 12_4 139 +in_moc_16,90,164,0 duplicate(jasntdups) 13_1 139 +in_moc_16,90,165,0 duplicate(jasntdups) 13_2 139 +in_moc_16,91,164,0 duplicate(jasntdups) 13_3 139 +in_moc_16,91,165,0 duplicate(jasntdups) 13_4 139 +in_moc_16,84,160,0 duplicate(jasntdups) 14_1 139 +in_moc_16,85,160,0 duplicate(jasntdups) 14_2 139 +in_moc_16,86,160,0 duplicate(jasntdups) 14_3 139 +in_moc_16,87,160,0 duplicate(jasntdups) 14_4 139 +in_moc_16,88,160,0 duplicate(jasntdups) 14_5 139 +in_moc_16,89,160,0 duplicate(jasntdups) 14_6 139 +in_moc_16,84,161,0 duplicate(jasntdups) 14_7 139 +in_moc_16,85,161,0 duplicate(jasntdups) 14_8 139 +in_moc_16,86,161,0 duplicate(jasntdups) 14_9 139 +in_moc_16,87,161,0 duplicate(jasntdups) 14_10 139 +in_moc_16,88,161,0 duplicate(jasntdups) 14_11 139 +in_moc_16,89,161,0 duplicate(jasntdups) 14_12 139 +in_moc_16,86,154,0 duplicate(jasntdups) 15_1 139 +in_moc_16,86,155,0 duplicate(jasntdups) 15_2 139 +in_moc_16,87,154,0 duplicate(jasntdups) 15_3 139 +in_moc_16,87,155,0 duplicate(jasntdups) 15_4 139 +in_moc_16,84,150,0 duplicate(jasntdups) 16_1 139 +in_moc_16,84,151,0 duplicate(jasntdups) 16_2 139 +in_moc_16,85,150,0 duplicate(jasntdups) 16_3 139 +in_moc_16,85,151,0 duplicate(jasntdups) 16_4 139 +in_moc_16,90,150,0 duplicate(jasntdups) 17_1 139 +in_moc_16,90,151,0 duplicate(jasntdups) 17_2 139 +in_moc_16,91,150,0 duplicate(jasntdups) 17_3 139 +in_moc_16,91,151,0 duplicate(jasntdups) 17_4 139 +in_moc_16,86,146,0 duplicate(jasntdups) 18_1 139 +in_moc_16,86,147,0 duplicate(jasntdups) 18_2 139 +in_moc_16,87,146,0 duplicate(jasntdups) 18_3 139 +in_moc_16,87,147,0 duplicate(jasntdups) 18_4 139 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; + donpcevent "Thomas#ASNTEST::OnReset"; + if (ASN_Q == 3) { + set ASN_Q,3; + } + else { + set ASN_Q,4; + } savepoint "in_moc_16",16,13; + warp "in_moc_16",87,102; 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"; + hideoffnpc "Keeper of the Door#ASN"; end; OnDisable: - disablenpc "Keeper of the Door#ASN"; + hideonnpc "Keeper of the Door#ASN"; + end; + +OnInit: + hideonnpc "Keeper of the Door#ASN"; end; } -in_moc_16,3,3,0 script timestopper#1 -1,{ +in_moc_16,3,3,0 script timestopper#1 139,{ + end; + OnEnable: initnpctimer; end; OnTimer187000: - donpcevent "Thomas#ASNTEST::OnDisable"; + donpcevent "Standby Room#ASNTEST::OnReset"; + donpcevent "Thomas#ASNTEST::OnReset"; 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) { + if (ASN_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; @@ -1508,7 +2417,7 @@ OnTouch: 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!")) { + switch (select("I'm gonna try it again!:I... I quit!")) { case 1: mes "[Thomas]"; mes "Hmm. Well, okay."; @@ -1522,100 +2431,120 @@ OnTouch: 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; + mapannounce "in_moc_16"," " + strcharinfo(0) + " got scared and quit the test...Who's Next?!",bc_map; + donpcevent "Standby Room#ASNTEST::OnReset"; + set ASN_Q,0; + set thief_joblvl,0; + set asn_skill,0; + erasequest 8000; + erasequest 8001; + erasequest 8002; + erasequest 8003; + erasequest 8004; savepoint "in_moc_16",18,14; warp "in_moc_16",18,14; - donpcevent "Standby Room#ASNTEST::OnStart"; - end; } + } else { + 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 ASN_Q,4; + changequest 8003,8004; } + donpcevent "Thomas#ASNTEST::OnTestmode"; + 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"; +OnTestmode: + monster "in_moc_16",81,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",82,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",83,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",84,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",85,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",86,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",88,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",89,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",90,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",77,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",78,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",79,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",80,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",81,55,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",91,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",92,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",93,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",94,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",95,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",96,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",97,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",76,62,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",79,62,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",79,65,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",76,65,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",96,62,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",96,65,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",99,62,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",99,65,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; end; -OnDisable: - donpcevent "Standby Room#ASNTEST::OnStart"; - killmonsterall "in_moc_16"; +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 ASN_Q,3; + warp "in_moc_16",87,102; + killmonster "in_moc_16","Thomas#ASNTEST::OnMyMobDead"; + end; + +OnReset: + killmonster "in_moc_16","Thomas#ASNTEST::OnMyMobDead"; end; } in_moc_16,87,48,2 script Barcardi#ASN 725,2,2,{ + OnTouch: donpcevent "timestopper#1::OnDisable"; - donpcevent "Thomas#ASNTEST::OnDisable"; + donpcevent "Thomas#ASNTEST::OnReset"; mes "[Barcardi]"; mes "Oh! Congratulations!"; mes "You may now proceed to our Guildmaster's room. Good luck!!"; close2; - set ASSIN_Q,5; + set ASN_Q,5; changequest 8004,8005; + donpcevent "Standby Room#ASNTEST::OnReset"; 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) { + if (ASN_Q == 5) { + warp "in_moc_16",181,183; + set ASN_Q,6; + } + if (ASN_Q == 6) { warp "in_moc_16",181,183; - set ASSIN_Q,ASSIN_Q+1; - changequest 8005,8006; + set ASN_Q,7; } else { - mapannounce "in_moc_16",strcharinfo(0)+" has entered 'Guildmaster's room.'",bc_map; + 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; } + end; } -in_moc_16,167,110,0 script Guildmaster#ASN1 -1,3,1,{ +in_moc_16,167,110,0 script Guildmaster#ASN1 139,3,1,{ + OnTouch: savepoint "in_moc_16",167,110; mes "[Guildmaster]"; @@ -1629,18 +2558,28 @@ OnTouch: mes "I look forward"; mes "to meeting you"; mes "at the end of maze."; + changequest 8005,8006; close; -OnDisable: +OnCast: 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; + 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 loose some weight. -"; + close; + } + savepoint "moc_ruins",79,99; + if ((ASN_Q == 7) && (Class == Job_Thief)) { + set ASN_Q,8; mes "[Guildmaster]"; mes "Welcome."; mes "I apologize for"; @@ -1656,7 +2595,7 @@ OnTouch: 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.")) { + switch (select("More power.:An Assassin's pride.:Endless practice.")) { case 1: mes "[Guildmaster]"; mes "More power..."; @@ -1672,9 +2611,9 @@ OnTouch: mes "to be stronger"; mes "than you are now?"; next; - switch(select("Revenge...!:Money~:I want to travel.")) { + switch (select("Revenge...!:Money~:I want to travel.")) { case 1: - set ASSIN_Q,8; + set ASN_Q,8; mes "[Guildmaster]"; mes "Revenge...?"; mes "Yes, I understand. All of us hold grudges against someone else eventually."; @@ -1686,9 +2625,8 @@ OnTouch: mes "Being an Assassin means"; mes "to abandon the ego."; next; - break; case 2: - set ASSIN_Q,9; + set ASN_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; @@ -1697,9 +2635,8 @@ OnTouch: mes "to abandon such worldly"; mes "attachments..."; next; - break; case 3: - set ASSIN_Q,10; + set ASN_Q,10; mes "[Guildmaster]"; mes "Good idea. Traveling around the world will allow you to broaden your experiences."; next; @@ -1709,9 +2646,7 @@ OnTouch: 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..."; @@ -1726,9 +2661,9 @@ OnTouch: 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.")) { + switch (select("I like the solitude.:Making money being an Assassin.:They just look interesting.")) { case 1: - set ASSIN_Q,11; + set ASN_Q,11; mes "[Guildmaster]"; mes "You got the point..."; mes "We are lonely. We will always be alone, even amongst each other..."; @@ -1741,15 +2676,13 @@ OnTouch: 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; + set ASN_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; + set ASN_Q,13; mes "[Guildmaster]"; mes "Style and appearance is only superficial. It is sad that many people think this way..."; next; @@ -1760,9 +2693,7 @@ OnTouch: 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..."; @@ -1772,18 +2703,17 @@ OnTouch: 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.")) { + switch (select("To broaden my skills.:It's a goal of mine.:For spiritual improvement.")) { case 1: - set ASSIN_Q,14; + set ASN_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; + set ASN_Q,15; mes "[Guildmaster]"; mes "It's a goal of yours, eh? Well, I guess you've got to have goals..."; next; @@ -1795,9 +2725,8 @@ OnTouch: 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; + set ASN_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."; @@ -1805,10 +2734,9 @@ OnTouch: mes "[Guildmaster]"; mes "I hope you're not a hypocrite. Spiritual discipline is the best way for you to survive."; next; - break; } - break; } + set @assassin_sangdam,0; mes "[Guildmaster]"; mes "Sadly, there are some nit-wits who are eager to be Assassins even though they don't know anything..."; next; @@ -1821,30 +2749,29 @@ OnTouch: 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.")) { + 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.")) { + 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; + 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; + 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: + set @assassin_sangdam,@assassin_sangdam + 0; 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."; @@ -1853,24 +2780,21 @@ OnTouch: 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.")) { + switch (select("My friends.:My Guildsmen.:My lover.")) { case 1: - set .@assassin_sangdam,.@assassin_sangdam+5; + 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; + set @assassin_sangdam,@assassin_sangdam + 5; mes "[Guildmaster]"; mes "Great..."; mes "Comrades for whom you would die for..."; @@ -1878,30 +2802,30 @@ OnTouch: mes "[Guildmaster]"; mes "As an Assassin, find a job that you can do for them without them knowing.."; next; - break; case 3: + set @assassin_sangdam,@assassin_sangdam + 0; 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 ) + if (Sex == 1) { mes "But you must never reveal to her the Assassin side of your life. No matter what it takes."; - else + } + 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.")) { + switch (select("Places where Assassins can level up...:Main goals as an Assassin.:Financial consulting.")) { case 1: - set .@assassin_sangdam,.@assassin_sangdam+5; + 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; @@ -1909,17 +2833,16 @@ OnTouch: mes "You must know how to"; mes "survive in any situation."; next; - break; case 2: + set @assassin_sangdam,@assassin_sangdam + 0; 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; + 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?"; @@ -1927,9 +2850,7 @@ OnTouch: 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."; @@ -1946,13 +2867,13 @@ OnTouch: 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]"; + donpcevent "[Huey]::OnEnable"; + donpcevent "[Khai]::OnEnable"; + donpcevent "[The Anonymous One]::OnEnable"; + donpcevent "[Barcardi]::OnEnable"; + donpcevent "[Beholder]::OnEnable"; + donpcevent "[Thomas]::OnEnable"; + donpcevent "[Gayle Maroubitz]::OnEnable"; mes "[The Anonymous One]"; mes "I am here."; next; @@ -1962,7 +2883,7 @@ OnTouch: mes "[The Anonymous One]"; mes "Ah yeah..."; mes "I think"; - mes ""+ strcharinfo(0) +""; + mes "" + strcharinfo(0) + ""; mes "is decent."; next; mes "[Guildmaster]"; @@ -1971,7 +2892,7 @@ OnTouch: mes "supports you. How"; mes "about you, Huey?"; next; - if (ASSIN_Q3 == 1) { + if (thief_joblvl == 1) { mes "[Huey]"; mes "A rarity."; mes "You can tell"; @@ -1980,10 +2901,9 @@ OnTouch: mes "[Huey]"; mes "I agree with"; mes "the Anonymous One."; - } - else { + } else { mes "[Huey]"; - mes "Although "+ strcharinfo(0) +" looks too mellow and gentle, kind of like a pussycat, "+ strcharinfo(0) +" has the stuff."; + 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."; @@ -2004,74 +2924,72 @@ OnTouch: 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..."; + 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: + if (ASN_Q == 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: + } + if (ASN_Q == 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: + } + if (ASN_Q == 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: + } + if (ASN_Q == 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: + } + if (ASN_Q == 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: + } + if (ASN_Q == 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: + } + if (ASN_Q == 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: + } + if (ASN_Q == 15) { mes "[Guildmaster]"; mes "Sooner or later, you will find a new goal to which you can devote yourself..."; next; - break; - case 16: + } + if (ASN_Q == 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; + if ((thief_joblvl == 1) && (Class == Job_Baby_Thief || Class == Job_Thief) && (ASN_Q > 6) && (ASN_Q < 17)) { + set thief_joblvl,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")) { + 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; + next; case 2: mes "[Guildmaster]"; mes "A Katar..."; @@ -2080,43 +2998,42 @@ OnTouch: mes "I know it will"; mes "serve you well."; getitem 1253,1; //Katar_ - break; + next; case 3: mes "[Guildmaster]"; mes "I see. You want to use both hands. Here, take your Main Gauche."; getitem 1208,1; //Main_Gauche_ - break; + next; 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; } - next; - } - else { - set ASSIN_Q,17; + } else { mes "[Guildmaster]"; mes "Well, I talked too much."; mes "Please take this first."; next; - switch(rand(1,5)) { - case 1: + set .@asn_item,rand(1,5); + if (.@asn_item == 1) { getitem 1207,1; //Main_Gauche - break; - case 2: + } + if (.@asn_item == 2) { getitem 1250,1; //Jur - break; - case 3: + } + if (.@asn_item == 3) { getitem 1216,1; //Stiletto - break; - case 4: + } + if (.@asn_item == 4) { getitem 1201,1; //Knife - break; - case 5: + } + else { getitem 1252,1; //Katar } } + set ASN_Q,17; mes "[Guildmaster]"; mes "Well, I am giving you a token. Please return to the Assassin expert, the Ferocious-Looking Huey, at the entrance."; next; @@ -2125,24 +3042,49 @@ OnTouch: 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; + savepoint "moc_ruins",79,99; 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]"; + donpcevent "[Huey]::OnDisable"; + donpcevent "[Khai]::OnDisable"; + donpcevent "[The Anonymous One]::OnDisable"; + donpcevent "[Barcardi]::OnDisable"; + donpcevent "[Beholder]::OnDisable"; + donpcevent "[Thomas]::OnDisable"; + donpcevent "[Gayle Maroubitz]::OnDisable"; + close2; + warp "in_moc_16",17,19; + end; + } + if ((ASN_Q == 17) && (countitem(1008) == 0)) { + 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 "moc_ruins",79,99; + getitem 1008,1; //Frozen_Heart + 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..."; + donpcevent "[Huey]::OnDisable"; + donpcevent "[Khai]::OnDisable"; + donpcevent "[The Anonymous One]::OnDisable"; + donpcevent "[Barcardi]::OnDisable"; + donpcevent "[Beholder]::OnDisable"; + donpcevent "[Thomas]::OnDisable"; + donpcevent "[Gayle Maroubitz]::OnDisable"; + changequest 8006,8007; close2; warp "in_moc_16",17,19; end; } - else if (ASSIN_Q == 17) { + if (ASN_Q == 17) { mes "[Guildmaster]"; mes "Umm...?"; mes "How come you're in here...?"; @@ -2153,8 +3095,8 @@ OnTouch: warp "in_moc_16",17,19; end; } - else if (ASSIN_Q > 7 && ASSIN_Q < 17) { - set ASSIN_Q,7; + if ((ASN_Q > 7) && (ASN_Q < 17)) { + set ASN_Q,7; mes "[Guildmaster]"; mes "What the hell? You pressed 'Cancel' during the process. Do you want to change your job or what?"; next; @@ -2163,16 +3105,14 @@ OnTouch: 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; - } + 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,{ @@ -2181,7 +3121,8 @@ in_moc_16,186,81,1 script Master Assist 55,1,1,{ close; } -in_moc_16,170,90,0 script info 1 -1,{ +in_moc_16,170,90,0 script info 1 139,{ + OnTouch: mes "[Guildmaster]"; mes "Huh."; @@ -2189,14 +3130,16 @@ OnTouch: close; } -in_moc_16,153,85,0 script info 2 -1,1,1,{ +in_moc_16,153,85,0 script info 2 139,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,{ +in_moc_16,160,85,0 script info 3 139,1,1,{ + OnTouch: mes "[Guildmaster]"; mes "Hmm."; @@ -2205,7 +3148,8 @@ OnTouch: close; } -in_moc_16,175,89,0 script info 4 -1,1,1,{ +in_moc_16,175,89,0 script info 4 139,1,1,{ + OnTouch: mes "[Guildmaster]"; mes "Umm..."; @@ -2213,7 +3157,8 @@ OnTouch: close; } -in_moc_16,164,88,0 script info 5 -1,{ +in_moc_16,164,88,0 script info 5 139,{ + OnTouch: mes "[Guildmaster]"; mes "Well done..."; @@ -2221,79 +3166,138 @@ OnTouch: close; } -in_moc_16,149,95,0 script info 6 -1,1,1,{ +in_moc_16,149,95,0 script info 6 139,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,{ +in_moc_16,180,101,0 script info 7 139,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,{ +in_moc_16,186,107,0 script info 8 139,1,1,{ + OnTouch: mes "[Guildmaster]"; mes "No sense of direction, eh?"; close; } -in_moc_16,156,87,1 script [Huey] 55,{ +in_moc_16,156,87,1 script [Huey] 55,1,1,{ end; OnInit: - disablenpc "[Huey]"; + hideonnpc "[Huey]"; + end; + +OnDisable: + hideonnpc "[Huey]"; + end; + +OnEnable: + hideoffnpc "[Huey]"; end; } -in_moc_16,156,85,1 script [Khai] 730,{ +in_moc_16,156,85,1 script [Khai] 730,1,1,{ end; OnInit: - disablenpc "[Khai]"; + hideonnpc "[Khai]"; + end; + +OnDisable: + hideonnpc "[Khai]"; + end; + +OnEnable: + hideoffnpc "[Khai]"; end; } -in_moc_16,156,83,1 script [The Anonymous One] 106,{ +in_moc_16,156,83,1 script [The Anonymous One] 106,1,1,{ end; OnInit: - disablenpc "[The Anonymous One]"; + hideonnpc "[The Anonymous One]"; + end; + +OnDisable: + hideonnpc "[The Anonymous One]"; + end; + +OnEnable: + hideoffnpc "[The Anonymous One]"; end; } -in_moc_16,156,81,2 script [Barcardi] 725,{ +in_moc_16,156,81,2 script [Barcardi] 725,1,1,{ end; OnInit: - disablenpc "[Barcardi]"; + hideonnpc "[Barcardi]"; + end; + +OnDisable: + hideonnpc "[Barcardi]"; + end; + +OnEnable: + hideoffnpc "[Barcardi]"; end; } -in_moc_16,156,79,1 script [Beholder] 118,{ +in_moc_16,156,79,1 script [Beholder] 118,1,1,{ end; OnInit: - disablenpc "[Beholder]"; + hideonnpc "[Beholder]"; + end; + +OnDisable: + hideonnpc "[Beholder]"; + end; + +OnEnable: + hideoffnpc "[Beholder]"; end; } -in_moc_16,156,77,1 script [Thomas] 118,{ +in_moc_16,156,77,1 script [Thomas] 118,1,1,{ end; OnInit: - disablenpc "[Thomas]"; + hideonnpc "[Thomas]"; + end; + +OnDisable: + hideonnpc "[Thomas]"; + end; + +OnEnable: + hideoffnpc "[Thomas]"; end; } -in_moc_16,156,75,1 script [Gayle Maroubitz] 55,{ +in_moc_16,156,75,1 script [Gayle Maroubitz] 55,1,1,{ end; OnInit: - disablenpc "[Gayle Maroubitz]"; + hideonnpc "[Gayle Maroubitz]"; + end; + +OnDisable: + hideonnpc "[Gayle Maroubitz]"; + end; + +OnEnable: + hideoffnpc "[Gayle Maroubitz]"; end; } diff --git a/npc/pre-re/jobs/2-1/blacksmith.txt b/npc/pre-re/jobs/2-1/blacksmith.txt index 413fe69fd..db9832ab0 100644 --- a/npc/pre-re/jobs/2-1/blacksmith.txt +++ b/npc/pre-re/jobs/2-1/blacksmith.txt @@ -1,46 +1,18 @@ -//===== 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] -//============================================================== +//===== rAthena Script ======================================= +// Blacksmith Job change Quest +//===== By: ================================================== +//= Masao +//= Credits: Muad_Dib +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= Any rAthena SVN +//===== Description: ========================================= +//= [Translated from the Official] +//= Job change Quest from Merchant -> Blacksmith. +//===== Additional Comments: ================================= +//= 1.0 Updated to latest available official file. [Masao] +//============================================================ ein_in01,18,28,4 script Guildsman#BLS 731,{ if (Upper == 1) { @@ -73,67 +45,57 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ 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; - } + if (Class == Job_Baby || Class == Job_Novice) { + 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; } - else if (BaseClass == Job_Swordman) { + if (Class == Job_Swordman || Class == Job_Knight || Class == Job_Crusader) { 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) { + if (Class == Job_Archer || Class == Job_Hunter || Class == Job_Dancer || Class == Job_Bard) { 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) { + if (Class == Job_Mage || Class == Job_Wizard || Class == Job_Sage) { 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) { + if (Class == Job_Acolyte || Class == Job_Priest || Class == Job_Monk) { 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) { + if (Class == Job_Thief || Class == Job_Assassin || Class == Job_Rogue) { 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) { + if (Class == 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) { + if (Class == Job_Baby_Blacksmith || Class == 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) { + if (Class == Job_Baby_Merchant || Class == Job_Merchant) { + if (SkillPoint != 0) { 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) { + if (BLCKSMTH_Q == 0) { mes "[Altiregen]"; mes "Why don't you stop struggling"; mes "to make zeny as a Merchant and"; @@ -141,14 +103,14 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ 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.")) { + switch (select("Fill out Application.:What are the requirements?:Um, I need to think about it.")) { case 1: - if (SkillPoint) { + if (SkillPoint != 0) { 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) { + if ((JobLevel > 39) && (BLCKSMTH_Q == 0)) { mes "[Altiregen]"; mes "Hmmm..."; mes "Looks like you"; @@ -164,14 +126,14 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ 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; + set BLCKSMTH_Q,1; setquest 2000; mes "[Altiregen]"; mes "Be careful"; mes "and good luck!"; close; } - else if (JobLevel < 40) { + 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; @@ -195,18 +157,18 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ close; } } - else if (BSMITH_Q > 0 && BSMITH_Q < 8) { + if ((BLCKSMTH_Q > 0) && (BLCKSMTH_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) { + if ((BLCKSMTH_Q > 8) && (BLCKSMTH_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) { + if (BLCKSMTH_Q == 15) { mes "[Altiregen]"; mes "Great job!!"; mes "You have passed"; @@ -218,8 +180,9 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ 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; + switch (select("I want to change my job quickly! But...oh well.:Grrr! Enough is enough!")) { + case 1: + set BLCKSMTH_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"; @@ -230,69 +193,93 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ 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; + case 2: + 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; } - 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) { + if (BLCKSMTH_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) { + if ((BLCKSMTH_Q == 17) && (countitem(1005) > 0) && (JobLevel > 39)) { + if (JobLevel > 48) { + 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."; + next; + if(Class == Job_Baby_Merchant){ + jobchange Job_Baby_Blacksmith; + } else { + jobchange Job_Blacksmith; + } + 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 + mes "[Altiregen]"; + mes "Here is a little"; + mes "gift to mark the"; + mes "beginning of your"; + mes "life as a Blacksmith."; + mes "Congratulations!!!"; + getitem 999,30; //Steel changequest 2015,2016; + completequest 2016; + close; } + 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 smithing, the art"; + mes "of the Blacksmith."; next; - set .@joblvl,JobLevel; - callfunc "Job_Change",Job_Blacksmith; - callfunc "F_ClearJobVar"; // clears all job variables for the current player + if(Class == Job_Baby_Merchant){ + jobchange Job_Baby_Blacksmith; + } else { + jobchange Job_Blacksmith; + } 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 + getitem 999,5; //Steel + changequest 2015,2016; + completequest 2016; close; } } } -ein_in01,201,27,3 script Guildsman#alberta 63,{ +ein_in01,201,27,3 script Guildsman#einbech 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) { + if (Class == Job_Baby_Merchant || Class == 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) { + if (BLCKSMTH_Q == 0) { mes "[Geschupenschte]"; mes "But, of course,"; mes "I wouldn't bother you"; @@ -306,190 +293,361 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ 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)) { + if (BLCKSMTH_Q == 1) { + mes "[Geschupenschte]"; + mes "Oh ho ho!"; + mes "You're a Merchant!"; + mes "Excellent! I was"; + mes "in need of some help!"; + next; + 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; + switch (select("Yes.:Um, can I have some time to prepare?")) { + case 1: + set @black_q, 0; + set .@rand_b,rand(1,3); + if (.@rand_b == 1) { 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; + switch (select("Morroc - Thief Clothes:Alberta - Two Hand Axe:Comodo - Berserk Potion:Alberta - Swordmace")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @black_q,@black_q + 10; + break; + } 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; + switch (select("Stun:Blind:Silence:Sleep")) { + case 1: + set @black_q,@black_q + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Vending:Discount:Overcharge:Increase AGI")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @black_q,@black_q + 10; + break; + } 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; + switch (select("Alberta:Morroc:Geffen:Prontera")) { + case 1: + break; + case 2: + break; + case 3: + set @black_q,@black_q + 10; + break; + case 4: + break; + } 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; + switch (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")) { + case 1: + set @black_q,@black_q + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Stiletto:Ring Pommel Saber:Chain:Bible")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @black_q,@black_q + 10; + break; + } 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; + switch (select("Panties:Mink Coat:Wooden Mail:Silk Robe")) { + case 1: + break; + case 2: + set @black_q,@black_q + 10; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("up to + 3:up to + 4:up to + 5:up to + 6")) { + case 1: + break; + case 2: + break; + case 3: + set @black_q,@black_q + 10; + break; + case 4: + break; + } 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; + switch (select("Sakkat:Ghost Bandana:Majestic Goat:Antler")) { + case 1: + set @black_q,@black_q + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Credit:Integrity:Money:Rhetoric")) { + case 1: + set @black_q,@black_q + 10; + break; + case 2: + set @black_q,@black_q + 10; + break; + case 3: + set @black_q,@black_q + 10; + break; + case 4: + set @black_q,@black_q + 10; + break; + } } 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; + switch (select("Al De Baran - Yggdrasil Leaf:Alberta - Hammer:Comodo - Berserk Potion:Al De Baran - Hammer")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @black_q,@black_q + 10; + break; + } 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; + switch (select("1 Zeny:2 Zeny:3 Zeny:4 Zeny")) { + case 1: + break; + case 2: + break; + case 3: + set @black_q,@black_q + 10; + break; + case 4: + break; + } 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; + switch (select("Must have a Cart.:Must have items to sell.:Must be wielding a weapon.:Must be wearing armor.")) { + case 1: + set @black_q,@black_q + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Alberta:Morroc:Geffen:Prontera")) { + case 1: + set @black_q,@black_q + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (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")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @black_q,@black_q + 10; + break; + } 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; + switch (select("Main Gauche:Claymore:Chain:Two handed Axe")) { + case 1: + break; + case 2: + set @black_q,@black_q + 10; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Panties:Mink Coat:Wooden Mail:Silk Robe")) { + case 1: + break; + case 2: + set @black_q,@black_q + 10; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("up to + 3:up to + 4:up to + 5:up to + 6")) { + case 1: + break; + case 2: + set @black_q,@black_q + 10; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Chon Chon:Steel Chon Chon:Zerom:Anolian")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @black_q,@black_q + 10; + break; + } mes "[Geschupenschte]"; mes "10. What is most"; mes "important to a Merchant?"; next; - select("Rhetoric:Credit:Money:Experience"); - set .@black_q,.@black_q+10; + switch (select("Rhetoric:Credit:Money:Experience")) { + case 1: + set @black_q,@black_q + 10; + break; + case 2: + set @black_q,@black_q + 10; + break; + case 3: + set @black_q,@black_q + 10; + break; + case 4: + set @black_q,@black_q + 10; + break; + } } 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 "Let's see...your score is..." + @black_q + " points."; + if (@black_q == 100) { + set BLCKSMTH_Q, 3; + changequest 2000,2002; mes "Oh ho ho~"; mes "You'll have"; mes "no problem"; @@ -501,33 +659,25 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ mes "When you get back, I'll be ready!"; close; } - set BSMITH_Q,2; - if(checkquest(2001) == -1) { - changequest 2000,2001; - } + set BLCKSMTH_Q, 2; + 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; + case 2: + 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~"; + close2; } - 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) { + if (BLCKSMTH_Q == 2) { mes "[Geschupenschte]"; mes "So, have you"; mes "studied a little"; @@ -543,10 +693,358 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ mes "Alright, let's start"; mes "with the questions~"; next; - goto L_AskQuestions; + set @black_q,0; + set .@rand_b,rand(1,3); + if (.@rand_b == 1) { + mes "[Geschupenschte]"; + mes "1. Which one of the following regions is matched incorrectly"; + mes "with its specialty item?"; + next; + switch (select("Morroc - Thief Clothes:Alberta - Two Hand Axe:Comodo - Beserk Potion:Alberta - Swordmace")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @black_q,@black_q + 10; + break; + } + mes "[Geschupenschte]"; + mes "2. What status can"; + mes "be inflicted with the"; + mes "^8E6B23Hammer Fall^000000 skill?"; + next; + switch (select("Stun:Blind:Silence:Sleep")) { + case 1: + set @black_q,@black_q + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + mes "[Geschupenschte]"; + mes "3. Which one of the following skills cannot be performed"; + mes "by a Merchant?"; + next; + switch (select("Vending:Discount:Overcharge:Increase AGI")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @black_q,@black_q + 10; + break; + } + mes "[Geschupenschte]"; + mes "4. Where can you find a store"; + mes "that sells Blue Gemstones?"; + next; + switch (select("Alberta:Morroc:Geffen:Prontera")) { + case 1: + break; + case 2: + break; + case 3: + set @black_q,@black_q + 10; + break; + case 4: + break; + } + mes "[Geschupenschte]"; + mes "5. Where is the"; + mes "Tool Dealer"; + mes "located in Geffen?"; + next; + switch (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")) { + case 1: + set @black_q,@black_q + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + mes "[Geschupenschte]"; + mes "6. Which weapon"; + mes "cannot be used"; + mes "by a Merchant?"; + next; + switch (select("Stiletto:Ring Pommel Saber:Chain:Bible")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @black_q,@black_q + 10; + break; + } + mes "[Geschupenschte]"; + mes "7. Which one of the following"; + mes "has the highest defense rate?"; + next; + switch (select("Panties:Mink Coat:Wooden Mail:Silk Robe")) { + case 1: + break; + case 2: + set @black_q,@black_q + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[Geschupenschte]"; + mes "8. For Level 3 weapons,"; + mes "what is the ^8E6B23Safe^000000 limit"; + mes "for upgrading?"; + next; + switch (select("up to + 3:up to + 4:up to + 5:up to + 6")) { + case 1: + break; + case 2: + break; + case 3: + set @black_q,@black_q + 10; + break; + case 4: + break; + } + mes "[Geschupenschte]"; + mes "9. What item"; + mes "can be made using"; + mes "the ^8E6B23Trunks^000000 item?"; + next; + switch (select("Sakkat:Ghost Bandana:Majestic Goat:Antler")) { + case 1: + set @black_q,@black_q + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + mes "[Geschupenschte]"; + mes "10. The most important"; + mes "part of being a Merchant is...?"; + next; + switch (select("Credit:Integrity:Money:Rhetoric")) { + case 1: + set @black_q,@black_q + 10; + break; + case 2: + set @black_q,@black_q + 10; + break; + case 3: + set @black_q,@black_q + 10; + break; + case 4: + set @black_q,@black_q + 10; + break; + } + } + else { + mes "[Geschupenschte]"; + mes "1. Among the following cities, which one is not correctly matched with its specialty?"; + next; + switch (select("Al De Beran - Yggdrasil Leaf:Alberta - Hammer:Comodo - Beserk Potion:Al De Baran - Hammer")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @black_q,@black_q + 10; + break; + } + mes "[Geschupenschte]"; + mes "2. How much Zeny"; + mes "is one Jellopy worth?"; + next; + switch (select("1 Zeny:2 Zeny:3 Zeny:4 Zeny")) { + case 1: + break; + case 2: + break; + case 3: + set @black_q,@black_q + 10; + break; + case 4: + break; + } + mes "[Geschupenschte]"; + mes "3. What is required"; + mes "for a Merchant to use"; + mes "the ^8E6B23Vending^000000 Skill?"; + next; + switch (select("Must have a Cart.:Must have items to sell.:Must be wielding a weapon.:Must be wearing armor.")) { + case 1: + set @black_q,@black_q + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + mes "[Geschupenschte]"; + mes "4. Where can you"; + mes "change your Job to"; + mes "become a Merchant?"; + next; + switch (select("Alberta:Morroc:Geffen:Prontera")) { + case 1: + set @black_q,@black_q + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + mes "[Geschupenschte]"; + mes "5. Where is the"; + mes "Weapons Dealer"; + mes "located in Morroc?"; + next; + switch (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")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @black_q,@black_q + 10; + break; + } + mes "[Geschupenschte]"; + mes "6. What weapon"; + mes "can a Merchant"; + mes "not use?"; + next; + switch (select("Main Gauche:Claymore:Chain:Two handed Axe")) { + case 1: + break; + case 2: + set @black_q,@black_q + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[Geschupenschte]"; + mes "7. Which one of the following"; + mes "has the highest defense rate?"; + next; + switch (select("Panties:Mink Coat:Wooden Mail:Silk Robe")) { + case 1: + break; + case 2: + set @black_q,@black_q + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[Geschupenschte]"; + mes "8. For Level 3 weapons,"; + mes "what is the ^8E6B23Safe^000000 limit"; + mes "for upgrading?"; + next; + switch (select("up to + 3:up to + 4:up to + 5:up to + 6")) { + case 1: + break; + case 2: + set @black_q,@black_q + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[Geschupenschte]"; + mes "9. What monster does"; + mes "NOT drop Iron Ore?"; + next; + switch (select("Chon Chon:Steel Chon Chon:Zerom:Anolian")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @black_q,@black_q + 10; + break; + } + mes "[Geschupenschte]"; + mes "10. What is most"; + mes "important to a Merchant?"; + next; + switch (select("Rhetoric:Credit:Money:Experience")) { + case 1: + set @black_q,@black_q + 10; + break; + case 2: + set @black_q,@black_q + 10; + break; + case 3: + set @black_q,@black_q + 10; + break; + case 4: + set @black_q,@black_q + 10; + break; + } + } + mes "[Geschupenschte]"; + mes "Hmm, good. You did a great job!"; + next; + mes "[Geschupenschte]"; + mes "Let's see...your score is..." + @black_q + " points."; + if (@black_q > 80) { + set BLCKSMTH_Q,3; + changequest 2001,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 BLCKSMTH_Q,2; + completequest 2000; + setquest 2001; + mes "............."; + next; + mes "[Geschupenschte]"; + 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; } - */ - else if (BSMITH_Q == 3) { + if (BLCKSMTH_Q == 3) { mes "[Geschupenschte]"; mes "Hmm..."; mes "Now, where were"; @@ -566,98 +1064,178 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ 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 .@black_item,rand(1,6); + if (.@black_item == 1) { + set BLCKSMTH_Q,4; + changequest 2002,2003; + mes "[Geschupenschte]"; + mes "^8E6B232 Steel^000000,"; + mes "^8E6B231 Rotten Bandage^000000,"; + mes "^8E6B232 Blue Gemstone^000000, and"; + mes "^8E6B231 Arc Wand^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 "^8E6B232 Steel^000000,"; + mes "^8E6B231 Rotten Bandage^000000,"; + mes "^8E6B232 Blue Gemstone^000000, and"; + mes "^8E6B231 Arc Wand^000000, the kind"; + mes "you can buy from"; + mes "an NPC shop."; + next; } - 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; + if (.@black_item == 2) { + set BLCKSMTH_Q,5; + changequest 2002,2004; + mes "[Geschupenschte]"; + mes "^8E6B232 Star Dust^000000,"; + mes "^8E6B231 Skel-bone^000000,"; + mes "^8E6B231 Zargon^000000 and"; + mes "^8E6B231 Gladius^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 "^8E6B232 Star Dust^000000,"; + mes "^8E6B231 Skel-bone^000000,"; + mes "^8E6B231 Zargon^000000 and"; + mes "^8E6B231 Gladius^000000, the kind"; + mes "you can buy from"; + mes "an NPC shop."; + next; } - 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]) { + if (.@black_item == 3) { + set BLCKSMTH_Q,6; + changequest 2002,2005; mes "[Geschupenschte]"; - mes "Wait..."; - mes "Didn't I tell you"; - mes "to get 3 Steel?"; + mes "^8E6B232 Coal^000000,"; + mes "^8E6B232 Shell^000000,"; + mes "^8E6B232 Red Blood^000000 and"; + mes "^8E6B231 Tsurugi^000000, the kind"; + mes "you can buy from"; + mes "an NPC shop."; 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."; + 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 "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."; + mes "^8E6B232 Coal^000000,"; + mes "^8E6B232 Shell^000000,"; + mes "^8E6B232 Red Blood^000000 and"; + mes "^8E6B231 Tsurugi^000000, the kind"; + mes "you can buy from"; + mes "an NPC shop."; 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; - } + } + if (.@black_item == 4) { + set BLCKSMTH_Q,7; + changequest 2002,2006; mes "[Geschupenschte]"; - mes "Okay."; - mes "Great~!!"; + mes "^8E6B238 Iron Ore^000000,"; + mes "^8E6B231 Eye Patch^000000,"; + mes "^8E6B232 Blue Gemstone^000000 and"; + mes "^8E6B231 Arbalest^000000, the kind"; + mes "you can buy from"; + mes "an NPC shop."; next; mes "[Geschupenschte]"; - mes "^3355FF*Clang...!*^000000"; + 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 "^3355FF*Crash Crash!*^000000"; + mes "^8E6B238 Iron Ore^000000,"; + mes "^8E6B231 Eye Patch^000000,"; + mes "^8E6B232 Blue Gemstone^000000 and"; + mes "^8E6B231 Arbalest^000000, the kind"; + mes "you can buy from"; + mes "an NPC shop."; 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]; + } + else { + set BLCKSMTH_Q,8; + changequest 2002,2007; 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; + mes "^8E6B238 Iron^000000"; + mes "^8E6B2320 Green Herb^000000"; + mes "^8E6B232 Animal Skin^000000"; + mes "and ^8E6B231 Ring Pommel Saber^000000, the kind you can buy from 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 "^8E6B238 Iron^000000"; + mes "^8E6B2320 Green Herb^000000"; + mes "^8E6B232 Animal Skin^000000"; + mes "and ^8E6B231 Ring Pommel Saber^000000, the kind you can buy from an NPC shop."; + next; + } + mes "[Geschupenschte]"; + mes "Okay~"; + mes "Good luck"; + mes "on your first job!"; + close; + } + if ((BLCKSMTH_Q > 3) && (BLCKSMTH_Q < 9)) { + if (BLCKSMTH_Q == 4) { + mes "[Geschupenschte]"; + mes "Ah, you're back!"; + mes "Did you bring"; + mes "everything that"; + mes "I requested?"; + next; + if ((countitem(999) > 1) && (countitem(930) > 0) && (countitem(717) > 1) && (countitem(1610) > 0)) { + 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 Arc Wand^000000, you should really only have an Arc Wand that you bought from an NPC shop in your inventory."; + next; + switch (select("Oh, could you give me a second?:Oh, I brought what you asked for.")) { + case 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; + case 2: + mes "[Geschupenschte]"; + mes "Okay."; + mes "Great~!!"; + next; } + mes "[Geschupenschte]"; + mes "^3355FF*Clang...!*^000000"; + next; + mes "[Geschupenschte]"; + mes "^3355FF*Crash Crash!*^000000"; + next; + delitem 999,2; //Steel + delitem 930,1; //Rotten_Bandage + delitem 717,2; //Blue_Gemstone + delitem 1610,1; //Arc_Wand + set BLCKSMTH_Q,9; + changequest 2003,2008; + mes "[Geschupenschte]"; + mes "Wooooo~~~"; + mes "All done..."; + mes "Okay, now take this to ^8E6B23Baisulist^000000 in Geffen of the Rune-Midgarts Kingdom. Simply deliver it and bring me the receipt."; + getitem 1610,1; //Arc_Wand next; mes "[Geschupenschte]"; mes "Hmm...?"; @@ -675,14 +1253,87 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ 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; + mes "to ^8E6B23Baisulist^000000 in Geffen of the Rune-Midgarts Kingdom,"; + mes "and don't forget"; + mes "the receipt!"; + close; + } + 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 "^8E6B232 Steel^000000,"; + mes "^8E6B231 Rotten Bandage^000000,"; + mes "^8E6B232 Blue Gemstone^000000, and"; + mes "^8E6B231 Arc Wand^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; + } + if (BLCKSMTH_Q == 5) { + mes "[Geschupenschte]"; + mes "Ah, you're back!"; + mes "Did you bring"; + mes "everything that"; + mes "I requested?"; + next; + if ((countitem(1001) > 1) && (countitem(932) > 0) && (countitem(912) > 0) && (countitem(1219) > 0)) { + mes "[Geschupenschte]"; + mes "Wait..."; + mes "Didn't I tell you"; + mes "to get 3 Star Dust?"; + 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 Gladius^000000, you should really only have an Gladius that you bought from an NPC shop in your inventory."; + next; + switch (select("Um, would you give me a second?:Oh, I brought what you asked for.")) { + case 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; + case 2: + mes "[Geschupenschte]"; + mes "Okay."; + mes "Great~!!"; + next; } + mes "[Geschupenschte]"; + mes "^3355FF*Clang...!*^000000"; + next; + mes "[Geschupenschte]"; + mes "^3355FF*Crash Crash!*^000000"; + next; + delitem 1001,2; //Sparkling_Dust + delitem 932,1; //Skel_Bone + delitem 912,1; //Zargon + delitem 1219,1; //Gladius + set BLCKSMTH_Q,10; + changequest 2004,2009; + mes "[Geschupenschte]"; + mes "Wooooo~~~"; + mes "All done..."; + mes "Okay, now take this to ^8E6B23Wickebine^000000 in Morroc of the Rune-Midgarts Kingdom. Simply deliver it and bring me the receipt."; + getitem 1219,1; //Gladius next; mes "[Geschupenschte]"; mes "Hmm...?"; @@ -700,14 +1351,87 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ next; mes "[Geschupenschte]"; mes "Anyway, take this"; - mes "to ^8E6B23Wickebine^000000 in Morroc of Rune-Midgarts Kingdom,"; - break; - Case 11: + mes "to ^8E6B23Wickebine^000000 in Morroc of the Rune-Midgarts Kingdom,"; + mes "and don't forget"; + mes "the receipt!"; + close; + } + 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 "^8E6B232 Star Dust^000000,"; + mes "^8E6B231 Skel-bone^000000,"; + mes "^8E6B231 Zargon^000000 and"; + mes "^8E6B231 Gladius^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; + } + if (BLCKSMTH_Q == 6) { + mes "[Geschupenschte]"; + mes "Ah, you're back!"; + mes "Did you bring"; + mes "everything that"; + mes "I requested?"; + next; + if ((countitem(1003) > 1) && (countitem(935) > 1) && (countitem(990) > 1) && (countitem(1119) > 0)) { + mes "[Geschupenschte]"; + mes "Wait..."; + mes "Didn't I tell you"; + mes "to get 3 Coal?"; + 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 Tsurugi^000000, you should really only have an Tsurugi that you bought from an NPC shop in your inventory."; + next; + switch (select("Um, would you give me a second?:Oh, I brought what you asked for.")) { + case 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; + case 2: + mes "[Geschupenschte]"; + mes "Okay."; + mes "Great~!!"; + next; + } + mes "[Geschupenschte]"; + mes "^3355FF*Clang...!*^000000"; + next; + mes "[Geschupenschte]"; + mes "^3355FF*Crash Crash!*^000000"; + next; + delitem 1003,2; //Coal + delitem 935,2; //Shell + delitem 990,2; //Boody_Red + delitem 1119,1; //Tsurugi + set BLCKSMTH_Q,11; + changequest 2005,2010; + mes "[Geschupenschte]"; + mes "Wooooo~~~"; + mes "All done..."; 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...?"; @@ -726,14 +1450,87 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ 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; + mes "to ^8E6B23Krongast^000000 in Izlude"; + mes "and don't forget"; + mes "the receipt!"; + close; + } + 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 "^8E6B232 Coal^000000,"; + mes "^8E6B232 Shell^000000,"; + mes "^8E6B232 Red Blood^000000 and"; + mes "^8E6B231 Tsurugi^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; + } + if (BLCKSMTH_Q == 7) { + mes "[Geschupenschte]"; + mes "Ah, you're back!"; + mes "Did you bring"; + mes "everything that"; + mes "I requested?"; + next; + if ((countitem(1002) > 7) && (countitem(2212) > 0) && (countitem(717) > 1) && (countitem(1713) > 0)) { + mes "[Geschupenschte]"; + mes "Wait..."; + mes "Didn't I tell you"; + mes "to get 30 Iron Ore?"; + next; + mes "[Geschupenschte]"; + mes "Oh, I guess it was"; + mes "eight 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 Arbalest^000000, you should really only have an Arbalest that you bought from an NPC shop in your inventory."; + next; + switch (select("Um, would you give me a second?:Oh, I brought what you asked for.")) { + case 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; + case 2: + mes "[Geschupenschte]"; + mes "Okay."; + mes "Great~!!"; + next; } + mes "[Geschupenschte]"; + mes "^3355FF*Clang...!*^000000"; + next; + mes "[Geschupenschte]"; + mes "^3355FF*Crash Crash!*^000000"; + next; + delitem 1002,8; //Iron_Ore + delitem 2212,1; //Eye_Bandage + delitem 717,2; //Blue_Gemstone + delitem 1713,1; //Arbalest + set BLCKSMTH_Q,12; + changequest 2006,2011; + mes "[Geschupenschte]"; + mes "Wooooo~~~"; + mes "All done..."; + mes "Okay, now take this to ^8E6B23Talpiz^000000 in Payon of the Rune-Midgarts Kingdom. Simply deliver this and bring me the receipt."; + getitem 1713,1; //Arbalest next; mes "[Geschupenschte]"; mes "Hmm...?"; @@ -742,22 +1539,95 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ 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"; + 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 the Rune-Midgarts Kindgom,"; + mes "and don't forget"; + mes "the receipt!"; + close; + } + 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 "^8E6B238 Iron Ore^000000,"; + mes "^8E6B231 Eye Patch^000000,"; + mes "^8E6B232 Blue Gemstone^000000 and"; + mes "^8E6B231 Arbalest^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; + } + if (BLCKSMTH_Q == 8) { + mes "[Geschupenschte]"; + mes "Ah, you're back!"; + mes "Did you bring"; + mes "everything that"; + mes "I requested?"; + next; + if ((countitem(998) > 7) && (countitem(511) > 19) && (countitem(919) > 1) && (countitem(1122) > 0)) { + mes "[Geschupenschte]"; + mes "Wait..."; + mes "Didn't I tell you"; + mes "to get 40 Iron?"; + next; + mes "[Geschupenschte]"; + mes "Oh, I guess it was"; + mes "eight 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 Ring Pommel Saber^000000. You should really only have just one that you bought from an NPC shop in your inventory."; + next; + switch (select("Um, would you give me a second?:Oh, I brought what you asked for.")) { + case 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; + case 2: + mes "[Geschupenschte]"; + mes "Okay."; + mes "Great~!!"; + next; + delitem 998,8; //Iron + delitem 511,20; //Green_Herb + delitem 919,2; //Animal's_Skin + delitem 1122,1; //Ring_Pommel_Saber + set BLCKSMTH_Q, 13; + changequest 2007,2012; + next; + } + mes "[Geschupenschte]"; + mes "^3355FF*Clang...!*^000000"; next; mes "[Geschupenschte]"; - mes "Anyway, take this"; - mes "to ^8E6B23Talpiz^000000 in Payon of Rune-Midgarts Kindgom,"; - break; - case 13: + mes "^3355FF*Crash Crash!*^000000"; + next; + mes "[Geschupenschte]"; + mes "Wooooo~~~"; + mes "All done..."; 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...?"; @@ -781,12 +1651,10 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ mes "[Geschupenschte]"; mes "Anyway, take this"; mes "to ^8E6B23Bismarc^000000 in Hugel"; + mes "and don't forget"; + mes "the receipt!"; + close; } - mes "and don't forget"; - mes "the receipt!"; - close; - } - else { mes "[Geschupenschte]"; mes "You still haven't"; mes "brought all the items."; @@ -794,12 +1662,10 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ 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."; + mes "^8E6B238 Iron^000000"; + mes "^8E6B2320 Green Herb^000000"; + mes "^8E6B232 Animal Skin^000000"; + mes "and ^8E6B231 Ring Pommel Saber^000000, the kind you can buy from an NPC shop."; next; mes "[Geschupenschte]"; mes "Now, be sure to have"; @@ -811,7 +1677,7 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ close; } } - else if (BSMITH_Q > 8 && BSMITH_Q < 14) { + if ((BLCKSMTH_Q > 8) && (BLCKSMTH_Q < 14)) { mes "[Geschupenschte]"; mes "What are you"; mes "still doing here?"; @@ -820,27 +1686,31 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ mes "Did you forget"; mes "where to go?"; next; - mes "[Geschupenschte]"; - if (BSMITH_Q == 9) { + if (BLCKSMTH_Q == 9) { + mes "[Geschupenschte]"; 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) { + else if (BLCKSMTH_Q == 10) { + mes "[Geschupenschte]"; mes "Find the Swordmace"; mes "dealer ^8E6B23Wickebine^000000 in Morroc. And don't forget the receipt."; } - else if (BSMITH_Q == 11) { + else if (BLCKSMTH_Q == 11) { + mes "[Geschupenschte]"; 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) { + else if (BLCKSMTH_Q == 12) { + mes "[Geschupenschte]"; 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 "[Geschupenschte]"; 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) { + if (BLCKSMTH_Q == 14) { mes "[Geschupenschte]"; mes "Hmmm...?"; mes "Have you"; @@ -848,25 +1718,16 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ mes "the delivery?"; mes "Let's see that receipt~"; next; - if (select("Yes sir, here it is.:Receipt? I, uh, have it somewhere.") == 1) { + switch (select("Yes sir, here it is.:Receipt? I, uh, have it somewhere.")) { + case 1: if (countitem(1073) > 0) { - set BSMITH_Q,15; + set BLCKSMTH_Q,15; + changequest 2008,2013; + changequest 2009,2013; + changequest 2010,2013; + changequest 2011,2013; + changequest 2012,2013; 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!"; @@ -882,7 +1743,7 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ mes "will be a great Blacksmith!"; close; } - set BSMITH_Q,3; + set BLCKSMTH_Q,3; mes "[Geschupenschte]"; mes "You mean..."; mes "You didn't get"; @@ -896,16 +1757,17 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ mes "You'll have to start your"; mes "test all over again!"; close; + case 2: + mes "[Geschupenschte]"; + mes "Return when you"; + mes "find the receipt~"; + mes "You didn't forget"; + mes "to receive a receipt."; + mes "Right...?"; + 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) { + if (BLCKSMTH_Q == 15) { mes "[Geschupenschte]"; mes "Thank you"; mes "very much"; @@ -922,19 +1784,17 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ 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; - } + 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) { + if ((BLCKSMTH_Q == 9) && (countitem(1610) > 0)) { mes "[Baisulist]"; mes "Oh, hello!"; mes "Have you come"; @@ -945,7 +1805,8 @@ geffen,46,164,1 script Baisulist#BLS 69,{ 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) { + switch (select("Whoops, this is one of the items I use...:I'm sure! It's brand new!")) { + case 1: mes "[Baisulist]"; mes "Well..."; mes "I guess I can"; @@ -953,11 +1814,13 @@ geffen,46,164,1 script Baisulist#BLS 69,{ mes "Please hurry with"; mes "my delivery~"; close; + case 2: + mes "[Baisulist]"; + mes "You're"; + mes "absolutely sure?"; + break; } - mes "[Baisulist]"; - mes "You're"; - mes "absolutely sure?"; - set BSMITH_Q,14; + set BLCKSMTH_Q, 14; delitem 1610,1; //Arc_Wand next; mes "[Baisulist]"; @@ -973,44 +1836,42 @@ geffen,46,164,1 script Baisulist#BLS 69,{ 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; + mapannounce "geffen","Hey, " + strcharinfo(0) + ", thank you so much for the delivery~",bc_map; close; } - else if (BSMITH_Q == 14) { + if (BLCKSMTH_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; - } + 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; + if ((BLCKSMTH_Q == 10) && (countitem(1219) > 0)) { + cutin "job_black_hucke01",2; mes "[Wickebine]"; mes "...!"; mes "It's here!"; @@ -1019,8 +1880,9 @@ morocc,27,112,4 script Wickebine#BLS 725,{ 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; + switch (select("Whoops, not that one.:I guarantee you it is new.")) { + case 1: + cutin "job_black_hucke03",2; mes "[Wickebine]"; mes "Oooh...!"; mes "Hurry up"; @@ -1028,33 +1890,35 @@ morocc,27,112,4 script Wickebine#BLS 725,{ next; mes "- She seems to be upset. -"; close2; - cutin "Job_Black_hucke03",255; + cutin "",255; end; + case 2: + 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; + break; } - 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; + set BLCKSMTH_Q, 14; delitem 1219,1; //Gladius - cutin "Job_Black_hucke01",2; + 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; + 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; + cutin "job_black_hucke02",2; mes "[Wickebine]"; mes "But, this is also"; mes "a masterfully crafted item."; @@ -1066,51 +1930,49 @@ morocc,27,112,4 script Wickebine#BLS 725,{ 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; + mapannounce "morocc","Thanks for delivering, " + strcharinfo(0) + "~!",bc_map; + cutin "",255; end; } - else if (BSMITH_Q == 14) { + if (BLCKSMTH_Q == 14) { emotion e_lv; - cutin "Job_Black_hucke02",2; + 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; + cutin "",255; end; } + 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 "",255; + end; } lighthalzen,209,80,4 script Krongast#BLS 734,{ - if (BSMITH_Q == 11 && countitem(1119) > 0) { + if ((BLCKSMTH_Q == 11) && (countitem(1119) > 0)) { mes "[Krongast]"; mes "Ohhhhhh~"; mes "Is it here?"; @@ -1121,7 +1983,8 @@ lighthalzen,209,80,4 script Krongast#BLS 734,{ 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) { + switch (select("Whoops, this one is used!:It was just made, so it's new.")) { + case 1: mes "[Krongast]"; mes "Hmmmmm!"; mes "Please deliver"; @@ -1129,12 +1992,14 @@ lighthalzen,209,80,4 script Krongast#BLS 734,{ mes "I've been waiting"; mes "long enough already..."; close; + case 2: + mes "[Krongast]"; + mes "You double checked?"; + mes "Alright then, I'll take it!"; + next; + break; } - mes "[Krongast]"; - mes "You double checked?"; - mes "Alright then, I'll take it!"; - next; - set BSMITH_Q,14; + set BLCKSMTH_Q, 14; delitem 1119,1; //Tsurugi mes "[Krongast]"; mes "Oh ho..."; @@ -1157,38 +2022,37 @@ lighthalzen,209,80,4 script Krongast#BLS 734,{ mes "your receipt."; mes "Thank you for"; mes "your business!"; - mapannounce "lighthalzen",strcharinfo(0)+"... Thank you for the delivery.",bc_map; - close; + close2; + mapannounce "lighthalzen","" + strcharinfo(0) + "... Thank you for the delivery.",bc_map; + end; } - else if (BSMITH_Q == 14) { + if (BLCKSMTH_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; - } + 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) { + if ((BLCKSMTH_Q == 12) && (countitem(1713) > 0)) { mes "[Talpiz]"; mes "Oh~"; mes "Is it finally here?"; @@ -1197,7 +2061,8 @@ payon,214,79,4 script Talpiz#BLS 59,{ 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) { + switch (select("Whoops, this is a used one.:I'm sure it's new.")) { + case 1: mes "[Talpiz]"; mes "Hmmmm."; mes "Please hurry"; @@ -1206,12 +2071,14 @@ payon,214,79,4 script Talpiz#BLS 59,{ mes "I've waited too"; mes "long already..."; close; + case 2: + mes "[Talpiz]"; + mes "So, you're sure?"; + mes "Let me take a look..."; + next; + break; } - mes "[Talpiz]"; - mes "So, you're sure?"; - mes "Let me take a look..."; - next; - set BSMITH_Q,14; + set BLCKSMTH_Q,14; delitem 1713,1; //Arbalest mes "[Talpiz]"; mes "*wheet whoo*"; @@ -1232,10 +2099,11 @@ payon,214,79,4 script Talpiz#BLS 59,{ 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; + close2; + mapannounce "payon","Thanks, " + strcharinfo(0) + ", you really delivered. Everytime I look at this, I love it even more~",bc_map; + end; } - else if (BSMITH_Q == 14) { + if (BLCKSMTH_Q == 14) { mes "[Talpiz]"; mes "Really,"; mes "I can't say it"; @@ -1243,26 +2111,24 @@ payon,214,79,4 script Talpiz#BLS 59,{ 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; - } + 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) { + if ((BLCKSMTH_Q == 13) && (countitem(1122) > 0)) { mes "[Bismarc]"; mes "Sweet God..."; mes "Have you sent"; @@ -1274,7 +2140,8 @@ hugel,168,183,1 script Bismarc#BLS 118,{ 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) { + switch (select("Whoops, this is my own Ring Pommel Saber.:I'm sure this is the one.")) { + case 1: mes "[Bismarc]"; mes "N-Nooo..."; mes "Hurry...!"; @@ -1286,13 +2153,15 @@ hugel,168,183,1 script Bismarc#BLS 118,{ mes "he's slowly dying...!"; mes "You'd better hurry.^000000"; close; + case 2: + mes "[Bismarc]"; + mes "^666666*Ghklk*^000000"; + mes "Give it...!"; + mes "Pleeeease!"; + next; + break; } - mes "[Bismarc]"; - mes "^666666*Ghklk*^000000"; - mes "Give it...!"; - mes "Pleeeease!"; - next; - set BSMITH_Q,14; + set BLCKSMTH_Q,14; delitem 1122,1; //Ring_Pommel_Saber mes "^3355FFBismarc stabs"; mes "himself, repeatedly,"; @@ -1328,48 +2197,48 @@ hugel,168,183,1 script Bismarc#BLS 118,{ 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; + close2; + mapannounce "hugel","Thanks, " + strcharinfo(0) + ", for the delivery. You saved my life...",bc_map; + end; } - else if (BSMITH_Q == 14) { + if (BLCKSMTH_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; - } + 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) { + if (BLCKSMTH_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."; + mes "As you've realized from your past tests, you won't be promoted from Merchant to Blacksmith 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) { + switch (select("Yes:No, not yet~")) { + case 1: mes "[Mitehmaeeuh]"; mes "Alright..."; mes "My test is simple."; @@ -1378,44 +2247,80 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ mes "you fail. And I won't"; mes "tell you what you missed."; next; + set .@wizard_m2,rand(1,3); set .@blackss_te,0; mes "[Mitehmaeeuh]"; mes "Please listen"; mes "and answer carefully..."; next; - switch(rand(1,3)) { - case 1: + if (.@wizard_m2 == 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; + switch (select("Level 3 Push Cart:Item Appraisal:Level 10 Mammonite:Level 3 Enlarge Weight")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @blackss_te,@blackss_te + 20; + break; + } 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; + switch (select("Stun:Blindness:Chaos:Silence")) { + case 1: + set @blackss_te,@blackss_te + 20; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("900 Zeny:1000 Zeny:2000 Zeny:100,000 Zeny")) { + case 1: + break; + case 2: + set @blackss_te,@blackss_te + 20; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("21 % :22 % :23 % :24 % ")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @blackss_te,@blackss_te + 20; + break; + } mes "[Mitehmaeeuh]"; mes "5. What is the maximum"; mes "percentage that you can"; @@ -1423,31 +2328,70 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ 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: + switch (select("21 % :22 % :23 % :24 % ")) { + case 1: + break; + case 2: + break; + case 3: + set @blackss_te,@blackss_te + 20; + break; + case 4: + break; + } + } + if (.@wizard_m2 == 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; + switch (select("Zerom:Chon Chon:Skel Worker:Requiem")) { + case 1: + break; + case 2: + break; + case 3: + set @blackss_te,@blackss_te + 20; + break; + case 4: + break; + } 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; + switch (select("Flame Heart:Rough Wind:Great Nature:Mystic Frozen")) { + case 1: + set @blackss_te,@blackss_te + 20; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Wind of Verdure:Red Blood:Green Live:Crystal Blue")) { + case 1: + set @blackss_te,@blackss_te + 20; + break; + case 2: + set @blackss_te,@blackss_te + 20; + break; + case 3: + set @blackss_te,@blackss_te + 20; + break; + case 4: + set @blackss_te,@blackss_te + 20; + break; + } mes "[Mitehmaeeuh]"; mes "4. In general,"; mes "which of the following"; @@ -1455,28 +2399,50 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ 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; + switch (select("Fire Property:Water Property:Earth Property:Wind Property")) { + case 1: + break; + case 2: + set @blackss_te,@blackss_te + 20; + break; + case 3: + break; + case 4: + break; + } 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: + switch (select("5 Iron Ore :4 Iron Ore:3 Iron Ore:6 Iron Ore")) { + case 1: + set @blackss_te,@blackss_te + 20; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + } + else { 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.")) { + switch (select("Ask them what they need.:Have a brief conversation.:Ignore them.:Give items and run away.")) { case 1: + set @blackss_te,@blackss_te + 20; + break; case 2: - set .@blackss_te,.@blackss_te+20; + set @blackss_te,@blackss_te + 20; break; - default: + case 3: + break; + case 4: break; } mes "[Mitehmaeeuh]"; @@ -1485,30 +2451,65 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ 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; + switch (select("Al De Baran:Alberta:Morroc:Izlude")) { + case 1: + break; + case 2: + set @blackss_te,@blackss_te + 20; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("11 o'clock:5 o'clock:7 o'clock:12 o'clock")) { + case 1: + break; + case 2: + set @blackss_te,@blackss_te + 20; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Prontera:Morroc:Alberta:Einbroch")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @blackss_te,@blackss_te + 20; + break; + } 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; + switch (select("STR :DEX:AGI :VIT ")) { + case 1: + break; + case 2: + set @blackss_te,@blackss_te + 20; + break; + case 3: + break; + case 4: + break; + } } mes "[Mitehmaeeuh]"; mes "Ah..."; @@ -1517,21 +2518,22 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ next; mes "[Mitehmaeeuh]"; mes "You earned"; - mes ""+ .@blackss_te +" points..."; - if (.@blackss_te > 70) { + 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; + mes "However, don't let your early success make you overconfident."; + mes "A Blacksmith's life isn't a picnic. As proof that you have passed the test, I give you this Hammer of Blacksmith."; + set BLCKSMTH_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!"; + mes "of Blacksmith and go back to the Einbroch Blacksmith Guild. Okay then? I wish you the best of luck!"; close; } mes "You failed! You better study up before coming back here."; @@ -1539,21 +2541,22 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ mes "[Mitehmaeeuh]"; mes "With your knowledge, or lack thereof, you'll just end up hurting yourself holding a hammer!"; close; + case 2: + mes "[Mitehmaeeuh]"; + mes "Okay then."; + mes "Please prepare"; + mes "yourself and return"; + mes "when you are ready..."; + close; } - mes "[Mitehmaeeuh]"; - mes "Okay then."; - mes "Please prepare"; - mes "yourself and return"; - mes "when you are ready..."; - close; } - else if (BSMITH_Q == 17) { + if (BLCKSMTH_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?"; + mes "Why don't you go back to Mr.Geschupenschte?"; next; mes "[Mitehmaeeuh]"; mes "Don't forget to bring the Hammer of Blacksmith with you!"; @@ -1562,22 +2565,20 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ 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; - } + 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,{ @@ -1593,16 +2594,16 @@ geffen_in,109,170,3 script Blacksmith Guildsman#gef 726,{ 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.")) { + 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."; + mes "Unlike the Rune-Midgarts Kingdom, the Schwaltzvalt 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."; + mes "In ^3131FF'Izlude'^000000, you can use ^3131FF'the international airship'^000000 which travels between ^3131FFIzlude and Juno in the 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."; @@ -1618,7 +2619,7 @@ geffen_in,109,170,3 script Blacksmith Guildsman#gef 726,{ mes "Excuse me, but you do not have enough money."; close; } - set zeny,zeny-600; + set Zeny, Zeny - 600; warp "izlude",94,103; end; case 3: @@ -1626,4 +2627,4 @@ geffen_in,109,170,3 script Blacksmith Guildsman#gef 726,{ mes "Please take care!"; close; } -} +} \ No newline at end of file diff --git a/npc/pre-re/jobs/2-1/hunter.txt b/npc/pre-re/jobs/2-1/hunter.txt index 7ec9fd7ec..157b36158 100644 --- a/npc/pre-re/jobs/2-1/hunter.txt +++ b/npc/pre-re/jobs/2-1/hunter.txt @@ -1,63 +1,20 @@ //===== rAthena Script ======================================= -//= Hunter Job Quest +// Hunter Job change Quest //===== By: ================================================== -//= EREMES THE CANIVALIZER (Aegis)Translated by yoshiki (Aegis) -//= Converted by kobra_k88 -//= Further bugfixed and tested by Lupus +//= Masao +//= Credits: Muad_Dib //===== Current Version: ===================================== -//= 3.7 +//= 1.0 //===== Compatible With: ===================================== -//= rAthena SVN +//= Any rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job Change quest for Hunter class. +//= [Translated from the Official] +//= Job change Quest from Archer -> Hunter. //===== 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). +//= 1.0 Updated to latest available official file. [Masao] //============================================================ -// Notices in the old Hunter Guild. -//============================================================ -in_hunter,99,99,4 script Hunter Info#hnt::HntNotice 727,{ +in_hunter,99,99,4 script Hunter Info 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."; @@ -70,14 +27,27 @@ in_hunter,99,99,4 script Hunter Info#hnt::HntNotice 727,{ mes " "; mes " "; mes " "; - mes "I, the Falcon breeder have moved out as well."; + mes "I, the Falcon breeder has moved out as well."; close; } -pay_fild10,148,252,3 duplicate(HntNotice) Job Change Location#hu 857 +pay_fild10,148,252,3 script Job Change Location Change Notice#hugel 857,{ + 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 ^ff0000the far upper right side of Hugel000000."; + next; + mes "^804000(You found a tiny line written at the end of the notice.)^000000"; + mes " "; + mes " "; + mes " "; + mes "I, the Falcon breeder has moved out as well."; + close; +} -// Actual Job quest start -//============================================================ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ if (Upper == 1) { mes "[Hunter Sherin]"; @@ -88,7 +58,7 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ mes "Oops! I'm sorry, I could have sworn that we've met before. Huh. How weird."; close; } - if (BaseJob == Job_Archer && JobLevel < 40) { + if ((Class == Job_Baby_Archer || Class == 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; @@ -99,51 +69,51 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ mes "See you next time~"; close; } - if (SkillPoint) { + if (SkillPoint != 0) { 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) { + if (Class == Job_Baby || Class == 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) { + if (Class == Job_Swordman || Class == Job_Knight || Class == Job_Crusader) { 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) { + if (Class == Job_Mage || Class == Job_Wizard || Class == Job_Sage) { 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) { + if (Class == Job_Acolyte || Class == Job_Priest || Class == Job_Monk) { 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) { + if (Class == Job_Merchant || Class == Job_Blacksmith || Class == Job_Alchemist) { mes "[Hunter Guildsman]"; mes "Oh..."; mes "How's your business coming along?"; close; } - else if (BaseClass == Job_Thief) { + if (Class == Job_Thief || Class == Job_Assassin || Class == Job_Rogue) { 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) { + if (Class == Job_Dancer || Class == 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) { + if (Class == Job_Baby_Hunter || Class == 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?"; @@ -152,13 +122,13 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ 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) { + if (Class == Job_Archer) { + if (SkillPoint != 0) { 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) { + 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; @@ -166,246 +136,303 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ 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) { + if ((HNTR_Q == 17) && (countitem(1007) > 0) && (JobLevel > 39)) { + if (JobLevel > 49) { + 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!!"; + if(Class == Job_Baby_Archer){ + jobchange Job_Baby_Hunter; + } else { + jobchange Job_Hunter; + } + completequest 4013; + 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~"; + getitem 1718,1; //Hunter_Bow + close; + } mes "[Hunter Sherin]"; mes "Oh...?"; mes "You passed"; - mes "the job test?!"; + mes "the job test?!!"; mes "Congratulations~!!"; next; mes "[Hunter Sherin]"; mes "Well then,"; mes "I will now change"; - mes "your job to a Hunter~"; + 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; + if(Class == Job_Baby_Archer){ + jobchange Job_Baby_Hunter; + } else { + jobchange Job_Hunter; + } 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~"; + mes "Become a noble person and be a worthy representative of the 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 + getitem 1710,1; //CrossBow close; } - else if ((JobLevel > 39) && ((HNTR_Q == 0) || (HNTR_Q == 1))) { - if (HNTR_Q == 0) { + if ((JobLevel > 39) && (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 "Oh, you're an Archer! It seems as if you've trained enough as an Archer... You came here to become a Hunter, right?"; + mes "Hehe~"; + mes "I was right! Let me put you on the candidate list. Let's see~*"; 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.")) { + 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; + switch (select("Yes~ Let's start now.:No, I'll be back later.")) { case 1: - mes "[Hunter Guildsman]"; - mes "Hehe~"; - mes "I was right! Let me put you on the candidate list. Let's see~*"; + 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; + set @knight_t, 0; + 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 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + 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 Guildsman]"; - mes "Hmm... Let's start with the interview. Wait and relax a moment. No need to worry, I'll prepare everything~"; + 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 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + 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 "^3355FF*Gathers and flips through papers*^000000"; + mes "[Hunter Sherin]"; + mes "How would you go"; + mes "about to make the"; + mes "Zeny that you need?"; next; - mes "^3355FF*Rummage rummage*^000000"; + switch (select("Beg here and there.:Sell items I do not need.:Hunt at a nearby field.")) { + case 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + 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 Guildsman]"; - mes "Ah!"; - mes "Here they are: the interview questions~ First of all, my name is 'Sherin.' Nice to meet you!"; + mes "[Hunter Sherin]"; + mes "What is your"; + mes "solution to this"; + mes "situation?"; next; + switch (select("Attack a Hode from the top of a hill.:Go back to town.:Attack someone else's Hode.")) { + case 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + break; + } mes "[Hunter Sherin]"; - mes "Well then,"; - mes "shall we begin?"; + 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; + switch (select("Would it be possible to get a Heal, please?:Heal, please.:Heal me.")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + break; + case 3: + break; + } + 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 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + mes "[Hunter Sherin]"; + mes "While you are waiting, someone is begging for items and Zeny. What should you do?"; + next; + switch (select("Give some of my items and Zeny.:Ignore and walk away.:Tell the person about a good place to hunt.")) { + case 1: + break; + case 2: + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + 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: + set @knight_t, @knight_t + 10; + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + 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("Yes~ Let's start now.:No, I'll be back later.") == 1) { - if(checkquest(4000) == -1) { - setquest 4000; - } + switch (select("Watch, then attack when asked for help.:Attack and see what happens.:Just go back to town.")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + break; + case 3: + break; + } + 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 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + mes "[Hunter Sherin]"; + mes "Okay, this is the end of the test!"; + next; + if (@knight_t == 100) { + set HNTR_Q,2; + setquest 4001; 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?"; + 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 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; + 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 (@knight_t == 90) { + set HNTR_Q,2; + setquest 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 "Okay..."; - mes "Come back"; - mes "when you're ready~"; + mes "Just remember to always keep basic etiquette in mind. Try harder in the following tests and make me happy, okay?"; 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; + set HNTR_Q,1; + setquest 4000; 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~"; + 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 "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."; + 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 "Just remember to always keep basic etiquette in mind. Try harder in the following tests and make me happy, okay?"; + 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 Sherin]"; + mes "Okay..."; + mes "Come back"; + mes "when you're ready~"; 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"; @@ -425,7 +452,7 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ 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; + close; case 3: mes "[Hunter Guildsman]"; mes "Okay then,"; @@ -433,153 +460,492 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ close; } } - else if (HNTR_Q > 2 && HNTR_Q < 10) { + if ((JobLevel > 39) && (HNTR_Q == 1)) { 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~"; + mes "Welcome back...!"; + mes "Well, let's start with the interview. This time, carefully think about the answers to each question."; next; + set @knight_t, 0; 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 "Well then,"; + mes "let's begin."; + next; mes "[Hunter Sherin]"; - mes "????"; + 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 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } mes "[Hunter Sherin]"; - mes "You weren't able to find the Demon Hunter? That guy is just to the left! Hehe~"; + 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 "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?"; + mes "But you are in Payon!!"; + mes "How do you go to the desert?"; 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; + switch (select("Ask a Priest to open a free warp portal.:Use the Kafra service.:Walk with a friend.")) { + case 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + break; } - } - 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]; + 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 "[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."; + mes "[Hunter Sherin]"; + mes "How would you go"; + mes "about to make the"; + mes "Zeny that you need?"; 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; + switch (select("Beg here and there.:Sell items I do not need.:Hunt at a nearby field.")) { + case 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + break; } - else if(checkquest(4005) != -1) { - changequest 4005,4009; + 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; + switch (select("Attack a Hode from the top of a hill.:Go back to town.:Attack someone else's Hode.")) { + case 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + break; } - else if(checkquest(4006) != -1) { - changequest 4006,4010; + 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; + switch (select("Would it be possible to get a Heal, please?:Heal, please.:Heal me.")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + break; + case 3: + break; + } + 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 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + mes "[Hunter Sherin]"; + mes "While you are waiting, someone is begging for items and Zeny. What should you do?"; + next; + switch (select("Give some of my items and Zeny.:Ignore and walk away.:Tell the person about a good place to hunt.")) { + case 1: + break; + case 2: + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + 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: + set @knight_t, @knight_t + 10; + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + 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; + switch (select("Watch, then attack when asked for help.:Attack and see what happens.:Just go back to town.")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + break; + case 3: + break; + } + 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 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + break; } - else if(checkquest(4007) != -1) { - changequest 4007,4010; + mes "[Hunter Sherin]"; + mes "Okay, this is"; + mes "the end of the test!"; + next; + if (@knight_t == 100) { + set HNTR_Q,2; + setquest 4001; + mes "[Hunter Sherin]"; + mes "Well done! It seems you've got the right outlook on life. You definitely have what it takes to become a Hunter~"; + next; + mes "[Hunter Sherin]"; + mes "I'm happy to say you've passed the interview~ Now, go to that person in the corner and confirm which items are necessary for the job change test~"; + close; } - else { - changequest 4008,4010; + if (@knight_t == 90) { + set HNTR_Q,2; + setquest 4001; + mes "[Hunter Sherin]"; + mes "Hmmm... Well, your score isn't exactly perfect, but I'll let you pass anyway. I'm not sure what our Guildmaster will think though..."; + next; + mes "[Hunter Sherin]"; + mes "Just remember to keep the basics of etiquette in mind. Try harder in the following tests, and make me happy, okay?"; + close; } - delitem .@items[0],.@items[1]; - delitem .@items[2],.@items[3]; - delitem .@items[4],.@items[5]; + if (HNTR_Q == 1){ + mes "[Hunter Sherin]"; + mes "Hmm..."; + mes "I'm sorry but you can't become a Hunter without knowing basic etiquette."; + next; + mes "[Hunter Sherin]"; + mes "Think about how you answered the questions once more. In order to be in tune with nature, you must first value your relationship with others."; + next; + mes "[Hunter Sherin]"; + mes "Well then..."; + mes "Come back"; + mes "when you're ready."; + close; + } + } + 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; + if (Sex == 1) { + mes "[Hunter Sherin]"; + 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!!"; + close; + } + mes "[Hunter Sherin]"; + 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; + } + 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 a building east of 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; + switch (select("Yes, that is correct.:Nope~~(heeheehee)")) { + case 1: + 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; + set .@item_need, rand(1,7); + if (.@item_need == 1) { + mes "[Demon Hunter]"; + mes "Hmm. ^6600005 Claw of Desert Wolf^000000 to use for arrow tips. ^6600005 Trunk^000000 to use here and there. And ^6600003 White Herb^000000 please."; + set HNTR_Q,3; + changequest 4001,4002; + 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 since he's the one that administers the test."; + mes "You can find him in a building east of the Payon Central Palace."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back to me when you have everything ready~"; + close; + } + if (.@item_need == 2) { + mes "[Demon Hunter]"; + mes "Hmm. ^6600003 Bill of Birds^000000 to use for the arrow tips. ^6600005 Skel-bone^000000 to use here and there. And ^6600003 Green Herbs^000000. That should be enough."; + set HNTR_Q,4; + changequest 4001,4003; + 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 since he's the one that administers the test."; + mes "You can find him in a building east of the Payon Central Palace."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back to me when you have everything ready~"; + close; + } + if (.@item_need == 3) { + mes "[Demon Hunter]"; + mes "Mmm. ^6600003 Venom Canine^000000 to use as arrow tips. ^6600003 Animal Skin^000000 to use here and there. And ^6600005 Red Herb^000000. That should be enough."; + set HNTR_Q,5; + changequest 4001,4004; + 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 since he's the one that administers the test."; + mes "You can find him in a building east of the Payon Central Palace."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back to me when you have everything ready~"; + close; + } + if (.@item_need == 4) { + mes "[Demon Hunter]"; + mes "Mmm. ^6600003 Dokkaebi Horn^000000 to make the arrow tips. ^6600003 Piece of Egg Shell^000000 to use here and there. And ^66000010 Fluff^000000. That should be enough."; + set HNTR_Q,6; + changequest 4001,4005; + 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 since he's the one that administers the test."; + mes "You can find him in a building east of the Payon Central Palace."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back to me when you have everything ready~"; + close; + } + if (.@item_need == 5) { + mes "[Demon Hunter]"; + mes "Mmm. ^6600009 Shell^000000 to make the arrow tips. ^6600009 Worm Peeling^000000 to use here and there. And ^6600009 Yellow Herb^000000. That should be enough."; + set HNTR_Q,7; + changequest 4001,4006; + next; + mes "[Demon Hunter]"; + mes "By the way, a member of our Hunter Guild is at the Archer Guild on official business. I believe you have to go visit this person since he is in charge of the testing."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back when you have everything ready~"; + close; + } + if (.@item_need == 6) { + mes "[Demon Hunter]"; + mes "Mmm. ^6600003 Tooth of Bat^000000 to use for the arrow tips. ^6600001 Sticky Mucus^000000 to use as adhesive. And ^6600001 Bear's Footskin^000000 will do."; + set HNTR_Q,8; + changequest 4001,4007; + next; + mes "[Demon Hunter]"; + mes "By the way, a member of our Hunter Guild is at the Archer Guild on official business. I believe you have to go visit the person since he's in charge of the testing."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back when you have everything ready~"; + close; + } + mes "[Demon Hunter]"; + mes "Mmm. ^6600002 Porcupine Quill^000000 to use for the arrow tips. ^6600001 Yoyo Tail^000000 to help make the bow string. And ^6600001 Acorn^000000 please."; + set HNTR_Q,9; + changequest 4001,4008; + next; + mes "[Demon Hunter]"; + mes "Before I forget. A member of our Hunter Guild is at the Archer Guild for official business. I believe you have to go visit the person since he is in charge of the testing."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back when you have everything ready~"; + close; + case 2: + mes "[Demon Hunter]"; + mes "Hey, stop messing around."; + mes "Your name is " + strcharinfo(0) + ", right?"; + next; + switch (select("Yes...:Hehehe. I keep telling you, it's not~~")) { + case 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; + set .@item_need, rand(1,7); + if (.@item_need == 1) { + mes "[Demon Hunter]"; + mes "Hmm. 5 ^660000Claw of Desert Wolf^000000 to use for arrow tips. ^6600005 Trunk^000000 to use here and there. And ^6600003 White Herb^000000 please."; + set HNTR_Q,3; + changequest 4001,4002; + 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 since he's the one that administers the test."; + mes "You can find him in a building east of the Payon Central Palace."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back to me when you have everything ready~"; + close; + } + if (.@item_need == 2) { + mes "[Demon Hunter]"; + mes "Hmm. ^6600003 Bill of Birds^000000 to use for the arrow tips. ^6600005 Skel-bone^000000 to use here and there. And ^6600003 Green Herbs^000000. That should be enough."; + set HNTR_Q,4; + changequest 4001,4003; + 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 since he's the one that administers the test."; + mes "You can find him in a building east of the Payon Central Palace."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back to me when you have everything ready~"; + close; + } + if (.@item_need == 3) { + mes "[Demon Hunter]"; + mes "Mmm. ^6600003 Venom Canine^000000 to use as arrow tips. ^6600003 Animal Skin^000000 to use here and there. And ^6600005 Red Herb^000000. That should be enough."; + set HNTR_Q,5; + changequest 4001,4004; + 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 since he's the one that administers the test."; + mes "You can find him in a building east of the Payon Central Palace."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back to me when you have everything ready~"; + close; + } + if (.@item_need == 4) { + mes "[Demon Hunter]"; + mes "Mmm. ^6600003 Dokkaebi Horn^000000 to make the arrow tips. ^6600003 Piece of Egg Shell^000000 to use here and there. And ^66000010 Fluff^000000. That should be enough."; + set HNTR_Q,6; + changequest 4001,4005; + 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 since he's the one that administers the test."; + mes "You can find him in a building east of the Payon Central Palace."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back to me when you have everything ready~"; + close; + } + if (.@item_need == 5) { + mes "[Demon Hunter]"; + mes "Mmm. ^6600009 Shell^000000 to make the arrow tips. ^6600009 Worm Peeling^000000 to use here and there. And ^6600009 Yellow Herb^000000. That should be enough."; + set HNTR_Q,7; + changequest 4001,4006; + next; + mes "[Demon Hunter]"; + mes "By the way, a member of our Hunter Guild is at the Archer Guild on official business. I believe you have to go visit this person since he is in charge of the testing."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back when you have everything ready~"; + close2; + } + if (.@item_need == 6) { + mes "[Demon Hunter]"; + mes "Mmm. ^6600003 Tooth of Bat^000000 to use for the arrow tips. ^6600001 Sticky Mucus^000000 to use as adhesive. And ^6600001 Bear's Footskin^000000 will do."; + set HNTR_Q,8; + changequest 4001,4007; + next; + mes "[Demon Hunter]"; + mes "By the way, a member of our Hunter Guild is at the Archer Guild on official business. I believe you have to go visit the person since he's in charge of the testing."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back when you have everything ready~"; + close; + } + mes "[Demon Hunter]"; + mes "Mmm. ^6600002 Porcupine Quill^000000 to use for the arrow tips. ^6600001 Yoyo Tail^000000 to help make the bow string. And ^6600001 Acorn^000000 please."; + set HNTR_Q,9; + changequest 4001,4008; + next; + mes "[Demon Hunter]"; + mes "Before I forget. A member of our Hunter Guild is at the Archer Guild for official business. I believe you have to go visit the person since he is in charge of the testing."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back when you have everything ready~"; + close; + case 2: + 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; + } + } + } + if (HNTR_Q == 3) { + mes "[Demon Hunter]"; + mes "Hmm?"; + next; + if ((countitem(7030) > 4) && (countitem(1019) > 4) && (countitem(509) > 2)) { + 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,10; + completequest 4002; + completequest 4003; + completequest 4004; + completequest 4005; + completequest 4006; + completequest 4007; + completequest 4008; + setquest 4009; + delitem 7030,5; //Claw_Of_Desert_Wolf + delitem 1019,5; //Wooden_Block + delitem 509,3; //White_Herb close; } mes "[Demon Hunter]"; @@ -588,70 +954,285 @@ hu_in01,382,382,4 script Guild Receptionist#hnt 732,{ 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 "^6600005 Claw of Desert Wolf^000000,"; + mes "^6600005 Trunk^000000 and"; + mes "^6600003 White Herb^000000."; mes "Come back once you have"; mes "gathered all the items."; close; } - else if (HNTR_Q > 9 && HNTR_Q < 17) { + if (HNTR_Q == 4) { 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."; + mes "Ah, you have returned."; + next; + if ((countitem(925) > 2) && (countitem(932) > 4) && (countitem(511) > 2)) { + mes "[Demon Hunter]"; + mes "You brought all the necessary materials... You can get directions to the testing area from our Guildmaster that is currently in the Payon Central Palace."; + set HNTR_Q,10; + completequest 4002; + completequest 4003; + completequest 4004; + completequest 4005; + completequest 4006; + completequest 4007; + completequest 4008; + setquest 4009; + delitem 925,3; //Bill_Of_Birds + delitem 932,5; //Skel_Bone + delitem 511,3; //Green_Herb + 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 "^6600003 Bill of Birds^000000,"; + mes "^6600005 Skel-bone^000000 and"; + mes "^6600003 Green Herb^000000."; + mes "Come back once you have"; + mes "gathered all the items."; close; } - else if (HNTR_Q == 17) { + if (HNTR_Q == 5) { mes "[Demon Hunter]"; - mes "Ooh. You passed the test. Congratulations~ You should go talk to Sherin now."; + mes "Hmm...let me see."; + next; + if ((countitem(937) > 2) && (countitem(919) > 2) && (countitem(507) > 4)) { + mes "[Demon Hunter]"; + mes "You brought all of the necessary materials... You can get directions to the testing area from our Guildmaster that is currently in the Payon Central Palace."; + set HNTR_Q,10; + completequest 4002; + completequest 4003; + completequest 4004; + completequest 4005; + completequest 4006; + completequest 4007; + completequest 4008; + setquest 4009; + delitem 937,3; //Posionous_Canine + delitem 919,3; //Animal's_Skin + delitem 507,5; //Red_Herb + 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 "^6600003 Venom Canine^000000,"; + mes "^6600003 Animal Skin^000000 and"; + mes "^6600005 Red Herb^000000."; + mes "Come back once you have"; + mes "gathered all of the items."; close; } - else { - mes "[Guild Receptionist]"; - mes "If you wish to change your job to a Hunter, you must register first."; + if (HNTR_Q == 6) { + mes "[Demon Hunter]"; + mes "Hmm? Let me see... "; + next; + if ((countitem(1021) > 2) && (countitem(7032) > 2) && (countitem(914) > 9)) { + mes "[Demon Hunter]"; + mes "You brought all of the necessary materials... You can get directions to the testing area from our Guildmaster that is currently in the Payon Central Palace."; + set HNTR_Q,10; + completequest 4002; + completequest 4003; + completequest 4004; + completequest 4005; + completequest 4006; + completequest 4007; + completequest 4008; + setquest 4009; + delitem 1021,3; //Dokkaebi_Horn + delitem 7032,3; //Piece_Of_Egg_Shell + delitem 914,10; //Fluff + 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 "^6600003 Dokkaebi Horn^000000,"; + mes "^6600003 Piece of Egg Shell^000000 and"; + mes "^66000010 Fluff^000000."; + mes "Come back once you have"; + mes "gathered all the items."; + close; + } + if (HNTR_Q == 7) { + mes "[Demon Hunter]"; + mes "Eh? Let me see..."; + next; + if ((countitem(935) > 8) && (countitem(955) > 8) && (countitem(508) > 8)) { + mes "[Demon Hunter]"; + mes "You brought all of the necessary materials... To get directions to the testing area, go talk to our Guildmaster who is at the Archer Guild."; + set HNTR_Q,11; + completequest 4002; + completequest 4003; + completequest 4004; + completequest 4005; + completequest 4006; + completequest 4007; + completequest 4008; + setquest 4010; + delitem 935,9; //Shell + delitem 955,9; //Worm_Peelings + delitem 508,9; //Yellow_Herb + 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 "^6600009 Shell^000000,"; + mes "^6600009 Worm Peeling^000000 and"; + mes "^6600009 Yellow Herb^000000."; + mes "Come back once you have"; + mes "gathered all the items."; + close; + } + if (HNTR_Q == 8) { + mes "[Demon Hunter]"; + mes "Huh? "; + next; + if ((countitem(913) > 2) && (countitem(938) > 0) && (countitem(948) > 0)) { + mes "[Demon Hunter]"; + mes "You brought all of the necessary materials... To get directions to the testing area, go talk to our Guildmaster who is at the Archer Guild."; + set HNTR_Q,11; + completequest 4002; + completequest 4003; + completequest 4004; + completequest 4005; + completequest 4006; + completequest 4007; + completequest 4008; + setquest 4010; + delitem 913,3; //Tooth_Of_Bat + delitem 938,1; //Sticky_Mucus + delitem 948,1; //Bear's_Foot + 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 "^6600003 Tooth of Bat^000000,"; + mes "^6600001 Sticky Mucus^000000 and"; + mes "^6600001 Bear's Footskin^000000."; + mes "Come back once you have"; + mes "gathered all the items."; + close; + } + if (HNTR_Q == 9) { + mes "[Demon Hunter]"; + mes "Huh? "; + next; + if ((countitem(1027) > 1) && (countitem(942) > 0) && (countitem(1026) > 0)) { + mes "[Demon Hunter]"; + mes "You brought all of the necessary materials... To get directions to the testing area, go talk to our Guildmaster who is at the Archer Guild."; + set HNTR_Q,11; + completequest 4002; + completequest 4003; + completequest 4004; + completequest 4005; + completequest 4006; + completequest 4007; + completequest 4008; + setquest 4010; + delitem 1027,2; //Porcupine_Spike + delitem 942,1; //Yoyo_Tail + delitem 1026,1; //Acorn + 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 "^6600002 Porcupine Quill^000000,"; + mes "^6600001 Yoyo Tail^000000 and"; + mes "^6600001 Acorn^000000."; + mes "Come back once you have"; + mes "gathered all the items."; close; } + 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; + } + if (HNTR_Q == 17) { + mes "[Demon Hunter]"; + mes "Ooh. You passed the test. Congratulations~ You should go talk to Sherin now."; + close; + } + 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?"; + set @a0, 1; 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) { + while (1) { + 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 "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."; + mes "This is to test your ability to move swiftly and locate targets in various situations."; + set @a0,@a0 + 1; + close2; + break; + 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."; + set @a0,@a0 + 1; + close2; + break; + 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."; + set @a0,@a0 + 1; + close2; + break; + case 4: + if (@a0 == 1) { + 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; + } + else { + mes "[Hunter Guildmaster]"; + mes "Okay. Best of luck."; + mes "I'll send you right now."; + next; + } + break; } - mes "[Hunter Guildmaster]"; - mes "Okay. Best of luck."; - mes "I'll send you right now."; - next; + break; } mes "[Hunter Guildmaster]"; mes "Well, then. Your arrows are probably still being made, so you can use mine to take the test."; @@ -662,7 +1243,7 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ warp "job_hunte",176,22; end; } - else if (HNTR_Q > 1 && HNTR_Q < 10) { + if ((HNTR_Q > 1) && (HNTR_Q < 10)) { mes "[Hunter Guildmaster]"; mes "Mmm...?"; mes "What is an Archer"; @@ -675,12 +1256,12 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ mes "Go gather the items for the test, and come back after you've visited the Hunter Guild."; close; } - else if (HNTR_Q == 11) { + 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) { + 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; @@ -688,33 +1269,43 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ 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; + while (1) { + 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."; + set @a0,@a0 + 1; + close2; + break; + 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."; + set @a0,@a0 + 1; + close2; + break; + 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."; + set @a0,@a0 + 1; + close2; + break; + case 4: + mes "[Hunter Guildmaster]"; + mes "Okay. Good luck."; + mes "I'll send you right now."; + next; + break; + } + break; } mes "[Hunter Guildmaster]"; mes "Eh? Why won't I give you Silver Arrows? Don't expect anything when you don't bring any materials."; @@ -722,34 +1313,37 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ 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) { + switch (select("Okay. Let's start...:Ah, wait a sec.")) { + case 1: mes "[Hunter Guildmaster]"; mes "Okay!! I hope"; mes "you will pass this time!"; close2; set HNTR_Q,12; + changequest 4009,4011; warp "job_hunte",176,22; end; + case 2: + mes "[Hunter Guildmaster]"; + mes "Then hurry and finish"; + mes "all of your preparations."; + close; } - mes "[Hunter Guildmaster]"; - mes "Then hurry and finish"; - mes "all of your preparations."; - close; } - else if (HNTR_Q == 16) { + 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; + changequest 4012,4013; 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) { + 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; @@ -757,61 +1351,69 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ 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; - } + 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) { + +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?"; + set @a0,1; + next; + while (1) { + 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."; + set @a0,@a0 + 1; + close2; + cutin "",255; + break; + 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."; + set @a0,@a0 + 1; + close2; + cutin "",255; + break; + 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 "...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."; + 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."; + set @a0,@a0 + 1; + close2; + cutin "",255; + break; + case 4: + if (@a0 == 1) { + 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; + } + else { + mes "[Hunter Guildmaster]"; + mes "Okay, best of luck."; + mes "I'll send you right now."; + next; + } + break; } - mes "[Hunter Guildmaster]"; - mes "Okay, best of luck."; - mes "I'll send you right now."; - next; + break; } mes "[Hunter Guildmaster]"; mes "Well, your arrows are probably still being made, so you can use mine to take the test."; @@ -822,10 +1424,9 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ 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) { + if ((HNTR_Q > 1) && (HNTR_Q < 10)) { mes "[Hunter Guildmaster]"; mes "Mmm...?"; mes "Why is an Archer"; @@ -837,10 +1438,10 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "[Hunter Guildmaster]"; mes "Stop by once you have gathered all the items needed for the test."; close2; - cutin "job_huntermaster",255; + cutin "",255; end; } - else if (HNTR_Q == 10) { + if (HNTR_Q == 10) { mes "[Hunter]"; mes "Mmm?"; mes "Can I help you"; @@ -851,10 +1452,10 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ 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; + cutin "",255; end; } - else if (HNTR_Q > 11 && HNTR_Q < 16) { + 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; @@ -863,42 +1464,49 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ 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; + while (1) { + 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."; + set @a0,@a0 + 1; + close2; + cutin "",255; + break; + 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."; + set @a0,@a0 + 1; + close2; + cutin "",255; + break; + 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."; + set @a0,@a0 + 1; + close2; + cutin "",255; + break; + case 4: + mes "[Hunter Guildmaster]"; + mes "Okay, good luck."; + mes "I'll send you right now..."; + next; + break; + } + break; } 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."; @@ -909,30 +1517,34 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "you're ready."; mes "Let's begin."; next; - if (select("Yes, let's start.:Ah, wait a moment.") == 1) { + switch (select("Yes, let's start.:Ah, wait a moment.")) { + case 1: mes "[Hunter Guildmaster]"; mes "Okay!! Now..."; mes "Pass this time!"; close2; - cutin "job_huntermaster",255; + cutin "",255; set HNTR_Q,12; + changequest 4010,4011; warp "job_hunte",176,22; end; + case 2: + mes "[Hunter Guildmaster]"; + mes "*Sigh...*"; + mes "Come back when"; + mes "you're done with"; + mes "your preparations."; + close2; + cutin "",255; + 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) { + 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; + changequest 4012,4013; savepoint "payon",104,99; getitem 1007,1; //Penetration next; @@ -941,10 +1553,10 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "There you go."; mes "Now hurry back to the Hunter Guild, and join us~"; close2; - cutin "job_huntermaster",255; + cutin "",255; end; } - else if (HNTR_Q == 17) { + 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; @@ -954,19 +1566,71 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "for you back"; mes "at the Hunter Guild."; close2; - cutin "job_huntermaster",255; + cutin "",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."; + 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 "",255; + end; +} + +job_hunte,178,32,1 script Guide#hnt 107,5,2,{ + + 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; + } + 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?"; + next; + switch (select("Keep trying.:Resign.")) { + case 1: + mes "Okay. Do your best to become a great Hunter. Please enter the waiting room. If someone entered already, 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 "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::OnReset"; + close2; + set HNTR_Q,13; + savepoint "payon",104,99; + warp "payon_in02",21,27; + end; + } + } + if (HNTR_Q > 15) { + mes "[Guide]"; + mes "You shouldn't be here. How about finding the required job change item first?"; close2; - cutin "job_huntermaster",255; + savepoint "payon",104,99; + warp "payon_in02",21,27; end; } -} -job_hunte,178,32,1 script Guide#hnt 107,5,2,{ OnTouch: if (HNTR_Q == 12) { mes "[Guide]"; @@ -986,7 +1650,7 @@ OnTouch: savepoint "job_hunte",176,22; close; } - else if (HNTR_Q > 12 && HNTR_Q < 16) { + if ((HNTR_Q > 12) && (HNTR_Q < 16)) { mes "[Guide]"; mes "Hmm..."; mes "Did you mess up?"; @@ -997,33 +1661,35 @@ OnTouch: 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.")) { + 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; + 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"; + donpcevent "Waiting Room#hnt::OnReset"; close2; set HNTR_Q,13; savepoint "payon",104,99; warp "payon_in02",21,27; + end; } } - else if (HNTR_Q > 15) { + 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; } - end; + } -job_hunte,178,38,1 script Waiting Room#hnt 66,{ +job_hunte,176,38,1 script Waiting Room#hnt 66,{ end; OnInit: @@ -1032,93 +1698,58 @@ OnInit: end; OnStartArena: - warpwaitingpc "job_hunte", 90, 67; + warpwaitingpc "job_hunte",90,67; donpcevent "Manager#hnt::OnEnable"; + donpcevent "Manager#hnt2::OnEnable"; + donpcevent "switch#hnt::OnDisable"; + donpcevent "hnt_backers::OnDisable"; disablewaitingroomevent; end; -OnStart: +OnReset: enablewaitingroomevent; end; } job_hunte,1,1,1 script Manager#hnt 66,{ + end; + OnInit: - disablenpc "Manager#hnt"; + hideonnpc "Manager#hnt"; end; OnEnable: - donpcevent "Switch#hnt::OnDisable"; - enablenpc "Manager#hnt"; - set .MyMobs,6; - initnpctimer; - // Target Mosnters + hideoffnpc "Manager#hnt"; 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"; + initnpctimer; + end; + +OnReset: + killmonster "job_hunte","Manager#hnt::OnMyMobDead"; end; OnMyMobDead: - set .MyMobs,.MyMobs-1; - if (.MyMobs < 3) { + if (mobcount ("job_hunte","Manager#hnt::OnMyMobDead") < 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::OnReset"; + donpcevent "Manager#hnt2::OnReset"; donpcevent "Manager#hnt::OnDisable"; + donpcevent "Manager#hnt2::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"; + hideonnpc "Manager#hnt"; end; OnTimer1000: @@ -1194,610 +1825,1558 @@ OnTimer194000: end; OnTimer195000: - areawarp "job_hunte",50,64,129,143,"job_hunte",176,22; + donpcevent "hnt_backers::OnEnable"; + end; + +OnTimer196000: + donpcevent "hnt_backers::OnDisable"; + end; + +OnTimer196500: + donpcevent "hnt_backers::OnEnable"; end; OnTimer197000: + donpcevent "hnt_backers::OnDisable"; donpcevent "Manager#hnt::OnReset"; - donpcevent "Waiting Room#hnt::OnStart"; + donpcevent "Manager#hnt2::OnReset"; + donpcevent "Waiting Room#hnt::OnReset"; end; } -job_hunte,93,101,1 script Switch#hnt 723,1,1,{ +job_hunte,1,2,1 script Manager#hnt2 66,{ + end; + +OnInit: + hideonnpc "Manager#hnt2"; + end; + +OnEnable: + hideoffnpc "Manager#hnt2"; + monster "job_hunte",85,100,"Job Test Monster",1016,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",72,102,"Job Test Monster",1041,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",108,103,"Job Test Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",88,127,"Job Test Monster",1002,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",125,69,"Job Test Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",77,112,"Job Tester Monster",1016,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",53,106,"Job Tester Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",53,73,"Job Tester Monster",1002,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",125,70,"Job Tester Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",90,91,"Job Tester Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",67,80,"Hunter Change Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",77,112,"Hunter Change Monster",1016,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",53,106,"Hunter Change Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",53,73,"Hunter Change Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",125,70,"Hunter Change Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",90,91,"Job Transfer Monster",1041,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",85,100,"Job Transfer Monster",1002,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",72,102,"Job Transfer Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",108,103,"Job Transfer Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",77,112,"Job Transfer Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",112,139,"Binnie",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",112,139,"Darrel",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",112,139,"Rex",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",112,139,"Anselmo",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",90,91,"Anolian",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",53,73,"Monster Sample",1002,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",53,106,"Not Me",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",77,112,"Help Me",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",72,102,"Do Not Hit Me",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",108,103,"Attack Speed 184",1015,1,"Manager#hnt2::OnMyMobDead"; + end; + +OnReset: + killmonster "job_hunte","Manager#hnt2::OnMyMobDead"; + end; + +OnDisable: + hideonnpc "Manager#hnt2"; + end; + +OnMyMobDead: + mapannounce "job_hunte"," " + strcharinfo(0) + "!! You made a mistake...Please try again.",bc_map; + set HNTR_Q,13; + warp "job_hunte",176,22; + donpcevent "Waiting Room#hnt::OnReset"; + donpcevent "Manager#hnt::OnReset"; + donpcevent "Manager#hnt2::OnReset"; + donpcevent "Manager#hnt::OnDisable"; + donpcevent "Manager#hnt2::OnDisable"; + end; +} + +job_hunte,93,101,1 script switch#hnt 723,1,1,{ + + 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; + donpcevent "exit#hnttest::OnEnable"; + 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 "Waiting Room#hnt::OnReset"; + end; + } + OnTouch: mes "^3355FFThere are 3 buttons"; mes "on the escape switch.^000000"; set HNTR_Q,15; next; - switch(select("Escape:Cancel:Re-test")) { + 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"; + mapannounce "job_hunte"," ## Escape Warp Portal activation complete. ## ",bc_map; + donpcevent "exit#hnttest::OnEnable"; end; case 2: mes "^3355FFCanceling"; mes "Operation.^000000"; close2; - mapannounce "job_hunte"," !! Operation has been cancelled. !! ",bc_map; + mapannounce "job_hunte"," ## Operation has been cancelled. ## ",bc_map; end; case 3: - mapannounce "job_hunte"," !! Cancellation warp activating... !! ",bc_map; + 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"; + donpcevent "Waiting Room#hnt::OnReset"; end; } OnDisable: - disablenpc "exit#hnttest"; - disablenpc "Switch#hnt"; + donpcevent "exit#hnttest::OnDisable"; + hideonnpc "switch#hnt"; end; OnEnable: - enablenpc "Switch#hnt"; + hideoffnpc "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"; + donpcevent "Waiting Room#hnt::OnReset"; set HNTR_Q,16; changequest 4011,4012; savepoint "payon",104,99; - if (rand(1)) + set .@whe,rand(1,2); + if (.@whe == 1) { warp "payon_in02",21,27; - warp "payon_in03",128,7; + } + else { + warp "payon_in03",128,7; + } + end; + +OnInit: + hideonnpc "exit#hnttest"; + end; + +OnEnable: + hideoffnpc "exit#hnttest"; + end; + +OnDisable: + hideonnpc "exit#hnttest"; + end; } -// Hunter Job test traps. -//============================================================ -job_hunte,52,140,0 script 1-1::HntTrap -1,0,1,{ +job_hunte,89,103,0 script hnt_backers 139,42,42,{ + 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; - } + warp "job_hunte",176,22; set HNTR_Q,13; + end; + +OnInit: + hideonnpc "hnt_backers"; + end; + +OnEnable: + hideoffnpc "hnt_backers"; + end; + +OnDisable: + hideonnpc "hnt_backers"; + end; +} + +- script hnt_job_quest_test::hntjqt -1,{ + +OnTouch: + switch(rand(1,128)){ + 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 11: mapannounce "job_hunte"," " + strcharinfo(0) + "... aww~ Try again! You can do it!",bc_map; break; + case 12: mapannounce "job_hunte"," " + strcharinfo(0) + ", @#$%#^!@ and you wanna be a what? Hunter? Get back there!",bc_map; break; + case 13: mapannounce "job_hunte"," " + strcharinfo(0) + " was defeated by the forces of evil. Don't give up, hero!",bc_map; break; + case 14: mapannounce "job_hunte","I put a spell on you " + strcharinfo(0) + " and now you're mine! Go start over now.",bc_map; break; + case 15: 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 16: mapannounce "job_hunte","That's my nest " + strcharinfo(0) + "! dont step there, squawk~ Start over.",bc_map; break; + case 17: mapannounce "job_hunte"," " + strcharinfo(0) + ", another archer down. 3 more to go!",bc_map; break; + case 18: mapannounce "job_hunte"," " + strcharinfo(0) + ", have you got what it takes? Then try again.",bc_map; break; + case 19: 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 20: mapannounce "job_hunte"," " + strcharinfo(0) + " had too much prune juice to drink today. Back 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","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; + case 42: 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 43: 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 44: mapannounce "job_hunte"," " + strcharinfo(0) + " fell into a trap. Once again, for clarity's sake, the name is " + strcharinfo(0) + ".",bc_map; break; + case 45: mapannounce "job_hunte","Oy oy, " + strcharinfo(0) + ".. I've seen blind Porings get further! Go back to the starting point.",bc_map; break; + case 46: 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 47: 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 48: 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 49: 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 50: mapannounce "job_hunte"," " + strcharinfo(0) + ", do you have any idea where you're going? Start over *sigh*.",bc_map; break; + case 51: mapannounce "job_hunte"," " + strcharinfo(0) + ", do you like green tea ice cream? No? Go back to the starting point...*hmph*",bc_map; break; + case 52: mapannounce "job_hunte","Oh, no.. " + strcharinfo(0) + ", are you hurt? Come now, let's go back to the starting point.",bc_map; break; + case 53: 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 54: 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 55: 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 56: mapannounce "job_hunte","Oh, " + strcharinfo(0) + ".. You can do better. Try again!",bc_map; break; + case 57: 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 58: 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 59: mapannounce "job_hunte"," " + strcharinfo(0) + " faaaaaaaaaaaaaaaaailed.. Hehe, just kidding. You will be returned to the starting point so try again!",bc_map; break; + case 60: 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 61: mapannounce "job_hunte"," " + strcharinfo(0) + ", HAHAHAHAHAHA!!!! I can't believe you fell for that one!",bc_map; break; + case 62: 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 63: 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 64: 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 65: mapannounce "job_hunte"," " + strcharinfo(0) + ", OW...now that's gotta hurt. Back to the start~",bc_map; break; + case 66: mapannounce "job_hunte"," " + strcharinfo(0) + ", I find your lack of faith disturbing... Let's start over.",bc_map; break; + case 67: 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 68: 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 69: 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 70: mapannounce "job_hunte"," " + strcharinfo(0) + ", try not. Do or do not. There is no try.",bc_map; break; + case 71: mapannounce "job_hunte"," " + strcharinfo(0) + ", that is why you fail. Now try again!",bc_map; break; + case 72: 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 73: mapannounce "job_hunte"," " + strcharinfo(0) + ", you are beaten. It is useless to resist.",bc_map; break; + case 74: mapannounce "job_hunte"," " + strcharinfo(0) + ", I'm looking forward to completing your training. In time you will call me Master.",bc_map; break; + case 75: mapannounce "job_hunte"," " + strcharinfo(0) + ", your overconfidence is your weakness.",bc_map; break; + case 76: mapannounce "job_hunte"," " + strcharinfo(0) + ", watch your step. This place can be a little rough.",bc_map; break; + case 77: mapannounce "job_hunte"," " + strcharinfo(0) + ", oh I told you it was dangerous here.",bc_map; break; + case 78: mapannounce "job_hunte"," " + strcharinfo(0) + ", everything is proceeding as I have foreseen.",bc_map; break; + case 79: mapannounce "job_hunte"," " + strcharinfo(0) + ", you should have not come back.",bc_map; break; + case 80: mapannounce "job_hunte"," " + strcharinfo(0) + ", there are alternatives to fighting. But not to losing to this test. Now try again!",bc_map; break; + case 81: 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 82: mapannounce "job_hunte"," " + strcharinfo(0) + ", we do not train to be merciful here, mercy is for the weak!",bc_map; break; + case 83: mapannounce "job_hunte"," " + strcharinfo(0) + ", defeat does not exist here, does it?!",bc_map; break; + case 84: mapannounce "job_hunte"," " + strcharinfo(0) + ", concentrate. Focus your powers!",bc_map; break; + case 85: mapannounce "job_hunte"," " + strcharinfo(0) + ", am I going mad, or did the word -think- escape your lips?",bc_map; break; + case 86: mapannounce "job_hunte"," " + strcharinfo(0) + ", you're just stalling now.",bc_map; break; + case 87: mapannounce "job_hunte"," " + strcharinfo(0) + ", life isn't always fair.",bc_map; break; + case 88: mapannounce "job_hunte"," " + strcharinfo(0) + ".... Uhhh...it's not OUR fault....",bc_map; break; + case 89: mapannounce "job_hunte"," " + strcharinfo(0) + ", survivability takes priority.",bc_map; break; + case 90: mapannounce "job_hunte"," " + strcharinfo(0) + ", people have the strength to overcome their obstacles...everyone can.",bc_map; break; + case 91: 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 92: mapannounce "job_hunte"," " + strcharinfo(0) + ", some things are real and some things are false. Can't you tell the difference?",bc_map; break; + case 93: 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 94: mapannounce "job_hunte"," " + strcharinfo(0) + ", I'll give you just one piece of advice... dying hurts like hell.",bc_map; break; + case 95: mapannounce "job_hunte"," " + strcharinfo(0) + ", don't give up the spirit! Just be more careful...",bc_map; break; + case 96: 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 97: 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 98: 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 99: 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 100: 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 101: mapannounce "job_hunte"," " + strcharinfo(0) + ", ....Chii?",bc_map; break; + case 102: mapannounce "job_hunte"," " + strcharinfo(0) + ", Mine! Mine! Mine! Mine!",bc_map; break; + case 103: mapannounce "job_hunte"," " + strcharinfo(0) + ", it's time to duel!",bc_map; break; + case 104: mapannounce "job_hunte"," " + strcharinfo(0) + ", I choose you!...wait... uagh...not you!...",bc_map; break; + case 105: mapannounce "job_hunte"," " + strcharinfo(0) + ", this isn't the time to be complimenting it!",bc_map; break; + case 106: mapannounce "job_hunte"," " + strcharinfo(0) + "...Oh great, what else could go wrong today?",bc_map; break; + case 107: 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 108: 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 109: mapannounce "job_hunte"," " + strcharinfo(0) + ", don't worry about it. We're good at fighting losing battles, remember?",bc_map; break; + case 110: 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 111: mapannounce "job_hunte"," " + strcharinfo(0) + ", you must forget about your past for the sake of your own happiness.",bc_map; break; + case 112: mapannounce "job_hunte"," " + strcharinfo(0) + ", if you can fool your friends, you can fool your enemies.",bc_map; break; + case 113: mapannounce "job_hunte"," " + strcharinfo(0) + ", this world is made up of love and peace!",bc_map; break; + case 114: mapannounce "job_hunte"," " + strcharinfo(0) + ", if you fail, you must drink this.....*evil grin*",bc_map; break; + case 115: mapannounce "job_hunte"," " + strcharinfo(0) + ", don't say we didn't warn you!",bc_map; break; + case 116: 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 117: mapannounce "job_hunte"," " + strcharinfo(0) + ", STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!",bc_map; break; + case 118: mapannounce "job_hunte"," " + strcharinfo(0) + ", how you like me now? That's right, that was MY trap!",bc_map; break; + case 119: mapannounce "job_hunte"," " + strcharinfo(0) + "...brilliant...just absolutely...genius. Sorry, I was talking about all these crazy traps.",bc_map; break; + case 120: mapannounce "job_hunte"," " + strcharinfo(0) + ", it's time to bust out of that trap, Houdini-style! Hey, wait...come back!",bc_map; break; + case 121: 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 122: mapannounce "job_hunte"," " + strcharinfo(0) + "...not smooth, dude. Go for it again, one more time!",bc_map; break; + case 123: mapannounce "job_hunte"," " + strcharinfo(0) + ",it looks like you could really be in a pickle. Back to the starting point...",bc_map; break; + case 124: 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 125: 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 126: mapannounce "job_hunte"," " + strcharinfo(0) + ", don't give up! The world still needs you!",bc_map; break; + case 127: mapannounce "job_hunte"," " + strcharinfo(0) + ", it's okay to cry. Just not too loudly.",bc_map; break; + case 128: 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; + default: mapannounce "job_hunte"," " + strcharinfo(0) + ", you have fallen into a trap. You will be returned to the starting point.",bc_map; break; + } + set job_hunter,13; warp "job_hunte",176,22; + donpcevent "Waiting Room#hnt::OnReset"; donpcevent "Manager#hnt::OnReset"; - donpcevent "Waiting Room#hnt::OnStart"; + donpcevent "Manager#hnt2::OnReset"; + donpcevent "Manager#hnt::OnDisable"; + donpcevent "Manager#hnt2::OnDisable"; + end; + +OnEnable: + hideoffnpc "1-1"; + hideoffnpc "1-2"; + hideoffnpc "1-3"; + hideoffnpc "1-4"; + hideoffnpc "1-5"; + hideoffnpc "1-6"; + hideoffnpc "1-7"; + hideoffnpc "1-8"; + hideoffnpc "2-1"; + hideoffnpc "2-2"; + hideoffnpc "2-3"; + hideoffnpc "2-4"; + hideoffnpc "2-5"; + hideoffnpc "2-6"; + hideoffnpc "2-7"; + hideoffnpc "2-8"; + hideoffnpc "3-1"; + hideoffnpc "3-2"; + hideoffnpc "3-3"; + hideoffnpc "3-4"; + hideoffnpc "4-1"; + hideoffnpc "4-2"; + hideoffnpc "4-3"; + hideoffnpc "4-4"; + hideoffnpc "5-1"; + hideoffnpc "5-2"; + hideoffnpc "5-3"; + hideoffnpc "5-4"; + hideoffnpc "6-1"; + hideoffnpc "6-2"; + hideoffnpc "6-3"; + hideoffnpc "6-4"; + hideoffnpc "7-1"; + hideoffnpc "7-2"; + hideoffnpc "7-3"; + hideoffnpc "7-4"; + hideoffnpc "8-1"; + hideoffnpc "8-2"; + hideoffnpc "8-3"; + hideoffnpc "8-4"; + hideoffnpc "9-1"; + hideoffnpc "9-2"; + hideoffnpc "9-3"; + hideoffnpc "9-4"; + hideoffnpc "10-1"; + hideoffnpc "10-2"; + hideoffnpc "10-3"; + hideoffnpc "10-4"; + hideoffnpc "11-1"; + hideoffnpc "11-2"; + hideoffnpc "11-3"; + hideoffnpc "11-4"; + hideoffnpc "12-1"; + hideoffnpc "12-2"; + hideoffnpc "12-3"; + hideoffnpc "12-4"; + hideoffnpc "13-1"; + hideoffnpc "13-2"; + hideoffnpc "13-3"; + hideoffnpc "13-4"; + hideoffnpc "14-1"; + hideoffnpc "14-2"; + hideoffnpc "14-3"; + hideoffnpc "14-4"; + hideoffnpc "15-1"; + hideoffnpc "15-2"; + hideoffnpc "15-3"; + hideoffnpc "15-4"; + hideoffnpc "16-1"; + hideoffnpc "16-2"; + hideoffnpc "16-3"; + hideoffnpc "16-4"; + hideoffnpc "17-1"; + hideoffnpc "17-2"; + hideoffnpc "17-3"; + hideoffnpc "17-4"; + hideoffnpc "18-1"; + hideoffnpc "18-2"; + hideoffnpc "18-3"; + hideoffnpc "18-4"; + hideoffnpc "19-1"; + hideoffnpc "19-2"; + hideoffnpc "19-3"; + hideoffnpc "19-4"; + hideoffnpc "20-1"; + hideoffnpc "20-2"; + hideoffnpc "20-3"; + hideoffnpc "20-4"; + hideoffnpc "21-1"; + hideoffnpc "21-2"; + hideoffnpc "21-3"; + hideoffnpc "21-4"; + hideoffnpc "22-1"; + hideoffnpc "22-2"; + hideoffnpc "22-3"; + hideoffnpc "22-4"; + hideoffnpc "23-1"; + hideoffnpc "23-2"; + hideoffnpc "23-3"; + hideoffnpc "23-4"; + hideoffnpc "24-1"; + hideoffnpc "24-2"; + hideoffnpc "24-3"; + hideoffnpc "24-4"; + hideoffnpc "25-1"; + hideoffnpc "25-2"; + hideoffnpc "25-3"; + hideoffnpc "25-4"; + hideoffnpc "26-1"; + hideoffnpc "26-2"; + hideoffnpc "26-3"; + hideoffnpc "26-4"; + hideoffnpc "27-1"; + hideoffnpc "27-2"; + hideoffnpc "27-3"; + hideoffnpc "27-4"; + hideoffnpc "28-1"; + hideoffnpc "28-2"; + hideoffnpc "28-3"; + hideoffnpc "28-4"; + hideoffnpc "29-1"; + hideoffnpc "29-2"; + hideoffnpc "29-3"; + hideoffnpc "29-4"; + hideoffnpc "30-1"; + hideoffnpc "30-2"; + hideoffnpc "30-3"; + hideoffnpc "30-4"; + hideoffnpc "31-1"; + hideoffnpc "31-2"; + hideoffnpc "31-3"; + hideoffnpc "31-4"; + hideoffnpc "32-1"; + hideoffnpc "32-2"; + hideoffnpc "32-3"; + hideoffnpc "32-4"; + hideoffnpc "33-1"; + hideoffnpc "33-2"; + hideoffnpc "33-3"; + hideoffnpc "33-4"; + hideoffnpc "34-1"; + hideoffnpc "34-2"; + hideoffnpc "34-3"; + hideoffnpc "34-4"; + hideoffnpc "35-1"; + hideoffnpc "35-2"; + hideoffnpc "35-3"; + hideoffnpc "35-4"; + hideoffnpc "36-1"; + hideoffnpc "36-2"; + hideoffnpc "36-3"; + hideoffnpc "36-4"; + hideoffnpc "37-1"; + hideoffnpc "37-2"; + hideoffnpc "37-3"; + hideoffnpc "37-4"; + hideoffnpc "38-1"; + hideoffnpc "38-2"; + hideoffnpc "38-3"; + hideoffnpc "38-4"; + hideoffnpc "39-1"; + hideoffnpc "39-2"; + hideoffnpc "39-3"; + hideoffnpc "39-4"; + hideoffnpc "40-1"; + hideoffnpc "40-2"; + hideoffnpc "40-3"; + hideoffnpc "40-4"; + hideoffnpc "41-1"; + hideoffnpc "41-2"; + hideoffnpc "41-3"; + hideoffnpc "41-4"; + hideoffnpc "42-1"; + hideoffnpc "42-2"; + hideoffnpc "42-3"; + hideoffnpc "42-4"; + hideoffnpc "43-1"; + hideoffnpc "43-2"; + hideoffnpc "43-3"; + hideoffnpc "43-4"; + hideoffnpc "44-1"; + hideoffnpc "44-2"; + hideoffnpc "44-3"; + hideoffnpc "44-4"; + hideoffnpc "45-1"; + hideoffnpc "45-2"; + hideoffnpc "45-3"; + hideoffnpc "45-4"; + hideoffnpc "46-1"; + hideoffnpc "46-2"; + hideoffnpc "46-3"; + hideoffnpc "46-4"; + hideoffnpc "47-1"; + hideoffnpc "47-2"; + hideoffnpc "47-3"; + hideoffnpc "47-4"; + hideoffnpc "48-1"; + hideoffnpc "48-2"; + hideoffnpc "48-3"; + hideoffnpc "48-4"; + hideoffnpc "49-1"; + hideoffnpc "49-2"; + hideoffnpc "49-3"; + hideoffnpc "49-4"; + hideoffnpc "50-1"; + hideoffnpc "50-2"; + hideoffnpc "50-3"; + hideoffnpc "50-4"; + hideoffnpc "51-1"; + hideoffnpc "51-2"; + hideoffnpc "51-3"; + hideoffnpc "51-4"; + hideoffnpc "52-1"; + hideoffnpc "52-2"; + hideoffnpc "52-3"; + hideoffnpc "52-4"; + hideoffnpc "53-1"; + hideoffnpc "53-2"; + hideoffnpc "53-3"; + hideoffnpc "53-4"; + hideoffnpc "54-1"; + hideoffnpc "54-2"; + hideoffnpc "54-3"; + hideoffnpc "54-4"; + hideoffnpc "55-1"; + hideoffnpc "55-2"; + hideoffnpc "55-3"; + hideoffnpc "55-4"; + hideoffnpc "56-1"; + hideoffnpc "56-2"; + hideoffnpc "56-3"; + hideoffnpc "56-4"; + hideoffnpc "56-6"; + hideoffnpc "56-7"; + hideoffnpc "56-8"; + hideoffnpc "57-1"; + hideoffnpc "57-2"; + hideoffnpc "57-3"; + end; + +OnDisable: + hideonnpc "1-1"; + hideonnpc "1-2"; + hideonnpc "1-3"; + hideonnpc "1-4"; + hideonnpc "1-5"; + hideonnpc "1-6"; + hideonnpc "1-7"; + hideonnpc "1-8"; + hideonnpc "2-1"; + hideonnpc "2-2"; + hideonnpc "2-3"; + hideonnpc "2-4"; + hideonnpc "2-5"; + hideonnpc "2-6"; + hideonnpc "2-7"; + hideonnpc "2-8"; + hideonnpc "3-1"; + hideonnpc "3-2"; + hideonnpc "3-3"; + hideonnpc "3-4"; + hideonnpc "4-1"; + hideonnpc "4-2"; + hideonnpc "4-3"; + hideonnpc "4-4"; + hideonnpc "5-1"; + hideonnpc "5-2"; + hideonnpc "5-3"; + hideonnpc "5-4"; + hideonnpc "6-1"; + hideonnpc "6-2"; + hideonnpc "6-3"; + hideonnpc "6-4"; + hideonnpc "7-1"; + hideonnpc "7-2"; + hideonnpc "7-3"; + hideonnpc "7-4"; + hideonnpc "8-1"; + hideonnpc "8-2"; + hideonnpc "8-3"; + hideonnpc "8-4"; + hideonnpc "9-1"; + hideonnpc "9-2"; + hideonnpc "9-3"; + hideonnpc "9-4"; + hideonnpc "10-1"; + hideonnpc "10-2"; + hideonnpc "10-3"; + hideonnpc "10-4"; + hideonnpc "11-1"; + hideonnpc "11-2"; + hideonnpc "11-3"; + hideonnpc "11-4"; + hideonnpc "12-1"; + hideonnpc "12-2"; + hideonnpc "12-3"; + hideonnpc "12-4"; + hideonnpc "13-1"; + hideonnpc "13-2"; + hideonnpc "13-3"; + hideonnpc "13-4"; + hideonnpc "14-1"; + hideonnpc "14-2"; + hideonnpc "14-3"; + hideonnpc "14-4"; + hideonnpc "15-1"; + hideonnpc "15-2"; + hideonnpc "15-3"; + hideonnpc "15-4"; + hideonnpc "16-1"; + hideonnpc "16-2"; + hideonnpc "16-3"; + hideonnpc "16-4"; + hideonnpc "17-1"; + hideonnpc "17-2"; + hideonnpc "17-3"; + hideonnpc "17-4"; + hideonnpc "18-1"; + hideonnpc "18-2"; + hideonnpc "18-3"; + hideonnpc "18-4"; + hideonnpc "19-1"; + hideonnpc "19-2"; + hideonnpc "19-3"; + hideonnpc "19-4"; + hideonnpc "20-1"; + hideonnpc "20-2"; + hideonnpc "20-3"; + hideonnpc "20-4"; + hideonnpc "21-1"; + hideonnpc "21-2"; + hideonnpc "21-3"; + hideonnpc "21-4"; + hideonnpc "22-1"; + hideonnpc "22-2"; + hideonnpc "22-3"; + hideonnpc "22-4"; + hideonnpc "23-1"; + hideonnpc "23-2"; + hideonnpc "23-3"; + hideonnpc "23-4"; + hideonnpc "24-1"; + hideonnpc "24-2"; + hideonnpc "24-3"; + hideonnpc "24-4"; + hideonnpc "25-1"; + hideonnpc "25-2"; + hideonnpc "25-3"; + hideonnpc "25-4"; + hideonnpc "26-1"; + hideonnpc "26-2"; + hideonnpc "26-3"; + hideonnpc "26-4"; + hideonnpc "27-1"; + hideonnpc "27-2"; + hideonnpc "27-3"; + hideonnpc "27-4"; + hideonnpc "28-1"; + hideonnpc "28-2"; + hideonnpc "28-3"; + hideonnpc "28-4"; + hideonnpc "29-1"; + hideonnpc "29-2"; + hideonnpc "29-3"; + hideonnpc "29-4"; + hideonnpc "30-1"; + hideonnpc "30-2"; + hideonnpc "30-3"; + hideonnpc "30-4"; + hideonnpc "31-1"; + hideonnpc "31-2"; + hideonnpc "31-3"; + hideonnpc "31-4"; + hideonnpc "32-1"; + hideonnpc "32-2"; + hideonnpc "32-3"; + hideonnpc "32-4"; + hideonnpc "33-1"; + hideonnpc "33-2"; + hideonnpc "33-3"; + hideonnpc "33-4"; + hideonnpc "34-1"; + hideonnpc "34-2"; + hideonnpc "34-3"; + hideonnpc "34-4"; + hideonnpc "35-1"; + hideonnpc "35-2"; + hideonnpc "35-3"; + hideonnpc "35-4"; + hideonnpc "36-1"; + hideonnpc "36-2"; + hideonnpc "36-3"; + hideonnpc "36-4"; + hideonnpc "37-1"; + hideonnpc "37-2"; + hideonnpc "37-3"; + hideonnpc "37-4"; + hideonnpc "38-1"; + hideonnpc "38-2"; + hideonnpc "38-3"; + hideonnpc "38-4"; + hideonnpc "39-1"; + hideonnpc "39-2"; + hideonnpc "39-3"; + hideonnpc "39-4"; + hideonnpc "40-1"; + hideonnpc "40-2"; + hideonnpc "40-3"; + hideonnpc "40-4"; + hideonnpc "41-1"; + hideonnpc "41-2"; + hideonnpc "41-3"; + hideonnpc "41-4"; + hideonnpc "42-1"; + hideonnpc "42-2"; + hideonnpc "42-3"; + hideonnpc "42-4"; + hideonnpc "43-1"; + hideonnpc "43-2"; + hideonnpc "43-3"; + hideonnpc "43-4"; + hideonnpc "44-1"; + hideonnpc "44-2"; + hideonnpc "44-3"; + hideonnpc "44-4"; + hideonnpc "45-1"; + hideonnpc "45-2"; + hideonnpc "45-3"; + hideonnpc "45-4"; + hideonnpc "46-1"; + hideonnpc "46-2"; + hideonnpc "46-3"; + hideonnpc "46-4"; + hideonnpc "47-1"; + hideonnpc "47-2"; + hideonnpc "47-3"; + hideonnpc "47-4"; + hideonnpc "48-1"; + hideonnpc "48-2"; + hideonnpc "48-3"; + hideonnpc "48-4"; + hideonnpc "49-1"; + hideonnpc "49-2"; + hideonnpc "49-3"; + hideonnpc "49-4"; + hideonnpc "50-1"; + hideonnpc "50-2"; + hideonnpc "50-3"; + hideonnpc "50-4"; + hideonnpc "51-1"; + hideonnpc "51-2"; + hideonnpc "51-3"; + hideonnpc "51-4"; + hideonnpc "52-1"; + hideonnpc "52-2"; + hideonnpc "52-3"; + hideonnpc "52-4"; + hideonnpc "53-1"; + hideonnpc "53-2"; + hideonnpc "53-3"; + hideonnpc "53-4"; + hideonnpc "54-1"; + hideonnpc "54-2"; + hideonnpc "54-3"; + hideonnpc "54-4"; + hideonnpc "55-1"; + hideonnpc "55-2"; + hideonnpc "55-3"; + hideonnpc "55-4"; + hideonnpc "56-1"; + hideonnpc "56-2"; + hideonnpc "56-3"; + hideonnpc "56-4"; + hideonnpc "56-6"; + hideonnpc "56-7"; + hideonnpc "56-8"; + hideonnpc "57-1"; + hideonnpc "57-2"; + hideonnpc "57-3"; 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,{ +job_hunte,52,140,0 duplicate(hntjqt) 1-1 139,0,1 +job_hunte,53,140,0 duplicate(hntjqt) 1-2 139,0,1 +job_hunte,54,141,0 duplicate(hntjqt) 1-3 139 +job_hunte,55,141,0 duplicate(hntjqt) 1-4 139 +job_hunte,55,140,0 duplicate(hntjqt) 1-5 139 +job_hunte,54,140,0 duplicate(hntjqt) 1-6 139 +job_hunte,52,138,0 duplicate(hntjqt) 1-7 139 +job_hunte,53,138,0 duplicate(hntjqt) 1-8 139 +job_hunte,62,140,0 duplicate(hntjqt) 2-1 139,0,1 +job_hunte,63,140,0 duplicate(hntjqt) 2-2 139,0,1 +job_hunte,64,140,0 duplicate(hntjqt) 2-3 139 +job_hunte,64,141,0 duplicate(hntjqt) 2-4 139 +job_hunte,65,140,0 duplicate(hntjqt) 2-5 139 +job_hunte,65,141,0 duplicate(hntjqt) 2-6 139 +job_hunte,62,138,0 duplicate(hntjqt) 2-7 139 +job_hunte,63,138,0 duplicate(hntjqt) 2-8 139 +job_hunte,72,140,0 duplicate(hntjqt) 3-1 139,0,1 +job_hunte,73,140,0 duplicate(hntjqt) 3-2 139,0,1 +job_hunte,72,138,0 duplicate(hntjqt) 3-3 139 +job_hunte,72,138,0 duplicate(hntjqt) 3-4 139 +job_hunte,78,140,0 duplicate(hntjqt) 4-1 139 +job_hunte,78,141,0 duplicate(hntjqt) 4-2 139 +job_hunte,79,140,0 duplicate(hntjqt) 4-3 139 +job_hunte,79,141,0 duplicate(hntjqt) 4-4 139 +job_hunte,82,138,0 duplicate(hntjqt) 5-1 139 +job_hunte,82,139,0 duplicate(hntjqt) 5-2 139 +job_hunte,83,138,0 duplicate(hntjqt) 5-3 139 +job_hunte,83,139,0 duplicate(hntjqt) 5-4 139 +job_hunte,99,138,0 duplicate(hntjqt) 6-1 139,1,0 +job_hunte,99,139,0 duplicate(hntjqt) 6-2 139,1,0 +job_hunte,101,138,0 duplicate(hntjqt) 6-3 139 +job_hunte,101,139,0 duplicate(hntjqt) 6-4 139 +job_hunte,106,140,0 duplicate(hntjqt) 7-1 139,0,1 +job_hunte,107,140,0 duplicate(hntjqt) 7-2 139,0,1 +job_hunte,106,138,0 duplicate(hntjqt) 7-3 139 +job_hunte,107,138,0 duplicate(hntjqt) 7-4 139 +job_hunte,112,140,0 duplicate(hntjqt) 8-1 139 +job_hunte,112,141,0 duplicate(hntjqt) 8-2 139 +job_hunte,113,140,0 duplicate(hntjqt) 8-3 139 +job_hunte,113,141,0 duplicate(hntjqt) 8-4 139 +job_hunte,116,140,0 duplicate(hntjqt) 9-1 139 +job_hunte,116,141,0 duplicate(hntjqt) 9-2 139 +job_hunte,117,140,0 duplicate(hntjqt) 9-3 139 +job_hunte,117,141,0 duplicate(hntjqt) 9-4 139 +job_hunte,120,138,0 duplicate(hntjqt) 10-1 139 +job_hunte,120,139,0 duplicate(hntjqt) 10-2 139 +job_hunte,121,138,0 duplicate(hntjqt) 10-3 139 +job_hunte,121,139,0 duplicate(hntjqt) 10-4 139 +job_hunte,126,139,0 duplicate(hntjqt) 11-1 139,0,2 +job_hunte,127,139,0 duplicate(hntjqt) 11-2 139,0,2 +job_hunte,126,136,0 duplicate(hntjqt) 11-3 139 +job_hunte,127,136,0 duplicate(hntjqt) 11-4 139 +job_hunte,52,134,0 duplicate(hntjqt) 12-1 139,0,1 +job_hunte,53,134,0 duplicate(hntjqt) 12-2 139,0,1 +job_hunte,52,132,0 duplicate(hntjqt) 12-3 139 +job_hunte,53,132,0 duplicate(hntjqt) 12-4 139 +job_hunte,124,130,0 duplicate(hntjqt) 13-1 139 +job_hunte,124,131,0 duplicate(hntjqt) 13-2 139 +job_hunte,125,130,0 duplicate(hntjqt) 13-3 139 +job_hunte,125,131,0 duplicate(hntjqt) 13-4 139 +job_hunte,64,128,0 duplicate(hntjqt) 14-1 139 +job_hunte,64,129,0 duplicate(hntjqt) 14-2 139 +job_hunte,65,128,0 duplicate(hntjqt) 14-3 139 +job_hunte,65,129,0 duplicate(hntjqt) 14-4 139 +job_hunte,68,126,0 duplicate(hntjqt) 15-1 139 +job_hunte,68,127,0 duplicate(hntjqt) 15-2 139 +job_hunte,69,126,0 duplicate(hntjqt) 15-3 139 +job_hunte,69,127,0 duplicate(hntjqt) 15-4 139 +job_hunte,75,128,0 duplicate(hntjqt) 16-1 139,1,0 +job_hunte,75,129,0 duplicate(hntjqt) 16-2 139,1,0 +job_hunte,77,128,0 duplicate(hntjqt) 16-3 139 +job_hunte,77,129,0 duplicate(hntjqt) 16-4 139 +job_hunte,82,126,0 duplicate(hntjqt) 17-1 139 +job_hunte,82,127,0 duplicate(hntjqt) 17-2 139 +job_hunte,83,126,0 duplicate(hntjqt) 17-3 139 +job_hunte,83,127,0 duplicate(hntjqt) 17-4 139 +job_hunte,96,128,0 duplicate(hntjqt) 18-1 139 +job_hunte,96,129,0 duplicate(hntjqt) 18-2 139 +job_hunte,97,128,0 duplicate(hntjqt) 18-3 139 +job_hunte,97,129,0 duplicate(hntjqt) 18-4 139 +job_hunte,100,126,0 duplicate(hntjqt) 19-1 139 +job_hunte,100,127,0 duplicate(hntjqt) 19-2 139 +job_hunte,101,126,0 duplicate(hntjqt) 19-3 139 +job_hunte,101,127,0 duplicate(hntjqt) 19-4 139 +job_hunte,106,128,0 duplicate(hntjqt) 20-1 139 +job_hunte,106,129,0 duplicate(hntjqt) 20-2 139 +job_hunte,107,128,0 duplicate(hntjqt) 20-3 139 +job_hunte,107,129,0 duplicate(hntjqt) 20-4 139 +job_hunte,112,126,0 duplicate(hntjqt) 21-1 139 +job_hunte,112,127,0 duplicate(hntjqt) 21-2 139 +job_hunte,113,126,0 duplicate(hntjqt) 21-3 139 +job_hunte,113,127,0 duplicate(hntjqt) 21-4 139 +job_hunte,126,126,0 duplicate(hntjqt) 22-1 139 +job_hunte,126,127,0 duplicate(hntjqt) 22-2 139 +job_hunte,127,126,0 duplicate(hntjqt) 22-3 139 +job_hunte,127,127,0 duplicate(hntjqt) 22-4 139 +job_hunte,52,122,0 duplicate(hntjqt) 23-1 139,0,1 +job_hunte,52,122,0 duplicate(hntjqt) 23-2 139,0,1 +job_hunte,53,120,0 duplicate(hntjqt) 23-3 139,1,0 +job_hunte,54,121,0 duplicate(hntjqt) 23-4 139 +job_hunte,55,121,0 duplicate(hntjqt) 23-5 139 +job_hunte,55,120,0 duplicate(hntjqt) 23-6 139 +job_hunte,66,120,0 duplicate(hntjqt) 24-1 139 +job_hunte,66,121,0 duplicate(hntjqt) 24-2 139 +job_hunte,67,120,0 duplicate(hntjqt) 24-3 139 +job_hunte,67,121,0 duplicate(hntjqt) 24-4 139 +job_hunte,114,118,0 duplicate(hntjqt) 25-1 139 +job_hunte,114,119,0 duplicate(hntjqt) 25-2 139 +job_hunte,115,118,0 duplicate(hntjqt) 25-3 139 +job_hunte,115,119,0 duplicate(hntjqt) 25-4 139 +job_hunte,124,120,0 duplicate(hntjqt) 26-1 139,0,1 +job_hunte,125,120,0 duplicate(hntjqt) 26-2 139,0,1 +job_hunte,124,118,0 duplicate(hntjqt) 26-3 139 +job_hunte,125,118,0 duplicate(hntjqt) 26-4 139 +job_hunte,66,116,0 duplicate(hntjqt) 27-1 139 +job_hunte,66,117,0 duplicate(hntjqt) 27-2 139 +job_hunte,67,116,0 duplicate(hntjqt) 27-3 139 +job_hunte,67,117,0 duplicate(hntjqt) 27-4 139 +job_hunte,76,114,0 duplicate(hntjqt) 28-1 139 +job_hunte,76,115,0 duplicate(hntjqt) 28-2 139 +job_hunte,77,114,0 duplicate(hntjqt) 28-3 139 +job_hunte,77,115,0 duplicate(hntjqt) 28-4 139 +job_hunte,82,116,0 duplicate(hntjqt) 29-1 139 +job_hunte,82,117,0 duplicate(hntjqt) 29-2 139 +job_hunte,83,116,0 duplicate(hntjqt) 29-3 139 +job_hunte,83,117,0 duplicate(hntjqt) 29-4 139 +job_hunte,86,114,0 duplicate(hntjqt) 30-1 139 +job_hunte,86,115,0 duplicate(hntjqt) 30-2 139 +job_hunte,87,114,0 duplicate(hntjqt) 30-3 139 +job_hunte,87,115,0 duplicate(hntjqt) 30-4 139 +job_hunte,92,115,0 duplicate(hntjqt) 31-1 139,1,0 +job_hunte,92,114,0 duplicate(hntjqt) 31-2 139,1,0 +job_hunte,90,115,0 duplicate(hntjqt) 31-3 139 +job_hunte,102,116,0 duplicate(hntjqt) 32-1 139 +job_hunte,102,117,0 duplicate(hntjqt) 32-2 139 +job_hunte,103,116,0 duplicate(hntjqt) 32-3 139 +job_hunte,103,117,0 duplicate(hntjqt) 32-4 139 +job_hunte,114,114,0 duplicate(hntjqt) 33-1 139 +job_hunte,114,115,0 duplicate(hntjqt) 33-2 139 +job_hunte,115,114,0 duplicate(hntjqt) 33-3 139 +job_hunte,115,115,0 duplicate(hntjqt) 33-4 139 +job_hunte,54,110,0 duplicate(hntjqt) 34-1 139,0,1 +job_hunte,55,110,0 duplicate(hntjqt) 34-2 139,0,1 +job_hunte,54,108,0 duplicate(hntjqt) 34-3 139 +job_hunte,55,108,0 duplicate(hntjqt) 34-4 139 +job_hunte,64,112,0 duplicate(hntjqt) 35-1 139 +job_hunte,64,113,0 duplicate(hntjqt) 35-2 139 +job_hunte,65,112,0 duplicate(hntjqt) 35-3 139 +job_hunte,65,113,0 duplicate(hntjqt) 35-4 139 +job_hunte,80,110,0 duplicate(hntjqt) 36-1 139 +job_hunte,80,111,0 duplicate(hntjqt) 36-2 139 +job_hunte,81,110,0 duplicate(hntjqt) 36-3 139 +job_hunte,81,111,0 duplicate(hntjqt) 36-4 139 +job_hunte,90,108,0 duplicate(hntjqt) 37-1 139,0,6 +job_hunte,91,108,0 duplicate(hntjqt) 37-2 139,0,5 +job_hunte,91,102,0 duplicate(hntjqt) 37-3 139 +job_hunte,98,109,0 duplicate(hntjqt) 38-1 139,0,2 +job_hunte,99,109,0 duplicate(hntjqt) 38-2 139,0,2 +job_hunte,103,109,0 duplicate(hntjqt) 38-3 139,3,0 +job_hunte,103,108,0 duplicate(hntjqt) 38-4 139,3,0 +job_hunte,97,106,0 duplicate(hntjqt) 39-1 139,2,0 +job_hunte,96,107,0 duplicate(hntjqt) 39-2 139,1,0 +job_hunte,94,108,0 duplicate(hntjqt) 39-3 139,0,1 +job_hunte,95,109,0 duplicate(hntjqt) 39-4 139 +job_hunte,95,108,0 duplicate(hntjqt) 40-1 139 +job_hunte,94,106,0 duplicate(hntjqt) 40-2 139 +job_hunte,96,102,0 duplicate(hntjqt) 40-3 139,0,3 +job_hunte,97,102,0 duplicate(hntjqt) 40-4 139,0,3 +job_hunte,95,98,0 duplicate(hntjqt) 41-1 139,2,0 +job_hunte,94,99,0 duplicate(hntjqt) 42-1 139,1,0 +job_hunte,92,98,0 duplicate(hntjqt) 43-1 139 +job_hunte,112,110,0 duplicate(hntjqt) 44-1 139 +job_hunte,112,111,0 duplicate(hntjqt) 44-2 139 +job_hunte,113,110,0 duplicate(hntjqt) 44-3 139 +job_hunte,113,111,0 duplicate(hntjqt) 44-4 139 +job_hunte,126,108,0 duplicate(hntjqt) 45-1 139,0,1 +job_hunte,127,108,0 duplicate(hntjqt) 45-2 139,0,1 +job_hunte,126,106,0 duplicate(hntjqt) 45-3 139 +job_hunte,126,106,0 duplicate(hntjqt) 45-4 139 +job_hunte,53,102,0 duplicate(hntjqt) 46-1 139,1,1 +job_hunte,55,102,0 duplicate(hntjqt) 46-2 139,0,1 +job_hunte,53,100,0 duplicate(hntjqt) 46-3 139,1,0 +job_hunte,55,100,0 duplicate(hntjqt) 46-4 139 +job_hunte,64,106,0 duplicate(hntjqt) 47-1 139 +job_hunte,64,107,0 duplicate(hntjqt) 47-2 139 +job_hunte,65,106,0 duplicate(hntjqt) 47-3 139 +job_hunte,65,107,0 duplicate(hntjqt) 47-4 139 +job_hunte,66,100,0 duplicate(hntjqt) 48-1 139 +job_hunte,66,101,0 duplicate(hntjqt) 48-2 139 +job_hunte,67,100,0 duplicate(hntjqt) 48-3 139 +job_hunte,67,101,0 duplicate(hntjqt) 48-4 139 +job_hunte,86,106,0 duplicate(hntjqt) 49-1 139,0,1 +job_hunte,87,106,0 duplicate(hntjqt) 49-2 139,0,1 +job_hunte,82,104,0 duplicate(hntjqt) 49-3 139,5,0 +job_hunte,81,105,0 duplicate(hntjqt) 49-4 139,4,0 +job_hunte,76,105,0 duplicate(hntjqt) 50-1 139 +job_hunte,76,104,0 duplicate(hntjqt) 50-2 139 +job_hunte,78,101,0 duplicate(hntjqt) 50-3 139,0,2 +job_hunte,79,101,0 duplicate(hntjqt) 50-4 139,0,2 +job_hunte,76,99,0 duplicate(hntjqt) 51-1 139,1,0 +job_hunte,77,98,0 duplicate(hntjqt) 51-2 139,2,0 +job_hunte,74,99,0 duplicate(hntjqt) 51-3 139 +job_hunte,74,98,0 duplicate(hntjqt) 51-4 139 +job_hunte,82,100,0 duplicate(hntjqt) 53-1 139 +job_hunte,82,101,0 duplicate(hntjqt) 53-2 139 +job_hunte,83,100,0 duplicate(hntjqt) 53-3 139 +job_hunte,83,101,0 duplicate(hntjqt) 53-4 139 +job_hunte,106,104,0 duplicate(hntjqt) 54-1 139 +job_hunte,106,105,0 duplicate(hntjqt) 54-2 139 +job_hunte,107,104,0 duplicate(hntjqt) 54-3 139 +job_hunte,107,105,0 duplicate(hntjqt) 54-4 139 +job_hunte,112,104,0 duplicate(hntjqt) 55-1 139,0,1 +job_hunte,113,104,0 duplicate(hntjqt) 55-2 139,0,1 +job_hunte,112,102,0 duplicate(hntjqt) 55-3 139 +job_hunte,113,102,0 duplicate(hntjqt) 55-4 139 +job_hunte,54,92,0 duplicate(hntjqt) 56-1 139 +job_hunte,54,93,0 duplicate(hntjqt) 56-2 139 +job_hunte,55,92,0 duplicate(hntjqt) 56-3 139 +job_hunte,55,93,0 duplicate(hntjqt) 56-4 139 +job_hunte,52,90,0 duplicate(hntjqt) 56-5 139 +job_hunte,52,91,0 duplicate(hntjqt) 56-6 139 +job_hunte,53,90,0 duplicate(hntjqt) 56-7 139 +job_hunte,53,91,0 duplicate(hntjqt) 56-8 139 +job_hunte,64,92,0 duplicate(hntjqt) 57-1 139 +job_hunte,64,93,0 duplicate(hntjqt) 57-2 139 +job_hunte,65,92,0 duplicate(hntjqt) 57-3 139 + +- script hnt_job_quest_test2::hntjqt2 -1,{ + OnTouch: - mapannounce "job_hunte",strcharinfo(0) + ", has failed me! Go back to where you started!",bc_map; - set HNTR_Q,13; + mapannounce "job_hunte"," " + strcharinfo(0) + ", has failed me! Go back to where you started!",bc_map; + set job_hunter,13; warp "job_hunte",176,22; + donpcevent "Waiting Room#hnt::OnReset"; donpcevent "Manager#hnt::OnReset"; - donpcevent "Waiting Room#hnt::OnStart"; + donpcevent "Manager#hnt2::OnReset"; + donpcevent "Manager#hnt::OnDisable"; + donpcevent "Manager#hnt2::OnDisable"; + end; + +OnEnable: + hideoffnpc "57-4"; + hideoffnpc "58-1"; + hideoffnpc "58-2"; + hideoffnpc "58-3"; + hideoffnpc "58-4"; + hideoffnpc "59-1"; + hideoffnpc "59-2"; + hideoffnpc "59-3"; + hideoffnpc "59-4"; + hideoffnpc "60-1"; + hideoffnpc "60-2"; + hideoffnpc "60-3"; + hideoffnpc "60-4"; + hideoffnpc "61-1"; + hideoffnpc "61-2"; + hideoffnpc "61-3"; + hideoffnpc "61-4"; + hideoffnpc "62-1"; + hideoffnpc "62-2"; + hideoffnpc "62-3"; + hideoffnpc "62-4"; + hideoffnpc "63-1"; + hideoffnpc "63-2"; + hideoffnpc "63-3"; + hideoffnpc "63-4"; + hideoffnpc "64-1"; + hideoffnpc "64-2"; + hideoffnpc "64-3"; + hideoffnpc "64-4"; + hideoffnpc "65-1"; + hideoffnpc "65-2"; + hideoffnpc "65-3"; + hideoffnpc "65-4"; + hideoffnpc "66-1"; + hideoffnpc "66-2"; + hideoffnpc "66-3"; + hideoffnpc "66-4"; + hideoffnpc "67-1"; + hideoffnpc "67-2"; + hideoffnpc "67-3"; + hideoffnpc "67-4"; + hideoffnpc "68-1"; + hideoffnpc "68-2"; + hideoffnpc "68-3"; + hideoffnpc "68-4"; + hideoffnpc "69-1"; + hideoffnpc "69-2"; + hideoffnpc "69-3"; + hideoffnpc "69-4"; + hideoffnpc "70-1"; + hideoffnpc "70-2"; + hideoffnpc "70-3"; + hideoffnpc "70-4"; + hideoffnpc "71-1"; + hideoffnpc "71-2"; + hideoffnpc "71-3"; + hideoffnpc "71-4"; + hideoffnpc "72-1"; + hideoffnpc "72-2"; + hideoffnpc "72-3"; + hideoffnpc "72-4"; + hideoffnpc "73-1"; + hideoffnpc "73-2"; + hideoffnpc "73-3"; + hideoffnpc "73-4"; + hideoffnpc "74-1"; + hideoffnpc "74-2"; + hideoffnpc "74-3"; + hideoffnpc "74-4"; + hideoffnpc "75-1"; + hideoffnpc "75-2"; + hideoffnpc "75-3"; + hideoffnpc "75-4"; + hideoffnpc "76-1"; + hideoffnpc "76-2"; + hideoffnpc "76-3"; + hideoffnpc "76-4"; + hideoffnpc "77-1"; + hideoffnpc "77-2"; + hideoffnpc "77-3"; + hideoffnpc "77-4"; + hideoffnpc "78-1"; + hideoffnpc "78-2"; + hideoffnpc "78-3"; + hideoffnpc "78-4"; + hideoffnpc "79-1"; + hideoffnpc "79-2"; + hideoffnpc "79-3"; + hideoffnpc "79-4"; + hideoffnpc "80-1"; + hideoffnpc "80-2"; + hideoffnpc "80-3"; + hideoffnpc "80-4"; + hideoffnpc "81-1"; + hideoffnpc "81-2"; + hideoffnpc "81-3"; + hideoffnpc "81-4"; + hideoffnpc "82-1"; + hideoffnpc "82-2"; + hideoffnpc "82-3"; + hideoffnpc "82-4"; + hideoffnpc "83-1"; + hideoffnpc "83-2"; + hideoffnpc "83-3"; + hideoffnpc "83-4"; + hideoffnpc "84-1"; + hideoffnpc "84-2"; + hideoffnpc "84-3"; + hideoffnpc "84-4"; + hideoffnpc "85-1"; + hideoffnpc "85-2"; + hideoffnpc "85-3"; + hideoffnpc "85-4"; + hideoffnpc "86-1"; + hideoffnpc "86-2"; + hideoffnpc "86-3"; + hideoffnpc "86-4"; + hideoffnpc "87-1"; + hideoffnpc "87-2"; + hideoffnpc "87-3"; + hideoffnpc "87-4"; + hideoffnpc "88-1"; + hideoffnpc "88-2"; + hideoffnpc "88-3"; + hideoffnpc "88-4"; + hideoffnpc "89-1"; + hideoffnpc "89-2"; + hideoffnpc "89-3"; + hideoffnpc "89-4"; + hideoffnpc "90-1"; + hideoffnpc "90-2"; + hideoffnpc "90-3"; + hideoffnpc "90-4"; + hideoffnpc "91-1"; + hideoffnpc "91-2"; + hideoffnpc "91-3"; + hideoffnpc "91-4"; + hideoffnpc "92-1"; + hideoffnpc "92-2"; + hideoffnpc "92-3"; + hideoffnpc "92-4"; + hideoffnpc "93-1"; + hideoffnpc "93-2"; + hideoffnpc "93-3"; + hideoffnpc "93-4"; + hideoffnpc "94-1"; + hideoffnpc "94-2"; + hideoffnpc "94-3"; + hideoffnpc "94-4"; + hideoffnpc "95-1"; + hideoffnpc "95-2"; + hideoffnpc "95-3"; + hideoffnpc "95-4"; + hideoffnpc "96-1"; + hideoffnpc "96-2"; + hideoffnpc "96-3"; + hideoffnpc "96-4"; + hideoffnpc "97-1"; + hideoffnpc "97-2"; + hideoffnpc "97-3"; + hideoffnpc "97-4"; + end; + +OnDisable: + hideonnpc "57-4"; + hideonnpc "58-1"; + hideonnpc "58-2"; + hideonnpc "58-3"; + hideonnpc "58-4"; + hideonnpc "59-1"; + hideonnpc "59-2"; + hideonnpc "59-3"; + hideonnpc "59-4"; + hideonnpc "60-1"; + hideonnpc "60-2"; + hideonnpc "60-3"; + hideonnpc "60-4"; + hideonnpc "61-1"; + hideonnpc "61-2"; + hideonnpc "61-3"; + hideonnpc "61-4"; + hideonnpc "62-1"; + hideonnpc "62-2"; + hideonnpc "62-3"; + hideonnpc "62-4"; + hideonnpc "63-1"; + hideonnpc "63-2"; + hideonnpc "63-3"; + hideonnpc "63-4"; + hideonnpc "64-1"; + hideonnpc "64-2"; + hideonnpc "64-3"; + hideonnpc "64-4"; + hideonnpc "65-1"; + hideonnpc "65-2"; + hideonnpc "65-3"; + hideonnpc "65-4"; + hideonnpc "66-1"; + hideonnpc "66-2"; + hideonnpc "66-3"; + hideonnpc "66-4"; + hideonnpc "67-1"; + hideonnpc "67-2"; + hideonnpc "67-3"; + hideonnpc "67-4"; + hideonnpc "68-1"; + hideonnpc "68-2"; + hideonnpc "68-3"; + hideonnpc "68-4"; + hideonnpc "69-1"; + hideonnpc "69-2"; + hideonnpc "69-3"; + hideonnpc "69-4"; + hideonnpc "70-1"; + hideonnpc "70-2"; + hideonnpc "70-3"; + hideonnpc "70-4"; + hideonnpc "71-1"; + hideonnpc "71-2"; + hideonnpc "71-3"; + hideonnpc "71-4"; + hideonnpc "72-1"; + hideonnpc "72-2"; + hideonnpc "72-3"; + hideonnpc "72-4"; + hideonnpc "73-1"; + hideonnpc "73-2"; + hideonnpc "73-3"; + hideonnpc "73-4"; + hideonnpc "74-1"; + hideonnpc "74-2"; + hideonnpc "74-3"; + hideonnpc "74-4"; + hideonnpc "75-1"; + hideonnpc "75-2"; + hideonnpc "75-3"; + hideonnpc "75-4"; + hideonnpc "76-1"; + hideonnpc "76-2"; + hideonnpc "76-3"; + hideonnpc "76-4"; + hideonnpc "77-1"; + hideonnpc "77-2"; + hideonnpc "77-3"; + hideonnpc "77-4"; + hideonnpc "78-1"; + hideonnpc "78-2"; + hideonnpc "78-3"; + hideonnpc "78-4"; + hideonnpc "79-1"; + hideonnpc "79-2"; + hideonnpc "79-3"; + hideonnpc "79-4"; + hideonnpc "80-1"; + hideonnpc "80-2"; + hideonnpc "80-3"; + hideonnpc "80-4"; + hideonnpc "81-1"; + hideonnpc "81-2"; + hideonnpc "81-3"; + hideonnpc "81-4"; + hideonnpc "82-1"; + hideonnpc "82-2"; + hideonnpc "82-3"; + hideonnpc "82-4"; + hideonnpc "83-1"; + hideonnpc "83-2"; + hideonnpc "83-3"; + hideonnpc "83-4"; + hideonnpc "84-1"; + hideonnpc "84-2"; + hideonnpc "84-3"; + hideonnpc "84-4"; + hideonnpc "85-1"; + hideonnpc "85-2"; + hideonnpc "85-3"; + hideonnpc "85-4"; + hideonnpc "86-1"; + hideonnpc "86-2"; + hideonnpc "86-3"; + hideonnpc "86-4"; + hideonnpc "87-1"; + hideonnpc "87-2"; + hideonnpc "87-3"; + hideonnpc "87-4"; + hideonnpc "88-1"; + hideonnpc "88-2"; + hideonnpc "88-3"; + hideonnpc "88-4"; + hideonnpc "89-1"; + hideonnpc "89-2"; + hideonnpc "89-3"; + hideonnpc "89-4"; + hideonnpc "90-1"; + hideonnpc "90-2"; + hideonnpc "90-3"; + hideonnpc "90-4"; + hideonnpc "91-1"; + hideonnpc "91-2"; + hideonnpc "91-3"; + hideonnpc "91-4"; + hideonnpc "92-1"; + hideonnpc "92-2"; + hideonnpc "92-3"; + hideonnpc "92-4"; + hideonnpc "93-1"; + hideonnpc "93-2"; + hideonnpc "93-3"; + hideonnpc "93-4"; + hideonnpc "94-1"; + hideonnpc "94-2"; + hideonnpc "94-3"; + hideonnpc "94-4"; + hideonnpc "95-1"; + hideonnpc "95-2"; + hideonnpc "95-3"; + hideonnpc "95-4"; + hideonnpc "96-1"; + hideonnpc "96-2"; + hideonnpc "96-3"; + hideonnpc "96-4"; + hideonnpc "97-1"; + hideonnpc "97-2"; + hideonnpc "97-3"; + hideonnpc "97-4"; 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 +job_hunte,65,93,0 duplicate(hntjqt2) 57-4 139 +job_hunte,76,94,0 duplicate(hntjqt2) 58-1 139 +job_hunte,76,95,0 duplicate(hntjqt2) 58-2 139 +job_hunte,77,94,0 duplicate(hntjqt2) 58-3 139 +job_hunte,77,95,0 duplicate(hntjqt2) 58-4 139 +job_hunte,78,92,0 duplicate(hntjqt2) 59-1 139 +job_hunte,78,93,0 duplicate(hntjqt2) 59-2 139 +job_hunte,79,92,0 duplicate(hntjqt2) 59-3 139 +job_hunte,79,93,0 duplicate(hntjqt2) 59-4 139 +job_hunte,86,92,0 duplicate(hntjqt2) 60-1 139 +job_hunte,86,93,0 duplicate(hntjqt2) 60-2 139 +job_hunte,87,92,0 duplicate(hntjqt2) 60-3 139 +job_hunte,87,93,0 duplicate(hntjqt2) 60-4 139 +job_hunte,90,96,0 duplicate(hntjqt2) 61-1 139 +job_hunte,90,97,0 duplicate(hntjqt2) 61-2 139 +job_hunte,91,96,0 duplicate(hntjqt2) 61-3 139 +job_hunte,91,97,0 duplicate(hntjqt2) 61-4 139 +job_hunte,99,95,0 duplicate(hntjqt2) 62-1 139,1,0 +job_hunte,99,94,0 duplicate(hntjqt2) 62-2 139,1,0 +job_hunte,101,94,0 duplicate(hntjqt2) 62-3 139,0,1 +job_hunte,100,93,0 duplicate(hntjqt2) 62-4 139 +job_hunte,100,92,0 duplicate(hntjqt2) 63-1 139 +job_hunte,101,92,0 duplicate(hntjqt2) 63-2 139 +job_hunte,102,98,0 duplicate(hntjqt2) 64-1 139 +job_hunte,102,99,0 duplicate(hntjqt2) 64-2 139 +job_hunte,103,98,0 duplicate(hntjqt2) 64-3 139 +job_hunte,103,99,0 duplicate(hntjqt2) 64-4 139 +job_hunte,102,90,0 duplicate(hntjqt2) 65-1 139 +job_hunte,102,91,0 duplicate(hntjqt2) 65-2 139 +job_hunte,103,90,0 duplicate(hntjqt2) 65-3 139 +job_hunte,103,91,0 duplicate(hntjqt2) 65-4 139 +job_hunte,114,96,0 duplicate(hntjqt2) 66-1 139 +job_hunte,114,97,0 duplicate(hntjqt2) 66-2 139 +job_hunte,115,96,0 duplicate(hntjqt2) 66-3 139 +job_hunte,115,97,0 duplicate(hntjqt2) 66-4 139 +job_hunte,112,90,0 duplicate(hntjqt2) 67-1 139 +job_hunte,112,91,0 duplicate(hntjqt2) 67-2 139 +job_hunte,113,90,0 duplicate(hntjqt2) 67-3 139 +job_hunte,113,91,0 duplicate(hntjqt2) 67-4 139 +job_hunte,125,97,0 duplicate(hntjqt2) 68-1 139,1,0 +job_hunte,125,96,0 duplicate(hntjqt2) 68-2 139,1,0 +job_hunte,127,96,0 duplicate(hntjqt2) 68-3 139 +job_hunte,127,97,0 duplicate(hntjqt2) 68-4 139 +job_hunte,52,86,0 duplicate(hntjqt2) 69-1 139 +job_hunte,52,87,0 duplicate(hntjqt2) 69-2 139 +job_hunte,53,86,0 duplicate(hntjqt2) 69-3 139 +job_hunte,53,87,0 duplicate(hntjqt2) 69-4 139 +job_hunte,66,88,0 duplicate(hntjqt2) 70-1 139 +job_hunte,66,89,0 duplicate(hntjqt2) 70-2 139 +job_hunte,67,88,0 duplicate(hntjqt2) 70-3 139 +job_hunte,67,89,0 duplicate(hntjqt2) 70-4 139 +job_hunte,114,84,0 duplicate(hntjqt2) 71-1 139 +job_hunte,114,85,0 duplicate(hntjqt2) 71-2 139 +job_hunte,115,84,0 duplicate(hntjqt2) 71-3 139 +job_hunte,115,85,0 duplicate(hntjqt2) 71-4 139 +job_hunte,126,86,0 duplicate(hntjqt2) 72-1 139 +job_hunte,126,87,0 duplicate(hntjqt2) 72-2 139 +job_hunte,127,86,0 duplicate(hntjqt2) 72-3 139 +job_hunte,127,87,0 duplicate(hntjqt2) 72-4 139 +job_hunte,54,80,0 duplicate(hntjqt2) 73-1 139,0,1 +job_hunte,55,80,0 duplicate(hntjqt2) 73-2 139,0,1 +job_hunte,54,78,0 duplicate(hntjqt2) 73-3 139 +job_hunte,55,78,0 duplicate(hntjqt2) 73-4 139 +job_hunte,64,82,0 duplicate(hntjqt2) 74-1 139,0,1 +job_hunte,65,82,0 duplicate(hntjqt2) 74-2 139,0,1 +job_hunte,64,80,0 duplicate(hntjqt2) 74-3 139 +job_hunte,65,80,0 duplicate(hntjqt2) 74-4 139 +job_hunte,66,78,0 duplicate(hntjqt2) 75-1 139 +job_hunte,66,79,0 duplicate(hntjqt2) 75-2 139 +job_hunte,67,78,0 duplicate(hntjqt2) 75-3 139 +job_hunte,67,79,0 duplicate(hntjqt2) 75-4 139 +job_hunte,74,78,0 duplicate(hntjqt2) 76-1 139 +job_hunte,74,79,0 duplicate(hntjqt2) 76-2 139 +job_hunte,75,78,0 duplicate(hntjqt2) 76-3 139 +job_hunte,75,79,0 duplicate(hntjqt2) 76-4 139 +job_hunte,78,80,0 duplicate(hntjqt2) 77-1 139 +job_hunte,78,81,0 duplicate(hntjqt2) 77-2 139 +job_hunte,79,80,0 duplicate(hntjqt2) 77-3 139 +job_hunte,79,81,0 duplicate(hntjqt2) 77-4 139 +job_hunte,82,78,0 duplicate(hntjqt2) 78-1 139 +job_hunte,82,79,0 duplicate(hntjqt2) 78-2 139 +job_hunte,83,78,0 duplicate(hntjqt2) 78-3 139 +job_hunte,83,79,0 duplicate(hntjqt2) 78-4 139 +job_hunte,94,78,0 duplicate(hntjqt2) 79-1 139 +job_hunte,94,79,0 duplicate(hntjqt2) 79-2 139 +job_hunte,95,78,0 duplicate(hntjqt2) 79-3 139 +job_hunte,95,79,0 duplicate(hntjqt2) 79-4 139 +job_hunte,101,80,0 duplicate(hntjqt2) 80-1 139,1,0 +job_hunte,101,81,0 duplicate(hntjqt2) 80-2 139,1,0 +job_hunte,103,81,0 duplicate(hntjqt2) 80-3 139 +job_hunte,103,80,0 duplicate(hntjqt2) 80-4 139 +job_hunte,104,78,0 duplicate(hntjqt2) 81-1 139 +job_hunte,104,79,0 duplicate(hntjqt2) 81-2 139 +job_hunte,105,78,0 duplicate(hntjqt2) 81-3 139 +job_hunte,105,79,0 duplicate(hntjqt2) 81-4 139 +job_hunte,110,78,0 duplicate(hntjqt2) 82-1 139 +job_hunte,110,79,0 duplicate(hntjqt2) 82-2 139 +job_hunte,111,78,0 duplicate(hntjqt2) 82-3 139 +job_hunte,111,79,0 duplicate(hntjqt2) 82-4 139 +job_hunte,114,80,0 duplicate(hntjqt2) 83-1 139 +job_hunte,114,81,0 duplicate(hntjqt2) 83-2 139 +job_hunte,115,80,0 duplicate(hntjqt2) 83-3 139 +job_hunte,115,81,0 duplicate(hntjqt2) 83-4 139 +job_hunte,124,78,0 duplicate(hntjqt2) 84-1 139 +job_hunte,124,79,0 duplicate(hntjqt2) 84-2 139 +job_hunte,125,78,0 duplicate(hntjqt2) 84-3 139 +job_hunte,125,79,0 duplicate(hntjqt2) 84-4 139 +job_hunte,126,82,0 duplicate(hntjqt2) 85-1 139 +job_hunte,126,83,0 duplicate(hntjqt2) 85-2 139 +job_hunte,127,82,0 duplicate(hntjqt2) 85-3 139 +job_hunte,127,83,0 duplicate(hntjqt2) 85-4 139 +job_hunte,52,68,0 duplicate(hntjqt2) 86-1 139,0,1 +job_hunte,53,68,0 duplicate(hntjqt2) 86-2 139,0,1 +job_hunte,52,66,0 duplicate(hntjqt2) 86-3 139 +job_hunte,53,66,0 duplicate(hntjqt2) 86-4 139 +job_hunte,54,70,0 duplicate(hntjqt2) 87-1 139,0,1 +job_hunte,55,70,0 duplicate(hntjqt2) 87-2 139,0,1 +job_hunte,54,68,0 duplicate(hntjqt2) 87-3 139 +job_hunte,55,68,0 duplicate(hntjqt2) 87-4 139 +job_hunte,59,66,0 duplicate(hntjqt2) 88-1 139,1,0 +job_hunte,59,67,0 duplicate(hntjqt2) 88-2 139,1,0 +job_hunte,61,67,0 duplicate(hntjqt2) 88-3 139 +job_hunte,61,66,0 duplicate(hntjqt2) 88-4 139 +job_hunte,68,68,0 duplicate(hntjqt2) 89-1 139,0,1 +job_hunte,69,68,0 duplicate(hntjqt2) 89-2 139,0,1 +job_hunte,68,66,0 duplicate(hntjqt2) 89-3 139 +job_hunte,69,66,0 duplicate(hntjqt2) 89-4 139 +job_hunte,76,66,0 duplicate(hntjqt2) 90-1 139 +job_hunte,76,67,0 duplicate(hntjqt2) 90-2 139 +job_hunte,77,66,0 duplicate(hntjqt2) 90-3 139 +job_hunte,77,67,0 duplicate(hntjqt2) 90-4 139 +job_hunte,82,68,0 duplicate(hntjqt2) 91-1 139 +job_hunte,82,69,0 duplicate(hntjqt2) 91-2 139 +job_hunte,83,68,0 duplicate(hntjqt2) 91-3 139 +job_hunte,83,69,0 duplicate(hntjqt2) 91-4 139 +job_hunte,96,66,0 duplicate(hntjqt2) 92-1 139 +job_hunte,96,67,0 duplicate(hntjqt2) 92-2 139 +job_hunte,97,66,0 duplicate(hntjqt2) 92-3 139 +job_hunte,97,67,0 duplicate(hntjqt2) 92-4 139 +job_hunte,100,68,0 duplicate(hntjqt2) 93-1 139 +job_hunte,100,69,0 duplicate(hntjqt2) 93-2 139 +job_hunte,101,68,0 duplicate(hntjqt2) 93-3 139 +job_hunte,101,69,0 duplicate(hntjqt2) 93-4 139 +job_hunte,107,66,0 duplicate(hntjqt2) 94-1 139,1,0 +job_hunte,107,67,0 duplicate(hntjqt2) 94-2 139,1,0 +job_hunte,109,67,0 duplicate(hntjqt2) 94-3 139 +job_hunte,109,66,0 duplicate(hntjqt2) 94-4 139 +job_hunte,117,69,0 duplicate(hntjqt2) 95-1 139,1,0 +job_hunte,117,68,0 duplicate(hntjqt2) 95-2 139,1,0 +job_hunte,119,69,0 duplicate(hntjqt2) 95-3 139 +job_hunte,119,68,0 duplicate(hntjqt2) 95-4 139 +job_hunte,124,66,0 duplicate(hntjqt2) 96-1 139 +job_hunte,124,67,0 duplicate(hntjqt2) 96-2 139 +job_hunte,125,66,0 duplicate(hntjqt2) 96-3 139 +job_hunte,125,67,0 duplicate(hntjqt2) 96-4 139 +job_hunte,126,70,0 duplicate(hntjqt2) 97-1 139 +job_hunte,126,71,0 duplicate(hntjqt2) 97-2 139 +job_hunte,127,70,0 duplicate(hntjqt2) 97-3 139 +job_hunte,127,71,0 duplicate(hntjqt2) 97-4 139 \ No newline at end of file diff --git a/npc/pre-re/jobs/2-1/knight.txt b/npc/pre-re/jobs/2-1/knight.txt index 32c6908ee..d06130c36 100644 --- a/npc/pre-re/jobs/2-1/knight.txt +++ b/npc/pre-re/jobs/2-1/knight.txt @@ -1,108 +1,118 @@ //===== rAthena Script ======================================= -//= Knight Job Quest +// Knight Job change Quest //===== By: ================================================== -//= PGRO TEAM (Aegis). -//= Converted by kobra_k88 -//= Further bugfixed and tested by Lupus +//= Masao +//= Credits: Muad_Dib //===== Current Version: ===================================== -//= 3.2 +//= 1.0 //===== Compatible With: ===================================== -//= rAthena SVN +//= Any rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job Change quest for Knight class. +//= [Translated from the Official] +//= Job change Quest from Swordman -> Knight. //===== 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] +//= 1.0 Updated to latest available official file. [Masao] //============================================================ -prt_in,88,101,4 script Chivalry Captain#knt 56,{ - mes "[Captain Herman]"; +prt_in,88,101,4 script Chivalry Captain 56,{ if (Upper == 1) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; 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; + close2; + cutin "",255; + end; } - if (BaseJob != Job_Swordman) { - if (BaseJob == Job_Knight) { + if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { + if (Class == Job_Baby_Knight || Class == Job_Knight) { + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; 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; + close2; + cutin "",255; + end; } - else if (BaseClass == Job_Novice) { + if (Class == Job_Baby || Class == Job_Novice) { + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; 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.")) { + 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!"; + if (Sex == 1) { + mes "I'm sorry, lad, but you've"; + mes "come to the wrong place!"; + } + else { + mes "I'm sorry, lass, but you've"; + mes "come to the wrong place!"; + } next; + cutin "job_knight_herman1",2; 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; + break; 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; + cutin "job_knight_herman1",2; 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; + break; case 3: + cutin "job_knight_herman1",2; 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; + break; } + next; + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; + mes "If you really wish to become a knight, please come back later."; + close2; + cutin "",255; + end; } - else { - mes "Welcome. We, the proud Knights of the Prontera Chivalry, will give our lives for king and country! Please enjoy your stay."; - close; - } + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; + mes "Welcome. We, the proud Knights of the Prontera Chivalry, will give our lives for king and country! Please enjoy your stay."; + close2; + cutin "",255; + end; } - if (KNIGHT_Q == 0) { + if (KNGHT_Q == 0) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; 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) { + switch (select("I want to change my job to a Knight.:Just visiting.")) { + case 1: mes "[Captain Herman]"; - mes "Ohh..."; - mes "A young "+((Sex)?"man":"lady")+" who wishes"; - mes "to become a Knight!"; + if (Sex == 1) { + mes "Ohh..."; + mes "A young man who wishes"; + mes "to become a Knight!"; + } + else { + mes "Ohh..."; + mes "A young lady who wishes"; + mes "to become a Knight!"; + } mes "Our Prontera Chivalry"; mes "will assist you."; next; @@ -119,26 +129,34 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ 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]"; + switch (select("Yes, I would like to apply.:I'd like to think about it please.")) { + case 1: if (JobLevel < 40) { + mes "[Captain Herman]"; 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; + close2; + cutin "",255; + end; } - if (SkillPoint) { + if (SkillPoint != 0) { + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; 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; + close2; + cutin "",255; + end; } - set KNIGHT_Q,1; + set KNGHT_Q,1; setquest 9000; + mes "[Captain Herman]"; mes "Let me see..."; mes "Your name is"; - mes strcharinfo(0) + "..."; + mes "" + strcharinfo(0) + "..."; mes "Is that right?"; next; mes "[Captain Herman]"; @@ -155,32 +173,43 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ 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; + cutin "job_knight_herman1",2; 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; + close2; + break; + case 2: + cutin "job_knight_herman1",2; + 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."; + close2; + break; } + case 2: 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 "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."; + close2; + break; } - 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; + cutin "",255; + end; } - else if (KNIGHT_Q == 1) { + if (KNGHT_Q == 1) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; mes "Mmm?"; - mes strcharinfo(0) + ","; + mes "" + strcharinfo(0) + ","; mes "what can I do for you?"; mes "Ah, you don't know"; mes "who to visit?"; @@ -191,14 +220,48 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ 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; + close2; + cutin "",255; + end; + } + if (KNGHT_Q == 2) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "It may be difficult,"; + mes "but do your best."; + close2; + cutin "",255; + end; + } + if (KNGHT_Q == 3) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "It may be difficult,"; + mes "but do your best."; + close2; + cutin "",255; + end; } - 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; + if (KNGHT_Q == 4) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "Ah~ You do not know"; + mes "who to visit next?"; + next; + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; mes "It appears that you have finished one test. Let's see. Sir Andrew, who must this Swordman visit next?"; next; + cutin "job_knight_herman2",2; mes "[Sir Andrew]"; mes "I said to"; mes "visit Sir Siracuse."; @@ -208,11 +271,33 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ 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; + close2; + cutin "",255; + end; + } + if (KNGHT_Q == 5) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "It may be difficult,"; + mes "but do your best."; + close2; + cutin "",255; + end; } - else if (KNIGHT_Q == 5) callsub L_Mission,0; - else if (KNIGHT_Q == 6) { - callsub L_Mission,1; + if (KNGHT_Q == 6) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "Ah~ You do not know"; + mes "who to visit next?"; + next; + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; mes "Let's see..."; mes "You've completed two tests."; mes "Sir Siracuse, who must this Swordman visit next?"; @@ -222,14 +307,37 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "Um, who was next...?"; mes "Right! Sir Windsor!"; next; + cutin "job_knight_herman2",2; 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; + close2; + cutin "",255; + end; + } + if (KNGHT_Q == 7) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "It may be difficult,"; + mes "but do your best."; + close2; + cutin "",255; + end; } - else if (KNIGHT_Q == 7) callsub L_Mission,0; - else if (KNIGHT_Q == 8) { - callsub L_Mission,1; + if (KNGHT_Q == 8) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "Ah~ You do not know"; + mes "who to visit next?"; + next; + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; mes "Sir Windor...?"; mes "Who must this"; mes "Swordman visit"; @@ -245,14 +353,37 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "[Sir Windsor]"; mes "...Amy Beatrice."; next; + cutin "job_knight_herman2",2; 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; + close2; + cutin "",255; + end; + } + if (KNGHT_Q == 9) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "It may be difficult,"; + mes "but do your best."; + close2; + cutin "",255; + end; } - else if (KNIGHT_Q == 9) callsub L_Mission,0; - else if (KNIGHT_Q == 10) { - callsub L_Mission,1; + if (KNGHT_Q == 10) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "Ah~ You do not know"; + mes "who to visit next?"; + next; + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; mes "Let's see..."; mes "Lady Amy, who"; mes "must this Swordman"; @@ -264,16 +395,39 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "Sir Edmond!"; mes "Tee hee~"; next; + cutin "job_knight_herman2",2; mes "[Captain Herman]"; mes "Now, go and speak"; mes "to Sir Edmond. He will"; mes "be in charge of your"; mes "next test."; - close; + close2; + cutin "",255; + end; + } + if (KNGHT_Q == 11) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "It may be difficult,"; + mes "but do your best."; + close2; + cutin "",255; + end; } - else if (KNIGHT_Q == 11) callsub L_Mission,0; - else if (KNIGHT_Q == 12) { - callsub L_Mission,1; + if (KNGHT_Q == 12) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "Ah~ You do not know"; + mes "who to visit next?"; + next; + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; 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."; @@ -283,6 +437,7 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "to the law of cause and effect."; mes "All will be revealed in the end."; next; + cutin "job_knight_herman2",2; mes "[Captain Herman]"; mes "Be alert and do"; mes "your best, as this"; @@ -293,19 +448,43 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "after you have"; mes "completed the"; mes "final test."; - close; + close2; + cutin "",255; + end; } - else if (KNIGHT_Q == 13) { + if (KNGHT_Q == 13) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; 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; + close2; + cutin "",255; + end; } - else if (KNIGHT_Q == 14) { - if (SkillPoint) { + if (KNGHT_Q == 14) { + if (JobLevel < 40) { + set KNGHT_Q,0; + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + 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."; + close2; + cutin "",255; + end; + } + if (SkillPoint != 0) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; mes "Oh...!"; mes "You cannot change jobs if you have unused skill points remaining. Return once you have distributed all your skill points."; - close; + close2; + cutin "",255; + end; } + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; mes "Oh, have you completed all the tests? But not everyone who completes the tests can"; mes "become a Knight."; next; @@ -321,8 +500,8 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "to everyone's thoughts!"; mes "Andrew, what do you think?"; next; - mes "[Sir Andrew]"; if (JobLevel == 50) { + mes "[Sir Andrew]"; mes "What can I say?"; mes "I approve!"; mes "Having lived as"; @@ -331,11 +510,17 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "is enough."; } else { + mes "[Sir Andrew]"; 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."; + if (Sex == 1) { + mes "I believe he will continue to be loyal after becoming a Knight."; + } + else { + mes "I believe she will continue to be loyal after becoming a Knight."; + } } next; mes "[Captain Herman]"; @@ -372,7 +557,7 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "to Amy's opinion."; next; mes "[Lady Amy]"; - if (sex) { + if (Sex == 1) { 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!"; } @@ -391,7 +576,7 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "your mind."; next; mes "[Sir Edmond]"; - if (sex) { + if (Sex == 1) { 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."; } @@ -406,7 +591,12 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ 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..."; + if (Sex == 1) { + mes "A young gentleman coming here with the determination to become a Knight is enough..."; + } + else { + mes "A young lady coming here with the determination to become a Knight is enough..."; + } next; mes "[Captain Herman]"; mes "Everyone"; @@ -415,6 +605,7 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "Then I shall tell"; mes "you my opinion."; next; + cutin "job_knight_herman1",2; mes "[Captain Herman]"; mes "My decision is..."; next; @@ -425,9 +616,14 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "You may not have finished all the tests perfectly, but you have all the necessary qualities to become"; mes "a Knight."; next; + cutin "job_knight_herman2",2; + set KNGHT_Q,0; completequest 9012; - callfunc "Job_Change",Job_Knight; - callfunc "F_ClearJobVar"; // Clears all job variables for the current player + if(Class == Job_Baby_Swordman){ + jobchange Job_Baby_Knight; + } else { + jobchange Job_Knight; + } mes "[Captain Herman]"; mes "I hereby declare"; mes "you a member of"; @@ -440,35 +636,23 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ 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; + cutin "job_knight_herman1",2; 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; + close2; } + cutin "",255; + end; } -prt_in,75,107,4 script Sir Andrew#knt 65,{ - mes "[Sir Andrew]"; - if (BaseJob != Job_Swordman) { - if (BaseJob == Job_Knight) { +prt_in,75,107,4 script Sir Andrew 65,{ + if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { + if (Class == Job_Baby_Knight || Class == Job_Knight) { + mes "[Sir Andrew]"; mes "You must be"; mes "a member of"; mes "the Chivalry."; @@ -484,7 +668,8 @@ prt_in,75,107,4 script Sir Andrew#knt 65,{ mes "After all, we are Knights."; close; } - else if (BaseClass == Job_Novice) { + if (Class == Job_Baby || Class == Job_Novice) { + mes "[Sir Andrew]"; mes "Hey there,"; mes "little Novice."; mes "Welcome to the"; @@ -499,17 +684,17 @@ prt_in,75,107,4 script Sir Andrew#knt 65,{ 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; - } + mes "[Sir Andrew]"; + 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) { + if (KNGHT_Q == 0) { + mes "[Sir Andrew]"; mes "We, the members of the"; mes "Prontera Chivalry, are putting our best effort in protecting peace in this world."; next; @@ -518,18 +703,20 @@ prt_in,75,107,4 script Sir Andrew#knt 65,{ mes "a bright future that is to come."; close; } - else if (KNIGHT_Q == 1) { + if (KNGHT_Q == 1) { + mes "[Sir Andrew]"; mes "Good day."; mes "May I help you"; mes "with something?"; next; - if (select("I would like to take the test.:Oh, nothing.") == 1) { + switch (select("I would like to take the test.:Oh, nothing.")) { + case 1: mes "[Sir Andrew]"; mes "Ah..."; mes "You wish"; mes "to become a Knight."; mes "Your name is"; - mes strcharinfo(0) + ","; + mes "" + strcharinfo(0) + ","; mes "correct?"; next; mes "[Sir Andrew]"; @@ -560,8 +747,10 @@ prt_in,75,107,4 script Sir Andrew#knt 65,{ 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; + set KNGHT_Q,4; changequest 9000,9003; + changequest 9001,9003; + changequest 9002,9003; close; } mes "[Sir Andrew]"; @@ -571,22 +760,28 @@ prt_in,75,107,4 script Sir Andrew#knt 65,{ mes "Go and gather the"; mes "following items..."; next; + set .@knight_m1, rand(1,2); 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; + if (.@knight_m1 == 1) { + set KNGHT_Q,2; + changequest 9000,9001; + mes "^236B8E5 Elder Pixie's Moustache^000000,"; + mes "^236B8E5 Wing of Red Bat^000000,"; + mes "^236B8E5 Orcish Voucher^000000,"; + mes "^236B8E5 Moth Dust^000000,"; + mes "^236B8E5 Reptile Tongue^000000 and"; + mes "^236B8E5 Mane^000000."; + } + else { + set KNGHT_Q,3; + changequest 9000,9002; + mes "^236B8E5 Bug Leg^000000,"; + mes "^236B8E5 Heart of Mermaid^000000,"; + mes "^236B8E5 Maneater Blossom^000000,"; + mes "^236B8E5 Clam Flesh^000000,"; + mes "^236B8E5 Old Frying Pan^000000 and"; + mes "^236B8E5 Snail's Shell^000000."; } - 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"; @@ -595,39 +790,80 @@ prt_in,75,107,4 script Sir Andrew#knt 65,{ mes "items I've listed."; mes "See you soon~"; close; - } - else { + case 2: mes "[Sir Andrew]"; mes "Well, then..."; mes "Good day."; close; } } - else if (KNIGHT_Q == 2 || KNIGHT_Q == 3) { + if (KNGHT_Q == 2) { + mes "[Sir Andrew]"; 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(1040) > 4) && (countitem(7006) > 4) && (countitem(931) > 4) && (countitem(1057) > 4) && (countitem(903) > 4) && (countitem(1028) > 4)) { + mes "[Sir Andrew]"; + mes "Excellent! We appreciate your effort in gathering these items. These will be used to support"; + mes "the Chivalry's finances."; + next; + delitem 1040,5; //Elder_Pixie's_Beard + delitem 7006,5; //Wing_Of_Red_Bat + delitem 931,5; //Orcish_Voucher + delitem 1057,5; //Moth_Dust + delitem 903,5; //Reptile_Tongue + delitem 1028,5; //Wild_Boar's_Mane + set KNGHT_Q,4; + changequest 9001,9003; + changequest 9002,9003; + 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; } - 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 "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 "^236B8E5 Elder Pixie's Moustache^000000,"; + mes "^236B8E5 Wing of Red Bat^000000,"; + mes "^236B8E5 Orcish Voucher^000000,"; + mes "^236B8E5 Moth Dust^000000,"; + mes "^236B8E5 Reptile Tongue^000000 and"; + mes "^236B8E5 Mane^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; + } + if (KNGHT_Q == 3) { + mes "[Sir Andrew]"; + mes "Welcome back~"; + mes "Did you gather"; + mes "all the items?"; + mes "Let's check and see..."; + next; + if ((countitem(1042) > 4) && (countitem(950) > 4) && (countitem(1032) > 4) && (countitem(966) > 4) && (countitem(7031) > 4) && (countitem(946) > 4)) { 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; + delitem 1042,5; //Short_Leg + delitem 950,5; //Heart_Of_Mermaid + delitem 1032,5; //Blossom_Of_Maneater + delitem 966,5; //Flesh_Of_Clam + delitem 7031,5; //Old_Frying_Pan + delitem 946,5; //Snail's_Shell + set KNGHT_Q,4; + changequest 9001,9003; + changequest 9002,9003; 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; @@ -641,12 +877,12 @@ prt_in,75,107,4 script Sir Andrew#knt 65,{ 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,"; + mes "^236B8E5 Bug Leg^000000,"; + mes "^236B8E5 Heart of Mermaid^000000,"; + mes "^236B8E5 Maneater Blossom^000000,"; + mes "^236B8E5 Clam Flesh^000000,"; + mes "^236B8E5 Old Frying Pan^000000 and"; + mes "^236B8E5 Snail's Shell^000000."; next; mes "[Sir Andrew]"; mes "Now, please take this test seriously and with sincerity."; @@ -654,25 +890,26 @@ prt_in,75,107,4 script Sir Andrew#knt 65,{ mes "to complete this task."; close; } - else if (KNIGHT_Q == 4) { + if (KNGHT_Q == 4) { + mes "[Sir Andrew]"; 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) { + if (KNGHT_Q == 14) { + mes "[Sir Andrew]"; 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; - } + mes "[Sir Andrew]"; + 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) { +prt_in,71,91,0 script Sir Siracuse 65,{ + if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { + if (Class == Job_Baby_Knight || Class == Job_Knight) { + mes "[Sir Siracuse]"; mes "Hey there!"; mes "How are you doing?"; mes "The Chivalry's been"; @@ -693,7 +930,8 @@ prt_in,71,91,0 script Sir Siracuse#knt 65,{ 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) { + if (Class == Job_Baby || Class == Job_Novice) { + mes "[Sir Siracuse]"; mes "Oh?"; mes "What is a Novice"; mes "doing here?"; @@ -709,22 +947,22 @@ prt_in,71,91,0 script Sir Siracuse#knt 65,{ 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; - } + mes "[Sir Siracuse]"; + 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) { + if (KNGHT_Q == 0) { + mes "[Sir Siracuse]"; mes "Offense and defense."; mes "Is there a way to have both without compromising one or the other?"; next; @@ -738,24 +976,32 @@ prt_in,71,91,0 script Sir Siracuse#knt 65,{ mes "would help Knights greatly..."; close; } - else if (KNIGHT_Q == 1) { + if (KNGHT_Q == 1) { + mes "[Sir Siracuse]"; 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) { + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 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?"; + if (Sex == 1) { + mes "you the guy that"; + mes "just applied?"; + } + else { + mes "you the girl that"; + mes "just applied?"; + } next; mes "[Sir Siracuse]"; mes "Let's see..."; mes "Your name was"; - mes strcharinfo(0) + "."; + mes "" + strcharinfo(0) + "."; next; mes "[Sir Siracuse]"; mes "But, before you come to me, you must visit the others. The way"; @@ -763,23 +1009,26 @@ prt_in,71,91,0 script Sir Siracuse#knt 65,{ mes "reconsider once you"; mes "pass the first test."; close; + case 2: + 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 "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) { + if (KNGHT_Q == 2) { + mes "[Sir Siracuse]"; 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) { + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 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."; @@ -788,251 +1037,630 @@ prt_in,71,91,0 script Sir Siracuse#knt 65,{ mes "Speak to Sir Andrew first."; mes "My test for you will come after you've finished his test."; close; + case 2: + 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 (KNGHT_Q == 3) { mes "[Sir Siracuse]"; - mes "Hmmm...?"; - mes "Alright."; - mes "It's just that"; - mes "you had that"; - mes "look on your"; - mes "face."; - close; + mes "Eh?"; + mes "Do you have"; + mes "something to"; + mes "ask me?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 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; + case 2: + 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?"; + else if (KNGHT_Q == 4) { + mes "[Sir Siracuse]"; + mes "Oh?"; + mes "Do you have"; + mes "something to"; + mes "ask me?"; + next; + switch (select("Sir Andrew sent me to take your test.:Oh, nothing.")) { + case 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; + 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("Sir Andrew sent me to take your test.:Oh, nothing.") == 1) { + switch (select("Katana:Slayer:Broadsword:Flamberge")) { + case 1: + set KNGHT_Q,5; 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."; + 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 "This test will measure how much you know about Knighthood. More importantly, I want to know your thoughts about honor."; - next; + 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; + case 2: + set KNGHT_Q,5; 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?"; + 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 "Well then,"; - mes "let's begin."; - mes "Please answer"; - mes "promptly."; + 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; + case 3: + set KNGHT_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; + case 4: + break; } - else { + mes "[Sir Siracuse]"; + mes "Good, now let me ask about some skills. Which of the following is not necessary to learn Bowling Bash?"; + next; + switch (select("Two Handed Sword Mastery Lv.5:Magnum Break Lv.3:Provoke Lv.10:Bash Lv.10")) { + case 1: + set KNGHT_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; + case 2: + set KNGHT_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; + case 3: + break; + case 4: + set KNGHT_Q,5; mes "[Sir Siracuse]"; - mes "Hmmm...?"; - mes "Alright."; - mes "It's just that"; - mes "you had that"; - mes "look on your"; - mes "face."; + mes "Wrong!"; + mes "You need that to learn Bowling Bash! You should learn more about the Knight class before applying for the job!"; close; } - } - else if (KNIGHT_Q == 5) { - mes "What..."; - mes "You again?"; + 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("I wish to take the test again.:Oh, nothing.") == 1) { + switch (select("Pierce Lv.5:Spear Stab Lv.3:Spear Boomerang Lv.3:Peco Peco Ride Lv.1")) { + case 1: + set KNGHT_Q,5; mes "[Sir Siracuse]"; - mes "Is that right?"; - mes "Are you sure you're"; - mes "prepared this time?"; + 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 "Alright then,"; - mes "here we go again..."; + 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; + case 2: + set KNGHT_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; + case 3: + break; + case 4: + set KNGHT_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; - } - else { mes "[Sir Siracuse]"; - mes "Hmmm...?"; - mes "Alright."; - mes "It's just that"; - mes "you had that"; - mes "look on your"; - mes "face."; + 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 "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..."; + mes "Some Spears also have magical attributes, just like spells. Of the following, which can attack a Nightmare, which has the Ghost attribute?"; next; + switch (select("Zephyrus:Lance:Bill Guisarme:Crescent Scythe")) { + case 1: + break; + case 2: + set KNGHT_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; + case 3: + set KNGHT_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; + case 4: + set KNGHT_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 "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?"; + 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 "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 "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; + switch (select("70 % of normal attack speed:80 % of normal attack speed:90 % of normal attack speed:100 % of normal attack speed")) { + case 1: + set KNGHT_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; + case 2: + break; + case 3: + set KNGHT_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; + case 4: + set KNGHT_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 "Wrong! You'll be doing absolutely no damage with that type of Spear! Come back after you've learned more about Knights!"; + 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 "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 "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 KNGHT_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 KNGHT_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 "Wrong!"; - mes "Don't bother riding a Peco Peco if you don't know about Cavalier Mastery!"; + 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 KNGHT_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 KNGHT_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 "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 "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 KNGHT_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 KNGHT_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 KNGHT_Q,6; + changequest 9003,9004; 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."; + mes "Well then,"; + mes "this is the"; + mes "end of my test."; 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 "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."; + close2; + case 2: 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."; + mes "Hmmm...?"; + mes "Alright."; + mes "It's just that"; + mes "you had that"; + mes "look on your"; + mes "face."; close; } + } + if (KNGHT_Q == 5) { mes "[Sir Siracuse]"; - mes "Alright..."; - mes "Now, how should"; - mes "you act within"; - mes "a party?"; + mes "What..."; + mes "You again?"; 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.")) { + switch (select("I wish to take the test again.:Oh, nothing.")) { 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."; + mes "Is that right?"; + mes "Are you sure you're"; + mes "prepared this time?"; 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 "Alright then,"; + mes "here we go again..."; + next; mes "[Sir Siracuse]"; - mes "Right, above all else, Knights must be honorable! We live and die for honor! Always keep that in mind."; + 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; - break; - case 2: - set KNIGHT_Q,5; + switch (select("Katana:Slayer:Broadsword:Flamberge")) { + case 1: + set KNGHT_Q,5; + mes "[Sir Siracuse]"; + mes "Wrong!"; + mes "That's a Two-Handed Sword! 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, go into town and ask any Knight. You need to learn more about Knights before applying for the job!"; + close; + case 2: + set KNGHT_Q,5; + mes "[Sir Siracuse]"; + mes "Wrong!"; + mes "That's a Two-Handed Sword! 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, go into town and ask any Knight. You need to learn more about Knights before applying for the job!"; + close; + case 3: + set KNGHT_Q,5; + mes "[Sir Siracuse]"; + mes "Wrong!"; + mes "That's a Two-Handed Sword! 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, go into town and ask any Knight. You need to learn more about Knights before applying for the job!"; + close; + case 4: + break; + } 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 "Good, now let me ask about some skills. Which of the following is not necessary to learn Bowling Bash?"; + next; + switch (select("Two Handed Sword Mastery Lv.5:Magnum Break Lv.3:Provoke Lv.10:Bash Lv.10")) { + case 1: + set KNGHT_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; + case 2: + set KNGHT_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; + case 3: + break; + case 4: + set KNGHT_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 "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; + 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; + switch (select("Pierce Lv.5:Spear Stab Lv.3:Spear Boomerang Lv.3:Peco Peco Ride Lv.1")) { + case 1: + set KNGHT_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; + case 2: + set KNGHT_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; + case 3: + break; + case 4: + set KNGHT_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; + switch (select("Zephyrus:Lance:Bill Guisarme:Crescent Scythe")) { + case 1: + break; + case 2: + set KNGHT_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; + case 3: + set KNGHT_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; + case 4: + set KNGHT_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; + switch (select("70 % of normal attack speed:80 % of normal attack speed:90 % of normal attack speed:100 % of normal attack speed")) { + case 1: + set KNGHT_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; + case 2: + break; + case 3: + set KNGHT_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; + case 4: + set KNGHT_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 KNGHT_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 KNGHT_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 KNGHT_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 KNGHT_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 KNGHT_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 KNGHT_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; + } + changequest 9003,9004; + set KNGHT_Q,6; + 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; + case 2: + 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 == 6) { + if (KNGHT_Q == 6) { + mes "[Sir Siracuse]"; 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) { + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 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; + case 2: + 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 "Hmmm...?"; - mes "Alright."; - mes "It's just that"; - mes "you had that"; - mes "look on your"; - mes "face."; - close; } - else if (KNIGHT_Q == 14) { + if (KNGHT_Q == 14) { + mes "[Sir Siracuse]"; mes "Mmm...?"; mes "You finished"; mes "everyone else's"; @@ -1046,40 +1674,16 @@ prt_in,71,91,0 script Sir Siracuse#knt 65,{ 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; - } + mes "[Sir Siracuse]"; + 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) { +prt_in,79,94,4 script Sir Windsor 733,{ + if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { + if (Class == Job_Baby_Knight || Class == Job_Knight) { mes "[Sir Windsor]"; mes "..."; next; @@ -1088,169 +1692,400 @@ prt_in,79,94,4 script Sir Windsor#knt 733,{ mes "......"; next; mes "[Sir Windsor]"; - mes "...It's not my turn."; + mes "Protect."; 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) { + if (Class == Job_Baby || Class == Job_Novice) { 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 "...Go play"; + mes "outside."; + close; } 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."; + mes "..."; + mes "......"; next; mes "[Sir Windsor]"; - mes "...Kill them all."; - next; + mes "...Hmpf."; + close; + } + if (KNGHT_Q == 0) { 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."; + mes "..."; + mes "......"; next; mes "[Sir Windsor]"; - mes ".........."; + mes "...What?"; close; - case 2: + } + if (KNGHT_Q == 1) { + mes "[Sir Windsor]"; + mes "..."; next; mes "[Sir Windsor]"; - mes "...Go in the"; - mes "waiting room."; + mes "..."; + mes "......"; next; mes "[Sir Windsor]"; - mes "...Then it"; - mes "will begin."; + mes "...What?"; next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes "...It's not my turn."; + close; + case 2: + mes "[Sir Windsor]"; + mes "..."; + close; + } + } + if (KNGHT_Q == 2) { mes "[Sir Windsor]"; mes "..."; next; mes "[Sir Windsor]"; - mes "...You have to wait"; - mes "if someone is testing."; + mes "..."; + mes "......"; next; mes "[Sir Windsor]"; - mes "...You can go in"; - mes "after that person."; + mes ".....What?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes "...It's not my turn."; + close; + case 2: + mes "[Sir Windsor]"; + mes "..."; + close; + } + } + if (KNGHT_Q == 3) { + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes ".....What?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes "...It's not my turn."; + close; + case 2: + mes "[Sir Windsor]"; + mes "..."; + close; + } + } + if (KNGHT_Q == 4) { + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes ".....What?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes "...It's not my turn."; + close; + case 2: + mes "[Sir Windsor]"; + mes ".........."; + close; + } + } + if (KNGHT_Q == 5) { + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes ".....What?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes "...It's not my turn."; + close; + case 2: + mes "[Sir Windsor]"; + mes "..."; + close; + } + } + if (KNGHT_Q == 6) { + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes ".....What?"; + next; + switch (select("Sir Siracuse sent me to you.:Oh, nothing.")) { + case 1: + mes "[Sir Windsor]"; + mes "..."; + next; + set KNGHT_Q,7; + changequest 9004,9006; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes "...Follow me."; + close2; + warp "job_knt",89,101; + end; + case 2: + mes "[Sir Windsor]"; + mes "..."; + close; + } + } + if (KNGHT_Q == 7) { + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + switch (select("I want to try again!:...")) { + case 1: + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes "...Fine."; + next; + mes "[Sir Windsor]"; + mes "...This way."; + close2; + warp "job_knt",89,101; + end; + case 2: + mes "[Sir Windsor]"; + mes "..."; + close; + } + } + if (KNGHT_Q == 14) { + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes "...Talk to"; + mes "the captain."; + close; + } + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes "...You're"; + mes "done here."; + close; +} + +job_knt,89,106,4 script Knight Windsor 733,{ + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes "...Question?"; + next; + switch (select("What kind of test is this?:How do I take the test?:I'd like to leave.:No.")) { + case 1: + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + 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: + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + 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: + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; close2; warp "prt_in",80,100; end; + case 4: + mes "[Sir Windsor]"; + mes "..."; + close; } } job_knt,89,106,4 script Windsor Benedict#knt 733,{ + end; + OnInit: - disablenpc "Windsor Benedict#knt"; + hideonnpc "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: +OnEnable: enablewaitingroomevent; end; } -- script Knight1 -1,{ +job_knt,1,1,1 script Knight1 66,{ + end; + OnInit: - disablenpc "Knight1"; + hideonnpc "Knight1"; end; OnEnable: - enablenpc "Knight1"; - set .MyMobs,8; + hideoffnpc "Knight1"; + monster "job_knt",39,150,"Dustiness",1114,1,"Knight1::OnMyMobDead"; + monster "job_knt",47,150,"Dustiness",1114,1,"Knight1::OnMyMobDead"; + monster "job_knt",39,142,"Dustiness",1114,1,"Knight1::OnMyMobDead"; + monster "job_knt",47,142,"Dustiness",1114,1,"Knight1::OnMyMobDead"; 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"; @@ -1262,22 +2097,25 @@ OnEnable: initnpctimer; end; +OnReset: + killmonster "job_knt","Knight1::OnMyMobDead"; + end; + OnDisable: - killmonster "job_knt", "Knight1::OnMyMobDead"; - disablenpc "Knight1"; + hideonnpc "Knight1"; end; OnMyMobDead: - set .MyMobs,.MyMobs-1; - if (.MyMobs < 1) { + if (mobcount ("job_knt","Knight1::OnMyMobDead") < 1) { mes "[Sir Windsor]"; mes "..."; - next; + close2; mes "[Sir Windsor]"; mes "...On to"; mes "the next level."; close2; warp "job_knt",43,52; + donpcevent "Knight1::OnReset"; donpcevent "Knight1::OnDisable"; donpcevent "Knight2::OnEnable"; stopnpctimer; @@ -1285,54 +2123,81 @@ OnMyMobDead: end; OnTimer180000: - donpcevent "Knight1::OnDisable"; + donpcevent "Knight1::OnReset"; end; OnTimer181000: - areawarp "job_knt", 24, 126, 63, 165, "prt_in",80,100; + donpcevent "Out1::OnEnable"; end; OnTimer182000: - stopnpctimer; + donpcevent "Out1::OnDisable"; donpcevent "Knight1::OnDisable"; - donpcevent "Windsor Benedict#knt::OnStart"; + donpcevent "Windsor Benedict#knt::OnEnable"; + end; +} + +job_knt,43,146,0 script Out1 139,22,22,{ + +OnTouch: + warp "prt_in",80,100; + end; + +OnInit: + hideonnpc "Out1"; + end; + +OnEnable: + hideoffnpc "Out1"; + end; + +OnDisable: + hideonnpc "Out1"; end; } -// Test 2 part 2 -//========================================================== -- script Knight2 -1,{ +job_knt,1,2,1 script Knight2 66,{ + end; + OnInit: - disablenpc "Knight2"; + hideonnpc "Knight2"; end; OnEnable: - enablenpc "Knight2"; - set .MyMobs,6; + hideoffnpc "Knight2"; monster "job_knt",53,52,"Frilldora",1119,1,"Knight2::OnMyMobDead"; monster "job_knt",34,52,"Frilldora",1119,1,"Knight2::OnMyMobDead"; + monster "job_knt",43,42,"Desert Wolf",1106,1,"Knight2::OnMyMobDead"; + monster "job_knt",43,62,"Desert Wolf",1106,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"; + monster "job_knt",60,68,"Anacondaq",1030,1,"Knight2::OnMyMobDead"; + monster "job_knt",27,68,"Anacondaq",1030,1,"Knight2::OnMyMobDead"; + monster "job_knt",60,35,"Anacondaq",1030,1,"Knight2::OnMyMobDead"; + monster "job_knt",27,35,"Anacondaq",1030,1,"Knight2::OnMyMobDead"; initnpctimer; end; -OnDisable: - killmonster "job_knt", "Knight2::OnMyMobDead"; - disablenpc "Knight2"; +OnReset: + killmonster "job_knt","Knight2::OnMyMobDead"; + end; + +OnDisable: + hideonnpc "Knight2"; end; OnMyMobDead: - set .MyMobs,.MyMobs-1; - if (.MyMobs < 1) { + if (mobcount ("job_knt","Knight2::OnMyMobDead") < 1) { mes "[Sir Windsor]"; mes "...Hmm."; - next; + close2; mes "[Sir Windsor]"; mes "...One stage left."; close2; warp "job_knt",143,152; + donpcevent "Knight2::OnReset"; donpcevent "Knight2::OnDisable"; donpcevent "Knight3::OnEnable"; stopnpctimer; @@ -1340,88 +2205,125 @@ OnMyMobDead: end; OnTimer180000: - donpcevent "Knight2::OnDisable"; + donpcevent "Knight2::OnReset"; end; OnTimer181000: - areawarp "job_knt", 24, 32, 63, 71, "prt_in",80,100; + donpcevent "Out2::OnEnable"; end; OnTimer182000: - stopnpctimer; + donpcevent "Out2::OnDisable"; donpcevent "Knight2::OnDisable"; - donpcevent "Windsor Benedict#knt::OnStart"; + donpcevent "Windsor Benedict#knt::OnEnable"; + end; +} + +job_knt,43,52,0 script Out2 139,22,22,{ + +OnTouch: + warp "prt_in",80,100; + end; + +OnInit: + hideonnpc "Out2"; + end; + +OnEnable: + hideoffnpc "Out2"; + end; + +OnDisable: + hideonnpc "Out2"; end; } -// Test 2 part 3 -//========================================================== -- script Knight3 -1,{ +job_knt,1,3,1 script Knight3 66,{ + end; + OnInit: - disablenpc "Knight3"; + hideonnpc "Knight3"; end; OnEnable: - enablenpc "Knight3"; - set .MyMobs,5; + hideoffnpc "Knight3"; 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"; + monster "job_knt",147,167,"Goblin Archer",1258,1,"Knight3::OnMyMobDead"; + monster "job_knt",136,158,"Steam Goblin",1280,1,"Knight3::OnMyMobDead"; initnpctimer; end; +OnReset: + killmonster "job_knt","Knight3::OnMyMobDead"; + end; + OnDisable: - killmonster "job_knt", "Knight3::OnMyMobDead"; - disablenpc "Knight3"; + hideonnpc "Knight3"; end; OnMyMobDead: - set .MyMobs,.MyMobs-1; - if (.MyMobs < 1) { + if (mobcount ("job_knt","Knight3::OnMyMobDead") < 1) { mes "[Sir Windsor]"; mes "..."; - next; + close2; mes "[Sir Windsor]"; mes "...Very good."; - next; + close2; mes "[Sir Windsor]"; mes "...Go talk to"; mes "Amy Beatrice now."; close2; - set KNIGHT_Q,8; - if(checkquest(9007) == -1) { - changequest 9006,9007; - } + set KNGHT_Q,8; warp "prt_in",80,100; + donpcevent "Knight3::OnReset"; donpcevent "Knight3::OnDisable"; - donpcevent "Windsor Benedict#knt::OnStart"; + donpcevent "Windsor Benedict#knt::OnEnable"; stopnpctimer; } end; OnTimer180000: - donpcevent "Knight3::OnDisable"; + donpcevent "Knight3::OnReset"; end; OnTimer181000: - areawarp "job_knt", 124, 132, 163, 171, "prt_in",80,100; + donpcevent "Out3::OnEnable"; end; OnTimer182000: - stopnpctimer; + donpcevent "Out3::OnDisable"; donpcevent "Knight3::OnDisable"; - donpcevent "Windsor Benedict#knt::OnStart"; + donpcevent "Windsor Benedict#knt::OnEnable"; 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) { +job_knt,143,152,0 script Out3 139,22,22,{ + +OnTouch: + warp "prt_in",80,100; + end; + +OnInit: + hideonnpc "Out3"; + end; + +OnEnable: + hideoffnpc "Out3"; + end; + +OnDisable: + hideonnpc "Out3"; + end; +} + +prt_in,69,107,6 script Lady Amy 728,{ + if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { + if (Class == Job_Baby_Knight || Class == Job_Knight) { + mes "[Lady Amy]"; mes "Oh...!"; mes "I wonder, why"; mes "have you come"; @@ -1437,9 +2339,10 @@ prt_in,69,107,6 script Lady Amy#knt 728,{ mes "Of course~"; mes "You're a member of"; mes "the Prontera Chivalry~"; - close; + close2; } - else if (BaseClass == Job_Novice) { + if (Class == Job_Baby || Class == Job_Novice) { + mes "[Lady Amy]"; mes "Aww~"; mes "What a cute"; mes "little Novice!"; @@ -1456,21 +2359,21 @@ prt_in,69,107,6 script Lady Amy#knt 728,{ 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; + close2; } + mes "[Lady Amy]"; + 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) { + if (KNGHT_Q == 0) { + mes "[Lady Amy]"; mes "Ooh, you're"; mes "a Swordsman...?"; mes "Did you come to"; @@ -1484,12 +2387,14 @@ prt_in,69,107,6 script Lady Amy#knt 728,{ mes "there. Hee hee~"; close; } - else if (KNIGHT_Q >= 1 && KNIGHT_Q <= 7) { + if (KNGHT_Q == 1) { + mes "[Lady Amy]"; 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) { + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: mes "[Lady Amy]"; mes "Mmm~"; mes "You applied to change jobs! Okay! You'll soon be a Knight with that kind of determination!"; @@ -1506,332 +2411,1084 @@ prt_in,69,107,6 script Lady Amy#knt 728,{ mes "but I'm not allowed to."; mes "Hee hee~"; close; + case 2: + mes "[Lady Amy]"; + mes "Aww~"; + mes "Alright..."; + 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; + if (KNGHT_Q == 2) { mes "[Lady Amy]"; - mes "Okay,"; - mes "that was the"; - mes "end of my test!"; + mes "Hmmm?"; + mes "Why did you"; + mes "come to Amy?"; 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~"; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 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 "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."; + mes "But..."; + mes "You have to go"; + mes "to the other Knights"; + mes "before talking to Amy."; 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~"; + mes "I'd love to test"; + mes "you from the beginning,"; + mes "but I'm not allowed to."; + mes "Hee hee~"; + close; + case 2: + mes "[Lady Amy]"; + mes "Aww~"; + mes "Alright..."; 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) { + if (KNGHT_Q == 3) { + mes "[Lady Amy]"; 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; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 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; + case 2: + mes "[Lady Amy]"; + mes "Aww~"; + mes "Alright..."; + close; + } } - else if (KNIGHT_Q == 14) { - mes "Wow~"; - mes "Now it's time for"; - mes "everyone to decide"; - mes "on your job change!"; - next; + if (KNGHT_Q == 4) { 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..."; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 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 "[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..."; + mes "[Lady Amy]"; + mes "But..."; + mes "You have to go"; + mes "to the other Knights"; + mes "before talking to Amy."; next; - mes "[Sir Edmond]"; - mes "Your future"; - mes "can even be"; - mes "decided now..."; + mes "[Lady Amy]"; + mes "I'd love to test"; + mes "you right now, but"; + mes "I'm not allowed"; + mes "to quite yet."; + mes "Hee hee~"; close; - } - else { - mes "Everything in this world exists in harmony. Living without disrupting this harmony is the right way to live..."; + case 2: + mes "[Lady Amy]"; + mes "Aww~"; + mes "Alright..."; 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?"; + if (KNGHT_Q == 5) { + mes "[Lady Amy]"; + 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) { + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 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 right now, but"; + mes "I'm not allowed"; + mes "to quite yet."; + mes "Hee hee~"; + close; + case 2: + mes "[Lady Amy]"; + mes "Aww~"; + mes "Alright..."; + close; + } + } + if (KNGHT_Q == 6) { + mes "[Lady Amy]"; + mes "Hmmm?"; + mes "Why did you"; + mes "come to Amy?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 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 right now, but"; + mes "I'm not allowed"; + mes "to quite yet."; + mes "Hee hee~"; + close; + case 2: + mes "[Lady Amy]"; + mes "Aww~"; + mes "Alright..."; + close; + } + } + if (KNGHT_Q == 7) { + mes "[Lady Amy]"; + mes "Hmmm?"; + mes "Why did you"; + mes "come to Amy?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 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 right now, but"; + mes "I'm not allowed"; + mes "to quite yet."; + mes "Hee hee~"; + close; + case 2: + mes "[Lady Amy]"; + mes "Aww~"; + mes "Alright..."; + close; + } + } + if (KNGHT_Q == 8) { + mes "[Lady Amy]"; + mes "Hmmm?"; + mes "Why did you"; + mes "come to Amy?"; + next; + switch (select("Sir Windsor told me to--:Oh, nothing.")) { + case 1: + changequest 9006,9008; + 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; + set @knight_t, 0; + mes "[Lady Amy]"; + mes "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; + switch (select("Shout out that you are looking for a party.:Open a chat room and wait.:Look for people seeking Knights.")) { + case 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + 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; + switch (select("Check out the area and plan ahead.:Gather monsters for your party members.:Lead the party slowly at the front.")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + mes "[Lady Amy]"; + mes "But some rude players came with a group of monsters and disappeared! What should you do?"; + next; + switch (select("Keep the monsters from reaching the party.:Defend while the party retreats.:Run away on your Peco Peco.")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + break; + } + 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; + switch (select("Ask your party's Priest to help.:Say you will help for Zeny.:Ignore and move on.")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + break; + case 3: + break; + } + 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; + switch (select("Give it to who deserves it the most.:Pretend like nothing happened and keep it.:Decide with party who gets it.")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + 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; + switch (select("Shout out loud to everyone.:Open a chat room and wait.:Inquire if there is anyone that is interested.")) { + case 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + mes "[Lady Amy]"; + mes "While you are waiting,"; + mes "someone comes and begs"; + mes "for items and zeny."; + mes "What do you do?"; + next; + switch (select("Give them some Zeny and items.:Simply ignore them.:Give suggestions for a place to hunt.")) { + case 1: + break; + case 2: + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + 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; + switch (select("Tell the person how to reach the exit.:Lead the person to the exit.:Give a Butterfly Wing.")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + break; + } + 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; + switch (select("Would it be possible to get a heal please?:Can I have a heal?:Heal plz!!")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + break; + case 3: + break; + } + 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; + switch (select("Pick it up and keep it.:Ask around to find the owner.:Simply walk by.")) { + case 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + mes "[Lady Amy]"; + mes "Okay,"; + mes "that was the"; + mes "end of my test!"; + next; + if (@knight_t == 100) { + set KNGHT_Q,10; + mes "[Lady Amy]"; + 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; + } + if (@knight_t == 90) { + set KNGHT_Q,10; + changequest 9008,9009; + mes "[Lady Amy]"; + 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 KNGHT_Q,9; + mes "[Lady Amy]"; + 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; + case 2: + mes "[Lady Amy]"; + mes "Aww..."; + mes "Alright~"; + close; + } + } + if (KNGHT_Q == 9) { + mes "[Lady Amy]"; + mes "Hmmm?"; + mes "Why did you"; + mes "come to Amy?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 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; + set @knight_t, 0; + 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; + switch (select("Shout out that you are looking for a party.:Open a chat room and wait.:Look for people seeking Knights.")) { + case 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + 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; + switch (select("Check out the area and plan ahead.:Gather monsters for your party members.:Lead the party slowly at the front.")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + mes "[Lady Amy]"; + mes "But some rude players came with a group of monsters and disappeared! What should you do?"; + next; + switch (select("Keep the monsters from reaching your party.:Defend while the party retreats.:Run away on your Peco Peco.")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + break; + } + 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; + switch (select("Ask your party's Priest to help.:Say you will help for Zeny.:Ignore and move on.")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + break; + case 3: + break; + } + 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; + switch (select("Give it to who deserves it the most.:Pretend like nothing happened and keep it.:Decide with party who gets it.")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + 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; + switch (select("Shout out loud to everyone.:Open a chat room and wait.:Inquire if there is anyone that is interested.")) { + case 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + mes "[Lady Amy]"; + mes "While you are waiting,"; + mes "someone comes and begs"; + mes "for items and zeny."; + mes "What do you do?"; + next; + switch (select("Give them some Zeny and items.:Simply ignore them.:Give suggestions for a place to hunt.")) { + case 1: + break; + case 2: + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + 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; + switch (select("Tell the person how to reach the exit.:Lead the person to the exit.:Give a Butterfly Wing.")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + break; + } + 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; + switch (select("Would it be possible to get a heal please?:Can I have a heal?:Heal plz!!")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + break; + case 3: + break; + } + 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; + switch (select("Pick it up and keep it.:Ask around to find the owner.:Simply walk by.")) { + case 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + mes "[Lady Amy]"; + mes "Okay,"; + mes "that was the"; + mes "end of my test!"; + next; + if (@knight_t == 100) { + set KNGHT_Q,10; + mes "[Lady Amy]"; + 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; + } + if (@knight_t == 90) { + set KNGHT_Q,10; + mes "[Lady Amy]"; + 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 KNGHT_Q,9; + mes "[Lady Amy]"; + 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; + case 2: + mes "[Lady Amy]"; + mes "Aww..."; + mes "Alright~"; + close; + } + } + if (KNGHT_Q == 10) { + mes "[Lady Amy]"; + 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; + } + if (KNGHT_Q == 14) { + mes "[Lady Amy]"; + 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; + } + mes "[Lady Amy]"; + 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; +} + +prt_in,70,99,6 script Sir Edmond 734,{ + if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { + if (Class == Job_Baby_Knight || Class == Job_Knight) { + mes "[Sir Edmond]"; + 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; + } + if (Class == Job_Baby || Class == Job_Novice) { + mes "[Sir Edmond]"; + 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; + } + mes "[Sir Edmond]"; + mes "Everything in this world exists in harmony. Living without disrupting this harmony is the right way to live..."; + close; + } + if (KNGHT_Q == 0) { + mes "[Sir Edmond]"; + 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; + } + if (KNGHT_Q == 1) { + mes "[Sir Edmond]"; + mes "What is it..."; + mes "Wandering Swordman?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 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; + case 2: + 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; + } + } + if (KNGHT_Q == 2) { + mes "[Sir Edmond]"; + mes "What is it..."; + mes "Wandering Swordman?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: + mes "[Sir Edmond]"; + mes "The question of"; + mes "what came first:"; + mes "the chicken"; + mes "or the egg?"; + next; + mes "[Sir Edmond]"; + mes "Do you think"; + mes "you're prepared"; + mes "to discuss this?"; + next; + mes "[Sir Edmond]"; + mes "That's what"; + mes "I thought..."; + mes "Go to the"; + mes "others first."; + close; + case 2: + 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; + } + } + if (KNGHT_Q == 3) { + mes "[Sir Edmond]"; + mes "What is it..."; + mes "Wandering Swordman?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 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; + case 2: + 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; + } + } + if (KNGHT_Q == 4) { + mes "[Sir Edmond]"; + mes "What is it..."; + mes "Wandering Swordman?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: + mes "[Sir Edmond]"; + mes "The question of"; + mes "what came first:"; + mes "the chicken"; + mes "or the egg?"; + next; + mes "[Sir Edmond]"; + mes "Do you think"; + mes "you're prepared"; + mes "to discuss this?"; + next; + mes "[Sir Edmond]"; + mes "That's what"; + mes "I thought..."; + mes "Go to the"; + mes "others first."; + close; + case 2: + 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; + } + } + if (KNGHT_Q == 5) { + mes "[Sir Edmond]"; + mes "What is it..."; + mes "Wandering Swordman?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: + mes "[Sir Edmond]"; + mes "The question of"; + mes "what came first:"; + mes "the chicken"; + mes "or the egg?"; + next; + mes "[Sir Edmond]"; + mes "Do you think"; + mes "you're prepared"; + mes "to discuss this?"; + next; + mes "[Sir Edmond]"; + mes "That's what"; + mes "I thought..."; + mes "Go to the"; + mes "others first."; + close; + case 2: + 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; + } + } + if (KNGHT_Q == 6) { + mes "[Sir Edmond]"; + mes "What is it... "; + mes "Wandering Swordman?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 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..."; + mes "If a tree falls"; + mes "in the woods, does"; + mes "it make a sound?"; next; mes "[Sir Edmond]"; - mes "If not..."; - mes "The flower will"; - mes "be incomplete."; + mes "I think you need"; + mes "more time to think"; + mes "about this."; next; mes "[Sir Edmond]"; mes "Go to the others"; mes "first, so that you"; - mes "may find your path..."; + mes "may find an answer..."; + close; + case 2: + 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; } + } + if (KNGHT_Q == 7) { 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; + mes "What is it..."; + mes "Wandering Swordman?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: + mes "[Sir Edmond]"; + mes "Change will"; + mes "come when all is in"; + mes "readiness. Everything"; + mes "comes in its own"; + mes "good time."; + next; + mes "[Sir Edmond]"; + mes "The time has not"; + mes "yet come for me"; + mes "to test you yet."; + mes "Go to the others."; + close; + case 2: + 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; + } + } + if (KNGHT_Q == 8) { + mes "[Sir Edmond]"; + mes "Zzz..."; + mes "Zzz..."; + mes "^666666*snort*^000000"; + mes "Wah? Huh?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: + mes "[Sir Edmond]"; + mes "Is it my"; + mes "turn yet...?"; + mes "No... Not yet."; + next; + mes "[Sir Edmond]"; + mes "Sorry, it's"; + mes "not my turn yet,"; + mes "young one."; + next; + mes "[Sir Edmond]"; + mes "Go to the others"; + mes "first and complete"; + mes "their tasks..."; + close; + case 2: + mes "[Sir Edmond]"; + mes "You're almost"; + mes "there, don't"; + mes "give up..."; + close; + } + } + if (KNGHT_Q == 9) { + mes "[Sir Edmond]"; + mes "What is it..."; + mes "Wandering Swordman?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: + mes "[Sir Edmond]"; + mes "You are nearing the"; + mes "end of your journey..."; + next; + mes "[Sir Edmond]"; + mes "However, there are"; + mes "still the final steps"; + mes "you must take..."; + next; + mes "[Sir Edmond]"; + mes "However,"; + mes "my time to test"; + mes "you has not come"; + mes "quite yet."; + close; + case 2: + mes "[Sir Edmond]"; + mes "You must still see"; + mes "one of the others..."; + mes "But the life that you"; + mes "want will soon be"; + mes "before your eyes."; + close; + } } - else if (KNIGHT_Q == 10) { + if (KNGHT_Q == 10) { + mes "[Sir Edmond]"; mes "What is it..."; mes "Wandering Swordman."; next; - if (select("Lady Amy sent me.:Oh, nothing.") == 1) { + switch (select("Lady Amy sent me.:Oh, nothing.")) { + case 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; @@ -1856,23 +3513,26 @@ prt_in,70,99,6 script Sir Edmond#knt 734,{ mes "Keep in mind"; mes "the quality of"; mes "reverence."; - close2; - set KNIGHT_Q,11; + set KNGHT_Q,12; changequest 9009,9010; + close2; warp "job_knt",143,57; end; + case 2: + mes "[Sir Edmond]"; + mes "The life you want"; + mes "will soon be before"; + mes "your eyes."; + close; } - mes "[Sir Edmond]"; - mes "The life you want"; - mes "will soon be before"; - mes "your eyes."; - close; } - else if (KNIGHT_Q == 11) { + if (KNGHT_Q == 11) { + mes "[Sir Edmond]"; mes "What is it..."; mes "Wandering Swordman?"; next; - if (select("I'm sorry, I didn't mean to...:Oh, nothing.") == 1) { + switch (select("I'm sorry, I didn't mean to...:Oh, nothing.")) { + case 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; @@ -1884,53 +3544,81 @@ prt_in,70,99,6 script Sir Edmond#knt 734,{ mes "shall begin."; mes "Show me your"; mes "patience..."; + set KNGHT_Q,13; close2; warp "job_knt",143,57; end; + case 2: + 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."; + close2; } - 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) { + if (KNGHT_Q == 12 || KNGHT_Q == 13) { + mes "[Sir Edmond]"; 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; - } + mes "[Sir Edmond]"; + 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: +OnTimer60000: + donpcevent "Warp#knt::OnEnable"; + end; + +OnTimer60050: + donpcevent "Timer#knt::OnReset"; + end; + +OnTimer60100: donpcevent "Timer#knt::OnDisable"; - disablenpc "Warp#knt"; + donpcevent "Warp#knt::OnDisable"; end; -OnTimer301500: - stopnpctimer; +OnTimer60150: donpcevent "Timer#knt::OnEnable"; + stopnpctimer; end; OnInit: + hideoffnpc "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"; + monster "job_knt",167,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",167,57,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",120,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",120,57,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; + initnpctimer; + end; + OnEnable: - enablenpc "Timer#knt"; + hideoffnpc "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"; @@ -1943,18 +3631,19 @@ OnEnable: 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"; + monster "job_knt",167,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",167,57,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",120,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",120,57,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; initnpctimer; end; -OnDisable: +OnReset: killmonster "job_knt","Timer#knt::OnMyMobDead"; - disablenpc "Timer#knt"; - disablenpc "Warp#knt"; + end; + +OnDisable: + hideonnpc "Timer#knt"; end; OnMyMobDead: @@ -1962,23 +3651,31 @@ OnMyMobDead: end; } -job_knt,145,57,1 script Warp#knt 107,22,22,{ -OnInit: - disablenpc "Warp#knt"; - end; +job_knt,143,57,0 script Warp#knt 139,22,22,{ + OnTouch: - set KNIGHT_Q,12; + set KNGHT_Q,12; changequest 9010,9011; warp "prt_in",80,100; end; + +OnInit: + hideonnpc "Warp#knt"; + end; + +OnEnable: + hideoffnpc "Warp#knt"; + end; + +OnDisable: + hideonnpc "Warp#knt"; + 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) { +prt_in,87,92,4 script Sir Gray 119,{ + if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { + if (Class == Job_Baby_Knight || Class == Job_Knight) { + mes "[Sir Gray]"; 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; @@ -1988,10 +3685,10 @@ prt_in,87,92,4 script Sir Gray#knt 119,{ mes "Every Knight"; mes "would want one!"; next; - switch(select("About ^3355FFClaymore^000000:Buy Claymore:End Conversation")) { + 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."; + mes "Claymore, one of the best among the famous swords you can attain in Rune-Midgarts 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."; @@ -2001,8 +3698,7 @@ prt_in,87,92,4 script Sir Gray#knt 119,{ 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) { + if ((MaxWeight - 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."; @@ -2013,97 +3709,99 @@ prt_in,87,92,4 script Sir Gray#knt 119,{ 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; - } + if ((Zeny > 73999) && (countitem(999) > 0) && (Class == Job_Baby_Knight || Class == Job_Knight || Class == Job_Baby_Swordman || Class == Job_Swordman)) { + 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 "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."; + 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 "Come back when"; - mes "you have everything"; - mes "ready. I shall be"; - mes "waiting..."; + 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; } + if (Class == Job_Novice) { + mes "[Sir Gray]"; + 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 "[Sir Gray]"; + 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 (BaseClass == Job_Novice) { - mes "Believe it"; - mes "or not, I was"; - mes "once a Novice"; - mes "as well."; + if (KNGHT_Q == 0) { + mes "[Sir Gray]"; + mes "Young one,"; + mes "use your time"; + mes "wisely."; 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!"; + mes "No point in"; + mes "harboring regret"; + mes "once time has passed."; 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) { + if (KNGHT_Q == 12) { + mes "[Sir Gray]"; 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) { + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: mes "[Sir Gray]"; mes "Hoho, I see."; mes "So you took"; mes "everyone else's"; mes "test?"; next; + set @knight_t, 0; mes "[Sir Gray]"; mes "Then shall"; mes "we begin mine?"; @@ -2116,29 +3814,305 @@ prt_in,87,92,4 script Sir Gray#knt 119,{ mes "shall we?"; next; mes "[Sir Gray]"; - mes "First..."; - mes "Why did you"; - mes "decide to become"; - mes "a Knight?"; + mes "First..."; + mes "Why did you"; + mes "decide to become"; + mes "a Knight?"; + next; + 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; + } + 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; + } + 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; + } + } + 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; + } + 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!"; + if (Sex == 1) { + mes "Always protect her..."; + mes "Even at the sacrifice"; + mes "of your own life!"; + } + else { + mes "Always protect 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; + } + 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; + } + } + 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 KNGHT_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; + } + if (@knight_t == 5) { + set KNGHT_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; + } + if (@knight_t == 10) { + set KNGHT_Q,14; + 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; + } + set KNGHT_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; - } - else { + mes "[Sir Gray]"; + mes "If you truly wish to become a Knight, you must change your outlook first. Then, we shall see."; + close; + case 2: mes "[Sir Gray]"; mes "Take care!"; close; } } - else if (KNIGHT_Q == 13) { + if (KNGHT_Q == 13) { + mes "[Sir Gray]"; mes "Ah, you again."; mes "What brings you"; mes "to me?"; next; - if (select("I've been thinking a lot.:Oh, nothing.") == 1) { + switch (select("I've been thinking a lot.:Oh, nothing.")) { + case 1: mes "[Sir Gray]"; mes "Is that so..."; mes "I wonder if you"; mes "truly have..."; next; + set @knight_t, 0; mes "[Sir Gray]"; mes "Then..."; mes "Like last time,"; @@ -2150,311 +4124,310 @@ prt_in,87,92,4 script Sir Gray#knt 119,{ 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; + 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?"; + mes "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; + } + 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; + } + 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; + } + } 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."; + mes "I understand your thoughts,"; + mes "but there are those who wish to"; + mes "become Knights without thinking."; 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."; + mes "Those are the ones who instigate problems and shame the honor of Knights, bringing irreversible results."; 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."; + 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; - 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."; + mes "If you become a Knight right away, what are you going to do first?"; next; - break; - case 2: + 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; + } + 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!"; + if (Sex == 1) { + mes "Always protect her..."; + mes "Even at the sacrifice"; + mes "of your own life!"; + } + else { + mes "Always protect 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; + } + 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; + } + } mes "[Sir Gray]"; - mes "Those who would share in your happiness and hardship. As a Knight, you must always protect them."; + mes "Oh no, we've been"; + mes "talking too much..."; + mes "I apologize for"; + mes "keeping you here"; + mes "for so long."; next; - break; - case 3: + if (@knight_t == 0) { + set KNGHT_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~"; + close2; + } + if (@knight_t == 5) { + set KNGHT_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; + } + if (@knight_t == 10) { + set KNGHT_Q,14; + 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; + } + set KNGHT_Q,13; 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!"; + mes "Conversing"; + mes "with young ones"; + mes "is always enjoyable..."; next; mes "[Sir Gray]"; - mes "Also..."; - mes "Love them forever."; - mes "Sincere affection"; - mes "is hard to find."; + 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; - 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; + mes "If you truly wish to become a Knight, you must change your outlook first. Then, we shall see."; + close; 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; + mes "Take care!"; + mes "Health is"; + mes "every man's"; + mes "treasure!"; + close; } - 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; + if (KNGHT_Q == 14) { 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."; + mes "I told you"; + mes "to go to"; + mes "the captain."; next; mes "[Sir Gray]"; - mes "If you truly wish to become a Knight, you must change your outlook first. Then, we shall see."; + mes "Everyone will"; + mes "carefully make"; + mes "their decision,"; + mes "so go now!"; 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) { + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: mes "[Sir Gray]"; mes "Hoho~"; mes "There are many"; @@ -2467,12 +4440,13 @@ prt_in,87,92,4 script Sir Gray#knt 119,{ mes "I may review"; mes "you as well."; close; + case 2: + mes "[Sir Gray]"; + mes "Take care!"; + mes "Health is"; + mes "every man's"; + mes "treasure!"; + close; } - mes "[Sir Gray]"; - mes "Take care!"; - mes "Health is"; - mes "every man's"; - mes "treasure!"; - close; } -} +} \ No newline at end of file diff --git a/npc/pre-re/jobs/2-1/priest.txt b/npc/pre-re/jobs/2-1/priest.txt index 8aadc429b..a283fb5d0 100644 --- a/npc/pre-re/jobs/2-1/priest.txt +++ b/npc/pre-re/jobs/2-1/priest.txt @@ -1,63 +1,44 @@ //===== rAthena Script ======================================= -//= Priest Quest +// Piest Job change Quest //===== By: ================================================== -//= Translated By: Pgro Team (OwNaGe)(Aegis) -//= Converted by: kobra_k88. -//= Further bugfixed and tested by Lupus +//= Masao +//= Credits: Muad_Dib //===== Current Version: ===================================== -//= 2.6 +//= 1.0 //===== Compatible With: ===================================== -//= rAthena SVN +//= Any rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job Change quest for Priest class. +//= [Translated from the Official] +//= Job change Quest from Acolyte -> Priest. //===== 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] -//========================================================== +//= 1.0 Updated to latest available official file. [Masao] +//============================================================ 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 (Upper == 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) { + if ((Class != Job_Baby_Acolyte) && (Class != Job_Acolyte)) { + if (Class == Job_Baby_Priest || Class == Job_Priest || Class == Job_High_Priest) { mes "[Bishop Paul]"; mes "Ah..."; - if (sex) + if (Sex == 1) { mes "It is good to see you again, Brother " + strcharinfo(0) + ". Once again, God's grace has caused our paths to cross."; - else + } + 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.")) { + 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."; @@ -81,7 +62,8 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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) { + switch (select("Yes, I do.:Give me a second.")) { + case 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..."; @@ -95,38 +77,42 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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; + case 2: + mes "[Bishop Paul]"; + mes "I see, take your time. Don't forget to bring a ^0000FFRosary^000000..."; + 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; + percentheal 90,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) + if (Class == Job_Baby || Class == Job_Novice) { + if (Sex == 1) { + mes "[Bishop Paul]"; + mes "May God be"; mes "with you, brother."; - else + } + else { + mes "[Bishop Paul]"; + mes "May God be"; 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.")) { + 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..."; @@ -147,18 +133,22 @@ prt_church,16,41,4 script High Bishop#prst 60,{ close; } else { - mes "[Bishop Paul]"; - mes "May God be"; - if (sex) + if (Sex == 1) { + mes "[Bishop Paul]"; + mes "May God be"; mes "with you, brother."; - else + } + else { + mes "[Bishop Paul]"; + mes "May God be"; mes "with you, sister."; + } next; mes "[Bishop Paul]"; mes "What brings you here"; mes "to Prontera Sanctuary?"; next; - switch(select("Information about Priests.:Nothing.")) { + switch (select("Information about Priests.:Nothing.")) { case 1: mes "[Bishop Paul]"; mes "Priests have the authority to perform and administer religious rites."; @@ -201,17 +191,22 @@ prt_church,16,41,4 script High Bishop#prst 60,{ close; } } - if (PRIEST_Q == 0) { - mes "[Bishop Paul]"; - mes "May God bless"; - if (sex) + if (PRST_Q == 0) { + if (Sex == 1) { + mes "[Bishop Paul]"; + mes "May God bless"; mes "you, Brother."; - else + mes "What brings"; + mes "you to me?"; + } else { + mes "[Bishop Paul]"; + mes "May God bless"; mes "you, Sister."; - mes "What brings"; - mes "you to me?"; + mes "What brings"; + mes "you to me?"; + } next; - switch(select("I want to be a Priest.:How are you, Father?")) { + 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."; @@ -226,7 +221,8 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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) { + switch (select("Yes, I do.:I need some time to think about it...")) { + case 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."; @@ -235,19 +231,21 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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) { + if (SkillPoint != 0) { 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; + set PRST_Q, 1; setquest 8009; + if (Sex == 1) { 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 + } else { + mes "[Bishop Paul]"; 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."; @@ -271,22 +269,25 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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; + set PRST_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) { + switch (select("I am ready.:Give me a minute.")) { + case 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; + break; + case 2: + mes "[Bishop Paul]"; + mes "No problem, take your time."; + mes "May God give you the strength to overcome your fears..."; + close; + break; } - 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."; @@ -313,14 +314,15 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "[Bishop Paul]"; mes "May God"; mes "bless you..."; + close; + case 2: + mes "[Bishop Paul]"; + mes "Please take your time."; + mes "You are always welcomed."; + mes "May God 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..."; @@ -329,10 +331,11 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "Thank you for asking."; next; mes "[Bishop Paul]"; - if (sex) + if (Sex == 1) { mes "I hope you will continue to go on your mission as God's servant, brother."; - else + } 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"; @@ -341,11 +344,12 @@ prt_church,16,41,4 script High Bishop#prst 60,{ close; } } - else if (PRIEST_Q == 1) { + if (PRST_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) { + switch (select("Sorry father, I need to check the order.:No no no, not at all.")) { + case 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; @@ -367,15 +371,16 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "[Bishop Paul]"; mes "May God bless you..."; close; + case 2: + 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; } - 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) { + if (PRST_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; @@ -383,7 +388,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "For your next quest, you should meet Sister Mathilda. I shall be awaiting your safe return."; close; } - else if (PRIEST_Q == 3) { + if (PRST_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; @@ -391,9 +396,8 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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; + if (PRST_Q == 4) { + set PRST_Q, 5; mes "[Bishop Paul]"; mes "You've accomplished"; mes "your pilgrimage."; @@ -409,63 +413,72 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "Well, are you ready for"; mes "the spiritual training?"; next; - if (select("I'm ready.:Give me a minute.") == 1) { + switch (select("I'm ready.:Give me a minute.")) { + case 1: + changequest 8010,8011; 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; + case 2: + mes "[Bishop Paul]"; + mes "No problem,"; + mes "take your time."; + mes "May God grant you"; + mes "the strength to"; + mes "overcome your fears..."; + close; } - 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) { + if (PRST_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) { + switch (select("I'm ready.:Give me a minute.")) { + case 1: + changequest 8010,8011; 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; + case 2: + mes "[Bishop Paul]"; + mes "No problem,"; + mes "take your time."; + mes "May God grant you"; + mes "the strength to"; + mes "overcome your fears..."; + close; } - 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) { + if (PRST_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) { + switch (select("I'll try again.:Give me a minute.")) { + case 1: + changequest 8010,8011; 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; + case 2: + mes "[Bishop Paul]"; + mes "No problem,"; + mes "take your time."; + mes "May God grant you"; + mes "the strength to"; + mes "overcome your fears..."; + close; } - 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) { + if (PRST_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; @@ -481,7 +494,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "waiting for you."; close; } - else if (PRIEST_Q == 8) { + if (PRST_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; @@ -489,63 +502,105 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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) { + if (PRST_Q == 9) { + if (SkillPoint != 0) { mes "[Bishop Paul]"; mes "You have remaining skills points. Please use these skill points to upgrade your skills, and then return to me."; close; } + if (JobLevel == 50) { + 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."; + if (Sex == 1) { + 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 PRST_Q, 0; + if(Class == Job_Baby_Acolyte){ + jobchange Job_Baby_Priest; + } else { + jobchange Job_Priest; + } + changequest 8015,8016; + 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; + getitem 1551,1; //Bible + mes "[Bishop Paul]"; + 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..."; + completequest 8016; + 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) + if (Sex == 1) { mes "Let him send your message throughout the ends of the earth."; - else + } + 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 + set PRST_Q,0; + if(Class == Job_Baby_Acolyte){ + jobchange Job_Baby_Priest; + } else { + jobchange Job_Priest; + } + changequest 8015,8016; 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; + getitem 1550,1; //Book 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."; - } + mes "And..."; + mes "This book is for you. I hope it will aid you in spreading God's message on earth."; 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..."; + completequest 8016; close; } } prt_church,27,24,1 script Sister Cecilia 79,{ - mes "[Sister Cecilia]"; - if (BaseJob != Job_Acolyte) { - if (BaseJob == Job_Priest) { - if (sex) + if ((Class != Job_Baby_Acolyte) && (Class != Job_Acolyte)) { + if (Class == Job_Baby_Priest || Class == Job_Priest) { + if (Sex == 1) { + mes "[Sister Cecilia]"; 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 + } + else { + mes "[Sister Cecilia]"; 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) + if (Class == Job_Baby || Class == Job_Novice) { + if (Sex == 1) { + mes "[Sister Cecilia]"; mes "May god bless you, brother."; - else + } + else { + mes "[Sister Cecilia]"; mes "May god bless you, sister."; + } mes "Prontera parish welcomes you."; next; mes "[Sister Cecilia]"; @@ -564,45 +619,54 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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?"; + if (Sex == 1) { + mes "[Sister Cecilia]"; + mes "May god bless you, brother."; + } else { + mes "[Sister Cecilia]"; + mes "May god bless you, sister."; + } + mes "Welcome to Prontera parish. How may I help you?"; + next; + switch (select("Tell me more about Priests.:Nothing.")) { + case 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; - if (select("Tell me more about Priests.:Nothing.") == 1) { + 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 (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + next; 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."; + 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 "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 "I believe he can give you specific requirement information about the Priest class. Yes, I think it's a good idea."; + next; } + break; + case 2: 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; + break; } + next; + mes "[Sister Cecilia]"; + mes "May God bless you..."; + close; } - if (PRIEST_Q == 0) { - if (sex) + if (PRST_Q == 0) { + if (Sex == 1) { + mes "[Sister Cecilia]"; mes "May God bless you, brother."; - else + } + else { + mes "[Sister Cecilia]"; mes "May God bless you, sister."; + } mes "May I ask what brings you here?"; next; - switch(select("I wish to become a Priest.:Nothing.")) { + 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."; @@ -628,7 +692,8 @@ prt_church,27,24,1 script Sister Cecilia 79,{ close; } } - else if (PRIEST_Q == 1) { + if (PRST_Q == 1) { + mes "[Sister Cecilia]"; mes "Ah, you've started your pilgrimage. Please do your best to accomplish this first trial."; next; mes "[Sister Cecilia]"; @@ -650,7 +715,8 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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) { + if (PRST_Q == 2) { + mes "[Sister Cecilia]"; 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]"; @@ -663,7 +729,8 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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) { + if (PRST_Q == 3) { + mes "[Sister Cecilia]"; 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]"; @@ -673,21 +740,25 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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) { + if (PRST_Q == 4) { + mes "[Sister Cecilia]"; 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) +"..."; + if (Sex == 1) { + 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) { + if (PRST_Q == 5) { + mes "[Sister Cecilia]"; mes "Oh, you haven't finished the spiritual training yet?"; next; mes "[Sister Cecilia]"; @@ -697,7 +768,8 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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) { + if (PRST_Q == 6) { + mes "[Sister Cecilia]"; 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]"; @@ -707,41 +779,38 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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."; - } + if (PRST_Q == 7) { + mes "[Sister Cecilia]"; + mes "Welcome! I'm so glad to see you've come back! Now, there is one last trial left for you to complete."; + changequest 8013,8014; next; mes "[Sister Cecilia]"; - if (sex) - mes "Brother "+ strcharinfo(0) +"..."; - else - mes "Sister "+ strcharinfo(0) +"..."; + if (Sex == 1) { + 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) +","; + if (Sex == 1) { + 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) { + switch (select("Yes.:No!")) { + case 1: + break; + case 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; + set PRST_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; @@ -749,23 +818,29 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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) { + switch (select("Yes.:No.")) { + case 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; + set PRST_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; + case 2: + break; } mes "[Sister Cecilia]"; mes "Will you help aid others, even complete strangers, in battles by easing their suffering?"; next; - if (select("Yes.:No.") == 2) { + switch (select("Yes.:No.")) { + case 1: + break; + case 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; + set PRST_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; @@ -773,11 +848,14 @@ prt_church,27,24,1 script Sister Cecilia 79,{ mes "[Sister Cecilia]"; mes "Are you willing to sacrifice yourself for the sake of others?"; next; - if (select("Yes.:No.") == 2) { + switch (select("Yes.:No.")) { + case 1: + break; + case 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; + set PRST_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; @@ -785,132 +863,304 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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) { + switch (select("Yes.:No.")) { + case 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; + set PRST_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; + case 2: + break; } mes "[Sister Cecilia]"; mes "Will you lure many monsters to help your party members level up?"; next; - if (select("Yes.:No.") == 1) { + switch (select("Yes.:No.")) { + case 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; + set PRST_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; + case 2: + break; } 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) { + switch (select("Yes.:No.")) { + case 1: + break; + case 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; + set PRST_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) +"..."; + if (Sex == 1) { + 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; + switch (select("I do.:No.")) { + case 1: + set PRST_Q,9; + changequest 8014,8015; 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; + case 2: + mes "[Sister Cecilia]"; + mes "..."; + next; + mes "[Sister Cecilia]"; + mes "..."; + mes "......"; + next; + set PRST_Q,8; + mes "[Sister Cecilia]"; + mes "You've come so far..."; + mes "Why would you want"; + mes "to throw this all away...?"; + close; } + } + if (PRST_Q == 8) { mes "[Sister Cecilia]"; mes "..."; next; mes "[Sister Cecilia]"; - mes "..."; - mes "......"; + 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; - 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."; + if (Sex == 1) { + mes "Brother " + strcharinfo(0) + "..."; + } + else { + mes "Sister " + strcharinfo(0) + "..."; + } + mes "We will now begin your formal oath for the Priesthood. This time, listen closely to your heart..."; 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?"; + if (Sex == 1) { + mes "Brother " + strcharinfo(0) + ","; + } + else { + mes "Sister " + strcharinfo(0) + ","; + } + mes "Are you willing"; + mes "to give your life to God?"; next; - switch(select("Yes, I am.:Give me a minute.:I changed my mind.")) { + switch (select("Yes.:No!")) { 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; + break; 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."; + 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; + 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; - 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; + } + mes "[Sister Cecilia]"; + mes "Will you take advantage of the holy abilities given by God for selfish, destructive or greedy ends?"; + next; + switch (select("Yes.:No.")) { + case 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; + 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; + case 2: + break; + } + mes "[Sister Cecilia]"; + mes "Will you help aid others, even complete strangers, in battles by easing their suffering?"; + next; + switch (select("Yes.:No.")) { + case 1: + break; + case 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; + 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; + switch (select("Yes.:No.")) { + case 1: + break; + case 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; + 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; + switch (select("Yes.:No.")) { + case 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; + 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; + case 2: + break; + } + mes "[Sister Cecilia]"; + mes "Will you lure many monsters to help your party members level up?"; + next; + switch (select("Yes.:No.")) { + case 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; + 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; + case 2: + break; + } + mes "[Sister Cecilia]"; + mes "Will you follow God, no matter what it takes, even if he demands you to kill yourself?"; + next; + switch (select("Yes.:No.")) { + case 1: + break; + case 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; + 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 == 1) { + 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; + switch (select("I do.:No.")) { + case 1: + set PRST_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; + case 2: + mes "[Sister Cecilia]"; + mes "..."; + next; + mes "[Sister Cecilia]"; + mes "..."; + mes "......"; + next; + mes "[Sister Cecilia]"; + mes "You've come so far..."; + mes "Why would you want"; + mes "to throw this all away...?"; + close; + } + } + if (PRST_Q == 9) { + mes "[Sister Cecilia]"; + 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; + } +} + +job_prist,24,187,4 script Peter S. Alberto 110,{ + if (Class == Job_Baby_Priest || Class == Job_Priest) { + mes "[Father Peter]"; + mes "Welcome!"; + if (Sex == 1) { + 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) { + if (PRST_Q == 5) { + mes "[Father Peter]"; mes "Welcome~!"; mes "I congratulate you"; mes "for passing the first trail."; @@ -928,7 +1178,7 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ 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...")) { + 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!"; @@ -956,7 +1206,7 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ 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.")) { + 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!"; @@ -965,21 +1215,20 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ mes "Now..."; mes "Go for it!"; close2; - changequest 8011,8012; warp "job_prist",24,44; - donpcevent "Zombie_Generator#prst::OnEnable"; + donpcevent "Zombie_Generator::OnEnable"; donpcevent "Peter S. Alberto::OnDisable"; donpcevent "Peter S. Alberto#2::OnEnable"; end; case 2: - set PRIEST_Q,6; + set PRST_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; + set PRST_Q,6; mes "[Father Peter]"; mes "What...?"; mes "You wanna go back??"; @@ -991,7 +1240,8 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ end; } } - else if (PRIEST_Q == 6) { + if (PRST_Q == 6) { + mes "[Father Peter]"; mes "Are you ready this time?"; mes "Complete this trial quickly,"; mes "and become a Priest!"; @@ -999,7 +1249,7 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ mes "[Father Peter]"; mes "Are you ready then?"; next; - switch(select("I'm ready.:Please hold on.:I want to go back.")) { + 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..."; @@ -1009,11 +1259,8 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ 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 "Zombie_Generator::OnEnable"; donpcevent "Peter S. Alberto::OnDisable"; donpcevent "Peter S. Alberto#2::OnEnable"; end; @@ -1035,30 +1282,31 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ end; } } - else { - mes "Go back!"; - close2; - warp "prontera",234,318; - end; - } + mes "[Father Peter]"; + mes "Go back!"; + close2; + warp "prontera",234,318; + end; OnEnable: - enablenpc "Peter S. Alberto"; + hideoffnpc "Peter S. Alberto"; end; OnDisable: - disablenpc "Peter S. Alberto"; + hideonnpc "Peter S. Alberto"; end; } job_prist,23,187,1 script Peter S. Alberto#2 110,{ - mes "[Father Peter]"; - if (BaseJob == Job_Priest) { + if (Class == Job_Baby_Priest || Class == Job_Priest) { + mes "[Father Peter]"; mes "Welcome!"; - if (sex) - mes "Brother "+ strcharinfo(0) +"!"; - else - mes "Sister "+ strcharinfo(0) +"!"; + if (Sex == 1) { + mes "Brother " + strcharinfo(0) + "!"; + } + else { + mes "Sister " + strcharinfo(0) + "!"; + } mes "So good to see you!"; next; mes "[Father Peter]"; @@ -1071,44 +1319,47 @@ job_prist,23,187,1 script Peter S. Alberto#2 110,{ 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) { + if (PRST_Q == 5) { + mes "[Father Peter]"; 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) { + if (PRST_Q == 6) { + mes "[Father Peter]"; 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; - } + mes "[Father Peter]"; + mes "Peace..."; + mes "Be with you."; + close2; + warp "prontera",234,318; + end; OnInit: - disablenpc "Peter S. Alberto#2"; + hideonnpc "Peter S. Alberto#2"; end; OnEnable: - enablenpc "Peter S. Alberto#2"; + hideoffnpc "Peter S. Alberto#2"; end; OnDisable: - disablenpc "Peter S. Alberto#2"; + hideonnpc "Peter S. Alberto#2"; end; } -- script Zombie_Generator#prst 110,{ +job_prist,1,1,1 script Zombie_Generator 110,{ + end; + OnInit: - disablenpc "Zombie_Generator#prst"; + hideonnpc "Zombie_Generator"; end; OnEnable: @@ -1120,50 +1371,63 @@ 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"; +OnM1: + monster "job_prist",24,52,"Theft",1015,1,"Zombie_Generator::OnMyMobDead"; + monster "job_prist",18,52,"Want of Virtue",1015,1,"Zombie_Generator::OnMyMobDead"; + monster "job_prist",30,52,"Jealousy",1015,1,"Zombie_Generator::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"; +OnM2: + monster "job_prist",21,62,"Fury",1015,1,"Zombie_Generator::OnMyMobDead"; + monster "job_prist",27,62,"Envy",1015,1,"Zombie_Generator::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"; +OnM3: + monster "job_prist",24,72,"Arrogance",1015,1,"Zombie_Generator::OnMyMobDead"; + monster "job_prist",18,72,"Lewdness",1015,1,"Zombie_Generator::OnMyMobDead"; + monster "job_prist",30,72,"Sloth",1015,1,"Zombie_Generator::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"; +OnM4: + monster "job_prist",21,82,"Gluttony",1015,1,"Zombie_Generator::OnMyMobDead"; + monster "job_prist",27,82,"Greed",1015,1,"Zombie_Generator::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"; +OnM5: + monster "job_prist",24,92,"Despair",1015,1,"Zombie_Generator::OnMyMobDead"; + monster "job_prist",18,92,"Distrust",1015,1,"Zombie_Generator::OnMyMobDead"; + monster "job_prist",30,92,"Fear",1015,1,"Zombie_Generator::OnMyMobDead"; + end; + +OnMyMobDead: + if (mobcount ("job_prist","Zombie_Generator::OnMyMobDead") < 1) { + donpcevent "prst1_2::OnEnable"; + } end; OnDisable: - disablenpc "Zombie_Generator#prst"; - killmonsterall "job_prist"; + hideonnpc "Zombie_Generator"; + end; + +OnReset: + killmonster "job_prist","Zombie_Generator::OnMyMobDead"; end; OnTimer300000: - areawarp "job_prist",8,34,39,109,"prontera",234,318; + donpcevent "Zombieo::OnEnable"; end; OnTimer300500: - donpcevent "Zombie_Generator#prst::OnDisable"; + donpcevent "Zombie_Generator::OnReset"; + end; + +OnTimer301000: + donpcevent "Zombieo::OnDisable"; + donpcevent "prst1_2::OnDisable"; end; OnTimer301500: - donpcevent "Zombie_Generator#prst::OnDisable"; + donpcevent "Zombie_Generator::OnDisable"; donpcevent "Peter S. Alberto#2::OnDisable"; donpcevent "Peter S. Alberto::OnEnable"; end; @@ -1173,17 +1437,10 @@ OnTimer302000: 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 139,1,1,{ -job_prist,24,44,0 script Zombie Info -1,1,1,{ OnTouch: - if (BaseJob == Job_Priest) { + if (Class == Job_Baby_Priest || Class == 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; @@ -1197,7 +1454,7 @@ OnTouch: mes "5 minutes. Best of luck~"; close; } - else if (BaseJob == Job_Acolyte){ + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { mes "[Father Peter]"; mes "I will give you exactly 5 minutes! You must proceed slowly and eliminate the Zombies."; next; @@ -1208,128 +1465,255 @@ OnTouch: end; } -job_prist,24,52,0 script Zombie1_1 -1,14,1,{ +job_prist,24,74,0 script Zombieo 139,14,40,{ + +OnTouch: + warp "prontera",234,318; + end; + OnInit: - disablenpc "Zombie1_1"; + hideonnpc "Zombieo"; end; +OnEnable: + hideoffnpc "Zombieo"; + end; + +OnDisable: + hideonnpc "Zombieo"; + end; +} + +job_prist,24,52,0 script Zombie1_1 139,14,1,{ + OnTouch: - if (BaseJob == Job_Acolyte) { - donpcevent "Zombie_Generator#prst::Onm1"; + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + donpcevent "Zombie_Generator::OnM1"; donpcevent "Zombie1_1::OnDisable"; } end; +OnInit: + hideonnpc "Zombie1_1"; + end; + OnEnable: - enablenpc "Zombie1_1"; + hideoffnpc "Zombie1_1"; + hideoffnpc "Zombie1_2"; + hideoffnpc "Zombie1_3"; end; OnDisable: - disablenpc "Zombie1_1"; + hideonnpc "Zombie1_1"; + hideonnpc "Zombie1_2"; + hideonnpc "Zombie1_3"; end; } -job_prist,21,62,0 script Zombie2_1 -1,17,1,{ +job_prist,18,52,0 script Zombie1_2 139,1,1,{ + end; + OnInit: - disablenpc "Zombie2_1"; + hideonnpc "Zombie1_2"; + end; +} + +job_prist,30,52,0 script Zombie1_3 139,1,1,{ end; +OnInit: + hideonnpc "Zombie1_3"; + end; +} + +job_prist,21,62,0 script Zombie2_1 139,17,1,{ + OnTouch: - if (BaseJob == Job_Acolyte) { - donpcevent "Zombie_Generator#prst::Onm2"; + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + donpcevent "Zombie_Generator::OnM2"; donpcevent "Zombie2_1::OnDisable"; } end; +OnInit: + hideonnpc "Zombie2_1"; + end; + OnEnable: - enablenpc "Zombie2_1"; + hideoffnpc "Zombie2_1"; + hideoffnpc "Zombie2_2"; end; OnDisable: - disablenpc "Zombie2_1"; + hideonnpc "Zombie2_1"; + hideonnpc "Zombie2_2"; end; } -job_prist,24,72,0 script Zombie3_1 -1,14,1,{ +job_prist,27,62,0 script Zombie2_2 139,1,1,{ + end; + OnInit: - disablenpc "Zombie3_1"; + hideonnpc "Zombie2_2"; end; +} + +job_prist,24,72,0 script Zombie3_1 139,14,1,{ OnTouch: - if (BaseJob == Job_Acolyte) { - donpcevent "Zombie_Generator#prst::Onm3"; + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + donpcevent "Zombie_Generator::OnM3"; donpcevent "Zombie3_1::OnDisable"; } end; +OnInit: + hideonnpc "Zombie3_1"; + end; + OnEnable: - enablenpc "Zombie3_1"; + hideoffnpc "Zombie3_1"; + hideoffnpc "Zombie3_2"; + hideoffnpc "Zombie3_3"; end; OnDisable: - disablenpc "Zombie3_1"; + hideonnpc "Zombie3_1"; + hideonnpc "Zombie3_2"; + hideonnpc "Zombie3_3"; + end; +} + +job_prist,18,72,0 script Zombie3_2 139,1,1,{ + end; + +OnInit: + hideonnpc "Zombie3_2"; end; } -job_prist,21,82,0 script Zombie4_1 -1,17,1,{ +job_prist,30,72,0 script Zombie3_3 139,1,1,{ + end; + OnInit: - disablenpc "Zombie4_1"; + hideonnpc "Zombie3_3"; end; +} + +job_prist,21,82,0 script Zombie4_1 139,17,1,{ + OnTouch: - if (BaseJob == Job_Acolyte) { - donpcevent "Zombie_Generator#prst::Onm4"; + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + donpcevent "Zombie_Generator::OnM4"; donpcevent "Zombie4_1::OnDisable"; } end; +OnInit: + hideonnpc "Zombie4_1"; + end; + OnEnable: - enablenpc "Zombie4_1"; + hideoffnpc "Zombie4_1"; + hideoffnpc "Zombie4_2"; end; OnDisable: - disablenpc "Zombie4_1"; + hideonnpc "Zombie4_1"; + hideonnpc "Zombie4_2"; + end; } -job_prist,24,92,0 script Zombie5_1 -1,14,1,{ +job_prist,27,82,0 script Zombie4_2 139,1,1,{ + end; + OnInit: - disablenpc "Zombie5_1"; + hideonnpc "Zombie4_2"; end; +} + +job_prist,24,92,0 script Zombie5_1 139,14,1,{ OnTouch: - if (BaseJob == Job_Acolyte) { - donpcevent "Zombie_Generator#prst::Onm5"; + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + donpcevent "Zombie_Generator::OnM5"; donpcevent "Zombie5_1::OnDisable"; } end; +OnInit: + hideonnpc "Zombie5_1"; + end; + OnEnable: - enablenpc "Zombie5_1"; + hideoffnpc "Zombie5_1"; + hideoffnpc "Zombie5_2"; + hideoffnpc "Zombie5_3"; end; OnDisable: - disablenpc "Zombie5_1"; + hideonnpc "Zombie5_1"; + hideonnpc "Zombie5_2"; + hideonnpc "Zombie5_3"; + end; +} + +job_prist,18,92,0 script Zombie5_2 139,1,1,{ + end; + +OnInit: + hideonnpc "Zombie5_2"; + end; +} + +job_prist,30,92,0 script Zombie5_3 139,1,1,{ + end; + +OnInit: + hideonnpc "Zombie5_3"; + end; +} + +job_prist,24,109,0 script prst1_1 45,4,3,{ + +OnTouch: + if (Class == Job_Baby_Priest || Class == Job_Priest) { + warp "job_prist",168,17; + } + end; } -job_prist,24,109,4 script prst1_1 45,3,3,{ +job_prist,24,109,0 script prst1_2 139,4,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) { + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { warp "job_prist",168,17; - donpcevent "Zombie_Generator#prst::OnDisable"; + donpcevent "Zombie_Generator::OnReset"; donpcevent "Peter S. Alberto#2::OnDisable"; donpcevent "Peter S. Alberto::OnEnable"; - donpcevent "Zombie_Generator#prst::OnDisable"; + donpcevent "prst1_2::OnDisable"; + donpcevent "Zombie_Generator::OnDisable"; } end; + +OnInit: + hideonnpc "prst1_2"; + end; + +OnEnable: + hideoffnpc "prst1_2"; + end; + +OnDisable: + hideonnpc "prst1_2"; + end; } -// 3rd Test -//========================================================== -job_prist,168,45,4 script Deviruchi#prst 1109,8,1,{ +job_prist,168,45,4 script Deviruchi#prst 1928,8,1,{ + OnTouch: - if (BaseJob == Job_Priest) { + if (Class == Job_Baby_Priest || Class == Job_Priest) { mes "[Deviruchi]"; mes "Whaaaaat...?"; mes "What are you"; @@ -1347,7 +1731,7 @@ OnTouch: 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) { + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { mes "[Deviruchi]"; mes "Why..."; mes "Hello little Aco."; @@ -1365,7 +1749,8 @@ OnTouch: 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) { + switch (select("You're right, I quit!:Out of my sight, demon!")) { + case 1: mes "[Deviruchi]"; mes "^660000YES~!^000000 I mean..."; mes "Good for you!"; @@ -1378,59 +1763,62 @@ OnTouch: 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) { + case 2: mes "[Deviruchi]"; - mes "Good choice!"; - mes "This card can"; - mes "can be yours..."; + mes "Out of your sight?"; + mes "I guess I'm not the"; + mes "cutest thing you've"; + mes "ever seen, huh?"; next; - cutin "¹Ì½ºÆ®·¹½ºÄ«µå.bmp",255; mes "[Deviruchi]"; - mes "Theoretically!"; - mes "BWAHAHAHAHAHAHAHA!"; - mes "Go and earn it yourself!"; - close2; - warp "mjolnir_05",200,200; - end; + 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; + switch (select("You're right, I'll take it!:Silence!")) { + case 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; + case 2: + 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; + } } - 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,{ +job_prist,168,80,4 script Doppelganger#prst 1966,8,1,{ + OnTouch: - if (BaseJob == Job_Priest) { + if (Class == Job_Baby_Priest || Class == Job_Priest) { mes "[Doppelganger]"; mes "What are you doing here? You've already made your choice, there's no going back... Priest."; next; @@ -1438,7 +1826,7 @@ OnTouch: 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) { + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { mes "[Doppelganger]"; mes "Hold on there, Acolyte."; mes "I'm not like Deviruchi,"; @@ -1451,7 +1839,8 @@ OnTouch: 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) { + switch (select("Deal, Deal!:No deal... Doppelganger.")) { + case 1: mes "[Doppelganger]"; mes "Good choice~"; mes "I shall return your"; @@ -1465,50 +1854,55 @@ OnTouch: 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) { + case 2: mes "[Doppelganger]"; - mes "Excellent choice. Now, never return to this place. I shall return your job to Novice as you wish."; + 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 "Now go!!"; - mes "Never step into"; - mes "the light again!"; - close2; - warp "gef_dun02",210,177; - end; + 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; + switch (select("I don't want to be a Priest!:I'll never listen to you!")) { + case 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; + case 2: + 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; + } } - 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; } + end; } job_prist,168,115,4 script Dark Lord#prst 1272,8,1,{ + OnTouch: - if (BaseJob == Job_Priest) { + if (Class == Job_Baby_Priest || Class == 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; + close2; } - else if (BaseClass == Job_Acolyte) { + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { mes "[Dark Lord]"; mes "^330033Halt, human."; mes "Who has granted"; @@ -1521,42 +1915,48 @@ OnTouch: 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) { + switch (select("I'm so sorry. Spare me!:God will protect me.")) { + case 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) { + case 2: mes "[Dark Lord]"; - mes "^330033Don't ever come back!^000000"; - close2; - warp "gl_church",145,170; - end; + 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; + switch (select("I beg you, don't...!:Begone, vile fiend!")) { + case 1: + mes "[Dark Lord]"; + mes "^330033Don't ever come back!^000000"; + close2; + warp "gl_church",145,170; + end; + case 2: + 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; + } } - 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; } + end; } job_prist,168,150,4 script Baphomet#prst 736,8,1,{ + OnTouch: - if (BaseJob == Job_Priest) { + if (Class == Job_Baby_Priest || Class == Job_Priest) { mes "[Baphomet]"; mes "I hate"; mes "Priests..."; @@ -1565,12 +1965,12 @@ OnTouch: mes "I don't have any business with you, servant of God. Just pass through."; close; } - else if (BaseClass == Job_Acolyte) { + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { mes "[Baphomet]"; mes "Greetings."; next; mes "[Baphomet]"; - mes "..."+ strcharinfo(0) +"."; + mes "..." + strcharinfo(0) + "."; next; mes "[Baphomet]"; mes "Yes, human,"; @@ -1593,7 +1993,8 @@ OnTouch: 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) { + switch (select("Deal.:No, Baphomet. You lose.")) { + case 1: mes "[Baphomet]"; mes "Then we shall form a contract. You won't ever regret this moment..."; next; @@ -1605,32 +2006,37 @@ OnTouch: close2; warp "glast_01",200,203; end; + case 2: + 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; } - 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; } + end; } -job_prist,168,180,4 script prst2_1 45,3,3,{ +job_prist,168,180,0 script prst2_1 45,4,3,{ + OnTouch: - if (BaseJob == Job_Priest) warp "job_prist",98,40; - else if (BaseClass == Job_Acolyte) { + if (Class == Job_Baby_Priest || Class == Job_Priest) { + warp "job_prist",98,40; + } + else if (Class == Job_Baby_Acolyte || Class == 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,{ + end; + OnInit: - disablenpc "Mummy_Generator"; + hideonnpc "Mummy_Generator"; end; OnEnable: @@ -1639,244 +2045,138 @@ OnEnable: donpcevent "Mummy3_1::OnEnable"; end; -Onm1: +OnM1: monster "job_prist",90,55,"Khamoz",1041,1; monster "job_prist",105,55,"Amocsis",1041,1; end; -Onm2: +OnM2: monster "job_prist",90,70,"Mentuhoteph",1041,1; monster "job_prist",105,70,"Akenaten",1041,1; end; -Onm3: +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"; + hideonnpc "Mummy_Generator"; end; -} -job_prist,90,55,0 script Mummy1_1 -1,15,1,{ -OnInit: - disablenpc "Mummy1_1"; +OnReset: + killmonster "job_prist","Mummy_Generator::OnMyMobDead"; end; +} + +job_prist,90,55,0 script Mummy1_1 139,15,1,{ OnTouch: - if (BaseJob == Job_Acolyte) { - donpcevent "Mummy_Generator::Onm1"; + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + donpcevent "Mummy_Generator::OnM1"; donpcevent "Mummy1_1::OnDisable"; } end; +OnInit: + hideonnpc "Mummy1_1"; + end; + OnEnable: - enablenpc "Mummy1_1"; + hideoffnpc "Mummy1_1"; + hideoffnpc "Mummy1_2"; end; OnDisable: - disablenpc "Mummy1_1"; + hideonnpc "Mummy1_1"; + hideonnpc "Mummy1_2"; end; } -job_prist,90,70,0 script Mummy2_1 -1,15,1,{ +job_prist,105,55,0 script Mummy1_2 139,1,1,{ + end; + OnInit: - disablenpc "Mummy2_1"; + hideonnpc "Mummy1_2"; end; +} + +job_prist,90,70,0 script Mummy2_1 139,15,1,{ OnTouch: - if (BaseJob == Job_Acolyte) { - donpcevent "Mummy_Generator::Onm2"; + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + donpcevent "Mummy_Generator::OnM2"; donpcevent "Mummy2_1::OnDisable"; } end; +OnInit: + hideonnpc "Mummy2_1"; + end; + OnEnable: - enablenpc "Mummy2_1"; + hideoffnpc "Mummy2_1"; + hideoffnpc "Mummy2_2"; end; OnDisable: - disablenpc "Mummy2_1"; + hideonnpc "Mummy2_1"; + hideonnpc "Mummy2_2"; end; } -job_prist,90,85,0 script Mummy3_1 -1,15,1,{ +job_prist,105,70,0 script Mummy2_2 139,1,1,{ + end; + OnInit: - disablenpc "Mummy3_1"; + hideonnpc "Mummy2_2"; end; +} + +job_prist,90,85,0 script Mummy3_1 139,15,1,{ OnTouch: - if (BaseJob == Job_Acolyte) { - donpcevent "Mummy_Generator::Onm3"; + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + donpcevent "Mummy_Generator::OnM3"; donpcevent "Mummy3_1::OnDisable"; } end; +OnInit: + hideonnpc "Mummy3_1"; + end; + OnEnable: - enablenpc "Mummy3_1"; + hideoffnpc "Mummy3_1"; + hideoffnpc "Mummy3_2"; end; OnDisable: - disablenpc "Mummy3_1"; + hideonnpc "Mummy3_1"; + hideonnpc "Mummy3_2"; + end; +} + +job_prist,105,85,0 script Mummy3_2 139,1,1,{ + end; + +OnInit: + hideonnpc "Mummy3_2"; end; } -job_prist,98,105,4 script prst3_1 45,3,3,{ +job_prist,98,105,0 script prst3_1 45,4,3,{ + OnTouch: - if (BaseJob == Job_Priest) { + if (Class == Job_Baby_Priest || Class == Job_Priest) { warp "prt_church",15,36; - end; } - else if (BaseClass == Job_Acolyte) { - set PRIEST_Q,7; - if(checkquest(8012) != -1) { - changequest 8012,8013; - } + else if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + changequest 8012,8013; + set PRST_Q,7; warp "prt_church",16,37; + donpcevent "Mummy_Generator::OnReset"; 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; -} - +} \ No newline at end of file diff --git a/npc/pre-re/jobs/2-1/wizard.txt b/npc/pre-re/jobs/2-1/wizard.txt index 808c884a4..6b43c9e71 100644 --- a/npc/pre-re/jobs/2-1/wizard.txt +++ b/npc/pre-re/jobs/2-1/wizard.txt @@ -1,31 +1,17 @@ //===== rAthena Script ======================================= -//= Wizard Job Quest +// Wizard Job change Quest //===== By: ================================================== -//= (Aegis) Translated by yoshiki, converted by kobra_k88 -//= Further bugfixed and tested by Lupus +//= Masao +//= Credits: Muad_Dib //===== Current Version: ===================================== -//= 3.2 +//= 1.0 //===== Compatible With: ===================================== -//= rAthena SVN +//= Any rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job Change quest for Wizard class. +//= [Translated from the Official] +//= Job change Quest from Mage -> Wizard. //===== 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). +//= 1.0 Updated to latest available official file. [Masao] //============================================================ gef_tower,111,37,4 script Wizard Guildsman 70,{ @@ -39,20 +25,27 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ 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) + if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { + if (Class == Job_Wizard) { + if (Sex == 1) { + 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]"; mes "Well, If you intended to ask me on a date... I appreciate it...hohoho."; - else + } + else { + 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]"; mes "Well, if you fix me up with a cute guy... I'd appreciate it...hohoho!."; + } close; } - else if (BaseClass == Job_Novice) { + if (Class == Job_Baby || Class == 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."; @@ -72,12 +65,13 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Ok, then. Farewell."; close; } - if (WIZ_Q == 0) { + if (WZRD_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) { + switch (select("I want to become a Wizard.:...nothing.")) { + case 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."; @@ -98,7 +92,8 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ 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) { + switch (select("Yes, I do.:On second thought, Let me think about it.")) { + case 1: if (JobLevel < 40) { mes "[Catherine]"; mes "Hey hey, weren't you listening to me?"; @@ -109,7 +104,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "When I deem you're qualified, I will accept your application."; close; } - if (SkillPoint) { + if (SkillPoint != 0) { 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."; @@ -141,7 +136,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ 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; + set WZRD_Q,3; setquest 9015; close; } @@ -153,23 +148,23 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ 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); + set .@wizard_m1, rand(1,2); mes "[Catherine]"; mes "The items you must collect are..."; - if (rand(1)) { - set WIZ_Q,1; - setquest 9013; + if (.@wizard_m1 == 1) { + set WZRD_Q,1; mes "^3355FFRed Gemstone^000000 10 each,"; mes "^3355FFBlue Gemstone^000000 10 each,"; mes "^3355FFYellow Gemstone^000000 10 each,"; + setquest 9013; } else { - set WIZ_Q,2; - setquest 9014; + set WZRD_Q,2; 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,"; + setquest 9014; } mes "...is it too hard? No, any would be Wizard should be able to at least get these items."; next; @@ -177,23 +172,25 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Well, good luck."; mes "I'll be happily waiting. ~Hehe."; close; + case 2: + mes "[Catherine]"; + mes "Oh, ok then, take your time."; + mes "Since I'll always be here, accepting applications...*sigh*...anyways! ~Hehehehe."; + close; } - mes "[Catherine]"; - mes "Oh, ok then, take your time."; - mes "Since I'll always be here, accepting applications...*sigh*...anyways! ~Hehehehe."; + case 2: + 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; } - 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) { + if (WZRD_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) { + 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."; @@ -201,8 +198,9 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ delitem 716,10; //Red_Gemstone delitem 717,10; //Blue_Gemstone delitem 715,10; //Yellow_Gemstone - set WIZ_Q,3; + set WZRD_Q,3; changequest 9013,9015; + changequest 9014,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."; @@ -226,12 +224,12 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Don't forget this time, and bring all the items, ok?..."; close; } - else if (WIZ_Q == 2) { + if (WZRD_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) { + 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."; @@ -240,7 +238,8 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ delitem 993,5; //Yellow_Live delitem 990,5; //Boody_Red delitem 992,5; //Wind_Of_Verdure - set WIZ_Q,3; + set WZRD_Q,3; + changequest 9013,9015; changequest 9014,9015; mes "[Catherine]"; mes "Good. You've passed the first test now."; @@ -266,7 +265,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Don't forget them this time and gather the correct ones, ok? See you soon..."; close; } - else if (WIZ_Q == 3) { + if (WZRD_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..."; @@ -276,7 +275,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "I'll be waiting, so go now."; close; } - else if (WIZ_Q == 4) { + if (WZRD_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?"; @@ -285,7 +284,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ 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!")) { + 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 @@ -347,6 +346,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ 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!"; + break; } next; mes "[Catherine]"; @@ -354,7 +354,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Hurry, he's waiting for you!"; close; } - else if (WIZ_Q == 5) { + if (WZRD_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..."; @@ -368,17 +368,18 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "He's waiting for you!"; close; } - else if (WIZ_Q == 6) { + if (WZRD_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) { + if (Sex == 1) { + mes "[Catherine]"; 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 "[Catherine]"; 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; @@ -392,9 +393,9 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "He's waiting!"; close; } - else if (WIZ_Q == 7) { + if (WZRD_Q, == 7) { if (JobLevel < 40) { - set WIZ_Q,0; + set WZRD_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?"; @@ -404,7 +405,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "When the time comes, I will welcome you with open arms."; close; } - if (SkillPoint) { + if (SkillPoint != 0) { 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."; @@ -417,9 +418,13 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "[Catherine]"; mes "Well, no need to wait, I congratulate you. I hearby deem you Wizard."; next; + set WZRD_Q,0; + if(Class == Job_Baby_Mage){ + jobchange Job_Baby_Wizard; + } else { + jobchange Job_Wizard; + } 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."; @@ -448,21 +453,23 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ } gef_tower,102,24,2 script Gloomy Wizard 735,{ - if (BaseJob != Job_Mage) { - if (BaseJob == Job_Wizard) { + if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { + if (Class == Job_Baby_Wizard || Class == 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) { + if (Sex == 1) { + 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!"; 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 "[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!"; mes "So learn how to use magic properly, or you would just be better off giving up on using magic."; next; mes "[Raulel]"; @@ -471,7 +478,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ } close; } - else if (BaseJob == Job_Priest) { + if (Class == Job_Baby_Priest || Class == Job_Priest) { mes "[Raulel]"; mes "Go away, one who works for the Church!"; mes "Magic repels Holy power, jeez...your messing up my aura."; @@ -481,7 +488,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "Don't come any closer, just leave!"; close; } - else if (BaseClass == Job_Novice) { + if (Class == Job_Baby || Class == Job_Novice) { mes "[Raulel]"; mes "Why did a little one like you come here?!"; mes "Get lost! ~Hahahahaha"; @@ -496,7 +503,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "What do you want? Jeez...just get lost, won't you?"; close; } - if (WIZ_Q == 0) { + if (WZRD_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; @@ -504,7 +511,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "Go away! Get lost!"; close; } - else if (WIZ_Q == 1 || WIZ_Q == 2) { + if (WZRD_Q, == 1) { mes "[Raulel]"; mes "Hahahaha~ You're the one that wants to become a Wizard?!"; next; @@ -515,314 +522,1030 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ 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) { + if (WZRD_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; + } + if (WZRD_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; + switch (select("I want to live as a normal Mage.:I would like to continue with the tests.")) { + case 1: 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'."; + 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 "*sneeze* It's not too late yet, wouldn't you rather just go back to town and enjoy the peaceful life?"; + 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; + case 2: + 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; + break; + } + mes "[Raulel]"; + mes "*sneeze* Then let's begin the test!"; + mes "If you don't answer them all correctly, you fail. Hahahahahahahahaha~"; + changequest 9015,9016; + 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!"; + next; + set .@wizard_m2,rand(1,3); + set @wizard_t,0; + mes "[Raulel]"; + mes "*Cough* *cough* Then here go the questions!"; + next; + if (.@wizard_m2 == 1) { mes "[Raulel]"; - mes "Hahahaha~ You don't know how dangerous it is...to deal with Greater Magic."; + mes "1. Which of the following is not necessary to learn Fire Wall?"; 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; + switch (select("Fire Bolt Lv 4:Fire Ball Lv 5:Sight Lv 1:Napalm Beat Lv 4")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; } 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!"; + mes "2. Regaurdless of it's previous attribute, What does the monster's attribute change to when you cast Frost Diver on it?"; + next; + switch (select("Water:Earth:Fire:Wind")) { + case 1: + set @wizard_t, @wizard_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + mes "[Raulel]"; + mes "3. When you completely master Napalm Beat, what is the ratio of the increased MATK using that spell?"; + next; + switch (select("1.6 times:1.7 times:2 times:20 times")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[Raulel]"; + mes "4. What item do you need when casting Stone Curse?"; + next; + switch (select("Red Blood:Blue Gemstone:Yellow Gemstone:Red Gemstone")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; + } + mes "[Raulel]"; + mes "5. Which of the following is not required to master Safety Wall?"; next; + switch (select("Napalm Beat Lv 4:Soul Strike Lv 5:Increase SP Recovery Lv 6:Safety Wall Lv 7")) { + case 1: + break; + case 2: + break; + case 3: + set @wizard_t, @wizard_t + 10; + break; + case 4: + break; + } mes "[Raulel]"; - mes "*sneeze* Then let's begin the test!"; - mes "If you don't answer them all correctly, you fail. Hahahahahahahahaha~"; + 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; + switch (select("14:21:28:35")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } 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; + 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; + switch (select("Damage 18% SP1.5%:Damage 18% SP2%:Damage 24% SP1.5%:Damage 24% SP2%")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; } + mes "[Raulel]"; + mes "8. How much SP is consumed and how many times can you avoid attacks when using Safety Wall Lv 6?"; next; + switch (select("SP 40, 6 times:SP 35, 6 times:SP 40, 7 times:SP 35, 7 times")) { + case 1: + break; + case 2: + break; + case 3: + set @wizard_t, @wizard_t + 10; + break; + case 4: + break; + } mes "[Raulel]"; - mes "*Cough* *cough* Then here go the questions!"; + mes "9. How much SP is needed when using Lv 10 Thunderstorm?"; + next; + switch (select("84:74:64:54")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[Raulel]"; + mes "10. Which skill is most useful training in the Byalan Dungeon?"; + next; + switch (select("Lightning Bolt:Fire Bolt:Cold Bolt:Sight")) { + case 1: + set @wizard_t, @wizard_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } } - else if (WIZ_Q == 4) { + if (.@wizard_m2 == 2) { + mes "[Raulel]"; + mes "1. Which monster can you obtain a slotted Guard from?"; + next; + switch (select("Thief Bug:Peco Peco:Pupa:Kobold (Hammer)")) { + case 1: + break; + case 2: + break; + case 3: + set @wizard_t, @wizard_t + 10; + break; + case 4: + break; + } mes "[Raulel]"; - mes "Hahahaha~ Are you that desperate? *sneeze* What a pain in the arse..."; + mes "2. Which of the following is the easiest monster for a low level Mage to hunt?"; next; + switch (select("Flora:Giearth:Golem:Myst")) { + case 1: + set @wizard_t, @wizard_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } mes "[Raulel]"; - mes "Since you don't want to settle for a stable and peaceful life, I'll give you another chance..."; + mes "3. Which monster will not be affected by Stone Curse?"; next; + switch (select("Elder Willow:Evil Druid:Magnolia:Marc")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } mes "[Raulel]"; - mes "If you miss one single question, then just give up. You wouldn't have any talent in being a Wizard! ~Hahahahaha"; + mes "4. When attacking a Lv 3 water attribute monster with a wind attribute weapon, what is the damage percentage?"; 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; + switch (select("125%:150%:175%:200%")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; } 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."; + mes "5. If a Baby Desert Wolf and a Familiar fought, which one would win?"; + next; + switch (select("Baby Desert Wolf:Familiar:Neither:I don't know")) { + case 1: + set @wizard_t, @wizard_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + mes "[Raulel]"; + mes "6. Which of the following cannot be a Cute Pet?"; + next; + switch (select("Poporing:Roda Frog:Smokie:Poison Spore")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[Raulel]"; + mes "7. Choose the monster that is weak against a fire attribute attack."; + next; + switch (select("Dagger Goblin:Mace Goblin:Morningstar Goblin:Hammer Goblin")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; + } + mes "[Raulel]"; + mes "8. Which of the following has the highest defense?"; + next; + switch (select("Horn:Chonchon:Andre:Caramel")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; + } + mes "[Raulel]"; + mes "9. Choose the monster that's of a different species."; + next; + switch (select("Poring:Mastering:Ghostring:Spore")) { + case 1: + break; + case 2: + break; + case 3: + set @wizard_t, @wizard_t + 10; + break; + case 4: + break; + } + mes "[Raulel]"; + mes "10. Which of the following is not an Undead monster?"; next; + switch (select("Drake:Megalodon:Deviace:Khalitzburg")) { + case 1: + break; + case 2: + break; + case 3: + set @wizard_t, @wizard_t + 10; + break; + case 4: + break; + } + } + else { + mes "[Raulel]"; + mes "1. Which stat is the most important for a Mage?"; + next; + switch (select("INT:AGI:DEX:VIT")) { + case 1: + set @wizard_t, @wizard_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + mes "[Raulel]"; + mes "2. Which attribute does not have a 'Bolt' type attack?"; + next; + switch (select("Water:Earth:Fire:Wind")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[Raulel]"; + mes "3. Choose the one that does not relate to a Mage."; + next; + switch (select("Weak physical strength.:Attacks at a distance.:Good at selling stuff.:Magic Defense is high.")) { + case 1: + break; + case 2: + break; + case 3: + set @wizard_t, @wizard_t + 10; + break; + case 4: + break; + } + mes "[Raulel]"; + mes "4. Which town is the home of Mages?"; + next; + switch (select("Prontera:Morroc:Alberta:Geffen")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; + } + mes "[Raulel]"; + mes "5. Which of the following cards has nothing to do with INT?"; + next; + switch (select("Andre Egg Card:Soldier Andre Card:Baby Desert Wolf Card:Elder Willow Card")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[Raulel]"; + mes "6. What is the Mage good at compared to other job classes?"; + next; + switch (select("Exceptional Vocal Ability:Exceptional Acting Ability:Exceptional Dance Skills:Exceptional Magic Skills")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; + } + mes "[Raulel]"; + mes "7. What is the INT bonus at Job Lv 40 for a Mage?"; + next; + switch (select("8:7:6:5")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; + } + mes "[Raulel]"; + mes "8. Which item can a Mage not equip?"; + next; + switch (select("Knife:Boys Cap:Sandle:Eye of Dullahan")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } mes "[Raulel]"; - mes "Then let's begin the test!"; + mes "9. Which of the following is the catalyst when making the Mage test solution 3?"; + next; + switch (select("Blue Gemstone:Red Gemstone:Yellow Gemstone:Red Blood")) { + case 1: + set @wizard_t, @wizard_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + mes "[Raulel]"; + mes "10. Which card is irrelevant to magic?"; + next; + switch (select("Marduk Card:Magnolia Card:Willow Card:Maya Card")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } + } + mes "[Raulel]"; + 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 WZRD_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; } + if (@wizard_t == 90) { + set WZRD_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; + } + set WZRD_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; + } + if (WZRD_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; - switch(rand(1,3)) { + 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; + switch (select("Because of you, I want to live as a normal Mage now.:I would like to continue with the tests.")) { case 1: mes "[Raulel]"; - mes "1. Which of the following is not necessary to learn Fire Wall?"; + 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; - 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?"; + 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; + case 2: + 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; - if (select("Water:Earth:Fire:Wind") == 1) - set .@wizard_t,.@wizard_t+10; + break; + } + mes "[Raulel]"; + mes "Then let's begin the test!"; + mes "If you don't answer all of them correctly, you fail... ~Hahahahahha"; + next; + mes "[Raulel]"; + mes "I'll give you 10 questions so give me the correct answers."; + mes "If you get something wrong, I won't tell you what it is!"; + next; + set .@wizard_m2,rand(1,3); + set @wizard_t,0; + mes "[Raulel]"; + mes "*Cough* *cough* Then here go the questions."; + next; + if (.@wizard_m2 == 1) { mes "[Raulel]"; - mes "3. When you completely master Napalm Beat, what is the ratio of the increased MATK using that spell?"; + mes "1. Which of the following is not necessary to learn Fire Wall?"; next; - if (select("1.6 times:1.7 times:2 times:20 times") == 2) - set .@wizard_t,.@wizard_t+10; + switch (select("Fire Bolt Lv 4:Fire Ball Lv 5:Sight Lv 1:Napalm Beat Lv 4")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; + } + mes "[Raulel]"; + mes "2. Regaurdless of the previous attribute, what does the monster's attribute change to when you cast Frost Diver on it?"; + next; + switch (select("Water:Earth:Fire:Wind")) { + case 1: + set @wizard_t, @wizard_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + mes "[Raulel]"; + mes "3. When you master Napalm Beat, what is the ratio of the increase in MATK using the spell?"; + next; + switch (select("1.6 times:1.7 times:2 times:20 times")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Red Blood:Blue Gemstone:Yellow Gemstone:Red Gemstone")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; + } 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; + switch (select("Napalm Beat Lv 4:Soul Strike Lv 5:Increase SP Recovery Lv 6:Safety Wall Lv 7")) { + case 1: + break; + case 2: + break; + case 3: + set @wizard_t, @wizard_t + 10; + break; + case 4: + break; + } 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; + switch (select("14:21:28:35")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } 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 "7. Using the skill 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; + switch (select("Damage 18% SP1.5%:Damage 18% SP2%:Damage 24% SP1.5%:Damage 24% SP2%")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } 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 "8. How much SP is consumed, and how many times can you avoid attacks when using Safety Wall Lv 6?"; + next; + switch (select("SP 40, 6 times:SP 35, 6 times:SP 40, 7 times:SP 35, 7 times")) { + case 1: + break; + case 2: + break; + case 3: + set @wizard_t, @wizard_t + 10; + break; + case 4: + break; + } 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; + switch (select("84:74:64:54")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } 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 "10. Which skill is most useful for training in the Byalan Dungeon?"; + next; + switch (select("Lightning Bolt:Fire Bolt:Cold Bolt:Sight")) { + case 1: + set @wizard_t, @wizard_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + } + if (.@wizard_m2 == 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; + switch (select("Thief Bug:Peco Peco:Pupa:Kobold (Hammer)")) { + case 1: + break; + case 2: + break; + case 3: + set @wizard_t, @wizard_t + 10; + break; + case 4: + break; + } 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; + switch (select("Flora:Giearth:Golem:Myst")) { + case 1: + set @wizard_t, @wizard_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Elder Willow:Evil Druid:Magnolia:Marc")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("125%:150%:175%:200%")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; + } 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; + switch (select("Baby Desert Wolf:Familiar:Neither:I don't know")) { + case 1: + set @wizard_t, @wizard_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Poporing:Roda Frog:Smokie:Poison Spore")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Dagger Goblin:Mace Goblin:Morningstar Goblin:Hammer Goblin")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; + } 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 "8. Which of the following monsters has the highest defense?"; + next; + switch (select("Horn:Chonchon:Andre:Caramel")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; + } 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 "9. Choose the monster that's a different species."; + next; + switch (select("Poring:Mastering:Ghostring:Spore")) { + case 1: + break; + case 2: + break; + case 3: + set @wizard_t, @wizard_t + 10; + break; + case 4: + break; + } 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: + switch (select("Drake:Megalodon:Deviace:Khalitzburg")) { + case 1: + break; + case 2: + break; + case 3: + set @wizard_t, @wizard_t + 10; + break; + case 4: + break; + } + } + else { 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; + switch (select("INT:AGI:DEX:VIT")) { + case 1: + set @wizard_t, @wizard_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Water:Earth:Fire:Wind")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Weak physical strength.:Attacks at a distance.:Good at selling stuff.:Magic Defense is high.")) { + case 1: + break; + case 2: + break; + case 3: + set @wizard_t, @wizard_t + 10; + break; + case 4: + break; + } 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 "4. Which town is the home of the Mages?"; + next; + switch (select("Prontera:Morroc:Alberta:Geffen")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; + } 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; + switch (select("Andre Egg Card:Soldier Andre Card:Baby Desert Wolf Card:Elder Willow Card")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Exceptional Vocal Ability:Exceptional Acting Ability:Exceptional Dance Skills:Exceptional Magic Skills")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; + } 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; + switch (select("8:7:6:5")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; + } 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; + switch (select("Knife:Boys Cap:Sandle:Eye of Dullahan")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Blue Gemstone:Red Gemstone:Yellow Gemstone:Red Blood")) { + case 1: + set @wizard_t, @wizard_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Marduk Card:Magnolia Card:Willow Card:Maya Card")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; } } - mes "Hmmm...Good job, you finished answering all the questions, go buy yourself some potions or something, thats IF you have the Zeny. Hahahahahahahah~"; + mes "[Raulel]"; + 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; + mes "Your score is... " + @wizard_t + "points....."; + if (@wizard_t == 100) { changequest 9016,9017; - mes "*cough* *Cough* Well done, you passed the second test."; + set WZRD_Q,5; + 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 "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~"; + 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; + if (@wizard_t == 90) { + set WZRD_Q,5; changequest 9016,9017; - mes "Hahahaha~ I'll let you slide by since you only missed one problem. You passed the second test."; + 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 "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~"; + 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 { - 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."; + if (@wizard_t == 80) { + set WZRD_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 "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!"; + 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; } + 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; } - else if (WIZ_Q == 5) { + if (WZRD_Q, == 5) { mes "[Raulel]"; mes "Ok, hope you got plenty of rest. Hahahahahah~"; mes "Then let's begin the last test."; @@ -830,12 +1553,13 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ 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) { + switch (select("No, it's ok, I'm ready.:I would like to listen.")) { + case 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; + set WZRD_Q,6; savepoint "geffen",120,107; mes "[Raulel]"; mes "Then, as you wish. I'll send you there right now."; @@ -843,51 +1567,54 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ 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; + case 2: 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; + 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; + switch (select("Continue testing.:I want to go back because I have butterflies in my stomach.")) { + case 1: + set WZRD_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; + case 2: + set WZRD_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; + } } - 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) { + if (WZRD_Q, == 6) { + if (@asn_skill == 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??"; @@ -896,7 +1623,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ 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; + set @asn_skill,@asn_skill+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~"; @@ -904,12 +1631,13 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ warp "job_wiz",57,154; end; } - else if (WIZ_Q2 > 6) { + if (@asn_skill > 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) { + switch (select("Continue the test.:Worn Out Scroll...")) { + case 1: savepoint "geffen",120,107; mes "[Raulel]"; mes "Hahaha~ Ok, at least you have some spirit."; @@ -917,21 +1645,24 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ 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; + case 2: + 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 @asn_skill,0; + set WZRD_Q,7; + changequest 9017,9018; + 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; + } } } + set @wizard_t,0; 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?"; @@ -946,38 +1677,83 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ 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; + switch (select("Mantis:Cornutus:Giearth:Caramel")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 20; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Yoyo:Magnolia:Metaller:Zerom")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 20; + break; + } 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; + switch (select("Marina:Vitata:Scorpion:Giearth")) { + case 1: + set @wizard_t, @wizard_t + 20; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Cold Bolt:Fire Bolt:Lightning Bolt:Stone Curse")) { + case 1: + break; + case 2: + break; + case 3: + set @wizard_t, @wizard_t + 20; + break; + case 4: + break; + } 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; + switch (select("Hydra:Madragora:Greatest General:Frilldora")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 20; + break; + } 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 "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) { + else if (@wizard_t == 80) { mes "Eh, soso..."; mes "I'll let you retake the test."; next; @@ -989,7 +1765,8 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ 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) { + switch (select("Begin the test please.:Can I get another explanation?")) { + case 1: mes "[Raulel]"; mes "Nobody is going to help you become a Wizard. Hahahahahahahaha~"; mes "*Cough* *cough* No point in crying after dying..."; @@ -1001,48 +1778,51 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ 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; + case 2: 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 "*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; + switch (select("Continue with the test.:I'm too scared, I would like to quit.")) { + case 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; + case 2: + 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; + } } - 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) { + if (WZRD_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~"; @@ -1069,56 +1849,58 @@ job_wiz,50,165,4 script Arena Assistant 700,{ close; } -job_wiz,50,165,4 script Waiting Room#wiz 700,{ +job_wiz,50,165,2 script Waiting Room#wzrd 111,{ + end; + 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: +OnEnable: enablewaitingroomevent; end; } -// Water Room (Test 2 part 1) -//========================================================== job_wiz,1,1,1 script Room of Water 66,{ + end; + OnInit: - disablenpc "Room of Water"; + hideonnpc "Room of Water"; end; OnEnable: - enablenpc "Room of Water"; - set .MyMobs,7; + hideoffnpc "Room of Water"; 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",118,174,"Clam",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"; + monster "job_wiz",129,170,"Obeaune",1044,1,"Room of Water::OnMyMobDead"; initnpctimer; end; +OnReset: + killmonster "job_wiz","Room of Water::OnMyMobDead"; + end; + OnDisable: - killmonsterall "job_wiz"; - disablenpc "Room of Water"; + hideonnpc "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"; + if (mobcount ("job_wiz","Room of Water::OnMyMobDead") < 1) { + set @asn_skill,@asn_skill+1; + mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map; + donpcevent "Room of Water#Door Keeper::OnEnable"; stopnpctimer; } end; @@ -1161,11 +1943,11 @@ OnTimer173000: OnTimer183000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Water::OnDisable"; + donpcevent "Room of Water::OnReset"; end; OnTimer184000: - enablenpc "Room of Water#Failed"; + donpcevent "Room of Water#Failed::OnEnable"; end; OnTimer185000: @@ -1173,41 +1955,45 @@ OnTimer185000: end; OnTimer186000: - disablenpc "Room of Water#Failed"; + donpcevent "Room of Water#Failed::OnDisable"; donpcevent "Room of Water::OnDisable"; - donpcevent "Waiting Room#wiz::OnStart"; + donpcevent "Waiting Room::OnEnable"; end; } -job_wiz,1,2,1 script Room of Water#Door 66,{ +job_wiz,1,2,1 script Room of Water#Door Keeper 66,{ + end; + OnInit: - disablenpc "Room of Water#Door"; + hideonnpc "Room of Water#Door Keeper"; end; OnEnable: - enablenpc "Room of Water#Door"; + hideoffnpc "Room of Water#Door Keeper"; + donpcevent "Room of Water::OnReset"; 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"; + monster "job_wiz",114,169,"Marine Sphere",1142,1,"Room of Water#Door Keeper::OnMyMobDead"; + monster "job_wiz",112,169,"Hydra",1068,1,"Room of Water#Door Keeper::OnMyMobDead"; + monster "job_wiz",116,169,"Hydra",1068,1,"Room of Water#Door Keeper::OnMyMobDead"; + monster "job_wiz",114,171,"Hydra",1068,1,"Room of Water#Door Keeper::OnMyMobDead"; + monster "job_wiz",114,167,"Hydra",1068,1,"Room of Water#Door Keeper::OnMyMobDead"; initnpctimer; end; +OnReset: + killmonster "job_wiz","Room of Water#Door Keeper::OnMyMobDead"; + end; + OnDisable: - killmonsterall "job_wiz"; - disablenpc "Room of Water#Door"; + hideonnpc "Room of Water#Door Keeper"; 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; + if (mobcount ("job_wiz","Room of Water#Door Keeper::OnMyMobDead") < 1) { + mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map; warp "job_wiz",116,97; - donpcevent "Room of Water#Door::OnDisable"; + donpcevent "Room of Water#Door Keeper::OnReset"; + donpcevent "Room of Water#Door Keeper::OnDisable"; donpcevent "Room of Earth::OnEnable"; stopnpctimer; } @@ -1227,11 +2013,11 @@ OnTimer50000: OnTimer60000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Water#Door::OnDisable"; + donpcevent "Room of Water#Door Keeper::OnReset"; end; OnTimer61000: - enablenpc "Room of Water#Failed"; + donpcevent "Room of Water#Failed::OnEnable"; end; OnTimer62000: @@ -1239,53 +2025,67 @@ OnTimer62000: end; OnTimer63000: - disablenpc "Room of Water#Failed"; - donpcevent "Room of Water#Door::OnDisable"; - donpcevent "Waiting Room#wiz::OnStart"; + donpcevent "Room of Water#Failed::OnDisable"; + donpcevent "Room of Water#Door Keeper::OnDisable"; + donpcevent "Waiting Room::OnEnable"; end; } -job_wiz,114,169,0 script Room of Water#Failed -1,16,16,{ -OnInit: - disablenpc "Room of Water#Failed"; - end; +job_wiz,114,169,0 script Room of Water#Failed 139,16,16,{ OnTouch: - mapannounce "job_wiz",strcharinfo(0)+" has not succeeded.",bc_map; + mapannounce "job_wiz","" + strcharinfo(0) + " has not succeeded.",bc_map; warp "geffen",120,110; end; + +OnInit: + hideonnpc "Room of Water#Failed"; + end; + +OnEnable: + hideoffnpc "Room of Water#Failed"; + end; + +OnDisable: + hideonnpc "Room of Water#Failed"; + end; } -// Earth Room (Test 2 part 2) -//========================================================== -job_wiz,1,3,1 script Room of Earth 66,{ +job_wiz,1,3,1 script Room of Earth 66,1,1,{ + end; + OnInit: - disablenpc "Room of Earth"; + hideonnpc "Room of Earth"; end; OnEnable: - enablenpc "Room of Earth"; - set .MyMobs,7; + hideoffnpc "Room of Earth"; + percentheal 100,100; 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,102,"Hode",1127,1,"Room of Earth::OnMyMobDead"; + monster "job_wiz",111,93,"Savage",1166,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"; + monster "job_wiz",127,86,"Mantis",1139,1,"Room of Earth::OnMyMobDead"; initnpctimer; end; +OnReset: + killmonster "job_wiz","Room of Earth::OnMyMobDead"; + end; + OnDisable: - killmonsterall "job_wiz"; - disablenpc "Room of Earth"; + hideonnpc "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"; + if (mobcount ("job_wiz","Room of Earth::OnMyMobDead") < 1) { + mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map; + donpcevent "Room of Earth#Door Keeper::OnEnable"; stopnpctimer; } end; @@ -1328,11 +2128,11 @@ OnTimer173000: OnTimer183000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Earth::OnDisable"; + donpcevent "Room of Earth::OnReset"; end; OnTimer184000: - enablenpc "Room of Earth#Failed"; + donpcevent "Room of Earth#Failed::OnEnable"; end; OnTimer185000: @@ -1340,42 +2140,48 @@ OnTimer185000: end; OnTimer186000: - disablenpc "Room of Earth#Failed"; + donpcevent "Room of Earth#Failed::OnDisable"; donpcevent "Room of Earth::OnDisable"; - donpcevent "Waiting Room#wiz::OnStart"; + donpcevent "Waiting Room::OnEnable"; end; } -job_wiz,1,4,1 script Room of Earth#Door 66,{ +job_wiz,1,4,1 script Room of Earth#Door Keeper 66,{ + end; + OnInit: - disablenpc "Room of Earth#Door"; + hideonnpc "Room of Earth#Door Keeper"; end; OnEnable: - enablenpc "Room of Earth#Door"; + hideoffnpc "Room of Earth#Door Keeper"; + donpcevent "Room of Earth::OnReset"; 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"; + monster "job_wiz",116,97,"Flora",1118,1,"Room of Earth#Door Keeper::OnMyMobDead"; + monster "job_wiz",114,95,"Mandragora",1020,1,"Room of Earth#Door Keeper::OnMyMobDead"; + monster "job_wiz",118,95,"Mandragora",1020,1,"Room of Earth#Door Keeper::OnMyMobDead"; + monster "job_wiz",114,99,"Mandragora",1020,1,"Room of Earth#Door Keeper::OnMyMobDead"; + monster "job_wiz",118,99,"Mandragora",1020,1,"Room of Earth#Door Keeper::OnMyMobDead"; + monster "job_wiz",116,94,"Mandragora",1020,1,"Room of Earth#Door Keeper::OnMyMobDead"; + monster "job_wiz",116,100,"Mandragora",1020,1,"Room of Earth#Door Keeper::OnMyMobDead"; initnpctimer; end; +OnReset: + killmonster "job_wiz","Room of Earth#Door Keeper::OnMyMobDead"; + end; + OnDisable: - killmonsterall "job_wiz"; - disablenpc "Room of Earth#Door"; + hideonnpc "Room of Earth#Door Keeper"; end; OnMyMobDead: - set .MyMobs,.MyMobs-1; - if (.MyMobs < 1) { - mapannounce "job_wiz",strcharinfo(0) + " has succeeded in eliminating the monster.",bc_map; + if (mobcount ("job_wiz","Room of Earth#Door Keeper::OnMyMobDead") < 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 Earth#Door Keeper::OnReset"; + donpcevent "Room of Earth#Door Keeper::OnDisable"; donpcevent "Room of Fire::OnEnable"; stopnpctimer; } @@ -1395,7 +2201,7 @@ OnTimer50000: OnTimer60000: mapannounce "job_wiz","End time.",bc_map; - donpcevent "Room of Earth#Door::OnDisable"; + donpcevent "Room of Earth#Door Keeper::OnReset"; end; OnTimer61000: @@ -1407,52 +2213,65 @@ OnTimer62000: end; OnTimer63000: - disablenpc "Room of Earth#Failed"; - donpcevent "Room of Earth#Door::OnDisable"; - donpcevent "Waiting Room#wiz::OnStart"; + donpcevent "Room of Earth#Failed::OnDisable"; + donpcevent "Room of Earth#Door Keeper::OnDisable"; + donpcevent "Waiting Room::OnEnable"; end; } -job_wiz,116,97,0 script Room of Earth#Failed -1,16,16,{ -OnInit: - disablenpc "Room of Earth#Failed"; - end; +job_wiz,116,97,0 script Room of Earth#Failed 139,16,16,{ OnTouch: - mapannounce "job_wiz",strcharinfo(0) + " has not succeeded.",bc_map; + mapannounce "job_wiz","" + strcharinfo(0) + " has not succeeded.",bc_map; warp "geffen",120,110; end; + +OnInit: + hideonnpc "Room of Earth#Failed"; + end; + +OnEnable: + hideoffnpc "Room of Earth#Failed"; + end; + +OnDisable: + hideonnpc "Room of Earth#Failed"; + end; } -// Fire Room (Test 2 part 3) -//========================================================== job_wiz,1,5,1 script Room of Fire 66,{ + end; + OnInit: - disablenpc "Room of Fire"; + hideonnpc "Room of Fire"; end; OnEnable: - enablenpc "Room of Fire"; - set .MyMobs,6; + hideoffnpc "Room of Fire"; + percentheal 100,100; + monster "job_wiz",58,110,"Zerom",1178,1,"Room of Fire::OnMyMobDead"; 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",40,92,"Peco Peco",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"; + monster "job_wiz",54,89,"Desert Wolf",1106,1,"Room of Fire::OnMyMobDead"; initnpctimer; end; +OnReset: + killmonster "job_wiz","Room of Fire::OnMyMobDead"; + end; + OnDisable: - killmonsterall "job_wiz"; - disablenpc "Room of Fire"; + hideonnpc "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"; + if (mobcount ("job_wiz","Room of Fire::OnMyMobDead") < 1) { + mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map; + donpcevent "Room of Fire#Door Keeper::OnEnable"; stopnpctimer; } end; @@ -1495,7 +2314,7 @@ OnTimer173000: OnTimer183000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Fire::OnDisable"; + donpcevent "Room of Fire::OnReset"; end; OnTimer184000: @@ -1507,40 +2326,45 @@ OnTimer185000: end; OnTimer186000: - disablenpc "Room of Fire#Failed"; + donpcevent "Room of Fire#Failed::OnDisable"; donpcevent "Room of Fire::OnDisable"; - donpcevent "Waiting Room#wiz::OnStart"; + donpcevent "Waiting Room::OnEnable"; end; } -job_wiz,1,6,1 script Room of Fire#Door 66,{ +job_wiz,1,6,1 script Room of Fire#Door Keeper 66,{ + end; + OnInit: - disablenpc "Room of Fire#Door"; + hideonnpc "Room of Fire#Door Keeper"; end; OnEnable: - enablenpc "Room of Fire#Door"; + hideoffnpc "Room of Fire#Door Keeper"; + donpcevent "Room of Fire::OnReset"; 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"; + monster "job_wiz",44,99,"Greatest General",1277,1,"Room of Fire#Door Keeper::OnMyMobDead"; + monster "job_wiz",43,99,"Horong",1129,1,"Room of Fire#Door Keeper::OnMyMobDead"; + monster "job_wiz",45,99,"Horong",1129,1,"Room of Fire#Door Keeper::OnMyMobDead"; initnpctimer; end; +OnReset: + killmonster "job_wiz","Room of Fire#Door Keeper::OnMyMobDead"; + end; + OnDisable: - killmonsterall "job_wiz"; - disablenpc "Room of Fire#Door"; + hideonnpc "Room of Fire#Door Keeper"; end; OnMyMobDead: - set .MyMobs,.MyMobs-1; - if (.MyMobs < 1) { + if (mobcount ("job_wiz","Room of Fire#Door Keeper::OnMyMobDead") < 1) { mapannounce "job_wiz","Congratulations, " + strcharinfo(0) + ". You have passed the job change test.",bc_map; - set WIZ_Q,7; + set WZRD_Q,7; changequest 9017,9018; - donpcevent "Room of Fire#Door::OnDisable"; - donpcevent "Test Helper#wiz::OnEnable"; + donpcevent "Room of Fire#Door Keeper::OnReset"; + donpcevent "Room of Fire#Door Keeper::OnDisable"; + donpcevent "Test Helper::OnEnable"; stopnpctimer; } end; @@ -1567,11 +2391,11 @@ OnTimer110000: OnTimer120000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Fire#Door::OnDisable"; + donpcevent "Room of Fire#Door Keeper::OnReset"; end; OnTimer121000: - enablenpc "Room of Fire#Failed"; + donpcevent "Room of Fire#Failed::OnEnable"; end; OnTimer122000: @@ -1579,26 +2403,57 @@ OnTimer122000: end; OnTimer123000: - disablenpc "Room of Fire#Failed"; - donpcevent "Room of Fire#Door::OnDisable"; - donpcevent "Waiting Room#wiz::OnStart"; + donpcevent "Room of Fire#Failed::OnDisable"; + donpcevent "Room of Fire#Door Keeper::OnDisable"; + donpcevent "Waiting Room::OnEnable"; + end; } -job_wiz,46,99,0 script Room of Fire#Failed -1,16,16,{ +job_wiz,46,99,0 script Room of Fire#Failed 139,16,16,{ + end; + OnInit: - disablenpc "Room of Fire#Failed"; + hideonnpc "Room of Fire#Failed"; end; OnTouch: warp "geffen",120,110; end; + +OnEnable: + hideoffnpc "Room of Fire#Failed"; + end; + +OnDisable: + hideonnpc "Room of Fire#Failed"; + end; +} + +job_wiz,46,99,0 script Succeed 139,16,16,{ + end; + +OnInit: + hideonnpc "Succeed"; + end; + +OnTouch: + warp "gef_tower",110,30; + end; + +OnEnable: + hideoffnpc "Succeed"; + end; + +OnDisable: + hideonnpc "Succeed"; + end; } -job_wiz,1,7,1 script Test Helper#wiz 66,{ +job_wiz,1,7,1 script Test Helper 66,1,1,{ end; OnInit: - disablenpc "Test Helper#wiz"; + hideonnpc "Test Helper"; end; OnEnable: @@ -1606,7 +2461,7 @@ OnEnable: end; OnDisable: - disablenpc "Test Helper#wiz"; + hideonnpc "Test Helper"; end; OnTimer2000: @@ -1618,7 +2473,11 @@ OnTimer4000: end; OnTimer5000: - areawarp "job_wiz",33,82,57,113,"gef_tower",110,30; + donpcevent "Succeed::OnEnable"; + end; + +OnTimer6000: + donpcevent "Succeed::OnDisable"; end; OnTimer7000: @@ -1626,25 +2485,25 @@ OnTimer7000: end; OnTimer9000: - donpcevent "Test Helper#wiz::OnDisable"; - donpcevent "Waiting Room#wiz::OnStart"; + donpcevent "Test Helper::OnDisable"; + donpcevent "Waiting Room::OnEnable"; stopnpctimer; end; } -gef_tower,107,36,4 script White Dog#wiz 81,{ - if (BaseJob != Job_Mage) { - if (BaseJob == Job_Wizard) { +gef_tower,107,36,4 script White Dog 81,{ + if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { + if (Class == Job_Baby_Wizard || Class == 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; + cutin "",255; end; } - else if (BaseClass == Job_Novice) { + if (Class == Job_Baby || Class == Job_Novice) { mes "[Dog]"; mes "What? Kiddo!"; mes "Is a Dog talking so amusing to you?"; @@ -1660,10 +2519,10 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ mes "*Bark* Get lost!"; mes "I don't have time for people like you!"; close2; - cutin "job_wizard_maria02",255; + cutin "",255; end; } - if (WIZ_Q == 0) { + if (WZRD_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?"; @@ -1674,7 +2533,7 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ 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...")) { + 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?!"; @@ -1735,7 +2594,7 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ 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...")) { + switch (select("Yes, please! I would like that.:No, it's ok.:A talking dog...")) { case 1: cutin "job_wizard_maria01",2; mes "[Maria]"; @@ -1770,16 +2629,11 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ 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; + close; case 2: mes "[Maria]"; mes "Really? Ok, then go apply and do your best."; - close2; - cutin "job_wizard_maria01",255; - end; + close; case 3: cutin "job_wizard_maria02",2; mes "[Maria]"; @@ -1788,12 +2642,12 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ mes "[Maria]"; mes "Dang it! I hope you FAIL!! Go get lost!!"; close2; - cutin "job_wizard_maria01",255; + cutin "",255; warp "gef_dun00",116,102; end; } } - else if (WIZ_Q == 1) { + if (WZRD_Q, == 1) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "You seem lost..."; @@ -1813,7 +2667,7 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ 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."; + mes "Condors, Pickies, and sometimes monsters like Golems drop them."; next; mes "[Maria]"; mes "And...*woof* to get Blue Gemstones. Try going to the Byalan Dungeons."; @@ -1827,10 +2681,10 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ mes "Anyways, try your best."; mes "This is the basics of being a Wizard."; close2; - cutin "job_wizard_maria01",255; + cutin "",255; end; } - else if (WIZ_Q == 2) { + if (WZRD_Q, == 2) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "You seem lost..."; @@ -1864,19 +2718,19 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ mes "But anyways, always try your best."; mes "It's the basics of being a Wizard."; close2; - cutin "job_wizard_maria01",255; + cutin "",255; end; } - else if (WIZ_Q == 3) { + if (WZRD_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; + cutin "",255; end; } - else if (WIZ_Q == 4) { + if (WZRD_Q, == 4) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "ZzzzZzzzZzzz..."; @@ -1885,10 +2739,10 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ mes "[Maria]"; mes "*wimper*...Blizadris...you suck...Zzz..."; close2; - cutin "job_wizard_maria02",255; + cutin "",255; end; } - else if (WIZ_Q == 5) { + if (WZRD_Q, == 5) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "Oh, you're doing well aren't you?"; @@ -1897,10 +2751,10 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ mes "Well, try your best to the very end."; mes "Laurel is waiting."; close2; - cutin "job_wizard_maria01",255; + cutin "",255; end; } - else if (WIZ_Q == 6) { + if (WZRD_Q, == 6) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "*BARK*...you gave up?"; @@ -1918,10 +2772,10 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ 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; + cutin "",255; end; } - else if (WIZ_Q == 7) { + if (WZRD_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*"; @@ -1930,27 +2784,7 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ mes "[Maria]"; mes "Congratulations. Always give your best at everything, no matter what."; close2; - cutin "job_wizard_maria01",255; + cutin "",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/re/jobs/1-1/acolyte.txt b/npc/re/jobs/1-1/acolyte.txt index a200ec514..147496143 100644 --- a/npc/re/jobs/1-1/acolyte.txt +++ b/npc/re/jobs/1-1/acolyte.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.1 +//= 1.2 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -11,6 +11,7 @@ //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] //= 1.1 Added back the npcs used for the priest quest. +//= 1.2 Added Baby job change support. [Masao] //============================================================ prt_church,184,41,4 script Cleric#aco 60,{ if (Upper == 1) { @@ -38,62 +39,74 @@ prt_church,184,41,4 script Cleric#aco 60,{ mes "wish you luck on your"; mes "new life's journey."; next; - skill 143,0,0; + skill 143,0,1; 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."; + mes "Now, venture forth to seek people who need your help. May God enlighten your way."; close; } + 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.")) { + switch (select("Father, I want to be a Acolyte.:Acolyte Requirements.:Just looking around.")) { case 1: - if(Class != Job_Novice) { + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { 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?"; - } + 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?"; 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; - } + } + if ((Class != Job_Baby) && (Class != Job_Novice)) { 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 "I'm sorry, but we can only accept Novices as applicants for the job change to Acolyte."; + close; + } + 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 "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 + mes "Good Lord! Haven't you accomplished the Basic Training yet?! It's important that you finish that!"; next; mes "[Father Mareusis]"; - mes "Lastly, I want to sincerely congratulate you on persevering through your trial of penance."; + mes "You should have trained more! Go back and make sure you reach Novice Job Level 9 and learn all of the Basic Skills!"; close; } + mes "[Father Mareusis]"; + mes "Hmm... your job level is high enough and you've proven your qualification."; + next; + mes "[Father Mareusis]"; + mes "I am proud to say that you are now ready to become an Acolyte!"; + next; + skill 143,0,1; + if(Class == Job_Baby){ + jobchange Job_Baby_Acolyte; + } else { + jobchange Job_Acolyte; + } + set job_acolyte_q,0; + getitem 1545,1; //N_Mace + mes "[Father Mareusis]"; + mes "Always remember to be thankful to God, who is taking care of us all the time."; + next; + mes "[Father Mareusis]"; + mes "Always use your gifts to serve Him by helping others. In chaos and times of difficulty, face your hardships with unwavering faith."; + 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?"; @@ -104,7 +117,7 @@ prt_church,184,41,4 script Cleric#aco 60,{ 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."; + mes "When you think you fulfilled this requirement I've asked of you. As long as your desire to serve God and others is sincere, you will be able to make it."; close; case 3: close; @@ -112,9 +125,9 @@ prt_church,184,41,4 script Cleric#aco 60,{ } prt_fild03,365,255,2 script Ascetic#aco 89,{ - mes "[Father Rubalkabara]"; - if (BaseJob == Job_Novice) { + if (Class == Job_Novice) { if (job_acolyte_q == 6) { + mes "[Father Rubalkabara]"; 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]"; @@ -123,6 +136,7 @@ prt_fild03,365,255,2 script Ascetic#aco 89,{ } if (job_acolyte_q != 0) { if (job_acolyte_q == 2) { + mes "[Father Rubalkabara]"; 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]"; @@ -142,125 +156,198 @@ prt_fild03,365,255,2 script Ascetic#aco 89,{ next; mes "[Father Rubalkabara]"; mes "Farewell."; - close2; savepoint "prt_fild03",361,255; set job_acolyte_q,6; - end; + close; } - else { - mes "Oh..."; - mes "Are you one of the"; - mes "Acolyte applicants...?"; - mes "Let's see..."; + mes "[Father Rubalkabara]"; + 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; + } + mes "[Father Rubalkabara]"; + mes "Huh? What brings you here? This is a very dangerous place for a Novice like yourself!"; + close; + } + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + if (job_priest_q != 0) { + if (job_priest_q == 1) { + mes "[Father Rubalkabara]"; + 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 "Your name is " + strcharinfo(0) + "?"; - mes "I don't think your name"; - mes "is on my list. Hmmm..."; + 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 "Why don't you go back to the Prontera Sanctuary and check again?"; + mes "Well then, please head to your next destination for your pilgrimage. Be safe in your travels."; + savepoint "prt_fild03",361,255; + set job_priest_q,2; + close; + } + if (job_priest_q == 2) { + mes "[Father Rubalkabara]"; + mes "Please be hurry to the next destination for your pilgrimage. I hope you become a Priest soon."; 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."; + mes "May I ask why you have returned? Please go back and continue your religious practice."; close; } + mes "[Father Rubalkabara]"; + mes "I have no idea what brought you here, but please excuse me."; + close; + } + if (Class == Job_Baby_Priest || Class == Job_Priest) { + mes "[Father Rubalkabara]"; + 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; } + mes "[Father Rubalkabara]"; + 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) { +moc_fild07,41,355,4 script Ascetic#2 95,{ + if (Class == Job_Novice) { + if (job_acolyte_q == 6) { + mes "[Mother Marthilda]"; 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 "[Mother Marthilda]"; 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 "[Mother Marthilda]"; mes "Ah, you must be one of the Acolyte applicants. I sincerely welcome you."; next; - mes "[Mother Mathilda]"; + mes "[Mother Marthilda]"; mes "What is your name? " + strcharinfo(0) + "? Let's see... Ah, you're on my list."; next; - mes "[Mother Mathilda]"; + mes "[Mother Marthilda]"; 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 "[Mother Marthilda]"; 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; + close; } - else { - mes "Ah...!"; - mes "You must be one"; - mes "of the Acolyte applicants."; - mes "I sincerely welcome you."; + mes "[Mother Marthilda]"; + mes "Ah...!"; + mes "You must be one"; + mes "of the Acolyte applicants."; + mes "I sincerely welcome you."; + next; + mes "[Mother Marthilda]"; + mes "Now, what is your name?"; + mes "" + strcharinfo(0) + "? Let's see..."; + next; + mes "[Mother Marthilda]"; + mes "Hmm..."; + mes "It seems your name"; + mes "is not on my list..."; + next; + mes "[Mother Marthilda]"; + mes "Perhaps you should return to the Prontera Sanctuary and check the destination for your penance trial once again."; + close; + } + mes "[Mother Marthilda]"; + mes "..."; + close; + } + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + if (job_priest_q != 0) { + if (job_priest_q == 1) { + mes "[Mother Marthilda]"; + mes "Hmm..."; + mes "It seems you're"; + mes "training to become"; + mes "a Priest."; next; - mes "[Mother Mathilda]"; - mes "Now, what is your name?"; - mes "" + strcharinfo(0) + "? Let's see..."; + mes "[Mother Marthilda]"; + mes "However, at this point in your pilgrimage, I am not the person that you should be visiting."; next; - mes "[Mother Mathilda]"; - mes "Hmm..."; - mes "It seems your name"; - mes "is not on my list..."; + mes "[Mother Marthilda]"; + mes "Perhaps you should ask Bishop Paul or Sister Cecilia once again. Well, may God be with you..."; + close; + } + if (job_priest_q == 2) { + mes "[Mother Marthilda]"; + mes "Ah, are you"; + mes "a Priest trainee...?"; + mes "Welcome!"; next; - mes "[Mother Mathilda]"; - mes "Perhaps you should return to the Prontera Sanctuary and check the destination for your penance trial once again."; + mes "[Mother Marthilda]"; + mes "We Priests are obliged to spread the message of God to"; + mes "the peoples of the Earth."; + next; + mes "[Mother Marthilda]"; + 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 Marthilda]"; + mes "Well then..."; + mes "I shall pray to"; + mes "God for safety"; + mes "on your journey."; + savepoint "moc_fild07",35,355; + set job_priest_q,3; close; } - } - else { - mes "..."; + if (job_priest_q == 3) { + mes "[Mother Marthilda]"; + mes "Please leave soon, and"; + mes "continue your training."; + close; + } + mes "[Mother Marthilda]"; + mes "May I ask you the reason you came back? Please continue your training."; close; } + mes "[Mother Marthilda]"; + mes "May God"; + mes "be with you..."; + 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; - } + if (Class == Job_Baby_Priest || Class == Job_Priest) { + mes "[Mother Marthilda]"; + mes "Hello there~"; + next; + mes "[Mother Marthilda]"; + mes "How is your practice coming along? I certainly hope you're enjoying living in the grace of God."; + close; } + mes "[Mother Marthilda]"; + mes "May God"; + mes "be with you..."; + close; } -prt_fild00,208,218,6 script Ascetic#3aco 98,{ - mes "[Father Yosuke]"; - if (BaseJob == Job_Novice) { +prt_fild00,208,218,6 script Ascetic#3 98,{ + if (Class == Job_Novice) { if (job_acolyte_q == 8) { + mes "[Father Yosuke]"; mes "What?"; next; mes "[Father Yosuke]"; @@ -269,6 +356,7 @@ prt_fild00,208,218,6 script Ascetic#3aco 98,{ } if (job_acolyte_q != 0) { if (job_acolyte_q == 4) { + mes "[Father Yosuke]"; mes "Hey."; mes "Whatever you are,"; mes "you look like an"; @@ -287,48 +375,104 @@ prt_fild00,208,218,6 script Ascetic#3aco 98,{ 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; + close; } - else { - mes "Hey."; - mes "You look like an Acolyte Applicant. Am I right?"; + mes "[Father Yosuke]"; + 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; + } + mes "[Father Yosuke]"; + mes "You..."; + mes "Novice."; + mes "There something"; + mes "you wanna tell me?"; + close; + } + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + if (job_priest_q != 0) { + if (job_priest_q == 1) { + mes "[Father Yosuke]"; + mes "Hmm..."; + mes "A Priest trainee, eh?"; 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?"; + 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; + } + if (job_priest_q == 2) { + mes "[Father Yosuke]"; + mes "Hmm..."; + mes "A Priest trainee, eh?"; next; mes "[Father Yosuke]"; - mes "" + strcharinfo(0) + ", huh? Why isn't your name on my list?"; + 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 "You probably made a mistake. Go back to the Santuary, and check with the Bishop."; + mes "But that's your own fault. Go back to Church."; + close; + } + if (job_priest_q == 3) { + mes "[Father Yosuke]"; + 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."; + savepoint "prt_fild00",206,230; + set job_priest_q,4; + close; + } + if (job_priest_q == 4) { + mes "[Father Yosuke]"; + 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; } - } - 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."; + mes "Just go be a Priest. This isn't a playground for kids."; close; } + mes "[Father Yosuke]"; + mes "...Acolyte, you don't have any business with me here."; + close; } -} - + if (Class == Job_Baby_Priest || Class == Job_Priest) { + mes "[Father Yosuke]"; + 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; + } + mes "[Father Yosuke]"; + mes "Do you have anything to say? Because unfortunately for you,"; + mes "I don't any replies."; + close; +} \ No newline at end of file diff --git a/npc/re/jobs/1-1/archer.txt b/npc/re/jobs/1-1/archer.txt index 46325309c..8204689bc 100644 --- a/npc/re/jobs/1-1/archer.txt +++ b/npc/re/jobs/1-1/archer.txt @@ -3,21 +3,20 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.0 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Archer Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] +//= 1.1 Added Baby job change support. [Masao] //============================================================ -payon_in02,64,71,4 script Archer Guildsman#archer 85,{ +payon_in02,64,71,4 script Archer Guildsman 85,{ if (Upper == 1) { - if (Class == Job_Novice_High && (ADVJOB == Job_Sniper || ADVJOB == Job_Clown || ADVJOB == Job_Gypsy)) { + 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"; @@ -38,7 +37,7 @@ payon_in02,64,71,4 script Archer Guildsman#archer 85,{ mes "need to say anything else."; mes "I know you'll make a great Archer..."; next; - skill 143,0,0; + skill 143,0,1; jobchange Job_Archer_high; skill 147,1,0; skill 148,1,0; @@ -46,84 +45,97 @@ payon_in02,64,71,4 script Archer Guildsman#archer 85,{ 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 "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.")) { + 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{ + if (Class == Job_Baby || Class == Job_Novice) { mes "[Archer Guildsman]"; - mes "You are... "+strcharinfo(0)+". right?"; + 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"; + mes "Well, you don't have the right skill level. "; + mes "Your job level must be at least ^4d4dff10^000000"; + mes "and your Basic Skill level should reach ^4d4dfflevel 9^000000"; next; mes "[Archer Guildsman]"; - mes "Because an Archer needs extremely high concentration, so we do not accept those who have little patience."; - close; + mes "Because an Archer needs"; + mes "extremely high concentration,"; + mes "so we do not accept "; + mes "those who have little patience."; + close2; } 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."; + mes "You seem to have learned the basic skills.."; + mes "....Hm~~ you are now ready to become an Archer. I will take the step right away."; next; + skill 143,0,1; + if(Class == Job_Baby){ + jobchange Job_Baby_Archer; + } else { + jobchange Job_Archer; + } 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 + 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."; + mes "Having a bow and arrows, now you've become a real Archer."; + mes "If you open the arrow quiver, there will be arrows in it that you can equip."; + mes "Well, I expect to hear good news from you. It's time to say goodbye. Bye."; close; } + if (Class == Job_Baby_Archer || Class == Job_Archer || Class == Job_Archer_High) { + mes "[Archer Guildsman]"; + mes "Haha, you are kidding me.."; + close; + } + mes "[Archer Guildsman]"; + mes "Wait a second. You've chosen a different job already. You don't need to know this~"; + 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 "Although an Archer has weaker HP,"; + mes "he or she can shoot enemies"; + mes "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."; + mes "Although an Archer in Ragnarok has lower HP,"; + mes "he or she has high accuracy and attack rate"; + mes "so that the archer can kill monsters"; + mes "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"; + mes "^8E2323An Archer can change"; + mes "^8E2323jobs to a Hunter."; + mes "^8E2323Other than Hunter, if you are a man, you can change your job to Bard"; + mes "^8E2323and 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; } -} +} \ No newline at end of file diff --git a/npc/re/jobs/1-1/mage.txt b/npc/re/jobs/1-1/mage.txt index 99cca81c4..c44d0148e 100644 --- a/npc/re/jobs/1-1/mage.txt +++ b/npc/re/jobs/1-1/mage.txt @@ -3,15 +3,16 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.0 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Mage Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] +//= 1.1 Added Baby job change support. [Masao] //============================================================ -geffen_in,164,124,4 script Mage Guildsman#mage 123,{ +geffen_in,164,124,4 script Mage Guildsman 123,{ if (Upper == 1) { if (ADVJOB == Job_High_Wizard || ADVJOB == Job_Professor) { if (Class == Job_Novice_High) { @@ -38,89 +39,112 @@ geffen_in,164,124,4 script Mage Guildsman#mage 123,{ 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."; + 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; } + 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) { + if (Class == Job_Baby_Mage || Class == Job_Mage) { 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."; - } + mes "Hey, haven't you realized? You're aleady a Mage, silly!"; + next; + mes "[Mage Guildsman]"; + mes "One of these days you'll realize the power inside of you when you can make Fire with your mind!"; close; - }else{ + } + if ((Class != Job_Baby_Mage) && (Class != Job_Mage) && (Class != Job_Novice)) { + mes "[Mage Guildsman]"; + mes "Hey~ C'mon. Quit playing games. You can't be a Mage because you already have another Job."; + close; + } + if (Class == Job_Baby || Class == Job_Novice) { mes "[Mage Guildsman]"; mes "Hey?"; next; - switch(select("I want to be a Mage:What are the requirements to be a Mage?:Nothing, thanks.")) { + switch (select("I want to be a Mage.:Tell me the Requirements.:Pretty much nothing.")) { case 1: mes "[Mage Guildsman]"; - mes "Wanna be a Mage? Eh..."; + mes "Wanna be a Mage, eh?"; next; mes "[Mage Guildsman]"; - if (Sex) { + if (Sex == 1) { mes "Hey, look at you! You're kinda cute~! Not my type though..."; - }else{ + } + 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) { + switch (select("I want to be a Mage.:Pretty much nothing.")) { + case 1: + if (getskilllv("NV_BASIC") < 9) { + mes "[Mage Guildman]"; + mes "Oh, what a bummer. You haven't met the requirements yet."; + next; + mes "[Mage Guildman]"; + mes "Go back and reach Novice Job level 9 first. Don't forget that you also have to learn all of the Basic Skills before you come back."; + close; + } 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!"; + mes "Okay. Sign right there. Oh, you're very good at spelling."; + mes "So your name is... " + strcharinfo(0) + "."; + next; + mes "[Mage Guildsman]"; + mes "Hmm I can see that you've worked very hard on your own."; + mes "Good! Always sticking to the basics is the best! I will transform you right away."; + next; + mes "[Mage Guildsman]"; + mes "*Ahem*"; + mes "Congratulations!"; + mes "You are now a Mage!"; + next; + skill 143,0,1; + if(Class == Job_Baby){ + jobchange Job_Baby_Mage; + } else { + jobchange Job_Mage; + } + getitem 1639,1; //N_Rod + set Zeny, Zeny + 50; + mes "[Mage Guildsman]"; + mes "'Welcome to My World~'"; + mes "Heh heh, I just wanted to say that. You know, it's a quote from a well-known movie~"; + next; + mes "[Mage Guildsman]"; + mes "Now that you're a Mage just like us, let's be friends, okay?"; 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."; + case 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 "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!"; + if (Sex == 1) { + mes "For a cutie like you, I'd be happy to explain the requirements!"; + } + else { + 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."; + 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."; + mes "In the past, there was a complicated potion mixing test. Because of that hard test, we slowly started to lose aplicants."; + mes "So, we decided to accept all aplicants who have the basic requirements."; next; mes "[Mage Guildsman]"; - mes "Don't hesitate. Just be a magician!"; + mes "Let me know when you are ready to become a Mage, alright?"; close; case 3: mes "[Mage Guildsman]"; @@ -129,3 +153,152 @@ geffen_in,164,124,4 script Mage Guildsman#mage 123,{ } } } + +geffen_in,164,112,4 script Mixing machine 111,{ + mes "- Out of Order !! -"; + close; +} + +pay_arche,122,100,0 script Dollshoi 88,{ + mes "[Mage Guildsman]"; + mes "You want a Solution? Hmm, give me 50 Zeny and at least 1 Empty Test Tube."; + next; + switch (select("Alright, Deal.:Nah, forget it.")) { + case 1: + mes "[Mage Guildsman]"; + if (Zeny < 50) { + mes "Hey! You don't have enough money to cover my 50 Zeny charge."; + close; + } + if (countitem(1092) == 0) { + mes "You can't carry solutions without a bottle! Bring me an Empty Test Tube."; + close; + } + delitem 1092,1; //Empty_Cylinder + set Zeny, Zeny - 50; + getitem 1089,1; //Payon_Potion + close; + case 2: + close; + } +} + +moc_ruins,91,150,0 script Ponka-Hontas 93,{ + mes "[Mage Guildsman]"; + mes "Would you like a Solution? Then please give me 50 Zeny and at least 1 Empty Testtube."; + next; + switch (select("Alright, Deal.:Nah, forget it.")) { + case 1: + mes "[Mage Guildsman]"; + if (Zeny < 50) { + mes "I'm sorry, but you don't have enough money to cover the 50 Zeny fee."; + close; + } + if (countitem(1092) == 0) { + mes "You can't carry liquids without using a bottle. Bring an Empty Test Tube the next time you see me."; + close; + } + delitem 1092,1; //Empty_Cylinder + set Zeny, Zeny - 50; + getitem 1088,1; //Morocc_Potion + close; + case 2: + close; + } +} + +geffen_in,177,112,4 script Bookshelf 111,{ + mes "[Guide Book]"; + mes "This Guide Book is the property of the Geffen Mage Association. Please handle with care."; + next; + switch (select("Solution No. 1.:Solution No. 2.:Solution No. 3.:Solution No. 4.:Close.")) { + case 1: + mes "[Mage Test Solution No. 1]"; + mes "* Ingredients List *"; + mes "2 Jellopy"; + mes "3 Fluff"; + mes "1 Milk"; + next; + mes "[Mage Test Solution No. 1]"; + mes "* Solvent Agent *"; + mes "Payon Solution"; + mes "Where to Find:"; + mes "A small spring in Payon, the Archer Village."; + next; + mes "[Mage Test Solution No. 1]"; + mes "* Magic Power Serial Code *"; + mes "8472"; + next; + mes "[Mage Test Solution No. 1]"; + mes "* Catalyst *"; + mes "Yellow Gemstone"; + mes "(Provided by"; + mes "Mixing Machine)"; + close; + case 2: + mes "[Mage Test Solution No. 2]"; + mes "* Ingredients List *"; + mes "3 Jellopy"; + mes "1 Fluff"; + mes "1 Milk"; + next; + mes "[Mage Test Solution No. 2]"; + mes "* Solvent Agent *"; + mes "None"; + next; + mes "[Mage Test Solution No. 2]"; + mes "* Magic Power Serial Code *"; + mes "3735"; + next; + mes "[Mage Test Solution No. 2]"; + mes "* Catalyst *"; + mes "Red Gemstone"; + mes "(Provided by"; + mes "Mixing Machine)"; + close; + case 3: + mes "[Mage Test Solution No. 3]"; + mes "* Ingredients List *"; + mes "6 Jellopy"; + mes "1 Fluff"; + next; + mes "[Mage Test Solution No. 3]"; + mes "* Solvent Agent *"; + mes "Payon Solution"; + mes "Where to Find:"; + mes "A small spring in Payon, the Archer Village."; + next; + mes "[Mage Test Solution No. 3]"; + mes "* Magic Power Serial Code *"; + mes "2750"; + next; + mes "[Mage Test Solution No. 3]"; + mes "* Catalyst *"; + mes "Blue Gemstone"; + mes "(Provided by"; + mes "Mixing Machine)"; + close; + case 4: + mes "[Mage Test Solution No. 4]"; + mes "* Ingredients List *"; + mes "2 Jellopy"; + mes "3 Fluff"; + next; + mes "[Mage Test Solution No. 4]"; + mes "* Solvent Agent *"; + mes "Morroc Solution"; + mes "Where to Find:"; + mes "A small spring near entrance of pyramid in Morroc."; + next; + mes "[Mage Test Solution No. 4]"; + mes "* Magic Power Serial Code *"; + mes "5429"; + next; + mes "[Mage Test Solution No. 4]"; + mes "* Catalyst *"; + mes "1 carat Diamond"; + mes "(Provided by"; + mes "Mixing Machine)"; + close; + } +} \ No newline at end of file diff --git a/npc/re/jobs/1-1/merchant.txt b/npc/re/jobs/1-1/merchant.txt index 4b7e091f0..6c9004a76 100644 --- a/npc/re/jobs/1-1/merchant.txt +++ b/npc/re/jobs/1-1/merchant.txt @@ -3,13 +3,14 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.0 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Merchant Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] +//= 1.1 Added Baby job change support. [Masao] //============================================================ alberta_in,53,43,6 script Merchant#mer 86,{ if (Upper == 1) { @@ -36,7 +37,7 @@ alberta_in,53,43,6 script Merchant#mer 86,{ 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; + skill 143,0,1; jobchange Job_Merchant_High; skill 153,1,0; skill 154,1,0; @@ -44,34 +45,22 @@ alberta_in,53,43,6 script Merchant#mer 86,{ 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 "[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?"; + mes "[Chief Mahnsoo]"; + mes "So, what brings you to"; + mes "the Merchant Association?"; + mes "Is there anything"; + mes "I can help you with?"; 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.")) { + switch (select("I want to be a Merchant.:Tell me about Merchants.:Tell me the requirements.:Nope.")) { 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{ + if (Class == Job_Baby || Class == Job_Novice) { mes "[Guildsman Mahnsoo]"; mes "Want to be a merchant? Hmm..."; next; @@ -81,7 +70,7 @@ alberta_in,53,43,6 script Merchant#mer 86,{ next; mes "[Guildsman Mahnsoo]"; mes "Don't you think we need to learn some basic skills although we just deal with money?"; - close; + close2; } mes "[Guildsman Mahnsoo]"; mes "Good, I think you're fully ready for it seeing that your basic skill level is fulfilled."; @@ -89,37 +78,137 @@ alberta_in,53,43,6 script Merchant#mer 86,{ next; mes "[Guildsman Mahnsoo]"; mes "Congratulations on becoming a merchant!"; + next; + skill 143,0,1; + if(Class == Job_Baby){ + jobchange Job_Baby_Merchant; + } else { + jobchange Job_Merchant; + } + set job_merchant_q,0; + set job_merchant_q2,0; + getitem 1381,1; //N_Battle_Axe + mes "[Guildsman Mahnsoo]"; 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~"; + 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; } + if (Class == Job_Baby_Merchant || Class == Job_Merchant || Class == Job_Merchant_High) { + mes "[Chief Mahnsoo]"; + mes "Hello there!"; + mes "How do you like"; + mes "being a Merchant?"; + next; + mes "[Chief Mahnsoo]"; + mes "Having a way with"; + mes "money certainly"; + mes "has its perks,"; + mes "does it not?"; + close; + } + mes "[Chief Mahnsoo]"; + mes "We Merchants hate people who are two faced. It's bad for business."; + next; + mes "[Chief Mahnsoo]"; + mes "People who always try to take advantage of other people by selling things at a ridiculous price just so they can make money that they'll waste are the worst."; + next; + mes "[Chief Mahnsoo]"; + mes "Well, in any case, we only accept Novices for job changes to the Merchant class. But I appreciate your interest in what we do."; + 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."; + mes "[Chief Mahnsoo]"; + mes "Merchant?"; + mes "Well, we basically sell goods to make money. That is the way"; + mes "of the Merchant."; 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?"; + mes "[Chief Mahnsoo]"; + mes "I guess we may not be the best at fighting, and we don't have many special attacks. We've got no healing skills..."; + next; + mes "[Chief Mahnsoo]"; + mes "But we can buy goods at lower prices from NPC shops and sell them at a higher price to other people~"; + next; + mes "[Chief Mahnsoo]"; + mes "Our ultimate attack skill is 'Mammonite.' The strength of Mammonite comes from the anger"; + mes "when we're forced to throw away perfectly good zeny."; + next; + mes "[Chief Mahnsoo]"; + mes "Throwing away zeny like that"; + mes "causes a deadly rage to well up in the heart of any Merchant!"; + mes "Just thinking about it"; + mes "makes my blood boil!"; + next; + mes "[Chief Mahnsoo]"; + mes "Anyway, we can use most"; + mes "weapons except Bows, Rods, and Two-Handed Swords. But we can always sell those."; + next; + mes "[Chief Mahnsoo]"; + mes "Yes..."; + mes "We Merchants generally"; + mes "have money on our minds..."; 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."; + mes "To become a Merchant,"; + mes "although just selling and receiving money is our job,"; + mes "you will need to learn all Basic Skills."; next; mes "[Guildsman Mahnsoo]"; - mes "Well, we used to receive a start-up fee before. Wasn't it hard to make that money?"; + mes "Well, we used to receive a Membership Fee. But was it so 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."; + mes "So recently, we decided to allow any Novice who wants to be a Merchant become one."; + mes "Because staying alive or not, it all rests on your own ability."; close; case 4: close; } } + +alberta_in,28,29,2 script Merchant Guildsman 83,{ + if (job_merchant_q == 0 || job_merchant_q == 1 || job_merchant_q == 2) { + mes "[Union Staff Kay]"; + mes "I am sorry, but we don't make deliveries anymore."; + mes "Didn't Chief Mahnsoo tell you?"; + close; + } + mes "[Union Staff Kay]"; + mes "Ah, we don't make deliveries anymore."; + mes "Too many people cried and kept whining that it's too difficult."; + next; + mes "[Union Staff Kay]"; + mes "Well, maybe we will have a few deliveries later."; + mes "Anyway, I don't have any work now..."; + close; +} + +morocc_in,140,102,4 script Student#mer 86,{ + if (job_merchant_q == 4 || job_merchant_q == 3) { + mes "[Dyer's Student]"; + mes "I am sorry, but the Merchant Guild no longer makes deliveries to us anymore."; + close; + } + mes "[Dyer's Student]"; + mes "Mr. Java Dullihan is the one and only, the best dye maker on the Rune-Midgard continent."; + next; + mes "[Dyer's Student]"; + mes "Aaaand I'm proud to say that I'm his student! Someday, I'll be able to make really beautiful dyes too!"; + next; + mes "[Dyer's Student]"; + mes "Of course, I'm still learning the basics right now, but someday..."; + close; +} + +geffen_in,155,122,4 script Guild Staff 47,{ + if (job_merchant_q == 4 || job_merchant_q == 3) { + mes "[Guild Staff]"; + mes "I am sorry, but the Merchant Guild no longer makes deliveries to us anymore."; + close; + } + mes "[Guild Staff]"; + mes "My package should have arrived by now. Huh. I guess the Merchant Guild might be running a little late..."; + close; +} \ No newline at end of file diff --git a/npc/re/jobs/1-1/swordman.txt b/npc/re/jobs/1-1/swordman.txt index 6942c170b..ff87a1a05 100644 --- a/npc/re/jobs/1-1/swordman.txt +++ b/npc/re/jobs/1-1/swordman.txt @@ -3,98 +3,90 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.0 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Swordman Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] +//= 1.1 Added Baby job change support. [Masao] //============================================================ -izlude_in,74,172,4 script Swordman#swd 119,{ +izlude_in,74,172,4 script Swordman 119,{ if (Upper == 1) { - if (Class == Job_Novice_High && (ADVJOB == Job_Lord_Knight || ADVJOB == Job_Paladin)) { - mes "[Swordman]"; + if ((Class == Job_Novice_High) && (ADVJOB == Job_Lord_Knight || ADVJOB == Job_Paladin)) { + mes "[Swordman Guildsman]"; mes "It..."; mes "Can't be..."; mes "You've been reborn, haven't you?"; next; - mes "[Swordman]"; + mes "[Swordman Guildsman]"; 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 "[Swordman Guildsman]"; mes "Hmm? Ah, you must first master the Basic Skills before you are ready to become a Swordman."; next; - mes "[Swordman]"; + mes "[Swordman Guildsman]"; mes "Come back to me when you have finished learning the Basic Novice Skills."; close; } - mes "[Swordman]"; + mes "[Swordman Guildsman]"; mes "Excellent! Let me promote you to a Swordman right away!"; next; - skill 143,0,0; + skill 143,0,1; jobchange Job_Swordman_High; skill 144,1,0; skill 145,1,0; skill 146,1,0; - mes "[Swordman]"; + mes "[Swordman Guildsman]"; 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 "Hm...?"; + mes "You're a reborn"; + mes "warrior, aren't you?"; + next; + mes "[Swordman Guildsman]"; + 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?"; + mes "Welcome to the"; + mes "Swordman Association!"; + next; + mes "[Swordman Guildsman]"; + mes "So..."; + mes "What business"; + mes "brings you to us?"; next; - switch(select("Tell me about being a Swordman.:I want to be a Swordman.:Nothing.")) { + switch (select("Tell me about being a Swordman.:I want to be a Swordman.:Cancel.")) { case 1: mes "[Swordman Guildsman]"; - mes "So you wish to know more about the mighty Swordman? Okay!"; + mes "So you wish to know more about the mighty Swordman job? Well, then..."; 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!"; + mes "Amongst the First Class jobs, the Swordman is the best melee fighter for three reasons."; + mes "There are 3 reasons why Swordy is the best to approch a fight!"; 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."; + mes "First, Swordman has the benefit of additional HP. Second, Swordman generally have access to a wider selection fo weapons than the other First Class jobs."; 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!"; + mes "And third, most of the Swordman skills are crushing physical attacks! In my opinion, being a 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 (Class == Job_Baby || Class == Job_Novice) { 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."; + mes "I'm sorry to tell you this but to be a Swordman, you must reach at least ^4d4dffJob Level 10^000000."; + mes "and ^4d4dffBasic Skill Level 9^000000."; next; mes "[Swordman Guildsman]"; mes "Want to be a Swordman without having the minimum requirement?"; @@ -105,23 +97,43 @@ izlude_in,74,172,4 script Swordman#swd 119,{ 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) { + switch (select("Yes, I do.:I'll consider it again.")) { + case 1: + mes "[Swordman Guildsman]"; + mes "Congratulations! From now on, you are going to live a Swordman's life!"; + mes "I will transform you right away!"; + next; + skill 143,0,1; + if(Class == Job_Baby){ + jobchange Job_Baby_Swordman; + } else { + jobchange Job_Swordman; + } + set job_sword_q,0; + getitem 13415,1; //N_Falchion + mes "[Swordman Guildsman]"; + mes "Congratulations again for becomming a Swordman and I hope that you participate in many activities for the revival of our guild."; + close; + case 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...."; + mes "Yeah. Careful consideration is needed for choosing a job."; + mes "But I feel sorry... that you'll have to consider it again after all the trials...."; close; } + } + if (Class == Job_Baby_Swordman || Class == Job_Swordman || Class == Job_Swordman) { 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 + mes "You are already an excellent Swordman, aren't you?"; + mes "Just devote yourself to be a great Swordman."; close; } + mes "[Swordman Guildsman]"; + mes "Haha! Oh boy. I'm flattered, but you already have another job! Still, I can't blame you..."; + close; case 3: + mes "[Swordman Guildsman]"; + mes "Ha ha ha!"; + mes "Ah, youth!"; close; } -} +} \ No newline at end of file diff --git a/npc/re/jobs/1-1/thief.txt b/npc/re/jobs/1-1/thief.txt index 8d7e452f3..5c72e51cc 100644 --- a/npc/re/jobs/1-1/thief.txt +++ b/npc/re/jobs/1-1/thief.txt @@ -3,30 +3,31 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.0 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Thief Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] +//= 1.1 Added Baby job change support. [Masao] //============================================================ -moc_prydb1,39,129,2 script Thief Guide#thief 69,{ +moc_prydb1,39,129,2 script Thief Guildsman 69,{ if (Upper == 1) { if (ADVJOB == Job_Assassin_Cross || ADVJOB == Job_Stalker) { if (Class == Job_Novice_High) { - mes "[Thief Guide]"; + mes "[Thief Guildsman]"; 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 "[Thief Guildsman]"; 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 "[Thief Guildsman]"; mes "Take your time and learn all the Basic Skills, will you? Well then, see you later~!"; close; } - mes "[Thief Guide]"; + mes "[Thief Guildsman]"; 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; @@ -35,173 +36,297 @@ moc_prydb1,39,129,2 script Thief Guide#thief 69,{ skill 150,1,0; skill 151,1,0; skill 152,1,0; - mes "[Thief Guide]"; + mes "[Thief Guildsman]"; 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 "[Thief Guildsman]"; + if (Sex == 1) { 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!"; + } else { + mes "Hey, baby~"; + } 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; + if (Sex == 1) { + 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 (Class == Job_Baby_Thief || Class == Job_Thief || Class == Job_Thief_High) { 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."; + mes "Hey~ if you have any trouble, get it out to me anytime, huh?"; close; } - if(Class != Job_Novice) { - if(Class == Job_Thief) { + if ((Class != Job_Baby) && (Class != Job_Novice) && (Class != Job_Baby_Thief) && (Class != Job_Thief)) { + mes "[Thief Guildsman]"; + mes "What the heck...?"; + switch (Class) { + case Job_Swordman: + mes "Huh."; + mes "Now, that's"; + mes "a big sword."; + next; mes "[Thief Guildsman]"; - mes "Hey~ if you have any trouble, get it out to me anytime, huh?"; + mes "So..."; + mes "Trying to make"; + mes "up for something"; + mes "...Buddy?"; close; - }else{ - if(Sex) { + case Job_Mage: + mes "What's a Mage doin' here? Shouldn't you be doing card tricks elsewhere? Oh well, it's a free country..."; + next; + mes "[Thief Guildsman]"; + mes "Oh wait,"; + mes "it's not..."; + mes "Get outta here!"; + close; + case Job_Archer: + mes "Man, shouldn't you"; + mes "Archers be playing"; + mes "in the forest"; + mes "or something?"; + close; + case Job_Merchant: + mes "You're a Merchant,"; + mes "right? Why are you"; + mes "walking into a den"; + mes "of Thieves?!"; + next; + mes "[Thief Guildsman]"; + mes "It's like you're begging"; + mes "us to steal from you!"; + mes "Come on, hurry and"; + mes "get outta here~"; + close; + case Job_Acolyte: + mes "You know we all steal for a living, right? What are you doing in this kinda place, Acolyte?"; + close; + case Job_Assassin: + mes "Didn't you use to be one of us?! Man, you changed. You seem real dangerous now..."; + close; + close; + case Job_Rogue: + mes "Man, you got real cool all of a sudden! You must have some skills I can only dream of!"; + close; + close; + case Job_Priest: + mes "Oh my God..."; + mes "Am I dying?"; + next; + mes "[Thief Guildsman]"; + mes "Why else would a Priest come here? I guess I better start confessing all of my misdeeds."; + close; + } + next; + if (Sex == 1) { + 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 (Class == Job_Baby || Class == Job_Novice) { + mes "[Thief Guildsman]"; + if (Sex == 1) { + mes "Ehh... Seems like a beloved son of a rich family, but why are you here in this dirty place?"; + } + else { + mes "Ehh... Seems like a beloved daughter of a rich family, but why are you here in this dirty place?"; + } + next; + switch (select("I want to be a Thief.:Nothing.")) { + case 1: + if (job_thief_q == 0) { mes "[Thief Guildsman]"; - mes "What the heck...?"; - mes "Huh.. you are a "+jobname(Class)+" blockhead...!"; + mes "Well, are you that proud of it? 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 "Hey, brother."; - mes "Why are you here? Go back to your place~ go back~~"; - close; - }else{ + mes "Do you want to be a thief so badly?"; + next; + switch (select("Yes.:No.:How about you?")) { + case 1: + mes "[Thief Guildsman]"; + mes "Well, are you that proud of it? 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; + 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 "What the heck...?"; + mes "Anyway, in the outside world, never say that you want to be a Thief!!"; next; mes "[Thief Guildsman]"; - mes "Hey, lady."; - mes "Why are you here? Go back to your place~ go back~~"; + mes "So, do you want to apply for being a Thief?"; + next; + switch (select("Yes, I do.:No.")) { + case 1: + mes "[Thief Guildsman]"; + mes "Alright, tell me your name. Huh? What?"; + mes "" + strcharinfo(0) + ". " + 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? So go and reach at least Basic Skill Level 9."; + close; + } + mes "[Thief Guildsman]"; + mes "Alright. I looked at your Felony Record, and you seem to have a very interesting history. You might have what it takes to be a Thief."; + mes "" + strcharinfo(0) + ". I now decree that you have passed this interview. Good work!"; + set job_thief_q,1; + 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."; + close; + case 2: + mes "[Thief Guildsman]"; + mes "Well... do what you want to do~ Go your way~"; + close; + } + } + if (job_thief_q == 1) { + 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; } + mes "[Thief Guildsman]"; + mes "Oh, before I let you go... ...did you take any mushrooms?"; + mes "... ...It was a joke."; + mes "You don't need to do a test, and if you want to jobchange, you can do it directly."; + next; + mes "[Thief Guildsman]"; + mes "In short it was just a joke."; + mes "Ha ha ha ha ha!!"; + close; + case 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 "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..?"; +} + +moc_prydb1,42,133,2 script Comrade 118,{ + if (Class == Job_Baby_Thief || Class == Job_Thief || Class == Job_Thief_High) { + mes "[Brad]"; + mes "I don't have any special events now. So go on your way and come back later."; 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."; + if ((Class != Job_Baby) && (Class != Job_Novice) && (Class != Job_Baby_Thief) && (Class != Job_Thief)) { + mes "[Comrade]"; + mes "Um..."; + mes "You don't look"; + mes "like a Thief."; 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~"; + mes "[Comrade]"; + mes "What the heck are"; + mes "you doing here anyway?"; 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."; + if (job_thief_q == 0) { + mes "[Comrade]"; + mes "What's the matter? If you want to be a Thief, speak to the woman beside me."; 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) { + if (job_thief_q == 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 + mes "[Leader of Thief Guild 'E']"; + mes "" + strcharinfo(0) + "..."; + mes "'For those who are ready, the moonlight shall open the way. You are now one of us.'"; + skill 143,0,1; + if(Class == Job_Baby){ + jobchange Job_Baby_Thief; + } else { + jobchange Job_Thief; + } + getitem 13041,1; //N_Main_Gauche + erasequest 1013; 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.'"; + mes "[Leader of Thief Guild 'E']"; + mes "'Congratulations on becoming a Thief!'"; + mes "'From now, be an honorable representative of the Thief's Guild.'"; + mes "'If you bring disgrace to our guild, you will be killed.'"; + 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 "*Ahem* Welcome to the Guild, comrade!"; + mes "I'm Brad, and 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."; + mes "Okay, I've done what I can do to you, so go on your way. I'm a quite busy man."; + mes "Alright then, I'll see you around~"; 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~"; +} + +moc_ruins,141,125,3 script Mr. Irrelevant 83,{ + if (Class == Job_Baby_Thief || Class == Job_Thief) { + mes "[Mr. Irrelevant]"; + mes "Ah, I see that you are now a Thief. I always knew you'd join us."; + next; + mes "[Mr. Irrelevant]"; + mes "Why don't you leave this place?"; + close; + } + if ((Class != Job_Baby) && (Class != Job_Novice) && (Class != Job_Baby_Thief) && (Class != Job_Thief)) { + set .@rand,rand(1,5); + switch(.@rand){ + mes "[Mr. Irrelevant]"; + case 1: + mes "Today looks like a good day to go to the pyramids and hunt with some of my friends."; + close; + case 2: + mes "I could use a good, hard drink."; + close; + case 3: + mes "Gimme your money."; + next; + mes "[Mr. Irrelevant]"; + mes "Kidding, I'm off the clock."; + close; + case 4: + mes "WHO YOU CALLING A PSYCHO?!?!"; + close; + case 5: + mes "I've got nothing to say to you. Would you mind leaving me alone?"; + close; } + } + if (job_thief_q == 1) { + mes "[Mr. Irrelevant]"; + mes "There is this strange smell coming from... You. Now why would that be?"; 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."; + mes "[Mr. Irrelevant]"; + mes "Hey Novice! Why don't you join the ranks of the Thief Guild? You newbies are always welcome to join us and our selfish cause."; + next; + mes "[Mr. Irrelevant]"; + mes "You can get more information in the Underground Room in the Pyramid 1 BF."; close; } diff --git a/npc/re/jobs/2-1/assassin.txt b/npc/re/jobs/2-1/assassin.txt index 7f8febe58..aeee0b111 100644 --- a/npc/re/jobs/2-1/assassin.txt +++ b/npc/re/jobs/2-1/assassin.txt @@ -1,56 +1,20 @@ //===== rAthena Script ======================================= -//= Assassin Job Quest +// Assassin Job change Quest //===== By: ================================================== -//= kobra_k88 +//= Masao +//= Credits: Muad_Dib //===== Current Version: ===================================== -//= 3.5 +//= 1.0 //===== Compatible With: ===================================== -//= rAthena SVN +//= Any rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job Change quest for Assassin class. +//= [Translated from the Official] +//= Job change Quest from Thief -> Assassin. //===== 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] +//= 1.0 Updated to latest available official file. [Masao] //============================================================ -in_moc_16,19,33,1 script Guildsman#asn 55,{ +in_moc_16,19,33,1 script Guildsman 55,{ if (Upper == 1) { mes "[Ferocious-looking guy]"; mes "Hm? You....?"; @@ -60,12 +24,12 @@ in_moc_16,19,33,1 script Guildsman#asn 55,{ 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) { + if (SkillPoint != 0) { 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) { + if (ASN_Q == 4) { mes "[Ferocious-looking guy]"; mes "Oh, stop making that face. Can you really be in that much pain?"; next; @@ -77,30 +41,37 @@ in_moc_16,19,33,1 script Guildsman#asn 55,{ 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) { + switch (select("I will become an Assassin no matter what!:Oh man, I gotta take a break.")) { + case 1: mes "[Ferocious-looking guy]"; mes "Oh..."; mes "Well then,"; mes "go for it!"; close2; - set ASSIN_Q,0; + set ASN_Q,0; warp "in_moc_16",19,76; end; + case 2: + 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 ASN_Q,0; + set thief_joblvl,0; + set asn_skill,0; + erasequest 8000; + erasequest 8001; + erasequest 8002; + erasequest 8003; + erasequest 8004; + savepoint "in_moc_16",18,14; + warp "in_moc_16",18,14; + 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) { + if ((Class == Job_Baby_Thief || Class == Job_Thief) && (countitem(1008) == 0) && (ASN_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; @@ -111,7 +82,7 @@ in_moc_16,19,33,1 script Guildsman#asn 55,{ 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) { + if ((Class == Job_Baby_Thief || Class == Job_Thief) && (countitem(1008) > 0) && (ASN_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; @@ -126,19 +97,22 @@ in_moc_16,19,33,1 script Guildsman#asn 55,{ mes "......"; next; delitem 1008,1; //Frozen_Heart - changequest 8007,8008; mes "[Assassin Expert 'Huey']"; mes "Alright!"; mes "You've been approved!"; next; + if(Class == Job_Baby_Thief){ + jobchange Job_Baby_Assassin; + } else { + jobchange Job_Assassin; + } + changequest 8007,8008; 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) { + if ((countitem(1008) > 0) && (Class == Job_Baby_Thief || Class == Job_Thief) && (ASN_Q < 7)) { mes "[Ferocious-looking guy]"; mes "Eh?"; mes "What do you want?"; @@ -163,138 +137,128 @@ in_moc_16,19,33,1 script Guildsman#asn 55,{ 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 (Class == Job_Baby || Class == 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; + } + if (Class == Job_Swordman || Class == Job_Knight || Class == Job_Crusader) { + 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; + } + if (Class == Job_Mage || Class == Job_Wizard || Class == Job_Sage) { mes "[Ferocious-looking guy]"; - mes "What brings you here?"; - mes "I don't think I like the way you're looking at me... Punk."; + mes "Now what would a magic user be doing here?"; 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 "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; + } + if (Class == Job_Archer || Class == Job_Hunter || Class == Job_Bard || Class == Job_Dancer) { + 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; + } + if (Class == Job_Acolyte || Class == Job_Priest || Class == Job_Monk) { + 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; + } + if (Class == Job_Merchant || Class == Job_Blacksmith || Class == Job_Alchemist) { + mes "[Ferocious-looking guy]"; + mes "We don't like greedy people around these parts. You better sell your stuff somewhere else, Moneybags."; + close; + } + if (Class == 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; + } + if (Class == Job_Baby_Assassin || Class == 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; + } + if ((Classe == Job_Baby_Thief || Class == Job_Thief) && (JobLevel > 39)) { + if (SkillPoint != 0) { mes "[Ferocious-looking guy]"; - mes "We don't like greedy people around these parts. You better sell your stuff somewhere else, Moneybags."; + 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 if (BaseJob == Job_Rogue) { + 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 "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 "It's been a while since I've received a guest. I'm sending"; + mes "you to the office."; + close2; + set ASN_Q,0; + warp "in_moc_16",19,76; + end; + case 2: mes "[Ferocious-looking guy]"; - mes "By the way..."; - mes "Have you ever seen"; - mes "a girl named Markie?"; + 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 "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."; + 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; - } - 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; + case 3: 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."; + mes "Hmm..."; + mes "Alright then."; + mes "But come back when"; + mes "you think you're ready."; close; } } + 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; + 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."; @@ -302,7 +266,7 @@ in_moc_16,25,90,1 script Guildsman#ASN2 730,2,2,{ close; OnTouch: - if (ASSIN_Q2 == 4) { + if (asn_skill == 4) { mes "[Assassin 'Khai']"; mes "Ehhh?"; mes "Didn't you just"; @@ -328,7 +292,7 @@ OnTouch: 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!")) { + 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!!!"; @@ -382,14 +346,15 @@ OnTouch: close; case 2: mes "[Assassin 'Khai']"; - if (sex) { + if (Sex == 1) { 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 + 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..."; @@ -411,6 +376,7 @@ OnTouch: mes "seem depressing to you?"; close; case 3: + set .@assassin_quiz,rand(1,3); mes "[Assassin 'Khai']"; mes "...Hm."; next; @@ -425,12 +391,12 @@ OnTouch: 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) { + switch (select("...Got you.:...I'm confused.")) { + case 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: + if (.@assassin_quiz == 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; @@ -446,8 +412,8 @@ OnTouch: 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: + } + if (.@assassin_quiz == 2) { mes "[Assassin 'Khai']"; mes "'Sharpened Legbone of Ghoul' possesses the Undead property."; next; @@ -470,8 +436,8 @@ OnTouch: mes "[Assassin 'Khai']"; mes "You know elemental weapons? The names of Blacksmiths are engraved on them usually..."; next; - break; - case 3: + } + else { 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; @@ -508,104 +474,107 @@ OnTouch: close2; warp "in_moc_16",19,144; end; + case 2: + 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; } + } + } + mes "[Assassin 'Khai']"; + mes "Oh, you must be an Assassin trainee. You are here to become"; + mes "an Assassin, aren't you?"; + next; + switch (select("Yes, I am. :...No, I'm not.")) { + case 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 "^666666*Sigh...*^000000"; - mes "How can you not understand the concept of dignity? You just showed some to me just now!"; + mes "Wait, Job level " + JobLevel + "?! I can see you've been training pretty hard! My bosses will like this~"; next; mes "[Assassin 'Khai']"; - mes "Oh, I get it. It wasn't pride you were showing, you were just being a jerk!"; + 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 "Grrrrr..."; - mes "WARP PORTAL!"; + mes "Alright then,"; + mes "best of luck to you!"; close2; - warp "c_tower4",64,76; + set thief_joblvl,1; + set ASN_Q,1; + setquest 8001; + warp "in_moc_16",19,144; 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) { + if (JobLevel < 49) { mes "[Assassin 'Khai']"; - mes "Okay, good. Let's fill out the application form. Please sign your name and include your job level."; + mes "Well, you passed"; + mes "the requirements."; + mes "Not bad at all."; next; mes "[Assassin 'Khai']"; - mes "Let's see."; - mes "Your name is"; - mes "" + strcharinfo(0) + "..."; - mes "Job level " + JobLevel + "..."; + mes "Go ahead and give"; + mes "me the form when you're"; + mes "done filling it out."; + mes "Alright, thanks."; 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; - } + mes "[Assassin 'Khai']"; + mes "I'll transport you"; + mes "to the Test Hall."; + mes "Best of luck~"; + close2; + set thief_joblvl,2; + set ASN_Q,1; + setquest 8001; + 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; + case 2: + mes "[Assassin 'Khai']"; + mes "Huh...?"; + mes "What, are you trying to trick me or something? Don't you wanna be an Assassin?"; + next; + switch (select("No.:Yes, I want to be an Assassin.")) { + case 1: 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 "Eh, get outta here."; + mes "Stop wastin' my time..."; + close2; + set ASN_Q,0; + set thief_joblvl,0; + set asn_skill, 0; + erasequest 8000; + erasequest 8001; + erasequest 8002; + erasequest 8003; + erasequest 8004; + warp "moc_fild16",206,229; + end; + case 2: mes "[Assassin 'Khai']"; mes "..."; mes "What the hell?"; @@ -627,13 +596,13 @@ OnTouch: 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; + set thief_joblvl,1; + set ASN_Q,1; + setquest 8001; warp "in_moc_16",19,144; end; } - else if (JobLevel < 49) { + 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; @@ -641,53 +610,52 @@ OnTouch: 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; + set thief_joblvl,2; + set ASN_Q,1; + setquest 8001; 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; - } + 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,{ +in_moc_16,19,154,0 script nameless_one 139,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; + if (asn_skill < 1) { + 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; + switch (select("I think I crapped my pants!:You're all talk. I challenge you!")) { + case 1: mes "[The Anonymous One]"; - mes "I am perfectly hidden!"; - mes "To become undetectable can only be done by the greatest Assassins!"; + mes "Now I see that"; + mes "you're nothing"; + mes "but a wimp."; 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 "Bwahahahahahah!"; + mes "Stop cowering in fear!"; + mes "It's making me laugh!"; + close; + case 2: mes "[The Anonymous One]"; mes "So..."; mes "You wish for"; @@ -708,434 +676,1132 @@ OnTouch: 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) { + set asn_skill,0; + while (1) { + switch (select("...Skills?:...Stats?:Hmpf, I know it all.")) { + case 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 "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 asn_skill,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 asn_skill,2; + next; + break; + case 3: + if (asn_skill == 0) { + mes "[The Anonymous One]"; + mes "Know everything do you?!"; + mes "I'll be the judge of that!"; + set asn_skill,4; + changequest 8001,8002; + next; + break; + } + else { + set asn_skill,4; + changequest 8001,8002; + break; + } + break; } - 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."; } + 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; - switch(rand(1,3)) { - case 1: + 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; + set .@assassin_quiz,rand(1,3); + set @assassin_t, 0; + mes "[The Anonymous One]"; + mes "Are you ready?"; + mes "Prepare yourself!"; + next; + if (.@assassin_quiz == 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; + switch (select("Cloaking level 2:Sonic Blow level 5:Katar Mastery level 4:Right hand Mastery level 2")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } 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; + switch (select("Poison:Earth:Fire:Wind")) { + case 1: + set @assassin_t,@assassin_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Recover 80% of damage decrease:Recover 90% of damage decrease:Increase 90% of damage:Increase 108% of damage")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Red Blood:Blue Gemstone:Yellow Gemstone:Red Gemstone")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } 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; + switch (select("Envenom:Sonic Blow:Venom Splasher:Venom Dust")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } 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; + switch (select("Hiding:Back Slide:Cloaking:Sand Attack")) { + case 1: + break; + case 2: + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + break; + } 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; + switch (select("Poisoned target.:Red Gemstone.:Remaing HP of Target.")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + } 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; + switch (select("Steel Chonchon:Deviruchi:Elder Willow:Baphomet")) { + case 1: + break; + case 2: + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + break; + } 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; + switch (select("15:It's a passive skill, so SP use is 0.:It's passive skill, so SP use is 10.:54")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } 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: + switch (select("Wind Main Gauche:Ice Main Gauche:Earth Main Gauche:Fire Main Gauche")) { + case 1: + set @assassin_t,@assassin_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + } + if (.@assassin_quiz == 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; + switch (select("Thief Bug:Peco Peco:Desert Wolf:Hammer Cobolt")) { + case 1: + break; + case 2: + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + break; + } 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; + switch (select("Martin:Desert Wolf:Marionette:Myst")) { + case 1: + set @assassin_t,@assassin_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Merchant:Blacksmith:Thief:Priest")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Jamadhar:Jur:Katar:Gladius")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } 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; + switch (select("Water:Fire:Wind:Earth")) { + case 1: + set @assassin_t,@assassin_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Poporing:Roda Frog:Smokie:Poison Spore")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Dagger Goblin:Mace Goblin:Morning Star Goblin:Hammer Goblin")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } + mes "[The Anonymous One]"; + mes "8. Choose the non-elemental Katar from the following:"; + next; + switch (select("Katar of Raging Blaze:Katar of Dusty Thornbush:Sharpened Legbone of Ghoul:Infiltrator")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } + mes "[The Anonymous One]"; + mes "9. Which is the uncommon monster?"; + next; + switch (select("Poring:Mastering:Ghostring:Spore")) { + case 1: + break; + case 2: + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "10. Choose the monster"; + mes "that is not Undead."; + next; + switch (select("Drake:Megalodon:Spore:Khalitzburg")) { + case 1: + break; + case 2: + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + break; + } + } + else { + 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; + switch (select("30:40:160:20")) { + case 1: + set @assassin_t,@assassin_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "2. Choose a monster which detects hiding/cloaking Thieves and Assassins."; + next; + switch (select("Worm Tail:Andre:Mummy:Soldier Skeleton")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "3. Choose a group of weapons that cannot be used by an Assassin at once."; + next; + switch (select("Main Gaughe + Gladius:Stiletto + Main Gauche:Katar + Maingauche:Hammer + Stiletto")) { + case 1: + break; + case 2: + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "4. Choose the town where Thieves can change their jobs."; + next; + switch (select("Prontera:Lutie:Alberta:Morroc")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } + mes "[The Anonymous One]"; + mes "5. Choose a card that does not affect the AGI stat."; + next; + switch (select("Baphomet Jr. card:Whisper Card:Female Thiefbug card:Male Thiefbug card")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "6. Choose the correct specialty of the Assassin class."; + next; + switch (select("Excellent singing talent:Excellent reading talent:Excellent dancing talent:Excellent dodge ability")) { + case 1: + set @assassin_t,@assassin_t + 10; + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } + mes "[The Anonymous One]"; + mes "7. Choose the maximum AGI bonus an Assassin can get at job level 50."; + next; + switch (select("7:8:9:10")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } + mes "[The Anonymous One]"; + mes "8. Choose the item that an Assassin cannot equip."; + next; + switch (select("Dagger:Helm:Boots:Brooch")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } + 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: + set @assassin_t,@assassin_t + 10; + break; + case 2: + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "10. Choose a card that would typically benefit an Assassin the least."; + next; + switch (select("Whisper Card:Elder Willow Card:Soldier Skeleton Card:Cobold Card")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } + } + 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 asn_skill,5; + 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; + } + set asn_skill,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; + } + if (asn_skill < 5) { + mes "[The Anonymous One]"; + mes "Having problems"; + mes "passing a simple test?"; + mes "You should have"; + mes "known better."; + next; + switch (select("Help me, how do I pass?:I challenge you again!")) { + case 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,241; + end; + case 2: + 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; + set @assassin_quiz,rand(1,3); + set @assassin_t, 0; + mes "[The Anonymous One]"; + mes "Okay,"; + mes "are you ready?"; + mes "Good luck."; + next; + if (.@assassin_quiz == 1) { + mes "[The Anonymous One]"; + mes "1. Choose the skill that is not required to learn Grimtooth."; + next; + switch (select("Level 2 Cloaking:Level 5 Sonic Blow:Level 4 Katar Mastery:Level 2 Right hand Mastery")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } + mes "[The Anonymous One]"; + mes "2. What property does Enchant Poison possess?"; + next; + switch (select("Poison:Earth:Fire:Wind")) { + case 1: + set @assassin_t,@assassin_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "3. How does Level 4 'Right hand Mastery' work?"; + next; + switch (select("Recover 80% of damage decrement:Recover 90% of damage decrement:Increase 90% of damage:Increase 108% of damage!!")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "4. What is the item required for using Venom Dust?"; + next; + switch (select("Red Blood:Blue Gemstone:Yellow Gemstone:Red Gemstone")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } + mes "[The Anonymous One]"; + mes "5. Which skill can you learn when you reach Level 5 Enchant Poison?"; + next; + switch (select("Envenom:Sonic Blow:Venom Splasher:Venom Dust")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } + mes "[The Anonymous One]"; + mes "6. Among the following skills, which allows you to become invisible while moving?"; + next; + switch (select("Hiding:Back Slide:Cloaking:Sand Attack")) { + case 1: + break; + case 2: + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "7. From the following, choose the thing unrelated to using Venom Splasher."; + next; + switch (select("Poisoned target.:Red Gemstone.:Remaining HP of Target.")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + } + mes "[The Anonymous One]"; + mes "8. Which monster is weak to a weapon with Vadon card (adds 20% damage on Fire monster)?"; + next; + switch (select("Steel Chonchon:Deviruchi:Elder Willow:Baphomet")) { + case 1: + break; + case 2: + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "9. How much SP does"; + mes "Double Attack use?"; + next; + switch (select("15:It's a passive skill and doesn't use SP.:It's a passive skill, so it uses 10 SP.:54")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "10. What is the best elemental Main Gauche to use when hunting in Izlude dungeon?"; + next; + switch (select("Wind Main Gauche:Ice Main Gauche:Earth Main Gauche:Fire Main Gauche")) { + case 1: + set @assassin_t,@assassin_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + } + if (.@assassin_quiz == 2) { + mes "[The Anonymous One]"; + mes "1. Which monster drops"; + mes "a slotted Katar?"; + next; + switch (select("Thief Bug:Peco Peco:Desert Wolf:Hammer Cobold")) { + case 1: + break; + case 2: + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "2. Which monster"; + mes "a slotted Jur?"; + next; + switch (select("Martin:Desert Wolf:Marionette:Myst")) { + case 1: + set @assassin_t,@assassin_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "3. Which class is allowed to craft elemental weapons?"; + next; + switch (select("Merchant:Blacksmith:Thief:Priest")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "4. Choose a weapon which is not Katar class."; + next; + switch (select("Jamadhar:Jur:Katar:Gladius")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } + mes "[The Anonymous One]"; + mes "5. What property do Izlude dungeon monsters possess?"; + next; + switch (select("Water:Fire:Wind:Earth")) { + case 1: + set @assassin_t,@assassin_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "6. Which monster"; + mes "cannot be a Cute Pet?"; + next; + switch (select("Poporing:Roda Frog:Smokie:Poison Spore")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[The Anonymous One]"; + mes "7. Choose a monster that Fire property daggers work the best on."; + next; + switch (select("Dagger Goblin:Mace Goblin:Morning Star Goblin:Hammer Goblin")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } mes "[The Anonymous One]"; - mes "8. Choose the non-elemental Katar from the following:"; + mes "8. Choose the non-elemental Katar."; next; - if (select("Katar of Raging Blaze:Katar of Dusty Thornbush:Sharpened Legbone of Ghoul:Infiltrator") == 4) - set .@assassin_t,.@assassin_t+10; + switch (select("Katar of Raging Blaze:Katar of Dusty Thornbush:Sharpened Legbone of Ghoul:Infiltrator")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } 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; + switch (select("Poring:Mastering:Ghostring:Spore")) { + case 1: + break; + case 2: + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + break; + } 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: + switch (select("Drake:Megalodon:Spore:Khalitzburg")) { + case 1: + break; + case 2: + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + break; + } + } + else { 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."; + mes "1. When the 'Increase Dodge' skill is at Level 10, by how much is the maximum dodge rate increased?"; next; - if (select("30:40:160:20") == 1) - set .@assassin_t,.@assassin_t+10; + switch (select("30:40:160:20")) { + case 1: + set @assassin_t,@assassin_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } mes "[The Anonymous One]"; - mes "2. Choose a monster which detects hiding/cloaking Thieves and Assassins."; + mes "2. Choose the monster which detects hiding/cloaking Thief/Assassin."; next; - if (select("Worm Tail:Andre:Mummy:Soldier Skeleton") == 2) - set .@assassin_t,.@assassin_t+10; + switch (select("Worm Tail:Andre:Mummy:Soldier Skeleton")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } mes "[The Anonymous One]"; - mes "3. Choose a group of weapons that cannot be used by an Assassin at once."; + mes "3. Choose the group of weapons that cannot be used by an Assassin at the same time."; next; - if (select("Main Gaughe + Gladius:Stiletto + Main Gauche:Katar + Maingauche:Hammer + Stiletto") == 3) - set .@assassin_t,.@assassin_t+10; + switch (select("Main Gaughe + Gladius:Stiletto + Main Gauche:Katar + Maingauche:Hammer + Stiletto")) { + case 1: + break; + case 2: + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + break; + } mes "[The Anonymous One]"; - mes "4. Choose the town where Thieves can change their jobs."; + mes "4. Choose the town where the Thief job change resides."; next; - if (select("Prontera:Lutie:Alberta:Morocc") == 4) - set .@assassin_t,.@assassin_t+10; + switch (select("Prontera:Lutie:Alberta:Morroc")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } mes "[The Anonymous One]"; - mes "5. Choose a card that does not affect the AGI stat."; + mes "5. Choose the 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; + switch (select("Baphomet Jr. card:Whisper Card:Female Thiefbug card:Male Thiefbug card")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } mes "[The Anonymous One]"; - mes "6. Choose the correct specialty of the Assassin class."; + mes "6. Choose the specialty that applies to Assassins."; next; - if (select("Excellent singing talent:Excellent reading talent:Excellent dancing talent:Excellent dodge ability") == 4) - set .@assassin_t,.@assassin_t+10; + switch (select("Excellent singing talent:Excellent acting talent:Excellent dancing talent:Excellent dodge ability")) { + case 1: + set @assassin_t,@assassin_t + 10; + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + set @assassin_t,@assassin_t + 10; + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } mes "[The Anonymous One]"; - mes "7. Choose the maximum AGI bonus an Assassin can get at job level 50."; + mes "7. Choose the maximum AGI bonus that an Assassin can get at job level 50."; next; - if (select("7:8:9:10") == 4) - set .@assassin_t,.@assassin_t+10; + switch (select("7:8:9:10")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @assassin_t,@assassin_t + 10; + break; + } 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; + switch (select("Dagger:Helm:Boots:Brooch")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; + } mes "[The Anonymous One]"; - mes "9. Choose the job change item for Thief."; + mes "9. Choose the"; + mes "job change item"; + mes "for a Thief."; next; - switch(select("Orange Gooey Mushroom:Red Gooey Mushroom:Orange Net Mushroom:Orange Hair Mushroom")) { + switch (select("Orange Gooey Mushroom:Red Gooey Mushroom:Orange Net Mushroom:Orange Hair Mushroom")) { case 1: + set @assassin_t,@assassin_t + 10; + break; + case 2: + break; case 3: - set .@assassin_t,.@assassin_t+10; + set @assassin_t,@assassin_t + 10; break; - default: + case 4: break; } mes "[The Anonymous One]"; - mes "10. Choose a card that would typically benefit an Assassin the least."; + mes "10. Choose a card that would benefit Assassins the least."; next; - if (select("Whisper card:Elder Willow card:Soldier Skeleton card:Cobold card") == 2) - set .@assassin_t,.@assassin_t+10; + switch (select("Whisper card:Elder Willow card:Soldier Skeleton card:Cobold card")) { + case 1: 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; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; } } - else if (ASSIN_Q2 == 4) { - next; - mes "[The Anonymous One]"; - mes "You showed"; - mes "great effort..."; + 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 asn_skill,5; 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; - } + 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 asn_skill,4; + mes "You failed!"; + next; mes "[The Anonymous One]"; - mes "...I will keep watching you."; - close; + 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; } + 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"; + hideonnpc "Standby Room#ASNTEST"; waitingroom "Standby Room",10,"Standby Room#ASNTEST::OnStartArena",1; enablewaitingroomevent; end; OnStartArena: - warpwaitingpc "in_moc_16", 66, 151; + warpwaitingpc "in_moc_16",66,151; attachrid($@warpwaitingpc[0]); - if(ASSIN_Q2<5) - { + if(ASSIN_Q2<5) { warpchar "in_moc_16",20,145,getcharid(0); end; } - donpcevent "Beholder#ASNTEST::OnEnable"; + donpcevent "Beholder#ASNTEST2::OnEnable"; donpcevent "Keeper of the Door#ASN::OnDisable"; - set getvariableofnpc(.DisableTraps,"Beholder#ASNTEST"),0; - disablewaitingroomevent; + donpcevent "backers#ASN::OnDisable"; + donpcevent "traps#ASN::OnEnable"; + disablewaitingroomevent end; -OnStart: +OnReset: enablewaitingroomevent; end; } in_moc_16,21,165,2 script Test Guide#ASN 725,4,4,{ - end; OnTouch: - if (ASSIN_Q2 < 5) { + if (asn_skill < 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) { + if ((ASN_Q == 1) && (asn_skill == 5)) { mes "[Barcardi]"; mes "" + strcharinfo(0) + "..."; mes "You passed the test..?"; @@ -1168,124 +1834,92 @@ OnTouch: 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."; + changequest 8002,8003; close; } - else { - mes "[Barcardi]"; - mes "Hey, don't be too hard"; - mes "on yourself. Cheer up!"; - next; + 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; + switch (select("Continue!:Quit the job change test for now.")) { + case 1: 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 "Good choice!"; + mes "Remember, you"; + mes "must find and kill"; + mes "6 ^008800Job change target^000000 monsters!"; + mes "Good luck!"; + close; + case 2: 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; + set ASN_Q,0; + set thief_joblvl,0; + set asn_skill,0; warp "in_moc_16",19,13; + erasequest 8000; + erasequest 8001; + erasequest 8002; + erasequest 8003; + erasequest 8004; end; } } -in_moc_16,1,1,0 script Beholder#ASNTEST -1,{ +in_moc_16,1,1,0 script Beholder#ASNTEST 139,{ + end; + +OnInit: + hideonnpc "Beholder#ASNTEST"; end; OnEnable: - set .MyMobs,6; - // Target mobs + hideoffnpc "Beholder#ASNTEST"; 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"; + donpcevent "Standby Room#ASNTEST::OnReset"; 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) { + if (mobcount ("in_moc_16","Beholder#ASNTEST::OnMyMobDead") < 1) { mapannounce "in_moc_16","You seem to be doing quite well. Keep it up!",bc_map; - set ASSIN_Q,3; - changequest 8003,8004; + set ASN_Q,3; donpcevent "timestopper#1::OnEnable"; donpcevent "Keeper of the Door#ASN::OnEnable"; donpcevent "Beholder#ASNTEST::OnResetmob"; - set .DisableTraps,1; + donpcevent "Beholder#ASNTEST2::OnReset"; stopnpctimer; + donpcevent "Beholder#ASNTEST::OnDisable"; + donpcevent "Beholder#ASNTEST2::OnDisable"; } 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"; +OnDisable: + hideonnpc "Beholder#ASNTEST"; end; OnTimer1000: @@ -1300,206 +1934,481 @@ 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; +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; + end; + +OnTimer185500: + mapannounce "in_moc_16","Well, good job... If you wanted to waste your time. You'll have to try again!",bc_map; + set ASN_Q,2; + end; + +OnTimer186000: + donpcevent "backers#ASN::OnEnable"; + end; + +OnTimer186500: + donpcevent "backers#ASN::OnDisable"; + end; + +OnTimer187000: + donpcevent "Beholder#ASNTEST::OnReset"; + donpcevent "Beholder#ASNTEST2::OnReset"; + donpcevent "Beholder#ASNTEST::OnDisable"; + donpcevent "Beholder#ASNTEST2::OnDisable"; + end; +} + +in_moc_16,76,158,0 script backers#ASN 139,20,20,{ -OnTimer5000: - mapannounce "in_moc_16","Ok, now you've got exactly 3 minutes. Move! Move!",bc_map; +OnTouch: + warp "in_moc_16",19,161; end; -OnTimer65000: - mapannounce "in_moc_16","2 minutes left. As I've told you, get the 'Job change target' monsters!",bc_map; +OnInit: + hideonnpc "backers#ASN"; end; -OnTimer125000: - mapannounce "in_moc_16","1 minute left.",bc_map; +OnEnable: + donpcevent "job_asn_test::OnDisable"; + hideoffnpc "backers#ASN"; end; -OnTimer180000: - mapannounce "in_moc_16","5 seconds left...",bc_map; +OnDisable: + hideonnpc "backers#ASN"; end; +} -OnTimer181000: - mapannounce "in_moc_16","4 seconds left...",bc_map; +in_moc_16,1,1,0 script traps#ASN 139,{ + end; + +OnEnable: + donpcevent "job_asn_test::OnEnable"; end; +} -OnTimer182000: - mapannounce "in_moc_16","3 seconds left...",bc_map; +in_moc_16,2,1,0 script Beholder#ASNTEST2 139,{ end; -OnTimer183000: - mapannounce "in_moc_16","2 seconds left...",bc_map; +OnInit: + hideonnpc "Beholder#ASNTEST2"; end; -OnTimer184000: - mapannounce "in_moc_16","1 second left.",bc_map; +OnReset: + killmonster "in_moc_16","Beholder#ASNTEST2::OnMyMobDead"; 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; +OnDisable: + hideonnpc "Beholder#ASNTEST2"; end; -OnTimer186000: - areawarp "in_moc_16",60,136,93,177,"in_moc_16",19,161; +OnEnable: + hideoffnpc "Beholder#ASNTEST2"; + monster "in_moc_16",62,161,"Job change creature",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",85,169,"Job change creature",1031,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",79,174,"Job change creature",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",85,156,"Job change creature",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",74,171,"Job change monster",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",68,173,"Job change dummy",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",65,158,"Battle test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",60,158,"Warrior test target",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",64,169,"Job change targets",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",71,173,"Jobs change target",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",77,172,"Please don't hit me",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",76,172,"Job change sample",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",75,172,"Not me",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",67,167,"I got yours right here",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",86,170,"Job changes target",1031,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",86,171,"Job quest target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",86,170,"Job target change",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",86,173,"Hit me",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",85,170,"Battle Monster",1031,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",89,156,"Bouncer",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",89,156,"Mungamorp",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",89,156,"Battle test target",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",89,156,"Dew of the Battle field",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",89,156,"Tear of test",1031,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",83,169,"Evil Druid",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",63,158,"Doppelganger",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",63,157,"Job change dummy",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",64,159,"Job ready dummy",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",63,159,"Job change ready",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",63,159,"Archer test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",63,159,"Swordman test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",83,148,"Thief test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",82,148,"Acolyte test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",84,148,"Merchant test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; end; -OnTimer187000: +OnMyMobDead: + mapannounce "in_moc_16"," " + strcharinfo(0) + "! You made a mistake! I'm bringing you back!",bc_map; + set ASN_Q,2; + warp "in_moc_16",19,161; donpcevent "Beholder#ASNTEST::OnReset"; + donpcevent "Beholder#ASNTEST2::OnReset"; + donpcevent "Beholder#ASNTEST::OnDisable"; + donpcevent "Beholder#ASNTEST2::OnDisable"; end; } -in_moc_16,68,158,0 script 01_1::SinTrap -1,0,0,{ +- script job_asn_test::jasntdups -1,{ + 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"; - } + mapannounce "in_moc_16"," " + strcharinfo(0) + ", you're trapped. You will be sent back.",bc_map; + set ASN_Q,2; + warp "in_moc_16",19,161; + donpcevent "Beholder#ASNTEST::OnReset"; + donpcevent "Beholder#ASNTEST2::OnReset"; + donpcevent "Beholder#ASNTEST::OnDisable"; + donpcevent "Beholder#ASNTEST2::OnDisable"; + end; + +OnEnable: + hideoffnpc "01_1"; + hideoffnpc "01_2"; + hideoffnpc "01_3"; + hideoffnpc "01_4"; + hideoffnpc "02_1"; + hideoffnpc "02_2"; + hideoffnpc "02_3"; + hideoffnpc "02_4"; + hideoffnpc "03_1"; + hideoffnpc "03_2"; + hideoffnpc "03_3"; + hideoffnpc "03_4"; + hideoffnpc "04_1"; + hideoffnpc "04_2"; + hideoffnpc "04_3"; + hideoffnpc "04_4"; + hideoffnpc "05_1"; + hideoffnpc "05_2"; + hideoffnpc "05_3"; + hideoffnpc "05_4"; + hideoffnpc "06_1"; + hideoffnpc "06_2"; + hideoffnpc "06_3"; + hideoffnpc "06_4"; + hideoffnpc "07_1"; + hideoffnpc "07_2"; + hideoffnpc "07_3"; + hideoffnpc "07_4"; + hideoffnpc "08_1"; + hideoffnpc "08_2"; + hideoffnpc "08_3"; + hideoffnpc "08_4"; + hideoffnpc "09_1"; + hideoffnpc "09_2"; + hideoffnpc "09_3"; + hideoffnpc "09_4"; + hideoffnpc "10_1"; + hideoffnpc "10_2"; + hideoffnpc "10_3"; + hideoffnpc "10_4"; + hideoffnpc "10_5"; + hideoffnpc "10_6"; + hideoffnpc "10_7"; + hideoffnpc "10_8"; + hideoffnpc "11_1"; + hideoffnpc "11_2"; + hideoffnpc "11_3"; + hideoffnpc "11_4"; + hideoffnpc "12_1"; + hideoffnpc "12_2"; + hideoffnpc "12_3"; + hideoffnpc "12_4"; + hideoffnpc "13_1"; + hideoffnpc "13_2"; + hideoffnpc "13_3"; + hideoffnpc "13_4"; + hideoffnpc "14_1"; + hideoffnpc "14_2"; + hideoffnpc "14_3"; + hideoffnpc "14_4"; + hideoffnpc "14_5"; + hideoffnpc "14_6"; + hideoffnpc "14_7"; + hideoffnpc "14_8"; + hideoffnpc "14_9"; + hideoffnpc "14_10"; + hideoffnpc "14_11"; + hideoffnpc "14_12"; + hideoffnpc "15_1"; + hideoffnpc "15_2"; + hideoffnpc "15_3"; + hideoffnpc "15_4"; + hideoffnpc "16_1"; + hideoffnpc "16_2"; + hideoffnpc "16_3"; + hideoffnpc "16_4"; + hideoffnpc "17_1"; + hideoffnpc "17_2"; + hideoffnpc "17_3"; + hideoffnpc "17_4"; + hideoffnpc "18_1"; + hideoffnpc "18_2"; + hideoffnpc "18_3"; + hideoffnpc "18_4"; + end; + +OnDisable: + hideonnpc "01_1"; + hideonnpc "01_2"; + hideonnpc "01_3"; + hideonnpc "01_4"; + hideonnpc "02_1"; + hideonnpc "02_2"; + hideonnpc "02_3"; + hideonnpc "02_4"; + hideonnpc "03_1"; + hideonnpc "03_2"; + hideonnpc "03_3"; + hideonnpc "03_4"; + hideonnpc "04_1"; + hideonnpc "04_2"; + hideonnpc "04_3"; + hideonnpc "04_4"; + hideonnpc "05_1"; + hideonnpc "05_2"; + hideonnpc "05_3"; + hideonnpc "05_4"; + hideonnpc "06_1"; + hideonnpc "06_2"; + hideonnpc "06_3"; + hideonnpc "06_4"; + hideonnpc "07_1"; + hideonnpc "07_2"; + hideonnpc "07_3"; + hideonnpc "07_4"; + hideonnpc "08_1"; + hideonnpc "08_2"; + hideonnpc "08_3"; + hideonnpc "08_4"; + hideonnpc "09_1"; + hideonnpc "09_2"; + hideonnpc "09_3"; + hideonnpc "09_4"; + hideonnpc "10_1"; + hideonnpc "10_2"; + hideonnpc "10_3"; + hideonnpc "10_4"; + hideonnpc "10_5"; + hideonnpc "10_6"; + hideonnpc "10_7"; + hideonnpc "10_8"; + hideonnpc "11_1"; + hideonnpc "11_2"; + hideonnpc "11_3"; + hideonnpc "11_4"; + hideonnpc "12_1"; + hideonnpc "12_2"; + hideonnpc "12_3"; + hideonnpc "12_4"; + hideonnpc "13_1"; + hideonnpc "13_2"; + hideonnpc "13_3"; + hideonnpc "13_4"; + hideonnpc "14_1"; + hideonnpc "14_2"; + hideonnpc "14_3"; + hideonnpc "14_4"; + hideonnpc "14_5"; + hideonnpc "14_6"; + hideonnpc "14_7"; + hideonnpc "14_8"; + hideonnpc "14_9"; + hideonnpc "14_10"; + hideonnpc "14_11"; + hideonnpc "14_12"; + hideonnpc "15_1"; + hideonnpc "15_2"; + hideonnpc "15_3"; + hideonnpc "15_4"; + hideonnpc "16_1"; + hideonnpc "16_2"; + hideonnpc "16_3"; + hideonnpc "16_4"; + hideonnpc "17_1"; + hideonnpc "17_2"; + hideonnpc "17_3"; + hideonnpc "17_4"; + hideonnpc "18_1"; + hideonnpc "18_2"; + hideonnpc "18_3"; + hideonnpc "18_4"; 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,68,158,0 duplicate(jasntdups) 01_1 139 +in_moc_16,69,158,0 duplicate(jasntdups) 01_2 139 +in_moc_16,68,159,0 duplicate(jasntdups) 01_3 139 +in_moc_16,69,159,0 duplicate(jasntdups) 01_4 139 +in_moc_16,64,162,0 duplicate(jasntdups) 02_1 139 +in_moc_16,65,162,0 duplicate(jasntdups) 02_2 139 +in_moc_16,64,163,0 duplicate(jasntdups) 02_3 139 +in_moc_16,65,163,0 duplicate(jasntdups) 02_4 139 +in_moc_16,62,168,0 duplicate(jasntdups) 03_1 139 +in_moc_16,63,168,0 duplicate(jasntdups) 03_2 139 +in_moc_16,62,169,0 duplicate(jasntdups) 03_3 139 +in_moc_16,63,169,0 duplicate(jasntdups) 03_4 139 +in_moc_16,66,170,0 duplicate(jasntdups) 04_1 139 +in_moc_16,67,170,0 duplicate(jasntdups) 04_2 139 +in_moc_16,66,171,0 duplicate(jasntdups) 04_3 139 +in_moc_16,67,171,0 duplicate(jasntdups) 04_4 139 +in_moc_16,64,174,0 duplicate(jasntdups) 05_1 139 +in_moc_16,64,175,0 duplicate(jasntdups) 05_2 139 +in_moc_16,65,174,0 duplicate(jasntdups) 05_3 139 +in_moc_16,65,175,0 duplicate(jasntdups) 05_4 139 +in_moc_16,72,174,0 duplicate(jasntdups) 06_1 139 +in_moc_16,72,175,0 duplicate(jasntdups) 06_2 139 +in_moc_16,73,174,0 duplicate(jasntdups) 06_3 139 +in_moc_16,73,175,0 duplicate(jasntdups) 06_4 139 +in_moc_16,72,166,0 duplicate(jasntdups) 07_1 139 +in_moc_16,72,167,0 duplicate(jasntdups) 07_2 139 +in_moc_16,73,166,0 duplicate(jasntdups) 07_3 139 +in_moc_16,73,167,0 duplicate(jasntdups) 07_4 139 +in_moc_16,72,168,0 duplicate(jasntdups) 08_1 139 +in_moc_16,72,169,0 duplicate(jasntdups) 08_2 139 +in_moc_16,73,168,0 duplicate(jasntdups) 08_3 139 +in_moc_16,73,169,0 duplicate(jasntdups) 08_4 139 +in_moc_16,78,168,0 duplicate(jasntdups) 09_1 139 +in_moc_16,78,169,0 duplicate(jasntdups) 09_2 139 +in_moc_16,79,168,0 duplicate(jasntdups) 09_3 139 +in_moc_16,79,169,0 duplicate(jasntdups) 09_4 139 +in_moc_16,80,172,0 duplicate(jasntdups) 10_1 139 +in_moc_16,81,172,0 duplicate(jasntdups) 10_2 139 +in_moc_16,82,172,0 duplicate(jasntdups) 10_3 139 +in_moc_16,83,172,0 duplicate(jasntdups) 10_4 139 +in_moc_16,80,173,0 duplicate(jasntdups) 10_5 139 +in_moc_16,81,173,0 duplicate(jasntdups) 10_6 139 +in_moc_16,82,173,0 duplicate(jasntdups) 10_7 139 +in_moc_16,83,173,0 duplicate(jasntdups) 10_8 139 +in_moc_16,88,174,0 duplicate(jasntdups) 11_1 139 +in_moc_16,88,175,0 duplicate(jasntdups) 11_2 139 +in_moc_16,89,174,0 duplicate(jasntdups) 11_3 139 +in_moc_16,89,175,0 duplicate(jasntdups) 11_4 139 +in_moc_16,86,166,0 duplicate(jasntdups) 12_1 139 +in_moc_16,86,167,0 duplicate(jasntdups) 12_2 139 +in_moc_16,87,166,0 duplicate(jasntdups) 12_3 139 +in_moc_16,87,167,0 duplicate(jasntdups) 12_4 139 +in_moc_16,90,164,0 duplicate(jasntdups) 13_1 139 +in_moc_16,90,165,0 duplicate(jasntdups) 13_2 139 +in_moc_16,91,164,0 duplicate(jasntdups) 13_3 139 +in_moc_16,91,165,0 duplicate(jasntdups) 13_4 139 +in_moc_16,84,160,0 duplicate(jasntdups) 14_1 139 +in_moc_16,85,160,0 duplicate(jasntdups) 14_2 139 +in_moc_16,86,160,0 duplicate(jasntdups) 14_3 139 +in_moc_16,87,160,0 duplicate(jasntdups) 14_4 139 +in_moc_16,88,160,0 duplicate(jasntdups) 14_5 139 +in_moc_16,89,160,0 duplicate(jasntdups) 14_6 139 +in_moc_16,84,161,0 duplicate(jasntdups) 14_7 139 +in_moc_16,85,161,0 duplicate(jasntdups) 14_8 139 +in_moc_16,86,161,0 duplicate(jasntdups) 14_9 139 +in_moc_16,87,161,0 duplicate(jasntdups) 14_10 139 +in_moc_16,88,161,0 duplicate(jasntdups) 14_11 139 +in_moc_16,89,161,0 duplicate(jasntdups) 14_12 139 +in_moc_16,86,154,0 duplicate(jasntdups) 15_1 139 +in_moc_16,86,155,0 duplicate(jasntdups) 15_2 139 +in_moc_16,87,154,0 duplicate(jasntdups) 15_3 139 +in_moc_16,87,155,0 duplicate(jasntdups) 15_4 139 +in_moc_16,84,150,0 duplicate(jasntdups) 16_1 139 +in_moc_16,84,151,0 duplicate(jasntdups) 16_2 139 +in_moc_16,85,150,0 duplicate(jasntdups) 16_3 139 +in_moc_16,85,151,0 duplicate(jasntdups) 16_4 139 +in_moc_16,90,150,0 duplicate(jasntdups) 17_1 139 +in_moc_16,90,151,0 duplicate(jasntdups) 17_2 139 +in_moc_16,91,150,0 duplicate(jasntdups) 17_3 139 +in_moc_16,91,151,0 duplicate(jasntdups) 17_4 139 +in_moc_16,86,146,0 duplicate(jasntdups) 18_1 139 +in_moc_16,86,147,0 duplicate(jasntdups) 18_2 139 +in_moc_16,87,146,0 duplicate(jasntdups) 18_3 139 +in_moc_16,87,147,0 duplicate(jasntdups) 18_4 139 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; + donpcevent "Thomas#ASNTEST::OnReset"; + if (ASN_Q == 3) { + set ASN_Q,3; + } + else { + set ASN_Q,4; + } savepoint "in_moc_16",16,13; + warp "in_moc_16",87,102; 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"; + hideoffnpc "Keeper of the Door#ASN"; end; OnDisable: - disablenpc "Keeper of the Door#ASN"; + hideonnpc "Keeper of the Door#ASN"; + end; + +OnInit: + hideonnpc "Keeper of the Door#ASN"; end; } -in_moc_16,3,3,0 script timestopper#1 -1,{ +in_moc_16,3,3,0 script timestopper#1 139,{ + end; + OnEnable: initnpctimer; end; OnTimer187000: - donpcevent "Thomas#ASNTEST::OnDisable"; + donpcevent "Standby Room#ASNTEST::OnReset"; + donpcevent "Thomas#ASNTEST::OnReset"; 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) { + if (ASN_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; @@ -1508,7 +2417,7 @@ OnTouch: 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!")) { + switch (select("I'm gonna try it again!:I... I quit!")) { case 1: mes "[Thomas]"; mes "Hmm. Well, okay."; @@ -1522,100 +2431,120 @@ OnTouch: 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; + mapannounce "in_moc_16"," " + strcharinfo(0) + " got scared and quit the test...Who's Next?!",bc_map; + donpcevent "Standby Room#ASNTEST::OnReset"; + set ASN_Q,0; + set thief_joblvl,0; + set asn_skill,0; + erasequest 8000; + erasequest 8001; + erasequest 8002; + erasequest 8003; + erasequest 8004; savepoint "in_moc_16",18,14; warp "in_moc_16",18,14; - donpcevent "Standby Room#ASNTEST::OnStart"; - end; } + } else { + 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 ASN_Q,4; + changequest 8003,8004; } + donpcevent "Thomas#ASNTEST::OnTestmode"; + 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"; +OnTestmode: + monster "in_moc_16",81,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",82,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",83,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",84,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",85,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",86,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",88,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",89,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",90,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",77,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",78,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",79,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",80,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",81,55,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",91,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",92,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",93,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",94,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",95,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",96,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",97,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",76,62,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",79,62,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",79,65,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",76,65,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",96,62,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",96,65,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",99,62,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",99,65,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; end; -OnDisable: - donpcevent "Standby Room#ASNTEST::OnStart"; - killmonsterall "in_moc_16"; +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 ASN_Q,3; + warp "in_moc_16",87,102; + killmonster "in_moc_16","Thomas#ASNTEST::OnMyMobDead"; + end; + +OnReset: + killmonster "in_moc_16","Thomas#ASNTEST::OnMyMobDead"; end; } in_moc_16,87,48,2 script Barcardi#ASN 725,2,2,{ + OnTouch: donpcevent "timestopper#1::OnDisable"; - donpcevent "Thomas#ASNTEST::OnDisable"; + donpcevent "Thomas#ASNTEST::OnReset"; mes "[Barcardi]"; mes "Oh! Congratulations!"; mes "You may now proceed to our Guildmaster's room. Good luck!!"; close2; - set ASSIN_Q,5; + set ASN_Q,5; changequest 8004,8005; + donpcevent "Standby Room#ASNTEST::OnReset"; 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) { + if (ASN_Q == 5) { + warp "in_moc_16",181,183; + set ASN_Q,6; + } + if (ASN_Q == 6) { warp "in_moc_16",181,183; - set ASSIN_Q,ASSIN_Q+1; - changequest 8005,8006; + set ASN_Q,7; } else { - mapannounce "in_moc_16",strcharinfo(0)+" has entered 'Guildmaster's room.'",bc_map; + 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; } + end; } -in_moc_16,167,110,0 script Guildmaster#ASN1 -1,3,1,{ +in_moc_16,167,110,0 script Guildmaster#ASN1 139,3,1,{ + OnTouch: savepoint "in_moc_16",167,110; mes "[Guildmaster]"; @@ -1629,18 +2558,28 @@ OnTouch: mes "I look forward"; mes "to meeting you"; mes "at the end of maze."; + changequest 8005,8006; close; -OnDisable: +OnCast: 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; + 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 loose some weight. -"; + close; + } + savepoint "moc_ruins",79,99; + if ((ASN_Q == 7) && (Class == Job_Thief)) { + set ASN_Q,8; mes "[Guildmaster]"; mes "Welcome."; mes "I apologize for"; @@ -1656,7 +2595,7 @@ OnTouch: 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.")) { + switch (select("More power.:An Assassin's pride.:Endless practice.")) { case 1: mes "[Guildmaster]"; mes "More power..."; @@ -1672,9 +2611,9 @@ OnTouch: mes "to be stronger"; mes "than you are now?"; next; - switch(select("Revenge...!:Money~:I want to travel.")) { + switch (select("Revenge...!:Money~:I want to travel.")) { case 1: - set ASSIN_Q,8; + set ASN_Q,8; mes "[Guildmaster]"; mes "Revenge...?"; mes "Yes, I understand. All of us hold grudges against someone else eventually."; @@ -1686,9 +2625,8 @@ OnTouch: mes "Being an Assassin means"; mes "to abandon the ego."; next; - break; case 2: - set ASSIN_Q,9; + set ASN_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; @@ -1697,9 +2635,8 @@ OnTouch: mes "to abandon such worldly"; mes "attachments..."; next; - break; case 3: - set ASSIN_Q,10; + set ASN_Q,10; mes "[Guildmaster]"; mes "Good idea. Traveling around the world will allow you to broaden your experiences."; next; @@ -1709,9 +2646,7 @@ OnTouch: 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..."; @@ -1726,9 +2661,9 @@ OnTouch: 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.")) { + switch (select("I like the solitude.:Making money being an Assassin.:They just look interesting.")) { case 1: - set ASSIN_Q,11; + set ASN_Q,11; mes "[Guildmaster]"; mes "You got the point..."; mes "We are lonely. We will always be alone, even amongst each other..."; @@ -1741,15 +2676,13 @@ OnTouch: 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; + set ASN_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; + set ASN_Q,13; mes "[Guildmaster]"; mes "Style and appearance is only superficial. It is sad that many people think this way..."; next; @@ -1760,9 +2693,7 @@ OnTouch: 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..."; @@ -1772,18 +2703,17 @@ OnTouch: 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.")) { + switch (select("To broaden my skills.:It's a goal of mine.:For spiritual improvement.")) { case 1: - set ASSIN_Q,14; + set ASN_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; + set ASN_Q,15; mes "[Guildmaster]"; mes "It's a goal of yours, eh? Well, I guess you've got to have goals..."; next; @@ -1795,9 +2725,8 @@ OnTouch: 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; + set ASN_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."; @@ -1805,10 +2734,9 @@ OnTouch: mes "[Guildmaster]"; mes "I hope you're not a hypocrite. Spiritual discipline is the best way for you to survive."; next; - break; } - break; } + set @assassin_sangdam,0; mes "[Guildmaster]"; mes "Sadly, there are some nit-wits who are eager to be Assassins even though they don't know anything..."; next; @@ -1821,30 +2749,29 @@ OnTouch: 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.")) { + 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.")) { + 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; + 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; + 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: + set @assassin_sangdam,@assassin_sangdam + 0; 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."; @@ -1853,24 +2780,21 @@ OnTouch: 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.")) { + switch (select("My friends.:My Guildsmen.:My lover.")) { case 1: - set .@assassin_sangdam,.@assassin_sangdam+5; + 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; + set @assassin_sangdam,@assassin_sangdam + 5; mes "[Guildmaster]"; mes "Great..."; mes "Comrades for whom you would die for..."; @@ -1878,30 +2802,30 @@ OnTouch: mes "[Guildmaster]"; mes "As an Assassin, find a job that you can do for them without them knowing.."; next; - break; case 3: + set @assassin_sangdam,@assassin_sangdam + 0; 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 ) + if (Sex == 1) { mes "But you must never reveal to her the Assassin side of your life. No matter what it takes."; - else + } + 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.")) { + switch (select("Places where Assassins can level up...:Main goals as an Assassin.:Financial consulting.")) { case 1: - set .@assassin_sangdam,.@assassin_sangdam+5; + 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; @@ -1909,17 +2833,16 @@ OnTouch: mes "You must know how to"; mes "survive in any situation."; next; - break; case 2: + set @assassin_sangdam,@assassin_sangdam + 0; 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; + 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?"; @@ -1927,9 +2850,7 @@ OnTouch: 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."; @@ -1946,13 +2867,13 @@ OnTouch: 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]"; + donpcevent "[Huey]::OnEnable"; + donpcevent "[Khai]::OnEnable"; + donpcevent "[The Anonymous One]::OnEnable"; + donpcevent "[Barcardi]::OnEnable"; + donpcevent "[Beholder]::OnEnable"; + donpcevent "[Thomas]::OnEnable"; + donpcevent "[Gayle Maroubitz]::OnEnable"; mes "[The Anonymous One]"; mes "I am here."; next; @@ -1962,7 +2883,7 @@ OnTouch: mes "[The Anonymous One]"; mes "Ah yeah..."; mes "I think"; - mes ""+ strcharinfo(0) +""; + mes "" + strcharinfo(0) + ""; mes "is decent."; next; mes "[Guildmaster]"; @@ -1971,7 +2892,7 @@ OnTouch: mes "supports you. How"; mes "about you, Huey?"; next; - if (ASSIN_Q3 == 1) { + if (thief_joblvl == 1) { mes "[Huey]"; mes "A rarity."; mes "You can tell"; @@ -1980,10 +2901,9 @@ OnTouch: mes "[Huey]"; mes "I agree with"; mes "the Anonymous One."; - } - else { + } else { mes "[Huey]"; - mes "Although "+ strcharinfo(0) +" looks too mellow and gentle, kind of like a pussycat, "+ strcharinfo(0) +" has the stuff."; + 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."; @@ -2004,74 +2924,72 @@ OnTouch: 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..."; + 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: + if (ASN_Q == 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: + } + if (ASN_Q == 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: + } + if (ASN_Q == 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: + } + if (ASN_Q == 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: + } + if (ASN_Q == 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: + } + if (ASN_Q == 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: + } + if (ASN_Q == 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: + } + if (ASN_Q == 15) { mes "[Guildmaster]"; mes "Sooner or later, you will find a new goal to which you can devote yourself..."; next; - break; - case 16: + } + if (ASN_Q == 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; + if ((thief_joblvl == 1) && (Class == Job_Baby_Thief || Class == Job_Thief) && (ASN_Q > 6) && (ASN_Q < 17)) { + set thief_joblvl,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")) { + 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; + next; case 2: mes "[Guildmaster]"; mes "A Katar..."; @@ -2080,43 +2998,42 @@ OnTouch: mes "I know it will"; mes "serve you well."; getitem 1253,1; //Katar_ - break; + next; case 3: mes "[Guildmaster]"; mes "I see. You want to use both hands. Here, take your Main Gauche."; getitem 1208,1; //Main_Gauche_ - break; + next; 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; } - next; - } - else { - set ASSIN_Q,17; + } else { mes "[Guildmaster]"; mes "Well, I talked too much."; mes "Please take this first."; next; - switch(rand(1,5)) { - case 1: + set .@asn_item,rand(1,5); + if (.@asn_item == 1) { getitem 1207,1; //Main_Gauche - break; - case 2: + } + if (.@asn_item == 2) { getitem 1250,1; //Jur - break; - case 3: + } + if (.@asn_item == 3) { getitem 1216,1; //Stiletto - break; - case 4: + } + if (.@asn_item == 4) { getitem 1201,1; //Knife - break; - case 5: + } + else { getitem 1252,1; //Katar } } + set ASN_Q,17; mes "[Guildmaster]"; mes "Well, I am giving you a token. Please return to the Assassin expert, the Ferocious-Looking Huey, at the entrance."; next; @@ -2125,24 +3042,49 @@ OnTouch: 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; + savepoint "moc_ruins",79,99; 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]"; + donpcevent "[Huey]::OnDisable"; + donpcevent "[Khai]::OnDisable"; + donpcevent "[The Anonymous One]::OnDisable"; + donpcevent "[Barcardi]::OnDisable"; + donpcevent "[Beholder]::OnDisable"; + donpcevent "[Thomas]::OnDisable"; + donpcevent "[Gayle Maroubitz]::OnDisable"; + close2; + warp "in_moc_16",17,19; + end; + } + if ((ASN_Q == 17) && (countitem(1008) == 0)) { + 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 "moc_ruins",79,99; + getitem 1008,1; //Frozen_Heart + 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..."; + donpcevent "[Huey]::OnDisable"; + donpcevent "[Khai]::OnDisable"; + donpcevent "[The Anonymous One]::OnDisable"; + donpcevent "[Barcardi]::OnDisable"; + donpcevent "[Beholder]::OnDisable"; + donpcevent "[Thomas]::OnDisable"; + donpcevent "[Gayle Maroubitz]::OnDisable"; + changequest 8006,8007; close2; warp "in_moc_16",17,19; end; } - else if (ASSIN_Q == 17) { + if (ASN_Q == 17) { mes "[Guildmaster]"; mes "Umm...?"; mes "How come you're in here...?"; @@ -2153,8 +3095,8 @@ OnTouch: warp "in_moc_16",17,19; end; } - else if (ASSIN_Q > 7 && ASSIN_Q < 17) { - set ASSIN_Q,7; + if ((ASN_Q > 7) && (ASN_Q < 17)) { + set ASN_Q,7; mes "[Guildmaster]"; mes "What the hell? You pressed 'Cancel' during the process. Do you want to change your job or what?"; next; @@ -2163,16 +3105,14 @@ OnTouch: 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; - } + 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,{ @@ -2181,7 +3121,8 @@ in_moc_16,186,81,1 script Master Assist 55,1,1,{ close; } -in_moc_16,170,90,0 script info 1 -1,{ +in_moc_16,170,90,0 script info 1 139,{ + OnTouch: mes "[Guildmaster]"; mes "Huh."; @@ -2189,14 +3130,16 @@ OnTouch: close; } -in_moc_16,153,85,0 script info 2 -1,1,1,{ +in_moc_16,153,85,0 script info 2 139,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,{ +in_moc_16,160,85,0 script info 3 139,1,1,{ + OnTouch: mes "[Guildmaster]"; mes "Hmm."; @@ -2205,7 +3148,8 @@ OnTouch: close; } -in_moc_16,175,89,0 script info 4 -1,1,1,{ +in_moc_16,175,89,0 script info 4 139,1,1,{ + OnTouch: mes "[Guildmaster]"; mes "Umm..."; @@ -2213,7 +3157,8 @@ OnTouch: close; } -in_moc_16,164,88,0 script info 5 -1,{ +in_moc_16,164,88,0 script info 5 139,{ + OnTouch: mes "[Guildmaster]"; mes "Well done..."; @@ -2221,79 +3166,138 @@ OnTouch: close; } -in_moc_16,149,95,0 script info 6 -1,1,1,{ +in_moc_16,149,95,0 script info 6 139,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,{ +in_moc_16,180,101,0 script info 7 139,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,{ +in_moc_16,186,107,0 script info 8 139,1,1,{ + OnTouch: mes "[Guildmaster]"; mes "No sense of direction, eh?"; close; } -in_moc_16,156,87,1 script [Huey] 55,{ +in_moc_16,156,87,1 script [Huey] 55,1,1,{ end; OnInit: - disablenpc "[Huey]"; + hideonnpc "[Huey]"; + end; + +OnDisable: + hideonnpc "[Huey]"; + end; + +OnEnable: + hideoffnpc "[Huey]"; end; } -in_moc_16,156,85,1 script [Khai] 730,{ +in_moc_16,156,85,1 script [Khai] 730,1,1,{ end; OnInit: - disablenpc "[Khai]"; + hideonnpc "[Khai]"; + end; + +OnDisable: + hideonnpc "[Khai]"; + end; + +OnEnable: + hideoffnpc "[Khai]"; end; } -in_moc_16,156,83,1 script [The Anonymous One] 106,{ +in_moc_16,156,83,1 script [The Anonymous One] 106,1,1,{ end; OnInit: - disablenpc "[The Anonymous One]"; + hideonnpc "[The Anonymous One]"; + end; + +OnDisable: + hideonnpc "[The Anonymous One]"; + end; + +OnEnable: + hideoffnpc "[The Anonymous One]"; end; } -in_moc_16,156,81,2 script [Barcardi] 725,{ +in_moc_16,156,81,2 script [Barcardi] 725,1,1,{ end; OnInit: - disablenpc "[Barcardi]"; + hideonnpc "[Barcardi]"; + end; + +OnDisable: + hideonnpc "[Barcardi]"; + end; + +OnEnable: + hideoffnpc "[Barcardi]"; end; } -in_moc_16,156,79,1 script [Beholder] 118,{ +in_moc_16,156,79,1 script [Beholder] 118,1,1,{ end; OnInit: - disablenpc "[Beholder]"; + hideonnpc "[Beholder]"; + end; + +OnDisable: + hideonnpc "[Beholder]"; + end; + +OnEnable: + hideoffnpc "[Beholder]"; end; } -in_moc_16,156,77,1 script [Thomas] 118,{ +in_moc_16,156,77,1 script [Thomas] 118,1,1,{ end; OnInit: - disablenpc "[Thomas]"; + hideonnpc "[Thomas]"; + end; + +OnDisable: + hideonnpc "[Thomas]"; + end; + +OnEnable: + hideoffnpc "[Thomas]"; end; } -in_moc_16,156,75,1 script [Gayle Maroubitz] 55,{ +in_moc_16,156,75,1 script [Gayle Maroubitz] 55,1,1,{ end; OnInit: - disablenpc "[Gayle Maroubitz]"; + hideonnpc "[Gayle Maroubitz]"; + end; + +OnDisable: + hideonnpc "[Gayle Maroubitz]"; + end; + +OnEnable: + hideoffnpc "[Gayle Maroubitz]"; end; } diff --git a/npc/re/jobs/2-1/blacksmith.txt b/npc/re/jobs/2-1/blacksmith.txt index 413fe69fd..db9832ab0 100644 --- a/npc/re/jobs/2-1/blacksmith.txt +++ b/npc/re/jobs/2-1/blacksmith.txt @@ -1,46 +1,18 @@ -//===== 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] -//============================================================== +//===== rAthena Script ======================================= +// Blacksmith Job change Quest +//===== By: ================================================== +//= Masao +//= Credits: Muad_Dib +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= Any rAthena SVN +//===== Description: ========================================= +//= [Translated from the Official] +//= Job change Quest from Merchant -> Blacksmith. +//===== Additional Comments: ================================= +//= 1.0 Updated to latest available official file. [Masao] +//============================================================ ein_in01,18,28,4 script Guildsman#BLS 731,{ if (Upper == 1) { @@ -73,67 +45,57 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ 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; - } + if (Class == Job_Baby || Class == Job_Novice) { + 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; } - else if (BaseClass == Job_Swordman) { + if (Class == Job_Swordman || Class == Job_Knight || Class == Job_Crusader) { 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) { + if (Class == Job_Archer || Class == Job_Hunter || Class == Job_Dancer || Class == Job_Bard) { 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) { + if (Class == Job_Mage || Class == Job_Wizard || Class == Job_Sage) { 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) { + if (Class == Job_Acolyte || Class == Job_Priest || Class == Job_Monk) { 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) { + if (Class == Job_Thief || Class == Job_Assassin || Class == Job_Rogue) { 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) { + if (Class == 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) { + if (Class == Job_Baby_Blacksmith || Class == 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) { + if (Class == Job_Baby_Merchant || Class == Job_Merchant) { + if (SkillPoint != 0) { 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) { + if (BLCKSMTH_Q == 0) { mes "[Altiregen]"; mes "Why don't you stop struggling"; mes "to make zeny as a Merchant and"; @@ -141,14 +103,14 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ 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.")) { + switch (select("Fill out Application.:What are the requirements?:Um, I need to think about it.")) { case 1: - if (SkillPoint) { + if (SkillPoint != 0) { 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) { + if ((JobLevel > 39) && (BLCKSMTH_Q == 0)) { mes "[Altiregen]"; mes "Hmmm..."; mes "Looks like you"; @@ -164,14 +126,14 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ 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; + set BLCKSMTH_Q,1; setquest 2000; mes "[Altiregen]"; mes "Be careful"; mes "and good luck!"; close; } - else if (JobLevel < 40) { + 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; @@ -195,18 +157,18 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ close; } } - else if (BSMITH_Q > 0 && BSMITH_Q < 8) { + if ((BLCKSMTH_Q > 0) && (BLCKSMTH_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) { + if ((BLCKSMTH_Q > 8) && (BLCKSMTH_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) { + if (BLCKSMTH_Q == 15) { mes "[Altiregen]"; mes "Great job!!"; mes "You have passed"; @@ -218,8 +180,9 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ 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; + switch (select("I want to change my job quickly! But...oh well.:Grrr! Enough is enough!")) { + case 1: + set BLCKSMTH_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"; @@ -230,69 +193,93 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ 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; + case 2: + 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; } - 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) { + if (BLCKSMTH_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) { + if ((BLCKSMTH_Q == 17) && (countitem(1005) > 0) && (JobLevel > 39)) { + if (JobLevel > 48) { + 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."; + next; + if(Class == Job_Baby_Merchant){ + jobchange Job_Baby_Blacksmith; + } else { + jobchange Job_Blacksmith; + } + 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 + mes "[Altiregen]"; + mes "Here is a little"; + mes "gift to mark the"; + mes "beginning of your"; + mes "life as a Blacksmith."; + mes "Congratulations!!!"; + getitem 999,30; //Steel changequest 2015,2016; + completequest 2016; + close; } + 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 smithing, the art"; + mes "of the Blacksmith."; next; - set .@joblvl,JobLevel; - callfunc "Job_Change",Job_Blacksmith; - callfunc "F_ClearJobVar"; // clears all job variables for the current player + if(Class == Job_Baby_Merchant){ + jobchange Job_Baby_Blacksmith; + } else { + jobchange Job_Blacksmith; + } 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 + getitem 999,5; //Steel + changequest 2015,2016; + completequest 2016; close; } } } -ein_in01,201,27,3 script Guildsman#alberta 63,{ +ein_in01,201,27,3 script Guildsman#einbech 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) { + if (Class == Job_Baby_Merchant || Class == 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) { + if (BLCKSMTH_Q == 0) { mes "[Geschupenschte]"; mes "But, of course,"; mes "I wouldn't bother you"; @@ -306,190 +293,361 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ 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)) { + if (BLCKSMTH_Q == 1) { + mes "[Geschupenschte]"; + mes "Oh ho ho!"; + mes "You're a Merchant!"; + mes "Excellent! I was"; + mes "in need of some help!"; + next; + 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; + switch (select("Yes.:Um, can I have some time to prepare?")) { + case 1: + set @black_q, 0; + set .@rand_b,rand(1,3); + if (.@rand_b == 1) { 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; + switch (select("Morroc - Thief Clothes:Alberta - Two Hand Axe:Comodo - Berserk Potion:Alberta - Swordmace")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @black_q,@black_q + 10; + break; + } 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; + switch (select("Stun:Blind:Silence:Sleep")) { + case 1: + set @black_q,@black_q + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Vending:Discount:Overcharge:Increase AGI")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @black_q,@black_q + 10; + break; + } 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; + switch (select("Alberta:Morroc:Geffen:Prontera")) { + case 1: + break; + case 2: + break; + case 3: + set @black_q,@black_q + 10; + break; + case 4: + break; + } 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; + switch (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")) { + case 1: + set @black_q,@black_q + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Stiletto:Ring Pommel Saber:Chain:Bible")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @black_q,@black_q + 10; + break; + } 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; + switch (select("Panties:Mink Coat:Wooden Mail:Silk Robe")) { + case 1: + break; + case 2: + set @black_q,@black_q + 10; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("up to + 3:up to + 4:up to + 5:up to + 6")) { + case 1: + break; + case 2: + break; + case 3: + set @black_q,@black_q + 10; + break; + case 4: + break; + } 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; + switch (select("Sakkat:Ghost Bandana:Majestic Goat:Antler")) { + case 1: + set @black_q,@black_q + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Credit:Integrity:Money:Rhetoric")) { + case 1: + set @black_q,@black_q + 10; + break; + case 2: + set @black_q,@black_q + 10; + break; + case 3: + set @black_q,@black_q + 10; + break; + case 4: + set @black_q,@black_q + 10; + break; + } } 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; + switch (select("Al De Baran - Yggdrasil Leaf:Alberta - Hammer:Comodo - Berserk Potion:Al De Baran - Hammer")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @black_q,@black_q + 10; + break; + } 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; + switch (select("1 Zeny:2 Zeny:3 Zeny:4 Zeny")) { + case 1: + break; + case 2: + break; + case 3: + set @black_q,@black_q + 10; + break; + case 4: + break; + } 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; + switch (select("Must have a Cart.:Must have items to sell.:Must be wielding a weapon.:Must be wearing armor.")) { + case 1: + set @black_q,@black_q + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Alberta:Morroc:Geffen:Prontera")) { + case 1: + set @black_q,@black_q + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (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")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @black_q,@black_q + 10; + break; + } 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; + switch (select("Main Gauche:Claymore:Chain:Two handed Axe")) { + case 1: + break; + case 2: + set @black_q,@black_q + 10; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Panties:Mink Coat:Wooden Mail:Silk Robe")) { + case 1: + break; + case 2: + set @black_q,@black_q + 10; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("up to + 3:up to + 4:up to + 5:up to + 6")) { + case 1: + break; + case 2: + set @black_q,@black_q + 10; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Chon Chon:Steel Chon Chon:Zerom:Anolian")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @black_q,@black_q + 10; + break; + } mes "[Geschupenschte]"; mes "10. What is most"; mes "important to a Merchant?"; next; - select("Rhetoric:Credit:Money:Experience"); - set .@black_q,.@black_q+10; + switch (select("Rhetoric:Credit:Money:Experience")) { + case 1: + set @black_q,@black_q + 10; + break; + case 2: + set @black_q,@black_q + 10; + break; + case 3: + set @black_q,@black_q + 10; + break; + case 4: + set @black_q,@black_q + 10; + break; + } } 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 "Let's see...your score is..." + @black_q + " points."; + if (@black_q == 100) { + set BLCKSMTH_Q, 3; + changequest 2000,2002; mes "Oh ho ho~"; mes "You'll have"; mes "no problem"; @@ -501,33 +659,25 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ mes "When you get back, I'll be ready!"; close; } - set BSMITH_Q,2; - if(checkquest(2001) == -1) { - changequest 2000,2001; - } + set BLCKSMTH_Q, 2; + 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; + case 2: + 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~"; + close2; } - 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) { + if (BLCKSMTH_Q == 2) { mes "[Geschupenschte]"; mes "So, have you"; mes "studied a little"; @@ -543,10 +693,358 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ mes "Alright, let's start"; mes "with the questions~"; next; - goto L_AskQuestions; + set @black_q,0; + set .@rand_b,rand(1,3); + if (.@rand_b == 1) { + mes "[Geschupenschte]"; + mes "1. Which one of the following regions is matched incorrectly"; + mes "with its specialty item?"; + next; + switch (select("Morroc - Thief Clothes:Alberta - Two Hand Axe:Comodo - Beserk Potion:Alberta - Swordmace")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @black_q,@black_q + 10; + break; + } + mes "[Geschupenschte]"; + mes "2. What status can"; + mes "be inflicted with the"; + mes "^8E6B23Hammer Fall^000000 skill?"; + next; + switch (select("Stun:Blind:Silence:Sleep")) { + case 1: + set @black_q,@black_q + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + mes "[Geschupenschte]"; + mes "3. Which one of the following skills cannot be performed"; + mes "by a Merchant?"; + next; + switch (select("Vending:Discount:Overcharge:Increase AGI")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @black_q,@black_q + 10; + break; + } + mes "[Geschupenschte]"; + mes "4. Where can you find a store"; + mes "that sells Blue Gemstones?"; + next; + switch (select("Alberta:Morroc:Geffen:Prontera")) { + case 1: + break; + case 2: + break; + case 3: + set @black_q,@black_q + 10; + break; + case 4: + break; + } + mes "[Geschupenschte]"; + mes "5. Where is the"; + mes "Tool Dealer"; + mes "located in Geffen?"; + next; + switch (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")) { + case 1: + set @black_q,@black_q + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + mes "[Geschupenschte]"; + mes "6. Which weapon"; + mes "cannot be used"; + mes "by a Merchant?"; + next; + switch (select("Stiletto:Ring Pommel Saber:Chain:Bible")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @black_q,@black_q + 10; + break; + } + mes "[Geschupenschte]"; + mes "7. Which one of the following"; + mes "has the highest defense rate?"; + next; + switch (select("Panties:Mink Coat:Wooden Mail:Silk Robe")) { + case 1: + break; + case 2: + set @black_q,@black_q + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[Geschupenschte]"; + mes "8. For Level 3 weapons,"; + mes "what is the ^8E6B23Safe^000000 limit"; + mes "for upgrading?"; + next; + switch (select("up to + 3:up to + 4:up to + 5:up to + 6")) { + case 1: + break; + case 2: + break; + case 3: + set @black_q,@black_q + 10; + break; + case 4: + break; + } + mes "[Geschupenschte]"; + mes "9. What item"; + mes "can be made using"; + mes "the ^8E6B23Trunks^000000 item?"; + next; + switch (select("Sakkat:Ghost Bandana:Majestic Goat:Antler")) { + case 1: + set @black_q,@black_q + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + mes "[Geschupenschte]"; + mes "10. The most important"; + mes "part of being a Merchant is...?"; + next; + switch (select("Credit:Integrity:Money:Rhetoric")) { + case 1: + set @black_q,@black_q + 10; + break; + case 2: + set @black_q,@black_q + 10; + break; + case 3: + set @black_q,@black_q + 10; + break; + case 4: + set @black_q,@black_q + 10; + break; + } + } + else { + mes "[Geschupenschte]"; + mes "1. Among the following cities, which one is not correctly matched with its specialty?"; + next; + switch (select("Al De Beran - Yggdrasil Leaf:Alberta - Hammer:Comodo - Beserk Potion:Al De Baran - Hammer")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @black_q,@black_q + 10; + break; + } + mes "[Geschupenschte]"; + mes "2. How much Zeny"; + mes "is one Jellopy worth?"; + next; + switch (select("1 Zeny:2 Zeny:3 Zeny:4 Zeny")) { + case 1: + break; + case 2: + break; + case 3: + set @black_q,@black_q + 10; + break; + case 4: + break; + } + mes "[Geschupenschte]"; + mes "3. What is required"; + mes "for a Merchant to use"; + mes "the ^8E6B23Vending^000000 Skill?"; + next; + switch (select("Must have a Cart.:Must have items to sell.:Must be wielding a weapon.:Must be wearing armor.")) { + case 1: + set @black_q,@black_q + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + mes "[Geschupenschte]"; + mes "4. Where can you"; + mes "change your Job to"; + mes "become a Merchant?"; + next; + switch (select("Alberta:Morroc:Geffen:Prontera")) { + case 1: + set @black_q,@black_q + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + mes "[Geschupenschte]"; + mes "5. Where is the"; + mes "Weapons Dealer"; + mes "located in Morroc?"; + next; + switch (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")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @black_q,@black_q + 10; + break; + } + mes "[Geschupenschte]"; + mes "6. What weapon"; + mes "can a Merchant"; + mes "not use?"; + next; + switch (select("Main Gauche:Claymore:Chain:Two handed Axe")) { + case 1: + break; + case 2: + set @black_q,@black_q + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[Geschupenschte]"; + mes "7. Which one of the following"; + mes "has the highest defense rate?"; + next; + switch (select("Panties:Mink Coat:Wooden Mail:Silk Robe")) { + case 1: + break; + case 2: + set @black_q,@black_q + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[Geschupenschte]"; + mes "8. For Level 3 weapons,"; + mes "what is the ^8E6B23Safe^000000 limit"; + mes "for upgrading?"; + next; + switch (select("up to + 3:up to + 4:up to + 5:up to + 6")) { + case 1: + break; + case 2: + set @black_q,@black_q + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[Geschupenschte]"; + mes "9. What monster does"; + mes "NOT drop Iron Ore?"; + next; + switch (select("Chon Chon:Steel Chon Chon:Zerom:Anolian")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @black_q,@black_q + 10; + break; + } + mes "[Geschupenschte]"; + mes "10. What is most"; + mes "important to a Merchant?"; + next; + switch (select("Rhetoric:Credit:Money:Experience")) { + case 1: + set @black_q,@black_q + 10; + break; + case 2: + set @black_q,@black_q + 10; + break; + case 3: + set @black_q,@black_q + 10; + break; + case 4: + set @black_q,@black_q + 10; + break; + } + } + mes "[Geschupenschte]"; + mes "Hmm, good. You did a great job!"; + next; + mes "[Geschupenschte]"; + mes "Let's see...your score is..." + @black_q + " points."; + if (@black_q > 80) { + set BLCKSMTH_Q,3; + changequest 2001,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 BLCKSMTH_Q,2; + completequest 2000; + setquest 2001; + mes "............."; + next; + mes "[Geschupenschte]"; + 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; } - */ - else if (BSMITH_Q == 3) { + if (BLCKSMTH_Q == 3) { mes "[Geschupenschte]"; mes "Hmm..."; mes "Now, where were"; @@ -566,98 +1064,178 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ 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 .@black_item,rand(1,6); + if (.@black_item == 1) { + set BLCKSMTH_Q,4; + changequest 2002,2003; + mes "[Geschupenschte]"; + mes "^8E6B232 Steel^000000,"; + mes "^8E6B231 Rotten Bandage^000000,"; + mes "^8E6B232 Blue Gemstone^000000, and"; + mes "^8E6B231 Arc Wand^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 "^8E6B232 Steel^000000,"; + mes "^8E6B231 Rotten Bandage^000000,"; + mes "^8E6B232 Blue Gemstone^000000, and"; + mes "^8E6B231 Arc Wand^000000, the kind"; + mes "you can buy from"; + mes "an NPC shop."; + next; } - 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; + if (.@black_item == 2) { + set BLCKSMTH_Q,5; + changequest 2002,2004; + mes "[Geschupenschte]"; + mes "^8E6B232 Star Dust^000000,"; + mes "^8E6B231 Skel-bone^000000,"; + mes "^8E6B231 Zargon^000000 and"; + mes "^8E6B231 Gladius^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 "^8E6B232 Star Dust^000000,"; + mes "^8E6B231 Skel-bone^000000,"; + mes "^8E6B231 Zargon^000000 and"; + mes "^8E6B231 Gladius^000000, the kind"; + mes "you can buy from"; + mes "an NPC shop."; + next; } - 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]) { + if (.@black_item == 3) { + set BLCKSMTH_Q,6; + changequest 2002,2005; mes "[Geschupenschte]"; - mes "Wait..."; - mes "Didn't I tell you"; - mes "to get 3 Steel?"; + mes "^8E6B232 Coal^000000,"; + mes "^8E6B232 Shell^000000,"; + mes "^8E6B232 Red Blood^000000 and"; + mes "^8E6B231 Tsurugi^000000, the kind"; + mes "you can buy from"; + mes "an NPC shop."; 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."; + 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 "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."; + mes "^8E6B232 Coal^000000,"; + mes "^8E6B232 Shell^000000,"; + mes "^8E6B232 Red Blood^000000 and"; + mes "^8E6B231 Tsurugi^000000, the kind"; + mes "you can buy from"; + mes "an NPC shop."; 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; - } + } + if (.@black_item == 4) { + set BLCKSMTH_Q,7; + changequest 2002,2006; mes "[Geschupenschte]"; - mes "Okay."; - mes "Great~!!"; + mes "^8E6B238 Iron Ore^000000,"; + mes "^8E6B231 Eye Patch^000000,"; + mes "^8E6B232 Blue Gemstone^000000 and"; + mes "^8E6B231 Arbalest^000000, the kind"; + mes "you can buy from"; + mes "an NPC shop."; next; mes "[Geschupenschte]"; - mes "^3355FF*Clang...!*^000000"; + 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 "^3355FF*Crash Crash!*^000000"; + mes "^8E6B238 Iron Ore^000000,"; + mes "^8E6B231 Eye Patch^000000,"; + mes "^8E6B232 Blue Gemstone^000000 and"; + mes "^8E6B231 Arbalest^000000, the kind"; + mes "you can buy from"; + mes "an NPC shop."; 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]; + } + else { + set BLCKSMTH_Q,8; + changequest 2002,2007; 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; + mes "^8E6B238 Iron^000000"; + mes "^8E6B2320 Green Herb^000000"; + mes "^8E6B232 Animal Skin^000000"; + mes "and ^8E6B231 Ring Pommel Saber^000000, the kind you can buy from 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 "^8E6B238 Iron^000000"; + mes "^8E6B2320 Green Herb^000000"; + mes "^8E6B232 Animal Skin^000000"; + mes "and ^8E6B231 Ring Pommel Saber^000000, the kind you can buy from an NPC shop."; + next; + } + mes "[Geschupenschte]"; + mes "Okay~"; + mes "Good luck"; + mes "on your first job!"; + close; + } + if ((BLCKSMTH_Q > 3) && (BLCKSMTH_Q < 9)) { + if (BLCKSMTH_Q == 4) { + mes "[Geschupenschte]"; + mes "Ah, you're back!"; + mes "Did you bring"; + mes "everything that"; + mes "I requested?"; + next; + if ((countitem(999) > 1) && (countitem(930) > 0) && (countitem(717) > 1) && (countitem(1610) > 0)) { + 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 Arc Wand^000000, you should really only have an Arc Wand that you bought from an NPC shop in your inventory."; + next; + switch (select("Oh, could you give me a second?:Oh, I brought what you asked for.")) { + case 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; + case 2: + mes "[Geschupenschte]"; + mes "Okay."; + mes "Great~!!"; + next; } + mes "[Geschupenschte]"; + mes "^3355FF*Clang...!*^000000"; + next; + mes "[Geschupenschte]"; + mes "^3355FF*Crash Crash!*^000000"; + next; + delitem 999,2; //Steel + delitem 930,1; //Rotten_Bandage + delitem 717,2; //Blue_Gemstone + delitem 1610,1; //Arc_Wand + set BLCKSMTH_Q,9; + changequest 2003,2008; + mes "[Geschupenschte]"; + mes "Wooooo~~~"; + mes "All done..."; + mes "Okay, now take this to ^8E6B23Baisulist^000000 in Geffen of the Rune-Midgarts Kingdom. Simply deliver it and bring me the receipt."; + getitem 1610,1; //Arc_Wand next; mes "[Geschupenschte]"; mes "Hmm...?"; @@ -675,14 +1253,87 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ 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; + mes "to ^8E6B23Baisulist^000000 in Geffen of the Rune-Midgarts Kingdom,"; + mes "and don't forget"; + mes "the receipt!"; + close; + } + 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 "^8E6B232 Steel^000000,"; + mes "^8E6B231 Rotten Bandage^000000,"; + mes "^8E6B232 Blue Gemstone^000000, and"; + mes "^8E6B231 Arc Wand^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; + } + if (BLCKSMTH_Q == 5) { + mes "[Geschupenschte]"; + mes "Ah, you're back!"; + mes "Did you bring"; + mes "everything that"; + mes "I requested?"; + next; + if ((countitem(1001) > 1) && (countitem(932) > 0) && (countitem(912) > 0) && (countitem(1219) > 0)) { + mes "[Geschupenschte]"; + mes "Wait..."; + mes "Didn't I tell you"; + mes "to get 3 Star Dust?"; + 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 Gladius^000000, you should really only have an Gladius that you bought from an NPC shop in your inventory."; + next; + switch (select("Um, would you give me a second?:Oh, I brought what you asked for.")) { + case 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; + case 2: + mes "[Geschupenschte]"; + mes "Okay."; + mes "Great~!!"; + next; } + mes "[Geschupenschte]"; + mes "^3355FF*Clang...!*^000000"; + next; + mes "[Geschupenschte]"; + mes "^3355FF*Crash Crash!*^000000"; + next; + delitem 1001,2; //Sparkling_Dust + delitem 932,1; //Skel_Bone + delitem 912,1; //Zargon + delitem 1219,1; //Gladius + set BLCKSMTH_Q,10; + changequest 2004,2009; + mes "[Geschupenschte]"; + mes "Wooooo~~~"; + mes "All done..."; + mes "Okay, now take this to ^8E6B23Wickebine^000000 in Morroc of the Rune-Midgarts Kingdom. Simply deliver it and bring me the receipt."; + getitem 1219,1; //Gladius next; mes "[Geschupenschte]"; mes "Hmm...?"; @@ -700,14 +1351,87 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ next; mes "[Geschupenschte]"; mes "Anyway, take this"; - mes "to ^8E6B23Wickebine^000000 in Morroc of Rune-Midgarts Kingdom,"; - break; - Case 11: + mes "to ^8E6B23Wickebine^000000 in Morroc of the Rune-Midgarts Kingdom,"; + mes "and don't forget"; + mes "the receipt!"; + close; + } + 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 "^8E6B232 Star Dust^000000,"; + mes "^8E6B231 Skel-bone^000000,"; + mes "^8E6B231 Zargon^000000 and"; + mes "^8E6B231 Gladius^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; + } + if (BLCKSMTH_Q == 6) { + mes "[Geschupenschte]"; + mes "Ah, you're back!"; + mes "Did you bring"; + mes "everything that"; + mes "I requested?"; + next; + if ((countitem(1003) > 1) && (countitem(935) > 1) && (countitem(990) > 1) && (countitem(1119) > 0)) { + mes "[Geschupenschte]"; + mes "Wait..."; + mes "Didn't I tell you"; + mes "to get 3 Coal?"; + 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 Tsurugi^000000, you should really only have an Tsurugi that you bought from an NPC shop in your inventory."; + next; + switch (select("Um, would you give me a second?:Oh, I brought what you asked for.")) { + case 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; + case 2: + mes "[Geschupenschte]"; + mes "Okay."; + mes "Great~!!"; + next; + } + mes "[Geschupenschte]"; + mes "^3355FF*Clang...!*^000000"; + next; + mes "[Geschupenschte]"; + mes "^3355FF*Crash Crash!*^000000"; + next; + delitem 1003,2; //Coal + delitem 935,2; //Shell + delitem 990,2; //Boody_Red + delitem 1119,1; //Tsurugi + set BLCKSMTH_Q,11; + changequest 2005,2010; + mes "[Geschupenschte]"; + mes "Wooooo~~~"; + mes "All done..."; 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...?"; @@ -726,14 +1450,87 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ 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; + mes "to ^8E6B23Krongast^000000 in Izlude"; + mes "and don't forget"; + mes "the receipt!"; + close; + } + 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 "^8E6B232 Coal^000000,"; + mes "^8E6B232 Shell^000000,"; + mes "^8E6B232 Red Blood^000000 and"; + mes "^8E6B231 Tsurugi^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; + } + if (BLCKSMTH_Q == 7) { + mes "[Geschupenschte]"; + mes "Ah, you're back!"; + mes "Did you bring"; + mes "everything that"; + mes "I requested?"; + next; + if ((countitem(1002) > 7) && (countitem(2212) > 0) && (countitem(717) > 1) && (countitem(1713) > 0)) { + mes "[Geschupenschte]"; + mes "Wait..."; + mes "Didn't I tell you"; + mes "to get 30 Iron Ore?"; + next; + mes "[Geschupenschte]"; + mes "Oh, I guess it was"; + mes "eight 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 Arbalest^000000, you should really only have an Arbalest that you bought from an NPC shop in your inventory."; + next; + switch (select("Um, would you give me a second?:Oh, I brought what you asked for.")) { + case 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; + case 2: + mes "[Geschupenschte]"; + mes "Okay."; + mes "Great~!!"; + next; } + mes "[Geschupenschte]"; + mes "^3355FF*Clang...!*^000000"; + next; + mes "[Geschupenschte]"; + mes "^3355FF*Crash Crash!*^000000"; + next; + delitem 1002,8; //Iron_Ore + delitem 2212,1; //Eye_Bandage + delitem 717,2; //Blue_Gemstone + delitem 1713,1; //Arbalest + set BLCKSMTH_Q,12; + changequest 2006,2011; + mes "[Geschupenschte]"; + mes "Wooooo~~~"; + mes "All done..."; + mes "Okay, now take this to ^8E6B23Talpiz^000000 in Payon of the Rune-Midgarts Kingdom. Simply deliver this and bring me the receipt."; + getitem 1713,1; //Arbalest next; mes "[Geschupenschte]"; mes "Hmm...?"; @@ -742,22 +1539,95 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ 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"; + 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 the Rune-Midgarts Kindgom,"; + mes "and don't forget"; + mes "the receipt!"; + close; + } + 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 "^8E6B238 Iron Ore^000000,"; + mes "^8E6B231 Eye Patch^000000,"; + mes "^8E6B232 Blue Gemstone^000000 and"; + mes "^8E6B231 Arbalest^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; + } + if (BLCKSMTH_Q == 8) { + mes "[Geschupenschte]"; + mes "Ah, you're back!"; + mes "Did you bring"; + mes "everything that"; + mes "I requested?"; + next; + if ((countitem(998) > 7) && (countitem(511) > 19) && (countitem(919) > 1) && (countitem(1122) > 0)) { + mes "[Geschupenschte]"; + mes "Wait..."; + mes "Didn't I tell you"; + mes "to get 40 Iron?"; + next; + mes "[Geschupenschte]"; + mes "Oh, I guess it was"; + mes "eight 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 Ring Pommel Saber^000000. You should really only have just one that you bought from an NPC shop in your inventory."; + next; + switch (select("Um, would you give me a second?:Oh, I brought what you asked for.")) { + case 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; + case 2: + mes "[Geschupenschte]"; + mes "Okay."; + mes "Great~!!"; + next; + delitem 998,8; //Iron + delitem 511,20; //Green_Herb + delitem 919,2; //Animal's_Skin + delitem 1122,1; //Ring_Pommel_Saber + set BLCKSMTH_Q, 13; + changequest 2007,2012; + next; + } + mes "[Geschupenschte]"; + mes "^3355FF*Clang...!*^000000"; next; mes "[Geschupenschte]"; - mes "Anyway, take this"; - mes "to ^8E6B23Talpiz^000000 in Payon of Rune-Midgarts Kindgom,"; - break; - case 13: + mes "^3355FF*Crash Crash!*^000000"; + next; + mes "[Geschupenschte]"; + mes "Wooooo~~~"; + mes "All done..."; 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...?"; @@ -781,12 +1651,10 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ mes "[Geschupenschte]"; mes "Anyway, take this"; mes "to ^8E6B23Bismarc^000000 in Hugel"; + mes "and don't forget"; + mes "the receipt!"; + close; } - mes "and don't forget"; - mes "the receipt!"; - close; - } - else { mes "[Geschupenschte]"; mes "You still haven't"; mes "brought all the items."; @@ -794,12 +1662,10 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ 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."; + mes "^8E6B238 Iron^000000"; + mes "^8E6B2320 Green Herb^000000"; + mes "^8E6B232 Animal Skin^000000"; + mes "and ^8E6B231 Ring Pommel Saber^000000, the kind you can buy from an NPC shop."; next; mes "[Geschupenschte]"; mes "Now, be sure to have"; @@ -811,7 +1677,7 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ close; } } - else if (BSMITH_Q > 8 && BSMITH_Q < 14) { + if ((BLCKSMTH_Q > 8) && (BLCKSMTH_Q < 14)) { mes "[Geschupenschte]"; mes "What are you"; mes "still doing here?"; @@ -820,27 +1686,31 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ mes "Did you forget"; mes "where to go?"; next; - mes "[Geschupenschte]"; - if (BSMITH_Q == 9) { + if (BLCKSMTH_Q == 9) { + mes "[Geschupenschte]"; 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) { + else if (BLCKSMTH_Q == 10) { + mes "[Geschupenschte]"; mes "Find the Swordmace"; mes "dealer ^8E6B23Wickebine^000000 in Morroc. And don't forget the receipt."; } - else if (BSMITH_Q == 11) { + else if (BLCKSMTH_Q == 11) { + mes "[Geschupenschte]"; 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) { + else if (BLCKSMTH_Q == 12) { + mes "[Geschupenschte]"; 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 "[Geschupenschte]"; 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) { + if (BLCKSMTH_Q == 14) { mes "[Geschupenschte]"; mes "Hmmm...?"; mes "Have you"; @@ -848,25 +1718,16 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ mes "the delivery?"; mes "Let's see that receipt~"; next; - if (select("Yes sir, here it is.:Receipt? I, uh, have it somewhere.") == 1) { + switch (select("Yes sir, here it is.:Receipt? I, uh, have it somewhere.")) { + case 1: if (countitem(1073) > 0) { - set BSMITH_Q,15; + set BLCKSMTH_Q,15; + changequest 2008,2013; + changequest 2009,2013; + changequest 2010,2013; + changequest 2011,2013; + changequest 2012,2013; 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!"; @@ -882,7 +1743,7 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ mes "will be a great Blacksmith!"; close; } - set BSMITH_Q,3; + set BLCKSMTH_Q,3; mes "[Geschupenschte]"; mes "You mean..."; mes "You didn't get"; @@ -896,16 +1757,17 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ mes "You'll have to start your"; mes "test all over again!"; close; + case 2: + mes "[Geschupenschte]"; + mes "Return when you"; + mes "find the receipt~"; + mes "You didn't forget"; + mes "to receive a receipt."; + mes "Right...?"; + 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) { + if (BLCKSMTH_Q == 15) { mes "[Geschupenschte]"; mes "Thank you"; mes "very much"; @@ -922,19 +1784,17 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ 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; - } + 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) { + if ((BLCKSMTH_Q == 9) && (countitem(1610) > 0)) { mes "[Baisulist]"; mes "Oh, hello!"; mes "Have you come"; @@ -945,7 +1805,8 @@ geffen,46,164,1 script Baisulist#BLS 69,{ 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) { + switch (select("Whoops, this is one of the items I use...:I'm sure! It's brand new!")) { + case 1: mes "[Baisulist]"; mes "Well..."; mes "I guess I can"; @@ -953,11 +1814,13 @@ geffen,46,164,1 script Baisulist#BLS 69,{ mes "Please hurry with"; mes "my delivery~"; close; + case 2: + mes "[Baisulist]"; + mes "You're"; + mes "absolutely sure?"; + break; } - mes "[Baisulist]"; - mes "You're"; - mes "absolutely sure?"; - set BSMITH_Q,14; + set BLCKSMTH_Q, 14; delitem 1610,1; //Arc_Wand next; mes "[Baisulist]"; @@ -973,44 +1836,42 @@ geffen,46,164,1 script Baisulist#BLS 69,{ 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; + mapannounce "geffen","Hey, " + strcharinfo(0) + ", thank you so much for the delivery~",bc_map; close; } - else if (BSMITH_Q == 14) { + if (BLCKSMTH_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; - } + 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; + if ((BLCKSMTH_Q == 10) && (countitem(1219) > 0)) { + cutin "job_black_hucke01",2; mes "[Wickebine]"; mes "...!"; mes "It's here!"; @@ -1019,8 +1880,9 @@ morocc,27,112,4 script Wickebine#BLS 725,{ 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; + switch (select("Whoops, not that one.:I guarantee you it is new.")) { + case 1: + cutin "job_black_hucke03",2; mes "[Wickebine]"; mes "Oooh...!"; mes "Hurry up"; @@ -1028,33 +1890,35 @@ morocc,27,112,4 script Wickebine#BLS 725,{ next; mes "- She seems to be upset. -"; close2; - cutin "Job_Black_hucke03",255; + cutin "",255; end; + case 2: + 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; + break; } - 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; + set BLCKSMTH_Q, 14; delitem 1219,1; //Gladius - cutin "Job_Black_hucke01",2; + 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; + 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; + cutin "job_black_hucke02",2; mes "[Wickebine]"; mes "But, this is also"; mes "a masterfully crafted item."; @@ -1066,51 +1930,49 @@ morocc,27,112,4 script Wickebine#BLS 725,{ 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; + mapannounce "morocc","Thanks for delivering, " + strcharinfo(0) + "~!",bc_map; + cutin "",255; end; } - else if (BSMITH_Q == 14) { + if (BLCKSMTH_Q == 14) { emotion e_lv; - cutin "Job_Black_hucke02",2; + 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; + cutin "",255; end; } + 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 "",255; + end; } lighthalzen,209,80,4 script Krongast#BLS 734,{ - if (BSMITH_Q == 11 && countitem(1119) > 0) { + if ((BLCKSMTH_Q == 11) && (countitem(1119) > 0)) { mes "[Krongast]"; mes "Ohhhhhh~"; mes "Is it here?"; @@ -1121,7 +1983,8 @@ lighthalzen,209,80,4 script Krongast#BLS 734,{ 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) { + switch (select("Whoops, this one is used!:It was just made, so it's new.")) { + case 1: mes "[Krongast]"; mes "Hmmmmm!"; mes "Please deliver"; @@ -1129,12 +1992,14 @@ lighthalzen,209,80,4 script Krongast#BLS 734,{ mes "I've been waiting"; mes "long enough already..."; close; + case 2: + mes "[Krongast]"; + mes "You double checked?"; + mes "Alright then, I'll take it!"; + next; + break; } - mes "[Krongast]"; - mes "You double checked?"; - mes "Alright then, I'll take it!"; - next; - set BSMITH_Q,14; + set BLCKSMTH_Q, 14; delitem 1119,1; //Tsurugi mes "[Krongast]"; mes "Oh ho..."; @@ -1157,38 +2022,37 @@ lighthalzen,209,80,4 script Krongast#BLS 734,{ mes "your receipt."; mes "Thank you for"; mes "your business!"; - mapannounce "lighthalzen",strcharinfo(0)+"... Thank you for the delivery.",bc_map; - close; + close2; + mapannounce "lighthalzen","" + strcharinfo(0) + "... Thank you for the delivery.",bc_map; + end; } - else if (BSMITH_Q == 14) { + if (BLCKSMTH_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; - } + 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) { + if ((BLCKSMTH_Q == 12) && (countitem(1713) > 0)) { mes "[Talpiz]"; mes "Oh~"; mes "Is it finally here?"; @@ -1197,7 +2061,8 @@ payon,214,79,4 script Talpiz#BLS 59,{ 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) { + switch (select("Whoops, this is a used one.:I'm sure it's new.")) { + case 1: mes "[Talpiz]"; mes "Hmmmm."; mes "Please hurry"; @@ -1206,12 +2071,14 @@ payon,214,79,4 script Talpiz#BLS 59,{ mes "I've waited too"; mes "long already..."; close; + case 2: + mes "[Talpiz]"; + mes "So, you're sure?"; + mes "Let me take a look..."; + next; + break; } - mes "[Talpiz]"; - mes "So, you're sure?"; - mes "Let me take a look..."; - next; - set BSMITH_Q,14; + set BLCKSMTH_Q,14; delitem 1713,1; //Arbalest mes "[Talpiz]"; mes "*wheet whoo*"; @@ -1232,10 +2099,11 @@ payon,214,79,4 script Talpiz#BLS 59,{ 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; + close2; + mapannounce "payon","Thanks, " + strcharinfo(0) + ", you really delivered. Everytime I look at this, I love it even more~",bc_map; + end; } - else if (BSMITH_Q == 14) { + if (BLCKSMTH_Q == 14) { mes "[Talpiz]"; mes "Really,"; mes "I can't say it"; @@ -1243,26 +2111,24 @@ payon,214,79,4 script Talpiz#BLS 59,{ 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; - } + 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) { + if ((BLCKSMTH_Q == 13) && (countitem(1122) > 0)) { mes "[Bismarc]"; mes "Sweet God..."; mes "Have you sent"; @@ -1274,7 +2140,8 @@ hugel,168,183,1 script Bismarc#BLS 118,{ 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) { + switch (select("Whoops, this is my own Ring Pommel Saber.:I'm sure this is the one.")) { + case 1: mes "[Bismarc]"; mes "N-Nooo..."; mes "Hurry...!"; @@ -1286,13 +2153,15 @@ hugel,168,183,1 script Bismarc#BLS 118,{ mes "he's slowly dying...!"; mes "You'd better hurry.^000000"; close; + case 2: + mes "[Bismarc]"; + mes "^666666*Ghklk*^000000"; + mes "Give it...!"; + mes "Pleeeease!"; + next; + break; } - mes "[Bismarc]"; - mes "^666666*Ghklk*^000000"; - mes "Give it...!"; - mes "Pleeeease!"; - next; - set BSMITH_Q,14; + set BLCKSMTH_Q,14; delitem 1122,1; //Ring_Pommel_Saber mes "^3355FFBismarc stabs"; mes "himself, repeatedly,"; @@ -1328,48 +2197,48 @@ hugel,168,183,1 script Bismarc#BLS 118,{ 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; + close2; + mapannounce "hugel","Thanks, " + strcharinfo(0) + ", for the delivery. You saved my life...",bc_map; + end; } - else if (BSMITH_Q == 14) { + if (BLCKSMTH_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; - } + 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) { + if (BLCKSMTH_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."; + mes "As you've realized from your past tests, you won't be promoted from Merchant to Blacksmith 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) { + switch (select("Yes:No, not yet~")) { + case 1: mes "[Mitehmaeeuh]"; mes "Alright..."; mes "My test is simple."; @@ -1378,44 +2247,80 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ mes "you fail. And I won't"; mes "tell you what you missed."; next; + set .@wizard_m2,rand(1,3); set .@blackss_te,0; mes "[Mitehmaeeuh]"; mes "Please listen"; mes "and answer carefully..."; next; - switch(rand(1,3)) { - case 1: + if (.@wizard_m2 == 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; + switch (select("Level 3 Push Cart:Item Appraisal:Level 10 Mammonite:Level 3 Enlarge Weight")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @blackss_te,@blackss_te + 20; + break; + } 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; + switch (select("Stun:Blindness:Chaos:Silence")) { + case 1: + set @blackss_te,@blackss_te + 20; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("900 Zeny:1000 Zeny:2000 Zeny:100,000 Zeny")) { + case 1: + break; + case 2: + set @blackss_te,@blackss_te + 20; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("21 % :22 % :23 % :24 % ")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @blackss_te,@blackss_te + 20; + break; + } mes "[Mitehmaeeuh]"; mes "5. What is the maximum"; mes "percentage that you can"; @@ -1423,31 +2328,70 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ 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: + switch (select("21 % :22 % :23 % :24 % ")) { + case 1: + break; + case 2: + break; + case 3: + set @blackss_te,@blackss_te + 20; + break; + case 4: + break; + } + } + if (.@wizard_m2 == 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; + switch (select("Zerom:Chon Chon:Skel Worker:Requiem")) { + case 1: + break; + case 2: + break; + case 3: + set @blackss_te,@blackss_te + 20; + break; + case 4: + break; + } 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; + switch (select("Flame Heart:Rough Wind:Great Nature:Mystic Frozen")) { + case 1: + set @blackss_te,@blackss_te + 20; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Wind of Verdure:Red Blood:Green Live:Crystal Blue")) { + case 1: + set @blackss_te,@blackss_te + 20; + break; + case 2: + set @blackss_te,@blackss_te + 20; + break; + case 3: + set @blackss_te,@blackss_te + 20; + break; + case 4: + set @blackss_te,@blackss_te + 20; + break; + } mes "[Mitehmaeeuh]"; mes "4. In general,"; mes "which of the following"; @@ -1455,28 +2399,50 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ 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; + switch (select("Fire Property:Water Property:Earth Property:Wind Property")) { + case 1: + break; + case 2: + set @blackss_te,@blackss_te + 20; + break; + case 3: + break; + case 4: + break; + } 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: + switch (select("5 Iron Ore :4 Iron Ore:3 Iron Ore:6 Iron Ore")) { + case 1: + set @blackss_te,@blackss_te + 20; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + } + else { 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.")) { + switch (select("Ask them what they need.:Have a brief conversation.:Ignore them.:Give items and run away.")) { case 1: + set @blackss_te,@blackss_te + 20; + break; case 2: - set .@blackss_te,.@blackss_te+20; + set @blackss_te,@blackss_te + 20; break; - default: + case 3: + break; + case 4: break; } mes "[Mitehmaeeuh]"; @@ -1485,30 +2451,65 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ 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; + switch (select("Al De Baran:Alberta:Morroc:Izlude")) { + case 1: + break; + case 2: + set @blackss_te,@blackss_te + 20; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("11 o'clock:5 o'clock:7 o'clock:12 o'clock")) { + case 1: + break; + case 2: + set @blackss_te,@blackss_te + 20; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Prontera:Morroc:Alberta:Einbroch")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @blackss_te,@blackss_te + 20; + break; + } 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; + switch (select("STR :DEX:AGI :VIT ")) { + case 1: + break; + case 2: + set @blackss_te,@blackss_te + 20; + break; + case 3: + break; + case 4: + break; + } } mes "[Mitehmaeeuh]"; mes "Ah..."; @@ -1517,21 +2518,22 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ next; mes "[Mitehmaeeuh]"; mes "You earned"; - mes ""+ .@blackss_te +" points..."; - if (.@blackss_te > 70) { + 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; + mes "However, don't let your early success make you overconfident."; + mes "A Blacksmith's life isn't a picnic. As proof that you have passed the test, I give you this Hammer of Blacksmith."; + set BLCKSMTH_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!"; + mes "of Blacksmith and go back to the Einbroch Blacksmith Guild. Okay then? I wish you the best of luck!"; close; } mes "You failed! You better study up before coming back here."; @@ -1539,21 +2541,22 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ mes "[Mitehmaeeuh]"; mes "With your knowledge, or lack thereof, you'll just end up hurting yourself holding a hammer!"; close; + case 2: + mes "[Mitehmaeeuh]"; + mes "Okay then."; + mes "Please prepare"; + mes "yourself and return"; + mes "when you are ready..."; + close; } - mes "[Mitehmaeeuh]"; - mes "Okay then."; - mes "Please prepare"; - mes "yourself and return"; - mes "when you are ready..."; - close; } - else if (BSMITH_Q == 17) { + if (BLCKSMTH_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?"; + mes "Why don't you go back to Mr.Geschupenschte?"; next; mes "[Mitehmaeeuh]"; mes "Don't forget to bring the Hammer of Blacksmith with you!"; @@ -1562,22 +2565,20 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ 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; - } + 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,{ @@ -1593,16 +2594,16 @@ geffen_in,109,170,3 script Blacksmith Guildsman#gef 726,{ 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.")) { + 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."; + mes "Unlike the Rune-Midgarts Kingdom, the Schwaltzvalt 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."; + mes "In ^3131FF'Izlude'^000000, you can use ^3131FF'the international airship'^000000 which travels between ^3131FFIzlude and Juno in the 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."; @@ -1618,7 +2619,7 @@ geffen_in,109,170,3 script Blacksmith Guildsman#gef 726,{ mes "Excuse me, but you do not have enough money."; close; } - set zeny,zeny-600; + set Zeny, Zeny - 600; warp "izlude",94,103; end; case 3: @@ -1626,4 +2627,4 @@ geffen_in,109,170,3 script Blacksmith Guildsman#gef 726,{ mes "Please take care!"; close; } -} +} \ No newline at end of file diff --git a/npc/re/jobs/2-1/hunter.txt b/npc/re/jobs/2-1/hunter.txt index 7ec9fd7ec..ad7f742b0 100644 --- a/npc/re/jobs/2-1/hunter.txt +++ b/npc/re/jobs/2-1/hunter.txt @@ -1,63 +1,20 @@ //===== rAthena Script ======================================= -//= Hunter Job Quest +// Hunter Job change Quest //===== By: ================================================== -//= EREMES THE CANIVALIZER (Aegis)Translated by yoshiki (Aegis) -//= Converted by kobra_k88 -//= Further bugfixed and tested by Lupus +//= Masao +//= Credits: Muad_Dib //===== Current Version: ===================================== -//= 3.7 +//= 1.0 //===== Compatible With: ===================================== -//= rAthena SVN +//= Any rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job Change quest for Hunter class. +//= [Translated from the Official] +//= Job change Quest from Archer -> Hunter. //===== 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). +//= 1.0 Updated to latest available official file. [Masao] //============================================================ -// Notices in the old Hunter Guild. -//============================================================ -in_hunter,99,99,4 script Hunter Info#hnt::HntNotice 727,{ +in_hunter,99,99,4 script Hunter Info 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."; @@ -70,14 +27,27 @@ in_hunter,99,99,4 script Hunter Info#hnt::HntNotice 727,{ mes " "; mes " "; mes " "; - mes "I, the Falcon breeder have moved out as well."; + mes "I, the Falcon breeder has moved out as well."; close; } -pay_fild10,148,252,3 duplicate(HntNotice) Job Change Location#hu 857 +pay_fild10,148,252,3 script Hunter Info#hugel 857,{ + 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 ^ff0000the far upper right side of Hugel000000."; + next; + mes "^804000(You found a tiny line written at the end of the notice.)^000000"; + mes " "; + mes " "; + mes " "; + mes "I, the Falcon breeder has moved out as well."; + close; +} -// Actual Job quest start -//============================================================ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ if (Upper == 1) { mes "[Hunter Sherin]"; @@ -88,7 +58,7 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ mes "Oops! I'm sorry, I could have sworn that we've met before. Huh. How weird."; close; } - if (BaseJob == Job_Archer && JobLevel < 40) { + if ((Class == Job_Baby_Archer || Class == 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; @@ -99,51 +69,51 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ mes "See you next time~"; close; } - if (SkillPoint) { + if (SkillPoint != 0) { 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) { + if (Class == Job_Baby || Class == 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) { + if (Class == Job_Swordman || Class == Job_Knight || Class == Job_Crusader) { 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) { + if (Class == Job_Mage || Class == Job_Wizard || Class == Job_Sage) { 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) { + if (Class == Job_Acolyte || Class == Job_Priest || Class == Job_Monk) { 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) { + if (Class == Job_Merchant || Class == Job_Blacksmith || Class == Job_Alchemist) { mes "[Hunter Guildsman]"; mes "Oh..."; mes "How's your business coming along?"; close; } - else if (BaseClass == Job_Thief) { + if (Class == Job_Thief || Class == Job_Assassin || Class == Job_Rogue) { 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) { + if (Class == Job_Dancer || Class == 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) { + if (Class == Job_Baby_Hunter || Class == 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?"; @@ -152,13 +122,13 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ 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) { + if (Class == Job_Archer) { + if (SkillPoint != 0) { 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) { + 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; @@ -166,246 +136,303 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ 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) { + if ((HNTR_Q == 17) && (countitem(1007) > 0) && (JobLevel > 39)) { + if (JobLevel > 49) { + 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!!"; + if(Class == Job_Baby_Archer){ + jobchange Job_Baby_Hunter; + } else { + jobchange Job_Hunter; + } + completequest 4013; + 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~"; + getitem 1718,1; //Hunter_Bow + close; + } mes "[Hunter Sherin]"; mes "Oh...?"; mes "You passed"; - mes "the job test?!"; + mes "the job test?!!"; mes "Congratulations~!!"; next; mes "[Hunter Sherin]"; mes "Well then,"; mes "I will now change"; - mes "your job to a Hunter~"; + 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; + if(Class == Job_Baby_Archer){ + jobchange Job_Baby_Hunter; + } else { + jobchange Job_Hunter; + } 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~"; + mes "Become a noble person and be a worthy representative of the 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 + getitem 1710,1; //CrossBow close; } - else if ((JobLevel > 39) && ((HNTR_Q == 0) || (HNTR_Q == 1))) { - if (HNTR_Q == 0) { + if ((JobLevel > 39) && (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 "Oh, you're an Archer! It seems as if you've trained enough as an Archer... You came here to become a Hunter, right?"; + mes "Hehe~"; + mes "I was right! Let me put you on the candidate list. Let's see~*"; 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.")) { + 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; + switch (select("Yes~ Let's start now.:No, I'll be back later.")) { case 1: - mes "[Hunter Guildsman]"; - mes "Hehe~"; - mes "I was right! Let me put you on the candidate list. Let's see~*"; + 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; + set @knight_t, 0; + 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 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + 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 Guildsman]"; - mes "Hmm... Let's start with the interview. Wait and relax a moment. No need to worry, I'll prepare everything~"; + 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 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + 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 "^3355FF*Gathers and flips through papers*^000000"; + mes "[Hunter Sherin]"; + mes "How would you go"; + mes "about to make the"; + mes "Zeny that you need?"; next; - mes "^3355FF*Rummage rummage*^000000"; + switch (select("Beg here and there.:Sell items I do not need.:Hunt at a nearby field.")) { + case 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + 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 Guildsman]"; - mes "Ah!"; - mes "Here they are: the interview questions~ First of all, my name is 'Sherin.' Nice to meet you!"; + mes "[Hunter Sherin]"; + mes "What is your"; + mes "solution to this"; + mes "situation?"; next; + switch (select("Attack a Hode from the top of a hill.:Go back to town.:Attack someone else's Hode.")) { + case 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + break; + } mes "[Hunter Sherin]"; - mes "Well then,"; - mes "shall we begin?"; + 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; + switch (select("Would it be possible to get a Heal, please?:Heal, please.:Heal me.")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + break; + case 3: + break; + } + 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 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + mes "[Hunter Sherin]"; + mes "While you are waiting, someone is begging for items and Zeny. What should you do?"; + next; + switch (select("Give some of my items and Zeny.:Ignore and walk away.:Tell the person about a good place to hunt.")) { + case 1: + break; + case 2: + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + 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: + set @knight_t, @knight_t + 10; + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + 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("Yes~ Let's start now.:No, I'll be back later.") == 1) { - if(checkquest(4000) == -1) { - setquest 4000; - } + switch (select("Watch, then attack when asked for help.:Attack and see what happens.:Just go back to town.")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + break; + case 3: + break; + } + 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 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + mes "[Hunter Sherin]"; + mes "Okay, this is the end of the test!"; + next; + if (@knight_t == 100) { + set HNTR_Q,2; + setquest 4001; 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?"; + 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 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; + 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 (@knight_t == 90) { + set HNTR_Q,2; + setquest 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 "Okay..."; - mes "Come back"; - mes "when you're ready~"; + mes "Just remember to always keep basic etiquette in mind. Try harder in the following tests and make me happy, okay?"; 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; + set HNTR_Q,1; + setquest 4000; 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~"; + 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 "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."; + 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 "Just remember to always keep basic etiquette in mind. Try harder in the following tests and make me happy, okay?"; + 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 Sherin]"; + mes "Okay..."; + mes "Come back"; + mes "when you're ready~"; 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"; @@ -425,7 +452,7 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ 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; + close; case 3: mes "[Hunter Guildsman]"; mes "Okay then,"; @@ -433,153 +460,492 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ close; } } - else if (HNTR_Q > 2 && HNTR_Q < 10) { + if ((JobLevel > 39) && (HNTR_Q == 1)) { 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~"; + mes "Welcome back...!"; + mes "Well, let's start with the interview. This time, carefully think about the answers to each question."; next; + set @knight_t, 0; 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 "Well then,"; + mes "let's begin."; + next; mes "[Hunter Sherin]"; - mes "????"; + 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 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } mes "[Hunter Sherin]"; - mes "You weren't able to find the Demon Hunter? That guy is just to the left! Hehe~"; + 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 "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?"; + mes "But you are in Payon!!"; + mes "How do you go to the desert?"; 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; + switch (select("Ask a Priest to open a free warp portal.:Use the Kafra service.:Walk with a friend.")) { + case 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + break; } - } - 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]; + 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 "[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."; + mes "[Hunter Sherin]"; + mes "How would you go"; + mes "about to make the"; + mes "Zeny that you need?"; 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; + switch (select("Beg here and there.:Sell items I do not need.:Hunt at a nearby field.")) { + case 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + break; } - else if(checkquest(4005) != -1) { - changequest 4005,4009; + 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; + switch (select("Attack a Hode from the top of a hill.:Go back to town.:Attack someone else's Hode.")) { + case 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + break; } - else if(checkquest(4006) != -1) { - changequest 4006,4010; + 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; + switch (select("Would it be possible to get a Heal, please?:Heal, please.:Heal me.")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + break; + case 3: + break; + } + 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 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + mes "[Hunter Sherin]"; + mes "While you are waiting, someone is begging for items and Zeny. What should you do?"; + next; + switch (select("Give some of my items and Zeny.:Ignore and walk away.:Tell the person about a good place to hunt.")) { + case 1: + break; + case 2: + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + 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: + set @knight_t, @knight_t + 10; + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + 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; + switch (select("Watch, then attack when asked for help.:Attack and see what happens.:Just go back to town.")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + break; + case 3: + break; + } + 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 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + break; } - else if(checkquest(4007) != -1) { - changequest 4007,4010; + mes "[Hunter Sherin]"; + mes "Okay, this is"; + mes "the end of the test!"; + next; + if (@knight_t == 100) { + set HNTR_Q,2; + setquest 4001; + mes "[Hunter Sherin]"; + mes "Well done! It seems you've got the right outlook on life. You definitely have what it takes to become a Hunter~"; + next; + mes "[Hunter Sherin]"; + mes "I'm happy to say you've passed the interview~ Now, go to that person in the corner and confirm which items are necessary for the job change test~"; + close; } - else { - changequest 4008,4010; + if (@knight_t == 90) { + set HNTR_Q,2; + setquest 4001; + mes "[Hunter Sherin]"; + mes "Hmmm... Well, your score isn't exactly perfect, but I'll let you pass anyway. I'm not sure what our Guildmaster will think though..."; + next; + mes "[Hunter Sherin]"; + mes "Just remember to keep the basics of etiquette in mind. Try harder in the following tests, and make me happy, okay?"; + close; } - delitem .@items[0],.@items[1]; - delitem .@items[2],.@items[3]; - delitem .@items[4],.@items[5]; + if (HNTR_Q == 1){ + mes "[Hunter Sherin]"; + mes "Hmm..."; + mes "I'm sorry but you can't become a Hunter without knowing basic etiquette."; + next; + mes "[Hunter Sherin]"; + mes "Think about how you answered the questions once more. In order to be in tune with nature, you must first value your relationship with others."; + next; + mes "[Hunter Sherin]"; + mes "Well then..."; + mes "Come back"; + mes "when you're ready."; + close; + } + } + 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; + if (Sex == 1) { + mes "[Hunter Sherin]"; + 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!!"; + close; + } + mes "[Hunter Sherin]"; + 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; + } + 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 a building east of 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; + switch (select("Yes, that is correct.:Nope~~(heeheehee)")) { + case 1: + 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; + set .@item_need, rand(1,7); + if (.@item_need == 1) { + mes "[Demon Hunter]"; + mes "Hmm. ^6600005 Claw of Desert Wolf^000000 to use for arrow tips. ^6600005 Trunk^000000 to use here and there. And ^6600003 White Herb^000000 please."; + set HNTR_Q,3; + changequest 4001,4002; + 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 since he's the one that administers the test."; + mes "You can find him in a building east of the Payon Central Palace."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back to me when you have everything ready~"; + close; + } + if (.@item_need == 2) { + mes "[Demon Hunter]"; + mes "Hmm. ^6600003 Bill of Birds^000000 to use for the arrow tips. ^6600005 Skel-bone^000000 to use here and there. And ^6600003 Green Herbs^000000. That should be enough."; + set HNTR_Q,4; + changequest 4001,4003; + 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 since he's the one that administers the test."; + mes "You can find him in a building east of the Payon Central Palace."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back to me when you have everything ready~"; + close; + } + if (.@item_need == 3) { + mes "[Demon Hunter]"; + mes "Mmm. ^6600003 Venom Canine^000000 to use as arrow tips. ^6600003 Animal Skin^000000 to use here and there. And ^6600005 Red Herb^000000. That should be enough."; + set HNTR_Q,5; + changequest 4001,4004; + 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 since he's the one that administers the test."; + mes "You can find him in a building east of the Payon Central Palace."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back to me when you have everything ready~"; + close; + } + if (.@item_need == 4) { + mes "[Demon Hunter]"; + mes "Mmm. ^6600003 Dokkaebi Horn^000000 to make the arrow tips. ^6600003 Piece of Egg Shell^000000 to use here and there. And ^66000010 Fluff^000000. That should be enough."; + set HNTR_Q,6; + changequest 4001,4005; + 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 since he's the one that administers the test."; + mes "You can find him in a building east of the Payon Central Palace."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back to me when you have everything ready~"; + close; + } + if (.@item_need == 5) { + mes "[Demon Hunter]"; + mes "Mmm. ^6600009 Shell^000000 to make the arrow tips. ^6600009 Worm Peeling^000000 to use here and there. And ^6600009 Yellow Herb^000000. That should be enough."; + set HNTR_Q,7; + changequest 4001,4006; + next; + mes "[Demon Hunter]"; + mes "By the way, a member of our Hunter Guild is at the Archer Guild on official business. I believe you have to go visit this person since he is in charge of the testing."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back when you have everything ready~"; + close; + } + if (.@item_need == 6) { + mes "[Demon Hunter]"; + mes "Mmm. ^6600003 Tooth of Bat^000000 to use for the arrow tips. ^6600001 Sticky Mucus^000000 to use as adhesive. And ^6600001 Bear's Footskin^000000 will do."; + set HNTR_Q,8; + changequest 4001,4007; + next; + mes "[Demon Hunter]"; + mes "By the way, a member of our Hunter Guild is at the Archer Guild on official business. I believe you have to go visit the person since he's in charge of the testing."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back when you have everything ready~"; + close; + } + mes "[Demon Hunter]"; + mes "Mmm. ^6600002 Porcupine Quill^000000 to use for the arrow tips. ^6600001 Yoyo Tail^000000 to help make the bow string. And ^6600001 Acorn^000000 please."; + set HNTR_Q,9; + changequest 4001,4008; + next; + mes "[Demon Hunter]"; + mes "Before I forget. A member of our Hunter Guild is at the Archer Guild for official business. I believe you have to go visit the person since he is in charge of the testing."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back when you have everything ready~"; + close; + case 2: + mes "[Demon Hunter]"; + mes "Hey, stop messing around."; + mes "Your name is " + strcharinfo(0) + ", right?"; + next; + switch (select("Yes...:Hehehe. I keep telling you, it's not~~")) { + case 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; + set .@item_need, rand(1,7); + if (.@item_need == 1) { + mes "[Demon Hunter]"; + mes "Hmm. 5 ^660000Claw of Desert Wolf^000000 to use for arrow tips. ^6600005 Trunk^000000 to use here and there. And ^6600003 White Herb^000000 please."; + set HNTR_Q,3; + changequest 4001,4002; + 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 since he's the one that administers the test."; + mes "You can find him in a building east of the Payon Central Palace."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back to me when you have everything ready~"; + close; + } + if (.@item_need == 2) { + mes "[Demon Hunter]"; + mes "Hmm. ^6600003 Bill of Birds^000000 to use for the arrow tips. ^6600005 Skel-bone^000000 to use here and there. And ^6600003 Green Herbs^000000. That should be enough."; + set HNTR_Q,4; + changequest 4001,4003; + 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 since he's the one that administers the test."; + mes "You can find him in a building east of the Payon Central Palace."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back to me when you have everything ready~"; + close; + } + if (.@item_need == 3) { + mes "[Demon Hunter]"; + mes "Mmm. ^6600003 Venom Canine^000000 to use as arrow tips. ^6600003 Animal Skin^000000 to use here and there. And ^6600005 Red Herb^000000. That should be enough."; + set HNTR_Q,5; + changequest 4001,4004; + 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 since he's the one that administers the test."; + mes "You can find him in a building east of the Payon Central Palace."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back to me when you have everything ready~"; + close; + } + if (.@item_need == 4) { + mes "[Demon Hunter]"; + mes "Mmm. ^6600003 Dokkaebi Horn^000000 to make the arrow tips. ^6600003 Piece of Egg Shell^000000 to use here and there. And ^66000010 Fluff^000000. That should be enough."; + set HNTR_Q,6; + changequest 4001,4005; + 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 since he's the one that administers the test."; + mes "You can find him in a building east of the Payon Central Palace."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back to me when you have everything ready~"; + close; + } + if (.@item_need == 5) { + mes "[Demon Hunter]"; + mes "Mmm. ^6600009 Shell^000000 to make the arrow tips. ^6600009 Worm Peeling^000000 to use here and there. And ^6600009 Yellow Herb^000000. That should be enough."; + set HNTR_Q,7; + changequest 4001,4006; + next; + mes "[Demon Hunter]"; + mes "By the way, a member of our Hunter Guild is at the Archer Guild on official business. I believe you have to go visit this person since he is in charge of the testing."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back when you have everything ready~"; + close2; + } + if (.@item_need == 6) { + mes "[Demon Hunter]"; + mes "Mmm. ^6600003 Tooth of Bat^000000 to use for the arrow tips. ^6600001 Sticky Mucus^000000 to use as adhesive. And ^6600001 Bear's Footskin^000000 will do."; + set HNTR_Q,8; + changequest 4001,4007; + next; + mes "[Demon Hunter]"; + mes "By the way, a member of our Hunter Guild is at the Archer Guild on official business. I believe you have to go visit the person since he's in charge of the testing."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back when you have everything ready~"; + close; + } + mes "[Demon Hunter]"; + mes "Mmm. ^6600002 Porcupine Quill^000000 to use for the arrow tips. ^6600001 Yoyo Tail^000000 to help make the bow string. And ^6600001 Acorn^000000 please."; + set HNTR_Q,9; + changequest 4001,4008; + next; + mes "[Demon Hunter]"; + mes "Before I forget. A member of our Hunter Guild is at the Archer Guild for official business. I believe you have to go visit the person since he is in charge of the testing."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back when you have everything ready~"; + close; + case 2: + 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; + } + } + } + if (HNTR_Q == 3) { + mes "[Demon Hunter]"; + mes "Hmm?"; + next; + if ((countitem(7030) > 4) && (countitem(1019) > 4) && (countitem(509) > 2)) { + 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,10; + completequest 4002; + completequest 4003; + completequest 4004; + completequest 4005; + completequest 4006; + completequest 4007; + completequest 4008; + setquest 4009; + delitem 7030,5; //Claw_Of_Desert_Wolf + delitem 1019,5; //Wooden_Block + delitem 509,3; //White_Herb close; } mes "[Demon Hunter]"; @@ -588,70 +954,285 @@ hu_in01,382,382,4 script Guild Receptionist#hnt 732,{ 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 "^6600005 Claw of Desert Wolf^000000,"; + mes "^6600005 Trunk^000000 and"; + mes "^6600003 White Herb^000000."; mes "Come back once you have"; mes "gathered all the items."; close; } - else if (HNTR_Q > 9 && HNTR_Q < 17) { + if (HNTR_Q == 4) { 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."; + mes "Ah, you have returned."; + next; + if ((countitem(925) > 2) && (countitem(932) > 4) && (countitem(511) > 2)) { + mes "[Demon Hunter]"; + mes "You brought all the necessary materials... You can get directions to the testing area from our Guildmaster that is currently in the Payon Central Palace."; + set HNTR_Q,10; + completequest 4002; + completequest 4003; + completequest 4004; + completequest 4005; + completequest 4006; + completequest 4007; + completequest 4008; + setquest 4009; + delitem 925,3; //Bill_Of_Birds + delitem 932,5; //Skel_Bone + delitem 511,3; //Green_Herb + 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 "^6600003 Bill of Birds^000000,"; + mes "^6600005 Skel-bone^000000 and"; + mes "^6600003 Green Herb^000000."; + mes "Come back once you have"; + mes "gathered all the items."; close; } - else if (HNTR_Q == 17) { + if (HNTR_Q == 5) { mes "[Demon Hunter]"; - mes "Ooh. You passed the test. Congratulations~ You should go talk to Sherin now."; + mes "Hmm...let me see."; + next; + if ((countitem(937) > 2) && (countitem(919) > 2) && (countitem(507) > 4)) { + mes "[Demon Hunter]"; + mes "You brought all of the necessary materials... You can get directions to the testing area from our Guildmaster that is currently in the Payon Central Palace."; + set HNTR_Q,10; + completequest 4002; + completequest 4003; + completequest 4004; + completequest 4005; + completequest 4006; + completequest 4007; + completequest 4008; + setquest 4009; + delitem 937,3; //Posionous_Canine + delitem 919,3; //Animal's_Skin + delitem 507,5; //Red_Herb + 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 "^6600003 Venom Canine^000000,"; + mes "^6600003 Animal Skin^000000 and"; + mes "^6600005 Red Herb^000000."; + mes "Come back once you have"; + mes "gathered all of the items."; close; } - else { - mes "[Guild Receptionist]"; - mes "If you wish to change your job to a Hunter, you must register first."; + if (HNTR_Q == 6) { + mes "[Demon Hunter]"; + mes "Hmm? Let me see... "; + next; + if ((countitem(1021) > 2) && (countitem(7032) > 2) && (countitem(914) > 9)) { + mes "[Demon Hunter]"; + mes "You brought all of the necessary materials... You can get directions to the testing area from our Guildmaster that is currently in the Payon Central Palace."; + set HNTR_Q,10; + completequest 4002; + completequest 4003; + completequest 4004; + completequest 4005; + completequest 4006; + completequest 4007; + completequest 4008; + setquest 4009; + delitem 1021,3; //Dokkaebi_Horn + delitem 7032,3; //Piece_Of_Egg_Shell + delitem 914,10; //Fluff + 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 "^6600003 Dokkaebi Horn^000000,"; + mes "^6600003 Piece of Egg Shell^000000 and"; + mes "^66000010 Fluff^000000."; + mes "Come back once you have"; + mes "gathered all the items."; + close; + } + if (HNTR_Q == 7) { + mes "[Demon Hunter]"; + mes "Eh? Let me see..."; + next; + if ((countitem(935) > 8) && (countitem(955) > 8) && (countitem(508) > 8)) { + mes "[Demon Hunter]"; + mes "You brought all of the necessary materials... To get directions to the testing area, go talk to our Guildmaster who is at the Archer Guild."; + set HNTR_Q,11; + completequest 4002; + completequest 4003; + completequest 4004; + completequest 4005; + completequest 4006; + completequest 4007; + completequest 4008; + setquest 4010; + delitem 935,9; //Shell + delitem 955,9; //Worm_Peelings + delitem 508,9; //Yellow_Herb + 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 "^6600009 Shell^000000,"; + mes "^6600009 Worm Peeling^000000 and"; + mes "^6600009 Yellow Herb^000000."; + mes "Come back once you have"; + mes "gathered all the items."; + close; + } + if (HNTR_Q == 8) { + mes "[Demon Hunter]"; + mes "Huh? "; + next; + if ((countitem(913) > 2) && (countitem(938) > 0) && (countitem(948) > 0)) { + mes "[Demon Hunter]"; + mes "You brought all of the necessary materials... To get directions to the testing area, go talk to our Guildmaster who is at the Archer Guild."; + set HNTR_Q,11; + completequest 4002; + completequest 4003; + completequest 4004; + completequest 4005; + completequest 4006; + completequest 4007; + completequest 4008; + setquest 4010; + delitem 913,3; //Tooth_Of_Bat + delitem 938,1; //Sticky_Mucus + delitem 948,1; //Bear's_Foot + 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 "^6600003 Tooth of Bat^000000,"; + mes "^6600001 Sticky Mucus^000000 and"; + mes "^6600001 Bear's Footskin^000000."; + mes "Come back once you have"; + mes "gathered all the items."; + close; + } + if (HNTR_Q == 9) { + mes "[Demon Hunter]"; + mes "Huh? "; + next; + if ((countitem(1027) > 1) && (countitem(942) > 0) && (countitem(1026) > 0)) { + mes "[Demon Hunter]"; + mes "You brought all of the necessary materials... To get directions to the testing area, go talk to our Guildmaster who is at the Archer Guild."; + set HNTR_Q,11; + completequest 4002; + completequest 4003; + completequest 4004; + completequest 4005; + completequest 4006; + completequest 4007; + completequest 4008; + setquest 4010; + delitem 1027,2; //Porcupine_Spike + delitem 942,1; //Yoyo_Tail + delitem 1026,1; //Acorn + 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 "^6600002 Porcupine Quill^000000,"; + mes "^6600001 Yoyo Tail^000000 and"; + mes "^6600001 Acorn^000000."; + mes "Come back once you have"; + mes "gathered all the items."; close; } + 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; + } + if (HNTR_Q == 17) { + mes "[Demon Hunter]"; + mes "Ooh. You passed the test. Congratulations~ You should go talk to Sherin now."; + close; + } + 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?"; + set @a0, 1; 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) { + while (1) { + 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 "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."; + mes "This is to test your ability to move swiftly and locate targets in various situations."; + set @a0,@a0 + 1; + close2; + break; + 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."; + set @a0,@a0 + 1; + close2; + break; + 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."; + set @a0,@a0 + 1; + close2; + break; + case 4: + if (@a0 == 1) { + 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; + } + else { + mes "[Hunter Guildmaster]"; + mes "Okay. Best of luck."; + mes "I'll send you right now."; + next; + } + break; } - mes "[Hunter Guildmaster]"; - mes "Okay. Best of luck."; - mes "I'll send you right now."; - next; + break; } mes "[Hunter Guildmaster]"; mes "Well, then. Your arrows are probably still being made, so you can use mine to take the test."; @@ -662,7 +1243,7 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ warp "job_hunte",176,22; end; } - else if (HNTR_Q > 1 && HNTR_Q < 10) { + if ((HNTR_Q > 1) && (HNTR_Q < 10)) { mes "[Hunter Guildmaster]"; mes "Mmm...?"; mes "What is an Archer"; @@ -675,12 +1256,12 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ mes "Go gather the items for the test, and come back after you've visited the Hunter Guild."; close; } - else if (HNTR_Q == 11) { + 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) { + 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; @@ -688,33 +1269,43 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ 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; + while (1) { + 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."; + set @a0,@a0 + 1; + close2; + break; + 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."; + set @a0,@a0 + 1; + close2; + break; + 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."; + set @a0,@a0 + 1; + close2; + break; + case 4: + mes "[Hunter Guildmaster]"; + mes "Okay. Good luck."; + mes "I'll send you right now."; + next; + break; + } + break; } mes "[Hunter Guildmaster]"; mes "Eh? Why won't I give you Silver Arrows? Don't expect anything when you don't bring any materials."; @@ -722,34 +1313,37 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ 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) { + switch (select("Okay. Let's start...:Ah, wait a sec.")) { + case 1: mes "[Hunter Guildmaster]"; mes "Okay!! I hope"; mes "you will pass this time!"; close2; set HNTR_Q,12; + changequest 4009,4011; warp "job_hunte",176,22; end; + case 2: + mes "[Hunter Guildmaster]"; + mes "Then hurry and finish"; + mes "all of your preparations."; + close; } - mes "[Hunter Guildmaster]"; - mes "Then hurry and finish"; - mes "all of your preparations."; - close; } - else if (HNTR_Q == 16) { + 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; + changequest 4012,4013; 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) { + 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; @@ -757,61 +1351,69 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ 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; - } + 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) { + +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?"; + set @a0,1; + next; + while (1) { + 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."; + set @a0,@a0 + 1; + close2; + cutin "",255; + break; + 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."; + set @a0,@a0 + 1; + close2; + cutin "",255; + break; + 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 "...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."; + 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."; + set @a0,@a0 + 1; + close2; + cutin "",255; + break; + case 4: + if (@a0 == 1) { + 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; + } + else { + mes "[Hunter Guildmaster]"; + mes "Okay, best of luck."; + mes "I'll send you right now."; + next; + } + break; } - mes "[Hunter Guildmaster]"; - mes "Okay, best of luck."; - mes "I'll send you right now."; - next; + break; } mes "[Hunter Guildmaster]"; mes "Well, your arrows are probably still being made, so you can use mine to take the test."; @@ -822,10 +1424,9 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ 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) { + if ((HNTR_Q > 1) && (HNTR_Q < 10)) { mes "[Hunter Guildmaster]"; mes "Mmm...?"; mes "Why is an Archer"; @@ -837,10 +1438,10 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "[Hunter Guildmaster]"; mes "Stop by once you have gathered all the items needed for the test."; close2; - cutin "job_huntermaster",255; + cutin "",255; end; } - else if (HNTR_Q == 10) { + if (HNTR_Q == 10) { mes "[Hunter]"; mes "Mmm?"; mes "Can I help you"; @@ -851,10 +1452,10 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ 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; + cutin "",255; end; } - else if (HNTR_Q > 11 && HNTR_Q < 16) { + 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; @@ -863,42 +1464,49 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ 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; + while (1) { + 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."; + set @a0,@a0 + 1; + close2; + cutin "",255; + break; + 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."; + set @a0,@a0 + 1; + close2; + cutin "",255; + break; + 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."; + set @a0,@a0 + 1; + close2; + cutin "",255; + break; + case 4: + mes "[Hunter Guildmaster]"; + mes "Okay, good luck."; + mes "I'll send you right now..."; + next; + break; + } + break; } 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."; @@ -909,30 +1517,34 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "you're ready."; mes "Let's begin."; next; - if (select("Yes, let's start.:Ah, wait a moment.") == 1) { + switch (select("Yes, let's start.:Ah, wait a moment.")) { + case 1: mes "[Hunter Guildmaster]"; mes "Okay!! Now..."; mes "Pass this time!"; close2; - cutin "job_huntermaster",255; + cutin "",255; set HNTR_Q,12; + changequest 4010,4011; warp "job_hunte",176,22; end; + case 2: + mes "[Hunter Guildmaster]"; + mes "*Sigh...*"; + mes "Come back when"; + mes "you're done with"; + mes "your preparations."; + close2; + cutin "",255; + 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) { + 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; + changequest 4012,4013; savepoint "payon",104,99; getitem 1007,1; //Penetration next; @@ -941,10 +1553,10 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "There you go."; mes "Now hurry back to the Hunter Guild, and join us~"; close2; - cutin "job_huntermaster",255; + cutin "",255; end; } - else if (HNTR_Q == 17) { + 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; @@ -954,19 +1566,71 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "for you back"; mes "at the Hunter Guild."; close2; - cutin "job_huntermaster",255; + cutin "",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."; + 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 "",255; + end; +} + +job_hunte,178,32,1 script Guide#hnt 107,5,2,{ + + 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; + } + 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?"; + next; + switch (select("Keep trying.:Resign.")) { + case 1: + mes "Okay. Do your best to become a great Hunter. Please enter the waiting room. If someone entered already, 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 "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::OnReset"; + close2; + set HNTR_Q,13; + savepoint "payon",104,99; + warp "payon_in02",21,27; + end; + } + } + if (HNTR_Q > 15) { + mes "[Guide]"; + mes "You shouldn't be here. How about finding the required job change item first?"; close2; - cutin "job_huntermaster",255; + savepoint "payon",104,99; + warp "payon_in02",21,27; end; } -} -job_hunte,178,32,1 script Guide#hnt 107,5,2,{ OnTouch: if (HNTR_Q == 12) { mes "[Guide]"; @@ -986,7 +1650,7 @@ OnTouch: savepoint "job_hunte",176,22; close; } - else if (HNTR_Q > 12 && HNTR_Q < 16) { + if ((HNTR_Q > 12) && (HNTR_Q < 16)) { mes "[Guide]"; mes "Hmm..."; mes "Did you mess up?"; @@ -997,33 +1661,35 @@ OnTouch: 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.")) { + 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; + 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"; + donpcevent "Waiting Room#hnt::OnReset"; close2; set HNTR_Q,13; savepoint "payon",104,99; warp "payon_in02",21,27; + end; } } - else if (HNTR_Q > 15) { + 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; } - end; + } -job_hunte,178,38,1 script Waiting Room#hnt 66,{ +job_hunte,176,38,1 script Waiting Room#hnt 66,{ end; OnInit: @@ -1032,93 +1698,58 @@ OnInit: end; OnStartArena: - warpwaitingpc "job_hunte", 90, 67; + warpwaitingpc "job_hunte",90,67; donpcevent "Manager#hnt::OnEnable"; + donpcevent "Manager#hnt2::OnEnable"; + donpcevent "switch#hnt::OnDisable"; + donpcevent "hnt_backers::OnDisable"; disablewaitingroomevent; end; -OnStart: +OnReset: enablewaitingroomevent; end; } job_hunte,1,1,1 script Manager#hnt 66,{ + end; + OnInit: - disablenpc "Manager#hnt"; + hideonnpc "Manager#hnt"; end; OnEnable: - donpcevent "Switch#hnt::OnDisable"; - enablenpc "Manager#hnt"; - set .MyMobs,6; - initnpctimer; - // Target Mosnters + hideoffnpc "Manager#hnt"; 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"; + initnpctimer; + end; + +OnReset: + killmonster "job_hunte","Manager#hnt::OnMyMobDead"; end; OnMyMobDead: - set .MyMobs,.MyMobs-1; - if (.MyMobs < 3) { + if (mobcount ("job_hunte","Manager#hnt::OnMyMobDead") < 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::OnReset"; + donpcevent "Manager#hnt2::OnReset"; donpcevent "Manager#hnt::OnDisable"; + donpcevent "Manager#hnt2::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"; + hideonnpc "Manager#hnt"; end; OnTimer1000: @@ -1194,610 +1825,1558 @@ OnTimer194000: end; OnTimer195000: - areawarp "job_hunte",50,64,129,143,"job_hunte",176,22; + donpcevent "hnt_backers::OnEnable"; + end; + +OnTimer196000: + donpcevent "hnt_backers::OnDisable"; + end; + +OnTimer196500: + donpcevent "hnt_backers::OnEnable"; end; OnTimer197000: + donpcevent "hnt_backers::OnDisable"; donpcevent "Manager#hnt::OnReset"; - donpcevent "Waiting Room#hnt::OnStart"; + donpcevent "Manager#hnt2::OnReset"; + donpcevent "Waiting Room#hnt::OnReset"; end; } -job_hunte,93,101,1 script Switch#hnt 723,1,1,{ +job_hunte,1,2,1 script Manager#hnt2 66,{ + end; + +OnInit: + hideonnpc "Manager#hnt2"; + end; + +OnEnable: + hideoffnpc "Manager#hnt2"; + monster "job_hunte",85,100,"Job Test Monster",1016,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",72,102,"Job Test Monster",1041,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",108,103,"Job Test Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",88,127,"Job Test Monster",1002,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",125,69,"Job Test Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",77,112,"Job Tester Monster",1016,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",53,106,"Job Tester Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",53,73,"Job Tester Monster",1002,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",125,70,"Job Tester Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",90,91,"Job Tester Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",67,80,"Hunter Change Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",77,112,"Hunter Change Monster",1016,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",53,106,"Hunter Change Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",53,73,"Hunter Change Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",125,70,"Hunter Change Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",90,91,"Job Transfer Monster",1041,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",85,100,"Job Transfer Monster",1002,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",72,102,"Job Transfer Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",108,103,"Job Transfer Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",77,112,"Job Transfer Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",112,139,"Binnie",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",112,139,"Darrel",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",112,139,"Rex",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",112,139,"Anselmo",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",90,91,"Anolian",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",53,73,"Monster Sample",1002,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",53,106,"Not Me",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",77,112,"Help Me",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",72,102,"Do Not Hit Me",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",108,103,"Attack Speed 184",1015,1,"Manager#hnt2::OnMyMobDead"; + end; + +OnReset: + killmonster "job_hunte","Manager#hnt2::OnMyMobDead"; + end; + +OnDisable: + hideonnpc "Manager#hnt2"; + end; + +OnMyMobDead: + mapannounce "job_hunte"," " + strcharinfo(0) + "!! You made a mistake...Please try again.",bc_map; + set HNTR_Q,13; + warp "job_hunte",176,22; + donpcevent "Waiting Room#hnt::OnReset"; + donpcevent "Manager#hnt::OnReset"; + donpcevent "Manager#hnt2::OnReset"; + donpcevent "Manager#hnt::OnDisable"; + donpcevent "Manager#hnt2::OnDisable"; + end; +} + +job_hunte,93,101,1 script switch#hnt 723,1,1,{ + + 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; + donpcevent "exit#hnttest::OnEnable"; + 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 "Waiting Room#hnt::OnReset"; + end; + } + OnTouch: mes "^3355FFThere are 3 buttons"; mes "on the escape switch.^000000"; set HNTR_Q,15; next; - switch(select("Escape:Cancel:Re-test")) { + 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"; + mapannounce "job_hunte"," ## Escape Warp Portal activation complete. ## ",bc_map; + donpcevent "exit#hnttest::OnEnable"; end; case 2: mes "^3355FFCanceling"; mes "Operation.^000000"; close2; - mapannounce "job_hunte"," !! Operation has been cancelled. !! ",bc_map; + mapannounce "job_hunte"," ## Operation has been cancelled. ## ",bc_map; end; case 3: - mapannounce "job_hunte"," !! Cancellation warp activating... !! ",bc_map; + 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"; + donpcevent "Waiting Room#hnt::OnReset"; end; } OnDisable: - disablenpc "exit#hnttest"; - disablenpc "Switch#hnt"; + donpcevent "exit#hnttest::OnDisable"; + hideonnpc "switch#hnt"; end; OnEnable: - enablenpc "Switch#hnt"; + hideoffnpc "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"; + donpcevent "Waiting Room#hnt::OnReset"; set HNTR_Q,16; changequest 4011,4012; savepoint "payon",104,99; - if (rand(1)) + set .@whe,rand(1,2); + if (.@whe == 1) { warp "payon_in02",21,27; - warp "payon_in03",128,7; + } + else { + warp "payon_in03",128,7; + } + end; + +OnInit: + hideonnpc "exit#hnttest"; + end; + +OnEnable: + hideoffnpc "exit#hnttest"; + end; + +OnDisable: + hideonnpc "exit#hnttest"; + end; } -// Hunter Job test traps. -//============================================================ -job_hunte,52,140,0 script 1-1::HntTrap -1,0,1,{ +job_hunte,89,103,0 script hnt_backers 139,42,42,{ + 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; - } + warp "job_hunte",176,22; set HNTR_Q,13; + end; + +OnInit: + hideonnpc "hnt_backers"; + end; + +OnEnable: + hideoffnpc "hnt_backers"; + end; + +OnDisable: + hideonnpc "hnt_backers"; + end; +} + +- script hnt_job_quest_test::hntjqt -1,{ + +OnTouch: + switch(rand(1,128)){ + 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 11: mapannounce "job_hunte"," " + strcharinfo(0) + "... aww~ Try again! You can do it!",bc_map; break; + case 12: mapannounce "job_hunte"," " + strcharinfo(0) + ", @#$%#^!@ and you wanna be a what? Hunter? Get back there!",bc_map; break; + case 13: mapannounce "job_hunte"," " + strcharinfo(0) + " was defeated by the forces of evil. Don't give up, hero!",bc_map; break; + case 14: mapannounce "job_hunte","I put a spell on you " + strcharinfo(0) + " and now you're mine! Go start over now.",bc_map; break; + case 15: 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 16: mapannounce "job_hunte","That's my nest " + strcharinfo(0) + "! dont step there, squawk~ Start over.",bc_map; break; + case 17: mapannounce "job_hunte"," " + strcharinfo(0) + ", another archer down. 3 more to go!",bc_map; break; + case 18: mapannounce "job_hunte"," " + strcharinfo(0) + ", have you got what it takes? Then try again.",bc_map; break; + case 19: 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 20: mapannounce "job_hunte"," " + strcharinfo(0) + " had too much prune juice to drink today. Back 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","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; + case 42: 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 43: 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 44: mapannounce "job_hunte"," " + strcharinfo(0) + " fell into a trap. Once again, for clarity's sake, the name is " + strcharinfo(0) + ".",bc_map; break; + case 45: mapannounce "job_hunte","Oy oy, " + strcharinfo(0) + ".. I've seen blind Porings get further! Go back to the starting point.",bc_map; break; + case 46: 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 47: 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 48: 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 49: 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 50: mapannounce "job_hunte"," " + strcharinfo(0) + ", do you have any idea where you're going? Start over *sigh*.",bc_map; break; + case 51: mapannounce "job_hunte"," " + strcharinfo(0) + ", do you like green tea ice cream? No? Go back to the starting point...*hmph*",bc_map; break; + case 52: mapannounce "job_hunte","Oh, no.. " + strcharinfo(0) + ", are you hurt? Come now, let's go back to the starting point.",bc_map; break; + case 53: 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 54: 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 55: 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 56: mapannounce "job_hunte","Oh, " + strcharinfo(0) + ".. You can do better. Try again!",bc_map; break; + case 57: 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 58: 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 59: mapannounce "job_hunte"," " + strcharinfo(0) + " faaaaaaaaaaaaaaaaailed.. Hehe, just kidding. You will be returned to the starting point so try again!",bc_map; break; + case 60: 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 61: mapannounce "job_hunte"," " + strcharinfo(0) + ", HAHAHAHAHAHA!!!! I can't believe you fell for that one!",bc_map; break; + case 62: 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 63: 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 64: 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 65: mapannounce "job_hunte"," " + strcharinfo(0) + ", OW...now that's gotta hurt. Back to the start~",bc_map; break; + case 66: mapannounce "job_hunte"," " + strcharinfo(0) + ", I find your lack of faith disturbing... Let's start over.",bc_map; break; + case 67: 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 68: 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 69: 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 70: mapannounce "job_hunte"," " + strcharinfo(0) + ", try not. Do or do not. There is no try.",bc_map; break; + case 71: mapannounce "job_hunte"," " + strcharinfo(0) + ", that is why you fail. Now try again!",bc_map; break; + case 72: 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 73: mapannounce "job_hunte"," " + strcharinfo(0) + ", you are beaten. It is useless to resist.",bc_map; break; + case 74: mapannounce "job_hunte"," " + strcharinfo(0) + ", I'm looking forward to completing your training. In time you will call me Master.",bc_map; break; + case 75: mapannounce "job_hunte"," " + strcharinfo(0) + ", your overconfidence is your weakness.",bc_map; break; + case 76: mapannounce "job_hunte"," " + strcharinfo(0) + ", watch your step. This place can be a little rough.",bc_map; break; + case 77: mapannounce "job_hunte"," " + strcharinfo(0) + ", oh I told you it was dangerous here.",bc_map; break; + case 78: mapannounce "job_hunte"," " + strcharinfo(0) + ", everything is proceeding as I have foreseen.",bc_map; break; + case 79: mapannounce "job_hunte"," " + strcharinfo(0) + ", you should have not come back.",bc_map; break; + case 80: mapannounce "job_hunte"," " + strcharinfo(0) + ", there are alternatives to fighting. But not to losing to this test. Now try again!",bc_map; break; + case 81: 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 82: mapannounce "job_hunte"," " + strcharinfo(0) + ", we do not train to be merciful here, mercy is for the weak!",bc_map; break; + case 83: mapannounce "job_hunte"," " + strcharinfo(0) + ", defeat does not exist here, does it?!",bc_map; break; + case 84: mapannounce "job_hunte"," " + strcharinfo(0) + ", concentrate. Focus your powers!",bc_map; break; + case 85: mapannounce "job_hunte"," " + strcharinfo(0) + ", am I going mad, or did the word -think- escape your lips?",bc_map; break; + case 86: mapannounce "job_hunte"," " + strcharinfo(0) + ", you're just stalling now.",bc_map; break; + case 87: mapannounce "job_hunte"," " + strcharinfo(0) + ", life isn't always fair.",bc_map; break; + case 88: mapannounce "job_hunte"," " + strcharinfo(0) + ".... Uhhh...it's not OUR fault....",bc_map; break; + case 89: mapannounce "job_hunte"," " + strcharinfo(0) + ", survivability takes priority.",bc_map; break; + case 90: mapannounce "job_hunte"," " + strcharinfo(0) + ", people have the strength to overcome their obstacles...everyone can.",bc_map; break; + case 91: 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 92: mapannounce "job_hunte"," " + strcharinfo(0) + ", some things are real and some things are false. Can't you tell the difference?",bc_map; break; + case 93: 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 94: mapannounce "job_hunte"," " + strcharinfo(0) + ", I'll give you just one piece of advice... dying hurts like hell.",bc_map; break; + case 95: mapannounce "job_hunte"," " + strcharinfo(0) + ", don't give up the spirit! Just be more careful...",bc_map; break; + case 96: 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 97: 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 98: 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 99: 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 100: 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 101: mapannounce "job_hunte"," " + strcharinfo(0) + ", ....Chii?",bc_map; break; + case 102: mapannounce "job_hunte"," " + strcharinfo(0) + ", Mine! Mine! Mine! Mine!",bc_map; break; + case 103: mapannounce "job_hunte"," " + strcharinfo(0) + ", it's time to duel!",bc_map; break; + case 104: mapannounce "job_hunte"," " + strcharinfo(0) + ", I choose you!...wait... uagh...not you!...",bc_map; break; + case 105: mapannounce "job_hunte"," " + strcharinfo(0) + ", this isn't the time to be complimenting it!",bc_map; break; + case 106: mapannounce "job_hunte"," " + strcharinfo(0) + "...Oh great, what else could go wrong today?",bc_map; break; + case 107: 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 108: 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 109: mapannounce "job_hunte"," " + strcharinfo(0) + ", don't worry about it. We're good at fighting losing battles, remember?",bc_map; break; + case 110: 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 111: mapannounce "job_hunte"," " + strcharinfo(0) + ", you must forget about your past for the sake of your own happiness.",bc_map; break; + case 112: mapannounce "job_hunte"," " + strcharinfo(0) + ", if you can fool your friends, you can fool your enemies.",bc_map; break; + case 113: mapannounce "job_hunte"," " + strcharinfo(0) + ", this world is made up of love and peace!",bc_map; break; + case 114: mapannounce "job_hunte"," " + strcharinfo(0) + ", if you fail, you must drink this.....*evil grin*",bc_map; break; + case 115: mapannounce "job_hunte"," " + strcharinfo(0) + ", don't say we didn't warn you!",bc_map; break; + case 116: 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 117: mapannounce "job_hunte"," " + strcharinfo(0) + ", STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!",bc_map; break; + case 118: mapannounce "job_hunte"," " + strcharinfo(0) + ", how you like me now? That's right, that was MY trap!",bc_map; break; + case 119: mapannounce "job_hunte"," " + strcharinfo(0) + "...brilliant...just absolutely...genius. Sorry, I was talking about all these crazy traps.",bc_map; break; + case 120: mapannounce "job_hunte"," " + strcharinfo(0) + ", it's time to bust out of that trap, Houdini-style! Hey, wait...come back!",bc_map; break; + case 121: 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 122: mapannounce "job_hunte"," " + strcharinfo(0) + "...not smooth, dude. Go for it again, one more time!",bc_map; break; + case 123: mapannounce "job_hunte"," " + strcharinfo(0) + ",it looks like you could really be in a pickle. Back to the starting point...",bc_map; break; + case 124: 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 125: 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 126: mapannounce "job_hunte"," " + strcharinfo(0) + ", don't give up! The world still needs you!",bc_map; break; + case 127: mapannounce "job_hunte"," " + strcharinfo(0) + ", it's okay to cry. Just not too loudly.",bc_map; break; + case 128: 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; + default: mapannounce "job_hunte"," " + strcharinfo(0) + ", you have fallen into a trap. You will be returned to the starting point.",bc_map; break; + } + set job_hunter,13; warp "job_hunte",176,22; + donpcevent "Waiting Room#hnt::OnReset"; donpcevent "Manager#hnt::OnReset"; - donpcevent "Waiting Room#hnt::OnStart"; + donpcevent "Manager#hnt2::OnReset"; + donpcevent "Manager#hnt::OnDisable"; + donpcevent "Manager#hnt2::OnDisable"; + end; + +OnEnable: + hideoffnpc "1-1"; + hideoffnpc "1-2"; + hideoffnpc "1-3"; + hideoffnpc "1-4"; + hideoffnpc "1-5"; + hideoffnpc "1-6"; + hideoffnpc "1-7"; + hideoffnpc "1-8"; + hideoffnpc "2-1"; + hideoffnpc "2-2"; + hideoffnpc "2-3"; + hideoffnpc "2-4"; + hideoffnpc "2-5"; + hideoffnpc "2-6"; + hideoffnpc "2-7"; + hideoffnpc "2-8"; + hideoffnpc "3-1"; + hideoffnpc "3-2"; + hideoffnpc "3-3"; + hideoffnpc "3-4"; + hideoffnpc "4-1"; + hideoffnpc "4-2"; + hideoffnpc "4-3"; + hideoffnpc "4-4"; + hideoffnpc "5-1"; + hideoffnpc "5-2"; + hideoffnpc "5-3"; + hideoffnpc "5-4"; + hideoffnpc "6-1"; + hideoffnpc "6-2"; + hideoffnpc "6-3"; + hideoffnpc "6-4"; + hideoffnpc "7-1"; + hideoffnpc "7-2"; + hideoffnpc "7-3"; + hideoffnpc "7-4"; + hideoffnpc "8-1"; + hideoffnpc "8-2"; + hideoffnpc "8-3"; + hideoffnpc "8-4"; + hideoffnpc "9-1"; + hideoffnpc "9-2"; + hideoffnpc "9-3"; + hideoffnpc "9-4"; + hideoffnpc "10-1"; + hideoffnpc "10-2"; + hideoffnpc "10-3"; + hideoffnpc "10-4"; + hideoffnpc "11-1"; + hideoffnpc "11-2"; + hideoffnpc "11-3"; + hideoffnpc "11-4"; + hideoffnpc "12-1"; + hideoffnpc "12-2"; + hideoffnpc "12-3"; + hideoffnpc "12-4"; + hideoffnpc "13-1"; + hideoffnpc "13-2"; + hideoffnpc "13-3"; + hideoffnpc "13-4"; + hideoffnpc "14-1"; + hideoffnpc "14-2"; + hideoffnpc "14-3"; + hideoffnpc "14-4"; + hideoffnpc "15-1"; + hideoffnpc "15-2"; + hideoffnpc "15-3"; + hideoffnpc "15-4"; + hideoffnpc "16-1"; + hideoffnpc "16-2"; + hideoffnpc "16-3"; + hideoffnpc "16-4"; + hideoffnpc "17-1"; + hideoffnpc "17-2"; + hideoffnpc "17-3"; + hideoffnpc "17-4"; + hideoffnpc "18-1"; + hideoffnpc "18-2"; + hideoffnpc "18-3"; + hideoffnpc "18-4"; + hideoffnpc "19-1"; + hideoffnpc "19-2"; + hideoffnpc "19-3"; + hideoffnpc "19-4"; + hideoffnpc "20-1"; + hideoffnpc "20-2"; + hideoffnpc "20-3"; + hideoffnpc "20-4"; + hideoffnpc "21-1"; + hideoffnpc "21-2"; + hideoffnpc "21-3"; + hideoffnpc "21-4"; + hideoffnpc "22-1"; + hideoffnpc "22-2"; + hideoffnpc "22-3"; + hideoffnpc "22-4"; + hideoffnpc "23-1"; + hideoffnpc "23-2"; + hideoffnpc "23-3"; + hideoffnpc "23-4"; + hideoffnpc "24-1"; + hideoffnpc "24-2"; + hideoffnpc "24-3"; + hideoffnpc "24-4"; + hideoffnpc "25-1"; + hideoffnpc "25-2"; + hideoffnpc "25-3"; + hideoffnpc "25-4"; + hideoffnpc "26-1"; + hideoffnpc "26-2"; + hideoffnpc "26-3"; + hideoffnpc "26-4"; + hideoffnpc "27-1"; + hideoffnpc "27-2"; + hideoffnpc "27-3"; + hideoffnpc "27-4"; + hideoffnpc "28-1"; + hideoffnpc "28-2"; + hideoffnpc "28-3"; + hideoffnpc "28-4"; + hideoffnpc "29-1"; + hideoffnpc "29-2"; + hideoffnpc "29-3"; + hideoffnpc "29-4"; + hideoffnpc "30-1"; + hideoffnpc "30-2"; + hideoffnpc "30-3"; + hideoffnpc "30-4"; + hideoffnpc "31-1"; + hideoffnpc "31-2"; + hideoffnpc "31-3"; + hideoffnpc "31-4"; + hideoffnpc "32-1"; + hideoffnpc "32-2"; + hideoffnpc "32-3"; + hideoffnpc "32-4"; + hideoffnpc "33-1"; + hideoffnpc "33-2"; + hideoffnpc "33-3"; + hideoffnpc "33-4"; + hideoffnpc "34-1"; + hideoffnpc "34-2"; + hideoffnpc "34-3"; + hideoffnpc "34-4"; + hideoffnpc "35-1"; + hideoffnpc "35-2"; + hideoffnpc "35-3"; + hideoffnpc "35-4"; + hideoffnpc "36-1"; + hideoffnpc "36-2"; + hideoffnpc "36-3"; + hideoffnpc "36-4"; + hideoffnpc "37-1"; + hideoffnpc "37-2"; + hideoffnpc "37-3"; + hideoffnpc "37-4"; + hideoffnpc "38-1"; + hideoffnpc "38-2"; + hideoffnpc "38-3"; + hideoffnpc "38-4"; + hideoffnpc "39-1"; + hideoffnpc "39-2"; + hideoffnpc "39-3"; + hideoffnpc "39-4"; + hideoffnpc "40-1"; + hideoffnpc "40-2"; + hideoffnpc "40-3"; + hideoffnpc "40-4"; + hideoffnpc "41-1"; + hideoffnpc "41-2"; + hideoffnpc "41-3"; + hideoffnpc "41-4"; + hideoffnpc "42-1"; + hideoffnpc "42-2"; + hideoffnpc "42-3"; + hideoffnpc "42-4"; + hideoffnpc "43-1"; + hideoffnpc "43-2"; + hideoffnpc "43-3"; + hideoffnpc "43-4"; + hideoffnpc "44-1"; + hideoffnpc "44-2"; + hideoffnpc "44-3"; + hideoffnpc "44-4"; + hideoffnpc "45-1"; + hideoffnpc "45-2"; + hideoffnpc "45-3"; + hideoffnpc "45-4"; + hideoffnpc "46-1"; + hideoffnpc "46-2"; + hideoffnpc "46-3"; + hideoffnpc "46-4"; + hideoffnpc "47-1"; + hideoffnpc "47-2"; + hideoffnpc "47-3"; + hideoffnpc "47-4"; + hideoffnpc "48-1"; + hideoffnpc "48-2"; + hideoffnpc "48-3"; + hideoffnpc "48-4"; + hideoffnpc "49-1"; + hideoffnpc "49-2"; + hideoffnpc "49-3"; + hideoffnpc "49-4"; + hideoffnpc "50-1"; + hideoffnpc "50-2"; + hideoffnpc "50-3"; + hideoffnpc "50-4"; + hideoffnpc "51-1"; + hideoffnpc "51-2"; + hideoffnpc "51-3"; + hideoffnpc "51-4"; + hideoffnpc "52-1"; + hideoffnpc "52-2"; + hideoffnpc "52-3"; + hideoffnpc "52-4"; + hideoffnpc "53-1"; + hideoffnpc "53-2"; + hideoffnpc "53-3"; + hideoffnpc "53-4"; + hideoffnpc "54-1"; + hideoffnpc "54-2"; + hideoffnpc "54-3"; + hideoffnpc "54-4"; + hideoffnpc "55-1"; + hideoffnpc "55-2"; + hideoffnpc "55-3"; + hideoffnpc "55-4"; + hideoffnpc "56-1"; + hideoffnpc "56-2"; + hideoffnpc "56-3"; + hideoffnpc "56-4"; + hideoffnpc "56-6"; + hideoffnpc "56-7"; + hideoffnpc "56-8"; + hideoffnpc "57-1"; + hideoffnpc "57-2"; + hideoffnpc "57-3"; + end; + +OnDisable: + hideonnpc "1-1"; + hideonnpc "1-2"; + hideonnpc "1-3"; + hideonnpc "1-4"; + hideonnpc "1-5"; + hideonnpc "1-6"; + hideonnpc "1-7"; + hideonnpc "1-8"; + hideonnpc "2-1"; + hideonnpc "2-2"; + hideonnpc "2-3"; + hideonnpc "2-4"; + hideonnpc "2-5"; + hideonnpc "2-6"; + hideonnpc "2-7"; + hideonnpc "2-8"; + hideonnpc "3-1"; + hideonnpc "3-2"; + hideonnpc "3-3"; + hideonnpc "3-4"; + hideonnpc "4-1"; + hideonnpc "4-2"; + hideonnpc "4-3"; + hideonnpc "4-4"; + hideonnpc "5-1"; + hideonnpc "5-2"; + hideonnpc "5-3"; + hideonnpc "5-4"; + hideonnpc "6-1"; + hideonnpc "6-2"; + hideonnpc "6-3"; + hideonnpc "6-4"; + hideonnpc "7-1"; + hideonnpc "7-2"; + hideonnpc "7-3"; + hideonnpc "7-4"; + hideonnpc "8-1"; + hideonnpc "8-2"; + hideonnpc "8-3"; + hideonnpc "8-4"; + hideonnpc "9-1"; + hideonnpc "9-2"; + hideonnpc "9-3"; + hideonnpc "9-4"; + hideonnpc "10-1"; + hideonnpc "10-2"; + hideonnpc "10-3"; + hideonnpc "10-4"; + hideonnpc "11-1"; + hideonnpc "11-2"; + hideonnpc "11-3"; + hideonnpc "11-4"; + hideonnpc "12-1"; + hideonnpc "12-2"; + hideonnpc "12-3"; + hideonnpc "12-4"; + hideonnpc "13-1"; + hideonnpc "13-2"; + hideonnpc "13-3"; + hideonnpc "13-4"; + hideonnpc "14-1"; + hideonnpc "14-2"; + hideonnpc "14-3"; + hideonnpc "14-4"; + hideonnpc "15-1"; + hideonnpc "15-2"; + hideonnpc "15-3"; + hideonnpc "15-4"; + hideonnpc "16-1"; + hideonnpc "16-2"; + hideonnpc "16-3"; + hideonnpc "16-4"; + hideonnpc "17-1"; + hideonnpc "17-2"; + hideonnpc "17-3"; + hideonnpc "17-4"; + hideonnpc "18-1"; + hideonnpc "18-2"; + hideonnpc "18-3"; + hideonnpc "18-4"; + hideonnpc "19-1"; + hideonnpc "19-2"; + hideonnpc "19-3"; + hideonnpc "19-4"; + hideonnpc "20-1"; + hideonnpc "20-2"; + hideonnpc "20-3"; + hideonnpc "20-4"; + hideonnpc "21-1"; + hideonnpc "21-2"; + hideonnpc "21-3"; + hideonnpc "21-4"; + hideonnpc "22-1"; + hideonnpc "22-2"; + hideonnpc "22-3"; + hideonnpc "22-4"; + hideonnpc "23-1"; + hideonnpc "23-2"; + hideonnpc "23-3"; + hideonnpc "23-4"; + hideonnpc "24-1"; + hideonnpc "24-2"; + hideonnpc "24-3"; + hideonnpc "24-4"; + hideonnpc "25-1"; + hideonnpc "25-2"; + hideonnpc "25-3"; + hideonnpc "25-4"; + hideonnpc "26-1"; + hideonnpc "26-2"; + hideonnpc "26-3"; + hideonnpc "26-4"; + hideonnpc "27-1"; + hideonnpc "27-2"; + hideonnpc "27-3"; + hideonnpc "27-4"; + hideonnpc "28-1"; + hideonnpc "28-2"; + hideonnpc "28-3"; + hideonnpc "28-4"; + hideonnpc "29-1"; + hideonnpc "29-2"; + hideonnpc "29-3"; + hideonnpc "29-4"; + hideonnpc "30-1"; + hideonnpc "30-2"; + hideonnpc "30-3"; + hideonnpc "30-4"; + hideonnpc "31-1"; + hideonnpc "31-2"; + hideonnpc "31-3"; + hideonnpc "31-4"; + hideonnpc "32-1"; + hideonnpc "32-2"; + hideonnpc "32-3"; + hideonnpc "32-4"; + hideonnpc "33-1"; + hideonnpc "33-2"; + hideonnpc "33-3"; + hideonnpc "33-4"; + hideonnpc "34-1"; + hideonnpc "34-2"; + hideonnpc "34-3"; + hideonnpc "34-4"; + hideonnpc "35-1"; + hideonnpc "35-2"; + hideonnpc "35-3"; + hideonnpc "35-4"; + hideonnpc "36-1"; + hideonnpc "36-2"; + hideonnpc "36-3"; + hideonnpc "36-4"; + hideonnpc "37-1"; + hideonnpc "37-2"; + hideonnpc "37-3"; + hideonnpc "37-4"; + hideonnpc "38-1"; + hideonnpc "38-2"; + hideonnpc "38-3"; + hideonnpc "38-4"; + hideonnpc "39-1"; + hideonnpc "39-2"; + hideonnpc "39-3"; + hideonnpc "39-4"; + hideonnpc "40-1"; + hideonnpc "40-2"; + hideonnpc "40-3"; + hideonnpc "40-4"; + hideonnpc "41-1"; + hideonnpc "41-2"; + hideonnpc "41-3"; + hideonnpc "41-4"; + hideonnpc "42-1"; + hideonnpc "42-2"; + hideonnpc "42-3"; + hideonnpc "42-4"; + hideonnpc "43-1"; + hideonnpc "43-2"; + hideonnpc "43-3"; + hideonnpc "43-4"; + hideonnpc "44-1"; + hideonnpc "44-2"; + hideonnpc "44-3"; + hideonnpc "44-4"; + hideonnpc "45-1"; + hideonnpc "45-2"; + hideonnpc "45-3"; + hideonnpc "45-4"; + hideonnpc "46-1"; + hideonnpc "46-2"; + hideonnpc "46-3"; + hideonnpc "46-4"; + hideonnpc "47-1"; + hideonnpc "47-2"; + hideonnpc "47-3"; + hideonnpc "47-4"; + hideonnpc "48-1"; + hideonnpc "48-2"; + hideonnpc "48-3"; + hideonnpc "48-4"; + hideonnpc "49-1"; + hideonnpc "49-2"; + hideonnpc "49-3"; + hideonnpc "49-4"; + hideonnpc "50-1"; + hideonnpc "50-2"; + hideonnpc "50-3"; + hideonnpc "50-4"; + hideonnpc "51-1"; + hideonnpc "51-2"; + hideonnpc "51-3"; + hideonnpc "51-4"; + hideonnpc "52-1"; + hideonnpc "52-2"; + hideonnpc "52-3"; + hideonnpc "52-4"; + hideonnpc "53-1"; + hideonnpc "53-2"; + hideonnpc "53-3"; + hideonnpc "53-4"; + hideonnpc "54-1"; + hideonnpc "54-2"; + hideonnpc "54-3"; + hideonnpc "54-4"; + hideonnpc "55-1"; + hideonnpc "55-2"; + hideonnpc "55-3"; + hideonnpc "55-4"; + hideonnpc "56-1"; + hideonnpc "56-2"; + hideonnpc "56-3"; + hideonnpc "56-4"; + hideonnpc "56-6"; + hideonnpc "56-7"; + hideonnpc "56-8"; + hideonnpc "57-1"; + hideonnpc "57-2"; + hideonnpc "57-3"; 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,{ +job_hunte,52,140,0 duplicate(hntjqt) 1-1 139,0,1 +job_hunte,53,140,0 duplicate(hntjqt) 1-2 139,0,1 +job_hunte,54,141,0 duplicate(hntjqt) 1-3 139 +job_hunte,55,141,0 duplicate(hntjqt) 1-4 139 +job_hunte,55,140,0 duplicate(hntjqt) 1-5 139 +job_hunte,54,140,0 duplicate(hntjqt) 1-6 139 +job_hunte,52,138,0 duplicate(hntjqt) 1-7 139 +job_hunte,53,138,0 duplicate(hntjqt) 1-8 139 +job_hunte,62,140,0 duplicate(hntjqt) 2-1 139,0,1 +job_hunte,63,140,0 duplicate(hntjqt) 2-2 139,0,1 +job_hunte,64,140,0 duplicate(hntjqt) 2-3 139 +job_hunte,64,141,0 duplicate(hntjqt) 2-4 139 +job_hunte,65,140,0 duplicate(hntjqt) 2-5 139 +job_hunte,65,141,0 duplicate(hntjqt) 2-6 139 +job_hunte,62,138,0 duplicate(hntjqt) 2-7 139 +job_hunte,63,138,0 duplicate(hntjqt) 2-8 139 +job_hunte,72,140,0 duplicate(hntjqt) 3-1 139,0,1 +job_hunte,73,140,0 duplicate(hntjqt) 3-2 139,0,1 +job_hunte,72,138,0 duplicate(hntjqt) 3-3 139 +job_hunte,72,138,0 duplicate(hntjqt) 3-4 139 +job_hunte,78,140,0 duplicate(hntjqt) 4-1 139 +job_hunte,78,141,0 duplicate(hntjqt) 4-2 139 +job_hunte,79,140,0 duplicate(hntjqt) 4-3 139 +job_hunte,79,141,0 duplicate(hntjqt) 4-4 139 +job_hunte,82,138,0 duplicate(hntjqt) 5-1 139 +job_hunte,82,139,0 duplicate(hntjqt) 5-2 139 +job_hunte,83,138,0 duplicate(hntjqt) 5-3 139 +job_hunte,83,139,0 duplicate(hntjqt) 5-4 139 +job_hunte,99,138,0 duplicate(hntjqt) 6-1 139,1,0 +job_hunte,99,139,0 duplicate(hntjqt) 6-2 139,1,0 +job_hunte,101,138,0 duplicate(hntjqt) 6-3 139 +job_hunte,101,139,0 duplicate(hntjqt) 6-4 139 +job_hunte,106,140,0 duplicate(hntjqt) 7-1 139,0,1 +job_hunte,107,140,0 duplicate(hntjqt) 7-2 139,0,1 +job_hunte,106,138,0 duplicate(hntjqt) 7-3 139 +job_hunte,107,138,0 duplicate(hntjqt) 7-4 139 +job_hunte,112,140,0 duplicate(hntjqt) 8-1 139 +job_hunte,112,141,0 duplicate(hntjqt) 8-2 139 +job_hunte,113,140,0 duplicate(hntjqt) 8-3 139 +job_hunte,113,141,0 duplicate(hntjqt) 8-4 139 +job_hunte,116,140,0 duplicate(hntjqt) 9-1 139 +job_hunte,116,141,0 duplicate(hntjqt) 9-2 139 +job_hunte,117,140,0 duplicate(hntjqt) 9-3 139 +job_hunte,117,141,0 duplicate(hntjqt) 9-4 139 +job_hunte,120,138,0 duplicate(hntjqt) 10-1 139 +job_hunte,120,139,0 duplicate(hntjqt) 10-2 139 +job_hunte,121,138,0 duplicate(hntjqt) 10-3 139 +job_hunte,121,139,0 duplicate(hntjqt) 10-4 139 +job_hunte,126,139,0 duplicate(hntjqt) 11-1 139,0,2 +job_hunte,127,139,0 duplicate(hntjqt) 11-2 139,0,2 +job_hunte,126,136,0 duplicate(hntjqt) 11-3 139 +job_hunte,127,136,0 duplicate(hntjqt) 11-4 139 +job_hunte,52,134,0 duplicate(hntjqt) 12-1 139,0,1 +job_hunte,53,134,0 duplicate(hntjqt) 12-2 139,0,1 +job_hunte,52,132,0 duplicate(hntjqt) 12-3 139 +job_hunte,53,132,0 duplicate(hntjqt) 12-4 139 +job_hunte,124,130,0 duplicate(hntjqt) 13-1 139 +job_hunte,124,131,0 duplicate(hntjqt) 13-2 139 +job_hunte,125,130,0 duplicate(hntjqt) 13-3 139 +job_hunte,125,131,0 duplicate(hntjqt) 13-4 139 +job_hunte,64,128,0 duplicate(hntjqt) 14-1 139 +job_hunte,64,129,0 duplicate(hntjqt) 14-2 139 +job_hunte,65,128,0 duplicate(hntjqt) 14-3 139 +job_hunte,65,129,0 duplicate(hntjqt) 14-4 139 +job_hunte,68,126,0 duplicate(hntjqt) 15-1 139 +job_hunte,68,127,0 duplicate(hntjqt) 15-2 139 +job_hunte,69,126,0 duplicate(hntjqt) 15-3 139 +job_hunte,69,127,0 duplicate(hntjqt) 15-4 139 +job_hunte,75,128,0 duplicate(hntjqt) 16-1 139,1,0 +job_hunte,75,129,0 duplicate(hntjqt) 16-2 139,1,0 +job_hunte,77,128,0 duplicate(hntjqt) 16-3 139 +job_hunte,77,129,0 duplicate(hntjqt) 16-4 139 +job_hunte,82,126,0 duplicate(hntjqt) 17-1 139 +job_hunte,82,127,0 duplicate(hntjqt) 17-2 139 +job_hunte,83,126,0 duplicate(hntjqt) 17-3 139 +job_hunte,83,127,0 duplicate(hntjqt) 17-4 139 +job_hunte,96,128,0 duplicate(hntjqt) 18-1 139 +job_hunte,96,129,0 duplicate(hntjqt) 18-2 139 +job_hunte,97,128,0 duplicate(hntjqt) 18-3 139 +job_hunte,97,129,0 duplicate(hntjqt) 18-4 139 +job_hunte,100,126,0 duplicate(hntjqt) 19-1 139 +job_hunte,100,127,0 duplicate(hntjqt) 19-2 139 +job_hunte,101,126,0 duplicate(hntjqt) 19-3 139 +job_hunte,101,127,0 duplicate(hntjqt) 19-4 139 +job_hunte,106,128,0 duplicate(hntjqt) 20-1 139 +job_hunte,106,129,0 duplicate(hntjqt) 20-2 139 +job_hunte,107,128,0 duplicate(hntjqt) 20-3 139 +job_hunte,107,129,0 duplicate(hntjqt) 20-4 139 +job_hunte,112,126,0 duplicate(hntjqt) 21-1 139 +job_hunte,112,127,0 duplicate(hntjqt) 21-2 139 +job_hunte,113,126,0 duplicate(hntjqt) 21-3 139 +job_hunte,113,127,0 duplicate(hntjqt) 21-4 139 +job_hunte,126,126,0 duplicate(hntjqt) 22-1 139 +job_hunte,126,127,0 duplicate(hntjqt) 22-2 139 +job_hunte,127,126,0 duplicate(hntjqt) 22-3 139 +job_hunte,127,127,0 duplicate(hntjqt) 22-4 139 +job_hunte,52,122,0 duplicate(hntjqt) 23-1 139,0,1 +job_hunte,52,122,0 duplicate(hntjqt) 23-2 139,0,1 +job_hunte,53,120,0 duplicate(hntjqt) 23-3 139,1,0 +job_hunte,54,121,0 duplicate(hntjqt) 23-4 139 +job_hunte,55,121,0 duplicate(hntjqt) 23-5 139 +job_hunte,55,120,0 duplicate(hntjqt) 23-6 139 +job_hunte,66,120,0 duplicate(hntjqt) 24-1 139 +job_hunte,66,121,0 duplicate(hntjqt) 24-2 139 +job_hunte,67,120,0 duplicate(hntjqt) 24-3 139 +job_hunte,67,121,0 duplicate(hntjqt) 24-4 139 +job_hunte,114,118,0 duplicate(hntjqt) 25-1 139 +job_hunte,114,119,0 duplicate(hntjqt) 25-2 139 +job_hunte,115,118,0 duplicate(hntjqt) 25-3 139 +job_hunte,115,119,0 duplicate(hntjqt) 25-4 139 +job_hunte,124,120,0 duplicate(hntjqt) 26-1 139,0,1 +job_hunte,125,120,0 duplicate(hntjqt) 26-2 139,0,1 +job_hunte,124,118,0 duplicate(hntjqt) 26-3 139 +job_hunte,125,118,0 duplicate(hntjqt) 26-4 139 +job_hunte,66,116,0 duplicate(hntjqt) 27-1 139 +job_hunte,66,117,0 duplicate(hntjqt) 27-2 139 +job_hunte,67,116,0 duplicate(hntjqt) 27-3 139 +job_hunte,67,117,0 duplicate(hntjqt) 27-4 139 +job_hunte,76,114,0 duplicate(hntjqt) 28-1 139 +job_hunte,76,115,0 duplicate(hntjqt) 28-2 139 +job_hunte,77,114,0 duplicate(hntjqt) 28-3 139 +job_hunte,77,115,0 duplicate(hntjqt) 28-4 139 +job_hunte,82,116,0 duplicate(hntjqt) 29-1 139 +job_hunte,82,117,0 duplicate(hntjqt) 29-2 139 +job_hunte,83,116,0 duplicate(hntjqt) 29-3 139 +job_hunte,83,117,0 duplicate(hntjqt) 29-4 139 +job_hunte,86,114,0 duplicate(hntjqt) 30-1 139 +job_hunte,86,115,0 duplicate(hntjqt) 30-2 139 +job_hunte,87,114,0 duplicate(hntjqt) 30-3 139 +job_hunte,87,115,0 duplicate(hntjqt) 30-4 139 +job_hunte,92,115,0 duplicate(hntjqt) 31-1 139,1,0 +job_hunte,92,114,0 duplicate(hntjqt) 31-2 139,1,0 +job_hunte,90,115,0 duplicate(hntjqt) 31-3 139 +job_hunte,102,116,0 duplicate(hntjqt) 32-1 139 +job_hunte,102,117,0 duplicate(hntjqt) 32-2 139 +job_hunte,103,116,0 duplicate(hntjqt) 32-3 139 +job_hunte,103,117,0 duplicate(hntjqt) 32-4 139 +job_hunte,114,114,0 duplicate(hntjqt) 33-1 139 +job_hunte,114,115,0 duplicate(hntjqt) 33-2 139 +job_hunte,115,114,0 duplicate(hntjqt) 33-3 139 +job_hunte,115,115,0 duplicate(hntjqt) 33-4 139 +job_hunte,54,110,0 duplicate(hntjqt) 34-1 139,0,1 +job_hunte,55,110,0 duplicate(hntjqt) 34-2 139,0,1 +job_hunte,54,108,0 duplicate(hntjqt) 34-3 139 +job_hunte,55,108,0 duplicate(hntjqt) 34-4 139 +job_hunte,64,112,0 duplicate(hntjqt) 35-1 139 +job_hunte,64,113,0 duplicate(hntjqt) 35-2 139 +job_hunte,65,112,0 duplicate(hntjqt) 35-3 139 +job_hunte,65,113,0 duplicate(hntjqt) 35-4 139 +job_hunte,80,110,0 duplicate(hntjqt) 36-1 139 +job_hunte,80,111,0 duplicate(hntjqt) 36-2 139 +job_hunte,81,110,0 duplicate(hntjqt) 36-3 139 +job_hunte,81,111,0 duplicate(hntjqt) 36-4 139 +job_hunte,90,108,0 duplicate(hntjqt) 37-1 139,0,6 +job_hunte,91,108,0 duplicate(hntjqt) 37-2 139,0,5 +job_hunte,91,102,0 duplicate(hntjqt) 37-3 139 +job_hunte,98,109,0 duplicate(hntjqt) 38-1 139,0,2 +job_hunte,99,109,0 duplicate(hntjqt) 38-2 139,0,2 +job_hunte,103,109,0 duplicate(hntjqt) 38-3 139,3,0 +job_hunte,103,108,0 duplicate(hntjqt) 38-4 139,3,0 +job_hunte,97,106,0 duplicate(hntjqt) 39-1 139,2,0 +job_hunte,96,107,0 duplicate(hntjqt) 39-2 139,1,0 +job_hunte,94,108,0 duplicate(hntjqt) 39-3 139,0,1 +job_hunte,95,109,0 duplicate(hntjqt) 39-4 139 +job_hunte,95,108,0 duplicate(hntjqt) 40-1 139 +job_hunte,94,106,0 duplicate(hntjqt) 40-2 139 +job_hunte,96,102,0 duplicate(hntjqt) 40-3 139,0,3 +job_hunte,97,102,0 duplicate(hntjqt) 40-4 139,0,3 +job_hunte,95,98,0 duplicate(hntjqt) 41-1 139,2,0 +job_hunte,94,99,0 duplicate(hntjqt) 42-1 139,1,0 +job_hunte,92,98,0 duplicate(hntjqt) 43-1 139 +job_hunte,112,110,0 duplicate(hntjqt) 44-1 139 +job_hunte,112,111,0 duplicate(hntjqt) 44-2 139 +job_hunte,113,110,0 duplicate(hntjqt) 44-3 139 +job_hunte,113,111,0 duplicate(hntjqt) 44-4 139 +job_hunte,126,108,0 duplicate(hntjqt) 45-1 139,0,1 +job_hunte,127,108,0 duplicate(hntjqt) 45-2 139,0,1 +job_hunte,126,106,0 duplicate(hntjqt) 45-3 139 +job_hunte,126,106,0 duplicate(hntjqt) 45-4 139 +job_hunte,53,102,0 duplicate(hntjqt) 46-1 139,1,1 +job_hunte,55,102,0 duplicate(hntjqt) 46-2 139,0,1 +job_hunte,53,100,0 duplicate(hntjqt) 46-3 139,1,0 +job_hunte,55,100,0 duplicate(hntjqt) 46-4 139 +job_hunte,64,106,0 duplicate(hntjqt) 47-1 139 +job_hunte,64,107,0 duplicate(hntjqt) 47-2 139 +job_hunte,65,106,0 duplicate(hntjqt) 47-3 139 +job_hunte,65,107,0 duplicate(hntjqt) 47-4 139 +job_hunte,66,100,0 duplicate(hntjqt) 48-1 139 +job_hunte,66,101,0 duplicate(hntjqt) 48-2 139 +job_hunte,67,100,0 duplicate(hntjqt) 48-3 139 +job_hunte,67,101,0 duplicate(hntjqt) 48-4 139 +job_hunte,86,106,0 duplicate(hntjqt) 49-1 139,0,1 +job_hunte,87,106,0 duplicate(hntjqt) 49-2 139,0,1 +job_hunte,82,104,0 duplicate(hntjqt) 49-3 139,5,0 +job_hunte,81,105,0 duplicate(hntjqt) 49-4 139,4,0 +job_hunte,76,105,0 duplicate(hntjqt) 50-1 139 +job_hunte,76,104,0 duplicate(hntjqt) 50-2 139 +job_hunte,78,101,0 duplicate(hntjqt) 50-3 139,0,2 +job_hunte,79,101,0 duplicate(hntjqt) 50-4 139,0,2 +job_hunte,76,99,0 duplicate(hntjqt) 51-1 139,1,0 +job_hunte,77,98,0 duplicate(hntjqt) 51-2 139,2,0 +job_hunte,74,99,0 duplicate(hntjqt) 51-3 139 +job_hunte,74,98,0 duplicate(hntjqt) 51-4 139 +job_hunte,82,100,0 duplicate(hntjqt) 53-1 139 +job_hunte,82,101,0 duplicate(hntjqt) 53-2 139 +job_hunte,83,100,0 duplicate(hntjqt) 53-3 139 +job_hunte,83,101,0 duplicate(hntjqt) 53-4 139 +job_hunte,106,104,0 duplicate(hntjqt) 54-1 139 +job_hunte,106,105,0 duplicate(hntjqt) 54-2 139 +job_hunte,107,104,0 duplicate(hntjqt) 54-3 139 +job_hunte,107,105,0 duplicate(hntjqt) 54-4 139 +job_hunte,112,104,0 duplicate(hntjqt) 55-1 139,0,1 +job_hunte,113,104,0 duplicate(hntjqt) 55-2 139,0,1 +job_hunte,112,102,0 duplicate(hntjqt) 55-3 139 +job_hunte,113,102,0 duplicate(hntjqt) 55-4 139 +job_hunte,54,92,0 duplicate(hntjqt) 56-1 139 +job_hunte,54,93,0 duplicate(hntjqt) 56-2 139 +job_hunte,55,92,0 duplicate(hntjqt) 56-3 139 +job_hunte,55,93,0 duplicate(hntjqt) 56-4 139 +job_hunte,52,90,0 duplicate(hntjqt) 56-5 139 +job_hunte,52,91,0 duplicate(hntjqt) 56-6 139 +job_hunte,53,90,0 duplicate(hntjqt) 56-7 139 +job_hunte,53,91,0 duplicate(hntjqt) 56-8 139 +job_hunte,64,92,0 duplicate(hntjqt) 57-1 139 +job_hunte,64,93,0 duplicate(hntjqt) 57-2 139 +job_hunte,65,92,0 duplicate(hntjqt) 57-3 139 + +- script hnt_job_quest_test2::hntjqt2 -1,{ + OnTouch: - mapannounce "job_hunte",strcharinfo(0) + ", has failed me! Go back to where you started!",bc_map; - set HNTR_Q,13; + mapannounce "job_hunte"," " + strcharinfo(0) + ", has failed me! Go back to where you started!",bc_map; + set job_hunter,13; warp "job_hunte",176,22; + donpcevent "Waiting Room#hnt::OnReset"; donpcevent "Manager#hnt::OnReset"; - donpcevent "Waiting Room#hnt::OnStart"; + donpcevent "Manager#hnt2::OnReset"; + donpcevent "Manager#hnt::OnDisable"; + donpcevent "Manager#hnt2::OnDisable"; + end; + +OnEnable: + hideoffnpc "57-4"; + hideoffnpc "58-1"; + hideoffnpc "58-2"; + hideoffnpc "58-3"; + hideoffnpc "58-4"; + hideoffnpc "59-1"; + hideoffnpc "59-2"; + hideoffnpc "59-3"; + hideoffnpc "59-4"; + hideoffnpc "60-1"; + hideoffnpc "60-2"; + hideoffnpc "60-3"; + hideoffnpc "60-4"; + hideoffnpc "61-1"; + hideoffnpc "61-2"; + hideoffnpc "61-3"; + hideoffnpc "61-4"; + hideoffnpc "62-1"; + hideoffnpc "62-2"; + hideoffnpc "62-3"; + hideoffnpc "62-4"; + hideoffnpc "63-1"; + hideoffnpc "63-2"; + hideoffnpc "63-3"; + hideoffnpc "63-4"; + hideoffnpc "64-1"; + hideoffnpc "64-2"; + hideoffnpc "64-3"; + hideoffnpc "64-4"; + hideoffnpc "65-1"; + hideoffnpc "65-2"; + hideoffnpc "65-3"; + hideoffnpc "65-4"; + hideoffnpc "66-1"; + hideoffnpc "66-2"; + hideoffnpc "66-3"; + hideoffnpc "66-4"; + hideoffnpc "67-1"; + hideoffnpc "67-2"; + hideoffnpc "67-3"; + hideoffnpc "67-4"; + hideoffnpc "68-1"; + hideoffnpc "68-2"; + hideoffnpc "68-3"; + hideoffnpc "68-4"; + hideoffnpc "69-1"; + hideoffnpc "69-2"; + hideoffnpc "69-3"; + hideoffnpc "69-4"; + hideoffnpc "70-1"; + hideoffnpc "70-2"; + hideoffnpc "70-3"; + hideoffnpc "70-4"; + hideoffnpc "71-1"; + hideoffnpc "71-2"; + hideoffnpc "71-3"; + hideoffnpc "71-4"; + hideoffnpc "72-1"; + hideoffnpc "72-2"; + hideoffnpc "72-3"; + hideoffnpc "72-4"; + hideoffnpc "73-1"; + hideoffnpc "73-2"; + hideoffnpc "73-3"; + hideoffnpc "73-4"; + hideoffnpc "74-1"; + hideoffnpc "74-2"; + hideoffnpc "74-3"; + hideoffnpc "74-4"; + hideoffnpc "75-1"; + hideoffnpc "75-2"; + hideoffnpc "75-3"; + hideoffnpc "75-4"; + hideoffnpc "76-1"; + hideoffnpc "76-2"; + hideoffnpc "76-3"; + hideoffnpc "76-4"; + hideoffnpc "77-1"; + hideoffnpc "77-2"; + hideoffnpc "77-3"; + hideoffnpc "77-4"; + hideoffnpc "78-1"; + hideoffnpc "78-2"; + hideoffnpc "78-3"; + hideoffnpc "78-4"; + hideoffnpc "79-1"; + hideoffnpc "79-2"; + hideoffnpc "79-3"; + hideoffnpc "79-4"; + hideoffnpc "80-1"; + hideoffnpc "80-2"; + hideoffnpc "80-3"; + hideoffnpc "80-4"; + hideoffnpc "81-1"; + hideoffnpc "81-2"; + hideoffnpc "81-3"; + hideoffnpc "81-4"; + hideoffnpc "82-1"; + hideoffnpc "82-2"; + hideoffnpc "82-3"; + hideoffnpc "82-4"; + hideoffnpc "83-1"; + hideoffnpc "83-2"; + hideoffnpc "83-3"; + hideoffnpc "83-4"; + hideoffnpc "84-1"; + hideoffnpc "84-2"; + hideoffnpc "84-3"; + hideoffnpc "84-4"; + hideoffnpc "85-1"; + hideoffnpc "85-2"; + hideoffnpc "85-3"; + hideoffnpc "85-4"; + hideoffnpc "86-1"; + hideoffnpc "86-2"; + hideoffnpc "86-3"; + hideoffnpc "86-4"; + hideoffnpc "87-1"; + hideoffnpc "87-2"; + hideoffnpc "87-3"; + hideoffnpc "87-4"; + hideoffnpc "88-1"; + hideoffnpc "88-2"; + hideoffnpc "88-3"; + hideoffnpc "88-4"; + hideoffnpc "89-1"; + hideoffnpc "89-2"; + hideoffnpc "89-3"; + hideoffnpc "89-4"; + hideoffnpc "90-1"; + hideoffnpc "90-2"; + hideoffnpc "90-3"; + hideoffnpc "90-4"; + hideoffnpc "91-1"; + hideoffnpc "91-2"; + hideoffnpc "91-3"; + hideoffnpc "91-4"; + hideoffnpc "92-1"; + hideoffnpc "92-2"; + hideoffnpc "92-3"; + hideoffnpc "92-4"; + hideoffnpc "93-1"; + hideoffnpc "93-2"; + hideoffnpc "93-3"; + hideoffnpc "93-4"; + hideoffnpc "94-1"; + hideoffnpc "94-2"; + hideoffnpc "94-3"; + hideoffnpc "94-4"; + hideoffnpc "95-1"; + hideoffnpc "95-2"; + hideoffnpc "95-3"; + hideoffnpc "95-4"; + hideoffnpc "96-1"; + hideoffnpc "96-2"; + hideoffnpc "96-3"; + hideoffnpc "96-4"; + hideoffnpc "97-1"; + hideoffnpc "97-2"; + hideoffnpc "97-3"; + hideoffnpc "97-4"; + end; + +OnDisable: + hideonnpc "57-4"; + hideonnpc "58-1"; + hideonnpc "58-2"; + hideonnpc "58-3"; + hideonnpc "58-4"; + hideonnpc "59-1"; + hideonnpc "59-2"; + hideonnpc "59-3"; + hideonnpc "59-4"; + hideonnpc "60-1"; + hideonnpc "60-2"; + hideonnpc "60-3"; + hideonnpc "60-4"; + hideonnpc "61-1"; + hideonnpc "61-2"; + hideonnpc "61-3"; + hideonnpc "61-4"; + hideonnpc "62-1"; + hideonnpc "62-2"; + hideonnpc "62-3"; + hideonnpc "62-4"; + hideonnpc "63-1"; + hideonnpc "63-2"; + hideonnpc "63-3"; + hideonnpc "63-4"; + hideonnpc "64-1"; + hideonnpc "64-2"; + hideonnpc "64-3"; + hideonnpc "64-4"; + hideonnpc "65-1"; + hideonnpc "65-2"; + hideonnpc "65-3"; + hideonnpc "65-4"; + hideonnpc "66-1"; + hideonnpc "66-2"; + hideonnpc "66-3"; + hideonnpc "66-4"; + hideonnpc "67-1"; + hideonnpc "67-2"; + hideonnpc "67-3"; + hideonnpc "67-4"; + hideonnpc "68-1"; + hideonnpc "68-2"; + hideonnpc "68-3"; + hideonnpc "68-4"; + hideonnpc "69-1"; + hideonnpc "69-2"; + hideonnpc "69-3"; + hideonnpc "69-4"; + hideonnpc "70-1"; + hideonnpc "70-2"; + hideonnpc "70-3"; + hideonnpc "70-4"; + hideonnpc "71-1"; + hideonnpc "71-2"; + hideonnpc "71-3"; + hideonnpc "71-4"; + hideonnpc "72-1"; + hideonnpc "72-2"; + hideonnpc "72-3"; + hideonnpc "72-4"; + hideonnpc "73-1"; + hideonnpc "73-2"; + hideonnpc "73-3"; + hideonnpc "73-4"; + hideonnpc "74-1"; + hideonnpc "74-2"; + hideonnpc "74-3"; + hideonnpc "74-4"; + hideonnpc "75-1"; + hideonnpc "75-2"; + hideonnpc "75-3"; + hideonnpc "75-4"; + hideonnpc "76-1"; + hideonnpc "76-2"; + hideonnpc "76-3"; + hideonnpc "76-4"; + hideonnpc "77-1"; + hideonnpc "77-2"; + hideonnpc "77-3"; + hideonnpc "77-4"; + hideonnpc "78-1"; + hideonnpc "78-2"; + hideonnpc "78-3"; + hideonnpc "78-4"; + hideonnpc "79-1"; + hideonnpc "79-2"; + hideonnpc "79-3"; + hideonnpc "79-4"; + hideonnpc "80-1"; + hideonnpc "80-2"; + hideonnpc "80-3"; + hideonnpc "80-4"; + hideonnpc "81-1"; + hideonnpc "81-2"; + hideonnpc "81-3"; + hideonnpc "81-4"; + hideonnpc "82-1"; + hideonnpc "82-2"; + hideonnpc "82-3"; + hideonnpc "82-4"; + hideonnpc "83-1"; + hideonnpc "83-2"; + hideonnpc "83-3"; + hideonnpc "83-4"; + hideonnpc "84-1"; + hideonnpc "84-2"; + hideonnpc "84-3"; + hideonnpc "84-4"; + hideonnpc "85-1"; + hideonnpc "85-2"; + hideonnpc "85-3"; + hideonnpc "85-4"; + hideonnpc "86-1"; + hideonnpc "86-2"; + hideonnpc "86-3"; + hideonnpc "86-4"; + hideonnpc "87-1"; + hideonnpc "87-2"; + hideonnpc "87-3"; + hideonnpc "87-4"; + hideonnpc "88-1"; + hideonnpc "88-2"; + hideonnpc "88-3"; + hideonnpc "88-4"; + hideonnpc "89-1"; + hideonnpc "89-2"; + hideonnpc "89-3"; + hideonnpc "89-4"; + hideonnpc "90-1"; + hideonnpc "90-2"; + hideonnpc "90-3"; + hideonnpc "90-4"; + hideonnpc "91-1"; + hideonnpc "91-2"; + hideonnpc "91-3"; + hideonnpc "91-4"; + hideonnpc "92-1"; + hideonnpc "92-2"; + hideonnpc "92-3"; + hideonnpc "92-4"; + hideonnpc "93-1"; + hideonnpc "93-2"; + hideonnpc "93-3"; + hideonnpc "93-4"; + hideonnpc "94-1"; + hideonnpc "94-2"; + hideonnpc "94-3"; + hideonnpc "94-4"; + hideonnpc "95-1"; + hideonnpc "95-2"; + hideonnpc "95-3"; + hideonnpc "95-4"; + hideonnpc "96-1"; + hideonnpc "96-2"; + hideonnpc "96-3"; + hideonnpc "96-4"; + hideonnpc "97-1"; + hideonnpc "97-2"; + hideonnpc "97-3"; + hideonnpc "97-4"; 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 +job_hunte,65,93,0 duplicate(hntjqt2) 57-4 139 +job_hunte,76,94,0 duplicate(hntjqt2) 58-1 139 +job_hunte,76,95,0 duplicate(hntjqt2) 58-2 139 +job_hunte,77,94,0 duplicate(hntjqt2) 58-3 139 +job_hunte,77,95,0 duplicate(hntjqt2) 58-4 139 +job_hunte,78,92,0 duplicate(hntjqt2) 59-1 139 +job_hunte,78,93,0 duplicate(hntjqt2) 59-2 139 +job_hunte,79,92,0 duplicate(hntjqt2) 59-3 139 +job_hunte,79,93,0 duplicate(hntjqt2) 59-4 139 +job_hunte,86,92,0 duplicate(hntjqt2) 60-1 139 +job_hunte,86,93,0 duplicate(hntjqt2) 60-2 139 +job_hunte,87,92,0 duplicate(hntjqt2) 60-3 139 +job_hunte,87,93,0 duplicate(hntjqt2) 60-4 139 +job_hunte,90,96,0 duplicate(hntjqt2) 61-1 139 +job_hunte,90,97,0 duplicate(hntjqt2) 61-2 139 +job_hunte,91,96,0 duplicate(hntjqt2) 61-3 139 +job_hunte,91,97,0 duplicate(hntjqt2) 61-4 139 +job_hunte,99,95,0 duplicate(hntjqt2) 62-1 139,1,0 +job_hunte,99,94,0 duplicate(hntjqt2) 62-2 139,1,0 +job_hunte,101,94,0 duplicate(hntjqt2) 62-3 139,0,1 +job_hunte,100,93,0 duplicate(hntjqt2) 62-4 139 +job_hunte,100,92,0 duplicate(hntjqt2) 63-1 139 +job_hunte,101,92,0 duplicate(hntjqt2) 63-2 139 +job_hunte,102,98,0 duplicate(hntjqt2) 64-1 139 +job_hunte,102,99,0 duplicate(hntjqt2) 64-2 139 +job_hunte,103,98,0 duplicate(hntjqt2) 64-3 139 +job_hunte,103,99,0 duplicate(hntjqt2) 64-4 139 +job_hunte,102,90,0 duplicate(hntjqt2) 65-1 139 +job_hunte,102,91,0 duplicate(hntjqt2) 65-2 139 +job_hunte,103,90,0 duplicate(hntjqt2) 65-3 139 +job_hunte,103,91,0 duplicate(hntjqt2) 65-4 139 +job_hunte,114,96,0 duplicate(hntjqt2) 66-1 139 +job_hunte,114,97,0 duplicate(hntjqt2) 66-2 139 +job_hunte,115,96,0 duplicate(hntjqt2) 66-3 139 +job_hunte,115,97,0 duplicate(hntjqt2) 66-4 139 +job_hunte,112,90,0 duplicate(hntjqt2) 67-1 139 +job_hunte,112,91,0 duplicate(hntjqt2) 67-2 139 +job_hunte,113,90,0 duplicate(hntjqt2) 67-3 139 +job_hunte,113,91,0 duplicate(hntjqt2) 67-4 139 +job_hunte,125,97,0 duplicate(hntjqt2) 68-1 139,1,0 +job_hunte,125,96,0 duplicate(hntjqt2) 68-2 139,1,0 +job_hunte,127,96,0 duplicate(hntjqt2) 68-3 139 +job_hunte,127,97,0 duplicate(hntjqt2) 68-4 139 +job_hunte,52,86,0 duplicate(hntjqt2) 69-1 139 +job_hunte,52,87,0 duplicate(hntjqt2) 69-2 139 +job_hunte,53,86,0 duplicate(hntjqt2) 69-3 139 +job_hunte,53,87,0 duplicate(hntjqt2) 69-4 139 +job_hunte,66,88,0 duplicate(hntjqt2) 70-1 139 +job_hunte,66,89,0 duplicate(hntjqt2) 70-2 139 +job_hunte,67,88,0 duplicate(hntjqt2) 70-3 139 +job_hunte,67,89,0 duplicate(hntjqt2) 70-4 139 +job_hunte,114,84,0 duplicate(hntjqt2) 71-1 139 +job_hunte,114,85,0 duplicate(hntjqt2) 71-2 139 +job_hunte,115,84,0 duplicate(hntjqt2) 71-3 139 +job_hunte,115,85,0 duplicate(hntjqt2) 71-4 139 +job_hunte,126,86,0 duplicate(hntjqt2) 72-1 139 +job_hunte,126,87,0 duplicate(hntjqt2) 72-2 139 +job_hunte,127,86,0 duplicate(hntjqt2) 72-3 139 +job_hunte,127,87,0 duplicate(hntjqt2) 72-4 139 +job_hunte,54,80,0 duplicate(hntjqt2) 73-1 139,0,1 +job_hunte,55,80,0 duplicate(hntjqt2) 73-2 139,0,1 +job_hunte,54,78,0 duplicate(hntjqt2) 73-3 139 +job_hunte,55,78,0 duplicate(hntjqt2) 73-4 139 +job_hunte,64,82,0 duplicate(hntjqt2) 74-1 139,0,1 +job_hunte,65,82,0 duplicate(hntjqt2) 74-2 139,0,1 +job_hunte,64,80,0 duplicate(hntjqt2) 74-3 139 +job_hunte,65,80,0 duplicate(hntjqt2) 74-4 139 +job_hunte,66,78,0 duplicate(hntjqt2) 75-1 139 +job_hunte,66,79,0 duplicate(hntjqt2) 75-2 139 +job_hunte,67,78,0 duplicate(hntjqt2) 75-3 139 +job_hunte,67,79,0 duplicate(hntjqt2) 75-4 139 +job_hunte,74,78,0 duplicate(hntjqt2) 76-1 139 +job_hunte,74,79,0 duplicate(hntjqt2) 76-2 139 +job_hunte,75,78,0 duplicate(hntjqt2) 76-3 139 +job_hunte,75,79,0 duplicate(hntjqt2) 76-4 139 +job_hunte,78,80,0 duplicate(hntjqt2) 77-1 139 +job_hunte,78,81,0 duplicate(hntjqt2) 77-2 139 +job_hunte,79,80,0 duplicate(hntjqt2) 77-3 139 +job_hunte,79,81,0 duplicate(hntjqt2) 77-4 139 +job_hunte,82,78,0 duplicate(hntjqt2) 78-1 139 +job_hunte,82,79,0 duplicate(hntjqt2) 78-2 139 +job_hunte,83,78,0 duplicate(hntjqt2) 78-3 139 +job_hunte,83,79,0 duplicate(hntjqt2) 78-4 139 +job_hunte,94,78,0 duplicate(hntjqt2) 79-1 139 +job_hunte,94,79,0 duplicate(hntjqt2) 79-2 139 +job_hunte,95,78,0 duplicate(hntjqt2) 79-3 139 +job_hunte,95,79,0 duplicate(hntjqt2) 79-4 139 +job_hunte,101,80,0 duplicate(hntjqt2) 80-1 139,1,0 +job_hunte,101,81,0 duplicate(hntjqt2) 80-2 139,1,0 +job_hunte,103,81,0 duplicate(hntjqt2) 80-3 139 +job_hunte,103,80,0 duplicate(hntjqt2) 80-4 139 +job_hunte,104,78,0 duplicate(hntjqt2) 81-1 139 +job_hunte,104,79,0 duplicate(hntjqt2) 81-2 139 +job_hunte,105,78,0 duplicate(hntjqt2) 81-3 139 +job_hunte,105,79,0 duplicate(hntjqt2) 81-4 139 +job_hunte,110,78,0 duplicate(hntjqt2) 82-1 139 +job_hunte,110,79,0 duplicate(hntjqt2) 82-2 139 +job_hunte,111,78,0 duplicate(hntjqt2) 82-3 139 +job_hunte,111,79,0 duplicate(hntjqt2) 82-4 139 +job_hunte,114,80,0 duplicate(hntjqt2) 83-1 139 +job_hunte,114,81,0 duplicate(hntjqt2) 83-2 139 +job_hunte,115,80,0 duplicate(hntjqt2) 83-3 139 +job_hunte,115,81,0 duplicate(hntjqt2) 83-4 139 +job_hunte,124,78,0 duplicate(hntjqt2) 84-1 139 +job_hunte,124,79,0 duplicate(hntjqt2) 84-2 139 +job_hunte,125,78,0 duplicate(hntjqt2) 84-3 139 +job_hunte,125,79,0 duplicate(hntjqt2) 84-4 139 +job_hunte,126,82,0 duplicate(hntjqt2) 85-1 139 +job_hunte,126,83,0 duplicate(hntjqt2) 85-2 139 +job_hunte,127,82,0 duplicate(hntjqt2) 85-3 139 +job_hunte,127,83,0 duplicate(hntjqt2) 85-4 139 +job_hunte,52,68,0 duplicate(hntjqt2) 86-1 139,0,1 +job_hunte,53,68,0 duplicate(hntjqt2) 86-2 139,0,1 +job_hunte,52,66,0 duplicate(hntjqt2) 86-3 139 +job_hunte,53,66,0 duplicate(hntjqt2) 86-4 139 +job_hunte,54,70,0 duplicate(hntjqt2) 87-1 139,0,1 +job_hunte,55,70,0 duplicate(hntjqt2) 87-2 139,0,1 +job_hunte,54,68,0 duplicate(hntjqt2) 87-3 139 +job_hunte,55,68,0 duplicate(hntjqt2) 87-4 139 +job_hunte,59,66,0 duplicate(hntjqt2) 88-1 139,1,0 +job_hunte,59,67,0 duplicate(hntjqt2) 88-2 139,1,0 +job_hunte,61,67,0 duplicate(hntjqt2) 88-3 139 +job_hunte,61,66,0 duplicate(hntjqt2) 88-4 139 +job_hunte,68,68,0 duplicate(hntjqt2) 89-1 139,0,1 +job_hunte,69,68,0 duplicate(hntjqt2) 89-2 139,0,1 +job_hunte,68,66,0 duplicate(hntjqt2) 89-3 139 +job_hunte,69,66,0 duplicate(hntjqt2) 89-4 139 +job_hunte,76,66,0 duplicate(hntjqt2) 90-1 139 +job_hunte,76,67,0 duplicate(hntjqt2) 90-2 139 +job_hunte,77,66,0 duplicate(hntjqt2) 90-3 139 +job_hunte,77,67,0 duplicate(hntjqt2) 90-4 139 +job_hunte,82,68,0 duplicate(hntjqt2) 91-1 139 +job_hunte,82,69,0 duplicate(hntjqt2) 91-2 139 +job_hunte,83,68,0 duplicate(hntjqt2) 91-3 139 +job_hunte,83,69,0 duplicate(hntjqt2) 91-4 139 +job_hunte,96,66,0 duplicate(hntjqt2) 92-1 139 +job_hunte,96,67,0 duplicate(hntjqt2) 92-2 139 +job_hunte,97,66,0 duplicate(hntjqt2) 92-3 139 +job_hunte,97,67,0 duplicate(hntjqt2) 92-4 139 +job_hunte,100,68,0 duplicate(hntjqt2) 93-1 139 +job_hunte,100,69,0 duplicate(hntjqt2) 93-2 139 +job_hunte,101,68,0 duplicate(hntjqt2) 93-3 139 +job_hunte,101,69,0 duplicate(hntjqt2) 93-4 139 +job_hunte,107,66,0 duplicate(hntjqt2) 94-1 139,1,0 +job_hunte,107,67,0 duplicate(hntjqt2) 94-2 139,1,0 +job_hunte,109,67,0 duplicate(hntjqt2) 94-3 139 +job_hunte,109,66,0 duplicate(hntjqt2) 94-4 139 +job_hunte,117,69,0 duplicate(hntjqt2) 95-1 139,1,0 +job_hunte,117,68,0 duplicate(hntjqt2) 95-2 139,1,0 +job_hunte,119,69,0 duplicate(hntjqt2) 95-3 139 +job_hunte,119,68,0 duplicate(hntjqt2) 95-4 139 +job_hunte,124,66,0 duplicate(hntjqt2) 96-1 139 +job_hunte,124,67,0 duplicate(hntjqt2) 96-2 139 +job_hunte,125,66,0 duplicate(hntjqt2) 96-3 139 +job_hunte,125,67,0 duplicate(hntjqt2) 96-4 139 +job_hunte,126,70,0 duplicate(hntjqt2) 97-1 139 +job_hunte,126,71,0 duplicate(hntjqt2) 97-2 139 +job_hunte,127,70,0 duplicate(hntjqt2) 97-3 139 +job_hunte,127,71,0 duplicate(hntjqt2) 97-4 139 \ No newline at end of file diff --git a/npc/re/jobs/2-1/knight.txt b/npc/re/jobs/2-1/knight.txt index 32c6908ee..d06130c36 100644 --- a/npc/re/jobs/2-1/knight.txt +++ b/npc/re/jobs/2-1/knight.txt @@ -1,108 +1,118 @@ //===== rAthena Script ======================================= -//= Knight Job Quest +// Knight Job change Quest //===== By: ================================================== -//= PGRO TEAM (Aegis). -//= Converted by kobra_k88 -//= Further bugfixed and tested by Lupus +//= Masao +//= Credits: Muad_Dib //===== Current Version: ===================================== -//= 3.2 +//= 1.0 //===== Compatible With: ===================================== -//= rAthena SVN +//= Any rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job Change quest for Knight class. +//= [Translated from the Official] +//= Job change Quest from Swordman -> Knight. //===== 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] +//= 1.0 Updated to latest available official file. [Masao] //============================================================ -prt_in,88,101,4 script Chivalry Captain#knt 56,{ - mes "[Captain Herman]"; +prt_in,88,101,4 script Chivalry Captain 56,{ if (Upper == 1) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; 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; + close2; + cutin "",255; + end; } - if (BaseJob != Job_Swordman) { - if (BaseJob == Job_Knight) { + if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { + if (Class == Job_Baby_Knight || Class == Job_Knight) { + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; 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; + close2; + cutin "",255; + end; } - else if (BaseClass == Job_Novice) { + if (Class == Job_Baby || Class == Job_Novice) { + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; 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.")) { + 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!"; + if (Sex == 1) { + mes "I'm sorry, lad, but you've"; + mes "come to the wrong place!"; + } + else { + mes "I'm sorry, lass, but you've"; + mes "come to the wrong place!"; + } next; + cutin "job_knight_herman1",2; 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; + break; 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; + cutin "job_knight_herman1",2; 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; + break; case 3: + cutin "job_knight_herman1",2; 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; + break; } + next; + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; + mes "If you really wish to become a knight, please come back later."; + close2; + cutin "",255; + end; } - else { - mes "Welcome. We, the proud Knights of the Prontera Chivalry, will give our lives for king and country! Please enjoy your stay."; - close; - } + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; + mes "Welcome. We, the proud Knights of the Prontera Chivalry, will give our lives for king and country! Please enjoy your stay."; + close2; + cutin "",255; + end; } - if (KNIGHT_Q == 0) { + if (KNGHT_Q == 0) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; 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) { + switch (select("I want to change my job to a Knight.:Just visiting.")) { + case 1: mes "[Captain Herman]"; - mes "Ohh..."; - mes "A young "+((Sex)?"man":"lady")+" who wishes"; - mes "to become a Knight!"; + if (Sex == 1) { + mes "Ohh..."; + mes "A young man who wishes"; + mes "to become a Knight!"; + } + else { + mes "Ohh..."; + mes "A young lady who wishes"; + mes "to become a Knight!"; + } mes "Our Prontera Chivalry"; mes "will assist you."; next; @@ -119,26 +129,34 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ 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]"; + switch (select("Yes, I would like to apply.:I'd like to think about it please.")) { + case 1: if (JobLevel < 40) { + mes "[Captain Herman]"; 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; + close2; + cutin "",255; + end; } - if (SkillPoint) { + if (SkillPoint != 0) { + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; 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; + close2; + cutin "",255; + end; } - set KNIGHT_Q,1; + set KNGHT_Q,1; setquest 9000; + mes "[Captain Herman]"; mes "Let me see..."; mes "Your name is"; - mes strcharinfo(0) + "..."; + mes "" + strcharinfo(0) + "..."; mes "Is that right?"; next; mes "[Captain Herman]"; @@ -155,32 +173,43 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ 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; + cutin "job_knight_herman1",2; 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; + close2; + break; + case 2: + cutin "job_knight_herman1",2; + 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."; + close2; + break; } + case 2: 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 "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."; + close2; + break; } - 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; + cutin "",255; + end; } - else if (KNIGHT_Q == 1) { + if (KNGHT_Q == 1) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; mes "Mmm?"; - mes strcharinfo(0) + ","; + mes "" + strcharinfo(0) + ","; mes "what can I do for you?"; mes "Ah, you don't know"; mes "who to visit?"; @@ -191,14 +220,48 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ 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; + close2; + cutin "",255; + end; + } + if (KNGHT_Q == 2) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "It may be difficult,"; + mes "but do your best."; + close2; + cutin "",255; + end; + } + if (KNGHT_Q == 3) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "It may be difficult,"; + mes "but do your best."; + close2; + cutin "",255; + end; } - 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; + if (KNGHT_Q == 4) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "Ah~ You do not know"; + mes "who to visit next?"; + next; + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; mes "It appears that you have finished one test. Let's see. Sir Andrew, who must this Swordman visit next?"; next; + cutin "job_knight_herman2",2; mes "[Sir Andrew]"; mes "I said to"; mes "visit Sir Siracuse."; @@ -208,11 +271,33 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ 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; + close2; + cutin "",255; + end; + } + if (KNGHT_Q == 5) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "It may be difficult,"; + mes "but do your best."; + close2; + cutin "",255; + end; } - else if (KNIGHT_Q == 5) callsub L_Mission,0; - else if (KNIGHT_Q == 6) { - callsub L_Mission,1; + if (KNGHT_Q == 6) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "Ah~ You do not know"; + mes "who to visit next?"; + next; + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; mes "Let's see..."; mes "You've completed two tests."; mes "Sir Siracuse, who must this Swordman visit next?"; @@ -222,14 +307,37 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "Um, who was next...?"; mes "Right! Sir Windsor!"; next; + cutin "job_knight_herman2",2; 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; + close2; + cutin "",255; + end; + } + if (KNGHT_Q == 7) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "It may be difficult,"; + mes "but do your best."; + close2; + cutin "",255; + end; } - else if (KNIGHT_Q == 7) callsub L_Mission,0; - else if (KNIGHT_Q == 8) { - callsub L_Mission,1; + if (KNGHT_Q == 8) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "Ah~ You do not know"; + mes "who to visit next?"; + next; + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; mes "Sir Windor...?"; mes "Who must this"; mes "Swordman visit"; @@ -245,14 +353,37 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "[Sir Windsor]"; mes "...Amy Beatrice."; next; + cutin "job_knight_herman2",2; 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; + close2; + cutin "",255; + end; + } + if (KNGHT_Q == 9) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "It may be difficult,"; + mes "but do your best."; + close2; + cutin "",255; + end; } - else if (KNIGHT_Q == 9) callsub L_Mission,0; - else if (KNIGHT_Q == 10) { - callsub L_Mission,1; + if (KNGHT_Q == 10) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "Ah~ You do not know"; + mes "who to visit next?"; + next; + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; mes "Let's see..."; mes "Lady Amy, who"; mes "must this Swordman"; @@ -264,16 +395,39 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "Sir Edmond!"; mes "Tee hee~"; next; + cutin "job_knight_herman2",2; mes "[Captain Herman]"; mes "Now, go and speak"; mes "to Sir Edmond. He will"; mes "be in charge of your"; mes "next test."; - close; + close2; + cutin "",255; + end; + } + if (KNGHT_Q == 11) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "It may be difficult,"; + mes "but do your best."; + close2; + cutin "",255; + end; } - else if (KNIGHT_Q == 11) callsub L_Mission,0; - else if (KNIGHT_Q == 12) { - callsub L_Mission,1; + if (KNGHT_Q == 12) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "Ah~ You do not know"; + mes "who to visit next?"; + next; + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; 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."; @@ -283,6 +437,7 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "to the law of cause and effect."; mes "All will be revealed in the end."; next; + cutin "job_knight_herman2",2; mes "[Captain Herman]"; mes "Be alert and do"; mes "your best, as this"; @@ -293,19 +448,43 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "after you have"; mes "completed the"; mes "final test."; - close; + close2; + cutin "",255; + end; } - else if (KNIGHT_Q == 13) { + if (KNGHT_Q == 13) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; 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; + close2; + cutin "",255; + end; } - else if (KNIGHT_Q == 14) { - if (SkillPoint) { + if (KNGHT_Q == 14) { + if (JobLevel < 40) { + set KNGHT_Q,0; + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + 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."; + close2; + cutin "",255; + end; + } + if (SkillPoint != 0) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; mes "Oh...!"; mes "You cannot change jobs if you have unused skill points remaining. Return once you have distributed all your skill points."; - close; + close2; + cutin "",255; + end; } + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; mes "Oh, have you completed all the tests? But not everyone who completes the tests can"; mes "become a Knight."; next; @@ -321,8 +500,8 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "to everyone's thoughts!"; mes "Andrew, what do you think?"; next; - mes "[Sir Andrew]"; if (JobLevel == 50) { + mes "[Sir Andrew]"; mes "What can I say?"; mes "I approve!"; mes "Having lived as"; @@ -331,11 +510,17 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "is enough."; } else { + mes "[Sir Andrew]"; 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."; + if (Sex == 1) { + mes "I believe he will continue to be loyal after becoming a Knight."; + } + else { + mes "I believe she will continue to be loyal after becoming a Knight."; + } } next; mes "[Captain Herman]"; @@ -372,7 +557,7 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "to Amy's opinion."; next; mes "[Lady Amy]"; - if (sex) { + if (Sex == 1) { 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!"; } @@ -391,7 +576,7 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "your mind."; next; mes "[Sir Edmond]"; - if (sex) { + if (Sex == 1) { 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."; } @@ -406,7 +591,12 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ 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..."; + if (Sex == 1) { + mes "A young gentleman coming here with the determination to become a Knight is enough..."; + } + else { + mes "A young lady coming here with the determination to become a Knight is enough..."; + } next; mes "[Captain Herman]"; mes "Everyone"; @@ -415,6 +605,7 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "Then I shall tell"; mes "you my opinion."; next; + cutin "job_knight_herman1",2; mes "[Captain Herman]"; mes "My decision is..."; next; @@ -425,9 +616,14 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "You may not have finished all the tests perfectly, but you have all the necessary qualities to become"; mes "a Knight."; next; + cutin "job_knight_herman2",2; + set KNGHT_Q,0; completequest 9012; - callfunc "Job_Change",Job_Knight; - callfunc "F_ClearJobVar"; // Clears all job variables for the current player + if(Class == Job_Baby_Swordman){ + jobchange Job_Baby_Knight; + } else { + jobchange Job_Knight; + } mes "[Captain Herman]"; mes "I hereby declare"; mes "you a member of"; @@ -440,35 +636,23 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ 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; + cutin "job_knight_herman1",2; 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; + close2; } + cutin "",255; + end; } -prt_in,75,107,4 script Sir Andrew#knt 65,{ - mes "[Sir Andrew]"; - if (BaseJob != Job_Swordman) { - if (BaseJob == Job_Knight) { +prt_in,75,107,4 script Sir Andrew 65,{ + if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { + if (Class == Job_Baby_Knight || Class == Job_Knight) { + mes "[Sir Andrew]"; mes "You must be"; mes "a member of"; mes "the Chivalry."; @@ -484,7 +668,8 @@ prt_in,75,107,4 script Sir Andrew#knt 65,{ mes "After all, we are Knights."; close; } - else if (BaseClass == Job_Novice) { + if (Class == Job_Baby || Class == Job_Novice) { + mes "[Sir Andrew]"; mes "Hey there,"; mes "little Novice."; mes "Welcome to the"; @@ -499,17 +684,17 @@ prt_in,75,107,4 script Sir Andrew#knt 65,{ 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; - } + mes "[Sir Andrew]"; + 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) { + if (KNGHT_Q == 0) { + mes "[Sir Andrew]"; mes "We, the members of the"; mes "Prontera Chivalry, are putting our best effort in protecting peace in this world."; next; @@ -518,18 +703,20 @@ prt_in,75,107,4 script Sir Andrew#knt 65,{ mes "a bright future that is to come."; close; } - else if (KNIGHT_Q == 1) { + if (KNGHT_Q == 1) { + mes "[Sir Andrew]"; mes "Good day."; mes "May I help you"; mes "with something?"; next; - if (select("I would like to take the test.:Oh, nothing.") == 1) { + switch (select("I would like to take the test.:Oh, nothing.")) { + case 1: mes "[Sir Andrew]"; mes "Ah..."; mes "You wish"; mes "to become a Knight."; mes "Your name is"; - mes strcharinfo(0) + ","; + mes "" + strcharinfo(0) + ","; mes "correct?"; next; mes "[Sir Andrew]"; @@ -560,8 +747,10 @@ prt_in,75,107,4 script Sir Andrew#knt 65,{ 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; + set KNGHT_Q,4; changequest 9000,9003; + changequest 9001,9003; + changequest 9002,9003; close; } mes "[Sir Andrew]"; @@ -571,22 +760,28 @@ prt_in,75,107,4 script Sir Andrew#knt 65,{ mes "Go and gather the"; mes "following items..."; next; + set .@knight_m1, rand(1,2); 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; + if (.@knight_m1 == 1) { + set KNGHT_Q,2; + changequest 9000,9001; + mes "^236B8E5 Elder Pixie's Moustache^000000,"; + mes "^236B8E5 Wing of Red Bat^000000,"; + mes "^236B8E5 Orcish Voucher^000000,"; + mes "^236B8E5 Moth Dust^000000,"; + mes "^236B8E5 Reptile Tongue^000000 and"; + mes "^236B8E5 Mane^000000."; + } + else { + set KNGHT_Q,3; + changequest 9000,9002; + mes "^236B8E5 Bug Leg^000000,"; + mes "^236B8E5 Heart of Mermaid^000000,"; + mes "^236B8E5 Maneater Blossom^000000,"; + mes "^236B8E5 Clam Flesh^000000,"; + mes "^236B8E5 Old Frying Pan^000000 and"; + mes "^236B8E5 Snail's Shell^000000."; } - 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"; @@ -595,39 +790,80 @@ prt_in,75,107,4 script Sir Andrew#knt 65,{ mes "items I've listed."; mes "See you soon~"; close; - } - else { + case 2: mes "[Sir Andrew]"; mes "Well, then..."; mes "Good day."; close; } } - else if (KNIGHT_Q == 2 || KNIGHT_Q == 3) { + if (KNGHT_Q == 2) { + mes "[Sir Andrew]"; 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(1040) > 4) && (countitem(7006) > 4) && (countitem(931) > 4) && (countitem(1057) > 4) && (countitem(903) > 4) && (countitem(1028) > 4)) { + mes "[Sir Andrew]"; + mes "Excellent! We appreciate your effort in gathering these items. These will be used to support"; + mes "the Chivalry's finances."; + next; + delitem 1040,5; //Elder_Pixie's_Beard + delitem 7006,5; //Wing_Of_Red_Bat + delitem 931,5; //Orcish_Voucher + delitem 1057,5; //Moth_Dust + delitem 903,5; //Reptile_Tongue + delitem 1028,5; //Wild_Boar's_Mane + set KNGHT_Q,4; + changequest 9001,9003; + changequest 9002,9003; + 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; } - 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 "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 "^236B8E5 Elder Pixie's Moustache^000000,"; + mes "^236B8E5 Wing of Red Bat^000000,"; + mes "^236B8E5 Orcish Voucher^000000,"; + mes "^236B8E5 Moth Dust^000000,"; + mes "^236B8E5 Reptile Tongue^000000 and"; + mes "^236B8E5 Mane^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; + } + if (KNGHT_Q == 3) { + mes "[Sir Andrew]"; + mes "Welcome back~"; + mes "Did you gather"; + mes "all the items?"; + mes "Let's check and see..."; + next; + if ((countitem(1042) > 4) && (countitem(950) > 4) && (countitem(1032) > 4) && (countitem(966) > 4) && (countitem(7031) > 4) && (countitem(946) > 4)) { 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; + delitem 1042,5; //Short_Leg + delitem 950,5; //Heart_Of_Mermaid + delitem 1032,5; //Blossom_Of_Maneater + delitem 966,5; //Flesh_Of_Clam + delitem 7031,5; //Old_Frying_Pan + delitem 946,5; //Snail's_Shell + set KNGHT_Q,4; + changequest 9001,9003; + changequest 9002,9003; 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; @@ -641,12 +877,12 @@ prt_in,75,107,4 script Sir Andrew#knt 65,{ 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,"; + mes "^236B8E5 Bug Leg^000000,"; + mes "^236B8E5 Heart of Mermaid^000000,"; + mes "^236B8E5 Maneater Blossom^000000,"; + mes "^236B8E5 Clam Flesh^000000,"; + mes "^236B8E5 Old Frying Pan^000000 and"; + mes "^236B8E5 Snail's Shell^000000."; next; mes "[Sir Andrew]"; mes "Now, please take this test seriously and with sincerity."; @@ -654,25 +890,26 @@ prt_in,75,107,4 script Sir Andrew#knt 65,{ mes "to complete this task."; close; } - else if (KNIGHT_Q == 4) { + if (KNGHT_Q == 4) { + mes "[Sir Andrew]"; 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) { + if (KNGHT_Q == 14) { + mes "[Sir Andrew]"; 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; - } + mes "[Sir Andrew]"; + 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) { +prt_in,71,91,0 script Sir Siracuse 65,{ + if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { + if (Class == Job_Baby_Knight || Class == Job_Knight) { + mes "[Sir Siracuse]"; mes "Hey there!"; mes "How are you doing?"; mes "The Chivalry's been"; @@ -693,7 +930,8 @@ prt_in,71,91,0 script Sir Siracuse#knt 65,{ 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) { + if (Class == Job_Baby || Class == Job_Novice) { + mes "[Sir Siracuse]"; mes "Oh?"; mes "What is a Novice"; mes "doing here?"; @@ -709,22 +947,22 @@ prt_in,71,91,0 script Sir Siracuse#knt 65,{ 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; - } + mes "[Sir Siracuse]"; + 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) { + if (KNGHT_Q == 0) { + mes "[Sir Siracuse]"; mes "Offense and defense."; mes "Is there a way to have both without compromising one or the other?"; next; @@ -738,24 +976,32 @@ prt_in,71,91,0 script Sir Siracuse#knt 65,{ mes "would help Knights greatly..."; close; } - else if (KNIGHT_Q == 1) { + if (KNGHT_Q == 1) { + mes "[Sir Siracuse]"; 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) { + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 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?"; + if (Sex == 1) { + mes "you the guy that"; + mes "just applied?"; + } + else { + mes "you the girl that"; + mes "just applied?"; + } next; mes "[Sir Siracuse]"; mes "Let's see..."; mes "Your name was"; - mes strcharinfo(0) + "."; + mes "" + strcharinfo(0) + "."; next; mes "[Sir Siracuse]"; mes "But, before you come to me, you must visit the others. The way"; @@ -763,23 +1009,26 @@ prt_in,71,91,0 script Sir Siracuse#knt 65,{ mes "reconsider once you"; mes "pass the first test."; close; + case 2: + 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 "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) { + if (KNGHT_Q == 2) { + mes "[Sir Siracuse]"; 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) { + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 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."; @@ -788,251 +1037,630 @@ prt_in,71,91,0 script Sir Siracuse#knt 65,{ mes "Speak to Sir Andrew first."; mes "My test for you will come after you've finished his test."; close; + case 2: + 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 (KNGHT_Q == 3) { mes "[Sir Siracuse]"; - mes "Hmmm...?"; - mes "Alright."; - mes "It's just that"; - mes "you had that"; - mes "look on your"; - mes "face."; - close; + mes "Eh?"; + mes "Do you have"; + mes "something to"; + mes "ask me?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 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; + case 2: + 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?"; + else if (KNGHT_Q == 4) { + mes "[Sir Siracuse]"; + mes "Oh?"; + mes "Do you have"; + mes "something to"; + mes "ask me?"; + next; + switch (select("Sir Andrew sent me to take your test.:Oh, nothing.")) { + case 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; + 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("Sir Andrew sent me to take your test.:Oh, nothing.") == 1) { + switch (select("Katana:Slayer:Broadsword:Flamberge")) { + case 1: + set KNGHT_Q,5; 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."; + 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 "This test will measure how much you know about Knighthood. More importantly, I want to know your thoughts about honor."; - next; + 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; + case 2: + set KNGHT_Q,5; 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?"; + 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 "Well then,"; - mes "let's begin."; - mes "Please answer"; - mes "promptly."; + 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; + case 3: + set KNGHT_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; + case 4: + break; } - else { + mes "[Sir Siracuse]"; + mes "Good, now let me ask about some skills. Which of the following is not necessary to learn Bowling Bash?"; + next; + switch (select("Two Handed Sword Mastery Lv.5:Magnum Break Lv.3:Provoke Lv.10:Bash Lv.10")) { + case 1: + set KNGHT_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; + case 2: + set KNGHT_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; + case 3: + break; + case 4: + set KNGHT_Q,5; mes "[Sir Siracuse]"; - mes "Hmmm...?"; - mes "Alright."; - mes "It's just that"; - mes "you had that"; - mes "look on your"; - mes "face."; + mes "Wrong!"; + mes "You need that to learn Bowling Bash! You should learn more about the Knight class before applying for the job!"; close; } - } - else if (KNIGHT_Q == 5) { - mes "What..."; - mes "You again?"; + 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("I wish to take the test again.:Oh, nothing.") == 1) { + switch (select("Pierce Lv.5:Spear Stab Lv.3:Spear Boomerang Lv.3:Peco Peco Ride Lv.1")) { + case 1: + set KNGHT_Q,5; mes "[Sir Siracuse]"; - mes "Is that right?"; - mes "Are you sure you're"; - mes "prepared this time?"; + 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 "Alright then,"; - mes "here we go again..."; + 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; + case 2: + set KNGHT_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; + case 3: + break; + case 4: + set KNGHT_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; - } - else { mes "[Sir Siracuse]"; - mes "Hmmm...?"; - mes "Alright."; - mes "It's just that"; - mes "you had that"; - mes "look on your"; - mes "face."; + 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 "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..."; + mes "Some Spears also have magical attributes, just like spells. Of the following, which can attack a Nightmare, which has the Ghost attribute?"; next; + switch (select("Zephyrus:Lance:Bill Guisarme:Crescent Scythe")) { + case 1: + break; + case 2: + set KNGHT_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; + case 3: + set KNGHT_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; + case 4: + set KNGHT_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 "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?"; + 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 "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 "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; + switch (select("70 % of normal attack speed:80 % of normal attack speed:90 % of normal attack speed:100 % of normal attack speed")) { + case 1: + set KNGHT_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; + case 2: + break; + case 3: + set KNGHT_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; + case 4: + set KNGHT_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 "Wrong! You'll be doing absolutely no damage with that type of Spear! Come back after you've learned more about Knights!"; + 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 "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 "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 KNGHT_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 KNGHT_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 "Wrong!"; - mes "Don't bother riding a Peco Peco if you don't know about Cavalier Mastery!"; + 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 KNGHT_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 KNGHT_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 "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 "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 KNGHT_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 KNGHT_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 KNGHT_Q,6; + changequest 9003,9004; 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."; + mes "Well then,"; + mes "this is the"; + mes "end of my test."; 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 "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."; + close2; + case 2: 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."; + mes "Hmmm...?"; + mes "Alright."; + mes "It's just that"; + mes "you had that"; + mes "look on your"; + mes "face."; close; } + } + if (KNGHT_Q == 5) { mes "[Sir Siracuse]"; - mes "Alright..."; - mes "Now, how should"; - mes "you act within"; - mes "a party?"; + mes "What..."; + mes "You again?"; 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.")) { + switch (select("I wish to take the test again.:Oh, nothing.")) { 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."; + mes "Is that right?"; + mes "Are you sure you're"; + mes "prepared this time?"; 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 "Alright then,"; + mes "here we go again..."; + next; mes "[Sir Siracuse]"; - mes "Right, above all else, Knights must be honorable! We live and die for honor! Always keep that in mind."; + 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; - break; - case 2: - set KNIGHT_Q,5; + switch (select("Katana:Slayer:Broadsword:Flamberge")) { + case 1: + set KNGHT_Q,5; + mes "[Sir Siracuse]"; + mes "Wrong!"; + mes "That's a Two-Handed Sword! 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, go into town and ask any Knight. You need to learn more about Knights before applying for the job!"; + close; + case 2: + set KNGHT_Q,5; + mes "[Sir Siracuse]"; + mes "Wrong!"; + mes "That's a Two-Handed Sword! 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, go into town and ask any Knight. You need to learn more about Knights before applying for the job!"; + close; + case 3: + set KNGHT_Q,5; + mes "[Sir Siracuse]"; + mes "Wrong!"; + mes "That's a Two-Handed Sword! 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, go into town and ask any Knight. You need to learn more about Knights before applying for the job!"; + close; + case 4: + break; + } 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 "Good, now let me ask about some skills. Which of the following is not necessary to learn Bowling Bash?"; + next; + switch (select("Two Handed Sword Mastery Lv.5:Magnum Break Lv.3:Provoke Lv.10:Bash Lv.10")) { + case 1: + set KNGHT_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; + case 2: + set KNGHT_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; + case 3: + break; + case 4: + set KNGHT_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 "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; + 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; + switch (select("Pierce Lv.5:Spear Stab Lv.3:Spear Boomerang Lv.3:Peco Peco Ride Lv.1")) { + case 1: + set KNGHT_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; + case 2: + set KNGHT_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; + case 3: + break; + case 4: + set KNGHT_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; + switch (select("Zephyrus:Lance:Bill Guisarme:Crescent Scythe")) { + case 1: + break; + case 2: + set KNGHT_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; + case 3: + set KNGHT_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; + case 4: + set KNGHT_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; + switch (select("70 % of normal attack speed:80 % of normal attack speed:90 % of normal attack speed:100 % of normal attack speed")) { + case 1: + set KNGHT_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; + case 2: + break; + case 3: + set KNGHT_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; + case 4: + set KNGHT_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 KNGHT_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 KNGHT_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 KNGHT_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 KNGHT_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 KNGHT_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 KNGHT_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; + } + changequest 9003,9004; + set KNGHT_Q,6; + 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; + case 2: + 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 == 6) { + if (KNGHT_Q == 6) { + mes "[Sir Siracuse]"; 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) { + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 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; + case 2: + 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 "Hmmm...?"; - mes "Alright."; - mes "It's just that"; - mes "you had that"; - mes "look on your"; - mes "face."; - close; } - else if (KNIGHT_Q == 14) { + if (KNGHT_Q == 14) { + mes "[Sir Siracuse]"; mes "Mmm...?"; mes "You finished"; mes "everyone else's"; @@ -1046,40 +1674,16 @@ prt_in,71,91,0 script Sir Siracuse#knt 65,{ 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; - } + mes "[Sir Siracuse]"; + 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) { +prt_in,79,94,4 script Sir Windsor 733,{ + if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { + if (Class == Job_Baby_Knight || Class == Job_Knight) { mes "[Sir Windsor]"; mes "..."; next; @@ -1088,169 +1692,400 @@ prt_in,79,94,4 script Sir Windsor#knt 733,{ mes "......"; next; mes "[Sir Windsor]"; - mes "...It's not my turn."; + mes "Protect."; 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) { + if (Class == Job_Baby || Class == Job_Novice) { 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 "...Go play"; + mes "outside."; + close; } 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."; + mes "..."; + mes "......"; next; mes "[Sir Windsor]"; - mes "...Kill them all."; - next; + mes "...Hmpf."; + close; + } + if (KNGHT_Q == 0) { 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."; + mes "..."; + mes "......"; next; mes "[Sir Windsor]"; - mes ".........."; + mes "...What?"; close; - case 2: + } + if (KNGHT_Q == 1) { + mes "[Sir Windsor]"; + mes "..."; next; mes "[Sir Windsor]"; - mes "...Go in the"; - mes "waiting room."; + mes "..."; + mes "......"; next; mes "[Sir Windsor]"; - mes "...Then it"; - mes "will begin."; + mes "...What?"; next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes "...It's not my turn."; + close; + case 2: + mes "[Sir Windsor]"; + mes "..."; + close; + } + } + if (KNGHT_Q == 2) { mes "[Sir Windsor]"; mes "..."; next; mes "[Sir Windsor]"; - mes "...You have to wait"; - mes "if someone is testing."; + mes "..."; + mes "......"; next; mes "[Sir Windsor]"; - mes "...You can go in"; - mes "after that person."; + mes ".....What?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes "...It's not my turn."; + close; + case 2: + mes "[Sir Windsor]"; + mes "..."; + close; + } + } + if (KNGHT_Q == 3) { + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes ".....What?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes "...It's not my turn."; + close; + case 2: + mes "[Sir Windsor]"; + mes "..."; + close; + } + } + if (KNGHT_Q == 4) { + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes ".....What?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes "...It's not my turn."; + close; + case 2: + mes "[Sir Windsor]"; + mes ".........."; + close; + } + } + if (KNGHT_Q == 5) { + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes ".....What?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes "...It's not my turn."; + close; + case 2: + mes "[Sir Windsor]"; + mes "..."; + close; + } + } + if (KNGHT_Q == 6) { + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes ".....What?"; + next; + switch (select("Sir Siracuse sent me to you.:Oh, nothing.")) { + case 1: + mes "[Sir Windsor]"; + mes "..."; + next; + set KNGHT_Q,7; + changequest 9004,9006; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes "...Follow me."; + close2; + warp "job_knt",89,101; + end; + case 2: + mes "[Sir Windsor]"; + mes "..."; + close; + } + } + if (KNGHT_Q == 7) { + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + switch (select("I want to try again!:...")) { + case 1: + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes "...Fine."; + next; + mes "[Sir Windsor]"; + mes "...This way."; + close2; + warp "job_knt",89,101; + end; + case 2: + mes "[Sir Windsor]"; + mes "..."; + close; + } + } + if (KNGHT_Q == 14) { + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes "...Talk to"; + mes "the captain."; + close; + } + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes "...You're"; + mes "done here."; + close; +} + +job_knt,89,106,4 script Knight Windsor 733,{ + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes "...Question?"; + next; + switch (select("What kind of test is this?:How do I take the test?:I'd like to leave.:No.")) { + case 1: + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + 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: + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + 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: + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; close2; warp "prt_in",80,100; end; + case 4: + mes "[Sir Windsor]"; + mes "..."; + close; } } job_knt,89,106,4 script Windsor Benedict#knt 733,{ + end; + OnInit: - disablenpc "Windsor Benedict#knt"; + hideonnpc "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: +OnEnable: enablewaitingroomevent; end; } -- script Knight1 -1,{ +job_knt,1,1,1 script Knight1 66,{ + end; + OnInit: - disablenpc "Knight1"; + hideonnpc "Knight1"; end; OnEnable: - enablenpc "Knight1"; - set .MyMobs,8; + hideoffnpc "Knight1"; + monster "job_knt",39,150,"Dustiness",1114,1,"Knight1::OnMyMobDead"; + monster "job_knt",47,150,"Dustiness",1114,1,"Knight1::OnMyMobDead"; + monster "job_knt",39,142,"Dustiness",1114,1,"Knight1::OnMyMobDead"; + monster "job_knt",47,142,"Dustiness",1114,1,"Knight1::OnMyMobDead"; 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"; @@ -1262,22 +2097,25 @@ OnEnable: initnpctimer; end; +OnReset: + killmonster "job_knt","Knight1::OnMyMobDead"; + end; + OnDisable: - killmonster "job_knt", "Knight1::OnMyMobDead"; - disablenpc "Knight1"; + hideonnpc "Knight1"; end; OnMyMobDead: - set .MyMobs,.MyMobs-1; - if (.MyMobs < 1) { + if (mobcount ("job_knt","Knight1::OnMyMobDead") < 1) { mes "[Sir Windsor]"; mes "..."; - next; + close2; mes "[Sir Windsor]"; mes "...On to"; mes "the next level."; close2; warp "job_knt",43,52; + donpcevent "Knight1::OnReset"; donpcevent "Knight1::OnDisable"; donpcevent "Knight2::OnEnable"; stopnpctimer; @@ -1285,54 +2123,81 @@ OnMyMobDead: end; OnTimer180000: - donpcevent "Knight1::OnDisable"; + donpcevent "Knight1::OnReset"; end; OnTimer181000: - areawarp "job_knt", 24, 126, 63, 165, "prt_in",80,100; + donpcevent "Out1::OnEnable"; end; OnTimer182000: - stopnpctimer; + donpcevent "Out1::OnDisable"; donpcevent "Knight1::OnDisable"; - donpcevent "Windsor Benedict#knt::OnStart"; + donpcevent "Windsor Benedict#knt::OnEnable"; + end; +} + +job_knt,43,146,0 script Out1 139,22,22,{ + +OnTouch: + warp "prt_in",80,100; + end; + +OnInit: + hideonnpc "Out1"; + end; + +OnEnable: + hideoffnpc "Out1"; + end; + +OnDisable: + hideonnpc "Out1"; end; } -// Test 2 part 2 -//========================================================== -- script Knight2 -1,{ +job_knt,1,2,1 script Knight2 66,{ + end; + OnInit: - disablenpc "Knight2"; + hideonnpc "Knight2"; end; OnEnable: - enablenpc "Knight2"; - set .MyMobs,6; + hideoffnpc "Knight2"; monster "job_knt",53,52,"Frilldora",1119,1,"Knight2::OnMyMobDead"; monster "job_knt",34,52,"Frilldora",1119,1,"Knight2::OnMyMobDead"; + monster "job_knt",43,42,"Desert Wolf",1106,1,"Knight2::OnMyMobDead"; + monster "job_knt",43,62,"Desert Wolf",1106,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"; + monster "job_knt",60,68,"Anacondaq",1030,1,"Knight2::OnMyMobDead"; + monster "job_knt",27,68,"Anacondaq",1030,1,"Knight2::OnMyMobDead"; + monster "job_knt",60,35,"Anacondaq",1030,1,"Knight2::OnMyMobDead"; + monster "job_knt",27,35,"Anacondaq",1030,1,"Knight2::OnMyMobDead"; initnpctimer; end; -OnDisable: - killmonster "job_knt", "Knight2::OnMyMobDead"; - disablenpc "Knight2"; +OnReset: + killmonster "job_knt","Knight2::OnMyMobDead"; + end; + +OnDisable: + hideonnpc "Knight2"; end; OnMyMobDead: - set .MyMobs,.MyMobs-1; - if (.MyMobs < 1) { + if (mobcount ("job_knt","Knight2::OnMyMobDead") < 1) { mes "[Sir Windsor]"; mes "...Hmm."; - next; + close2; mes "[Sir Windsor]"; mes "...One stage left."; close2; warp "job_knt",143,152; + donpcevent "Knight2::OnReset"; donpcevent "Knight2::OnDisable"; donpcevent "Knight3::OnEnable"; stopnpctimer; @@ -1340,88 +2205,125 @@ OnMyMobDead: end; OnTimer180000: - donpcevent "Knight2::OnDisable"; + donpcevent "Knight2::OnReset"; end; OnTimer181000: - areawarp "job_knt", 24, 32, 63, 71, "prt_in",80,100; + donpcevent "Out2::OnEnable"; end; OnTimer182000: - stopnpctimer; + donpcevent "Out2::OnDisable"; donpcevent "Knight2::OnDisable"; - donpcevent "Windsor Benedict#knt::OnStart"; + donpcevent "Windsor Benedict#knt::OnEnable"; + end; +} + +job_knt,43,52,0 script Out2 139,22,22,{ + +OnTouch: + warp "prt_in",80,100; + end; + +OnInit: + hideonnpc "Out2"; + end; + +OnEnable: + hideoffnpc "Out2"; + end; + +OnDisable: + hideonnpc "Out2"; end; } -// Test 2 part 3 -//========================================================== -- script Knight3 -1,{ +job_knt,1,3,1 script Knight3 66,{ + end; + OnInit: - disablenpc "Knight3"; + hideonnpc "Knight3"; end; OnEnable: - enablenpc "Knight3"; - set .MyMobs,5; + hideoffnpc "Knight3"; 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"; + monster "job_knt",147,167,"Goblin Archer",1258,1,"Knight3::OnMyMobDead"; + monster "job_knt",136,158,"Steam Goblin",1280,1,"Knight3::OnMyMobDead"; initnpctimer; end; +OnReset: + killmonster "job_knt","Knight3::OnMyMobDead"; + end; + OnDisable: - killmonster "job_knt", "Knight3::OnMyMobDead"; - disablenpc "Knight3"; + hideonnpc "Knight3"; end; OnMyMobDead: - set .MyMobs,.MyMobs-1; - if (.MyMobs < 1) { + if (mobcount ("job_knt","Knight3::OnMyMobDead") < 1) { mes "[Sir Windsor]"; mes "..."; - next; + close2; mes "[Sir Windsor]"; mes "...Very good."; - next; + close2; mes "[Sir Windsor]"; mes "...Go talk to"; mes "Amy Beatrice now."; close2; - set KNIGHT_Q,8; - if(checkquest(9007) == -1) { - changequest 9006,9007; - } + set KNGHT_Q,8; warp "prt_in",80,100; + donpcevent "Knight3::OnReset"; donpcevent "Knight3::OnDisable"; - donpcevent "Windsor Benedict#knt::OnStart"; + donpcevent "Windsor Benedict#knt::OnEnable"; stopnpctimer; } end; OnTimer180000: - donpcevent "Knight3::OnDisable"; + donpcevent "Knight3::OnReset"; end; OnTimer181000: - areawarp "job_knt", 124, 132, 163, 171, "prt_in",80,100; + donpcevent "Out3::OnEnable"; end; OnTimer182000: - stopnpctimer; + donpcevent "Out3::OnDisable"; donpcevent "Knight3::OnDisable"; - donpcevent "Windsor Benedict#knt::OnStart"; + donpcevent "Windsor Benedict#knt::OnEnable"; 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) { +job_knt,143,152,0 script Out3 139,22,22,{ + +OnTouch: + warp "prt_in",80,100; + end; + +OnInit: + hideonnpc "Out3"; + end; + +OnEnable: + hideoffnpc "Out3"; + end; + +OnDisable: + hideonnpc "Out3"; + end; +} + +prt_in,69,107,6 script Lady Amy 728,{ + if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { + if (Class == Job_Baby_Knight || Class == Job_Knight) { + mes "[Lady Amy]"; mes "Oh...!"; mes "I wonder, why"; mes "have you come"; @@ -1437,9 +2339,10 @@ prt_in,69,107,6 script Lady Amy#knt 728,{ mes "Of course~"; mes "You're a member of"; mes "the Prontera Chivalry~"; - close; + close2; } - else if (BaseClass == Job_Novice) { + if (Class == Job_Baby || Class == Job_Novice) { + mes "[Lady Amy]"; mes "Aww~"; mes "What a cute"; mes "little Novice!"; @@ -1456,21 +2359,21 @@ prt_in,69,107,6 script Lady Amy#knt 728,{ 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; + close2; } + mes "[Lady Amy]"; + 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) { + if (KNGHT_Q == 0) { + mes "[Lady Amy]"; mes "Ooh, you're"; mes "a Swordsman...?"; mes "Did you come to"; @@ -1484,12 +2387,14 @@ prt_in,69,107,6 script Lady Amy#knt 728,{ mes "there. Hee hee~"; close; } - else if (KNIGHT_Q >= 1 && KNIGHT_Q <= 7) { + if (KNGHT_Q == 1) { + mes "[Lady Amy]"; 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) { + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: mes "[Lady Amy]"; mes "Mmm~"; mes "You applied to change jobs! Okay! You'll soon be a Knight with that kind of determination!"; @@ -1506,332 +2411,1084 @@ prt_in,69,107,6 script Lady Amy#knt 728,{ mes "but I'm not allowed to."; mes "Hee hee~"; close; + case 2: + mes "[Lady Amy]"; + mes "Aww~"; + mes "Alright..."; + 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; + if (KNGHT_Q == 2) { mes "[Lady Amy]"; - mes "Okay,"; - mes "that was the"; - mes "end of my test!"; + mes "Hmmm?"; + mes "Why did you"; + mes "come to Amy?"; 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~"; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 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 "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."; + mes "But..."; + mes "You have to go"; + mes "to the other Knights"; + mes "before talking to Amy."; 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~"; + mes "I'd love to test"; + mes "you from the beginning,"; + mes "but I'm not allowed to."; + mes "Hee hee~"; + close; + case 2: + mes "[Lady Amy]"; + mes "Aww~"; + mes "Alright..."; 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) { + if (KNGHT_Q == 3) { + mes "[Lady Amy]"; 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; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 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; + case 2: + mes "[Lady Amy]"; + mes "Aww~"; + mes "Alright..."; + close; + } } - else if (KNIGHT_Q == 14) { - mes "Wow~"; - mes "Now it's time for"; - mes "everyone to decide"; - mes "on your job change!"; - next; + if (KNGHT_Q == 4) { 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..."; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 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 "[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..."; + mes "[Lady Amy]"; + mes "But..."; + mes "You have to go"; + mes "to the other Knights"; + mes "before talking to Amy."; next; - mes "[Sir Edmond]"; - mes "Your future"; - mes "can even be"; - mes "decided now..."; + mes "[Lady Amy]"; + mes "I'd love to test"; + mes "you right now, but"; + mes "I'm not allowed"; + mes "to quite yet."; + mes "Hee hee~"; close; - } - else { - mes "Everything in this world exists in harmony. Living without disrupting this harmony is the right way to live..."; + case 2: + mes "[Lady Amy]"; + mes "Aww~"; + mes "Alright..."; 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?"; + if (KNGHT_Q == 5) { + mes "[Lady Amy]"; + 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) { + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 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 right now, but"; + mes "I'm not allowed"; + mes "to quite yet."; + mes "Hee hee~"; + close; + case 2: + mes "[Lady Amy]"; + mes "Aww~"; + mes "Alright..."; + close; + } + } + if (KNGHT_Q == 6) { + mes "[Lady Amy]"; + mes "Hmmm?"; + mes "Why did you"; + mes "come to Amy?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 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 right now, but"; + mes "I'm not allowed"; + mes "to quite yet."; + mes "Hee hee~"; + close; + case 2: + mes "[Lady Amy]"; + mes "Aww~"; + mes "Alright..."; + close; + } + } + if (KNGHT_Q == 7) { + mes "[Lady Amy]"; + mes "Hmmm?"; + mes "Why did you"; + mes "come to Amy?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 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 right now, but"; + mes "I'm not allowed"; + mes "to quite yet."; + mes "Hee hee~"; + close; + case 2: + mes "[Lady Amy]"; + mes "Aww~"; + mes "Alright..."; + close; + } + } + if (KNGHT_Q == 8) { + mes "[Lady Amy]"; + mes "Hmmm?"; + mes "Why did you"; + mes "come to Amy?"; + next; + switch (select("Sir Windsor told me to--:Oh, nothing.")) { + case 1: + changequest 9006,9008; + 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; + set @knight_t, 0; + mes "[Lady Amy]"; + mes "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; + switch (select("Shout out that you are looking for a party.:Open a chat room and wait.:Look for people seeking Knights.")) { + case 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + 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; + switch (select("Check out the area and plan ahead.:Gather monsters for your party members.:Lead the party slowly at the front.")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + mes "[Lady Amy]"; + mes "But some rude players came with a group of monsters and disappeared! What should you do?"; + next; + switch (select("Keep the monsters from reaching the party.:Defend while the party retreats.:Run away on your Peco Peco.")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + break; + } + 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; + switch (select("Ask your party's Priest to help.:Say you will help for Zeny.:Ignore and move on.")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + break; + case 3: + break; + } + 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; + switch (select("Give it to who deserves it the most.:Pretend like nothing happened and keep it.:Decide with party who gets it.")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + 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; + switch (select("Shout out loud to everyone.:Open a chat room and wait.:Inquire if there is anyone that is interested.")) { + case 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + mes "[Lady Amy]"; + mes "While you are waiting,"; + mes "someone comes and begs"; + mes "for items and zeny."; + mes "What do you do?"; + next; + switch (select("Give them some Zeny and items.:Simply ignore them.:Give suggestions for a place to hunt.")) { + case 1: + break; + case 2: + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + 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; + switch (select("Tell the person how to reach the exit.:Lead the person to the exit.:Give a Butterfly Wing.")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + break; + } + 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; + switch (select("Would it be possible to get a heal please?:Can I have a heal?:Heal plz!!")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + break; + case 3: + break; + } + 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; + switch (select("Pick it up and keep it.:Ask around to find the owner.:Simply walk by.")) { + case 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + mes "[Lady Amy]"; + mes "Okay,"; + mes "that was the"; + mes "end of my test!"; + next; + if (@knight_t == 100) { + set KNGHT_Q,10; + mes "[Lady Amy]"; + 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; + } + if (@knight_t == 90) { + set KNGHT_Q,10; + changequest 9008,9009; + mes "[Lady Amy]"; + 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 KNGHT_Q,9; + mes "[Lady Amy]"; + 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; + case 2: + mes "[Lady Amy]"; + mes "Aww..."; + mes "Alright~"; + close; + } + } + if (KNGHT_Q == 9) { + mes "[Lady Amy]"; + mes "Hmmm?"; + mes "Why did you"; + mes "come to Amy?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 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; + set @knight_t, 0; + 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; + switch (select("Shout out that you are looking for a party.:Open a chat room and wait.:Look for people seeking Knights.")) { + case 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + 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; + switch (select("Check out the area and plan ahead.:Gather monsters for your party members.:Lead the party slowly at the front.")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + mes "[Lady Amy]"; + mes "But some rude players came with a group of monsters and disappeared! What should you do?"; + next; + switch (select("Keep the monsters from reaching your party.:Defend while the party retreats.:Run away on your Peco Peco.")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + break; + } + 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; + switch (select("Ask your party's Priest to help.:Say you will help for Zeny.:Ignore and move on.")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + break; + case 3: + break; + } + 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; + switch (select("Give it to who deserves it the most.:Pretend like nothing happened and keep it.:Decide with party who gets it.")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + 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; + switch (select("Shout out loud to everyone.:Open a chat room and wait.:Inquire if there is anyone that is interested.")) { + case 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + mes "[Lady Amy]"; + mes "While you are waiting,"; + mes "someone comes and begs"; + mes "for items and zeny."; + mes "What do you do?"; + next; + switch (select("Give them some Zeny and items.:Simply ignore them.:Give suggestions for a place to hunt.")) { + case 1: + break; + case 2: + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + 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; + switch (select("Tell the person how to reach the exit.:Lead the person to the exit.:Give a Butterfly Wing.")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + break; + } + 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; + switch (select("Would it be possible to get a heal please?:Can I have a heal?:Heal plz!!")) { + case 1: + set @knight_t, @knight_t + 10; + break; + case 2: + break; + case 3: + break; + } + 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; + switch (select("Pick it up and keep it.:Ask around to find the owner.:Simply walk by.")) { + case 1: + break; + case 2: + set @knight_t, @knight_t + 10; + break; + case 3: + set @knight_t, @knight_t + 10; + break; + } + mes "[Lady Amy]"; + mes "Okay,"; + mes "that was the"; + mes "end of my test!"; + next; + if (@knight_t == 100) { + set KNGHT_Q,10; + mes "[Lady Amy]"; + 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; + } + if (@knight_t == 90) { + set KNGHT_Q,10; + mes "[Lady Amy]"; + 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 KNGHT_Q,9; + mes "[Lady Amy]"; + 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; + case 2: + mes "[Lady Amy]"; + mes "Aww..."; + mes "Alright~"; + close; + } + } + if (KNGHT_Q == 10) { + mes "[Lady Amy]"; + 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; + } + if (KNGHT_Q == 14) { + mes "[Lady Amy]"; + 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; + } + mes "[Lady Amy]"; + 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; +} + +prt_in,70,99,6 script Sir Edmond 734,{ + if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { + if (Class == Job_Baby_Knight || Class == Job_Knight) { + mes "[Sir Edmond]"; + 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; + } + if (Class == Job_Baby || Class == Job_Novice) { + mes "[Sir Edmond]"; + 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; + } + mes "[Sir Edmond]"; + mes "Everything in this world exists in harmony. Living without disrupting this harmony is the right way to live..."; + close; + } + if (KNGHT_Q == 0) { + mes "[Sir Edmond]"; + 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; + } + if (KNGHT_Q == 1) { + mes "[Sir Edmond]"; + mes "What is it..."; + mes "Wandering Swordman?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 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; + case 2: + 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; + } + } + if (KNGHT_Q == 2) { + mes "[Sir Edmond]"; + mes "What is it..."; + mes "Wandering Swordman?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: + mes "[Sir Edmond]"; + mes "The question of"; + mes "what came first:"; + mes "the chicken"; + mes "or the egg?"; + next; + mes "[Sir Edmond]"; + mes "Do you think"; + mes "you're prepared"; + mes "to discuss this?"; + next; + mes "[Sir Edmond]"; + mes "That's what"; + mes "I thought..."; + mes "Go to the"; + mes "others first."; + close; + case 2: + 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; + } + } + if (KNGHT_Q == 3) { + mes "[Sir Edmond]"; + mes "What is it..."; + mes "Wandering Swordman?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 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; + case 2: + 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; + } + } + if (KNGHT_Q == 4) { + mes "[Sir Edmond]"; + mes "What is it..."; + mes "Wandering Swordman?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: + mes "[Sir Edmond]"; + mes "The question of"; + mes "what came first:"; + mes "the chicken"; + mes "or the egg?"; + next; + mes "[Sir Edmond]"; + mes "Do you think"; + mes "you're prepared"; + mes "to discuss this?"; + next; + mes "[Sir Edmond]"; + mes "That's what"; + mes "I thought..."; + mes "Go to the"; + mes "others first."; + close; + case 2: + 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; + } + } + if (KNGHT_Q == 5) { + mes "[Sir Edmond]"; + mes "What is it..."; + mes "Wandering Swordman?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: + mes "[Sir Edmond]"; + mes "The question of"; + mes "what came first:"; + mes "the chicken"; + mes "or the egg?"; + next; + mes "[Sir Edmond]"; + mes "Do you think"; + mes "you're prepared"; + mes "to discuss this?"; + next; + mes "[Sir Edmond]"; + mes "That's what"; + mes "I thought..."; + mes "Go to the"; + mes "others first."; + close; + case 2: + 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; + } + } + if (KNGHT_Q == 6) { + mes "[Sir Edmond]"; + mes "What is it... "; + mes "Wandering Swordman?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 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..."; + mes "If a tree falls"; + mes "in the woods, does"; + mes "it make a sound?"; next; mes "[Sir Edmond]"; - mes "If not..."; - mes "The flower will"; - mes "be incomplete."; + mes "I think you need"; + mes "more time to think"; + mes "about this."; next; mes "[Sir Edmond]"; mes "Go to the others"; mes "first, so that you"; - mes "may find your path..."; + mes "may find an answer..."; + close; + case 2: + 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; } + } + if (KNGHT_Q == 7) { 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; + mes "What is it..."; + mes "Wandering Swordman?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: + mes "[Sir Edmond]"; + mes "Change will"; + mes "come when all is in"; + mes "readiness. Everything"; + mes "comes in its own"; + mes "good time."; + next; + mes "[Sir Edmond]"; + mes "The time has not"; + mes "yet come for me"; + mes "to test you yet."; + mes "Go to the others."; + close; + case 2: + 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; + } + } + if (KNGHT_Q == 8) { + mes "[Sir Edmond]"; + mes "Zzz..."; + mes "Zzz..."; + mes "^666666*snort*^000000"; + mes "Wah? Huh?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: + mes "[Sir Edmond]"; + mes "Is it my"; + mes "turn yet...?"; + mes "No... Not yet."; + next; + mes "[Sir Edmond]"; + mes "Sorry, it's"; + mes "not my turn yet,"; + mes "young one."; + next; + mes "[Sir Edmond]"; + mes "Go to the others"; + mes "first and complete"; + mes "their tasks..."; + close; + case 2: + mes "[Sir Edmond]"; + mes "You're almost"; + mes "there, don't"; + mes "give up..."; + close; + } + } + if (KNGHT_Q == 9) { + mes "[Sir Edmond]"; + mes "What is it..."; + mes "Wandering Swordman?"; + next; + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: + mes "[Sir Edmond]"; + mes "You are nearing the"; + mes "end of your journey..."; + next; + mes "[Sir Edmond]"; + mes "However, there are"; + mes "still the final steps"; + mes "you must take..."; + next; + mes "[Sir Edmond]"; + mes "However,"; + mes "my time to test"; + mes "you has not come"; + mes "quite yet."; + close; + case 2: + mes "[Sir Edmond]"; + mes "You must still see"; + mes "one of the others..."; + mes "But the life that you"; + mes "want will soon be"; + mes "before your eyes."; + close; + } } - else if (KNIGHT_Q == 10) { + if (KNGHT_Q == 10) { + mes "[Sir Edmond]"; mes "What is it..."; mes "Wandering Swordman."; next; - if (select("Lady Amy sent me.:Oh, nothing.") == 1) { + switch (select("Lady Amy sent me.:Oh, nothing.")) { + case 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; @@ -1856,23 +3513,26 @@ prt_in,70,99,6 script Sir Edmond#knt 734,{ mes "Keep in mind"; mes "the quality of"; mes "reverence."; - close2; - set KNIGHT_Q,11; + set KNGHT_Q,12; changequest 9009,9010; + close2; warp "job_knt",143,57; end; + case 2: + mes "[Sir Edmond]"; + mes "The life you want"; + mes "will soon be before"; + mes "your eyes."; + close; } - mes "[Sir Edmond]"; - mes "The life you want"; - mes "will soon be before"; - mes "your eyes."; - close; } - else if (KNIGHT_Q == 11) { + if (KNGHT_Q == 11) { + mes "[Sir Edmond]"; mes "What is it..."; mes "Wandering Swordman?"; next; - if (select("I'm sorry, I didn't mean to...:Oh, nothing.") == 1) { + switch (select("I'm sorry, I didn't mean to...:Oh, nothing.")) { + case 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; @@ -1884,53 +3544,81 @@ prt_in,70,99,6 script Sir Edmond#knt 734,{ mes "shall begin."; mes "Show me your"; mes "patience..."; + set KNGHT_Q,13; close2; warp "job_knt",143,57; end; + case 2: + 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."; + close2; } - 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) { + if (KNGHT_Q == 12 || KNGHT_Q == 13) { + mes "[Sir Edmond]"; 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; - } + mes "[Sir Edmond]"; + 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: +OnTimer60000: + donpcevent "Warp#knt::OnEnable"; + end; + +OnTimer60050: + donpcevent "Timer#knt::OnReset"; + end; + +OnTimer60100: donpcevent "Timer#knt::OnDisable"; - disablenpc "Warp#knt"; + donpcevent "Warp#knt::OnDisable"; end; -OnTimer301500: - stopnpctimer; +OnTimer60150: donpcevent "Timer#knt::OnEnable"; + stopnpctimer; end; OnInit: + hideoffnpc "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"; + monster "job_knt",167,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",167,57,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",120,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",120,57,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; + initnpctimer; + end; + OnEnable: - enablenpc "Timer#knt"; + hideoffnpc "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"; @@ -1943,18 +3631,19 @@ OnEnable: 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"; + monster "job_knt",167,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",167,57,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",120,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",120,57,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; initnpctimer; end; -OnDisable: +OnReset: killmonster "job_knt","Timer#knt::OnMyMobDead"; - disablenpc "Timer#knt"; - disablenpc "Warp#knt"; + end; + +OnDisable: + hideonnpc "Timer#knt"; end; OnMyMobDead: @@ -1962,23 +3651,31 @@ OnMyMobDead: end; } -job_knt,145,57,1 script Warp#knt 107,22,22,{ -OnInit: - disablenpc "Warp#knt"; - end; +job_knt,143,57,0 script Warp#knt 139,22,22,{ + OnTouch: - set KNIGHT_Q,12; + set KNGHT_Q,12; changequest 9010,9011; warp "prt_in",80,100; end; + +OnInit: + hideonnpc "Warp#knt"; + end; + +OnEnable: + hideoffnpc "Warp#knt"; + end; + +OnDisable: + hideonnpc "Warp#knt"; + 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) { +prt_in,87,92,4 script Sir Gray 119,{ + if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { + if (Class == Job_Baby_Knight || Class == Job_Knight) { + mes "[Sir Gray]"; 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; @@ -1988,10 +3685,10 @@ prt_in,87,92,4 script Sir Gray#knt 119,{ mes "Every Knight"; mes "would want one!"; next; - switch(select("About ^3355FFClaymore^000000:Buy Claymore:End Conversation")) { + 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."; + mes "Claymore, one of the best among the famous swords you can attain in Rune-Midgarts 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."; @@ -2001,8 +3698,7 @@ prt_in,87,92,4 script Sir Gray#knt 119,{ 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) { + if ((MaxWeight - 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."; @@ -2013,97 +3709,99 @@ prt_in,87,92,4 script Sir Gray#knt 119,{ 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; - } + if ((Zeny > 73999) && (countitem(999) > 0) && (Class == Job_Baby_Knight || Class == Job_Knight || Class == Job_Baby_Swordman || Class == Job_Swordman)) { + 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 "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."; + 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 "Come back when"; - mes "you have everything"; - mes "ready. I shall be"; - mes "waiting..."; + 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; } + if (Class == Job_Novice) { + mes "[Sir Gray]"; + 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 "[Sir Gray]"; + 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 (BaseClass == Job_Novice) { - mes "Believe it"; - mes "or not, I was"; - mes "once a Novice"; - mes "as well."; + if (KNGHT_Q == 0) { + mes "[Sir Gray]"; + mes "Young one,"; + mes "use your time"; + mes "wisely."; 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!"; + mes "No point in"; + mes "harboring regret"; + mes "once time has passed."; 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) { + if (KNGHT_Q == 12) { + mes "[Sir Gray]"; 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) { + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: mes "[Sir Gray]"; mes "Hoho, I see."; mes "So you took"; mes "everyone else's"; mes "test?"; next; + set @knight_t, 0; mes "[Sir Gray]"; mes "Then shall"; mes "we begin mine?"; @@ -2116,29 +3814,305 @@ prt_in,87,92,4 script Sir Gray#knt 119,{ mes "shall we?"; next; mes "[Sir Gray]"; - mes "First..."; - mes "Why did you"; - mes "decide to become"; - mes "a Knight?"; + mes "First..."; + mes "Why did you"; + mes "decide to become"; + mes "a Knight?"; + next; + 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; + } + 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; + } + 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; + } + } + 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; + } + 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!"; + if (Sex == 1) { + mes "Always protect her..."; + mes "Even at the sacrifice"; + mes "of your own life!"; + } + else { + mes "Always protect 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; + } + 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; + } + } + 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 KNGHT_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; + } + if (@knight_t == 5) { + set KNGHT_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; + } + if (@knight_t == 10) { + set KNGHT_Q,14; + 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; + } + set KNGHT_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; - } - else { + mes "[Sir Gray]"; + mes "If you truly wish to become a Knight, you must change your outlook first. Then, we shall see."; + close; + case 2: mes "[Sir Gray]"; mes "Take care!"; close; } } - else if (KNIGHT_Q == 13) { + if (KNGHT_Q == 13) { + mes "[Sir Gray]"; mes "Ah, you again."; mes "What brings you"; mes "to me?"; next; - if (select("I've been thinking a lot.:Oh, nothing.") == 1) { + switch (select("I've been thinking a lot.:Oh, nothing.")) { + case 1: mes "[Sir Gray]"; mes "Is that so..."; mes "I wonder if you"; mes "truly have..."; next; + set @knight_t, 0; mes "[Sir Gray]"; mes "Then..."; mes "Like last time,"; @@ -2150,311 +4124,310 @@ prt_in,87,92,4 script Sir Gray#knt 119,{ 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; + 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?"; + mes "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; + } + 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; + } + 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; + } + } 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."; + mes "I understand your thoughts,"; + mes "but there are those who wish to"; + mes "become Knights without thinking."; 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."; + mes "Those are the ones who instigate problems and shame the honor of Knights, bringing irreversible results."; 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."; + 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; - 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."; + mes "If you become a Knight right away, what are you going to do first?"; next; - break; - case 2: + 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; + } + 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!"; + if (Sex == 1) { + mes "Always protect her..."; + mes "Even at the sacrifice"; + mes "of your own life!"; + } + else { + mes "Always protect 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; + } + 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; + } + } mes "[Sir Gray]"; - mes "Those who would share in your happiness and hardship. As a Knight, you must always protect them."; + mes "Oh no, we've been"; + mes "talking too much..."; + mes "I apologize for"; + mes "keeping you here"; + mes "for so long."; next; - break; - case 3: + if (@knight_t == 0) { + set KNGHT_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~"; + close2; + } + if (@knight_t == 5) { + set KNGHT_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; + } + if (@knight_t == 10) { + set KNGHT_Q,14; + 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; + } + set KNGHT_Q,13; 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!"; + mes "Conversing"; + mes "with young ones"; + mes "is always enjoyable..."; next; mes "[Sir Gray]"; - mes "Also..."; - mes "Love them forever."; - mes "Sincere affection"; - mes "is hard to find."; + 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; - 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; + mes "If you truly wish to become a Knight, you must change your outlook first. Then, we shall see."; + close; 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; + mes "Take care!"; + mes "Health is"; + mes "every man's"; + mes "treasure!"; + close; } - 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; + if (KNGHT_Q == 14) { 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."; + mes "I told you"; + mes "to go to"; + mes "the captain."; next; mes "[Sir Gray]"; - mes "If you truly wish to become a Knight, you must change your outlook first. Then, we shall see."; + mes "Everyone will"; + mes "carefully make"; + mes "their decision,"; + mes "so go now!"; 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) { + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: mes "[Sir Gray]"; mes "Hoho~"; mes "There are many"; @@ -2467,12 +4440,13 @@ prt_in,87,92,4 script Sir Gray#knt 119,{ mes "I may review"; mes "you as well."; close; + case 2: + mes "[Sir Gray]"; + mes "Take care!"; + mes "Health is"; + mes "every man's"; + mes "treasure!"; + close; } - mes "[Sir Gray]"; - mes "Take care!"; - mes "Health is"; - mes "every man's"; - mes "treasure!"; - close; } -} +} \ No newline at end of file diff --git a/npc/re/jobs/2-1/priest.txt b/npc/re/jobs/2-1/priest.txt index 8aadc429b..a283fb5d0 100644 --- a/npc/re/jobs/2-1/priest.txt +++ b/npc/re/jobs/2-1/priest.txt @@ -1,63 +1,44 @@ //===== rAthena Script ======================================= -//= Priest Quest +// Piest Job change Quest //===== By: ================================================== -//= Translated By: Pgro Team (OwNaGe)(Aegis) -//= Converted by: kobra_k88. -//= Further bugfixed and tested by Lupus +//= Masao +//= Credits: Muad_Dib //===== Current Version: ===================================== -//= 2.6 +//= 1.0 //===== Compatible With: ===================================== -//= rAthena SVN +//= Any rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job Change quest for Priest class. +//= [Translated from the Official] +//= Job change Quest from Acolyte -> Priest. //===== 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] -//========================================================== +//= 1.0 Updated to latest available official file. [Masao] +//============================================================ 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 (Upper == 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) { + if ((Class != Job_Baby_Acolyte) && (Class != Job_Acolyte)) { + if (Class == Job_Baby_Priest || Class == Job_Priest || Class == Job_High_Priest) { mes "[Bishop Paul]"; mes "Ah..."; - if (sex) + if (Sex == 1) { mes "It is good to see you again, Brother " + strcharinfo(0) + ". Once again, God's grace has caused our paths to cross."; - else + } + 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.")) { + 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."; @@ -81,7 +62,8 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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) { + switch (select("Yes, I do.:Give me a second.")) { + case 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..."; @@ -95,38 +77,42 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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; + case 2: + mes "[Bishop Paul]"; + mes "I see, take your time. Don't forget to bring a ^0000FFRosary^000000..."; + 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; + percentheal 90,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) + if (Class == Job_Baby || Class == Job_Novice) { + if (Sex == 1) { + mes "[Bishop Paul]"; + mes "May God be"; mes "with you, brother."; - else + } + else { + mes "[Bishop Paul]"; + mes "May God be"; 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.")) { + 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..."; @@ -147,18 +133,22 @@ prt_church,16,41,4 script High Bishop#prst 60,{ close; } else { - mes "[Bishop Paul]"; - mes "May God be"; - if (sex) + if (Sex == 1) { + mes "[Bishop Paul]"; + mes "May God be"; mes "with you, brother."; - else + } + else { + mes "[Bishop Paul]"; + mes "May God be"; mes "with you, sister."; + } next; mes "[Bishop Paul]"; mes "What brings you here"; mes "to Prontera Sanctuary?"; next; - switch(select("Information about Priests.:Nothing.")) { + switch (select("Information about Priests.:Nothing.")) { case 1: mes "[Bishop Paul]"; mes "Priests have the authority to perform and administer religious rites."; @@ -201,17 +191,22 @@ prt_church,16,41,4 script High Bishop#prst 60,{ close; } } - if (PRIEST_Q == 0) { - mes "[Bishop Paul]"; - mes "May God bless"; - if (sex) + if (PRST_Q == 0) { + if (Sex == 1) { + mes "[Bishop Paul]"; + mes "May God bless"; mes "you, Brother."; - else + mes "What brings"; + mes "you to me?"; + } else { + mes "[Bishop Paul]"; + mes "May God bless"; mes "you, Sister."; - mes "What brings"; - mes "you to me?"; + mes "What brings"; + mes "you to me?"; + } next; - switch(select("I want to be a Priest.:How are you, Father?")) { + 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."; @@ -226,7 +221,8 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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) { + switch (select("Yes, I do.:I need some time to think about it...")) { + case 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."; @@ -235,19 +231,21 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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) { + if (SkillPoint != 0) { 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; + set PRST_Q, 1; setquest 8009; + if (Sex == 1) { 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 + } else { + mes "[Bishop Paul]"; 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."; @@ -271,22 +269,25 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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; + set PRST_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) { + switch (select("I am ready.:Give me a minute.")) { + case 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; + break; + case 2: + mes "[Bishop Paul]"; + mes "No problem, take your time."; + mes "May God give you the strength to overcome your fears..."; + close; + break; } - 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."; @@ -313,14 +314,15 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "[Bishop Paul]"; mes "May God"; mes "bless you..."; + close; + case 2: + mes "[Bishop Paul]"; + mes "Please take your time."; + mes "You are always welcomed."; + mes "May God 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..."; @@ -329,10 +331,11 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "Thank you for asking."; next; mes "[Bishop Paul]"; - if (sex) + if (Sex == 1) { mes "I hope you will continue to go on your mission as God's servant, brother."; - else + } 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"; @@ -341,11 +344,12 @@ prt_church,16,41,4 script High Bishop#prst 60,{ close; } } - else if (PRIEST_Q == 1) { + if (PRST_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) { + switch (select("Sorry father, I need to check the order.:No no no, not at all.")) { + case 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; @@ -367,15 +371,16 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "[Bishop Paul]"; mes "May God bless you..."; close; + case 2: + 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; } - 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) { + if (PRST_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; @@ -383,7 +388,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "For your next quest, you should meet Sister Mathilda. I shall be awaiting your safe return."; close; } - else if (PRIEST_Q == 3) { + if (PRST_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; @@ -391,9 +396,8 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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; + if (PRST_Q == 4) { + set PRST_Q, 5; mes "[Bishop Paul]"; mes "You've accomplished"; mes "your pilgrimage."; @@ -409,63 +413,72 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "Well, are you ready for"; mes "the spiritual training?"; next; - if (select("I'm ready.:Give me a minute.") == 1) { + switch (select("I'm ready.:Give me a minute.")) { + case 1: + changequest 8010,8011; 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; + case 2: + mes "[Bishop Paul]"; + mes "No problem,"; + mes "take your time."; + mes "May God grant you"; + mes "the strength to"; + mes "overcome your fears..."; + close; } - 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) { + if (PRST_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) { + switch (select("I'm ready.:Give me a minute.")) { + case 1: + changequest 8010,8011; 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; + case 2: + mes "[Bishop Paul]"; + mes "No problem,"; + mes "take your time."; + mes "May God grant you"; + mes "the strength to"; + mes "overcome your fears..."; + close; } - 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) { + if (PRST_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) { + switch (select("I'll try again.:Give me a minute.")) { + case 1: + changequest 8010,8011; 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; + case 2: + mes "[Bishop Paul]"; + mes "No problem,"; + mes "take your time."; + mes "May God grant you"; + mes "the strength to"; + mes "overcome your fears..."; + close; } - 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) { + if (PRST_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; @@ -481,7 +494,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "waiting for you."; close; } - else if (PRIEST_Q == 8) { + if (PRST_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; @@ -489,63 +502,105 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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) { + if (PRST_Q == 9) { + if (SkillPoint != 0) { mes "[Bishop Paul]"; mes "You have remaining skills points. Please use these skill points to upgrade your skills, and then return to me."; close; } + if (JobLevel == 50) { + 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."; + if (Sex == 1) { + 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 PRST_Q, 0; + if(Class == Job_Baby_Acolyte){ + jobchange Job_Baby_Priest; + } else { + jobchange Job_Priest; + } + changequest 8015,8016; + 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; + getitem 1551,1; //Bible + mes "[Bishop Paul]"; + 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..."; + completequest 8016; + 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) + if (Sex == 1) { mes "Let him send your message throughout the ends of the earth."; - else + } + 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 + set PRST_Q,0; + if(Class == Job_Baby_Acolyte){ + jobchange Job_Baby_Priest; + } else { + jobchange Job_Priest; + } + changequest 8015,8016; 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; + getitem 1550,1; //Book 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."; - } + mes "And..."; + mes "This book is for you. I hope it will aid you in spreading God's message on earth."; 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..."; + completequest 8016; close; } } prt_church,27,24,1 script Sister Cecilia 79,{ - mes "[Sister Cecilia]"; - if (BaseJob != Job_Acolyte) { - if (BaseJob == Job_Priest) { - if (sex) + if ((Class != Job_Baby_Acolyte) && (Class != Job_Acolyte)) { + if (Class == Job_Baby_Priest || Class == Job_Priest) { + if (Sex == 1) { + mes "[Sister Cecilia]"; 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 + } + else { + mes "[Sister Cecilia]"; 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) + if (Class == Job_Baby || Class == Job_Novice) { + if (Sex == 1) { + mes "[Sister Cecilia]"; mes "May god bless you, brother."; - else + } + else { + mes "[Sister Cecilia]"; mes "May god bless you, sister."; + } mes "Prontera parish welcomes you."; next; mes "[Sister Cecilia]"; @@ -564,45 +619,54 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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?"; + if (Sex == 1) { + mes "[Sister Cecilia]"; + mes "May god bless you, brother."; + } else { + mes "[Sister Cecilia]"; + mes "May god bless you, sister."; + } + mes "Welcome to Prontera parish. How may I help you?"; + next; + switch (select("Tell me more about Priests.:Nothing.")) { + case 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; - if (select("Tell me more about Priests.:Nothing.") == 1) { + 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 (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + next; 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."; + 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 "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 "I believe he can give you specific requirement information about the Priest class. Yes, I think it's a good idea."; + next; } + break; + case 2: 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; + break; } + next; + mes "[Sister Cecilia]"; + mes "May God bless you..."; + close; } - if (PRIEST_Q == 0) { - if (sex) + if (PRST_Q == 0) { + if (Sex == 1) { + mes "[Sister Cecilia]"; mes "May God bless you, brother."; - else + } + else { + mes "[Sister Cecilia]"; mes "May God bless you, sister."; + } mes "May I ask what brings you here?"; next; - switch(select("I wish to become a Priest.:Nothing.")) { + 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."; @@ -628,7 +692,8 @@ prt_church,27,24,1 script Sister Cecilia 79,{ close; } } - else if (PRIEST_Q == 1) { + if (PRST_Q == 1) { + mes "[Sister Cecilia]"; mes "Ah, you've started your pilgrimage. Please do your best to accomplish this first trial."; next; mes "[Sister Cecilia]"; @@ -650,7 +715,8 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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) { + if (PRST_Q == 2) { + mes "[Sister Cecilia]"; 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]"; @@ -663,7 +729,8 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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) { + if (PRST_Q == 3) { + mes "[Sister Cecilia]"; 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]"; @@ -673,21 +740,25 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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) { + if (PRST_Q == 4) { + mes "[Sister Cecilia]"; 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) +"..."; + if (Sex == 1) { + 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) { + if (PRST_Q == 5) { + mes "[Sister Cecilia]"; mes "Oh, you haven't finished the spiritual training yet?"; next; mes "[Sister Cecilia]"; @@ -697,7 +768,8 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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) { + if (PRST_Q == 6) { + mes "[Sister Cecilia]"; 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]"; @@ -707,41 +779,38 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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."; - } + if (PRST_Q == 7) { + mes "[Sister Cecilia]"; + mes "Welcome! I'm so glad to see you've come back! Now, there is one last trial left for you to complete."; + changequest 8013,8014; next; mes "[Sister Cecilia]"; - if (sex) - mes "Brother "+ strcharinfo(0) +"..."; - else - mes "Sister "+ strcharinfo(0) +"..."; + if (Sex == 1) { + 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) +","; + if (Sex == 1) { + 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) { + switch (select("Yes.:No!")) { + case 1: + break; + case 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; + set PRST_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; @@ -749,23 +818,29 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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) { + switch (select("Yes.:No.")) { + case 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; + set PRST_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; + case 2: + break; } mes "[Sister Cecilia]"; mes "Will you help aid others, even complete strangers, in battles by easing their suffering?"; next; - if (select("Yes.:No.") == 2) { + switch (select("Yes.:No.")) { + case 1: + break; + case 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; + set PRST_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; @@ -773,11 +848,14 @@ prt_church,27,24,1 script Sister Cecilia 79,{ mes "[Sister Cecilia]"; mes "Are you willing to sacrifice yourself for the sake of others?"; next; - if (select("Yes.:No.") == 2) { + switch (select("Yes.:No.")) { + case 1: + break; + case 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; + set PRST_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; @@ -785,132 +863,304 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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) { + switch (select("Yes.:No.")) { + case 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; + set PRST_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; + case 2: + break; } mes "[Sister Cecilia]"; mes "Will you lure many monsters to help your party members level up?"; next; - if (select("Yes.:No.") == 1) { + switch (select("Yes.:No.")) { + case 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; + set PRST_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; + case 2: + break; } 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) { + switch (select("Yes.:No.")) { + case 1: + break; + case 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; + set PRST_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) +"..."; + if (Sex == 1) { + 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; + switch (select("I do.:No.")) { + case 1: + set PRST_Q,9; + changequest 8014,8015; 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; + case 2: + mes "[Sister Cecilia]"; + mes "..."; + next; + mes "[Sister Cecilia]"; + mes "..."; + mes "......"; + next; + set PRST_Q,8; + mes "[Sister Cecilia]"; + mes "You've come so far..."; + mes "Why would you want"; + mes "to throw this all away...?"; + close; } + } + if (PRST_Q == 8) { mes "[Sister Cecilia]"; mes "..."; next; mes "[Sister Cecilia]"; - mes "..."; - mes "......"; + 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; - 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."; + if (Sex == 1) { + mes "Brother " + strcharinfo(0) + "..."; + } + else { + mes "Sister " + strcharinfo(0) + "..."; + } + mes "We will now begin your formal oath for the Priesthood. This time, listen closely to your heart..."; 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?"; + if (Sex == 1) { + mes "Brother " + strcharinfo(0) + ","; + } + else { + mes "Sister " + strcharinfo(0) + ","; + } + mes "Are you willing"; + mes "to give your life to God?"; next; - switch(select("Yes, I am.:Give me a minute.:I changed my mind.")) { + switch (select("Yes.:No!")) { 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; + break; 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."; + 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; + 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; - 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; + } + mes "[Sister Cecilia]"; + mes "Will you take advantage of the holy abilities given by God for selfish, destructive or greedy ends?"; + next; + switch (select("Yes.:No.")) { + case 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; + 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; + case 2: + break; + } + mes "[Sister Cecilia]"; + mes "Will you help aid others, even complete strangers, in battles by easing their suffering?"; + next; + switch (select("Yes.:No.")) { + case 1: + break; + case 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; + 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; + switch (select("Yes.:No.")) { + case 1: + break; + case 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; + 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; + switch (select("Yes.:No.")) { + case 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; + 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; + case 2: + break; + } + mes "[Sister Cecilia]"; + mes "Will you lure many monsters to help your party members level up?"; + next; + switch (select("Yes.:No.")) { + case 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; + 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; + case 2: + break; + } + mes "[Sister Cecilia]"; + mes "Will you follow God, no matter what it takes, even if he demands you to kill yourself?"; + next; + switch (select("Yes.:No.")) { + case 1: + break; + case 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; + 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 == 1) { + 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; + switch (select("I do.:No.")) { + case 1: + set PRST_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; + case 2: + mes "[Sister Cecilia]"; + mes "..."; + next; + mes "[Sister Cecilia]"; + mes "..."; + mes "......"; + next; + mes "[Sister Cecilia]"; + mes "You've come so far..."; + mes "Why would you want"; + mes "to throw this all away...?"; + close; + } + } + if (PRST_Q == 9) { + mes "[Sister Cecilia]"; + 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; + } +} + +job_prist,24,187,4 script Peter S. Alberto 110,{ + if (Class == Job_Baby_Priest || Class == Job_Priest) { + mes "[Father Peter]"; + mes "Welcome!"; + if (Sex == 1) { + 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) { + if (PRST_Q == 5) { + mes "[Father Peter]"; mes "Welcome~!"; mes "I congratulate you"; mes "for passing the first trail."; @@ -928,7 +1178,7 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ 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...")) { + 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!"; @@ -956,7 +1206,7 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ 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.")) { + 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!"; @@ -965,21 +1215,20 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ mes "Now..."; mes "Go for it!"; close2; - changequest 8011,8012; warp "job_prist",24,44; - donpcevent "Zombie_Generator#prst::OnEnable"; + donpcevent "Zombie_Generator::OnEnable"; donpcevent "Peter S. Alberto::OnDisable"; donpcevent "Peter S. Alberto#2::OnEnable"; end; case 2: - set PRIEST_Q,6; + set PRST_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; + set PRST_Q,6; mes "[Father Peter]"; mes "What...?"; mes "You wanna go back??"; @@ -991,7 +1240,8 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ end; } } - else if (PRIEST_Q == 6) { + if (PRST_Q == 6) { + mes "[Father Peter]"; mes "Are you ready this time?"; mes "Complete this trial quickly,"; mes "and become a Priest!"; @@ -999,7 +1249,7 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ mes "[Father Peter]"; mes "Are you ready then?"; next; - switch(select("I'm ready.:Please hold on.:I want to go back.")) { + 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..."; @@ -1009,11 +1259,8 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ 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 "Zombie_Generator::OnEnable"; donpcevent "Peter S. Alberto::OnDisable"; donpcevent "Peter S. Alberto#2::OnEnable"; end; @@ -1035,30 +1282,31 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ end; } } - else { - mes "Go back!"; - close2; - warp "prontera",234,318; - end; - } + mes "[Father Peter]"; + mes "Go back!"; + close2; + warp "prontera",234,318; + end; OnEnable: - enablenpc "Peter S. Alberto"; + hideoffnpc "Peter S. Alberto"; end; OnDisable: - disablenpc "Peter S. Alberto"; + hideonnpc "Peter S. Alberto"; end; } job_prist,23,187,1 script Peter S. Alberto#2 110,{ - mes "[Father Peter]"; - if (BaseJob == Job_Priest) { + if (Class == Job_Baby_Priest || Class == Job_Priest) { + mes "[Father Peter]"; mes "Welcome!"; - if (sex) - mes "Brother "+ strcharinfo(0) +"!"; - else - mes "Sister "+ strcharinfo(0) +"!"; + if (Sex == 1) { + mes "Brother " + strcharinfo(0) + "!"; + } + else { + mes "Sister " + strcharinfo(0) + "!"; + } mes "So good to see you!"; next; mes "[Father Peter]"; @@ -1071,44 +1319,47 @@ job_prist,23,187,1 script Peter S. Alberto#2 110,{ 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) { + if (PRST_Q == 5) { + mes "[Father Peter]"; 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) { + if (PRST_Q == 6) { + mes "[Father Peter]"; 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; - } + mes "[Father Peter]"; + mes "Peace..."; + mes "Be with you."; + close2; + warp "prontera",234,318; + end; OnInit: - disablenpc "Peter S. Alberto#2"; + hideonnpc "Peter S. Alberto#2"; end; OnEnable: - enablenpc "Peter S. Alberto#2"; + hideoffnpc "Peter S. Alberto#2"; end; OnDisable: - disablenpc "Peter S. Alberto#2"; + hideonnpc "Peter S. Alberto#2"; end; } -- script Zombie_Generator#prst 110,{ +job_prist,1,1,1 script Zombie_Generator 110,{ + end; + OnInit: - disablenpc "Zombie_Generator#prst"; + hideonnpc "Zombie_Generator"; end; OnEnable: @@ -1120,50 +1371,63 @@ 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"; +OnM1: + monster "job_prist",24,52,"Theft",1015,1,"Zombie_Generator::OnMyMobDead"; + monster "job_prist",18,52,"Want of Virtue",1015,1,"Zombie_Generator::OnMyMobDead"; + monster "job_prist",30,52,"Jealousy",1015,1,"Zombie_Generator::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"; +OnM2: + monster "job_prist",21,62,"Fury",1015,1,"Zombie_Generator::OnMyMobDead"; + monster "job_prist",27,62,"Envy",1015,1,"Zombie_Generator::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"; +OnM3: + monster "job_prist",24,72,"Arrogance",1015,1,"Zombie_Generator::OnMyMobDead"; + monster "job_prist",18,72,"Lewdness",1015,1,"Zombie_Generator::OnMyMobDead"; + monster "job_prist",30,72,"Sloth",1015,1,"Zombie_Generator::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"; +OnM4: + monster "job_prist",21,82,"Gluttony",1015,1,"Zombie_Generator::OnMyMobDead"; + monster "job_prist",27,82,"Greed",1015,1,"Zombie_Generator::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"; +OnM5: + monster "job_prist",24,92,"Despair",1015,1,"Zombie_Generator::OnMyMobDead"; + monster "job_prist",18,92,"Distrust",1015,1,"Zombie_Generator::OnMyMobDead"; + monster "job_prist",30,92,"Fear",1015,1,"Zombie_Generator::OnMyMobDead"; + end; + +OnMyMobDead: + if (mobcount ("job_prist","Zombie_Generator::OnMyMobDead") < 1) { + donpcevent "prst1_2::OnEnable"; + } end; OnDisable: - disablenpc "Zombie_Generator#prst"; - killmonsterall "job_prist"; + hideonnpc "Zombie_Generator"; + end; + +OnReset: + killmonster "job_prist","Zombie_Generator::OnMyMobDead"; end; OnTimer300000: - areawarp "job_prist",8,34,39,109,"prontera",234,318; + donpcevent "Zombieo::OnEnable"; end; OnTimer300500: - donpcevent "Zombie_Generator#prst::OnDisable"; + donpcevent "Zombie_Generator::OnReset"; + end; + +OnTimer301000: + donpcevent "Zombieo::OnDisable"; + donpcevent "prst1_2::OnDisable"; end; OnTimer301500: - donpcevent "Zombie_Generator#prst::OnDisable"; + donpcevent "Zombie_Generator::OnDisable"; donpcevent "Peter S. Alberto#2::OnDisable"; donpcevent "Peter S. Alberto::OnEnable"; end; @@ -1173,17 +1437,10 @@ OnTimer302000: 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 139,1,1,{ -job_prist,24,44,0 script Zombie Info -1,1,1,{ OnTouch: - if (BaseJob == Job_Priest) { + if (Class == Job_Baby_Priest || Class == 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; @@ -1197,7 +1454,7 @@ OnTouch: mes "5 minutes. Best of luck~"; close; } - else if (BaseJob == Job_Acolyte){ + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { mes "[Father Peter]"; mes "I will give you exactly 5 minutes! You must proceed slowly and eliminate the Zombies."; next; @@ -1208,128 +1465,255 @@ OnTouch: end; } -job_prist,24,52,0 script Zombie1_1 -1,14,1,{ +job_prist,24,74,0 script Zombieo 139,14,40,{ + +OnTouch: + warp "prontera",234,318; + end; + OnInit: - disablenpc "Zombie1_1"; + hideonnpc "Zombieo"; end; +OnEnable: + hideoffnpc "Zombieo"; + end; + +OnDisable: + hideonnpc "Zombieo"; + end; +} + +job_prist,24,52,0 script Zombie1_1 139,14,1,{ + OnTouch: - if (BaseJob == Job_Acolyte) { - donpcevent "Zombie_Generator#prst::Onm1"; + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + donpcevent "Zombie_Generator::OnM1"; donpcevent "Zombie1_1::OnDisable"; } end; +OnInit: + hideonnpc "Zombie1_1"; + end; + OnEnable: - enablenpc "Zombie1_1"; + hideoffnpc "Zombie1_1"; + hideoffnpc "Zombie1_2"; + hideoffnpc "Zombie1_3"; end; OnDisable: - disablenpc "Zombie1_1"; + hideonnpc "Zombie1_1"; + hideonnpc "Zombie1_2"; + hideonnpc "Zombie1_3"; end; } -job_prist,21,62,0 script Zombie2_1 -1,17,1,{ +job_prist,18,52,0 script Zombie1_2 139,1,1,{ + end; + OnInit: - disablenpc "Zombie2_1"; + hideonnpc "Zombie1_2"; + end; +} + +job_prist,30,52,0 script Zombie1_3 139,1,1,{ end; +OnInit: + hideonnpc "Zombie1_3"; + end; +} + +job_prist,21,62,0 script Zombie2_1 139,17,1,{ + OnTouch: - if (BaseJob == Job_Acolyte) { - donpcevent "Zombie_Generator#prst::Onm2"; + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + donpcevent "Zombie_Generator::OnM2"; donpcevent "Zombie2_1::OnDisable"; } end; +OnInit: + hideonnpc "Zombie2_1"; + end; + OnEnable: - enablenpc "Zombie2_1"; + hideoffnpc "Zombie2_1"; + hideoffnpc "Zombie2_2"; end; OnDisable: - disablenpc "Zombie2_1"; + hideonnpc "Zombie2_1"; + hideonnpc "Zombie2_2"; end; } -job_prist,24,72,0 script Zombie3_1 -1,14,1,{ +job_prist,27,62,0 script Zombie2_2 139,1,1,{ + end; + OnInit: - disablenpc "Zombie3_1"; + hideonnpc "Zombie2_2"; end; +} + +job_prist,24,72,0 script Zombie3_1 139,14,1,{ OnTouch: - if (BaseJob == Job_Acolyte) { - donpcevent "Zombie_Generator#prst::Onm3"; + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + donpcevent "Zombie_Generator::OnM3"; donpcevent "Zombie3_1::OnDisable"; } end; +OnInit: + hideonnpc "Zombie3_1"; + end; + OnEnable: - enablenpc "Zombie3_1"; + hideoffnpc "Zombie3_1"; + hideoffnpc "Zombie3_2"; + hideoffnpc "Zombie3_3"; end; OnDisable: - disablenpc "Zombie3_1"; + hideonnpc "Zombie3_1"; + hideonnpc "Zombie3_2"; + hideonnpc "Zombie3_3"; + end; +} + +job_prist,18,72,0 script Zombie3_2 139,1,1,{ + end; + +OnInit: + hideonnpc "Zombie3_2"; end; } -job_prist,21,82,0 script Zombie4_1 -1,17,1,{ +job_prist,30,72,0 script Zombie3_3 139,1,1,{ + end; + OnInit: - disablenpc "Zombie4_1"; + hideonnpc "Zombie3_3"; end; +} + +job_prist,21,82,0 script Zombie4_1 139,17,1,{ + OnTouch: - if (BaseJob == Job_Acolyte) { - donpcevent "Zombie_Generator#prst::Onm4"; + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + donpcevent "Zombie_Generator::OnM4"; donpcevent "Zombie4_1::OnDisable"; } end; +OnInit: + hideonnpc "Zombie4_1"; + end; + OnEnable: - enablenpc "Zombie4_1"; + hideoffnpc "Zombie4_1"; + hideoffnpc "Zombie4_2"; end; OnDisable: - disablenpc "Zombie4_1"; + hideonnpc "Zombie4_1"; + hideonnpc "Zombie4_2"; + end; } -job_prist,24,92,0 script Zombie5_1 -1,14,1,{ +job_prist,27,82,0 script Zombie4_2 139,1,1,{ + end; + OnInit: - disablenpc "Zombie5_1"; + hideonnpc "Zombie4_2"; end; +} + +job_prist,24,92,0 script Zombie5_1 139,14,1,{ OnTouch: - if (BaseJob == Job_Acolyte) { - donpcevent "Zombie_Generator#prst::Onm5"; + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + donpcevent "Zombie_Generator::OnM5"; donpcevent "Zombie5_1::OnDisable"; } end; +OnInit: + hideonnpc "Zombie5_1"; + end; + OnEnable: - enablenpc "Zombie5_1"; + hideoffnpc "Zombie5_1"; + hideoffnpc "Zombie5_2"; + hideoffnpc "Zombie5_3"; end; OnDisable: - disablenpc "Zombie5_1"; + hideonnpc "Zombie5_1"; + hideonnpc "Zombie5_2"; + hideonnpc "Zombie5_3"; + end; +} + +job_prist,18,92,0 script Zombie5_2 139,1,1,{ + end; + +OnInit: + hideonnpc "Zombie5_2"; + end; +} + +job_prist,30,92,0 script Zombie5_3 139,1,1,{ + end; + +OnInit: + hideonnpc "Zombie5_3"; + end; +} + +job_prist,24,109,0 script prst1_1 45,4,3,{ + +OnTouch: + if (Class == Job_Baby_Priest || Class == Job_Priest) { + warp "job_prist",168,17; + } + end; } -job_prist,24,109,4 script prst1_1 45,3,3,{ +job_prist,24,109,0 script prst1_2 139,4,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) { + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { warp "job_prist",168,17; - donpcevent "Zombie_Generator#prst::OnDisable"; + donpcevent "Zombie_Generator::OnReset"; donpcevent "Peter S. Alberto#2::OnDisable"; donpcevent "Peter S. Alberto::OnEnable"; - donpcevent "Zombie_Generator#prst::OnDisable"; + donpcevent "prst1_2::OnDisable"; + donpcevent "Zombie_Generator::OnDisable"; } end; + +OnInit: + hideonnpc "prst1_2"; + end; + +OnEnable: + hideoffnpc "prst1_2"; + end; + +OnDisable: + hideonnpc "prst1_2"; + end; } -// 3rd Test -//========================================================== -job_prist,168,45,4 script Deviruchi#prst 1109,8,1,{ +job_prist,168,45,4 script Deviruchi#prst 1928,8,1,{ + OnTouch: - if (BaseJob == Job_Priest) { + if (Class == Job_Baby_Priest || Class == Job_Priest) { mes "[Deviruchi]"; mes "Whaaaaat...?"; mes "What are you"; @@ -1347,7 +1731,7 @@ OnTouch: 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) { + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { mes "[Deviruchi]"; mes "Why..."; mes "Hello little Aco."; @@ -1365,7 +1749,8 @@ OnTouch: 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) { + switch (select("You're right, I quit!:Out of my sight, demon!")) { + case 1: mes "[Deviruchi]"; mes "^660000YES~!^000000 I mean..."; mes "Good for you!"; @@ -1378,59 +1763,62 @@ OnTouch: 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) { + case 2: mes "[Deviruchi]"; - mes "Good choice!"; - mes "This card can"; - mes "can be yours..."; + mes "Out of your sight?"; + mes "I guess I'm not the"; + mes "cutest thing you've"; + mes "ever seen, huh?"; next; - cutin "¹Ì½ºÆ®·¹½ºÄ«µå.bmp",255; mes "[Deviruchi]"; - mes "Theoretically!"; - mes "BWAHAHAHAHAHAHAHA!"; - mes "Go and earn it yourself!"; - close2; - warp "mjolnir_05",200,200; - end; + 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; + switch (select("You're right, I'll take it!:Silence!")) { + case 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; + case 2: + 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; + } } - 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,{ +job_prist,168,80,4 script Doppelganger#prst 1966,8,1,{ + OnTouch: - if (BaseJob == Job_Priest) { + if (Class == Job_Baby_Priest || Class == Job_Priest) { mes "[Doppelganger]"; mes "What are you doing here? You've already made your choice, there's no going back... Priest."; next; @@ -1438,7 +1826,7 @@ OnTouch: 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) { + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { mes "[Doppelganger]"; mes "Hold on there, Acolyte."; mes "I'm not like Deviruchi,"; @@ -1451,7 +1839,8 @@ OnTouch: 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) { + switch (select("Deal, Deal!:No deal... Doppelganger.")) { + case 1: mes "[Doppelganger]"; mes "Good choice~"; mes "I shall return your"; @@ -1465,50 +1854,55 @@ OnTouch: 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) { + case 2: mes "[Doppelganger]"; - mes "Excellent choice. Now, never return to this place. I shall return your job to Novice as you wish."; + 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 "Now go!!"; - mes "Never step into"; - mes "the light again!"; - close2; - warp "gef_dun02",210,177; - end; + 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; + switch (select("I don't want to be a Priest!:I'll never listen to you!")) { + case 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; + case 2: + 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; + } } - 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; } + end; } job_prist,168,115,4 script Dark Lord#prst 1272,8,1,{ + OnTouch: - if (BaseJob == Job_Priest) { + if (Class == Job_Baby_Priest || Class == 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; + close2; } - else if (BaseClass == Job_Acolyte) { + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { mes "[Dark Lord]"; mes "^330033Halt, human."; mes "Who has granted"; @@ -1521,42 +1915,48 @@ OnTouch: 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) { + switch (select("I'm so sorry. Spare me!:God will protect me.")) { + case 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) { + case 2: mes "[Dark Lord]"; - mes "^330033Don't ever come back!^000000"; - close2; - warp "gl_church",145,170; - end; + 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; + switch (select("I beg you, don't...!:Begone, vile fiend!")) { + case 1: + mes "[Dark Lord]"; + mes "^330033Don't ever come back!^000000"; + close2; + warp "gl_church",145,170; + end; + case 2: + 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; + } } - 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; } + end; } job_prist,168,150,4 script Baphomet#prst 736,8,1,{ + OnTouch: - if (BaseJob == Job_Priest) { + if (Class == Job_Baby_Priest || Class == Job_Priest) { mes "[Baphomet]"; mes "I hate"; mes "Priests..."; @@ -1565,12 +1965,12 @@ OnTouch: mes "I don't have any business with you, servant of God. Just pass through."; close; } - else if (BaseClass == Job_Acolyte) { + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { mes "[Baphomet]"; mes "Greetings."; next; mes "[Baphomet]"; - mes "..."+ strcharinfo(0) +"."; + mes "..." + strcharinfo(0) + "."; next; mes "[Baphomet]"; mes "Yes, human,"; @@ -1593,7 +1993,8 @@ OnTouch: 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) { + switch (select("Deal.:No, Baphomet. You lose.")) { + case 1: mes "[Baphomet]"; mes "Then we shall form a contract. You won't ever regret this moment..."; next; @@ -1605,32 +2006,37 @@ OnTouch: close2; warp "glast_01",200,203; end; + case 2: + 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; } - 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; } + end; } -job_prist,168,180,4 script prst2_1 45,3,3,{ +job_prist,168,180,0 script prst2_1 45,4,3,{ + OnTouch: - if (BaseJob == Job_Priest) warp "job_prist",98,40; - else if (BaseClass == Job_Acolyte) { + if (Class == Job_Baby_Priest || Class == Job_Priest) { + warp "job_prist",98,40; + } + else if (Class == Job_Baby_Acolyte || Class == 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,{ + end; + OnInit: - disablenpc "Mummy_Generator"; + hideonnpc "Mummy_Generator"; end; OnEnable: @@ -1639,244 +2045,138 @@ OnEnable: donpcevent "Mummy3_1::OnEnable"; end; -Onm1: +OnM1: monster "job_prist",90,55,"Khamoz",1041,1; monster "job_prist",105,55,"Amocsis",1041,1; end; -Onm2: +OnM2: monster "job_prist",90,70,"Mentuhoteph",1041,1; monster "job_prist",105,70,"Akenaten",1041,1; end; -Onm3: +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"; + hideonnpc "Mummy_Generator"; end; -} -job_prist,90,55,0 script Mummy1_1 -1,15,1,{ -OnInit: - disablenpc "Mummy1_1"; +OnReset: + killmonster "job_prist","Mummy_Generator::OnMyMobDead"; end; +} + +job_prist,90,55,0 script Mummy1_1 139,15,1,{ OnTouch: - if (BaseJob == Job_Acolyte) { - donpcevent "Mummy_Generator::Onm1"; + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + donpcevent "Mummy_Generator::OnM1"; donpcevent "Mummy1_1::OnDisable"; } end; +OnInit: + hideonnpc "Mummy1_1"; + end; + OnEnable: - enablenpc "Mummy1_1"; + hideoffnpc "Mummy1_1"; + hideoffnpc "Mummy1_2"; end; OnDisable: - disablenpc "Mummy1_1"; + hideonnpc "Mummy1_1"; + hideonnpc "Mummy1_2"; end; } -job_prist,90,70,0 script Mummy2_1 -1,15,1,{ +job_prist,105,55,0 script Mummy1_2 139,1,1,{ + end; + OnInit: - disablenpc "Mummy2_1"; + hideonnpc "Mummy1_2"; end; +} + +job_prist,90,70,0 script Mummy2_1 139,15,1,{ OnTouch: - if (BaseJob == Job_Acolyte) { - donpcevent "Mummy_Generator::Onm2"; + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + donpcevent "Mummy_Generator::OnM2"; donpcevent "Mummy2_1::OnDisable"; } end; +OnInit: + hideonnpc "Mummy2_1"; + end; + OnEnable: - enablenpc "Mummy2_1"; + hideoffnpc "Mummy2_1"; + hideoffnpc "Mummy2_2"; end; OnDisable: - disablenpc "Mummy2_1"; + hideonnpc "Mummy2_1"; + hideonnpc "Mummy2_2"; end; } -job_prist,90,85,0 script Mummy3_1 -1,15,1,{ +job_prist,105,70,0 script Mummy2_2 139,1,1,{ + end; + OnInit: - disablenpc "Mummy3_1"; + hideonnpc "Mummy2_2"; end; +} + +job_prist,90,85,0 script Mummy3_1 139,15,1,{ OnTouch: - if (BaseJob == Job_Acolyte) { - donpcevent "Mummy_Generator::Onm3"; + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + donpcevent "Mummy_Generator::OnM3"; donpcevent "Mummy3_1::OnDisable"; } end; +OnInit: + hideonnpc "Mummy3_1"; + end; + OnEnable: - enablenpc "Mummy3_1"; + hideoffnpc "Mummy3_1"; + hideoffnpc "Mummy3_2"; end; OnDisable: - disablenpc "Mummy3_1"; + hideonnpc "Mummy3_1"; + hideonnpc "Mummy3_2"; + end; +} + +job_prist,105,85,0 script Mummy3_2 139,1,1,{ + end; + +OnInit: + hideonnpc "Mummy3_2"; end; } -job_prist,98,105,4 script prst3_1 45,3,3,{ +job_prist,98,105,0 script prst3_1 45,4,3,{ + OnTouch: - if (BaseJob == Job_Priest) { + if (Class == Job_Baby_Priest || Class == Job_Priest) { warp "prt_church",15,36; - end; } - else if (BaseClass == Job_Acolyte) { - set PRIEST_Q,7; - if(checkquest(8012) != -1) { - changequest 8012,8013; - } + else if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + changequest 8012,8013; + set PRST_Q,7; warp "prt_church",16,37; + donpcevent "Mummy_Generator::OnReset"; 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; -} - +} \ No newline at end of file diff --git a/npc/re/jobs/2-1/wizard.txt b/npc/re/jobs/2-1/wizard.txt index 808c884a4..d438fbfde 100644 --- a/npc/re/jobs/2-1/wizard.txt +++ b/npc/re/jobs/2-1/wizard.txt @@ -1,31 +1,17 @@ //===== rAthena Script ======================================= -//= Wizard Job Quest +// Wizard Job change Quest //===== By: ================================================== -//= (Aegis) Translated by yoshiki, converted by kobra_k88 -//= Further bugfixed and tested by Lupus +//= Masao +//= Credits: Muad_Dib //===== Current Version: ===================================== -//= 3.2 +//= 1.0 //===== Compatible With: ===================================== -//= rAthena SVN +//= Any rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job Change quest for Wizard class. +//= [Translated from the Official] +//= Job change Quest from Mage -> Wizard. //===== 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). +//= 1.0 Updated to latest available official file. [Masao] //============================================================ gef_tower,111,37,4 script Wizard Guildsman 70,{ @@ -39,20 +25,27 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ 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) + if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { + if (Class == Job_Wizard) { + if (Sex == 1) { + 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]"; mes "Well, If you intended to ask me on a date... I appreciate it...hohoho."; - else + } + else { + 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]"; mes "Well, if you fix me up with a cute guy... I'd appreciate it...hohoho!."; + } close; } - else if (BaseClass == Job_Novice) { + if (Class == Job_Baby || Class == 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."; @@ -72,12 +65,13 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Ok, then. Farewell."; close; } - if (WIZ_Q == 0) { + if (WZRD_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) { + switch (select("I want to become a Wizard.:...nothing.")) { + case 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."; @@ -98,7 +92,8 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ 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) { + switch (select("Yes, I do.:On second thought, Let me think about it.")) { + case 1: if (JobLevel < 40) { mes "[Catherine]"; mes "Hey hey, weren't you listening to me?"; @@ -109,7 +104,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "When I deem you're qualified, I will accept your application."; close; } - if (SkillPoint) { + if (SkillPoint != 0) { 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."; @@ -141,7 +136,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ 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; + set WZRD_Q,3; setquest 9015; close; } @@ -153,23 +148,23 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ 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); + set .@wizard_m1, rand(1,2); mes "[Catherine]"; mes "The items you must collect are..."; - if (rand(1)) { - set WIZ_Q,1; - setquest 9013; + if (.@wizard_m1 == 1) { + set WZRD_Q,1; mes "^3355FFRed Gemstone^000000 10 each,"; mes "^3355FFBlue Gemstone^000000 10 each,"; mes "^3355FFYellow Gemstone^000000 10 each,"; + setquest 9013; } else { - set WIZ_Q,2; - setquest 9014; + set WZRD_Q,2; 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,"; + setquest 9014; } mes "...is it too hard? No, any would be Wizard should be able to at least get these items."; next; @@ -177,23 +172,25 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Well, good luck."; mes "I'll be happily waiting. ~Hehe."; close; + case 2: + mes "[Catherine]"; + mes "Oh, ok then, take your time."; + mes "Since I'll always be here, accepting applications...*sigh*...anyways! ~Hehehehe."; + close; } - mes "[Catherine]"; - mes "Oh, ok then, take your time."; - mes "Since I'll always be here, accepting applications...*sigh*...anyways! ~Hehehehe."; + case 2: + 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; } - 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) { + if (WZRD_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) { + 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."; @@ -201,8 +198,9 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ delitem 716,10; //Red_Gemstone delitem 717,10; //Blue_Gemstone delitem 715,10; //Yellow_Gemstone - set WIZ_Q,3; + set WZRD_Q,3; changequest 9013,9015; + changequest 9014,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."; @@ -226,12 +224,12 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Don't forget this time, and bring all the items, ok?..."; close; } - else if (WIZ_Q == 2) { + if (WZRD_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) { + 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."; @@ -240,7 +238,8 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ delitem 993,5; //Yellow_Live delitem 990,5; //Boody_Red delitem 992,5; //Wind_Of_Verdure - set WIZ_Q,3; + set WZRD_Q,3; + changequest 9013,9015; changequest 9014,9015; mes "[Catherine]"; mes "Good. You've passed the first test now."; @@ -266,7 +265,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Don't forget them this time and gather the correct ones, ok? See you soon..."; close; } - else if (WIZ_Q == 3) { + if (WZRD_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..."; @@ -276,7 +275,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "I'll be waiting, so go now."; close; } - else if (WIZ_Q == 4) { + if (WZRD_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?"; @@ -285,7 +284,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ 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!")) { + 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 @@ -347,6 +346,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ 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!"; + break; } next; mes "[Catherine]"; @@ -354,7 +354,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Hurry, he's waiting for you!"; close; } - else if (WIZ_Q == 5) { + if (WZRD_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..."; @@ -368,17 +368,18 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "He's waiting for you!"; close; } - else if (WIZ_Q == 6) { + if (WZRD_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) { + if (Sex == 1) { + mes "[Catherine]"; 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 "[Catherine]"; 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; @@ -392,9 +393,9 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "He's waiting!"; close; } - else if (WIZ_Q == 7) { + if (WZRD_Q == 7) { if (JobLevel < 40) { - set WIZ_Q,0; + set WZRD_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?"; @@ -404,7 +405,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "When the time comes, I will welcome you with open arms."; close; } - if (SkillPoint) { + if (SkillPoint != 0) { 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."; @@ -417,9 +418,13 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "[Catherine]"; mes "Well, no need to wait, I congratulate you. I hearby deem you Wizard."; next; + set WZRD_Q,0; + if(Class == Job_Baby_Mage){ + jobchange Job_Baby_Wizard; + } else { + jobchange Job_Wizard; + } 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."; @@ -448,21 +453,23 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ } gef_tower,102,24,2 script Gloomy Wizard 735,{ - if (BaseJob != Job_Mage) { - if (BaseJob == Job_Wizard) { + if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { + if (Class == Job_Baby_Wizard || Class == 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) { + if (Sex == 1) { + 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!"; 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 "[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!"; mes "So learn how to use magic properly, or you would just be better off giving up on using magic."; next; mes "[Raulel]"; @@ -471,7 +478,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ } close; } - else if (BaseJob == Job_Priest) { + if (Class == Job_Baby_Priest || Class == Job_Priest) { mes "[Raulel]"; mes "Go away, one who works for the Church!"; mes "Magic repels Holy power, jeez...your messing up my aura."; @@ -481,7 +488,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "Don't come any closer, just leave!"; close; } - else if (BaseClass == Job_Novice) { + if (Class == Job_Baby || Class == Job_Novice) { mes "[Raulel]"; mes "Why did a little one like you come here?!"; mes "Get lost! ~Hahahahaha"; @@ -496,7 +503,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "What do you want? Jeez...just get lost, won't you?"; close; } - if (WIZ_Q == 0) { + if (WZRD_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; @@ -504,7 +511,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "Go away! Get lost!"; close; } - else if (WIZ_Q == 1 || WIZ_Q == 2) { + if (WZRD_Q == 1) { mes "[Raulel]"; mes "Hahahaha~ You're the one that wants to become a Wizard?!"; next; @@ -515,314 +522,1030 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ 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; + if (WZRD_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; + } + if (WZRD_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; + switch (select("I want to live as a normal Mage.:I would like to continue with the tests.")) { + case 1: mes "[Raulel]"; - mes "*sneeze* It's not too late yet, wouldn't you rather just go back to town and enjoy the peaceful life?"; + 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 "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 "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; + case 2: 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!"; + break; } + mes "[Raulel]"; + mes "*sneeze* Then let's begin the test!"; + mes "If you don't answer them all correctly, you fail. Hahahahahahahahaha~"; + changequest 9015,9016; next; - switch(rand(1,3)) { - case 1: + 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!"; + next; + set .@wizard_m2,rand(1,3); + set @wizard_t,0; + mes "[Raulel]"; + mes "*Cough* *cough* Then here go the questions!"; + next; + if (.@wizard_m2 == 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; + switch (select("Fire Bolt Lv 4:Fire Ball Lv 5:Sight Lv 1:Napalm Beat Lv 4")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; + } 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; + switch (select("Water:Earth:Fire:Wind")) { + case 1: + set @wizard_t, @wizard_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("1.6 times:1.7 times:2 times:20 times")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Red Blood:Blue Gemstone:Yellow Gemstone:Red Gemstone")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; + } 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; + switch (select("Napalm Beat Lv 4:Soul Strike Lv 5:Increase SP Recovery Lv 6:Safety Wall Lv 7")) { + case 1: + break; + case 2: + break; + case 3: + set @wizard_t, @wizard_t + 10; + break; + case 4: + break; + } 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; + switch (select("14:21:28:35")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Damage 18% SP1.5%:Damage 18% SP2%:Damage 24% SP1.5%:Damage 24% SP2%")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("SP 40, 6 times:SP 35, 6 times:SP 40, 7 times:SP 35, 7 times")) { + case 1: + break; + case 2: + break; + case 3: + set @wizard_t, @wizard_t + 10; + break; + case 4: + break; + } 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; + switch (select("84:74:64:54")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } 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: + switch (select("Lightning Bolt:Fire Bolt:Cold Bolt:Sight")) { + case 1: + set @wizard_t, @wizard_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + } + if (.@wizard_m2 == 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; + switch (select("Thief Bug:Peco Peco:Pupa:Kobold (Hammer)")) { + case 1: + break; + case 2: + break; + case 3: + set @wizard_t, @wizard_t + 10; + break; + case 4: + break; + } 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; + switch (select("Flora:Giearth:Golem:Myst")) { + case 1: + set @wizard_t, @wizard_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Elder Willow:Evil Druid:Magnolia:Marc")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("125%:150%:175%:200%")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; + } 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; + switch (select("Baby Desert Wolf:Familiar:Neither:I don't know")) { + case 1: + set @wizard_t, @wizard_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Poporing:Roda Frog:Smokie:Poison Spore")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Dagger Goblin:Mace Goblin:Morningstar Goblin:Hammer Goblin")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; + } 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; + switch (select("Horn:Chonchon:Andre:Caramel")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; + } 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; + switch (select("Poring:Mastering:Ghostring:Spore")) { + case 1: + break; + case 2: + break; + case 3: + set @wizard_t, @wizard_t + 10; + break; + case 4: + break; + } 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: + switch (select("Drake:Megalodon:Deviace:Khalitzburg")) { + case 1: + break; + case 2: + break; + case 3: + set @wizard_t, @wizard_t + 10; + break; + case 4: + break; + } + } + else { 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; + switch (select("INT:AGI:DEX:VIT")) { + case 1: + set @wizard_t, @wizard_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Water:Earth:Fire:Wind")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Weak physical strength.:Attacks at a distance.:Good at selling stuff.:Magic Defense is high.")) { + case 1: + break; + case 2: + break; + case 3: + set @wizard_t, @wizard_t + 10; + break; + case 4: + break; + } 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; + switch (select("Prontera:Morroc:Alberta:Geffen")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; + } 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; + switch (select("Andre Egg Card:Soldier Andre Card:Baby Desert Wolf Card:Elder Willow Card")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Exceptional Vocal Ability:Exceptional Acting Ability:Exceptional Dance Skills:Exceptional Magic Skills")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; + } 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; + switch (select("8:7:6:5")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; + } 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; + switch (select("Knife:Boys Cap:Sandle:Eye of Dullahan")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Blue Gemstone:Red Gemstone:Yellow Gemstone:Red Blood")) { + case 1: + set @wizard_t, @wizard_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Marduk Card:Magnolia Card:Willow Card:Maya Card")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } } 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..."; + 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 WZRD_Q,5; + changequest 9016,9017; + mes "*cough* *Cough* Well done, you passed the second test."; 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; + 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; + } + if (@wizard_t == 90) { + set WZRD_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; + } + set WZRD_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; + } + if (WZRD_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; + switch (select("Because of you, I want to live as a normal Mage now.:I would like to continue with the tests.")) { + case 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; + case 2: + 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; + break; + } + mes "[Raulel]"; + mes "Then let's begin the test!"; + mes "If you don't answer all of them correctly, you fail... ~Hahahahahha"; + next; + mes "[Raulel]"; + mes "I'll give you 10 questions so give me the correct answers."; + mes "If you get something wrong, I won't tell you what it is!"; + next; + set .@wizard_m2,rand(1,3); + set @wizard_t,0; + mes "[Raulel]"; + mes "*Cough* *cough* Then here go the questions."; + next; + if (.@wizard_m2 == 1) { + mes "[Raulel]"; + mes "1. Which of the following is not necessary to learn Fire Wall?"; + next; + switch (select("Fire Bolt Lv 4:Fire Ball Lv 5:Sight Lv 1:Napalm Beat Lv 4")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; + } + mes "[Raulel]"; + mes "2. Regaurdless of the previous attribute, what does the monster's attribute change to when you cast Frost Diver on it?"; + next; + switch (select("Water:Earth:Fire:Wind")) { + case 1: + set @wizard_t, @wizard_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + mes "[Raulel]"; + mes "3. When you master Napalm Beat, what is the ratio of the increase in MATK using the spell?"; + next; + switch (select("1.6 times:1.7 times:2 times:20 times")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[Raulel]"; + mes "4. What item do you need when casting Stone Curse?"; + next; + switch (select("Red Blood:Blue Gemstone:Yellow Gemstone:Red Gemstone")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; + } + mes "[Raulel]"; + mes "5. Which of the following is not required to master Safety Wall?"; + next; + switch (select("Napalm Beat Lv 4:Soul Strike Lv 5:Increase SP Recovery Lv 6:Safety Wall Lv 7")) { + case 1: + break; + case 2: + break; + case 3: + set @wizard_t, @wizard_t + 10; + break; + case 4: + break; + } + 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; + switch (select("14:21:28:35")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[Raulel]"; + mes "7. Using the skill 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; + switch (select("Damage 18% SP1.5%:Damage 18% SP2%:Damage 24% SP1.5%:Damage 24% SP2%")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[Raulel]"; + mes "8. How much SP is consumed, and how many times can you avoid attacks when using Safety Wall Lv 6?"; + next; + switch (select("SP 40, 6 times:SP 35, 6 times:SP 40, 7 times:SP 35, 7 times")) { + case 1: + break; + case 2: + break; + case 3: + set @wizard_t, @wizard_t + 10; + break; + case 4: + break; + } + mes "[Raulel]"; + mes "9. How much SP is needed when using Lv 10 Thunderstorm?"; + next; + switch (select("84:74:64:54")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[Raulel]"; + mes "10. Which skill is most useful for training in the Byalan Dungeon?"; + next; + switch (select("Lightning Bolt:Fire Bolt:Cold Bolt:Sight")) { + case 1: + set @wizard_t, @wizard_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + } + if (.@wizard_m2 == 2) { + mes "[Raulel]"; + mes "1. Which monster can you obtain a slotted Guard from?"; + next; + switch (select("Thief Bug:Peco Peco:Pupa:Kobold (Hammer)")) { + case 1: + break; + case 2: + break; + case 3: + set @wizard_t, @wizard_t + 10; + break; + case 4: + break; + } + mes "[Raulel]"; + mes "2. Which of the following is the easiest monster for a low level Mage to hunt?"; + next; + switch (select("Flora:Giearth:Golem:Myst")) { + case 1: + set @wizard_t, @wizard_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + mes "[Raulel]"; + mes "3. Which monster will not be affected by Stone Curse?"; + next; + switch (select("Elder Willow:Evil Druid:Magnolia:Marc")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[Raulel]"; + mes "4. When attacking a Lv 3 water attribute monster with a wind attribute weapon, what is the damage percentage?"; + next; + switch (select("125%:150%:175%:200%")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; + } + mes "[Raulel]"; + mes "5. If a Baby Desert Wolf and a Familiar fought, which one would win?"; + next; + switch (select("Baby Desert Wolf:Familiar:Neither:I don't know")) { + case 1: + set @wizard_t, @wizard_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + mes "[Raulel]"; + mes "6. Which of the following cannot be a Cute Pet?"; + next; + switch (select("Poporing:Roda Frog:Smokie:Poison Spore")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[Raulel]"; + mes "7. Choose the monster that is weak against a fire attribute attack."; + next; + switch (select("Dagger Goblin:Mace Goblin:Morningstar Goblin:Hammer Goblin")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; + } + mes "[Raulel]"; + mes "8. Which of the following monsters has the highest defense?"; + next; + switch (select("Horn:Chonchon:Andre:Caramel")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; + } + mes "[Raulel]"; + mes "9. Choose the monster that's a different species."; + next; + switch (select("Poring:Mastering:Ghostring:Spore")) { + case 1: + break; + case 2: + break; + case 3: + set @wizard_t, @wizard_t + 10; + break; + case 4: + break; + } + mes "[Raulel]"; + mes "10. Which of the following is not an Undead monster?"; + next; + switch (select("Drake:Megalodon:Deviace:Khalitzburg")) { + case 1: + break; + case 2: + break; + case 3: + set @wizard_t, @wizard_t + 10; + break; + case 4: + break; + } + } + else { + mes "[Raulel]"; + mes "1. Which stat is the most important for a Mage?"; + next; + switch (select("INT:AGI:DEX:VIT")) { + case 1: + set @wizard_t, @wizard_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } + mes "[Raulel]"; + mes "2. Which attribute does not have a 'Bolt' type attack?"; + next; + switch (select("Water:Earth:Fire:Wind")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[Raulel]"; + mes "3. Choose the one that does not relate to a Mage."; + next; + switch (select("Weak physical strength.:Attacks at a distance.:Good at selling stuff.:Magic Defense is high.")) { + case 1: + break; + case 2: + break; + case 3: + set @wizard_t, @wizard_t + 10; + break; + case 4: + break; + } + mes "[Raulel]"; + mes "4. Which town is the home of the Mages?"; + next; + switch (select("Prontera:Morroc:Alberta:Geffen")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; + } + mes "[Raulel]"; + mes "5. Which of the following cards has nothing to do with INT?"; + next; + switch (select("Andre Egg Card:Soldier Andre Card:Baby Desert Wolf Card:Elder Willow Card")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; + } + mes "[Raulel]"; + mes "6. What is the Mage good at compared to other job classes?"; + next; + switch (select("Exceptional Vocal Ability:Exceptional Acting Ability:Exceptional Dance Skills:Exceptional Magic Skills")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; + } + mes "[Raulel]"; + mes "7. What is the INT bonus at Job Lv 40 for a Mage?"; + next; + switch (select("8:7:6:5")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 10; + break; } - 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; + mes "[Raulel]"; + mes "8. Which item can a Mage not equip?"; + next; + switch (select("Knife:Boys Cap:Sandle:Eye of Dullahan")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; } - 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; + mes "[Raulel]"; + mes "9. Which of the following is the catalyst when making the Mage test solution 3?"; + next; + switch (select("Blue Gemstone:Red Gemstone:Yellow Gemstone:Red Blood")) { + case 1: + set @wizard_t, @wizard_t + 10; + break; + case 2: + break; + case 3: + break; + case 4: + break; } - 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 "[Raulel]"; + mes "10. Which card is irrelevant to magic?"; + next; + switch (select("Marduk Card:Magnolia Card:Willow Card:Maya Card")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 10; + break; + case 3: + break; + case 4: + break; } } - mes "Hmmm...Good job, you finished answering all the questions, go buy yourself some potions or something, thats IF you have the Zeny. Hahahahahahahah~"; + mes "[Raulel]"; + 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; + mes "Your score is... " + @wizard_t + "points....."; + if (@wizard_t == 100) { changequest 9016,9017; - mes "*cough* *Cough* Well done, you passed the second test."; + set WZRD_Q,5; + 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 "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~"; + 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; + if (@wizard_t == 90) { + set WZRD_Q,5; changequest 9016,9017; - mes "Hahahaha~ I'll let you slide by since you only missed one problem. You passed the second test."; + 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 "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~"; + 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 { - 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."; + if (@wizard_t == 80) { + set WZRD_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 "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!"; + 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; } + 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; } - else if (WIZ_Q == 5) { + if (WZRD_Q == 5) { mes "[Raulel]"; mes "Ok, hope you got plenty of rest. Hahahahahah~"; mes "Then let's begin the last test."; @@ -830,12 +1553,13 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ 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) { + switch (select("No, it's ok, I'm ready.:I would like to listen.")) { + case 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; + set WZRD_Q,6; savepoint "geffen",120,107; mes "[Raulel]"; mes "Then, as you wish. I'll send you there right now."; @@ -843,51 +1567,54 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ 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; + case 2: 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; + 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; + switch (select("Continue testing.:I want to go back because I have butterflies in my stomach.")) { + case 1: + set WZRD_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; + case 2: + set WZRD_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; + } } - 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) { + if (WZRD_Q == 6) { + if (@asn_skill == 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??"; @@ -896,7 +1623,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ 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; + set @asn_skill,@asn_skill+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~"; @@ -904,12 +1631,13 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ warp "job_wiz",57,154; end; } - else if (WIZ_Q2 > 6) { + if (@asn_skill > 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) { + switch (select("Continue the test.:Worn Out Scroll...")) { + case 1: savepoint "geffen",120,107; mes "[Raulel]"; mes "Hahaha~ Ok, at least you have some spirit."; @@ -917,21 +1645,24 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ 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; + case 2: + 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 @asn_skill,0; + set WZRD_Q,7; + changequest 9017,9018; + 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; + } } } + set @wizard_t,0; 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?"; @@ -946,38 +1677,83 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ 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; + switch (select("Mantis:Cornutus:Giearth:Caramel")) { + case 1: + break; + case 2: + set @wizard_t, @wizard_t + 20; + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Yoyo:Magnolia:Metaller:Zerom")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 20; + break; + } 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; + switch (select("Marina:Vitata:Scorpion:Giearth")) { + case 1: + set @wizard_t, @wizard_t + 20; + break; + case 2: + break; + case 3: + break; + case 4: + break; + } 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; + switch (select("Cold Bolt:Fire Bolt:Lightning Bolt:Stone Curse")) { + case 1: + break; + case 2: + break; + case 3: + set @wizard_t, @wizard_t + 20; + break; + case 4: + break; + } 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; + switch (select("Hydra:Madragora:Greatest General:Frilldora")) { + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + set @wizard_t, @wizard_t + 20; + break; + } 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 "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) { + else if (@wizard_t == 80) { mes "Eh, soso..."; mes "I'll let you retake the test."; next; @@ -989,7 +1765,8 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ 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) { + switch (select("Begin the test please.:Can I get another explanation?")) { + case 1: mes "[Raulel]"; mes "Nobody is going to help you become a Wizard. Hahahahahahahaha~"; mes "*Cough* *cough* No point in crying after dying..."; @@ -1001,48 +1778,51 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ 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; + case 2: 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 "*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; + switch (select("Continue with the test.:I'm too scared, I would like to quit.")) { + case 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; + case 2: + 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; + } } - 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) { + if (WZRD_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~"; @@ -1069,56 +1849,58 @@ job_wiz,50,165,4 script Arena Assistant 700,{ close; } -job_wiz,50,165,4 script Waiting Room#wiz 700,{ +job_wiz,50,165,2 script Waiting Room#wzrd 111,{ + end; + 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: +OnEnable: enablewaitingroomevent; end; } -// Water Room (Test 2 part 1) -//========================================================== job_wiz,1,1,1 script Room of Water 66,{ + end; + OnInit: - disablenpc "Room of Water"; + hideonnpc "Room of Water"; end; OnEnable: - enablenpc "Room of Water"; - set .MyMobs,7; + hideoffnpc "Room of Water"; 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",118,174,"Clam",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"; + monster "job_wiz",129,170,"Obeaune",1044,1,"Room of Water::OnMyMobDead"; initnpctimer; end; +OnReset: + killmonster "job_wiz","Room of Water::OnMyMobDead"; + end; + OnDisable: - killmonsterall "job_wiz"; - disablenpc "Room of Water"; + hideonnpc "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"; + if (mobcount ("job_wiz","Room of Water::OnMyMobDead") < 1) { + set @asn_skill,@asn_skill+1; + mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map; + donpcevent "Room of Water#DK::OnEnable"; stopnpctimer; } end; @@ -1161,11 +1943,11 @@ OnTimer173000: OnTimer183000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Water::OnDisable"; + donpcevent "Room of Water::OnReset"; end; OnTimer184000: - enablenpc "Room of Water#Failed"; + donpcevent "Room of Water#Failed::OnEnable"; end; OnTimer185000: @@ -1173,41 +1955,45 @@ OnTimer185000: end; OnTimer186000: - disablenpc "Room of Water#Failed"; + donpcevent "Room of Water#Failed::OnDisable"; donpcevent "Room of Water::OnDisable"; - donpcevent "Waiting Room#wiz::OnStart"; + donpcevent "Waiting Room::OnEnable"; end; } -job_wiz,1,2,1 script Room of Water#Door 66,{ +job_wiz,1,2,1 script Room of Water#DK 66,{ + end; + OnInit: - disablenpc "Room of Water#Door"; + hideonnpc "Room of Water#DK"; end; OnEnable: - enablenpc "Room of Water#Door"; + hideoffnpc "Room of Water#DK"; + donpcevent "Room of Water::OnReset"; 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"; + monster "job_wiz",114,169,"Marine Sphere",1142,1,"Room of Water#DK::OnMyMobDead"; + monster "job_wiz",112,169,"Hydra",1068,1,"Room of Water#DK::OnMyMobDead"; + monster "job_wiz",116,169,"Hydra",1068,1,"Room of Water#DK::OnMyMobDead"; + monster "job_wiz",114,171,"Hydra",1068,1,"Room of Water#DK::OnMyMobDead"; + monster "job_wiz",114,167,"Hydra",1068,1,"Room of Water#DK::OnMyMobDead"; initnpctimer; end; +OnReset: + killmonster "job_wiz","Room of Water#DK::OnMyMobDead"; + end; + OnDisable: - killmonsterall "job_wiz"; - disablenpc "Room of Water#Door"; + hideonnpc "Room of Water#DK"; 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; + if (mobcount ("job_wiz","Room of Water#DK::OnMyMobDead") < 1) { + mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map; warp "job_wiz",116,97; - donpcevent "Room of Water#Door::OnDisable"; + donpcevent "Room of Water#DK::OnReset"; + donpcevent "Room of Water#DK::OnDisable"; donpcevent "Room of Earth::OnEnable"; stopnpctimer; } @@ -1227,11 +2013,11 @@ OnTimer50000: OnTimer60000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Water#Door::OnDisable"; + donpcevent "Room of Water#DK::OnReset"; end; OnTimer61000: - enablenpc "Room of Water#Failed"; + donpcevent "Room of Water#Failed::OnEnable"; end; OnTimer62000: @@ -1239,53 +2025,67 @@ OnTimer62000: end; OnTimer63000: - disablenpc "Room of Water#Failed"; - donpcevent "Room of Water#Door::OnDisable"; - donpcevent "Waiting Room#wiz::OnStart"; + donpcevent "Room of Water#Failed::OnDisable"; + donpcevent "Room of Water#DK::OnDisable"; + donpcevent "Waiting Room::OnEnable"; end; } -job_wiz,114,169,0 script Room of Water#Failed -1,16,16,{ -OnInit: - disablenpc "Room of Water#Failed"; - end; +job_wiz,114,169,0 script Room of Water#Failed 139,16,16,{ OnTouch: - mapannounce "job_wiz",strcharinfo(0)+" has not succeeded.",bc_map; + mapannounce "job_wiz","" + strcharinfo(0) + " has not succeeded.",bc_map; warp "geffen",120,110; end; + +OnInit: + hideonnpc "Room of Water#Failed"; + end; + +OnEnable: + hideoffnpc "Room of Water#Failed"; + end; + +OnDisable: + hideonnpc "Room of Water#Failed"; + end; } -// Earth Room (Test 2 part 2) -//========================================================== -job_wiz,1,3,1 script Room of Earth 66,{ +job_wiz,1,3,1 script Room of Earth 66,1,1,{ + end; + OnInit: - disablenpc "Room of Earth"; + hideonnpc "Room of Earth"; end; OnEnable: - enablenpc "Room of Earth"; - set .MyMobs,7; + hideoffnpc "Room of Earth"; + percentheal 100,100; 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,102,"Hode",1127,1,"Room of Earth::OnMyMobDead"; + monster "job_wiz",111,93,"Savage",1166,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"; + monster "job_wiz",127,86,"Mantis",1139,1,"Room of Earth::OnMyMobDead"; initnpctimer; end; +OnReset: + killmonster "job_wiz","Room of Earth::OnMyMobDead"; + end; + OnDisable: - killmonsterall "job_wiz"; - disablenpc "Room of Earth"; + hideonnpc "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"; + if (mobcount ("job_wiz","Room of Earth::OnMyMobDead") < 1) { + mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map; + donpcevent "Room of Earth#DK::OnEnable"; stopnpctimer; } end; @@ -1328,11 +2128,11 @@ OnTimer173000: OnTimer183000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Earth::OnDisable"; + donpcevent "Room of Earth::OnReset"; end; OnTimer184000: - enablenpc "Room of Earth#Failed"; + donpcevent "Room of Earth#Failed::OnEnable"; end; OnTimer185000: @@ -1340,42 +2140,48 @@ OnTimer185000: end; OnTimer186000: - disablenpc "Room of Earth#Failed"; + donpcevent "Room of Earth#Failed::OnDisable"; donpcevent "Room of Earth::OnDisable"; - donpcevent "Waiting Room#wiz::OnStart"; + donpcevent "Waiting Room::OnEnable"; end; } -job_wiz,1,4,1 script Room of Earth#Door 66,{ +job_wiz,1,4,1 script Room of Earth#DK 66,{ + end; + OnInit: - disablenpc "Room of Earth#Door"; + hideonnpc "Room of Earth#DK"; end; OnEnable: - enablenpc "Room of Earth#Door"; + hideoffnpc "Room of Earth#DK"; + donpcevent "Room of Earth::OnReset"; 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"; + monster "job_wiz",116,97,"Flora",1118,1,"Room of Earth#DK::OnMyMobDead"; + monster "job_wiz",114,95,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; + monster "job_wiz",118,95,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; + monster "job_wiz",114,99,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; + monster "job_wiz",118,99,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; + monster "job_wiz",116,94,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; + monster "job_wiz",116,100,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; initnpctimer; end; +OnReset: + killmonster "job_wiz","Room of Earth#DK::OnMyMobDead"; + end; + OnDisable: - killmonsterall "job_wiz"; - disablenpc "Room of Earth#Door"; + hideonnpc "Room of Earth#DK"; end; OnMyMobDead: - set .MyMobs,.MyMobs-1; - if (.MyMobs < 1) { - mapannounce "job_wiz",strcharinfo(0) + " has succeeded in eliminating the monster.",bc_map; + if (mobcount ("job_wiz","Room of Earth#DK::OnMyMobDead") < 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 Earth#DK::OnReset"; + donpcevent "Room of Earth#DK::OnDisable"; donpcevent "Room of Fire::OnEnable"; stopnpctimer; } @@ -1395,7 +2201,7 @@ OnTimer50000: OnTimer60000: mapannounce "job_wiz","End time.",bc_map; - donpcevent "Room of Earth#Door::OnDisable"; + donpcevent "Room of Earth#DK::OnReset"; end; OnTimer61000: @@ -1407,52 +2213,65 @@ OnTimer62000: end; OnTimer63000: - disablenpc "Room of Earth#Failed"; - donpcevent "Room of Earth#Door::OnDisable"; - donpcevent "Waiting Room#wiz::OnStart"; + donpcevent "Room of Earth#Failed::OnDisable"; + donpcevent "Room of Earth#DK::OnDisable"; + donpcevent "Waiting Room::OnEnable"; end; } -job_wiz,116,97,0 script Room of Earth#Failed -1,16,16,{ -OnInit: - disablenpc "Room of Earth#Failed"; - end; +job_wiz,116,97,0 script Room of Earth#Failed 139,16,16,{ OnTouch: - mapannounce "job_wiz",strcharinfo(0) + " has not succeeded.",bc_map; + mapannounce "job_wiz","" + strcharinfo(0) + " has not succeeded.",bc_map; warp "geffen",120,110; end; + +OnInit: + hideonnpc "Room of Earth#Failed"; + end; + +OnEnable: + hideoffnpc "Room of Earth#Failed"; + end; + +OnDisable: + hideonnpc "Room of Earth#Failed"; + end; } -// Fire Room (Test 2 part 3) -//========================================================== job_wiz,1,5,1 script Room of Fire 66,{ + end; + OnInit: - disablenpc "Room of Fire"; + hideonnpc "Room of Fire"; end; OnEnable: - enablenpc "Room of Fire"; - set .MyMobs,6; + hideoffnpc "Room of Fire"; + percentheal 100,100; + monster "job_wiz",58,110,"Zerom",1178,1,"Room of Fire::OnMyMobDead"; 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",40,92,"Peco Peco",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"; + monster "job_wiz",54,89,"Desert Wolf",1106,1,"Room of Fire::OnMyMobDead"; initnpctimer; end; +OnReset: + killmonster "job_wiz","Room of Fire::OnMyMobDead"; + end; + OnDisable: - killmonsterall "job_wiz"; - disablenpc "Room of Fire"; + hideonnpc "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"; + if (mobcount ("job_wiz","Room of Fire::OnMyMobDead") < 1) { + mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map; + donpcevent "Room of Fire#Door Keeper::OnEnable"; stopnpctimer; } end; @@ -1495,7 +2314,7 @@ OnTimer173000: OnTimer183000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Fire::OnDisable"; + donpcevent "Room of Fire::OnReset"; end; OnTimer184000: @@ -1507,40 +2326,45 @@ OnTimer185000: end; OnTimer186000: - disablenpc "Room of Fire#Failed"; + donpcevent "Room of Fire#Failed::OnDisable"; donpcevent "Room of Fire::OnDisable"; - donpcevent "Waiting Room#wiz::OnStart"; + donpcevent "Waiting Room::OnEnable"; end; } -job_wiz,1,6,1 script Room of Fire#Door 66,{ +job_wiz,1,6,1 script Room of Fire#Door Keeper 66,{ + end; + OnInit: - disablenpc "Room of Fire#Door"; + hideonnpc "Room of Fire#Door Keeper"; end; OnEnable: - enablenpc "Room of Fire#Door"; + hideoffnpc "Room of Fire#Door Keeper"; + donpcevent "Room of Fire::OnReset"; 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"; + monster "job_wiz",44,99,"Greatest General",1277,1,"Room of Fire#Door Keeper::OnMyMobDead"; + monster "job_wiz",43,99,"Horong",1129,1,"Room of Fire#Door Keeper::OnMyMobDead"; + monster "job_wiz",45,99,"Horong",1129,1,"Room of Fire#Door Keeper::OnMyMobDead"; initnpctimer; end; +OnReset: + killmonster "job_wiz","Room of Fire#Door Keeper::OnMyMobDead"; + end; + OnDisable: - killmonsterall "job_wiz"; - disablenpc "Room of Fire#Door"; + hideonnpc "Room of Fire#Door Keeper"; end; OnMyMobDead: - set .MyMobs,.MyMobs-1; - if (.MyMobs < 1) { + if (mobcount ("job_wiz","Room of Fire#Door Keeper::OnMyMobDead") < 1) { mapannounce "job_wiz","Congratulations, " + strcharinfo(0) + ". You have passed the job change test.",bc_map; - set WIZ_Q,7; + set WZRD_Q,7; changequest 9017,9018; - donpcevent "Room of Fire#Door::OnDisable"; - donpcevent "Test Helper#wiz::OnEnable"; + donpcevent "Room of Fire#Door Keeper::OnReset"; + donpcevent "Room of Fire#Door Keeper::OnDisable"; + donpcevent "Test Helper::OnEnable"; stopnpctimer; } end; @@ -1567,11 +2391,11 @@ OnTimer110000: OnTimer120000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Fire#Door::OnDisable"; + donpcevent "Room of Fire#Door Keeper::OnReset"; end; OnTimer121000: - enablenpc "Room of Fire#Failed"; + donpcevent "Room of Fire#Failed::OnEnable"; end; OnTimer122000: @@ -1579,26 +2403,57 @@ OnTimer122000: end; OnTimer123000: - disablenpc "Room of Fire#Failed"; - donpcevent "Room of Fire#Door::OnDisable"; - donpcevent "Waiting Room#wiz::OnStart"; + donpcevent "Room of Fire#Failed::OnDisable"; + donpcevent "Room of Fire#Door Keeper::OnDisable"; + donpcevent "Waiting Room::OnEnable"; + end; } -job_wiz,46,99,0 script Room of Fire#Failed -1,16,16,{ +job_wiz,46,99,0 script Room of Fire#Failed 139,16,16,{ + end; + OnInit: - disablenpc "Room of Fire#Failed"; + hideonnpc "Room of Fire#Failed"; end; OnTouch: warp "geffen",120,110; end; + +OnEnable: + hideoffnpc "Room of Fire#Failed"; + end; + +OnDisable: + hideonnpc "Room of Fire#Failed"; + end; +} + +job_wiz,46,99,0 script Succeed 139,16,16,{ + end; + +OnInit: + hideonnpc "Succeed"; + end; + +OnTouch: + warp "gef_tower",110,30; + end; + +OnEnable: + hideoffnpc "Succeed"; + end; + +OnDisable: + hideonnpc "Succeed"; + end; } -job_wiz,1,7,1 script Test Helper#wiz 66,{ +job_wiz,1,7,1 script Test Helper 66,1,1,{ end; OnInit: - disablenpc "Test Helper#wiz"; + hideonnpc "Test Helper"; end; OnEnable: @@ -1606,7 +2461,7 @@ OnEnable: end; OnDisable: - disablenpc "Test Helper#wiz"; + hideonnpc "Test Helper"; end; OnTimer2000: @@ -1618,7 +2473,11 @@ OnTimer4000: end; OnTimer5000: - areawarp "job_wiz",33,82,57,113,"gef_tower",110,30; + donpcevent "Succeed::OnEnable"; + end; + +OnTimer6000: + donpcevent "Succeed::OnDisable"; end; OnTimer7000: @@ -1626,25 +2485,25 @@ OnTimer7000: end; OnTimer9000: - donpcevent "Test Helper#wiz::OnDisable"; - donpcevent "Waiting Room#wiz::OnStart"; + donpcevent "Test Helper::OnDisable"; + donpcevent "Waiting Room::OnEnable"; stopnpctimer; end; } -gef_tower,107,36,4 script White Dog#wiz 81,{ - if (BaseJob != Job_Mage) { - if (BaseJob == Job_Wizard) { +gef_tower,107,36,4 script White Dog 81,{ + if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { + if (Class == Job_Baby_Wizard || Class == 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; + cutin "",255; end; } - else if (BaseClass == Job_Novice) { + if (Class == Job_Baby || Class == Job_Novice) { mes "[Dog]"; mes "What? Kiddo!"; mes "Is a Dog talking so amusing to you?"; @@ -1660,10 +2519,10 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ mes "*Bark* Get lost!"; mes "I don't have time for people like you!"; close2; - cutin "job_wizard_maria02",255; + cutin "",255; end; } - if (WIZ_Q == 0) { + if (WZRD_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?"; @@ -1674,7 +2533,7 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ 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...")) { + 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?!"; @@ -1735,7 +2594,7 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ 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...")) { + switch (select("Yes, please! I would like that.:No, it's ok.:A talking dog...")) { case 1: cutin "job_wizard_maria01",2; mes "[Maria]"; @@ -1770,16 +2629,11 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ 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; + close; case 2: mes "[Maria]"; mes "Really? Ok, then go apply and do your best."; - close2; - cutin "job_wizard_maria01",255; - end; + close; case 3: cutin "job_wizard_maria02",2; mes "[Maria]"; @@ -1788,12 +2642,12 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ mes "[Maria]"; mes "Dang it! I hope you FAIL!! Go get lost!!"; close2; - cutin "job_wizard_maria01",255; + cutin "",255; warp "gef_dun00",116,102; end; } } - else if (WIZ_Q == 1) { + if (WZRD_Q == 1) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "You seem lost..."; @@ -1813,7 +2667,7 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ 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."; + mes "Condors, Pickies, and sometimes monsters like Golems drop them."; next; mes "[Maria]"; mes "And...*woof* to get Blue Gemstones. Try going to the Byalan Dungeons."; @@ -1827,10 +2681,10 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ mes "Anyways, try your best."; mes "This is the basics of being a Wizard."; close2; - cutin "job_wizard_maria01",255; + cutin "",255; end; } - else if (WIZ_Q == 2) { + if (WZRD_Q == 2) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "You seem lost..."; @@ -1864,19 +2718,19 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ mes "But anyways, always try your best."; mes "It's the basics of being a Wizard."; close2; - cutin "job_wizard_maria01",255; + cutin "",255; end; } - else if (WIZ_Q == 3) { + if (WZRD_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; + cutin "",255; end; } - else if (WIZ_Q == 4) { + if (WZRD_Q == 4) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "ZzzzZzzzZzzz..."; @@ -1885,10 +2739,10 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ mes "[Maria]"; mes "*wimper*...Blizadris...you suck...Zzz..."; close2; - cutin "job_wizard_maria02",255; + cutin "",255; end; } - else if (WIZ_Q == 5) { + if (WZRD_Q == 5) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "Oh, you're doing well aren't you?"; @@ -1897,10 +2751,10 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ mes "Well, try your best to the very end."; mes "Laurel is waiting."; close2; - cutin "job_wizard_maria01",255; + cutin "",255; end; } - else if (WIZ_Q == 6) { + if (WZRD_Q == 6) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "*BARK*...you gave up?"; @@ -1918,10 +2772,10 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ 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; + cutin "",255; end; } - else if (WIZ_Q == 7) { + if (WZRD_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*"; @@ -1930,27 +2784,7 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ mes "[Maria]"; mes "Congratulations. Always give your best at everything, no matter what."; close2; - cutin "job_wizard_maria01",255; + cutin "",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] +} \ No newline at end of file -- cgit v1.2.3-70-g09d2 From ff2362c56f938be3004ecbc6debffc37a46e4eed Mon Sep 17 00:00:00 2001 From: masao87 Date: Mon, 30 Jul 2012 00:22:47 +0000 Subject: - Reverted all changes done to the job change quest files. * Decided it'd be better to commit it all together when updating, fixing and optimization is done all at once. Sorry guys and girls for the trouble! Big shame on me :-/ :( git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16533 54d463be-8e91-2dee-dedb-b68131a5f0ec --- npc/pre-re/jobs/1-1/acolyte.txt | 452 ++-- npc/pre-re/jobs/1-1/archer.txt | 108 +- npc/pre-re/jobs/1-1/mage.txt | 277 +-- npc/pre-re/jobs/1-1/merchant.txt | 171 +- npc/pre-re/jobs/1-1/swordman.txt | 130 +- npc/pre-re/jobs/1-1/thief.txt | 383 +-- npc/pre-re/jobs/2-1/assassin.txt | 3068 ++++++++---------------- npc/pre-re/jobs/2-1/blacksmith.txt | 2231 +++++------------- npc/pre-re/jobs/2-1/hunter.txt | 3953 ++++++++++--------------------- npc/pre-re/jobs/2-1/knight.txt | 4570 ++++++++++-------------------------- npc/pre-re/jobs/2-1/priest.txt | 1650 ++++++------- npc/pre-re/jobs/2-1/wizard.txt | 1950 +++++---------- npc/re/jobs/1-1/acolyte.txt | 452 ++-- npc/re/jobs/1-1/archer.txt | 108 +- npc/re/jobs/1-1/mage.txt | 277 +-- npc/re/jobs/1-1/merchant.txt | 171 +- npc/re/jobs/1-1/swordman.txt | 130 +- npc/re/jobs/1-1/thief.txt | 385 +-- npc/re/jobs/2-1/assassin.txt | 3068 ++++++++---------------- npc/re/jobs/2-1/blacksmith.txt | 2231 +++++------------- npc/re/jobs/2-1/hunter.txt | 3953 ++++++++++--------------------- npc/re/jobs/2-1/knight.txt | 4570 ++++++++++-------------------------- npc/re/jobs/2-1/priest.txt | 1650 ++++++------- npc/re/jobs/2-1/wizard.txt | 1950 +++++---------- npc/re/jobs/2-2/alchemist.txt | 2026 ++++++---------- npc/re/jobs/2-2/bard.txt | 1327 +++-------- npc/re/jobs/2-2/crusader.txt | 2425 ++++++------------- npc/re/jobs/2-2/dancer.txt | 1327 ++++------- npc/re/jobs/2-2/rogue.txt | 2102 +++++++---------- 29 files changed, 14770 insertions(+), 32325 deletions(-) (limited to 'npc/re/jobs/1-1/swordman.txt') diff --git a/npc/pre-re/jobs/1-1/acolyte.txt b/npc/pre-re/jobs/1-1/acolyte.txt index a21d4846c..a200ec514 100644 --- a/npc/pre-re/jobs/1-1/acolyte.txt +++ b/npc/pre-re/jobs/1-1/acolyte.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.2 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -11,7 +11,6 @@ //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] //= 1.1 Added back the npcs used for the priest quest. -//= 1.2 Added Baby job change support. [Masao] //============================================================ prt_church,184,41,4 script Cleric#aco 60,{ if (Upper == 1) { @@ -39,74 +38,62 @@ prt_church,184,41,4 script Cleric#aco 60,{ mes "wish you luck on your"; mes "new life's journey."; next; - skill 143,0,1; + 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 "Now, venture forth to seek people who need your help. May God enlighten your way."; + 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 "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("Father, I want to be a Acolyte.:Acolyte Requirements.:Just looking around.")) { + switch(select("Change your job to acolyte.:Ask the requirements to be an acolyte.:Quit it.")) { case 1: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + if(Class != Job_Novice) { mes "[Father Mareusis]"; - 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?"; + 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; - } - if ((Class != Job_Baby) && (Class != Job_Novice)) { + }else{ mes "[Father Mareusis]"; - mes "I'm sorry, but we can only accept Novices as applicants for the job change to Acolyte."; - close; - } - 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 "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 "Good Lord! Haven't you accomplished the Basic Training yet?! It's important that you finish that!"; + 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 "You should have trained more! Go back and make sure you reach Novice Job Level 9 and learn all of the Basic Skills!"; - close; - } - mes "[Father Mareusis]"; - mes "Hmm... your job level is high enough and you've proven your qualification."; - next; - mes "[Father Mareusis]"; - mes "I am proud to say that you are now ready to become an Acolyte!"; - next; - skill 143,0,1; - if(Class == Job_Baby){ - jobchange Job_Baby_Acolyte; - } else { + 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; } - set ACO_Q,0; - getitem 1545,1; //N_Mace - mes "[Father Mareusis]"; - mes "Always remember to be thankful to God, who is taking care of us all the time."; - next; - mes "[Father Mareusis]"; - mes "Always use your gifts to serve Him by helping others. In chaos and times of difficulty, face your hardships with unwavering faith."; - 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?"; @@ -117,7 +104,7 @@ prt_church,184,41,4 script Cleric#aco 60,{ 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 I've asked of you. As long as your desire to serve God and others is sincere, you will be able to make it."; + 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; @@ -125,18 +112,17 @@ prt_church,184,41,4 script Cleric#aco 60,{ } prt_fild03,365,255,2 script Ascetic#aco 89,{ - if (Class == Job_Novice) { - if (ACO_Q== 6) { - mes "[Father Rubalkabara]"; + 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 (ACO_Q!= 0) { - if (ACO_Q== 2) { - mes "[Father Rubalkabara]"; + 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]"; @@ -156,207 +142,133 @@ prt_fild03,365,255,2 script Ascetic#aco 89,{ next; mes "[Father Rubalkabara]"; mes "Farewell."; + close2; savepoint "prt_fild03",361,255; - set ACO_Q,6; - close; + set job_acolyte_q,6; + end; } - mes "[Father Rubalkabara]"; - 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; - } - mes "[Father Rubalkabara]"; - mes "Huh? What brings you here? This is a very dangerous place for a Novice like yourself!"; - close; - } - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - if (PRST_Q != 0) { - if (PRST_Q == 1) { - mes "[Father Rubalkabara]"; - mes "Ah yes, so you're the young Acolyte who wishes to become a Priest."; + else { + mes "Oh..."; + mes "Are you one of the"; + mes "Acolyte applicants...?"; + mes "Let's see..."; 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."; + mes "Your name is " + strcharinfo(0) + "?"; + mes "I don't think your name"; + mes "is on my list. Hmmm..."; 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."; - savepoint "prt_fild03",361,255; - set PRST_Q,2; + mes "Why don't you go back to the Prontera Sanctuary and check again?"; close; } - if (PRST_Q == 2) { - mes "[Father Rubalkabara]"; - mes "Please be hurry to the next destination for your pilgrimage. I hope you become a Priest soon."; - close; - } - mes "[Father Rubalkabara]"; - mes "May I ask why you have returned? Please go back and continue your religious practice."; + } + else { + mes "Huh? What brings you here? This is a very dangerous place for a Novice like yourself!"; close; } - mes "[Father Rubalkabara]"; - mes "I have no idea what brought you here, but please excuse me."; - close; } - if (Class == Job_Baby_Priest || Class == Job_Priest) { - mes "[Father Rubalkabara]"; - 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 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; + } } - mes "[Father Rubalkabara]"; - 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#2 95,{ - if (Class == Job_Novice) { - if (ACO_Q== 6) { - mes "[Mother Marthilda]"; +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 Marthilda]"; + mes "[Mother Mathilda]"; mes "I will pray to God, and hope that you become an Acolyte soon."; close; } - if (ACO_Q!= 0) { - if (ACO_Q== 3) { - mes "[Mother Marthilda]"; + 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 Marthilda]"; + mes "[Mother Mathilda]"; mes "What is your name? " + strcharinfo(0) + "? Let's see... Ah, you're on my list."; next; - mes "[Mother Marthilda]"; + 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 Marthilda]"; + mes "[Mother Mathilda]"; mes "Please return to the Prontera Sanctuary and speak to the Priest in charge."; + close2; savepoint "moc_fild07",35,355; - set ACO_Q,7; - close; - } - mes "[Mother Marthilda]"; - mes "Ah...!"; - mes "You must be one"; - mes "of the Acolyte applicants."; - mes "I sincerely welcome you."; - next; - mes "[Mother Marthilda]"; - mes "Now, what is your name?"; - mes "" + strcharinfo(0) + "? Let's see..."; - next; - mes "[Mother Marthilda]"; - mes "Hmm..."; - mes "It seems your name"; - mes "is not on my list..."; - next; - mes "[Mother Marthilda]"; - mes "Perhaps you should return to the Prontera Sanctuary and check the destination for your penance trial once again."; - close; - } - mes "[Mother Marthilda]"; - mes "..."; - close; - } - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - if (PRST_Q != 0) { - if (PRST_Q == 1) { - mes "[Mother Marthilda]"; - mes "Hmm..."; - mes "It seems you're"; - mes "training to become"; - mes "a Priest."; - next; - mes "[Mother Marthilda]"; - mes "However, at this point in your pilgrimage, I am not the person that you should be visiting."; - next; - mes "[Mother Marthilda]"; - mes "Perhaps you should ask Bishop Paul or Sister Cecilia once again. Well, may God be with you..."; - close; + set job_acolyte_q,7; + end; } - if (PRST_Q == 2) { - mes "[Mother Marthilda]"; - mes "Ah, are you"; - mes "a Priest trainee...?"; - mes "Welcome!"; + else { + mes "Ah...!"; + mes "You must be one"; + mes "of the Acolyte applicants."; + mes "I sincerely welcome you."; next; - mes "[Mother Marthilda]"; - mes "We Priests are obliged to spread the message of God to"; - mes "the peoples of the Earth."; + mes "[Mother Mathilda]"; + mes "Now, what is your name?"; + mes "" + strcharinfo(0) + "? Let's see..."; next; - mes "[Mother Marthilda]"; - 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."; + mes "[Mother Mathilda]"; + mes "Hmm..."; + mes "It seems your name"; + mes "is not on my list..."; next; - mes "[Mother Marthilda]"; - mes "Well then..."; - mes "I shall pray to"; - mes "God for safety"; - mes "on your journey."; - savepoint "moc_fild07",35,355; - set PRST_Q,3; - close; - } - if (PRST_Q == 3) { - mes "[Mother Marthilda]"; - mes "Please leave soon, and"; - mes "continue your training."; + mes "[Mother Mathilda]"; + mes "Perhaps you should return to the Prontera Sanctuary and check the destination for your penance trial once again."; close; } - mes "[Mother Marthilda]"; - mes "May I ask you the reason you came back? Please continue your training."; + } + else { + mes "..."; close; } - mes "[Mother Marthilda]"; - mes "May God"; - mes "be with you..."; - close; } - if (Class == Job_Baby_Priest || Class == Job_Priest) { - mes "[Mother Marthilda]"; - mes "Hello there~"; - next; - mes "[Mother Marthilda]"; - mes "How is your practice coming along? I certainly hope you're enjoying living in the grace of God."; - 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; + } } - mes "[Mother Marthilda]"; - mes "May God"; - mes "be with you..."; - close; } -prt_fild00,208,218,6 script Ascetic#3 98,{ - if (Class == Job_Novice) { - if (ACO_Q== 8) { - mes "[Father Yosuke]"; +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 (ACO_Q!= 0) { - if (ACO_Q== 4) { - mes "[Father Yosuke]"; + if (job_acolyte_q != 0) { + if (job_acolyte_q == 4) { mes "Hey."; mes "Whatever you are,"; mes "you look like an"; @@ -375,104 +287,48 @@ prt_fild00,208,218,6 script Ascetic#3 98,{ next; mes "[Father Yosuke]"; mes "Now go back to the Santuary and finish becoming an Acolyte, kid."; + close2; savepoint "prt_fild00",206,230; - set ACO_Q,8; - close; - } - mes "[Father Yosuke]"; - 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; - } - mes "[Father Yosuke]"; - mes "You..."; - mes "Novice."; - mes "There something"; - mes "you wanna tell me?"; - close; - } - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - if (PRST_Q != 0) { - if (PRST_Q == 1) { - mes "[Father Yosuke]"; - 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; + set job_acolyte_q,8; + end; } - if (PRST_Q == 2) { - mes "[Father Yosuke]"; - 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."; + else { + mes "Hey."; + mes "You look like an Acolyte Applicant. Am I right?"; next; mes "[Father Yosuke]"; - mes "But that's your own fault. Go back to Church."; - close; - } - if (PRST_Q == 3) { - mes "[Father Yosuke]"; - mes "Hmm."; - mes "A Priest"; - mes "trainee, eh? "; - mes "Welcome."; + 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 "I won't say"; - mes "anything more."; - mes "Just devote your"; - mes "life to God."; + mes "" + strcharinfo(0) + ", huh? Why isn't your name on my list?"; next; mes "[Father Yosuke]"; - mes "Now go back to church."; - mes "Hereby, the first of"; - mes "your trials is now"; - mes "completed."; - savepoint "prt_fild00",206,230; - set PRST_Q,4; + mes "You probably made a mistake. Go back to the Santuary, and check with the Bishop."; close; } - if (PRST_Q == 4) { - mes "[Father Yosuke]"; - 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 "[Father Yosuke]"; - mes "Just go be a Priest. This isn't a playground for kids."; + } + else { + mes "You..."; + mes "Novice."; + mes "There something"; + mes "you wanna tell me?"; close; } - mes "[Father Yosuke]"; - mes "...Acolyte, you don't have any business with me here."; - close; } - if (Class == Job_Baby_Priest || Class == Job_Priest) { - mes "[Father Yosuke]"; - 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 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; + } } - mes "[Father Yosuke]"; - mes "Do you have anything to say? Because unfortunately for you,"; - mes "I don't any replies."; - close; -} \ No newline at end of file +} + diff --git a/npc/pre-re/jobs/1-1/archer.txt b/npc/pre-re/jobs/1-1/archer.txt index 8204689bc..46325309c 100644 --- a/npc/pre-re/jobs/1-1/archer.txt +++ b/npc/pre-re/jobs/1-1/archer.txt @@ -3,20 +3,21 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.1 +//= 1.0 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Archer Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] -//= 1.1 Added Baby job change support. [Masao] //============================================================ -payon_in02,64,71,4 script Archer Guildsman 85,{ +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)) { + 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"; @@ -37,7 +38,7 @@ payon_in02,64,71,4 script Archer Guildsman 85,{ mes "need to say anything else."; mes "I know you'll make a great Archer..."; next; - skill 143,0,1; + skill 143,0,0; jobchange Job_Archer_high; skill 147,1,0; skill 148,1,0; @@ -45,97 +46,84 @@ payon_in02,64,71,4 script Archer Guildsman 85,{ 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 "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.")) { + switch(select("I want to be an Archer.:I need the requirements, please.:Nothing, thanks.")) { case 1: - if (Class == Job_Baby || Class == Job_Novice) { + 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?"; + mes "You are... "+strcharinfo(0)+". right?"; next; if (getskilllv("NV_BASIC") < 9) { mes "[Archer Guildsman]"; - mes "Well, you don't have the right skill level. "; - mes "Your job level must be at least ^4d4dff10^000000"; - mes "and your Basic Skill level should reach ^4d4dfflevel 9^000000"; + 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"; - mes "extremely high concentration,"; - mes "so we do not accept "; - mes "those who have little patience."; - close2; + mes "Because an Archer needs extremely high concentration, so we do not accept those who have little patience."; + close; } mes "[Archer Guildsman]"; - mes "You seem to have learned the basic skills.."; - mes "....Hm~~ you are now ready to become an Archer. I will take the step right away."; + 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; - skill 143,0,1; - if(Class == Job_Baby){ - jobchange Job_Baby_Archer; - } else { - jobchange Job_Archer; - } 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!"; - getitem 1742,1; //N_Composite_Bow - getitem 12004,1; //Arrow_Container - getitem 12009,1; //Silver_Arrow_Container - getitem 12008,1; //Fire_Arrow_Container + 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've become a real Archer."; - mes "If you open the arrow quiver, there will be arrows in it that you can equip."; - mes "Well, I expect to hear good news from you. It's time to say goodbye. Bye."; + 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; } - if (Class == Job_Baby_Archer || Class == Job_Archer || Class == Job_Archer_High) { - mes "[Archer Guildsman]"; - mes "Haha, you are kidding me.."; - close; - } - mes "[Archer Guildsman]"; - mes "Wait a second. You've chosen a different job already. You don't need to know this~"; - 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,"; - mes "he or she can shoot enemies"; - mes "at a long range,"; + 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,"; - mes "he or she has high accuracy and attack rate"; - mes "so that the archer can kill monsters"; - mes "before they get close to an Archer."; + 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 "^8E2323An Archer can change"; - mes "^8E2323jobs to a Hunter."; - mes "^8E2323Other than Hunter, if you are a man, you can change your job to Bard"; - mes "^8E2323and if you are a woman, you can change your job to Dancer.^000000"; + 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; } -} \ No newline at end of file +} diff --git a/npc/pre-re/jobs/1-1/mage.txt b/npc/pre-re/jobs/1-1/mage.txt index c44d0148e..99cca81c4 100644 --- a/npc/pre-re/jobs/1-1/mage.txt +++ b/npc/pre-re/jobs/1-1/mage.txt @@ -3,16 +3,15 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.1 +//= 1.0 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Mage Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] -//= 1.1 Added Baby job change support. [Masao] //============================================================ -geffen_in,164,124,4 script Mage Guildsman 123,{ +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) { @@ -39,112 +38,89 @@ geffen_in,164,124,4 script Mage Guildsman 123,{ 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 "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~!"; + 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; } - 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_Baby_Mage || Class == Job_Mage) { - mes "[Mage Guildsman]"; - mes "Hey, haven't you realized? You're aleady a Mage, silly!"; - next; - mes "[Mage Guildsman]"; - mes "One of these days you'll realize the power inside of you when you can make Fire with your mind!"; - close; } - if ((Class != Job_Baby_Mage) && (Class != Job_Mage) && (Class != Job_Novice)) { + if(Class != Job_Novice) { mes "[Mage Guildsman]"; - mes "Hey~ C'mon. Quit playing games. You can't be a Mage because you already have another Job."; + 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; - } - if (Class == Job_Baby || Class == Job_Novice) { + }else{ mes "[Mage Guildsman]"; mes "Hey?"; next; - switch (select("I want to be a Mage.:Tell me the Requirements.:Pretty much nothing.")) { + 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?"; + mes "Wanna be a Mage? Eh..."; next; mes "[Mage Guildsman]"; - if (Sex == 1) { + if (Sex) { mes "Hey, look at you! You're kinda cute~! Not my type though..."; - } - else { + }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; - switch (select("I want to be a Mage.:Pretty much nothing.")) { - case 1: - if (getskilllv("NV_BASIC") < 9) { - mes "[Mage Guildman]"; - mes "Oh, what a bummer. You haven't met the requirements yet."; - next; - mes "[Mage Guildman]"; - mes "Go back and reach Novice Job level 9 first. Don't forget that you also have to learn all of the Basic Skills before you come back."; - close; - } - mes "[Mage Guildsman]"; - mes "Okay. Sign right there. Oh, you're very good at spelling."; - mes "So your name is... " + strcharinfo(0) + "."; - next; - mes "[Mage Guildsman]"; - mes "Hmm I can see that you've worked very hard on your own."; - mes "Good! Always sticking to the basics is the best! I will transform you right away."; - next; - mes "[Mage Guildsman]"; - mes "*Ahem*"; - mes "Congratulations!"; - mes "You are now a Mage!"; - next; - skill 143,0,1; - if(Class == Job_Baby){ - jobchange Job_Baby_Mage; - } else { - jobchange Job_Mage; - } - getitem 1639,1; //N_Rod - set Zeny, Zeny + 50; - mes "[Mage Guildsman]"; - mes "'Welcome to My World~'"; - mes "Heh heh, I just wanted to say that. You know, it's a quote from a well-known movie~"; - next; - mes "[Mage Guildsman]"; - mes "Now that you're a Mage just like us, let's be friends, okay?"; - close; - case 2: + 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?"; - if (Sex == 1) { - mes "For a cutie like you, I'd be happy to explain the requirements!"; - } - else { - mes "I'd be happy to explain the requirements for a pretty girl like you!"; - } + 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. "; + 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 mixing test. Because of that hard test, we slowly started to lose aplicants."; - mes "So, we decided to accept all aplicants who have the basic requirements."; + 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 "Let me know when you are ready to become a Mage, alright?"; + mes "Don't hesitate. Just be a magician!"; close; case 3: mes "[Mage Guildsman]"; @@ -153,152 +129,3 @@ geffen_in,164,124,4 script Mage Guildsman 123,{ } } } - -geffen_in,164,112,4 script Mixing machine 111,{ - mes "- Out of Order !! -"; - close; -} - -pay_arche,122,100,0 script Dollshoi 88,{ - mes "[Mage Guildsman]"; - mes "You want a Solution? Hmm, give me 50 Zeny and at least 1 Empty Test Tube."; - next; - switch (select("Alright, Deal.:Nah, forget it.")) { - case 1: - mes "[Mage Guildsman]"; - if (Zeny < 50) { - mes "Hey! You don't have enough money to cover my 50 Zeny charge."; - close; - } - if (countitem(1092) == 0) { - mes "You can't carry solutions without a bottle! Bring me an Empty Test Tube."; - close; - } - delitem 1092,1; //Empty_Cylinder - set Zeny, Zeny - 50; - getitem 1089,1; //Payon_Potion - close; - case 2: - close; - } -} - -moc_ruins,91,150,0 script Ponka-Hontas 93,{ - mes "[Mage Guildsman]"; - mes "Would you like a Solution? Then please give me 50 Zeny and at least 1 Empty Testtube."; - next; - switch (select("Alright, Deal.:Nah, forget it.")) { - case 1: - mes "[Mage Guildsman]"; - if (Zeny < 50) { - mes "I'm sorry, but you don't have enough money to cover the 50 Zeny fee."; - close; - } - if (countitem(1092) == 0) { - mes "You can't carry liquids without using a bottle. Bring an Empty Test Tube the next time you see me."; - close; - } - delitem 1092,1; //Empty_Cylinder - set Zeny, Zeny - 50; - getitem 1088,1; //Morocc_Potion - close; - case 2: - close; - } -} - -geffen_in,177,112,4 script Bookshelf 111,{ - mes "[Guide Book]"; - mes "This Guide Book is the property of the Geffen Mage Association. Please handle with care."; - next; - switch (select("Solution No. 1.:Solution No. 2.:Solution No. 3.:Solution No. 4.:Close.")) { - case 1: - mes "[Mage Test Solution No. 1]"; - mes "* Ingredients List *"; - mes "2 Jellopy"; - mes "3 Fluff"; - mes "1 Milk"; - next; - mes "[Mage Test Solution No. 1]"; - mes "* Solvent Agent *"; - mes "Payon Solution"; - mes "Where to Find:"; - mes "A small spring in Payon, the Archer Village."; - next; - mes "[Mage Test Solution No. 1]"; - mes "* Magic Power Serial Code *"; - mes "8472"; - next; - mes "[Mage Test Solution No. 1]"; - mes "* Catalyst *"; - mes "Yellow Gemstone"; - mes "(Provided by"; - mes "Mixing Machine)"; - close; - case 2: - mes "[Mage Test Solution No. 2]"; - mes "* Ingredients List *"; - mes "3 Jellopy"; - mes "1 Fluff"; - mes "1 Milk"; - next; - mes "[Mage Test Solution No. 2]"; - mes "* Solvent Agent *"; - mes "None"; - next; - mes "[Mage Test Solution No. 2]"; - mes "* Magic Power Serial Code *"; - mes "3735"; - next; - mes "[Mage Test Solution No. 2]"; - mes "* Catalyst *"; - mes "Red Gemstone"; - mes "(Provided by"; - mes "Mixing Machine)"; - close; - case 3: - mes "[Mage Test Solution No. 3]"; - mes "* Ingredients List *"; - mes "6 Jellopy"; - mes "1 Fluff"; - next; - mes "[Mage Test Solution No. 3]"; - mes "* Solvent Agent *"; - mes "Payon Solution"; - mes "Where to Find:"; - mes "A small spring in Payon, the Archer Village."; - next; - mes "[Mage Test Solution No. 3]"; - mes "* Magic Power Serial Code *"; - mes "2750"; - next; - mes "[Mage Test Solution No. 3]"; - mes "* Catalyst *"; - mes "Blue Gemstone"; - mes "(Provided by"; - mes "Mixing Machine)"; - close; - case 4: - mes "[Mage Test Solution No. 4]"; - mes "* Ingredients List *"; - mes "2 Jellopy"; - mes "3 Fluff"; - next; - mes "[Mage Test Solution No. 4]"; - mes "* Solvent Agent *"; - mes "Morroc Solution"; - mes "Where to Find:"; - mes "A small spring near entrance of pyramid in Morroc."; - next; - mes "[Mage Test Solution No. 4]"; - mes "* Magic Power Serial Code *"; - mes "5429"; - next; - mes "[Mage Test Solution No. 4]"; - mes "* Catalyst *"; - mes "1 carat Diamond"; - mes "(Provided by"; - mes "Mixing Machine)"; - close; - } -} \ No newline at end of file diff --git a/npc/pre-re/jobs/1-1/merchant.txt b/npc/pre-re/jobs/1-1/merchant.txt index 3f023de28..4b7e091f0 100644 --- a/npc/pre-re/jobs/1-1/merchant.txt +++ b/npc/pre-re/jobs/1-1/merchant.txt @@ -3,14 +3,13 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.1 +//= 1.0 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Merchant Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] -//= 1.1 Added Baby job change support. [Masao] //============================================================ alberta_in,53,43,6 script Merchant#mer 86,{ if (Upper == 1) { @@ -37,7 +36,7 @@ alberta_in,53,43,6 script Merchant#mer 86,{ 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,1; + skill 143,0,0; jobchange Job_Merchant_High; skill 153,1,0; skill 154,1,0; @@ -45,22 +44,34 @@ alberta_in,53,43,6 script Merchant#mer 86,{ 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 "[Chief Mahnsoo]"; - mes "^333333*Sigh*^000000"; - mes "I'm so bored..."; - mes "When will I hear from my lovely Blossom?"; - close; } - mes "[Chief Mahnsoo]"; - mes "So, what brings you to"; - mes "the Merchant Association?"; - mes "Is there anything"; - mes "I can help you with?"; + mes "[Guildsman Mahnsoo]"; + mes "Hey, why are you here?"; next; - switch (select("I want to be a Merchant.:Tell me about Merchants.:Tell me the requirements.:Nope.")) { + 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_Baby || Class == Job_Novice) { + 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; @@ -70,7 +81,7 @@ alberta_in,53,43,6 script Merchant#mer 86,{ next; mes "[Guildsman Mahnsoo]"; mes "Don't you think we need to learn some basic skills although we just deal with money?"; - close2; + close; } mes "[Guildsman Mahnsoo]"; mes "Good, I think you're fully ready for it seeing that your basic skill level is fulfilled."; @@ -78,137 +89,37 @@ alberta_in,53,43,6 script Merchant#mer 86,{ next; mes "[Guildsman Mahnsoo]"; mes "Congratulations on becoming a merchant!"; - next; - skill 143,0,1; - if(Class == Job_Baby){ - jobchange Job_Baby_Merchant; - } else { - jobchange Job_Merchant; - } - set MERCNT_Q,0; - set MERCNT_Q2,0; - getitem 1381,1; //N_Battle_Axe - mes "[Guildsman Mahnsoo]"; 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~"; + 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; } - if (Class == Job_Baby_Merchant || Class == Job_Merchant || Class == Job_Merchant_High) { - mes "[Chief Mahnsoo]"; - mes "Hello there!"; - mes "How do you like"; - mes "being a Merchant?"; - next; - mes "[Chief Mahnsoo]"; - mes "Having a way with"; - mes "money certainly"; - mes "has its perks,"; - mes "does it not?"; - close; - } - mes "[Chief Mahnsoo]"; - mes "We Merchants hate people who are two faced. It's bad for business."; - next; - mes "[Chief Mahnsoo]"; - mes "People who always try to take advantage of other people by selling things at a ridiculous price just so they can make money that they'll waste are the worst."; - next; - mes "[Chief Mahnsoo]"; - mes "Well, in any case, we only accept Novices for job changes to the Merchant class. But I appreciate your interest in what we do."; - close; case 2: - mes "[Chief Mahnsoo]"; - mes "Merchant?"; - mes "Well, we basically sell goods to make money. That is the way"; - mes "of the Merchant."; - next; - mes "[Chief Mahnsoo]"; - mes "I guess we may not be the best at fighting, and we don't have many special attacks. We've got no healing skills..."; - next; - mes "[Chief Mahnsoo]"; - mes "But we can buy goods at lower prices from NPC shops and sell them at a higher price to other people~"; - next; - mes "[Chief Mahnsoo]"; - mes "Our ultimate attack skill is 'Mammonite.' The strength of Mammonite comes from the anger"; - mes "when we're forced to throw away perfectly good zeny."; - next; - mes "[Chief Mahnsoo]"; - mes "Throwing away zeny like that"; - mes "causes a deadly rage to well up in the heart of any Merchant!"; - mes "Just thinking about it"; - mes "makes my blood boil!"; - next; - mes "[Chief Mahnsoo]"; - mes "Anyway, we can use most"; - mes "weapons except Bows, Rods, and Two-Handed Swords. But we can always sell those."; + 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 "[Chief Mahnsoo]"; - mes "Yes..."; - mes "We Merchants generally"; - mes "have money on our minds..."; + 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,"; - mes "although just selling and receiving money is our job,"; - mes "you will need to learn all Basic Skills."; + 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 Membership Fee. But was it so hard to make that money?"; + 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 staying alive or not, it all rests on your own ability."; + 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; } } - -alberta_in,28,29,2 script Merchant Guildsman 83,{ - if (MERCNT_Q == 0 || MERCNT_Q == 1 || MERCNT_Q == 2) { - mes "[Union Staff Kay]"; - mes "I am sorry, but we don't make deliveries anymore."; - mes "Didn't Chief Mahnsoo tell you?"; - close; - } - mes "[Union Staff Kay]"; - mes "Ah, we don't make deliveries anymore."; - mes "Too many people cried and kept whining that it's too difficult."; - next; - mes "[Union Staff Kay]"; - mes "Well, maybe we will have a few deliveries later."; - mes "Anyway, I don't have any work now..."; - close; -} - -morocc_in,140,102,4 script Student#mer 86,{ - if (MERCNT_Q == 4 || MERCNT_Q == 3) { - mes "[Dyer's Student]"; - mes "I am sorry, but the Merchant Guild no longer makes deliveries to us anymore."; - close; - } - mes "[Dyer's Student]"; - mes "Mr. Java Dullihan is the one and only, the best dye maker on the Rune-Midgard continent."; - next; - mes "[Dyer's Student]"; - mes "Aaaand I'm proud to say that I'm his student! Someday, I'll be able to make really beautiful dyes too!"; - next; - mes "[Dyer's Student]"; - mes "Of course, I'm still learning the basics right now, but someday..."; - close; -} - -geffen_in,155,122,4 script Guild Staff 47,{ - if (MERCNT_Q == 4 || MERCNT_Q == 3) { - mes "[Guild Staff]"; - mes "I am sorry, but the Merchant Guild no longer makes deliveries to us anymore."; - close; - } - mes "[Guild Staff]"; - mes "My package should have arrived by now. Huh. I guess the Merchant Guild might be running a little late..."; - close; -} \ No newline at end of file diff --git a/npc/pre-re/jobs/1-1/swordman.txt b/npc/pre-re/jobs/1-1/swordman.txt index ff87a1a05..6942c170b 100644 --- a/npc/pre-re/jobs/1-1/swordman.txt +++ b/npc/pre-re/jobs/1-1/swordman.txt @@ -3,90 +3,98 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.1 +//= 1.0 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Swordman Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] -//= 1.1 Added Baby job change support. [Masao] //============================================================ -izlude_in,74,172,4 script Swordman 119,{ +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 Guildsman]"; + 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 Guildsman]"; + 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 Guildsman]"; + mes "[Swordman]"; mes "Hmm? Ah, you must first master the Basic Skills before you are ready to become a Swordman."; next; - mes "[Swordman Guildsman]"; + mes "[Swordman]"; mes "Come back to me when you have finished learning the Basic Novice Skills."; close; } - mes "[Swordman Guildsman]"; + mes "[Swordman]"; mes "Excellent! Let me promote you to a Swordman right away!"; next; - skill 143,0,1; + skill 143,0,0; jobchange Job_Swordman_High; skill 144,1,0; skill 145,1,0; skill 146,1,0; - mes "[Swordman Guildsman]"; + 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 "Hm...?"; - mes "You're a reborn"; - mes "warrior, aren't you?"; - next; - mes "[Swordman Guildsman]"; - 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 "Welcome to the"; - mes "Swordman Association!"; - next; - mes "[Swordman Guildsman]"; - mes "So..."; - mes "What business"; - mes "brings you to us?"; + 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.:Cancel.")) { + 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 job? Well, then..."; + mes "So you wish to know more about the mighty Swordman? Okay!"; next; mes "[Swordman Guildsman]"; - mes "Amongst the First Class jobs, the Swordman is the best melee fighter for three reasons."; - mes "There are 3 reasons why Swordy is the best to approch a fight!"; + 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 the benefit of additional HP. Second, Swordman generally have access to a wider selection fo weapons than the other First Class jobs."; + 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 "And third, most of the Swordman skills are crushing physical attacks! In my opinion, being a Swordman is the best job ever!"; + 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_Baby || Class == Job_Novice) { + 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 ^4d4dffJob Level 10^000000."; - mes "and ^4d4dffBasic Skill Level 9^000000."; + 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?"; @@ -97,43 +105,23 @@ izlude_in,74,172,4 script Swordman 119,{ mes "Hmm, both your Job Level and Basic Skill Level check out."; mes "Good. Do you want to be a Swordman right away?"; next; - switch (select("Yes, I do.:I'll consider it again.")) { - case 1: - mes "[Swordman Guildsman]"; - mes "Congratulations! From now on, you are going to live a Swordman's life!"; - mes "I will transform you right away!"; - next; - skill 143,0,1; - if(Class == Job_Baby){ - jobchange Job_Baby_Swordman; - } else { - jobchange Job_Swordman; - } - set job_sword_q,0; - getitem 13415,1; //N_Falchion - mes "[Swordman Guildsman]"; - mes "Congratulations again for becomming a Swordman and I hope that you participate in many activities for the revival of our guild."; - close; - case 2: + if(select("Yes, I do.:I'll consider it again.") == 2) { mes "[Swordman Guildsman]"; - mes "Yeah. Careful consideration is needed for choosing a job."; - mes "But I feel sorry... that you'll have to consider it again after all the trials...."; + 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; } - } - if (Class == Job_Baby_Swordman || Class == Job_Swordman || Class == Job_Swordman) { mes "[Swordman Guildsman]"; - mes "You are already an excellent Swordman, aren't you?"; - mes "Just devote yourself to be a great Swordman."; + 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; } - mes "[Swordman Guildsman]"; - mes "Haha! Oh boy. I'm flattered, but you already have another job! Still, I can't blame you..."; - close; case 3: - mes "[Swordman Guildsman]"; - mes "Ha ha ha!"; - mes "Ah, youth!"; close; } -} \ No newline at end of file +} diff --git a/npc/pre-re/jobs/1-1/thief.txt b/npc/pre-re/jobs/1-1/thief.txt index 14f9cae71..8d7e452f3 100644 --- a/npc/pre-re/jobs/1-1/thief.txt +++ b/npc/pre-re/jobs/1-1/thief.txt @@ -3,31 +3,30 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.1 +//= 1.0 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Thief Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] -//= 1.1 Added Baby job change support. [Masao] //============================================================ -moc_prydb1,39,129,2 script Thief Guildsman 69,{ +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 Guildsman]"; + 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 Guildsman]"; + 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 Guildsman]"; + mes "[Thief Guide]"; mes "Take your time and learn all the Basic Skills, will you? Well then, see you later~!"; close; } - mes "[Thief Guildsman]"; + 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; @@ -36,297 +35,173 @@ moc_prydb1,39,129,2 script Thief Guildsman 69,{ skill 150,1,0; skill 151,1,0; skill 152,1,0; - mes "[Thief Guildsman]"; + 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; } - mes "[Thief Guildsman]"; - if (Sex == 1) { + }else{ + mes "[Thief Guide]"; + if (sex) mes "Hey, dude."; - } else { - mes "Hey, baby~"; - } + else + mes "Hey, baby."; + mes "...Hey! You look too goody-goody to want to be a Thief!! Now scram, I'm busy. Next!"; close; } - mes "[Thief Guildsman]"; - if (Sex == 1) { - 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 (Class == Job_Baby_Thief || Class == Job_Thief || Class == Job_Thief_High) { + if(q_job_thief == 1) { mes "[Thief Guildsman]"; - mes "Hey~ if you have any trouble, get it out to me anytime, huh?"; + 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_Baby) && (Class != Job_Novice) && (Class != Job_Baby_Thief) && (Class != Job_Thief)) { - mes "[Thief Guildsman]"; - mes "What the heck...?"; - switch (Class) { - case Job_Swordman: - mes "Huh."; - mes "Now, that's"; - mes "a big sword."; - next; + if(Class != Job_Novice) { + if(Class == Job_Thief) { mes "[Thief Guildsman]"; - mes "So..."; - mes "Trying to make"; - mes "up for something"; - mes "...Buddy?"; + mes "Hey~ if you have any trouble, get it out to me anytime, huh?"; close; - case Job_Mage: - mes "What's a Mage doin' here? Shouldn't you be doing card tricks elsewhere? Oh well, it's a free country..."; - next; - mes "[Thief Guildsman]"; - mes "Oh wait,"; - mes "it's not..."; - mes "Get outta here!"; - close; - case Job_Archer: - mes "Man, shouldn't you"; - mes "Archers be playing"; - mes "in the forest"; - mes "or something?"; - close; - case Job_Merchant: - mes "You're a Merchant,"; - mes "right? Why are you"; - mes "walking into a den"; - mes "of Thieves?!"; - next; - mes "[Thief Guildsman]"; - mes "It's like you're begging"; - mes "us to steal from you!"; - mes "Come on, hurry and"; - mes "get outta here~"; - close; - case Job_Acolyte: - mes "You know we all steal for a living, right? What are you doing in this kinda place, Acolyte?"; - close; - case Job_Assassin: - mes "Didn't you use to be one of us?! Man, you changed. You seem real dangerous now..."; - close; - close; - case Job_Rogue: - mes "Man, you got real cool all of a sudden! You must have some skills I can only dream of!"; - close; - close; - case Job_Priest: - mes "Oh my God..."; - mes "Am I dying?"; - next; - mes "[Thief Guildsman]"; - mes "Why else would a Priest come here? I guess I better start confessing all of my misdeeds."; - close; - } - next; - if (Sex == 1) { - 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 (Class == Job_Baby || Class == Job_Novice) { - mes "[Thief Guildsman]"; - if (Sex == 1) { - mes "Ehh... Seems like a beloved son of a rich family, but why are you here in this dirty place?"; - } - else { - mes "Ehh... Seems like a beloved daughter of a rich family, but why are you here in this dirty place?"; - } - next; - switch (select("I want to be a Thief.:Nothing.")) { - case 1: - if (THF_Q == 0) { + }else{ + if(Sex) { mes "[Thief Guildsman]"; - mes "Well, are you that proud of it? 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.'"; + mes "What the heck...?"; + mes "Huh.. you are a "+jobname(Class)+" blockhead...!"; 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 "Well, are you that proud of it? 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; - 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 "Hey, brother."; + mes "Why are you here? Go back to your place~ go back~~"; + close; + }else{ mes "[Thief Guildsman]"; - mes "Anyway, in the outside world, never say that you want to be a Thief!!"; + mes "What the heck...?"; next; mes "[Thief Guildsman]"; - mes "So, do you want to apply for being a Thief?"; - next; - switch (select("Yes, I do.:No.")) { - case 1: - mes "[Thief Guildsman]"; - mes "Alright, tell me your name. Huh? What?"; - mes "" + strcharinfo(0) + ". " + 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? So go and reach at least Basic Skill Level 9."; - close; - } - mes "[Thief Guildsman]"; - mes "Alright. I looked at your Felony Record, and you seem to have a very interesting history. You might have what it takes to be a Thief."; - mes "" + strcharinfo(0) + ". I now decree that you have passed this interview. Good work!"; - set THF_Q,1; - 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."; - close; - case 2: - mes "[Thief Guildsman]"; - mes "Well... do what you want to do~ Go your way~"; - close; - } - } - if (THF_Q == 1) { - 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."; + mes "Hey, lady."; + mes "Why are you here? Go back to your place~ go back~~"; close; } - mes "[Thief Guildsman]"; - mes "Oh, before I let you go... ...did you take any mushrooms?"; - mes "... ...It was a joke."; - mes "You don't need to do a test, and if you want to jobchange, you can do it directly."; - next; - mes "[Thief Guildsman]"; - mes "In short it was just a joke."; - mes "Ha ha ha ha ha!!"; - close; - case 2: - mes "[Thief Guildsman]"; - mes "You know you cannot be a thief without an application....."; - mes "What's on your mind..?"; - close; } } -} - -moc_prydb1,42,133,2 script Comrade 118,{ - if (Class == Job_Baby_Thief || Class == Job_Thief || Class == Job_Thief_High) { - mes "[Brad]"; - mes "I don't have any special events now. So go on your way and come back later."; + 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; } - if ((Class != Job_Baby) && (Class != Job_Novice) && (Class != Job_Baby_Thief) && (Class != Job_Thief)) { - mes "[Comrade]"; - mes "Um..."; - mes "You don't look"; - mes "like a Thief."; + 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; - mes "[Comrade]"; - mes "What the heck are"; - mes "you doing here anyway?"; + 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; } - if (THF_Q == 0) { - mes "[Comrade]"; - mes "What's the matter? If you want to be a Thief, speak to the woman beside me."; + 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; } - if (THF_Q == 1) { + 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 "[Leader of Thief Guild 'E']"; - mes "" + strcharinfo(0) + "..."; - mes "'For those who are ready, the moonlight shall open the way. You are now one of us.'"; - skill 143,0,1; - if(Class == Job_Baby){ - jobchange Job_Baby_Thief; - } else { - jobchange Job_Thief; - } - getitem 13041,1; //N_Main_Gauche - erasequest 1013; + 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 "[Leader of Thief Guild 'E']"; - mes "'Congratulations on becoming a Thief!'"; - mes "'From now, be an honorable representative of the Thief's Guild.'"; - mes "'If you bring disgrace to our guild, you will be killed.'"; - mes "'Anyway, I expect you to be a great Thief.'"; + 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 "*Ahem* Welcome to the Guild, comrade!"; - mes "I'm Brad, and I'm in charge of human resources here."; + 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 a quite busy man."; - mes "Alright then, I'll see you around~"; - close; - } -} - -moc_ruins,141,125,3 script Mr. Irrelevant 83,{ - if (Class == Job_Baby_Thief || Class == Job_Thief) { - mes "[Mr. Irrelevant]"; - mes "Ah, I see that you are now a Thief. I always knew you'd join us."; - next; - mes "[Mr. Irrelevant]"; - mes "Why don't you leave this place?"; + 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_Baby) && (Class != Job_Novice) && (Class != Job_Baby_Thief) && (Class != Job_Thief)) { - set .@rand,rand(1,5); - switch(.@rand){ - mes "[Mr. Irrelevant]"; - case 1: - mes "Today looks like a good day to go to the pyramids and hunt with some of my friends."; - close; - case 2: - mes "I could use a good, hard drink."; - close; - case 3: - mes "Gimme your money."; - next; - mes "[Mr. Irrelevant]"; - mes "Kidding, I'm off the clock."; - close; - case 4: - mes "WHO YOU CALLING A PSYCHO?!?!"; - close; - case 5: - mes "I've got nothing to say to you. Would you mind leaving me alone?"; - 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~"; } - } - if (THF_Q == 1) { - mes "[Mr. Irrelevant]"; - mes "There is this strange smell coming from... You. Now why would that be?"; close; } - mes "[Mr. Irrelevant]"; - mes "Hey Novice! Why don't you join the ranks of the Thief Guild? You newbies are always welcome to join us and our selfish cause."; - next; - mes "[Mr. Irrelevant]"; - mes "You can get more information in the Underground Room in the Pyramid 1 BF."; + 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/2-1/assassin.txt b/npc/pre-re/jobs/2-1/assassin.txt index aeee0b111..7f8febe58 100644 --- a/npc/pre-re/jobs/2-1/assassin.txt +++ b/npc/pre-re/jobs/2-1/assassin.txt @@ -1,20 +1,56 @@ //===== rAthena Script ======================================= -// Assassin Job change Quest +//= Assassin Job Quest //===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= kobra_k88 //===== Current Version: ===================================== -//= 1.0 +//= 3.5 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Thief -> Assassin. +//= [Aegis Conversion] +//= Job Change quest for Assassin class. //===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] +//= 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 55,{ +in_moc_16,19,33,1 script Guildsman#asn 55,{ if (Upper == 1) { mes "[Ferocious-looking guy]"; mes "Hm? You....?"; @@ -24,12 +60,12 @@ in_moc_16,19,33,1 script Guildsman 55,{ 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 != 0) { + 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 (ASN_Q == 4) { + if (ASSIN_Q == 4) { mes "[Ferocious-looking guy]"; mes "Oh, stop making that face. Can you really be in that much pain?"; next; @@ -41,37 +77,30 @@ in_moc_16,19,33,1 script Guildsman 55,{ 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; - switch (select("I will become an Assassin no matter what!:Oh man, I gotta take a break.")) { - case 1: + 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 ASN_Q,0; + set ASSIN_Q,0; warp "in_moc_16",19,76; end; - case 2: - 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 ASN_Q,0; - set thief_joblvl,0; - set asn_skill,0; - erasequest 8000; - erasequest 8001; - erasequest 8002; - erasequest 8003; - erasequest 8004; - savepoint "in_moc_16",18,14; - warp "in_moc_16",18,14; - 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 ((Class == Job_Baby_Thief || Class == Job_Thief) && (countitem(1008) == 0) && (ASN_Q > 7)) { + 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; @@ -82,7 +111,7 @@ in_moc_16,19,33,1 script Guildsman 55,{ mes "When you finally succeed in getting it, bring it to me! ^666666*Sigh...*^000000"; close; } - if ((Class == Job_Baby_Thief || Class == Job_Thief) && (countitem(1008) > 0) && (ASN_Q > 7)) { + 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; @@ -97,22 +126,19 @@ in_moc_16,19,33,1 script Guildsman 55,{ mes "......"; next; delitem 1008,1; //Frozen_Heart + changequest 8007,8008; mes "[Assassin Expert 'Huey']"; mes "Alright!"; mes "You've been approved!"; next; - if(Class == Job_Baby_Thief){ - jobchange Job_Baby_Assassin; - } else { - jobchange Job_Assassin; - } - changequest 8007,8008; 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; } - if ((countitem(1008) > 0) && (Class == Job_Baby_Thief || Class == Job_Thief) && (ASN_Q < 7)) { + else if (countitem(1008) > 0 && BaseJob == Job_Thief && ASSIN_Q < 7) { mes "[Ferocious-looking guy]"; mes "Eh?"; mes "What do you want?"; @@ -137,128 +163,138 @@ in_moc_16,19,33,1 script Guildsman 55,{ warp "moc_fild16",206,229; end; } - 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 (Class == Job_Baby || Class == 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; - } - if (Class == Job_Swordman || Class == Job_Knight || Class == Job_Crusader) { - 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; - } - if (Class == Job_Mage || Class == Job_Wizard || Class == Job_Sage) { - 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; - } - if (Class == Job_Archer || Class == Job_Hunter || Class == Job_Bard || Class == Job_Dancer) { - 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; - } - if (Class == Job_Acolyte || Class == Job_Priest || Class == Job_Monk) { - 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; - } - if (Class == Job_Merchant || Class == Job_Blacksmith || Class == Job_Alchemist) { - mes "[Ferocious-looking guy]"; - mes "We don't like greedy people around these parts. You better sell your stuff somewhere else, Moneybags."; - close; - } - if (Class == 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; + else { 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; - } - if (Class == Job_Baby_Assassin || Class == 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..."; + mes "What brings you here?"; + mes "I don't think I like the way you're looking at me... Punk."; 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; - } - if ((Classe == Job_Baby_Thief || Class == Job_Thief) && (JobLevel > 39)) { - if (SkillPoint != 0) { + if (BaseClass == Job_Novice) { 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."; + mes "Hey Newbie. You should really get out of here as soon as you can. I can't guarantee your safety."; close; } - 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: + else if (BaseClass == Job_Swordman) { 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 ASN_Q,0; - warp "in_moc_16",19,76; - end; - case 2: + 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 "Requirements? Well, first you need to be a Thief. Second, you need to be at least Thief job level 40."; + mes "Now what would a magic user be doing here?"; 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."; + 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; - case 3: + } + 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 "Hmm..."; - mes "Alright then."; - mes "But come back when"; - mes "you think you're ready."; + 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; } } - 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; + 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."; @@ -266,7 +302,7 @@ in_moc_16,25,90,1 script Guildsman#ASN2 730,2,2,{ close; OnTouch: - if (asn_skill == 4) { + if (ASSIN_Q2 == 4) { mes "[Assassin 'Khai']"; mes "Ehhh?"; mes "Didn't you just"; @@ -292,7 +328,7 @@ OnTouch: 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!")) { + 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!!!"; @@ -346,15 +382,14 @@ OnTouch: close; case 2: mes "[Assassin 'Khai']"; - if (Sex == 1) { + 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 { + 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..."; @@ -376,7 +411,6 @@ OnTouch: mes "seem depressing to you?"; close; case 3: - set .@assassin_quiz,rand(1,3); mes "[Assassin 'Khai']"; mes "...Hm."; next; @@ -391,12 +425,12 @@ OnTouch: mes "Along with keeping your pride,"; mes "I want that you respect the blood that may stain your Katar or Dagger."; next; - switch (select("...Got you.:...I'm confused.")) { - case 1: + 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; - if (.@assassin_quiz == 1) { + 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; @@ -412,8 +446,8 @@ OnTouch: 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; - } - if (.@assassin_quiz == 2) { + break; + case 2: mes "[Assassin 'Khai']"; mes "'Sharpened Legbone of Ghoul' possesses the Undead property."; next; @@ -436,8 +470,8 @@ OnTouch: mes "[Assassin 'Khai']"; mes "You know elemental weapons? The names of Blacksmiths are engraved on them usually..."; next; - } - else { + 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; @@ -474,107 +508,104 @@ OnTouch: close2; warp "in_moc_16",19,144; end; - case 2: - 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; } - } - } - mes "[Assassin 'Khai']"; - mes "Oh, you must be an Assassin trainee. You are here to become"; - mes "an Assassin, aren't you?"; - next; - switch (select("Yes, I am. :...No, I'm not.")) { - case 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~"; + 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 "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."; + mes "Oh, I get it. It wasn't pride you were showing, you were just being a jerk!"; next; mes "[Assassin 'Khai']"; - mes "Alright then,"; - mes "best of luck to you!"; + mes "Grrrrr..."; + mes "WARP PORTAL!"; close2; - set thief_joblvl,1; - set ASN_Q,1; - setquest 8001; - warp "in_moc_16",19,144; + warp "c_tower4",64,76; end; } - if (JobLevel < 49) { + } + 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 "Well, you passed"; - mes "the requirements."; - mes "Not bad at all."; + mes "Okay, good. Let's fill out the application form. Please sign your name and include your job level."; next; mes "[Assassin 'Khai']"; - mes "Go ahead and give"; - mes "me the form when you're"; - mes "done filling it out."; - mes "Alright, thanks."; + mes "Let's see."; + mes "Your name is"; + mes "" + strcharinfo(0) + "..."; + mes "Job level " + JobLevel + "..."; next; - mes "[Assassin 'Khai']"; - mes "I'll transport you"; - mes "to the Test Hall."; - mes "Best of luck~"; - close2; - set thief_joblvl,2; - set ASN_Q,1; - setquest 8001; - warp "in_moc_16",19,144; - end; + 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; + } } - mes "[Assassin 'Khai']"; - mes "Who the"; - mes "hell are you?"; - mes "...Guards!"; - close2; - warp "moc_fild16",206,229; - end; - case 2: - mes "[Assassin 'Khai']"; - mes "Huh...?"; - mes "What, are you trying to trick me or something? Don't you wanna be an Assassin?"; - next; - switch (select("No.:Yes, I want to be an Assassin.")) { - case 1: + else { mes "[Assassin 'Khai']"; - mes "Eh, get outta here."; - mes "Stop wastin' my time..."; - close2; - set ASN_Q,0; - set thief_joblvl,0; - set asn_skill, 0; - erasequest 8000; - erasequest 8001; - erasequest 8002; - erasequest 8003; - erasequest 8004; - warp "moc_fild16",206,229; - end; - case 2: + 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?"; @@ -596,13 +627,13 @@ OnTouch: 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 thief_joblvl,1; - set ASN_Q,1; - setquest 8001; + set ASSIN_Q3,1; + set ASSIN_Q,1; + changequest 8001,8002; warp "in_moc_16",19,144; end; } - if (JobLevel < 49) { + 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; @@ -610,52 +641,53 @@ OnTouch: mes "Then give me the form so that I can send you to the Test Hall, alright?"; mes "Good luck..."; next; - set thief_joblvl,2; - set ASN_Q,1; - setquest 8001; + set ASSIN_Q3,2; + set ASSIN_Q,1; + changequest 8001,8002; warp "in_moc_16",19,144; end; } - mes "[Assassin 'Khai']"; - mes "How the hell did"; - mes "you get in here?"; - mes "Get out!"; - close2; - warp "moc_fild16",206,229; - 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 139,8,2,{ - +in_moc_16,19,154,0 script nameless_one -1,8,2,{ OnTouch: - if (asn_skill < 1) { - 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; - switch (select("I think I crapped my pants!:You're all talk. I challenge you!")) { - case 1: + if (ASSIN_Q2 < 5) { + if (ASSIN_Q2 < 3) { mes "[The Anonymous One]"; - mes "Now I see that"; - mes "you're nothing"; - mes "but a wimp."; + mes "Welcome, guest."; + mes "Mwahaha, it's useless"; + mes "to try to find or see me..."; next; mes "[The Anonymous One]"; - mes "Bwahahahahahah!"; - mes "Stop cowering in fear!"; - mes "It's making me laugh!"; - close; - case 2: + 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"; @@ -676,1132 +708,434 @@ OnTouch: mes "Although I am heartless,"; mes "I am not necessarily cruel. Before we proceed, is there anything you wish to know?"; next; - } - set asn_skill,0; - while (1) { - 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 asn_skill,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 asn_skill,2; - next; - break; - case 3: - if (asn_skill == 0) { + set ASSIN_Q2,0; + while(ASSIN_Q2 < 3) { + switch(select("...Skills?:...Stats?:Hmpf, I know it all.")) { + case 1: mes "[The Anonymous One]"; - mes "Know everything do you?!"; - mes "I'll be the judge of that!"; - set asn_skill,4; - changequest 8001,8002; + mes "Skills...?"; + mes "Although skills can have circumstantial applications, I will tell you about the basic concepts."; next; - break; - } - else { - set asn_skill,4; - changequest 8001,8002; - break; - } - 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; - set .@assassin_quiz,rand(1,3); - set @assassin_t, 0; - mes "[The Anonymous One]"; - mes "Are you ready?"; - mes "Prepare yourself!"; - next; - if (.@assassin_quiz == 1) { - mes "[The Anonymous One]"; - mes "1. Choose skill that is not required to learn Grimtooth."; - next; - switch (select("Cloaking level 2:Sonic Blow level 5:Katar Mastery level 4:Right hand Mastery level 2")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } - mes "[The Anonymous One]"; - mes "2. What property does Enchant Poison possess?"; - next; - switch (select("Poison:Earth:Fire:Wind")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[The Anonymous One]"; - mes "3. How does Level 4 Right Hand Mastery work?"; - next; - switch (select("Recover 80% of damage decrease:Recover 90% of damage decrease:Increase 90% of damage:Increase 108% of damage")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[The Anonymous One]"; - mes "4. What is the item required for using Venom Dust?"; - next; - switch (select("Red Blood:Blue Gemstone:Yellow Gemstone:Red Gemstone")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } - mes "[The Anonymous One]"; - mes "5. Which skill can you learn when you reach Level 5 Enchant Poison?"; - next; - switch (select("Envenom:Sonic Blow:Venom Splasher:Venom Dust")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } - mes "[The Anonymous One]"; - mes "6. Among the following skills, which allows you to walk while invisible?"; - next; - switch (select("Hiding:Back Slide:Cloaking:Sand Attack")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } - mes "[The Anonymous One]"; - mes "7. Choose the condition that is unrelated to Venom Splasher."; - next; - switch (select("Poisoned target.:Red Gemstone.:Remaing HP of Target.")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - } - mes "[The Anonymous One]"; - mes "8. Which monster is weak to a weapon with Vadon card (adds 20% damage on Fire property monster)?"; - next; - switch (select("Steel Chonchon:Deviruchi:Elder Willow:Baphomet")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } - mes "[The Anonymous One]"; - mes "9. How much SP does"; - mes "Double Attack need?"; - next; - switch (select("15:It's a passive skill, so SP use is 0.:It's passive skill, so SP use is 10.:54")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[The Anonymous One]"; - mes "10. What is the best elemental Main Gauche weapon for hunting in Izlude dungeon?"; - next; - switch (select("Wind Main Gauche:Ice Main Gauche:Earth Main Gauche:Fire Main Gauche")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - } - if (.@assassin_quiz == 2) { - mes "[The Anonymous One]"; - mes "1. Which monster"; - mes "drops a slotted Katar?"; - next; - switch (select("Thief Bug:Peco Peco:Desert Wolf:Hammer Cobolt")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } - mes "[The Anonymous One]"; - mes "2. Which monster"; - mes "drops a slotted Jur?"; - next; - switch (select("Martin:Desert Wolf:Marionette:Myst")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[The Anonymous One]"; - mes "3. Which class is allowed to craft elemental weapons?"; - next; - switch (select("Merchant:Blacksmith:Thief:Priest")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[The Anonymous One]"; - mes "4. Choose the weapon which is not in the Katar class."; - next; - switch (select("Jamadhar:Jur:Katar:Gladius")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } - mes "[The Anonymous One]"; - mes "5. What property do Izlude dungeon monsters posses?"; - next; - switch (select("Water:Fire:Wind:Earth")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[The Anonymous One]"; - mes "6. Which monster"; - mes "cannot be a Cute Pet?"; - next; - switch (select("Poporing:Roda Frog:Smokie:Poison Spore")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[The Anonymous One]"; - mes "7. Choose a monster that Fire property Daggers work the best on."; - next; - switch (select("Dagger Goblin:Mace Goblin:Morning Star Goblin:Hammer Goblin")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } - mes "[The Anonymous One]"; - mes "8. Choose the non-elemental Katar from the following:"; - next; - switch (select("Katar of Raging Blaze:Katar of Dusty Thornbush:Sharpened Legbone of Ghoul:Infiltrator")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } - mes "[The Anonymous One]"; - mes "9. Which is the uncommon monster?"; - next; - switch (select("Poring:Mastering:Ghostring:Spore")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } - mes "[The Anonymous One]"; - mes "10. Choose the monster"; - mes "that is not Undead."; - next; - switch (select("Drake:Megalodon:Spore:Khalitzburg")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } - } - else { - 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; - switch (select("30:40:160:20")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[The Anonymous One]"; - mes "2. Choose a monster which detects hiding/cloaking Thieves and Assassins."; - next; - switch (select("Worm Tail:Andre:Mummy:Soldier Skeleton")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[The Anonymous One]"; - mes "3. Choose a group of weapons that cannot be used by an Assassin at once."; - next; - switch (select("Main Gaughe + Gladius:Stiletto + Main Gauche:Katar + Maingauche:Hammer + Stiletto")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } - mes "[The Anonymous One]"; - mes "4. Choose the town where Thieves can change their jobs."; - next; - switch (select("Prontera:Lutie:Alberta:Morroc")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } - mes "[The Anonymous One]"; - mes "5. Choose a card that does not affect the AGI stat."; - next; - switch (select("Baphomet Jr. card:Whisper Card:Female Thiefbug card:Male Thiefbug card")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; + 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 "6. Choose the correct specialty of the Assassin class."; + mes "Hmpf. It is now time to test your knowledge. You are not allowed to miss more than one question."; next; - switch (select("Excellent singing talent:Excellent reading talent:Excellent dancing talent:Excellent dodge ability")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } mes "[The Anonymous One]"; - mes "7. Choose the maximum AGI bonus an Assassin can get at job level 50."; + 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; - switch (select("7:8:9:10")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } mes "[The Anonymous One]"; - mes "8. Choose the item that an Assassin cannot equip."; + 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; - switch (select("Dagger:Helm:Boots:Brooch")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; + 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 "9. Choose the job change item for Thief."; + 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; - switch (select("Orange Gooey Mushroom:Red Gooey Mushroom:Orange Net Mushroom:Orange Hair Mushroom")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } mes "[The Anonymous One]"; - mes "10. Choose a card that would typically benefit an Assassin the least."; + 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; - switch (select("Whisper Card:Elder Willow Card:Soldier Skeleton Card:Cobold Card")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } - } - 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 asn_skill,5; - mes "Well done."; - mes "You pass."; + 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 "However, another test awaits you. When you go inside the next area, you will receive your instructions..."; - close; + mes "Okay,"; + mes "are you ready?"; + mes "Good luck."; } - set asn_skill,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; - } - if (asn_skill < 5) { - mes "[The Anonymous One]"; - mes "Having problems"; - mes "passing a simple test?"; - mes "You should have"; - mes "known better."; - next; - switch (select("Help me, how do I pass?:I challenge you again!")) { + switch(rand(1,3)) { case 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,241; - end; - case 2: - 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; - set @assassin_quiz,rand(1,3); - set @assassin_t, 0; - mes "[The Anonymous One]"; - mes "Okay,"; - mes "are you ready?"; - mes "Good luck."; - next; - if (.@assassin_quiz == 1) { - mes "[The Anonymous One]"; - mes "1. Choose the skill that is not required to learn Grimtooth."; + mes "1. Choose skill that is not required to learn Grimtooth."; next; - switch (select("Level 2 Cloaking:Level 5 Sonic Blow:Level 4 Katar Mastery:Level 2 Right hand Mastery")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + 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; - switch (select("Poison:Earth:Fire:Wind")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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?"; + mes "3. How does Level 4 Right Hand Mastery work?"; next; - switch (select("Recover 80% of damage decrement:Recover 90% of damage decrement:Increase 90% of damage:Increase 108% of damage!!")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Red Blood:Blue Gemstone:Yellow Gemstone:Red Gemstone")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + 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; - switch (select("Envenom:Sonic Blow:Venom Splasher:Venom Dust")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + 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 become invisible while moving?"; + mes "6. Among the following skills, which allows you to walk while invisible?"; next; - switch (select("Hiding:Back Slide:Cloaking:Sand Attack")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } + if (select("Hiding:Back Slide:Cloaking:Sand Attack") == 3) + set .@assassin_t,.@assassin_t+10; mes "[The Anonymous One]"; - mes "7. From the following, choose the thing unrelated to using Venom Splasher."; + mes "7. Choose the condition that is unrelated to Venom Splasher."; next; - switch (select("Poisoned target.:Red Gemstone.:Remaining HP of Target.")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - } + 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 monster)?"; + mes "8. Which monster is weak to a weapon with Vadon card (adds 20% damage on Fire property monster)?"; next; - switch (select("Steel Chonchon:Deviruchi:Elder Willow:Baphomet")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } + 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 use?"; + mes "Double Attack need?"; next; - switch (select("15:It's a passive skill and doesn't use SP.:It's a passive skill, so it uses 10 SP.:54")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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 to use when hunting in Izlude dungeon?"; + mes "10. What is the best elemental Main Gauche weapon for hunting in Izlude dungeon?"; next; - switch (select("Wind Main Gauche:Ice Main Gauche:Earth Main Gauche:Fire Main Gauche")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - } - if (.@assassin_quiz == 2) { + 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 drops"; - mes "a slotted Katar?"; + mes "1. Which monster"; + mes "drops a slotted Katar?"; next; - switch (select("Thief Bug:Peco Peco:Desert Wolf:Hammer Cobold")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } + 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 "a slotted Jur?"; + mes "drops a slotted Jur?"; next; - switch (select("Martin:Desert Wolf:Marionette:Myst")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Merchant:Blacksmith:Thief:Priest")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Merchant:Blacksmith:Thief:Priest") == 2) + set .@assassin_t,.@assassin_t+10; mes "[The Anonymous One]"; - mes "4. Choose a weapon which is not Katar class."; + mes "4. Choose the weapon which is not in the Katar class."; next; - switch (select("Jamadhar:Jur:Katar:Gladius")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + 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 possess?"; + mes "5. What property do Izlude dungeon monsters posses?"; next; - switch (select("Water:Fire:Wind:Earth")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Poporing:Roda Frog:Smokie:Poison Spore")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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."; + mes "7. Choose a monster that Fire property Daggers work the best on."; next; - switch (select("Dagger Goblin:Mace Goblin:Morning Star Goblin:Hammer Goblin")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + 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."; + mes "8. Choose the non-elemental Katar from the following:"; next; - switch (select("Katar of Raging Blaze:Katar of Dusty Thornbush:Sharpened Legbone of Ghoul:Infiltrator")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + 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; - switch (select("Poring:Mastering:Ghostring:Spore")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } + 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; - switch (select("Drake:Megalodon:Spore:Khalitzburg")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } - } - else { + if (select("Drake:Megalodon:Spore:Khalitzburg") == 3) + set .@assassin_t,.@assassin_t+10; + break; + case 3: mes "[The Anonymous One]"; - mes "1. When the 'Increase Dodge' skill is at Level 10, by how much is the maximum dodge rate increased?"; + mes "1. Choose the correct amount of the maximum dodge rate increase from the 'Increase Dodge' skill when at level 10."; next; - switch (select("30:40:160:20")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + if (select("30:40:160:20") == 1) + set .@assassin_t,.@assassin_t+10; mes "[The Anonymous One]"; - mes "2. Choose the monster which detects hiding/cloaking Thief/Assassin."; + mes "2. Choose a monster which detects hiding/cloaking Thieves and Assassins."; next; - switch (select("Worm Tail:Andre:Mummy:Soldier Skeleton")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Worm Tail:Andre:Mummy:Soldier Skeleton") == 2) + set .@assassin_t,.@assassin_t+10; mes "[The Anonymous One]"; - mes "3. Choose the group of weapons that cannot be used by an Assassin at the same time."; + mes "3. Choose a group of weapons that cannot be used by an Assassin at once."; next; - switch (select("Main Gaughe + Gladius:Stiletto + Main Gauche:Katar + Maingauche:Hammer + Stiletto")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } + 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 the Thief job change resides."; + mes "4. Choose the town where Thieves can change their jobs."; next; - switch (select("Prontera:Lutie:Alberta:Morroc")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + if (select("Prontera:Lutie:Alberta:Morocc") == 4) + set .@assassin_t,.@assassin_t+10; mes "[The Anonymous One]"; - mes "5. Choose the card that does not affect the AGI stat."; + mes "5. Choose a card that does not affect the AGI stat."; next; - switch (select("Baphomet Jr. card:Whisper Card:Female Thiefbug card:Male Thiefbug card")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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 specialty that applies to Assassins."; + mes "6. Choose the correct specialty of the Assassin class."; next; - switch (select("Excellent singing talent:Excellent acting talent:Excellent dancing talent:Excellent dodge ability")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + 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 that an Assassin can get at job level 50."; + mes "7. Choose the maximum AGI bonus an Assassin can get at job level 50."; next; - switch (select("7:8:9:10")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + 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; - switch (select("Dagger:Helm:Boots:Brooch")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Dagger:Helm:Boots:Brooch") == 2) + set .@assassin_t,.@assassin_t+10; mes "[The Anonymous One]"; - mes "9. Choose the"; - mes "job change item"; - mes "for a Thief."; + mes "9. Choose the job change item for Thief."; next; - switch (select("Orange Gooey Mushroom:Red Gooey Mushroom:Orange Net Mushroom:Orange Hair Mushroom")) { + switch(select("Orange Gooey Mushroom:Red Gooey Mushroom:Orange Net Mushroom:Orange Hair Mushroom")) { case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; case 3: - set @assassin_t,@assassin_t + 10; + set .@assassin_t,.@assassin_t+10; break; - case 4: + default: break; } mes "[The Anonymous One]"; - mes "10. Choose a card that would benefit Assassins the least."; + mes "10. Choose a card that would typically benefit an Assassin the least."; next; - switch (select("Whisper card:Elder Willow card:Soldier Skeleton card:Cobold card")) { - case 1: + if (select("Whisper card:Elder Willow card:Soldier Skeleton card:Cobold card") == 2) + set .@assassin_t,.@assassin_t+10; break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - 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; } } - 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 asn_skill,5; + else if (ASSIN_Q2 == 4) { 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; + 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; + } } - set asn_skill,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; + } + else { 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; + mes "...I will keep watching you."; + close; } - mes "[The Anonymous One]"; - mes "...I will keep watching you."; - close; } in_moc_16,21,165,2 script Standby Room#ASNTEST 725,{ end; OnInit: - hideonnpc "Standby Room#ASNTEST"; + disablenpc "Standby Room#ASNTEST"; waitingroom "Standby Room",10,"Standby Room#ASNTEST::OnStartArena",1; enablewaitingroomevent; end; OnStartArena: - warpwaitingpc "in_moc_16",66,151; + warpwaitingpc "in_moc_16", 66, 151; attachrid($@warpwaitingpc[0]); - if(ASSIN_Q2<5) { + if(ASSIN_Q2<5) + { warpchar "in_moc_16",20,145,getcharid(0); end; } + donpcevent "Beholder#ASNTEST::OnEnable"; - donpcevent "Beholder#ASNTEST2::OnEnable"; donpcevent "Keeper of the Door#ASN::OnDisable"; - donpcevent "backers#ASN::OnDisable"; - donpcevent "traps#ASN::OnEnable"; - disablewaitingroomevent + set getvariableofnpc(.DisableTraps,"Beholder#ASNTEST"),0; + disablewaitingroomevent; end; -OnReset: +OnStart: enablewaitingroomevent; end; } in_moc_16,21,165,2 script Test Guide#ASN 725,4,4,{ + end; OnTouch: - if (asn_skill < 5) { + 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 ((ASN_Q == 1) && (asn_skill == 5)) { + if (ASSIN_Q == 1 && ASSIN_Q2 == 5) { mes "[Barcardi]"; mes "" + strcharinfo(0) + "..."; mes "You passed the test..?"; @@ -1834,92 +1168,124 @@ OnTouch: 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."; - changequest 8002,8003; close; } - 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; - switch (select("Continue!:Quit the job change test for now.")) { - case 1: + else { mes "[Barcardi]"; - mes "Good choice!"; - mes "Remember, you"; - mes "must find and kill"; - mes "6 ^008800Job change target^000000 monsters!"; - mes "Good luck!"; - close; - case 2: + 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 ASN_Q,0; - set thief_joblvl,0; - set asn_skill,0; + set ASSIN_Q,0; + set ASSIN_Q3,0; + set ASSIN_Q2,0; + changequest 8003,8000; warp "in_moc_16",19,13; - erasequest 8000; - erasequest 8001; - erasequest 8002; - erasequest 8003; - erasequest 8004; end; } } -in_moc_16,1,1,0 script Beholder#ASNTEST 139,{ - end; - -OnInit: - hideonnpc "Beholder#ASNTEST"; +in_moc_16,1,1,0 script Beholder#ASNTEST -1,{ end; OnEnable: - hideoffnpc "Beholder#ASNTEST"; + 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"; - donpcevent "Standby Room#ASNTEST::OnReset"; + 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: - if (mobcount ("in_moc_16","Beholder#ASNTEST::OnMyMobDead") < 1) { + set .MyMobs,.MyMobs-1; + if (.MyMobs < 1) { mapannounce "in_moc_16","You seem to be doing quite well. Keep it up!",bc_map; - set ASN_Q,3; + set ASSIN_Q,3; + changequest 8003,8004; donpcevent "timestopper#1::OnEnable"; donpcevent "Keeper of the Door#ASN::OnEnable"; donpcevent "Beholder#ASNTEST::OnResetmob"; - donpcevent "Beholder#ASNTEST2::OnReset"; + set .DisableTraps,1; stopnpctimer; - donpcevent "Beholder#ASNTEST::OnDisable"; - donpcevent "Beholder#ASNTEST2::OnDisable"; } else { mapannounce "in_moc_16","Okay, you're doing good! Hang in there, you're almost there!",bc_map; } end; -OnDisable: - hideonnpc "Beholder#ASNTEST"; +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: @@ -1930,485 +1296,210 @@ 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; - end; - -OnTimer185500: - mapannounce "in_moc_16","Well, good job... If you wanted to waste your time. You'll have to try again!",bc_map; - set ASN_Q,2; - end; - -OnTimer186000: - donpcevent "backers#ASN::OnEnable"; - end; - -OnTimer186500: - donpcevent "backers#ASN::OnDisable"; - end; - -OnTimer187000: - donpcevent "Beholder#ASNTEST::OnReset"; - donpcevent "Beholder#ASNTEST2::OnReset"; - donpcevent "Beholder#ASNTEST::OnDisable"; - donpcevent "Beholder#ASNTEST2::OnDisable"; - end; -} - -in_moc_16,76,158,0 script backers#ASN 139,20,20,{ +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; -OnTouch: - warp "in_moc_16",19,161; +OnTimer4000: + mapannounce "in_moc_16","You will have 3 minutes for the test! We will inform you of every minute passed.",bc_map; end; -OnInit: - hideonnpc "backers#ASN"; +OnTimer5000: + mapannounce "in_moc_16","Ok, now you've got exactly 3 minutes. Move! Move!",bc_map; end; -OnEnable: - donpcevent "job_asn_test::OnDisable"; - hideoffnpc "backers#ASN"; +OnTimer65000: + mapannounce "in_moc_16","2 minutes left. As I've told you, get the 'Job change target' monsters!",bc_map; end; -OnDisable: - hideonnpc "backers#ASN"; +OnTimer125000: + mapannounce "in_moc_16","1 minute left.",bc_map; end; -} -in_moc_16,1,1,0 script traps#ASN 139,{ +OnTimer180000: + mapannounce "in_moc_16","5 seconds left...",bc_map; end; - -OnEnable: - donpcevent "job_asn_test::OnEnable"; + +OnTimer181000: + mapannounce "in_moc_16","4 seconds left...",bc_map; end; -} -in_moc_16,2,1,0 script Beholder#ASNTEST2 139,{ +OnTimer182000: + mapannounce "in_moc_16","3 seconds left...",bc_map; end; -OnInit: - hideonnpc "Beholder#ASNTEST2"; +OnTimer183000: + mapannounce "in_moc_16","2 seconds left...",bc_map; end; -OnReset: - killmonster "in_moc_16","Beholder#ASNTEST2::OnMyMobDead"; +OnTimer184000: + mapannounce "in_moc_16","1 second left.",bc_map; end; -OnDisable: - hideonnpc "Beholder#ASNTEST2"; +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; -OnEnable: - hideoffnpc "Beholder#ASNTEST2"; - monster "in_moc_16",62,161,"Job change creature",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",85,169,"Job change creature",1031,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",79,174,"Job change creature",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",85,156,"Job change creature",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",74,171,"Job change monster",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",68,173,"Job change dummy",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",65,158,"Battle test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",60,158,"Warrior test target",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",64,169,"Job change targets",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",71,173,"Jobs change target",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",77,172,"Please don't hit me",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",76,172,"Job change sample",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",75,172,"Not me",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",67,167,"I got yours right here",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",86,170,"Job changes target",1031,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",86,171,"Job quest target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",86,170,"Job target change",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",86,173,"Hit me",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",85,170,"Battle Monster",1031,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",89,156,"Bouncer",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",89,156,"Mungamorp",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",89,156,"Battle test target",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",89,156,"Dew of the Battle field",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",89,156,"Tear of test",1031,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",83,169,"Evil Druid",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",63,158,"Doppelganger",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",63,157,"Job change dummy",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",64,159,"Job ready dummy",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",63,159,"Job change ready",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",63,159,"Archer test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",63,159,"Swordman test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",83,148,"Thief test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",82,148,"Acolyte test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",84,148,"Merchant test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; +OnTimer186000: + areawarp "in_moc_16",60,136,93,177,"in_moc_16",19,161; end; -OnMyMobDead: - mapannounce "in_moc_16"," " + strcharinfo(0) + "! You made a mistake! I'm bringing you back!",bc_map; - set ASN_Q,2; - warp "in_moc_16",19,161; +OnTimer187000: donpcevent "Beholder#ASNTEST::OnReset"; - donpcevent "Beholder#ASNTEST2::OnReset"; - donpcevent "Beholder#ASNTEST::OnDisable"; - donpcevent "Beholder#ASNTEST2::OnDisable"; end; } -- script job_asn_test::jasntdups -1,{ - +in_moc_16,68,158,0 script 01_1::SinTrap -1,0,0,{ OnTouch: - mapannounce "in_moc_16"," " + strcharinfo(0) + ", you're trapped. You will be sent back.",bc_map; - set ASN_Q,2; - warp "in_moc_16",19,161; - donpcevent "Beholder#ASNTEST::OnReset"; - donpcevent "Beholder#ASNTEST2::OnReset"; - donpcevent "Beholder#ASNTEST::OnDisable"; - donpcevent "Beholder#ASNTEST2::OnDisable"; - end; - -OnEnable: - hideoffnpc "01_1"; - hideoffnpc "01_2"; - hideoffnpc "01_3"; - hideoffnpc "01_4"; - hideoffnpc "02_1"; - hideoffnpc "02_2"; - hideoffnpc "02_3"; - hideoffnpc "02_4"; - hideoffnpc "03_1"; - hideoffnpc "03_2"; - hideoffnpc "03_3"; - hideoffnpc "03_4"; - hideoffnpc "04_1"; - hideoffnpc "04_2"; - hideoffnpc "04_3"; - hideoffnpc "04_4"; - hideoffnpc "05_1"; - hideoffnpc "05_2"; - hideoffnpc "05_3"; - hideoffnpc "05_4"; - hideoffnpc "06_1"; - hideoffnpc "06_2"; - hideoffnpc "06_3"; - hideoffnpc "06_4"; - hideoffnpc "07_1"; - hideoffnpc "07_2"; - hideoffnpc "07_3"; - hideoffnpc "07_4"; - hideoffnpc "08_1"; - hideoffnpc "08_2"; - hideoffnpc "08_3"; - hideoffnpc "08_4"; - hideoffnpc "09_1"; - hideoffnpc "09_2"; - hideoffnpc "09_3"; - hideoffnpc "09_4"; - hideoffnpc "10_1"; - hideoffnpc "10_2"; - hideoffnpc "10_3"; - hideoffnpc "10_4"; - hideoffnpc "10_5"; - hideoffnpc "10_6"; - hideoffnpc "10_7"; - hideoffnpc "10_8"; - hideoffnpc "11_1"; - hideoffnpc "11_2"; - hideoffnpc "11_3"; - hideoffnpc "11_4"; - hideoffnpc "12_1"; - hideoffnpc "12_2"; - hideoffnpc "12_3"; - hideoffnpc "12_4"; - hideoffnpc "13_1"; - hideoffnpc "13_2"; - hideoffnpc "13_3"; - hideoffnpc "13_4"; - hideoffnpc "14_1"; - hideoffnpc "14_2"; - hideoffnpc "14_3"; - hideoffnpc "14_4"; - hideoffnpc "14_5"; - hideoffnpc "14_6"; - hideoffnpc "14_7"; - hideoffnpc "14_8"; - hideoffnpc "14_9"; - hideoffnpc "14_10"; - hideoffnpc "14_11"; - hideoffnpc "14_12"; - hideoffnpc "15_1"; - hideoffnpc "15_2"; - hideoffnpc "15_3"; - hideoffnpc "15_4"; - hideoffnpc "16_1"; - hideoffnpc "16_2"; - hideoffnpc "16_3"; - hideoffnpc "16_4"; - hideoffnpc "17_1"; - hideoffnpc "17_2"; - hideoffnpc "17_3"; - hideoffnpc "17_4"; - hideoffnpc "18_1"; - hideoffnpc "18_2"; - hideoffnpc "18_3"; - hideoffnpc "18_4"; - end; - -OnDisable: - hideonnpc "01_1"; - hideonnpc "01_2"; - hideonnpc "01_3"; - hideonnpc "01_4"; - hideonnpc "02_1"; - hideonnpc "02_2"; - hideonnpc "02_3"; - hideonnpc "02_4"; - hideonnpc "03_1"; - hideonnpc "03_2"; - hideonnpc "03_3"; - hideonnpc "03_4"; - hideonnpc "04_1"; - hideonnpc "04_2"; - hideonnpc "04_3"; - hideonnpc "04_4"; - hideonnpc "05_1"; - hideonnpc "05_2"; - hideonnpc "05_3"; - hideonnpc "05_4"; - hideonnpc "06_1"; - hideonnpc "06_2"; - hideonnpc "06_3"; - hideonnpc "06_4"; - hideonnpc "07_1"; - hideonnpc "07_2"; - hideonnpc "07_3"; - hideonnpc "07_4"; - hideonnpc "08_1"; - hideonnpc "08_2"; - hideonnpc "08_3"; - hideonnpc "08_4"; - hideonnpc "09_1"; - hideonnpc "09_2"; - hideonnpc "09_3"; - hideonnpc "09_4"; - hideonnpc "10_1"; - hideonnpc "10_2"; - hideonnpc "10_3"; - hideonnpc "10_4"; - hideonnpc "10_5"; - hideonnpc "10_6"; - hideonnpc "10_7"; - hideonnpc "10_8"; - hideonnpc "11_1"; - hideonnpc "11_2"; - hideonnpc "11_3"; - hideonnpc "11_4"; - hideonnpc "12_1"; - hideonnpc "12_2"; - hideonnpc "12_3"; - hideonnpc "12_4"; - hideonnpc "13_1"; - hideonnpc "13_2"; - hideonnpc "13_3"; - hideonnpc "13_4"; - hideonnpc "14_1"; - hideonnpc "14_2"; - hideonnpc "14_3"; - hideonnpc "14_4"; - hideonnpc "14_5"; - hideonnpc "14_6"; - hideonnpc "14_7"; - hideonnpc "14_8"; - hideonnpc "14_9"; - hideonnpc "14_10"; - hideonnpc "14_11"; - hideonnpc "14_12"; - hideonnpc "15_1"; - hideonnpc "15_2"; - hideonnpc "15_3"; - hideonnpc "15_4"; - hideonnpc "16_1"; - hideonnpc "16_2"; - hideonnpc "16_3"; - hideonnpc "16_4"; - hideonnpc "17_1"; - hideonnpc "17_2"; - hideonnpc "17_3"; - hideonnpc "17_4"; - hideonnpc "18_1"; - hideonnpc "18_2"; - hideonnpc "18_3"; - hideonnpc "18_4"; + 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,68,158,0 duplicate(jasntdups) 01_1 139 -in_moc_16,69,158,0 duplicate(jasntdups) 01_2 139 -in_moc_16,68,159,0 duplicate(jasntdups) 01_3 139 -in_moc_16,69,159,0 duplicate(jasntdups) 01_4 139 -in_moc_16,64,162,0 duplicate(jasntdups) 02_1 139 -in_moc_16,65,162,0 duplicate(jasntdups) 02_2 139 -in_moc_16,64,163,0 duplicate(jasntdups) 02_3 139 -in_moc_16,65,163,0 duplicate(jasntdups) 02_4 139 -in_moc_16,62,168,0 duplicate(jasntdups) 03_1 139 -in_moc_16,63,168,0 duplicate(jasntdups) 03_2 139 -in_moc_16,62,169,0 duplicate(jasntdups) 03_3 139 -in_moc_16,63,169,0 duplicate(jasntdups) 03_4 139 -in_moc_16,66,170,0 duplicate(jasntdups) 04_1 139 -in_moc_16,67,170,0 duplicate(jasntdups) 04_2 139 -in_moc_16,66,171,0 duplicate(jasntdups) 04_3 139 -in_moc_16,67,171,0 duplicate(jasntdups) 04_4 139 -in_moc_16,64,174,0 duplicate(jasntdups) 05_1 139 -in_moc_16,64,175,0 duplicate(jasntdups) 05_2 139 -in_moc_16,65,174,0 duplicate(jasntdups) 05_3 139 -in_moc_16,65,175,0 duplicate(jasntdups) 05_4 139 -in_moc_16,72,174,0 duplicate(jasntdups) 06_1 139 -in_moc_16,72,175,0 duplicate(jasntdups) 06_2 139 -in_moc_16,73,174,0 duplicate(jasntdups) 06_3 139 -in_moc_16,73,175,0 duplicate(jasntdups) 06_4 139 -in_moc_16,72,166,0 duplicate(jasntdups) 07_1 139 -in_moc_16,72,167,0 duplicate(jasntdups) 07_2 139 -in_moc_16,73,166,0 duplicate(jasntdups) 07_3 139 -in_moc_16,73,167,0 duplicate(jasntdups) 07_4 139 -in_moc_16,72,168,0 duplicate(jasntdups) 08_1 139 -in_moc_16,72,169,0 duplicate(jasntdups) 08_2 139 -in_moc_16,73,168,0 duplicate(jasntdups) 08_3 139 -in_moc_16,73,169,0 duplicate(jasntdups) 08_4 139 -in_moc_16,78,168,0 duplicate(jasntdups) 09_1 139 -in_moc_16,78,169,0 duplicate(jasntdups) 09_2 139 -in_moc_16,79,168,0 duplicate(jasntdups) 09_3 139 -in_moc_16,79,169,0 duplicate(jasntdups) 09_4 139 -in_moc_16,80,172,0 duplicate(jasntdups) 10_1 139 -in_moc_16,81,172,0 duplicate(jasntdups) 10_2 139 -in_moc_16,82,172,0 duplicate(jasntdups) 10_3 139 -in_moc_16,83,172,0 duplicate(jasntdups) 10_4 139 -in_moc_16,80,173,0 duplicate(jasntdups) 10_5 139 -in_moc_16,81,173,0 duplicate(jasntdups) 10_6 139 -in_moc_16,82,173,0 duplicate(jasntdups) 10_7 139 -in_moc_16,83,173,0 duplicate(jasntdups) 10_8 139 -in_moc_16,88,174,0 duplicate(jasntdups) 11_1 139 -in_moc_16,88,175,0 duplicate(jasntdups) 11_2 139 -in_moc_16,89,174,0 duplicate(jasntdups) 11_3 139 -in_moc_16,89,175,0 duplicate(jasntdups) 11_4 139 -in_moc_16,86,166,0 duplicate(jasntdups) 12_1 139 -in_moc_16,86,167,0 duplicate(jasntdups) 12_2 139 -in_moc_16,87,166,0 duplicate(jasntdups) 12_3 139 -in_moc_16,87,167,0 duplicate(jasntdups) 12_4 139 -in_moc_16,90,164,0 duplicate(jasntdups) 13_1 139 -in_moc_16,90,165,0 duplicate(jasntdups) 13_2 139 -in_moc_16,91,164,0 duplicate(jasntdups) 13_3 139 -in_moc_16,91,165,0 duplicate(jasntdups) 13_4 139 -in_moc_16,84,160,0 duplicate(jasntdups) 14_1 139 -in_moc_16,85,160,0 duplicate(jasntdups) 14_2 139 -in_moc_16,86,160,0 duplicate(jasntdups) 14_3 139 -in_moc_16,87,160,0 duplicate(jasntdups) 14_4 139 -in_moc_16,88,160,0 duplicate(jasntdups) 14_5 139 -in_moc_16,89,160,0 duplicate(jasntdups) 14_6 139 -in_moc_16,84,161,0 duplicate(jasntdups) 14_7 139 -in_moc_16,85,161,0 duplicate(jasntdups) 14_8 139 -in_moc_16,86,161,0 duplicate(jasntdups) 14_9 139 -in_moc_16,87,161,0 duplicate(jasntdups) 14_10 139 -in_moc_16,88,161,0 duplicate(jasntdups) 14_11 139 -in_moc_16,89,161,0 duplicate(jasntdups) 14_12 139 -in_moc_16,86,154,0 duplicate(jasntdups) 15_1 139 -in_moc_16,86,155,0 duplicate(jasntdups) 15_2 139 -in_moc_16,87,154,0 duplicate(jasntdups) 15_3 139 -in_moc_16,87,155,0 duplicate(jasntdups) 15_4 139 -in_moc_16,84,150,0 duplicate(jasntdups) 16_1 139 -in_moc_16,84,151,0 duplicate(jasntdups) 16_2 139 -in_moc_16,85,150,0 duplicate(jasntdups) 16_3 139 -in_moc_16,85,151,0 duplicate(jasntdups) 16_4 139 -in_moc_16,90,150,0 duplicate(jasntdups) 17_1 139 -in_moc_16,90,151,0 duplicate(jasntdups) 17_2 139 -in_moc_16,91,150,0 duplicate(jasntdups) 17_3 139 -in_moc_16,91,151,0 duplicate(jasntdups) 17_4 139 -in_moc_16,86,146,0 duplicate(jasntdups) 18_1 139 -in_moc_16,86,147,0 duplicate(jasntdups) 18_2 139 -in_moc_16,87,146,0 duplicate(jasntdups) 18_3 139 -in_moc_16,87,147,0 duplicate(jasntdups) 18_4 139 +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::OnReset"; - if (ASN_Q == 3) { - set ASN_Q,3; - } - else { - set ASN_Q,4; - } - savepoint "in_moc_16",16,13; + 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; - hideoffnpc "Keeper of the Door#ASN"; + enablenpc "Keeper of the Door#ASN"; end; OnDisable: - hideonnpc "Keeper of the Door#ASN"; - end; - -OnInit: - hideonnpc "Keeper of the Door#ASN"; + disablenpc "Keeper of the Door#ASN"; end; } -in_moc_16,3,3,0 script timestopper#1 139,{ - end; - +in_moc_16,3,3,0 script timestopper#1 -1,{ OnEnable: initnpctimer; end; OnTimer187000: - donpcevent "Standby Room#ASNTEST::OnReset"; - donpcevent "Thomas#ASNTEST::OnReset"; + 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 (ASN_Q == 4) { + 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; @@ -2417,7 +1508,7 @@ OnTouch: 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!")) { + switch(select("I'm gonna try it again!:I... I quit!")) { case 1: mes "[Thomas]"; mes "Hmm. Well, okay."; @@ -2431,120 +1522,100 @@ OnTouch: 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; - donpcevent "Standby Room#ASNTEST::OnReset"; - set ASN_Q,0; - set thief_joblvl,0; - set asn_skill,0; - erasequest 8000; - erasequest 8001; - erasequest 8002; - erasequest 8003; - erasequest 8004; + 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; } - } else { - 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 ASN_Q,4; - changequest 8003,8004; } - donpcevent "Thomas#ASNTEST::OnTestmode"; - end; - -OnTestmode: - monster "in_moc_16",81,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",82,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",83,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",84,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",85,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",86,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",88,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",89,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",90,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",77,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",78,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",79,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",80,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",81,55,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",91,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",92,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",93,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",94,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",95,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",96,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",97,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",76,62,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",79,62,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",79,65,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",76,65,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",96,62,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",96,65,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",99,62,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",99,65,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; - 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 ASN_Q,3; - warp "in_moc_16",87,102; - killmonster "in_moc_16","Thomas#ASNTEST::OnMyMobDead"; + 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; -OnReset: - killmonster "in_moc_16","Thomas#ASNTEST::OnMyMobDead"; +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::OnReset"; + donpcevent "Thomas#ASNTEST::OnDisable"; mes "[Barcardi]"; mes "Oh! Congratulations!"; mes "You may now proceed to our Guildmaster's room. Good luck!!"; close2; - set ASN_Q,5; + set ASSIN_Q,5; changequest 8004,8005; - donpcevent "Standby Room#ASNTEST::OnReset"; warp "in_moc_16",181,183; end; } in_moc_16,182,169,0 script Maze Assistant 45,1,1,{ - OnTouch: - if (ASN_Q == 5) { - warp "in_moc_16",181,183; - set ASN_Q,6; - } - if (ASN_Q == 6) { + if (ASSIN_Q == 5 || ASSIN_Q == 6) { warp "in_moc_16",181,183; - set ASN_Q,7; + set ASSIN_Q,ASSIN_Q+1; + changequest 8005,8006; } else { - mapannounce "in_moc_16","" + strcharinfo(0) + " has entered 'Guildmaster's room.'",bc_map; + 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; } - end; } -in_moc_16,167,110,0 script Guildmaster#ASN1 139,3,1,{ - +in_moc_16,167,110,0 script Guildmaster#ASN1 -1,3,1,{ OnTouch: savepoint "in_moc_16",167,110; mes "[Guildmaster]"; @@ -2558,28 +1629,18 @@ OnTouch: mes "I look forward"; mes "to meeting you"; mes "at the end of maze."; - changequest 8005,8006; close; -OnCast: +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: - 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 loose some weight. -"; - close; - } - savepoint "moc_ruins",79,99; - if ((ASN_Q == 7) && (Class == Job_Thief)) { - set ASN_Q,8; + savepoint "morocc",100,100; + if (ASSIN_Q == 7 && BaseJob == Job_Thief) { + set ASSIN_Q,8; mes "[Guildmaster]"; mes "Welcome."; mes "I apologize for"; @@ -2595,7 +1656,7 @@ OnTouch: 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.")) { + switch(select("More power.:An Assassin's pride.:Endless practice.")) { case 1: mes "[Guildmaster]"; mes "More power..."; @@ -2611,9 +1672,9 @@ OnTouch: mes "to be stronger"; mes "than you are now?"; next; - switch (select("Revenge...!:Money~:I want to travel.")) { + switch(select("Revenge...!:Money~:I want to travel.")) { case 1: - set ASN_Q,8; + set ASSIN_Q,8; mes "[Guildmaster]"; mes "Revenge...?"; mes "Yes, I understand. All of us hold grudges against someone else eventually."; @@ -2625,8 +1686,9 @@ OnTouch: mes "Being an Assassin means"; mes "to abandon the ego."; next; + break; case 2: - set ASN_Q,9; + 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; @@ -2635,8 +1697,9 @@ OnTouch: mes "to abandon such worldly"; mes "attachments..."; next; + break; case 3: - set ASN_Q,10; + set ASSIN_Q,10; mes "[Guildmaster]"; mes "Good idea. Traveling around the world will allow you to broaden your experiences."; next; @@ -2646,7 +1709,9 @@ OnTouch: 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..."; @@ -2661,9 +1726,9 @@ OnTouch: 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.")) { + switch(select("I like the solitude.:Making money being an Assassin.:They just look interesting.")) { case 1: - set ASN_Q,11; + set ASSIN_Q,11; mes "[Guildmaster]"; mes "You got the point..."; mes "We are lonely. We will always be alone, even amongst each other..."; @@ -2676,13 +1741,15 @@ OnTouch: 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 ASN_Q,12; + 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 ASN_Q,13; + set ASSIN_Q,13; mes "[Guildmaster]"; mes "Style and appearance is only superficial. It is sad that many people think this way..."; next; @@ -2693,7 +1760,9 @@ OnTouch: 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..."; @@ -2703,17 +1772,18 @@ OnTouch: 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.")) { + switch(select("To broaden my skills.:It's a goal of mine.:For spiritual improvement.")) { case 1: - set ASN_Q,14; + 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 ASN_Q,15; + set ASSIN_Q,15; mes "[Guildmaster]"; mes "It's a goal of yours, eh? Well, I guess you've got to have goals..."; next; @@ -2725,8 +1795,9 @@ OnTouch: 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 ASN_Q,16; + 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."; @@ -2734,9 +1805,10 @@ OnTouch: mes "[Guildmaster]"; mes "I hope you're not a hypocrite. Spiritual discipline is the best way for you to survive."; next; + break; } + break; } - set @assassin_sangdam,0; mes "[Guildmaster]"; mes "Sadly, there are some nit-wits who are eager to be Assassins even though they don't know anything..."; next; @@ -2749,29 +1821,30 @@ OnTouch: 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.")) { + 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.")) { + 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; + 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; + 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: - set @assassin_sangdam,@assassin_sangdam + 0; 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."; @@ -2780,21 +1853,24 @@ OnTouch: 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.")) { + switch(select("My friends.:My Guildsmen.:My lover.")) { case 1: - set @assassin_sangdam,@assassin_sangdam + 5; + 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; + set .@assassin_sangdam,.@assassin_sangdam+5; mes "[Guildmaster]"; mes "Great..."; mes "Comrades for whom you would die for..."; @@ -2802,30 +1878,30 @@ OnTouch: mes "[Guildmaster]"; mes "As an Assassin, find a job that you can do for them without them knowing.."; next; + break; case 3: - set @assassin_sangdam,@assassin_sangdam + 0; 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 == 1) { + if (sex ) mes "But you must never reveal to her the Assassin side of your life. No matter what it takes."; - } - else { + 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.")) { + switch(select("Places where Assassins can level up...:Main goals as an Assassin.:Financial consulting.")) { case 1: - set @assassin_sangdam,@assassin_sangdam + 5; + 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; @@ -2833,16 +1909,17 @@ OnTouch: mes "You must know how to"; mes "survive in any situation."; next; + break; case 2: - set @assassin_sangdam,@assassin_sangdam + 0; 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; + 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?"; @@ -2850,7 +1927,9 @@ OnTouch: 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."; @@ -2867,13 +1946,13 @@ OnTouch: mes "They will"; mes "be here soon."; next; - donpcevent "[Huey]::OnEnable"; - donpcevent "[Khai]::OnEnable"; - donpcevent "[The Anonymous One]::OnEnable"; - donpcevent "[Barcardi]::OnEnable"; - donpcevent "[Beholder]::OnEnable"; - donpcevent "[Thomas]::OnEnable"; - donpcevent "[Gayle Maroubitz]::OnEnable"; + 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; @@ -2883,7 +1962,7 @@ OnTouch: mes "[The Anonymous One]"; mes "Ah yeah..."; mes "I think"; - mes "" + strcharinfo(0) + ""; + mes ""+ strcharinfo(0) +""; mes "is decent."; next; mes "[Guildmaster]"; @@ -2892,7 +1971,7 @@ OnTouch: mes "supports you. How"; mes "about you, Huey?"; next; - if (thief_joblvl == 1) { + if (ASSIN_Q3 == 1) { mes "[Huey]"; mes "A rarity."; mes "You can tell"; @@ -2901,9 +1980,10 @@ OnTouch: mes "[Huey]"; mes "I agree with"; mes "the Anonymous One."; - } else { + } + else { mes "[Huey]"; - mes "Although " + strcharinfo(0) + " looks too mellow and gentle, kind of like a pussycat, " + strcharinfo(0) + " has the stuff."; + 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."; @@ -2924,72 +2004,74 @@ OnTouch: 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..."; + mes "It seems we are all in agreement. Good. I don't have any problem with "+ strcharinfo(0) +" as well..."; next; - if (ASN_Q == 8) { + 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; - } - if (ASN_Q == 9) { + 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; - } - if (ASN_Q == 10) { + break; + case 10: mes "[Guildmaster]"; mes "Eager to travel all around the world, I hope your real identity is found in your journeys..."; next; - } - if (ASN_Q == 11) { + 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; - } - if (ASN_Q == 12) { + 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; - } - if (ASN_Q == 13) { + 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; - } - if (ASN_Q == 14) { + 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; - } - if (ASN_Q == 15) { + break; + case 15: mes "[Guildmaster]"; mes "Sooner or later, you will find a new goal to which you can devote yourself..."; next; - } - if (ASN_Q == 16) { + 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 ((thief_joblvl == 1) && (Class == Job_Baby_Thief || Class == Job_Thief) && (ASN_Q > 6) && (ASN_Q < 17)) { - set thief_joblvl,2; + 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")) { + 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_ - next; + break; case 2: mes "[Guildmaster]"; mes "A Katar..."; @@ -2998,67 +2080,43 @@ OnTouch: mes "I know it will"; mes "serve you well."; getitem 1253,1; //Katar_ - next; + break; case 3: mes "[Guildmaster]"; mes "I see. You want to use both hands. Here, take your Main Gauche."; getitem 1208,1; //Main_Gauche_ - next; + 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 { + next; + } + else { + set ASSIN_Q,17; mes "[Guildmaster]"; mes "Well, I talked too much."; mes "Please take this first."; next; - set .@asn_item,rand(1,5); - if (.@asn_item == 1) { + switch(rand(1,5)) { + case 1: getitem 1207,1; //Main_Gauche - } - if (.@asn_item == 2) { + break; + case 2: getitem 1250,1; //Jur - } - if (.@asn_item == 3) { + break; + case 3: getitem 1216,1; //Stiletto - } - if (.@asn_item == 4) { + break; + case 4: getitem 1201,1; //Knife - } - else { + break; + case 5: getitem 1252,1; //Katar } } - set ASN_Q,17; - 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 "moc_ruins",79,99; - getitem 1008,1; //Frozen_Heart - 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..."; - donpcevent "[Huey]::OnDisable"; - donpcevent "[Khai]::OnDisable"; - donpcevent "[The Anonymous One]::OnDisable"; - donpcevent "[Barcardi]::OnDisable"; - donpcevent "[Beholder]::OnDisable"; - donpcevent "[Thomas]::OnDisable"; - donpcevent "[Gayle Maroubitz]::OnDisable"; - close2; - warp "in_moc_16",17,19; - end; - } - if ((ASN_Q == 17) && (countitem(1008) == 0)) { mes "[Guildmaster]"; mes "Well, I am giving you a token. Please return to the Assassin expert, the Ferocious-Looking Huey, at the entrance."; next; @@ -3067,24 +2125,24 @@ OnTouch: 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 "moc_ruins",79,99; + 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..."; - donpcevent "[Huey]::OnDisable"; - donpcevent "[Khai]::OnDisable"; - donpcevent "[The Anonymous One]::OnDisable"; - donpcevent "[Barcardi]::OnDisable"; - donpcevent "[Beholder]::OnDisable"; - donpcevent "[Thomas]::OnDisable"; - donpcevent "[Gayle Maroubitz]::OnDisable"; - changequest 8006,8007; + 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; } - if (ASN_Q == 17) { + else if (ASSIN_Q == 17) { mes "[Guildmaster]"; mes "Umm...?"; mes "How come you're in here...?"; @@ -3095,8 +2153,8 @@ OnTouch: warp "in_moc_16",17,19; end; } - if ((ASN_Q > 7) && (ASN_Q < 17)) { - set ASN_Q,7; + 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; @@ -3105,14 +2163,16 @@ OnTouch: mes "Ok, let's start again. If you don't listen this time, you won't leave this room alive. You got me?"; close; } - 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; + 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,{ @@ -3121,8 +2181,7 @@ in_moc_16,186,81,1 script Master Assist 55,1,1,{ close; } -in_moc_16,170,90,0 script info 1 139,{ - +in_moc_16,170,90,0 script info 1 -1,{ OnTouch: mes "[Guildmaster]"; mes "Huh."; @@ -3130,16 +2189,14 @@ OnTouch: close; } -in_moc_16,153,85,0 script info 2 139,1,1,{ - +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 139,1,1,{ - +in_moc_16,160,85,0 script info 3 -1,1,1,{ OnTouch: mes "[Guildmaster]"; mes "Hmm."; @@ -3148,8 +2205,7 @@ OnTouch: close; } -in_moc_16,175,89,0 script info 4 139,1,1,{ - +in_moc_16,175,89,0 script info 4 -1,1,1,{ OnTouch: mes "[Guildmaster]"; mes "Umm..."; @@ -3157,8 +2213,7 @@ OnTouch: close; } -in_moc_16,164,88,0 script info 5 139,{ - +in_moc_16,164,88,0 script info 5 -1,{ OnTouch: mes "[Guildmaster]"; mes "Well done..."; @@ -3166,138 +2221,79 @@ OnTouch: close; } -in_moc_16,149,95,0 script info 6 139,1,1,{ - +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 139,1,1,{ - +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 139,1,1,{ - +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,1,1,{ +in_moc_16,156,87,1 script [Huey] 55,{ end; OnInit: - hideonnpc "[Huey]"; - end; - -OnDisable: - hideonnpc "[Huey]"; - end; - -OnEnable: - hideoffnpc "[Huey]"; + disablenpc "[Huey]"; end; } -in_moc_16,156,85,1 script [Khai] 730,1,1,{ +in_moc_16,156,85,1 script [Khai] 730,{ end; OnInit: - hideonnpc "[Khai]"; - end; - -OnDisable: - hideonnpc "[Khai]"; - end; - -OnEnable: - hideoffnpc "[Khai]"; + disablenpc "[Khai]"; end; } -in_moc_16,156,83,1 script [The Anonymous One] 106,1,1,{ +in_moc_16,156,83,1 script [The Anonymous One] 106,{ end; OnInit: - hideonnpc "[The Anonymous One]"; - end; - -OnDisable: - hideonnpc "[The Anonymous One]"; - end; - -OnEnable: - hideoffnpc "[The Anonymous One]"; + disablenpc "[The Anonymous One]"; end; } -in_moc_16,156,81,2 script [Barcardi] 725,1,1,{ +in_moc_16,156,81,2 script [Barcardi] 725,{ end; OnInit: - hideonnpc "[Barcardi]"; - end; - -OnDisable: - hideonnpc "[Barcardi]"; - end; - -OnEnable: - hideoffnpc "[Barcardi]"; + disablenpc "[Barcardi]"; end; } -in_moc_16,156,79,1 script [Beholder] 118,1,1,{ +in_moc_16,156,79,1 script [Beholder] 118,{ end; OnInit: - hideonnpc "[Beholder]"; - end; - -OnDisable: - hideonnpc "[Beholder]"; - end; - -OnEnable: - hideoffnpc "[Beholder]"; + disablenpc "[Beholder]"; end; } -in_moc_16,156,77,1 script [Thomas] 118,1,1,{ +in_moc_16,156,77,1 script [Thomas] 118,{ end; OnInit: - hideonnpc "[Thomas]"; - end; - -OnDisable: - hideonnpc "[Thomas]"; - end; - -OnEnable: - hideoffnpc "[Thomas]"; + disablenpc "[Thomas]"; end; } -in_moc_16,156,75,1 script [Gayle Maroubitz] 55,1,1,{ +in_moc_16,156,75,1 script [Gayle Maroubitz] 55,{ end; OnInit: - hideonnpc "[Gayle Maroubitz]"; - end; - -OnDisable: - hideonnpc "[Gayle Maroubitz]"; - end; - -OnEnable: - hideoffnpc "[Gayle Maroubitz]"; + disablenpc "[Gayle Maroubitz]"; end; } diff --git a/npc/pre-re/jobs/2-1/blacksmith.txt b/npc/pre-re/jobs/2-1/blacksmith.txt index db9832ab0..413fe69fd 100644 --- a/npc/pre-re/jobs/2-1/blacksmith.txt +++ b/npc/pre-re/jobs/2-1/blacksmith.txt @@ -1,18 +1,46 @@ -//===== rAthena Script ======================================= -// Blacksmith Job change Quest -//===== By: ================================================== -//= Masao -//= Credits: Muad_Dib -//===== Current Version: ===================================== -//= 1.0 -//===== Compatible With: ===================================== -//= Any rAthena SVN -//===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Merchant -> Blacksmith. -//===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] -//============================================================ +//===== 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) { @@ -45,57 +73,67 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ mes "our craft. Our skills of melting metal into new weapons"; mes "and tools is truly a form of art!"; next; - if (Class == Job_Baby || Class == Job_Novice) { - 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."; + 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; } - if (Class == Job_Swordman || Class == Job_Knight || Class == Job_Crusader) { + 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; } - if (Class == Job_Archer || Class == Job_Hunter || Class == Job_Dancer || Class == Job_Bard) { + 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; } - if (Class == Job_Mage || Class == Job_Wizard || Class == Job_Sage) { + 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; } - if (Class == Job_Acolyte || Class == Job_Priest || Class == Job_Monk) { + 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; } - if (Class == Job_Thief || Class == Job_Assassin || Class == Job_Rogue) { + 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; } - if (Class == Job_Alchemist) { + 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; } - if (Class == Job_Baby_Blacksmith || Class == Job_Blacksmith) { + 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; } - if (Class == Job_Baby_Merchant || Class == Job_Merchant) { - if (SkillPoint != 0) { + 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 (BLCKSMTH_Q == 0) { + if (BSMITH_Q == 0) { mes "[Altiregen]"; mes "Why don't you stop struggling"; mes "to make zeny as a Merchant and"; @@ -103,14 +141,14 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ 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.")) { + switch(select("Fill out Application.:What are the requirements?:Um, I need to think about it.")) { case 1: - if (SkillPoint != 0) { + 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 ((JobLevel > 39) && (BLCKSMTH_Q == 0)) { + else if (JobLevel > 39 && BSMITH_Q == 0) { mes "[Altiregen]"; mes "Hmmm..."; mes "Looks like you"; @@ -126,14 +164,14 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ 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 BLCKSMTH_Q,1; + set BSMITH_Q,1; setquest 2000; mes "[Altiregen]"; mes "Be careful"; mes "and good luck!"; close; } - if (JobLevel < 40) { + 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; @@ -157,18 +195,18 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ close; } } - if ((BLCKSMTH_Q > 0) && (BLCKSMTH_Q < 8)) { + 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; } - if ((BLCKSMTH_Q > 8) && (BLCKSMTH_Q < 15)) { + 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; } - if (BLCKSMTH_Q == 15) { + else if (BSMITH_Q == 15) { mes "[Altiregen]"; mes "Great job!!"; mes "You have passed"; @@ -180,9 +218,8 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ 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; - switch (select("I want to change my job quickly! But...oh well.:Grrr! Enough is enough!")) { - case 1: - set BLCKSMTH_Q,16; + 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"; @@ -193,93 +230,69 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ 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; - case 2: - 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; } + 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; } - if (BLCKSMTH_Q == 16) { + 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; } - if ((BLCKSMTH_Q == 17) && (countitem(1005) > 0) && (JobLevel > 39)) { - if (JobLevel > 48) { - 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."; - next; - if(Class == Job_Baby_Merchant){ - jobchange Job_Baby_Blacksmith; - } else { - jobchange Job_Blacksmith; - } - 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 - mes "[Altiregen]"; - mes "Here is a little"; - mes "gift to mark the"; - mes "beginning of your"; - mes "life as a Blacksmith."; - mes "Congratulations!!!"; - getitem 999,30; //Steel + 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; - completequest 2016; - close; } - 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 smithing, the art"; - mes "of the Blacksmith."; next; - if(Class == Job_Baby_Merchant){ - jobchange Job_Baby_Blacksmith; - } else { - jobchange Job_Blacksmith; - } + 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!!!"; - getitem 999,5; //Steel - changequest 2015,2016; - completequest 2016; + if (.@joblvl > 48) + getitem 999,30; //Steel + else + getitem 999,5; //Steel close; } } } -ein_in01,201,27,3 script Guildsman#einbech 63,{ +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 (Class == Job_Baby_Merchant || Class == Job_Merchant) { + 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 (BLCKSMTH_Q == 0) { + if (BSMITH_Q == 0) { mes "[Geschupenschte]"; mes "But, of course,"; mes "I wouldn't bother you"; @@ -293,361 +306,190 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "to be busy~"; close; } - if (BLCKSMTH_Q == 1) { - mes "[Geschupenschte]"; - mes "Oh ho ho!"; - mes "You're a Merchant!"; - mes "Excellent! I was"; - mes "in need of some help!"; - next; - 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; - switch (select("Yes.:Um, can I have some time to prepare?")) { - case 1: - set @black_q, 0; - set .@rand_b,rand(1,3); - if (.@rand_b == 1) { + 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; - switch (select("Morroc - Thief Clothes:Alberta - Two Hand Axe:Comodo - Berserk Potion:Alberta - Swordmace")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @black_q,@black_q + 10; - break; - } + 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; - switch (select("Stun:Blind:Silence:Sleep")) { - case 1: - set @black_q,@black_q + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Vending:Discount:Overcharge:Increase AGI")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @black_q,@black_q + 10; - break; - } + 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; - switch (select("Alberta:Morroc:Geffen:Prontera")) { - case 1: - break; - case 2: - break; - case 3: - set @black_q,@black_q + 10; - break; - case 4: - break; - } + 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; - switch (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")) { - case 1: - set @black_q,@black_q + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Stiletto:Ring Pommel Saber:Chain:Bible")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @black_q,@black_q + 10; - break; - } + 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; - switch (select("Panties:Mink Coat:Wooden Mail:Silk Robe")) { - case 1: - break; - case 2: - set @black_q,@black_q + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("up to + 3:up to + 4:up to + 5:up to + 6")) { - case 1: - break; - case 2: - break; - case 3: - set @black_q,@black_q + 10; - break; - case 4: - break; - } + 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; - switch (select("Sakkat:Ghost Bandana:Majestic Goat:Antler")) { - case 1: - set @black_q,@black_q + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Credit:Integrity:Money:Rhetoric")) { - case 1: - set @black_q,@black_q + 10; - break; - case 2: - set @black_q,@black_q + 10; - break; - case 3: - set @black_q,@black_q + 10; - break; - case 4: - set @black_q,@black_q + 10; - break; - } + 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; - switch (select("Al De Baran - Yggdrasil Leaf:Alberta - Hammer:Comodo - Berserk Potion:Al De Baran - Hammer")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @black_q,@black_q + 10; - break; - } + 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; - switch (select("1 Zeny:2 Zeny:3 Zeny:4 Zeny")) { - case 1: - break; - case 2: - break; - case 3: - set @black_q,@black_q + 10; - break; - case 4: - break; - } + 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; - switch (select("Must have a Cart.:Must have items to sell.:Must be wielding a weapon.:Must be wearing armor.")) { - case 1: - set @black_q,@black_q + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Alberta:Morroc:Geffen:Prontera")) { - case 1: - set @black_q,@black_q + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (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")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @black_q,@black_q + 10; - break; - } + 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; - switch (select("Main Gauche:Claymore:Chain:Two handed Axe")) { - case 1: - break; - case 2: - set @black_q,@black_q + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Panties:Mink Coat:Wooden Mail:Silk Robe")) { - case 1: - break; - case 2: - set @black_q,@black_q + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("up to + 3:up to + 4:up to + 5:up to + 6")) { - case 1: - break; - case 2: - set @black_q,@black_q + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Chon Chon:Steel Chon Chon:Zerom:Anolian")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @black_q,@black_q + 10; - break; - } + 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; - switch (select("Rhetoric:Credit:Money:Experience")) { - case 1: - set @black_q,@black_q + 10; - break; - case 2: - set @black_q,@black_q + 10; - break; - case 3: - set @black_q,@black_q + 10; - break; - case 4: - set @black_q,@black_q + 10; - break; - } + 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 BLCKSMTH_Q, 3; - changequest 2000,2002; + 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"; @@ -659,25 +501,33 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "When you get back, I'll be ready!"; close; } - set BLCKSMTH_Q, 2; - changequest 2000,2001; + 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; - case 2: - 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~"; - close2; } + 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; } - if (BLCKSMTH_Q == 2) { + /* + else if (BSMITH_Q == 2) { mes "[Geschupenschte]"; mes "So, have you"; mes "studied a little"; @@ -693,358 +543,10 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "Alright, let's start"; mes "with the questions~"; next; - set @black_q,0; - set .@rand_b,rand(1,3); - if (.@rand_b == 1) { - mes "[Geschupenschte]"; - mes "1. Which one of the following regions is matched incorrectly"; - mes "with its specialty item?"; - next; - switch (select("Morroc - Thief Clothes:Alberta - Two Hand Axe:Comodo - Beserk Potion:Alberta - Swordmace")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @black_q,@black_q + 10; - break; - } - mes "[Geschupenschte]"; - mes "2. What status can"; - mes "be inflicted with the"; - mes "^8E6B23Hammer Fall^000000 skill?"; - next; - switch (select("Stun:Blind:Silence:Sleep")) { - case 1: - set @black_q,@black_q + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Geschupenschte]"; - mes "3. Which one of the following skills cannot be performed"; - mes "by a Merchant?"; - next; - switch (select("Vending:Discount:Overcharge:Increase AGI")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @black_q,@black_q + 10; - break; - } - mes "[Geschupenschte]"; - mes "4. Where can you find a store"; - mes "that sells Blue Gemstones?"; - next; - switch (select("Alberta:Morroc:Geffen:Prontera")) { - case 1: - break; - case 2: - break; - case 3: - set @black_q,@black_q + 10; - break; - case 4: - break; - } - mes "[Geschupenschte]"; - mes "5. Where is the"; - mes "Tool Dealer"; - mes "located in Geffen?"; - next; - switch (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")) { - case 1: - set @black_q,@black_q + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Geschupenschte]"; - mes "6. Which weapon"; - mes "cannot be used"; - mes "by a Merchant?"; - next; - switch (select("Stiletto:Ring Pommel Saber:Chain:Bible")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @black_q,@black_q + 10; - break; - } - mes "[Geschupenschte]"; - mes "7. Which one of the following"; - mes "has the highest defense rate?"; - next; - switch (select("Panties:Mink Coat:Wooden Mail:Silk Robe")) { - case 1: - break; - case 2: - set @black_q,@black_q + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Geschupenschte]"; - mes "8. For Level 3 weapons,"; - mes "what is the ^8E6B23Safe^000000 limit"; - mes "for upgrading?"; - next; - switch (select("up to + 3:up to + 4:up to + 5:up to + 6")) { - case 1: - break; - case 2: - break; - case 3: - set @black_q,@black_q + 10; - break; - case 4: - break; - } - mes "[Geschupenschte]"; - mes "9. What item"; - mes "can be made using"; - mes "the ^8E6B23Trunks^000000 item?"; - next; - switch (select("Sakkat:Ghost Bandana:Majestic Goat:Antler")) { - case 1: - set @black_q,@black_q + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Geschupenschte]"; - mes "10. The most important"; - mes "part of being a Merchant is...?"; - next; - switch (select("Credit:Integrity:Money:Rhetoric")) { - case 1: - set @black_q,@black_q + 10; - break; - case 2: - set @black_q,@black_q + 10; - break; - case 3: - set @black_q,@black_q + 10; - break; - case 4: - set @black_q,@black_q + 10; - break; - } - } - else { - mes "[Geschupenschte]"; - mes "1. Among the following cities, which one is not correctly matched with its specialty?"; - next; - switch (select("Al De Beran - Yggdrasil Leaf:Alberta - Hammer:Comodo - Beserk Potion:Al De Baran - Hammer")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @black_q,@black_q + 10; - break; - } - mes "[Geschupenschte]"; - mes "2. How much Zeny"; - mes "is one Jellopy worth?"; - next; - switch (select("1 Zeny:2 Zeny:3 Zeny:4 Zeny")) { - case 1: - break; - case 2: - break; - case 3: - set @black_q,@black_q + 10; - break; - case 4: - break; - } - mes "[Geschupenschte]"; - mes "3. What is required"; - mes "for a Merchant to use"; - mes "the ^8E6B23Vending^000000 Skill?"; - next; - switch (select("Must have a Cart.:Must have items to sell.:Must be wielding a weapon.:Must be wearing armor.")) { - case 1: - set @black_q,@black_q + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Geschupenschte]"; - mes "4. Where can you"; - mes "change your Job to"; - mes "become a Merchant?"; - next; - switch (select("Alberta:Morroc:Geffen:Prontera")) { - case 1: - set @black_q,@black_q + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Geschupenschte]"; - mes "5. Where is the"; - mes "Weapons Dealer"; - mes "located in Morroc?"; - next; - switch (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")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @black_q,@black_q + 10; - break; - } - mes "[Geschupenschte]"; - mes "6. What weapon"; - mes "can a Merchant"; - mes "not use?"; - next; - switch (select("Main Gauche:Claymore:Chain:Two handed Axe")) { - case 1: - break; - case 2: - set @black_q,@black_q + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Geschupenschte]"; - mes "7. Which one of the following"; - mes "has the highest defense rate?"; - next; - switch (select("Panties:Mink Coat:Wooden Mail:Silk Robe")) { - case 1: - break; - case 2: - set @black_q,@black_q + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Geschupenschte]"; - mes "8. For Level 3 weapons,"; - mes "what is the ^8E6B23Safe^000000 limit"; - mes "for upgrading?"; - next; - switch (select("up to + 3:up to + 4:up to + 5:up to + 6")) { - case 1: - break; - case 2: - set @black_q,@black_q + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Geschupenschte]"; - mes "9. What monster does"; - mes "NOT drop Iron Ore?"; - next; - switch (select("Chon Chon:Steel Chon Chon:Zerom:Anolian")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @black_q,@black_q + 10; - break; - } - mes "[Geschupenschte]"; - mes "10. What is most"; - mes "important to a Merchant?"; - next; - switch (select("Rhetoric:Credit:Money:Experience")) { - case 1: - set @black_q,@black_q + 10; - break; - case 2: - set @black_q,@black_q + 10; - break; - case 3: - set @black_q,@black_q + 10; - break; - case 4: - set @black_q,@black_q + 10; - break; - } - } - mes "[Geschupenschte]"; - mes "Hmm, good. You did a great job!"; - next; - mes "[Geschupenschte]"; - mes "Let's see...your score is..." + @black_q + " points."; - if (@black_q > 80) { - set BLCKSMTH_Q,3; - changequest 2001,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 BLCKSMTH_Q,2; - completequest 2000; - setquest 2001; - mes "............."; - next; - mes "[Geschupenschte]"; - 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; + goto L_AskQuestions; } - if (BLCKSMTH_Q == 3) { + */ + else if (BSMITH_Q == 3) { mes "[Geschupenschte]"; mes "Hmm..."; mes "Now, where were"; @@ -1064,178 +566,98 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "Well, to make"; mes "this you will need..."; next; - set .@black_item,rand(1,6); - if (.@black_item == 1) { - set BLCKSMTH_Q,4; - changequest 2002,2003; - mes "[Geschupenschte]"; - mes "^8E6B232 Steel^000000,"; - mes "^8E6B231 Rotten Bandage^000000,"; - mes "^8E6B232 Blue Gemstone^000000, and"; - mes "^8E6B231 Arc Wand^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 "^8E6B232 Steel^000000,"; - mes "^8E6B231 Rotten Bandage^000000,"; - mes "^8E6B232 Blue Gemstone^000000, and"; - mes "^8E6B231 Arc Wand^000000, the kind"; - mes "you can buy from"; - mes "an NPC shop."; - next; - } - if (.@black_item == 2) { - set BLCKSMTH_Q,5; - changequest 2002,2004; - mes "[Geschupenschte]"; - mes "^8E6B232 Star Dust^000000,"; - mes "^8E6B231 Skel-bone^000000,"; - mes "^8E6B231 Zargon^000000 and"; - mes "^8E6B231 Gladius^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 "^8E6B232 Star Dust^000000,"; - mes "^8E6B231 Skel-bone^000000,"; - mes "^8E6B231 Zargon^000000 and"; - mes "^8E6B231 Gladius^000000, the kind"; - mes "you can buy from"; - mes "an NPC shop."; - 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; } - if (.@black_item == 3) { - set BLCKSMTH_Q,6; - changequest 2002,2005; - mes "[Geschupenschte]"; - mes "^8E6B232 Coal^000000,"; - mes "^8E6B232 Shell^000000,"; - mes "^8E6B232 Red Blood^000000 and"; - mes "^8E6B231 Tsurugi^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 "^8E6B232 Coal^000000,"; - mes "^8E6B232 Shell^000000,"; - mes "^8E6B232 Red Blood^000000 and"; - mes "^8E6B231 Tsurugi^000000, the kind"; - mes "you can buy from"; - mes "an NPC shop."; - next; + 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; } - if (.@black_item == 4) { - set BLCKSMTH_Q,7; - changequest 2002,2006; + 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 "^8E6B238 Iron Ore^000000,"; - mes "^8E6B231 Eye Patch^000000,"; - mes "^8E6B232 Blue Gemstone^000000 and"; - mes "^8E6B231 Arbalest^000000, the kind"; - mes "you can buy from"; - mes "an NPC shop."; + mes "Wait..."; + mes "Didn't I tell you"; + mes "to get 3 Steel?"; 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..."; + 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 "^8E6B238 Iron Ore^000000,"; - mes "^8E6B231 Eye Patch^000000,"; - mes "^8E6B232 Blue Gemstone^000000 and"; - mes "^8E6B231 Arbalest^000000, the kind"; - mes "you can buy from"; - mes "an NPC shop."; + 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; - } - else { - set BLCKSMTH_Q,8; - changequest 2002,2007; + 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 "^8E6B238 Iron^000000"; - mes "^8E6B2320 Green Herb^000000"; - mes "^8E6B232 Animal Skin^000000"; - mes "and ^8E6B231 Ring Pommel Saber^000000, the kind you can buy from an NPC shop."; + mes "Okay."; + mes "Great~!!"; 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..."; + mes "^3355FF*Clang...!*^000000"; next; mes "[Geschupenschte]"; - mes "^8E6B238 Iron^000000"; - mes "^8E6B2320 Green Herb^000000"; - mes "^8E6B232 Animal Skin^000000"; - mes "and ^8E6B231 Ring Pommel Saber^000000, the kind you can buy from an NPC shop."; + mes "^3355FF*Crash Crash!*^000000"; next; - } - mes "[Geschupenschte]"; - mes "Okay~"; - mes "Good luck"; - mes "on your first job!"; - close; - } - if ((BLCKSMTH_Q > 3) && (BLCKSMTH_Q < 9)) { - if (BLCKSMTH_Q == 4) { + 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 "Ah, you're back!"; - mes "Did you bring"; - mes "everything that"; - mes "I requested?"; - next; - if ((countitem(999) > 1) && (countitem(930) > 0) && (countitem(717) > 1) && (countitem(1610) > 0)) { - 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 Arc Wand^000000, you should really only have an Arc Wand that you bought from an NPC shop in your inventory."; - next; - switch (select("Oh, could you give me a second?:Oh, I brought what you asked for.")) { - case 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; - case 2: - mes "[Geschupenschte]"; - mes "Okay."; - mes "Great~!!"; - next; - } - mes "[Geschupenschte]"; - mes "^3355FF*Clang...!*^000000"; - next; - mes "[Geschupenschte]"; - mes "^3355FF*Crash Crash!*^000000"; - next; - delitem 999,2; //Steel - delitem 930,1; //Rotten_Bandage - delitem 717,2; //Blue_Gemstone - delitem 1610,1; //Arc_Wand - set BLCKSMTH_Q,9; - changequest 2003,2008; - mes "[Geschupenschte]"; - mes "Wooooo~~~"; - mes "All done..."; - mes "Okay, now take this to ^8E6B23Baisulist^000000 in Geffen of the Rune-Midgarts Kingdom. Simply deliver it and bring me the receipt."; + 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...?"; @@ -1253,87 +675,14 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ next; mes "[Geschupenschte]"; mes "Anyway, take this"; - mes "to ^8E6B23Baisulist^000000 in Geffen of the Rune-Midgarts Kingdom,"; - mes "and don't forget"; - mes "the receipt!"; - close; - } - 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 "^8E6B232 Steel^000000,"; - mes "^8E6B231 Rotten Bandage^000000,"; - mes "^8E6B232 Blue Gemstone^000000, and"; - mes "^8E6B231 Arc Wand^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; - } - if (BLCKSMTH_Q == 5) { - mes "[Geschupenschte]"; - mes "Ah, you're back!"; - mes "Did you bring"; - mes "everything that"; - mes "I requested?"; - next; - if ((countitem(1001) > 1) && (countitem(932) > 0) && (countitem(912) > 0) && (countitem(1219) > 0)) { - mes "[Geschupenschte]"; - mes "Wait..."; - mes "Didn't I tell you"; - mes "to get 3 Star Dust?"; - 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 Gladius^000000, you should really only have an Gladius that you bought from an NPC shop in your inventory."; - next; - switch (select("Um, would you give me a second?:Oh, I brought what you asked for.")) { - case 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; - case 2: - mes "[Geschupenschte]"; - mes "Okay."; - mes "Great~!!"; - next; - } - mes "[Geschupenschte]"; - mes "^3355FF*Clang...!*^000000"; - next; - mes "[Geschupenschte]"; - mes "^3355FF*Crash Crash!*^000000"; - next; - delitem 1001,2; //Sparkling_Dust - delitem 932,1; //Skel_Bone - delitem 912,1; //Zargon - delitem 1219,1; //Gladius - set BLCKSMTH_Q,10; - changequest 2004,2009; - mes "[Geschupenschte]"; - mes "Wooooo~~~"; - mes "All done..."; - mes "Okay, now take this to ^8E6B23Wickebine^000000 in Morroc of the Rune-Midgarts Kingdom. Simply deliver it and bring me the receipt."; + 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...?"; @@ -1351,87 +700,14 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ next; mes "[Geschupenschte]"; mes "Anyway, take this"; - mes "to ^8E6B23Wickebine^000000 in Morroc of the Rune-Midgarts Kingdom,"; - mes "and don't forget"; - mes "the receipt!"; - close; - } - 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 "^8E6B232 Star Dust^000000,"; - mes "^8E6B231 Skel-bone^000000,"; - mes "^8E6B231 Zargon^000000 and"; - mes "^8E6B231 Gladius^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; - } - if (BLCKSMTH_Q == 6) { - mes "[Geschupenschte]"; - mes "Ah, you're back!"; - mes "Did you bring"; - mes "everything that"; - mes "I requested?"; - next; - if ((countitem(1003) > 1) && (countitem(935) > 1) && (countitem(990) > 1) && (countitem(1119) > 0)) { - mes "[Geschupenschte]"; - mes "Wait..."; - mes "Didn't I tell you"; - mes "to get 3 Coal?"; - 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 Tsurugi^000000, you should really only have an Tsurugi that you bought from an NPC shop in your inventory."; - next; - switch (select("Um, would you give me a second?:Oh, I brought what you asked for.")) { - case 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; - case 2: - mes "[Geschupenschte]"; - mes "Okay."; - mes "Great~!!"; - next; - } - mes "[Geschupenschte]"; - mes "^3355FF*Clang...!*^000000"; - next; - mes "[Geschupenschte]"; - mes "^3355FF*Crash Crash!*^000000"; - next; - delitem 1003,2; //Coal - delitem 935,2; //Shell - delitem 990,2; //Boody_Red - delitem 1119,1; //Tsurugi - set BLCKSMTH_Q,11; - changequest 2005,2010; - mes "[Geschupenschte]"; - mes "Wooooo~~~"; - mes "All done..."; + 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...?"; @@ -1450,184 +726,38 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ next; mes "[Geschupenschte]"; mes "Anyway, take this"; - mes "to ^8E6B23Krongast^000000 in Izlude"; - mes "and don't forget"; - mes "the receipt!"; - close; - } - 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 "^8E6B232 Coal^000000,"; - mes "^8E6B232 Shell^000000,"; - mes "^8E6B232 Red Blood^000000 and"; - mes "^8E6B231 Tsurugi^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; - } - if (BLCKSMTH_Q == 7) { - mes "[Geschupenschte]"; - mes "Ah, you're back!"; - mes "Did you bring"; - mes "everything that"; - mes "I requested?"; - next; - if ((countitem(1002) > 7) && (countitem(2212) > 0) && (countitem(717) > 1) && (countitem(1713) > 0)) { - mes "[Geschupenschte]"; - mes "Wait..."; - mes "Didn't I tell you"; - mes "to get 30 Iron Ore?"; - next; - mes "[Geschupenschte]"; - mes "Oh, I guess it was"; - mes "eight 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 Arbalest^000000, you should really only have an Arbalest that you bought from an NPC shop in your inventory."; - next; - switch (select("Um, would you give me a second?:Oh, I brought what you asked for.")) { - case 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; - case 2: - mes "[Geschupenschte]"; - mes "Okay."; - mes "Great~!!"; - next; - } - mes "[Geschupenschte]"; - mes "^3355FF*Clang...!*^000000"; - next; - mes "[Geschupenschte]"; - mes "^3355FF*Crash Crash!*^000000"; - next; - delitem 1002,8; //Iron_Ore - delitem 2212,1; //Eye_Bandage - delitem 717,2; //Blue_Gemstone - delitem 1713,1; //Arbalest - set BLCKSMTH_Q,12; - changequest 2006,2011; - mes "[Geschupenschte]"; - mes "Wooooo~~~"; - mes "All done..."; - mes "Okay, now take this to ^8E6B23Talpiz^000000 in Payon of the Rune-Midgarts Kingdom. Simply deliver this and bring me the receipt."; + 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 the Rune-Midgarts Kindgom,"; - mes "and don't forget"; - mes "the receipt!"; - close; - } - 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 "^8E6B238 Iron Ore^000000,"; - mes "^8E6B231 Eye Patch^000000,"; - mes "^8E6B232 Blue Gemstone^000000 and"; - mes "^8E6B231 Arbalest^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; - } - if (BLCKSMTH_Q == 8) { - mes "[Geschupenschte]"; - mes "Ah, you're back!"; - mes "Did you bring"; - mes "everything that"; - mes "I requested?"; - next; - if ((countitem(998) > 7) && (countitem(511) > 19) && (countitem(919) > 1) && (countitem(1122) > 0)) { - mes "[Geschupenschte]"; - mes "Wait..."; - mes "Didn't I tell you"; - mes "to get 40 Iron?"; - next; - mes "[Geschupenschte]"; - mes "Oh, I guess it was"; - mes "eight 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 Ring Pommel Saber^000000. You should really only have just one that you bought from an NPC shop in your inventory."; - next; - switch (select("Um, would you give me a second?:Oh, I brought what you asked for.")) { - case 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; - case 2: - mes "[Geschupenschte]"; - mes "Okay."; - mes "Great~!!"; - next; - delitem 998,8; //Iron - delitem 511,20; //Green_Herb - delitem 919,2; //Animal's_Skin - delitem 1122,1; //Ring_Pommel_Saber - set BLCKSMTH_Q, 13; - changequest 2007,2012; - next; - } - mes "[Geschupenschte]"; - mes "^3355FF*Clang...!*^000000"; + mes "What's that look for?"; + mes "This is not a normal"; + mes "Arbalest! Look closely"; + mes "at the bow..."; next; - mes "[Geschupenschte]"; - mes "^3355FF*Crash Crash!*^000000"; + 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 "Wooooo~~~"; - mes "All done..."; + 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...?"; @@ -1651,10 +781,12 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "[Geschupenschte]"; mes "Anyway, take this"; mes "to ^8E6B23Bismarc^000000 in Hugel"; - mes "and don't forget"; - mes "the receipt!"; - close; } + mes "and don't forget"; + mes "the receipt!"; + close; + } + else { mes "[Geschupenschte]"; mes "You still haven't"; mes "brought all the items."; @@ -1662,10 +794,12 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "or something? Bring me..."; next; mes "[Geschupenschte]"; - mes "^8E6B238 Iron^000000"; - mes "^8E6B2320 Green Herb^000000"; - mes "^8E6B232 Animal Skin^000000"; - mes "and ^8E6B231 Ring Pommel Saber^000000, the kind you can buy from an NPC shop."; + 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"; @@ -1677,7 +811,7 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ close; } } - if ((BLCKSMTH_Q > 8) && (BLCKSMTH_Q < 14)) { + else if (BSMITH_Q > 8 && BSMITH_Q < 14) { mes "[Geschupenschte]"; mes "What are you"; mes "still doing here?"; @@ -1686,31 +820,27 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "Did you forget"; mes "where to go?"; next; - if (BLCKSMTH_Q == 9) { - mes "[Geschupenschte]"; + 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 (BLCKSMTH_Q == 10) { - mes "[Geschupenschte]"; + else if (BSMITH_Q == 10) { mes "Find the Swordmace"; mes "dealer ^8E6B23Wickebine^000000 in Morroc. And don't forget the receipt."; } - else if (BLCKSMTH_Q == 11) { - mes "[Geschupenschte]"; + 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 (BLCKSMTH_Q == 12) { - mes "[Geschupenschte]"; + 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 "[Geschupenschte]"; 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; } - if (BLCKSMTH_Q == 14) { + else if (BSMITH_Q == 14) { mes "[Geschupenschte]"; mes "Hmmm...?"; mes "Have you"; @@ -1718,16 +848,25 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "the delivery?"; mes "Let's see that receipt~"; next; - switch (select("Yes sir, here it is.:Receipt? I, uh, have it somewhere.")) { - case 1: + if (select("Yes sir, here it is.:Receipt? I, uh, have it somewhere.") == 1) { if (countitem(1073) > 0) { - set BLCKSMTH_Q,15; - changequest 2008,2013; - changequest 2009,2013; - changequest 2010,2013; - changequest 2011,2013; - changequest 2012,2013; + 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!"; @@ -1743,7 +882,7 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "will be a great Blacksmith!"; close; } - set BLCKSMTH_Q,3; + set BSMITH_Q,3; mes "[Geschupenschte]"; mes "You mean..."; mes "You didn't get"; @@ -1757,17 +896,16 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "You'll have to start your"; mes "test all over again!"; close; - case 2: - mes "[Geschupenschte]"; - mes "Return when you"; - mes "find the receipt~"; - mes "You didn't forget"; - mes "to receive a receipt."; - mes "Right...?"; - close; } + mes "[Geschupenschte]"; + mes "Return when you"; + mes "find the receipt~"; + mes "You didn't forget"; + mes "to receive a receipt."; + mes "Right...?"; + close; } - if (BLCKSMTH_Q == 15) { + else if (BSMITH_Q == 15) { mes "[Geschupenschte]"; mes "Thank you"; mes "very much"; @@ -1784,17 +922,19 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "need any more help, today."; close; } - mes "[Geschupenschte]"; - mes "Being"; - mes "a Blacksmith"; - mes "is truly great!"; - mes "Don't you think so?"; - mes "Mwahahahahah!!"; - 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 ((BLCKSMTH_Q == 9) && (countitem(1610) > 0)) { + if (BSMITH_Q == 9 && countitem(1610) > 0) { mes "[Baisulist]"; mes "Oh, hello!"; mes "Have you come"; @@ -1805,8 +945,7 @@ geffen,46,164,1 script Baisulist#BLS 69,{ mes "You sure this is what I ordered, right? I mean, if it's been used,"; mes "I don't want it."; next; - switch (select("Whoops, this is one of the items I use...:I'm sure! It's brand new!")) { - case 1: + 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"; @@ -1814,13 +953,11 @@ geffen,46,164,1 script Baisulist#BLS 69,{ mes "Please hurry with"; mes "my delivery~"; close; - case 2: - mes "[Baisulist]"; - mes "You're"; - mes "absolutely sure?"; - break; } - set BLCKSMTH_Q, 14; + mes "[Baisulist]"; + mes "You're"; + mes "absolutely sure?"; + set BSMITH_Q,14; delitem 1610,1; //Arc_Wand next; mes "[Baisulist]"; @@ -1836,42 +973,44 @@ geffen,46,164,1 script Baisulist#BLS 69,{ 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; + mapannounce "geffen","Hey, " +strcharinfo(0)+ ", thank you so much for the delivery~",bc_map; close; } - if (BLCKSMTH_Q == 14) { + else if (BSMITH_Q == 14) { mes "[Baisulist]"; mes "Thank you"; mes "so much for"; mes "the delivery~"; close; } - 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; + 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 ((BLCKSMTH_Q == 10) && (countitem(1219) > 0)) { - cutin "job_black_hucke01",2; + if (BSMITH_Q == 10 && countitem(1219) > 0) { + cutin "Job_Black_hucke01",2; mes "[Wickebine]"; mes "...!"; mes "It's here!"; @@ -1880,9 +1019,8 @@ morocc,27,112,4 script Wickebine#BLS 725,{ mes "This is what I ordered, right?"; mes "I don't want any used or old Gladius that you might have!"; next; - switch (select("Whoops, not that one.:I guarantee you it is new.")) { - case 1: - cutin "job_black_hucke03",2; + 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"; @@ -1890,35 +1028,33 @@ morocc,27,112,4 script Wickebine#BLS 725,{ next; mes "- She seems to be upset. -"; close2; - cutin "",255; + cutin "Job_Black_hucke03",255; end; - case 2: - 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; - break; } - set BLCKSMTH_Q, 14; + 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; + 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; + 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; + cutin "Job_Black_hucke02",2; mes "[Wickebine]"; mes "But, this is also"; mes "a masterfully crafted item."; @@ -1930,49 +1066,51 @@ morocc,27,112,4 script Wickebine#BLS 725,{ mes "Here's the receipt."; mes "I think you did"; mes "a good job."; - close2; mapannounce "morocc","Thanks for delivering, " + strcharinfo(0) + "~!",bc_map; - cutin "",255; + close2; + cutin "Job_Black_hucke02",255; end; } - if (BLCKSMTH_Q == 14) { + else if (BSMITH_Q == 14) { emotion e_lv; - cutin "job_black_hucke02",2; + cutin "Job_Black_hucke02",2; mes "[Wickebine]"; mes "Thanks for the delivery."; close2; - cutin "",255; + 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; } - 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 "",255; - end; } lighthalzen,209,80,4 script Krongast#BLS 734,{ - if ((BLCKSMTH_Q == 11) && (countitem(1119) > 0)) { + if (BSMITH_Q == 11 && countitem(1119) > 0) { mes "[Krongast]"; mes "Ohhhhhh~"; mes "Is it here?"; @@ -1983,8 +1121,7 @@ lighthalzen,209,80,4 script Krongast#BLS 734,{ mes "So you're sure this is the item"; mes "I ordered, right? I wouldn't want it if it's been used."; next; - switch (select("Whoops, this one is used!:It was just made, so it's new.")) { - case 1: + if (select("Whoops, this one is used!:It was just made, so it's new.") == 1) { mes "[Krongast]"; mes "Hmmmmm!"; mes "Please deliver"; @@ -1992,14 +1129,12 @@ lighthalzen,209,80,4 script Krongast#BLS 734,{ mes "I've been waiting"; mes "long enough already..."; close; - case 2: - mes "[Krongast]"; - mes "You double checked?"; - mes "Alright then, I'll take it!"; - next; - break; } - set BLCKSMTH_Q, 14; + 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..."; @@ -2022,37 +1157,38 @@ lighthalzen,209,80,4 script Krongast#BLS 734,{ mes "your receipt."; mes "Thank you for"; mes "your business!"; - close2; - mapannounce "lighthalzen","" + strcharinfo(0) + "... Thank you for the delivery.",bc_map; - end; + mapannounce "lighthalzen",strcharinfo(0)+"... Thank you for the delivery.",bc_map; + close; } - if (BLCKSMTH_Q == 14) { + else if (BSMITH_Q == 14) { mes "[Krongast]"; mes "Thank you"; mes "for the delivery."; close; } - 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; + 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 ((BLCKSMTH_Q == 12) && (countitem(1713) > 0)) { + if (BSMITH_Q == 12 && countitem(1713) > 0) { mes "[Talpiz]"; mes "Oh~"; mes "Is it finally here?"; @@ -2061,8 +1197,7 @@ payon,214,79,4 script Talpiz#BLS 59,{ mes "[Talpiz]"; mes "Um, this is what I ordered, right? I don't want an Arbalest that's been used before."; next; - switch (select("Whoops, this is a used one.:I'm sure it's new.")) { - case 1: + if (select("Whoops, this is a used one.:I'm sure it's new.") == 1) { mes "[Talpiz]"; mes "Hmmmm."; mes "Please hurry"; @@ -2071,14 +1206,12 @@ payon,214,79,4 script Talpiz#BLS 59,{ mes "I've waited too"; mes "long already..."; close; - case 2: - mes "[Talpiz]"; - mes "So, you're sure?"; - mes "Let me take a look..."; - next; - break; } - set BLCKSMTH_Q,14; + 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*"; @@ -2099,11 +1232,10 @@ payon,214,79,4 script Talpiz#BLS 59,{ mes "your receipt."; mes "I really appreciate"; mes "your hard work."; - close2; - mapannounce "payon","Thanks, " + strcharinfo(0) + ", you really delivered. Everytime I look at this, I love it even more~",bc_map; - end; + mapannounce "payon","Thanks, " +strcharinfo(0)+ ", you really delivered. Everytime I look at this, I love it even more~",bc_map; + close; } - if (BLCKSMTH_Q == 14) { + else if (BSMITH_Q == 14) { mes "[Talpiz]"; mes "Really,"; mes "I can't say it"; @@ -2111,24 +1243,26 @@ payon,214,79,4 script Talpiz#BLS 59,{ mes "top quality work~!"; close; } - 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; + 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 ((BLCKSMTH_Q == 13) && (countitem(1122) > 0)) { + if (BSMITH_Q == 13 && countitem(1122) > 0) { mes "[Bismarc]"; mes "Sweet God..."; mes "Have you sent"; @@ -2140,8 +1274,7 @@ hugel,168,183,1 script Bismarc#BLS 118,{ mes "^666666*Huuuk*^000000 This is what I ordered, right? I needed one especially"; mes "made to stop this poison..."; next; - switch (select("Whoops, this is my own Ring Pommel Saber.:I'm sure this is the one.")) { - case 1: + 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...!"; @@ -2153,15 +1286,13 @@ hugel,168,183,1 script Bismarc#BLS 118,{ mes "he's slowly dying...!"; mes "You'd better hurry.^000000"; close; - case 2: - mes "[Bismarc]"; - mes "^666666*Ghklk*^000000"; - mes "Give it...!"; - mes "Pleeeease!"; - next; - break; } - set BLCKSMTH_Q,14; + 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,"; @@ -2197,48 +1328,48 @@ hugel,168,183,1 script Bismarc#BLS 118,{ mes "your receipt."; mes "T-take it...!"; mes "It's yours!"; - close2; - mapannounce "hugel","Thanks, " + strcharinfo(0) + ", for the delivery. You saved my life...",bc_map; - end; + mapannounce "hugel","Thanks, " +strcharinfo(0)+ ", for the delivery. You saved my life...",bc_map; + close; } - if (BLCKSMTH_Q == 14) { + else if (BSMITH_Q == 14) { mes "[Bismarc]"; mes "Thank you."; mes "You saved"; mes "my life..."; close; } - 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; + 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 (BLCKSMTH_Q == 16) { + 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 Blacksmith immediately."; + 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; - switch (select("Yes:No, not yet~")) { - case 1: + if (select("Yes:No, not yet~") == 1) { mes "[Mitehmaeeuh]"; mes "Alright..."; mes "My test is simple."; @@ -2247,80 +1378,44 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ mes "you fail. And I won't"; mes "tell you what you missed."; next; - set .@wizard_m2,rand(1,3); set .@blackss_te,0; mes "[Mitehmaeeuh]"; mes "Please listen"; mes "and answer carefully..."; next; - if (.@wizard_m2 == 1) { + switch(rand(1,3)) { + case 1: mes "[Mitehmaeeuh]"; mes "1. What ability"; mes "is required to learn"; mes "the ^8E6B23Discount^000000 skill?"; next; - switch (select("Level 3 Push Cart:Item Appraisal:Level 10 Mammonite:Level 3 Enlarge Weight")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @blackss_te,@blackss_te + 20; - break; - } + 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; - switch (select("Stun:Blindness:Chaos:Silence")) { - case 1: - set @blackss_te,@blackss_te + 20; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("900 Zeny:1000 Zeny:2000 Zeny:100,000 Zeny")) { - case 1: - break; - case 2: - set @blackss_te,@blackss_te + 20; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("21 % :22 % :23 % :24 % ")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @blackss_te,@blackss_te + 20; - break; - } + 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"; @@ -2328,70 +1423,31 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ mes "NPCs after mastering the"; mes "^8E6B23Overcharge^000000 skill?"; next; - switch (select("21 % :22 % :23 % :24 % ")) { - case 1: - break; - case 2: - break; - case 3: - set @blackss_te,@blackss_te + 20; - break; - case 4: - break; - } - } - if (.@wizard_m2 == 2) { + 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; - switch (select("Zerom:Chon Chon:Skel Worker:Requiem")) { - case 1: - break; - case 2: - break; - case 3: - set @blackss_te,@blackss_te + 20; - break; - case 4: - break; - } + 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; - switch (select("Flame Heart:Rough Wind:Great Nature:Mystic Frozen")) { - case 1: - set @blackss_te,@blackss_te + 20; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Wind of Verdure:Red Blood:Green Live:Crystal Blue")) { - case 1: - set @blackss_te,@blackss_te + 20; - break; - case 2: - set @blackss_te,@blackss_te + 20; - break; - case 3: - set @blackss_te,@blackss_te + 20; - break; - case 4: - set @blackss_te,@blackss_te + 20; - break; - } + 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"; @@ -2399,50 +1455,28 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ mes "most damage from a Wind"; mes "attribute weapon?"; next; - switch (select("Fire Property:Water Property:Earth Property:Wind Property")) { - case 1: - break; - case 2: - set @blackss_te,@blackss_te + 20; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("5 Iron Ore :4 Iron Ore:3 Iron Ore:6 Iron Ore")) { - case 1: - set @blackss_te,@blackss_te + 20; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - } - else { + 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.")) { + switch(select("Ask them what they need.:Have a brief conversation.:Ignore them.:Give items and run away.")) { case 1: - set @blackss_te,@blackss_te + 20; - break; case 2: - set @blackss_te,@blackss_te + 20; + set .@blackss_te,.@blackss_te+20; break; - case 3: - break; - case 4: + default: break; } mes "[Mitehmaeeuh]"; @@ -2451,65 +1485,30 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ mes "^8E6B23Crazy Uproar^000000 and"; mes "^8E6B23Change Cart^000000 skills?"; next; - switch (select("Al De Baran:Alberta:Morroc:Izlude")) { - case 1: - break; - case 2: - set @blackss_te,@blackss_te + 20; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("11 o'clock:5 o'clock:7 o'clock:12 o'clock")) { - case 1: - break; - case 2: - set @blackss_te,@blackss_te + 20; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Prontera:Morroc:Alberta:Einbroch")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @blackss_te,@blackss_te + 20; - break; - } + 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; - switch (select("STR :DEX:AGI :VIT ")) { - case 1: - break; - case 2: - set @blackss_te,@blackss_te + 20; - break; - case 3: - break; - case 4: - break; - } + if (select("STR :DEX:AGI :VIT ") == 2) + set .@blackss_te,.@blackss_te+20; + break; } mes "[Mitehmaeeuh]"; mes "Ah..."; @@ -2518,22 +1517,21 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ next; mes "[Mitehmaeeuh]"; mes "You earned"; - mes "" + @blackss_te + " points..."; - if (@blackss_te > 70) { + 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."; - mes "A Blacksmith's life isn't a picnic. As proof that you have passed the test, I give you this Hammer of Blacksmith."; - set BLCKSMTH_Q, 17; + 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 Einbroch Blacksmith Guild. Okay then? I wish you the best of luck!"; + 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."; @@ -2541,22 +1539,21 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ mes "[Mitehmaeeuh]"; mes "With your knowledge, or lack thereof, you'll just end up hurting yourself holding a hammer!"; close; - case 2: - mes "[Mitehmaeeuh]"; - mes "Okay then."; - mes "Please prepare"; - mes "yourself and return"; - mes "when you are ready..."; - close; } + mes "[Mitehmaeeuh]"; + mes "Okay then."; + mes "Please prepare"; + mes "yourself and return"; + mes "when you are ready..."; + close; } - if (BLCKSMTH_Q == 17) { + 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.Geschupenschte?"; + 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!"; @@ -2565,20 +1562,22 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ mes "Oh, also make sure that you have no skill point left before you change your job~"; close; } - 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; + 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,{ @@ -2594,16 +1593,16 @@ geffen_in,109,170,3 script Blacksmith Guildsman#gef 726,{ 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.")) { + 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 the Rune-Midgarts Kingdom, the Schwaltzvalt Republic has 'the airship' instead of teleport services to move between towns."; + 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 the Schwaltzvalt Republic^000000."; + 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."; @@ -2619,7 +1618,7 @@ geffen_in,109,170,3 script Blacksmith Guildsman#gef 726,{ mes "Excuse me, but you do not have enough money."; close; } - set Zeny, Zeny - 600; + set zeny,zeny-600; warp "izlude",94,103; end; case 3: @@ -2627,4 +1626,4 @@ geffen_in,109,170,3 script Blacksmith Guildsman#gef 726,{ mes "Please take care!"; close; } -} \ No newline at end of file +} diff --git a/npc/pre-re/jobs/2-1/hunter.txt b/npc/pre-re/jobs/2-1/hunter.txt index ad7f742b0..7ec9fd7ec 100644 --- a/npc/pre-re/jobs/2-1/hunter.txt +++ b/npc/pre-re/jobs/2-1/hunter.txt @@ -1,20 +1,63 @@ //===== rAthena Script ======================================= -// Hunter Job change Quest +//= Hunter Job Quest //===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= EREMES THE CANIVALIZER (Aegis)Translated by yoshiki (Aegis) +//= Converted by kobra_k88 +//= Further bugfixed and tested by Lupus //===== Current Version: ===================================== -//= 1.0 +//= 3.7 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Archer -> Hunter. +//= [Aegis Conversion] +//= Job Change quest for Hunter class. //===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] +//= 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). //============================================================ -in_hunter,99,99,4 script Hunter Info 727,{ +// 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."; @@ -27,27 +70,14 @@ in_hunter,99,99,4 script Hunter Info 727,{ mes " "; mes " "; mes " "; - mes "I, the Falcon breeder has moved out as well."; + mes "I, the Falcon breeder have moved out as well."; close; } -pay_fild10,148,252,3 script Hunter Info#hugel 857,{ - 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 ^ff0000the far upper right side of Hugel000000."; - next; - mes "^804000(You found a tiny line written at the end of the notice.)^000000"; - mes " "; - mes " "; - mes " "; - mes "I, the Falcon breeder has 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]"; @@ -58,7 +88,7 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ mes "Oops! I'm sorry, I could have sworn that we've met before. Huh. How weird."; close; } - if ((Class == Job_Baby_Archer || Class == Job_Archer) && (JobLevel < 40)) { + 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; @@ -69,51 +99,51 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ mes "See you next time~"; close; } - if (SkillPoint != 0) { + 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 (Class == Job_Baby || Class == Job_Novice) { + 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; } - if (Class == Job_Swordman || Class == Job_Knight || Class == Job_Crusader) { + 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; } - if (Class == Job_Mage || Class == Job_Wizard || Class == Job_Sage) { + 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; } - if (Class == Job_Acolyte || Class == Job_Priest || Class == Job_Monk) { + 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; } - if (Class == Job_Merchant || Class == Job_Blacksmith || Class == Job_Alchemist) { + else if (Baseclass == Job_Merchant) { mes "[Hunter Guildsman]"; mes "Oh..."; mes "How's your business coming along?"; close; } - if (Class == Job_Thief || Class == Job_Assassin || Class == Job_Rogue) { + else if (BaseClass == Job_Thief) { mes "[Hunter Guildsman]"; mes "Agh?!"; mes "This place doesn't have anything worth stealing or anyone worth killing!!"; close; } - if (Class == Job_Dancer || Class == Job_Bard) { + 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; } - if (Class == Job_Baby_Hunter || Class == Job_Hunter) { + 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?"; @@ -122,13 +152,13 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ 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; } - if (Class == Job_Archer) { - if (SkillPoint != 0) { + 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; } - if ((HNTR_Q == 17) && (countitem(1007) == 0)) { + 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; @@ -136,303 +166,246 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ mes "I'll let you change your job, but you must bring back a 'Necklace of Wisdom (Penetration),' no matter what it takes."; close; } - if ((HNTR_Q == 17) && (countitem(1007) > 0) && (JobLevel > 39)) { - if (JobLevel > 49) { - 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!!"; - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Hunter; - } else { - jobchange Job_Hunter; - } - completequest 4013; - 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~"; - getitem 1718,1; //Hunter_Bow - close; - } + else if (HNTR_Q == 17 && countitem(1007) > 0 && JobLevel > 39) { mes "[Hunter Sherin]"; mes "Oh...?"; mes "You passed"; - mes "the job test?!!"; + mes "the job test?!"; mes "Congratulations~!!"; next; mes "[Hunter Sherin]"; mes "Well then,"; mes "I will now change"; - mes "your job to a Hunter~*"; + mes "your job to a Hunter~"; next; delitem 1007,1; //Penetration mes "[Hunter Sherin]"; mes "Tada~ Congratulations!"; mes "You look great as a Hunter!!"; - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Hunter; - } else { - jobchange Job_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 be a worthy representative of the Hunter Guild. Show your love of nature as a Hunter~"; + 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~"; - getitem 1710,1; //CrossBow + if (.@joblvl > 49) + getitem 1718,1; //Hunter_Bow + else + getitem 1710,1; //CrossBow close; } - if ((JobLevel > 39) && (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: + else if ((JobLevel > 39) && ((HNTR_Q == 0) || (HNTR_Q == 1))) { + if (HNTR_Q == 0) { mes "[Hunter Guildsman]"; - mes "Hehe~"; - mes "I was right! Let me put you on the candidate list. Let's see~*"; + 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; - 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; - switch (select("Yes~ Let's start now.:No, I'll be back later.")) { + 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 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; - set @knight_t, 0; - 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 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - 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 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - 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 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - 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?"; + mes "[Hunter Guildsman]"; + mes "Hehe~"; + mes "I was right! Let me put you on the candidate list. Let's see~*"; next; - switch (select("Attack a Hode from the top of a hill.:Go back to town.:Attack someone else's Hode.")) { - case 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - break; - } - 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; - switch (select("Would it be possible to get a Heal, please?:Heal, please.:Heal me.")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - break; - case 3: - break; - } - 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 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - mes "[Hunter Sherin]"; - mes "While you are waiting, someone is begging for items and Zeny. What should you do?"; - next; - switch (select("Give some of my items and Zeny.:Ignore and walk away.:Tell the person about a good place to hunt.")) { - case 1: - break; - case 2: - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - 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: - set @knight_t, @knight_t + 10; - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - 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!"; + 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 "[Hunter Sherin]"; - mes "What should you do?"; + mes "^3355FF*Gathers and flips through papers*^000000"; next; - switch (select("Watch, then attack when asked for help.:Attack and see what happens.:Just go back to town.")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - break; - case 3: - break; - } - mes "[Hunter Sherin]"; - mes "You are now very exhausted after your day of hunting. It's time to go back to town."; + mes "^3355FF*Rummage rummage*^000000"; next; - mes "[Hunter Sherin]"; - mes "But what's this!? You find an expensive item lying on the floor! What should you do with it?"; + mes "[Hunter Guildsman]"; + mes "Ah!"; + mes "Here they are: the interview questions~ First of all, my name is 'Sherin.' Nice to meet you!"; next; - switch (select("Pick it up and keep it.:Try to find the owner.:Just walk by.")) { - case 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } mes "[Hunter Sherin]"; - mes "Okay, this is the end of the test!"; + mes "Well then,"; + mes "shall we begin?"; next; - if (@knight_t == 100) { - set HNTR_Q,2; - setquest 4001; + if (select("Yes~ Let's start now.:No, I'll be back later.") == 1) { + if(checkquest(4000) == -1) { + setquest 4000; + } 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~"; + 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'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; - } - if (@knight_t == 90) { - set HNTR_Q,2; - setquest 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."; + 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 "Just remember to always keep basic etiquette in mind. Try harder in the following tests and make me happy, okay?"; + mes "Okay..."; + mes "Come back"; + mes "when you're ready~"; close; } - set HNTR_Q,1; - setquest 4000; - mes "[Hunter Sherin]"; - mes "Hmm... I don't think this'll work out. You can't become a Hunter without knowing basic etiquette."; - next; + 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 "Think about how you answered the questions one more time. In order to value nature, you must first value your relationship with others."; + 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 "Then, you'll be more in tune with nature and with other people. It's this kind of harmony that makes the best Hunters."; + 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; - case 2: + } + 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 "Okay..."; - mes "Come back"; - mes "when you're ready~"; + 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"; @@ -452,7 +425,7 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ 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~"; - close; + break; case 3: mes "[Hunter Guildsman]"; mes "Okay then,"; @@ -460,696 +433,153 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ close; } } - if ((JobLevel > 39) && (HNTR_Q == 1)) { + else if (HNTR_Q > 2 && HNTR_Q < 10) { mes "[Hunter Sherin]"; - mes "Welcome back...!"; - mes "Well, let's start with the interview. This time, carefully think about the answers to each question."; + mes "Just give the item to the Demon Hunter, the guy who's all the way to the left in this area~"; next; - set @knight_t, 0; mes "[Hunter Sherin]"; - mes "Well then,"; - mes "let's begin."; - next; + 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 "You are an Archer, and you don't know where you should go to hunt. What do you do?"; + mes "????"; 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 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - 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."; + mes "You weren't able to find the Demon Hunter? That guy is just to the left! Hehe~"; next; mes "[Hunter Sherin]"; - mes "But you are in Payon!!"; - mes "How do you go to the desert?"; + 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; - switch (select("Ask a Priest to open a free warp portal.:Use the Kafra service.:Walk with a friend.")) { - case 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - break; + 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; } - 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 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - break; + 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 "[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."; + } + 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 "[Hunter Sherin]"; - mes "What is your"; - mes "solution to this"; - mes "situation?"; + 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; - switch (select("Attack a Hode from the top of a hill.:Go back to town.:Attack someone else's Hode.")) { - case 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - break; + 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; } - 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; - switch (select("Would it be possible to get a Heal, please?:Heal, please.:Heal me.")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - break; - case 3: - break; - } - 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 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - mes "[Hunter Sherin]"; - mes "While you are waiting, someone is begging for items and Zeny. What should you do?"; - next; - switch (select("Give some of my items and Zeny.:Ignore and walk away.:Tell the person about a good place to hunt.")) { - case 1: - break; - case 2: - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - 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: - set @knight_t, @knight_t + 10; - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - 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; - switch (select("Watch, then attack when asked for help.:Attack and see what happens.:Just go back to town.")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - break; - case 3: - break; + else if(checkquest(4003) != -1) { + changequest 4003,4009; } - 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 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - break; + else if(checkquest(4004) != -1) { + changequest 4004,4009; } - mes "[Hunter Sherin]"; - mes "Okay, this is"; - mes "the end of the test!"; - next; - if (@knight_t == 100) { - set HNTR_Q,2; - setquest 4001; - mes "[Hunter Sherin]"; - mes "Well done! It seems you've got the right outlook on life. You definitely have what it takes to become a Hunter~"; - next; - mes "[Hunter Sherin]"; - mes "I'm happy to say you've passed the interview~ Now, go to that person in the corner and confirm which items are necessary for the job change test~"; - close; + else if(checkquest(4005) != -1) { + changequest 4005,4009; } - if (@knight_t == 90) { - set HNTR_Q,2; - setquest 4001; - mes "[Hunter Sherin]"; - mes "Hmmm... Well, your score isn't exactly perfect, but I'll let you pass anyway. I'm not sure what our Guildmaster will think though..."; - next; - mes "[Hunter Sherin]"; - mes "Just remember to keep the basics of etiquette in mind. Try harder in the following tests, and make me happy, okay?"; - close; + else if(checkquest(4006) != -1) { + changequest 4006,4010; } - if (HNTR_Q == 1){ - mes "[Hunter Sherin]"; - mes "Hmm..."; - mes "I'm sorry but you can't become a Hunter without knowing basic etiquette."; - next; - mes "[Hunter Sherin]"; - mes "Think about how you answered the questions once more. In order to be in tune with nature, you must first value your relationship with others."; - next; - mes "[Hunter Sherin]"; - mes "Well then..."; - mes "Come back"; - mes "when you're ready."; - close; + else if(checkquest(4007) != -1) { + changequest 4007,4010; } - } - 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; - if (Sex == 1) { - mes "[Hunter Sherin]"; - 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!!"; - close; + else { + changequest 4008,4010; } - mes "[Hunter Sherin]"; - 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; - } - 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 a building east of 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; - switch (select("Yes, that is correct.:Nope~~(heeheehee)")) { - case 1: - 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; - set .@item_need, rand(1,7); - if (.@item_need == 1) { - mes "[Demon Hunter]"; - mes "Hmm. ^6600005 Claw of Desert Wolf^000000 to use for arrow tips. ^6600005 Trunk^000000 to use here and there. And ^6600003 White Herb^000000 please."; - set HNTR_Q,3; - changequest 4001,4002; - 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 since he's the one that administers the test."; - mes "You can find him in a building east of the Payon Central Palace."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back to me when you have everything ready~"; - close; - } - if (.@item_need == 2) { - mes "[Demon Hunter]"; - mes "Hmm. ^6600003 Bill of Birds^000000 to use for the arrow tips. ^6600005 Skel-bone^000000 to use here and there. And ^6600003 Green Herbs^000000. That should be enough."; - set HNTR_Q,4; - changequest 4001,4003; - 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 since he's the one that administers the test."; - mes "You can find him in a building east of the Payon Central Palace."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back to me when you have everything ready~"; - close; - } - if (.@item_need == 3) { - mes "[Demon Hunter]"; - mes "Mmm. ^6600003 Venom Canine^000000 to use as arrow tips. ^6600003 Animal Skin^000000 to use here and there. And ^6600005 Red Herb^000000. That should be enough."; - set HNTR_Q,5; - changequest 4001,4004; - 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 since he's the one that administers the test."; - mes "You can find him in a building east of the Payon Central Palace."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back to me when you have everything ready~"; - close; - } - if (.@item_need == 4) { - mes "[Demon Hunter]"; - mes "Mmm. ^6600003 Dokkaebi Horn^000000 to make the arrow tips. ^6600003 Piece of Egg Shell^000000 to use here and there. And ^66000010 Fluff^000000. That should be enough."; - set HNTR_Q,6; - changequest 4001,4005; - 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 since he's the one that administers the test."; - mes "You can find him in a building east of the Payon Central Palace."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back to me when you have everything ready~"; - close; - } - if (.@item_need == 5) { - mes "[Demon Hunter]"; - mes "Mmm. ^6600009 Shell^000000 to make the arrow tips. ^6600009 Worm Peeling^000000 to use here and there. And ^6600009 Yellow Herb^000000. That should be enough."; - set HNTR_Q,7; - changequest 4001,4006; - next; - mes "[Demon Hunter]"; - mes "By the way, a member of our Hunter Guild is at the Archer Guild on official business. I believe you have to go visit this person since he is in charge of the testing."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back when you have everything ready~"; - close; - } - if (.@item_need == 6) { - mes "[Demon Hunter]"; - mes "Mmm. ^6600003 Tooth of Bat^000000 to use for the arrow tips. ^6600001 Sticky Mucus^000000 to use as adhesive. And ^6600001 Bear's Footskin^000000 will do."; - set HNTR_Q,8; - changequest 4001,4007; - next; - mes "[Demon Hunter]"; - mes "By the way, a member of our Hunter Guild is at the Archer Guild on official business. I believe you have to go visit the person since he's in charge of the testing."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back when you have everything ready~"; - close; - } - mes "[Demon Hunter]"; - mes "Mmm. ^6600002 Porcupine Quill^000000 to use for the arrow tips. ^6600001 Yoyo Tail^000000 to help make the bow string. And ^6600001 Acorn^000000 please."; - set HNTR_Q,9; - changequest 4001,4008; - next; - mes "[Demon Hunter]"; - mes "Before I forget. A member of our Hunter Guild is at the Archer Guild for official business. I believe you have to go visit the person since he is in charge of the testing."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back when you have everything ready~"; - close; - case 2: - mes "[Demon Hunter]"; - mes "Hey, stop messing around."; - mes "Your name is " + strcharinfo(0) + ", right?"; - next; - switch (select("Yes...:Hehehe. I keep telling you, it's not~~")) { - case 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; - set .@item_need, rand(1,7); - if (.@item_need == 1) { - mes "[Demon Hunter]"; - mes "Hmm. 5 ^660000Claw of Desert Wolf^000000 to use for arrow tips. ^6600005 Trunk^000000 to use here and there. And ^6600003 White Herb^000000 please."; - set HNTR_Q,3; - changequest 4001,4002; - 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 since he's the one that administers the test."; - mes "You can find him in a building east of the Payon Central Palace."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back to me when you have everything ready~"; - close; - } - if (.@item_need == 2) { - mes "[Demon Hunter]"; - mes "Hmm. ^6600003 Bill of Birds^000000 to use for the arrow tips. ^6600005 Skel-bone^000000 to use here and there. And ^6600003 Green Herbs^000000. That should be enough."; - set HNTR_Q,4; - changequest 4001,4003; - 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 since he's the one that administers the test."; - mes "You can find him in a building east of the Payon Central Palace."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back to me when you have everything ready~"; - close; - } - if (.@item_need == 3) { - mes "[Demon Hunter]"; - mes "Mmm. ^6600003 Venom Canine^000000 to use as arrow tips. ^6600003 Animal Skin^000000 to use here and there. And ^6600005 Red Herb^000000. That should be enough."; - set HNTR_Q,5; - changequest 4001,4004; - 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 since he's the one that administers the test."; - mes "You can find him in a building east of the Payon Central Palace."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back to me when you have everything ready~"; - close; - } - if (.@item_need == 4) { - mes "[Demon Hunter]"; - mes "Mmm. ^6600003 Dokkaebi Horn^000000 to make the arrow tips. ^6600003 Piece of Egg Shell^000000 to use here and there. And ^66000010 Fluff^000000. That should be enough."; - set HNTR_Q,6; - changequest 4001,4005; - 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 since he's the one that administers the test."; - mes "You can find him in a building east of the Payon Central Palace."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back to me when you have everything ready~"; - close; - } - if (.@item_need == 5) { - mes "[Demon Hunter]"; - mes "Mmm. ^6600009 Shell^000000 to make the arrow tips. ^6600009 Worm Peeling^000000 to use here and there. And ^6600009 Yellow Herb^000000. That should be enough."; - set HNTR_Q,7; - changequest 4001,4006; - next; - mes "[Demon Hunter]"; - mes "By the way, a member of our Hunter Guild is at the Archer Guild on official business. I believe you have to go visit this person since he is in charge of the testing."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back when you have everything ready~"; - close2; - } - if (.@item_need == 6) { - mes "[Demon Hunter]"; - mes "Mmm. ^6600003 Tooth of Bat^000000 to use for the arrow tips. ^6600001 Sticky Mucus^000000 to use as adhesive. And ^6600001 Bear's Footskin^000000 will do."; - set HNTR_Q,8; - changequest 4001,4007; - next; - mes "[Demon Hunter]"; - mes "By the way, a member of our Hunter Guild is at the Archer Guild on official business. I believe you have to go visit the person since he's in charge of the testing."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back when you have everything ready~"; - close; - } - mes "[Demon Hunter]"; - mes "Mmm. ^6600002 Porcupine Quill^000000 to use for the arrow tips. ^6600001 Yoyo Tail^000000 to help make the bow string. And ^6600001 Acorn^000000 please."; - set HNTR_Q,9; - changequest 4001,4008; - next; - mes "[Demon Hunter]"; - mes "Before I forget. A member of our Hunter Guild is at the Archer Guild for official business. I believe you have to go visit the person since he is in charge of the testing."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back when you have everything ready~"; - close; - case 2: - 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; - } - } - } - if (HNTR_Q == 3) { - mes "[Demon Hunter]"; - mes "Hmm?"; - next; - if ((countitem(7030) > 4) && (countitem(1019) > 4) && (countitem(509) > 2)) { - 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,10; - completequest 4002; - completequest 4003; - completequest 4004; - completequest 4005; - completequest 4006; - completequest 4007; - completequest 4008; - setquest 4009; - delitem 7030,5; //Claw_Of_Desert_Wolf - delitem 1019,5; //Wooden_Block - delitem 509,3; //White_Herb - 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 "^6600005 Claw of Desert Wolf^000000,"; - mes "^6600005 Trunk^000000 and"; - mes "^6600003 White Herb^000000."; - mes "Come back once you have"; - mes "gathered all the items."; - close; - } - if (HNTR_Q == 4) { - mes "[Demon Hunter]"; - mes "Ah, you have returned."; - next; - if ((countitem(925) > 2) && (countitem(932) > 4) && (countitem(511) > 2)) { - mes "[Demon Hunter]"; - mes "You brought all the necessary materials... You can get directions to the testing area from our Guildmaster that is currently in the Payon Central Palace."; - set HNTR_Q,10; - completequest 4002; - completequest 4003; - completequest 4004; - completequest 4005; - completequest 4006; - completequest 4007; - completequest 4008; - setquest 4009; - delitem 925,3; //Bill_Of_Birds - delitem 932,5; //Skel_Bone - delitem 511,3; //Green_Herb - 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 "^6600003 Bill of Birds^000000,"; - mes "^6600005 Skel-bone^000000 and"; - mes "^6600003 Green Herb^000000."; - mes "Come back once you have"; - mes "gathered all the items."; - close; - } - if (HNTR_Q == 5) { - mes "[Demon Hunter]"; - mes "Hmm...let me see."; - next; - if ((countitem(937) > 2) && (countitem(919) > 2) && (countitem(507) > 4)) { - mes "[Demon Hunter]"; - mes "You brought all of the necessary materials... You can get directions to the testing area from our Guildmaster that is currently in the Payon Central Palace."; - set HNTR_Q,10; - completequest 4002; - completequest 4003; - completequest 4004; - completequest 4005; - completequest 4006; - completequest 4007; - completequest 4008; - setquest 4009; - delitem 937,3; //Posionous_Canine - delitem 919,3; //Animal's_Skin - delitem 507,5; //Red_Herb - 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 "^6600003 Venom Canine^000000,"; - mes "^6600003 Animal Skin^000000 and"; - mes "^6600005 Red Herb^000000."; - mes "Come back once you have"; - mes "gathered all of the items."; - close; - } - if (HNTR_Q == 6) { - mes "[Demon Hunter]"; - mes "Hmm? Let me see... "; - next; - if ((countitem(1021) > 2) && (countitem(7032) > 2) && (countitem(914) > 9)) { - mes "[Demon Hunter]"; - mes "You brought all of the necessary materials... You can get directions to the testing area from our Guildmaster that is currently in the Payon Central Palace."; - set HNTR_Q,10; - completequest 4002; - completequest 4003; - completequest 4004; - completequest 4005; - completequest 4006; - completequest 4007; - completequest 4008; - setquest 4009; - delitem 1021,3; //Dokkaebi_Horn - delitem 7032,3; //Piece_Of_Egg_Shell - delitem 914,10; //Fluff - 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 "^6600003 Dokkaebi Horn^000000,"; - mes "^6600003 Piece of Egg Shell^000000 and"; - mes "^66000010 Fluff^000000."; - mes "Come back once you have"; - mes "gathered all the items."; - close; - } - if (HNTR_Q == 7) { - mes "[Demon Hunter]"; - mes "Eh? Let me see..."; - next; - if ((countitem(935) > 8) && (countitem(955) > 8) && (countitem(508) > 8)) { - mes "[Demon Hunter]"; - mes "You brought all of the necessary materials... To get directions to the testing area, go talk to our Guildmaster who is at the Archer Guild."; - set HNTR_Q,11; - completequest 4002; - completequest 4003; - completequest 4004; - completequest 4005; - completequest 4006; - completequest 4007; - completequest 4008; - setquest 4010; - delitem 935,9; //Shell - delitem 955,9; //Worm_Peelings - delitem 508,9; //Yellow_Herb - 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 "^6600009 Shell^000000,"; - mes "^6600009 Worm Peeling^000000 and"; - mes "^6600009 Yellow Herb^000000."; - mes "Come back once you have"; - mes "gathered all the items."; - close; - } - if (HNTR_Q == 8) { - mes "[Demon Hunter]"; - mes "Huh? "; - next; - if ((countitem(913) > 2) && (countitem(938) > 0) && (countitem(948) > 0)) { - mes "[Demon Hunter]"; - mes "You brought all of the necessary materials... To get directions to the testing area, go talk to our Guildmaster who is at the Archer Guild."; - set HNTR_Q,11; - completequest 4002; - completequest 4003; - completequest 4004; - completequest 4005; - completequest 4006; - completequest 4007; - completequest 4008; - setquest 4010; - delitem 913,3; //Tooth_Of_Bat - delitem 938,1; //Sticky_Mucus - delitem 948,1; //Bear's_Foot - 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 "^6600003 Tooth of Bat^000000,"; - mes "^6600001 Sticky Mucus^000000 and"; - mes "^6600001 Bear's Footskin^000000."; - mes "Come back once you have"; - mes "gathered all the items."; - close; - } - if (HNTR_Q == 9) { - mes "[Demon Hunter]"; - mes "Huh? "; - next; - if ((countitem(1027) > 1) && (countitem(942) > 0) && (countitem(1026) > 0)) { - mes "[Demon Hunter]"; - mes "You brought all of the necessary materials... To get directions to the testing area, go talk to our Guildmaster who is at the Archer Guild."; - set HNTR_Q,11; - completequest 4002; - completequest 4003; - completequest 4004; - completequest 4005; - completequest 4006; - completequest 4007; - completequest 4008; - setquest 4010; - delitem 1027,2; //Porcupine_Spike - delitem 942,1; //Yoyo_Tail - delitem 1026,1; //Acorn + delitem .@items[0],.@items[1]; + delitem .@items[2],.@items[3]; + delitem .@items[4],.@items[5]; close; } mes "[Demon Hunter]"; @@ -1158,81 +588,70 @@ hu_in01,382,382,4 script Guild Receptionist#hnt 732,{ next; mes "[Demon Hunter]"; mes "The items you need are"; - mes "^6600002 Porcupine Quill^000000,"; - mes "^6600001 Yoyo Tail^000000 and"; - mes "^6600001 Acorn^000000."; + 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; } - if ((HNTR_Q > 9) && (HNTR_Q < 17)) { + 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; } - if (HNTR_Q == 17) { + else if (HNTR_Q == 17) { mes "[Demon Hunter]"; mes "Ooh. You passed the test. Congratulations~ You should go talk to Sherin now."; close; } - mes "[Guild Receptionist]"; - mes "If you wish to change your job to a Hunter, you must register first."; - 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?"; - set @a0, 1; next; - while (1) { - 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."; - set @a0,@a0 + 1; - close2; - break; - 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."; - set @a0,@a0 + 1; - close2; - break; - 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; + 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 "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."; + 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 "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."; - set @a0,@a0 + 1; - close2; - break; - case 4: - if (@a0 == 1) { - 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; - } - else { - mes "[Hunter Guildmaster]"; - mes "Okay. Best of luck."; - mes "I'll send you right now."; - next; - } - break; } - break; + 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."; @@ -1243,7 +662,7 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ warp "job_hunte",176,22; end; } - if ((HNTR_Q > 1) && (HNTR_Q < 10)) { + else if (HNTR_Q > 1 && HNTR_Q < 10) { mes "[Hunter Guildmaster]"; mes "Mmm...?"; mes "What is an Archer"; @@ -1256,12 +675,12 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ mes "Go gather the items for the test, and come back after you've visited the Hunter Guild."; close; } - if (HNTR_Q == 11) { + 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; } - if ((HNTR_Q > 11) && (HNTR_Q < 16)) { + 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; @@ -1269,43 +688,33 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ mes "If you have any"; mes "questions, ask now."; next; - while (1) { - 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."; - set @a0,@a0 + 1; - close2; - break; - 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."; - set @a0,@a0 + 1; - close2; - break; - 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."; - set @a0,@a0 + 1; - close2; - break; - case 4: - mes "[Hunter Guildmaster]"; - mes "Okay. Good luck."; - mes "I'll send you right now."; - next; - break; - } - break; + 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."; @@ -1313,37 +722,34 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ mes "[Hunter Guildmaster]"; mes "Anyway, I believe you've prepared it yourself. Let's begin now."; next; - switch (select("Okay. Let's start...:Ah, wait a sec.")) { - case 1: + 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; - changequest 4009,4011; warp "job_hunte",176,22; end; - case 2: - mes "[Hunter Guildmaster]"; - mes "Then hurry and finish"; - mes "all of your preparations."; - close; } + mes "[Hunter Guildmaster]"; + mes "Then hurry and finish"; + mes "all of your preparations."; + close; } - if (HNTR_Q == 16) { + 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; - changequest 4012,4013; 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; } - if (HNTR_Q == 17) { + 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; @@ -1351,69 +757,61 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ mes "Now, you should go back to the Hunter Guild~"; close; } - 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; + 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?"; - set @a0,1; - next; - while (1) { - 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."; - set @a0,@a0 + 1; - close2; - cutin "",255; - break; - 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."; - set @a0,@a0 + 1; - close2; - cutin "",255; - break; - 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 "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 "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."; + 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 "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."; - set @a0,@a0 + 1; - close2; - cutin "",255; - break; - case 4: - if (@a0 == 1) { - 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; - } - else { - mes "[Hunter Guildmaster]"; - mes "Okay, best of luck."; - mes "I'll send you right now."; - next; - } - break; } - break; + 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."; @@ -1424,9 +822,10 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ set HNTR_Q,12; changequest 4010,4011; warp "job_hunte",176,22; + cutin "job_huntermaster",255; end; } - if ((HNTR_Q > 1) && (HNTR_Q < 10)) { + else if (HNTR_Q > 1 && HNTR_Q < 10) { mes "[Hunter Guildmaster]"; mes "Mmm...?"; mes "Why is an Archer"; @@ -1438,10 +837,10 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "[Hunter Guildmaster]"; mes "Stop by once you have gathered all the items needed for the test."; close2; - cutin "",255; + cutin "job_huntermaster",255; end; } - if (HNTR_Q == 10) { + else if (HNTR_Q == 10) { mes "[Hunter]"; mes "Mmm?"; mes "Can I help you"; @@ -1452,10 +851,10 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "[Hunter]"; mes "If you wish to change jobs, I think you need to go visit the person at Payon Central Palace."; close2; - cutin "",255; + cutin "job_huntermaster",255; end; } - if ((HNTR_Q > 11) && (HNTR_Q < 16)) { + 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; @@ -1464,49 +863,42 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "have questions,"; mes "feel free to ask."; next; - while (1) { - 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."; - set @a0,@a0 + 1; - close2; - cutin "",255; - break; - 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."; - set @a0,@a0 + 1; - close2; - cutin "",255; - break; - 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."; - set @a0,@a0 + 1; - close2; - cutin "",255; - break; - case 4: - mes "[Hunter Guildmaster]"; - mes "Okay, good luck."; - mes "I'll send you right now..."; - next; - break; - } - break; + 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."; @@ -1517,34 +909,30 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "you're ready."; mes "Let's begin."; next; - switch (select("Yes, let's start.:Ah, wait a moment.")) { - case 1: + if (select("Yes, let's start.:Ah, wait a moment.") == 1) { mes "[Hunter Guildmaster]"; mes "Okay!! Now..."; mes "Pass this time!"; close2; - cutin "",255; + cutin "job_huntermaster",255; set HNTR_Q,12; - changequest 4010,4011; warp "job_hunte",176,22; end; - case 2: - mes "[Hunter Guildmaster]"; - mes "*Sigh...*"; - mes "Come back when"; - mes "you're done with"; - mes "your preparations."; - close2; - cutin "",255; - end; } + mes "[Hunter Guildmaster]"; + mes "*Sigh...*"; + mes "Come back when"; + mes "you're done with"; + mes "your preparations."; + close2; + cutin "job_huntermaster",255; + end; } - if (HNTR_Q == 16) { + 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; - changequest 4012,4013; savepoint "payon",104,99; getitem 1007,1; //Penetration next; @@ -1553,10 +941,10 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "There you go."; mes "Now hurry back to the Hunter Guild, and join us~"; close2; - cutin "",255; + cutin "job_huntermaster",255; end; } - if (HNTR_Q == 17) { + 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; @@ -1566,71 +954,19 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "for you back"; mes "at the Hunter Guild."; close2; - cutin "",255; + cutin "job_huntermaster",255; end; } - 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 "",255; - end; -} - -job_hunte,178,32,1 script Guide#hnt 107,5,2,{ - - 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; - } - 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?"; - next; - switch (select("Keep trying.:Resign.")) { - case 1: - mes "Okay. Do your best to become a great Hunter. Please enter the waiting room. If someone entered already, 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 "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::OnReset"; - close2; - set HNTR_Q,13; - savepoint "payon",104,99; - warp "payon_in02",21,27; - end; - } - } - if (HNTR_Q > 15) { - mes "[Guide]"; - mes "You shouldn't be here. How about finding the required job change item first?"; + 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; - savepoint "payon",104,99; - warp "payon_in02",21,27; + cutin "job_huntermaster",255; end; } +} +job_hunte,178,32,1 script Guide#hnt 107,5,2,{ OnTouch: if (HNTR_Q == 12) { mes "[Guide]"; @@ -1650,7 +986,7 @@ OnTouch: savepoint "job_hunte",176,22; close; } - if ((HNTR_Q > 12) && (HNTR_Q < 16)) { + else if (HNTR_Q > 12 && HNTR_Q < 16) { mes "[Guide]"; mes "Hmm..."; mes "Did you mess up?"; @@ -1661,35 +997,33 @@ OnTouch: 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.")) { + 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; + 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::OnReset"; + // donpcevent "Waiting Room#hnt::OnStart"; close2; set HNTR_Q,13; savepoint "payon",104,99; warp "payon_in02",21,27; - end; } } - if (HNTR_Q > 15) { + 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; } - + end; } -job_hunte,176,38,1 script Waiting Room#hnt 66,{ +job_hunte,178,38,1 script Waiting Room#hnt 66,{ end; OnInit: @@ -1698,58 +1032,93 @@ OnInit: end; OnStartArena: - warpwaitingpc "job_hunte",90,67; + warpwaitingpc "job_hunte", 90, 67; donpcevent "Manager#hnt::OnEnable"; - donpcevent "Manager#hnt2::OnEnable"; - donpcevent "switch#hnt::OnDisable"; - donpcevent "hnt_backers::OnDisable"; disablewaitingroomevent; end; -OnReset: +OnStart: enablewaitingroomevent; end; } job_hunte,1,1,1 script Manager#hnt 66,{ - end; - OnInit: - hideonnpc "Manager#hnt"; + disablenpc "Manager#hnt"; end; OnEnable: - hideoffnpc "Manager#hnt"; + 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"; - initnpctimer; - end; - -OnReset: - killmonster "job_hunte","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: - if (mobcount ("job_hunte","Manager#hnt::OnMyMobDead") < 3) { + 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::OnReset"; - donpcevent "Manager#hnt2::OnReset"; donpcevent "Manager#hnt::OnDisable"; - donpcevent "Manager#hnt2::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: - hideonnpc "Manager#hnt"; + killmonsterall "job_hunte"; + disablenpc "Manager#hnt"; end; OnTimer1000: @@ -1825,1558 +1194,610 @@ OnTimer194000: end; OnTimer195000: - donpcevent "hnt_backers::OnEnable"; - end; - -OnTimer196000: - donpcevent "hnt_backers::OnDisable"; - end; - -OnTimer196500: - donpcevent "hnt_backers::OnEnable"; + areawarp "job_hunte",50,64,129,143,"job_hunte",176,22; end; OnTimer197000: - donpcevent "hnt_backers::OnDisable"; donpcevent "Manager#hnt::OnReset"; - donpcevent "Manager#hnt2::OnReset"; - donpcevent "Waiting Room#hnt::OnReset"; + donpcevent "Waiting Room#hnt::OnStart"; end; } -job_hunte,1,2,1 script Manager#hnt2 66,{ - end; - -OnInit: - hideonnpc "Manager#hnt2"; - end; - -OnEnable: - hideoffnpc "Manager#hnt2"; - monster "job_hunte",85,100,"Job Test Monster",1016,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",72,102,"Job Test Monster",1041,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",108,103,"Job Test Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",88,127,"Job Test Monster",1002,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",125,69,"Job Test Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",77,112,"Job Tester Monster",1016,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",53,106,"Job Tester Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",53,73,"Job Tester Monster",1002,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",125,70,"Job Tester Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",90,91,"Job Tester Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",67,80,"Hunter Change Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",77,112,"Hunter Change Monster",1016,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",53,106,"Hunter Change Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",53,73,"Hunter Change Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",125,70,"Hunter Change Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",90,91,"Job Transfer Monster",1041,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",85,100,"Job Transfer Monster",1002,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",72,102,"Job Transfer Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",108,103,"Job Transfer Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",77,112,"Job Transfer Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",112,139,"Binnie",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",112,139,"Darrel",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",112,139,"Rex",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",112,139,"Anselmo",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",90,91,"Anolian",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",53,73,"Monster Sample",1002,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",53,106,"Not Me",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",77,112,"Help Me",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",72,102,"Do Not Hit Me",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",108,103,"Attack Speed 184",1015,1,"Manager#hnt2::OnMyMobDead"; - end; - -OnReset: - killmonster "job_hunte","Manager#hnt2::OnMyMobDead"; - end; - -OnDisable: - hideonnpc "Manager#hnt2"; - end; - -OnMyMobDead: - mapannounce "job_hunte"," " + strcharinfo(0) + "!! You made a mistake...Please try again.",bc_map; - set HNTR_Q,13; - warp "job_hunte",176,22; - donpcevent "Waiting Room#hnt::OnReset"; - donpcevent "Manager#hnt::OnReset"; - donpcevent "Manager#hnt2::OnReset"; - donpcevent "Manager#hnt::OnDisable"; - donpcevent "Manager#hnt2::OnDisable"; - end; -} - -job_hunte,93,101,1 script switch#hnt 723,1,1,{ - - 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; - donpcevent "exit#hnttest::OnEnable"; - 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 "Waiting Room#hnt::OnReset"; - 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")) { + 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; - donpcevent "exit#hnttest::OnEnable"; + 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; + mapannounce "job_hunte"," !! Operation has been cancelled. !! ",bc_map; end; case 3: - mapannounce "job_hunte"," ## Cancellation warp activating... ## ",bc_map; + 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 "Waiting Room#hnt::OnReset"; + donpcevent "Manager#hnt::OnReset"; + donpcevent "Waiting Room#hnt::OnStart"; end; } OnDisable: - donpcevent "exit#hnttest::OnDisable"; - hideonnpc "switch#hnt"; + disablenpc "exit#hnttest"; + disablenpc "Switch#hnt"; end; OnEnable: - hideoffnpc "switch#hnt"; + enablenpc "Switch#hnt"; end; } job_hunte,89,139,0 script exit#hnttest 45,2,2,{ +OnInit: + disablenpc "exit#hnttest"; + end; OnTouch: - donpcevent "Waiting Room#hnt::OnReset"; + donpcevent "Manager#hnt::OnReset"; + donpcevent "Waiting Room#hnt::OnStart"; set HNTR_Q,16; changequest 4011,4012; savepoint "payon",104,99; - set .@whe,rand(1,2); - if (.@whe == 1) { + if (rand(1)) warp "payon_in02",21,27; - } - else { - warp "payon_in03",128,7; - } - end; - -OnInit: - hideonnpc "exit#hnttest"; - end; - -OnEnable: - hideoffnpc "exit#hnttest"; - end; - -OnDisable: - hideonnpc "exit#hnttest"; - end; -} - -job_hunte,89,103,0 script hnt_backers 139,42,42,{ - -OnTouch: - warp "job_hunte",176,22; - set HNTR_Q,13; - end; - -OnInit: - hideonnpc "hnt_backers"; - end; - -OnEnable: - hideoffnpc "hnt_backers"; - end; - -OnDisable: - hideonnpc "hnt_backers"; - end; + warp "payon_in03",128,7; } -- script hnt_job_quest_test::hntjqt -1,{ - +// Hunter Job test traps. +//============================================================ +job_hunte,52,140,0 script 1-1::HntTrap -1,0,1,{ OnTouch: - switch(rand(1,128)){ - 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 11: mapannounce "job_hunte"," " + strcharinfo(0) + "... aww~ Try again! You can do it!",bc_map; break; - case 12: mapannounce "job_hunte"," " + strcharinfo(0) + ", @#$%#^!@ and you wanna be a what? Hunter? Get back there!",bc_map; break; - case 13: mapannounce "job_hunte"," " + strcharinfo(0) + " was defeated by the forces of evil. Don't give up, hero!",bc_map; break; - case 14: mapannounce "job_hunte","I put a spell on you " + strcharinfo(0) + " and now you're mine! Go start over now.",bc_map; break; - case 15: 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 16: mapannounce "job_hunte","That's my nest " + strcharinfo(0) + "! dont step there, squawk~ Start over.",bc_map; break; - case 17: mapannounce "job_hunte"," " + strcharinfo(0) + ", another archer down. 3 more to go!",bc_map; break; - case 18: mapannounce "job_hunte"," " + strcharinfo(0) + ", have you got what it takes? Then try again.",bc_map; break; - case 19: 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 20: mapannounce "job_hunte"," " + strcharinfo(0) + " had too much prune juice to drink today. Back 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","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; - case 42: 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 43: 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 44: mapannounce "job_hunte"," " + strcharinfo(0) + " fell into a trap. Once again, for clarity's sake, the name is " + strcharinfo(0) + ".",bc_map; break; - case 45: mapannounce "job_hunte","Oy oy, " + strcharinfo(0) + ".. I've seen blind Porings get further! Go back to the starting point.",bc_map; break; - case 46: 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 47: 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 48: 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 49: 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 50: mapannounce "job_hunte"," " + strcharinfo(0) + ", do you have any idea where you're going? Start over *sigh*.",bc_map; break; - case 51: mapannounce "job_hunte"," " + strcharinfo(0) + ", do you like green tea ice cream? No? Go back to the starting point...*hmph*",bc_map; break; - case 52: mapannounce "job_hunte","Oh, no.. " + strcharinfo(0) + ", are you hurt? Come now, let's go back to the starting point.",bc_map; break; - case 53: 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 54: 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 55: 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 56: mapannounce "job_hunte","Oh, " + strcharinfo(0) + ".. You can do better. Try again!",bc_map; break; - case 57: 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 58: 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 59: mapannounce "job_hunte"," " + strcharinfo(0) + " faaaaaaaaaaaaaaaaailed.. Hehe, just kidding. You will be returned to the starting point so try again!",bc_map; break; - case 60: 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 61: mapannounce "job_hunte"," " + strcharinfo(0) + ", HAHAHAHAHAHA!!!! I can't believe you fell for that one!",bc_map; break; - case 62: 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 63: 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 64: 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 65: mapannounce "job_hunte"," " + strcharinfo(0) + ", OW...now that's gotta hurt. Back to the start~",bc_map; break; - case 66: mapannounce "job_hunte"," " + strcharinfo(0) + ", I find your lack of faith disturbing... Let's start over.",bc_map; break; - case 67: 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 68: 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 69: 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 70: mapannounce "job_hunte"," " + strcharinfo(0) + ", try not. Do or do not. There is no try.",bc_map; break; - case 71: mapannounce "job_hunte"," " + strcharinfo(0) + ", that is why you fail. Now try again!",bc_map; break; - case 72: 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 73: mapannounce "job_hunte"," " + strcharinfo(0) + ", you are beaten. It is useless to resist.",bc_map; break; - case 74: mapannounce "job_hunte"," " + strcharinfo(0) + ", I'm looking forward to completing your training. In time you will call me Master.",bc_map; break; - case 75: mapannounce "job_hunte"," " + strcharinfo(0) + ", your overconfidence is your weakness.",bc_map; break; - case 76: mapannounce "job_hunte"," " + strcharinfo(0) + ", watch your step. This place can be a little rough.",bc_map; break; - case 77: mapannounce "job_hunte"," " + strcharinfo(0) + ", oh I told you it was dangerous here.",bc_map; break; - case 78: mapannounce "job_hunte"," " + strcharinfo(0) + ", everything is proceeding as I have foreseen.",bc_map; break; - case 79: mapannounce "job_hunte"," " + strcharinfo(0) + ", you should have not come back.",bc_map; break; - case 80: mapannounce "job_hunte"," " + strcharinfo(0) + ", there are alternatives to fighting. But not to losing to this test. Now try again!",bc_map; break; - case 81: 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 82: mapannounce "job_hunte"," " + strcharinfo(0) + ", we do not train to be merciful here, mercy is for the weak!",bc_map; break; - case 83: mapannounce "job_hunte"," " + strcharinfo(0) + ", defeat does not exist here, does it?!",bc_map; break; - case 84: mapannounce "job_hunte"," " + strcharinfo(0) + ", concentrate. Focus your powers!",bc_map; break; - case 85: mapannounce "job_hunte"," " + strcharinfo(0) + ", am I going mad, or did the word -think- escape your lips?",bc_map; break; - case 86: mapannounce "job_hunte"," " + strcharinfo(0) + ", you're just stalling now.",bc_map; break; - case 87: mapannounce "job_hunte"," " + strcharinfo(0) + ", life isn't always fair.",bc_map; break; - case 88: mapannounce "job_hunte"," " + strcharinfo(0) + ".... Uhhh...it's not OUR fault....",bc_map; break; - case 89: mapannounce "job_hunte"," " + strcharinfo(0) + ", survivability takes priority.",bc_map; break; - case 90: mapannounce "job_hunte"," " + strcharinfo(0) + ", people have the strength to overcome their obstacles...everyone can.",bc_map; break; - case 91: 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 92: mapannounce "job_hunte"," " + strcharinfo(0) + ", some things are real and some things are false. Can't you tell the difference?",bc_map; break; - case 93: 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 94: mapannounce "job_hunte"," " + strcharinfo(0) + ", I'll give you just one piece of advice... dying hurts like hell.",bc_map; break; - case 95: mapannounce "job_hunte"," " + strcharinfo(0) + ", don't give up the spirit! Just be more careful...",bc_map; break; - case 96: 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 97: 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 98: 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 99: 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 100: 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 101: mapannounce "job_hunte"," " + strcharinfo(0) + ", ....Chii?",bc_map; break; - case 102: mapannounce "job_hunte"," " + strcharinfo(0) + ", Mine! Mine! Mine! Mine!",bc_map; break; - case 103: mapannounce "job_hunte"," " + strcharinfo(0) + ", it's time to duel!",bc_map; break; - case 104: mapannounce "job_hunte"," " + strcharinfo(0) + ", I choose you!...wait... uagh...not you!...",bc_map; break; - case 105: mapannounce "job_hunte"," " + strcharinfo(0) + ", this isn't the time to be complimenting it!",bc_map; break; - case 106: mapannounce "job_hunte"," " + strcharinfo(0) + "...Oh great, what else could go wrong today?",bc_map; break; - case 107: 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 108: 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 109: mapannounce "job_hunte"," " + strcharinfo(0) + ", don't worry about it. We're good at fighting losing battles, remember?",bc_map; break; - case 110: 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 111: mapannounce "job_hunte"," " + strcharinfo(0) + ", you must forget about your past for the sake of your own happiness.",bc_map; break; - case 112: mapannounce "job_hunte"," " + strcharinfo(0) + ", if you can fool your friends, you can fool your enemies.",bc_map; break; - case 113: mapannounce "job_hunte"," " + strcharinfo(0) + ", this world is made up of love and peace!",bc_map; break; - case 114: mapannounce "job_hunte"," " + strcharinfo(0) + ", if you fail, you must drink this.....*evil grin*",bc_map; break; - case 115: mapannounce "job_hunte"," " + strcharinfo(0) + ", don't say we didn't warn you!",bc_map; break; - case 116: 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 117: mapannounce "job_hunte"," " + strcharinfo(0) + ", STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!",bc_map; break; - case 118: mapannounce "job_hunte"," " + strcharinfo(0) + ", how you like me now? That's right, that was MY trap!",bc_map; break; - case 119: mapannounce "job_hunte"," " + strcharinfo(0) + "...brilliant...just absolutely...genius. Sorry, I was talking about all these crazy traps.",bc_map; break; - case 120: mapannounce "job_hunte"," " + strcharinfo(0) + ", it's time to bust out of that trap, Houdini-style! Hey, wait...come back!",bc_map; break; - case 121: 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 122: mapannounce "job_hunte"," " + strcharinfo(0) + "...not smooth, dude. Go for it again, one more time!",bc_map; break; - case 123: mapannounce "job_hunte"," " + strcharinfo(0) + ",it looks like you could really be in a pickle. Back to the starting point...",bc_map; break; - case 124: 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 125: 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 126: mapannounce "job_hunte"," " + strcharinfo(0) + ", don't give up! The world still needs you!",bc_map; break; - case 127: mapannounce "job_hunte"," " + strcharinfo(0) + ", it's okay to cry. Just not too loudly.",bc_map; break; - case 128: 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; - default: mapannounce "job_hunte"," " + strcharinfo(0) + ", you have fallen into a trap. You will be returned to the starting point.",bc_map; break; + 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 job_hunter,13; + set HNTR_Q,13; warp "job_hunte",176,22; - donpcevent "Waiting Room#hnt::OnReset"; donpcevent "Manager#hnt::OnReset"; - donpcevent "Manager#hnt2::OnReset"; - donpcevent "Manager#hnt::OnDisable"; - donpcevent "Manager#hnt2::OnDisable"; - end; - -OnEnable: - hideoffnpc "1-1"; - hideoffnpc "1-2"; - hideoffnpc "1-3"; - hideoffnpc "1-4"; - hideoffnpc "1-5"; - hideoffnpc "1-6"; - hideoffnpc "1-7"; - hideoffnpc "1-8"; - hideoffnpc "2-1"; - hideoffnpc "2-2"; - hideoffnpc "2-3"; - hideoffnpc "2-4"; - hideoffnpc "2-5"; - hideoffnpc "2-6"; - hideoffnpc "2-7"; - hideoffnpc "2-8"; - hideoffnpc "3-1"; - hideoffnpc "3-2"; - hideoffnpc "3-3"; - hideoffnpc "3-4"; - hideoffnpc "4-1"; - hideoffnpc "4-2"; - hideoffnpc "4-3"; - hideoffnpc "4-4"; - hideoffnpc "5-1"; - hideoffnpc "5-2"; - hideoffnpc "5-3"; - hideoffnpc "5-4"; - hideoffnpc "6-1"; - hideoffnpc "6-2"; - hideoffnpc "6-3"; - hideoffnpc "6-4"; - hideoffnpc "7-1"; - hideoffnpc "7-2"; - hideoffnpc "7-3"; - hideoffnpc "7-4"; - hideoffnpc "8-1"; - hideoffnpc "8-2"; - hideoffnpc "8-3"; - hideoffnpc "8-4"; - hideoffnpc "9-1"; - hideoffnpc "9-2"; - hideoffnpc "9-3"; - hideoffnpc "9-4"; - hideoffnpc "10-1"; - hideoffnpc "10-2"; - hideoffnpc "10-3"; - hideoffnpc "10-4"; - hideoffnpc "11-1"; - hideoffnpc "11-2"; - hideoffnpc "11-3"; - hideoffnpc "11-4"; - hideoffnpc "12-1"; - hideoffnpc "12-2"; - hideoffnpc "12-3"; - hideoffnpc "12-4"; - hideoffnpc "13-1"; - hideoffnpc "13-2"; - hideoffnpc "13-3"; - hideoffnpc "13-4"; - hideoffnpc "14-1"; - hideoffnpc "14-2"; - hideoffnpc "14-3"; - hideoffnpc "14-4"; - hideoffnpc "15-1"; - hideoffnpc "15-2"; - hideoffnpc "15-3"; - hideoffnpc "15-4"; - hideoffnpc "16-1"; - hideoffnpc "16-2"; - hideoffnpc "16-3"; - hideoffnpc "16-4"; - hideoffnpc "17-1"; - hideoffnpc "17-2"; - hideoffnpc "17-3"; - hideoffnpc "17-4"; - hideoffnpc "18-1"; - hideoffnpc "18-2"; - hideoffnpc "18-3"; - hideoffnpc "18-4"; - hideoffnpc "19-1"; - hideoffnpc "19-2"; - hideoffnpc "19-3"; - hideoffnpc "19-4"; - hideoffnpc "20-1"; - hideoffnpc "20-2"; - hideoffnpc "20-3"; - hideoffnpc "20-4"; - hideoffnpc "21-1"; - hideoffnpc "21-2"; - hideoffnpc "21-3"; - hideoffnpc "21-4"; - hideoffnpc "22-1"; - hideoffnpc "22-2"; - hideoffnpc "22-3"; - hideoffnpc "22-4"; - hideoffnpc "23-1"; - hideoffnpc "23-2"; - hideoffnpc "23-3"; - hideoffnpc "23-4"; - hideoffnpc "24-1"; - hideoffnpc "24-2"; - hideoffnpc "24-3"; - hideoffnpc "24-4"; - hideoffnpc "25-1"; - hideoffnpc "25-2"; - hideoffnpc "25-3"; - hideoffnpc "25-4"; - hideoffnpc "26-1"; - hideoffnpc "26-2"; - hideoffnpc "26-3"; - hideoffnpc "26-4"; - hideoffnpc "27-1"; - hideoffnpc "27-2"; - hideoffnpc "27-3"; - hideoffnpc "27-4"; - hideoffnpc "28-1"; - hideoffnpc "28-2"; - hideoffnpc "28-3"; - hideoffnpc "28-4"; - hideoffnpc "29-1"; - hideoffnpc "29-2"; - hideoffnpc "29-3"; - hideoffnpc "29-4"; - hideoffnpc "30-1"; - hideoffnpc "30-2"; - hideoffnpc "30-3"; - hideoffnpc "30-4"; - hideoffnpc "31-1"; - hideoffnpc "31-2"; - hideoffnpc "31-3"; - hideoffnpc "31-4"; - hideoffnpc "32-1"; - hideoffnpc "32-2"; - hideoffnpc "32-3"; - hideoffnpc "32-4"; - hideoffnpc "33-1"; - hideoffnpc "33-2"; - hideoffnpc "33-3"; - hideoffnpc "33-4"; - hideoffnpc "34-1"; - hideoffnpc "34-2"; - hideoffnpc "34-3"; - hideoffnpc "34-4"; - hideoffnpc "35-1"; - hideoffnpc "35-2"; - hideoffnpc "35-3"; - hideoffnpc "35-4"; - hideoffnpc "36-1"; - hideoffnpc "36-2"; - hideoffnpc "36-3"; - hideoffnpc "36-4"; - hideoffnpc "37-1"; - hideoffnpc "37-2"; - hideoffnpc "37-3"; - hideoffnpc "37-4"; - hideoffnpc "38-1"; - hideoffnpc "38-2"; - hideoffnpc "38-3"; - hideoffnpc "38-4"; - hideoffnpc "39-1"; - hideoffnpc "39-2"; - hideoffnpc "39-3"; - hideoffnpc "39-4"; - hideoffnpc "40-1"; - hideoffnpc "40-2"; - hideoffnpc "40-3"; - hideoffnpc "40-4"; - hideoffnpc "41-1"; - hideoffnpc "41-2"; - hideoffnpc "41-3"; - hideoffnpc "41-4"; - hideoffnpc "42-1"; - hideoffnpc "42-2"; - hideoffnpc "42-3"; - hideoffnpc "42-4"; - hideoffnpc "43-1"; - hideoffnpc "43-2"; - hideoffnpc "43-3"; - hideoffnpc "43-4"; - hideoffnpc "44-1"; - hideoffnpc "44-2"; - hideoffnpc "44-3"; - hideoffnpc "44-4"; - hideoffnpc "45-1"; - hideoffnpc "45-2"; - hideoffnpc "45-3"; - hideoffnpc "45-4"; - hideoffnpc "46-1"; - hideoffnpc "46-2"; - hideoffnpc "46-3"; - hideoffnpc "46-4"; - hideoffnpc "47-1"; - hideoffnpc "47-2"; - hideoffnpc "47-3"; - hideoffnpc "47-4"; - hideoffnpc "48-1"; - hideoffnpc "48-2"; - hideoffnpc "48-3"; - hideoffnpc "48-4"; - hideoffnpc "49-1"; - hideoffnpc "49-2"; - hideoffnpc "49-3"; - hideoffnpc "49-4"; - hideoffnpc "50-1"; - hideoffnpc "50-2"; - hideoffnpc "50-3"; - hideoffnpc "50-4"; - hideoffnpc "51-1"; - hideoffnpc "51-2"; - hideoffnpc "51-3"; - hideoffnpc "51-4"; - hideoffnpc "52-1"; - hideoffnpc "52-2"; - hideoffnpc "52-3"; - hideoffnpc "52-4"; - hideoffnpc "53-1"; - hideoffnpc "53-2"; - hideoffnpc "53-3"; - hideoffnpc "53-4"; - hideoffnpc "54-1"; - hideoffnpc "54-2"; - hideoffnpc "54-3"; - hideoffnpc "54-4"; - hideoffnpc "55-1"; - hideoffnpc "55-2"; - hideoffnpc "55-3"; - hideoffnpc "55-4"; - hideoffnpc "56-1"; - hideoffnpc "56-2"; - hideoffnpc "56-3"; - hideoffnpc "56-4"; - hideoffnpc "56-6"; - hideoffnpc "56-7"; - hideoffnpc "56-8"; - hideoffnpc "57-1"; - hideoffnpc "57-2"; - hideoffnpc "57-3"; - end; - -OnDisable: - hideonnpc "1-1"; - hideonnpc "1-2"; - hideonnpc "1-3"; - hideonnpc "1-4"; - hideonnpc "1-5"; - hideonnpc "1-6"; - hideonnpc "1-7"; - hideonnpc "1-8"; - hideonnpc "2-1"; - hideonnpc "2-2"; - hideonnpc "2-3"; - hideonnpc "2-4"; - hideonnpc "2-5"; - hideonnpc "2-6"; - hideonnpc "2-7"; - hideonnpc "2-8"; - hideonnpc "3-1"; - hideonnpc "3-2"; - hideonnpc "3-3"; - hideonnpc "3-4"; - hideonnpc "4-1"; - hideonnpc "4-2"; - hideonnpc "4-3"; - hideonnpc "4-4"; - hideonnpc "5-1"; - hideonnpc "5-2"; - hideonnpc "5-3"; - hideonnpc "5-4"; - hideonnpc "6-1"; - hideonnpc "6-2"; - hideonnpc "6-3"; - hideonnpc "6-4"; - hideonnpc "7-1"; - hideonnpc "7-2"; - hideonnpc "7-3"; - hideonnpc "7-4"; - hideonnpc "8-1"; - hideonnpc "8-2"; - hideonnpc "8-3"; - hideonnpc "8-4"; - hideonnpc "9-1"; - hideonnpc "9-2"; - hideonnpc "9-3"; - hideonnpc "9-4"; - hideonnpc "10-1"; - hideonnpc "10-2"; - hideonnpc "10-3"; - hideonnpc "10-4"; - hideonnpc "11-1"; - hideonnpc "11-2"; - hideonnpc "11-3"; - hideonnpc "11-4"; - hideonnpc "12-1"; - hideonnpc "12-2"; - hideonnpc "12-3"; - hideonnpc "12-4"; - hideonnpc "13-1"; - hideonnpc "13-2"; - hideonnpc "13-3"; - hideonnpc "13-4"; - hideonnpc "14-1"; - hideonnpc "14-2"; - hideonnpc "14-3"; - hideonnpc "14-4"; - hideonnpc "15-1"; - hideonnpc "15-2"; - hideonnpc "15-3"; - hideonnpc "15-4"; - hideonnpc "16-1"; - hideonnpc "16-2"; - hideonnpc "16-3"; - hideonnpc "16-4"; - hideonnpc "17-1"; - hideonnpc "17-2"; - hideonnpc "17-3"; - hideonnpc "17-4"; - hideonnpc "18-1"; - hideonnpc "18-2"; - hideonnpc "18-3"; - hideonnpc "18-4"; - hideonnpc "19-1"; - hideonnpc "19-2"; - hideonnpc "19-3"; - hideonnpc "19-4"; - hideonnpc "20-1"; - hideonnpc "20-2"; - hideonnpc "20-3"; - hideonnpc "20-4"; - hideonnpc "21-1"; - hideonnpc "21-2"; - hideonnpc "21-3"; - hideonnpc "21-4"; - hideonnpc "22-1"; - hideonnpc "22-2"; - hideonnpc "22-3"; - hideonnpc "22-4"; - hideonnpc "23-1"; - hideonnpc "23-2"; - hideonnpc "23-3"; - hideonnpc "23-4"; - hideonnpc "24-1"; - hideonnpc "24-2"; - hideonnpc "24-3"; - hideonnpc "24-4"; - hideonnpc "25-1"; - hideonnpc "25-2"; - hideonnpc "25-3"; - hideonnpc "25-4"; - hideonnpc "26-1"; - hideonnpc "26-2"; - hideonnpc "26-3"; - hideonnpc "26-4"; - hideonnpc "27-1"; - hideonnpc "27-2"; - hideonnpc "27-3"; - hideonnpc "27-4"; - hideonnpc "28-1"; - hideonnpc "28-2"; - hideonnpc "28-3"; - hideonnpc "28-4"; - hideonnpc "29-1"; - hideonnpc "29-2"; - hideonnpc "29-3"; - hideonnpc "29-4"; - hideonnpc "30-1"; - hideonnpc "30-2"; - hideonnpc "30-3"; - hideonnpc "30-4"; - hideonnpc "31-1"; - hideonnpc "31-2"; - hideonnpc "31-3"; - hideonnpc "31-4"; - hideonnpc "32-1"; - hideonnpc "32-2"; - hideonnpc "32-3"; - hideonnpc "32-4"; - hideonnpc "33-1"; - hideonnpc "33-2"; - hideonnpc "33-3"; - hideonnpc "33-4"; - hideonnpc "34-1"; - hideonnpc "34-2"; - hideonnpc "34-3"; - hideonnpc "34-4"; - hideonnpc "35-1"; - hideonnpc "35-2"; - hideonnpc "35-3"; - hideonnpc "35-4"; - hideonnpc "36-1"; - hideonnpc "36-2"; - hideonnpc "36-3"; - hideonnpc "36-4"; - hideonnpc "37-1"; - hideonnpc "37-2"; - hideonnpc "37-3"; - hideonnpc "37-4"; - hideonnpc "38-1"; - hideonnpc "38-2"; - hideonnpc "38-3"; - hideonnpc "38-4"; - hideonnpc "39-1"; - hideonnpc "39-2"; - hideonnpc "39-3"; - hideonnpc "39-4"; - hideonnpc "40-1"; - hideonnpc "40-2"; - hideonnpc "40-3"; - hideonnpc "40-4"; - hideonnpc "41-1"; - hideonnpc "41-2"; - hideonnpc "41-3"; - hideonnpc "41-4"; - hideonnpc "42-1"; - hideonnpc "42-2"; - hideonnpc "42-3"; - hideonnpc "42-4"; - hideonnpc "43-1"; - hideonnpc "43-2"; - hideonnpc "43-3"; - hideonnpc "43-4"; - hideonnpc "44-1"; - hideonnpc "44-2"; - hideonnpc "44-3"; - hideonnpc "44-4"; - hideonnpc "45-1"; - hideonnpc "45-2"; - hideonnpc "45-3"; - hideonnpc "45-4"; - hideonnpc "46-1"; - hideonnpc "46-2"; - hideonnpc "46-3"; - hideonnpc "46-4"; - hideonnpc "47-1"; - hideonnpc "47-2"; - hideonnpc "47-3"; - hideonnpc "47-4"; - hideonnpc "48-1"; - hideonnpc "48-2"; - hideonnpc "48-3"; - hideonnpc "48-4"; - hideonnpc "49-1"; - hideonnpc "49-2"; - hideonnpc "49-3"; - hideonnpc "49-4"; - hideonnpc "50-1"; - hideonnpc "50-2"; - hideonnpc "50-3"; - hideonnpc "50-4"; - hideonnpc "51-1"; - hideonnpc "51-2"; - hideonnpc "51-3"; - hideonnpc "51-4"; - hideonnpc "52-1"; - hideonnpc "52-2"; - hideonnpc "52-3"; - hideonnpc "52-4"; - hideonnpc "53-1"; - hideonnpc "53-2"; - hideonnpc "53-3"; - hideonnpc "53-4"; - hideonnpc "54-1"; - hideonnpc "54-2"; - hideonnpc "54-3"; - hideonnpc "54-4"; - hideonnpc "55-1"; - hideonnpc "55-2"; - hideonnpc "55-3"; - hideonnpc "55-4"; - hideonnpc "56-1"; - hideonnpc "56-2"; - hideonnpc "56-3"; - hideonnpc "56-4"; - hideonnpc "56-6"; - hideonnpc "56-7"; - hideonnpc "56-8"; - hideonnpc "57-1"; - hideonnpc "57-2"; - hideonnpc "57-3"; + donpcevent "Waiting Room#hnt::OnStart"; end; } -job_hunte,52,140,0 duplicate(hntjqt) 1-1 139,0,1 -job_hunte,53,140,0 duplicate(hntjqt) 1-2 139,0,1 -job_hunte,54,141,0 duplicate(hntjqt) 1-3 139 -job_hunte,55,141,0 duplicate(hntjqt) 1-4 139 -job_hunte,55,140,0 duplicate(hntjqt) 1-5 139 -job_hunte,54,140,0 duplicate(hntjqt) 1-6 139 -job_hunte,52,138,0 duplicate(hntjqt) 1-7 139 -job_hunte,53,138,0 duplicate(hntjqt) 1-8 139 -job_hunte,62,140,0 duplicate(hntjqt) 2-1 139,0,1 -job_hunte,63,140,0 duplicate(hntjqt) 2-2 139,0,1 -job_hunte,64,140,0 duplicate(hntjqt) 2-3 139 -job_hunte,64,141,0 duplicate(hntjqt) 2-4 139 -job_hunte,65,140,0 duplicate(hntjqt) 2-5 139 -job_hunte,65,141,0 duplicate(hntjqt) 2-6 139 -job_hunte,62,138,0 duplicate(hntjqt) 2-7 139 -job_hunte,63,138,0 duplicate(hntjqt) 2-8 139 -job_hunte,72,140,0 duplicate(hntjqt) 3-1 139,0,1 -job_hunte,73,140,0 duplicate(hntjqt) 3-2 139,0,1 -job_hunte,72,138,0 duplicate(hntjqt) 3-3 139 -job_hunte,72,138,0 duplicate(hntjqt) 3-4 139 -job_hunte,78,140,0 duplicate(hntjqt) 4-1 139 -job_hunte,78,141,0 duplicate(hntjqt) 4-2 139 -job_hunte,79,140,0 duplicate(hntjqt) 4-3 139 -job_hunte,79,141,0 duplicate(hntjqt) 4-4 139 -job_hunte,82,138,0 duplicate(hntjqt) 5-1 139 -job_hunte,82,139,0 duplicate(hntjqt) 5-2 139 -job_hunte,83,138,0 duplicate(hntjqt) 5-3 139 -job_hunte,83,139,0 duplicate(hntjqt) 5-4 139 -job_hunte,99,138,0 duplicate(hntjqt) 6-1 139,1,0 -job_hunte,99,139,0 duplicate(hntjqt) 6-2 139,1,0 -job_hunte,101,138,0 duplicate(hntjqt) 6-3 139 -job_hunte,101,139,0 duplicate(hntjqt) 6-4 139 -job_hunte,106,140,0 duplicate(hntjqt) 7-1 139,0,1 -job_hunte,107,140,0 duplicate(hntjqt) 7-2 139,0,1 -job_hunte,106,138,0 duplicate(hntjqt) 7-3 139 -job_hunte,107,138,0 duplicate(hntjqt) 7-4 139 -job_hunte,112,140,0 duplicate(hntjqt) 8-1 139 -job_hunte,112,141,0 duplicate(hntjqt) 8-2 139 -job_hunte,113,140,0 duplicate(hntjqt) 8-3 139 -job_hunte,113,141,0 duplicate(hntjqt) 8-4 139 -job_hunte,116,140,0 duplicate(hntjqt) 9-1 139 -job_hunte,116,141,0 duplicate(hntjqt) 9-2 139 -job_hunte,117,140,0 duplicate(hntjqt) 9-3 139 -job_hunte,117,141,0 duplicate(hntjqt) 9-4 139 -job_hunte,120,138,0 duplicate(hntjqt) 10-1 139 -job_hunte,120,139,0 duplicate(hntjqt) 10-2 139 -job_hunte,121,138,0 duplicate(hntjqt) 10-3 139 -job_hunte,121,139,0 duplicate(hntjqt) 10-4 139 -job_hunte,126,139,0 duplicate(hntjqt) 11-1 139,0,2 -job_hunte,127,139,0 duplicate(hntjqt) 11-2 139,0,2 -job_hunte,126,136,0 duplicate(hntjqt) 11-3 139 -job_hunte,127,136,0 duplicate(hntjqt) 11-4 139 -job_hunte,52,134,0 duplicate(hntjqt) 12-1 139,0,1 -job_hunte,53,134,0 duplicate(hntjqt) 12-2 139,0,1 -job_hunte,52,132,0 duplicate(hntjqt) 12-3 139 -job_hunte,53,132,0 duplicate(hntjqt) 12-4 139 -job_hunte,124,130,0 duplicate(hntjqt) 13-1 139 -job_hunte,124,131,0 duplicate(hntjqt) 13-2 139 -job_hunte,125,130,0 duplicate(hntjqt) 13-3 139 -job_hunte,125,131,0 duplicate(hntjqt) 13-4 139 -job_hunte,64,128,0 duplicate(hntjqt) 14-1 139 -job_hunte,64,129,0 duplicate(hntjqt) 14-2 139 -job_hunte,65,128,0 duplicate(hntjqt) 14-3 139 -job_hunte,65,129,0 duplicate(hntjqt) 14-4 139 -job_hunte,68,126,0 duplicate(hntjqt) 15-1 139 -job_hunte,68,127,0 duplicate(hntjqt) 15-2 139 -job_hunte,69,126,0 duplicate(hntjqt) 15-3 139 -job_hunte,69,127,0 duplicate(hntjqt) 15-4 139 -job_hunte,75,128,0 duplicate(hntjqt) 16-1 139,1,0 -job_hunte,75,129,0 duplicate(hntjqt) 16-2 139,1,0 -job_hunte,77,128,0 duplicate(hntjqt) 16-3 139 -job_hunte,77,129,0 duplicate(hntjqt) 16-4 139 -job_hunte,82,126,0 duplicate(hntjqt) 17-1 139 -job_hunte,82,127,0 duplicate(hntjqt) 17-2 139 -job_hunte,83,126,0 duplicate(hntjqt) 17-3 139 -job_hunte,83,127,0 duplicate(hntjqt) 17-4 139 -job_hunte,96,128,0 duplicate(hntjqt) 18-1 139 -job_hunte,96,129,0 duplicate(hntjqt) 18-2 139 -job_hunte,97,128,0 duplicate(hntjqt) 18-3 139 -job_hunte,97,129,0 duplicate(hntjqt) 18-4 139 -job_hunte,100,126,0 duplicate(hntjqt) 19-1 139 -job_hunte,100,127,0 duplicate(hntjqt) 19-2 139 -job_hunte,101,126,0 duplicate(hntjqt) 19-3 139 -job_hunte,101,127,0 duplicate(hntjqt) 19-4 139 -job_hunte,106,128,0 duplicate(hntjqt) 20-1 139 -job_hunte,106,129,0 duplicate(hntjqt) 20-2 139 -job_hunte,107,128,0 duplicate(hntjqt) 20-3 139 -job_hunte,107,129,0 duplicate(hntjqt) 20-4 139 -job_hunte,112,126,0 duplicate(hntjqt) 21-1 139 -job_hunte,112,127,0 duplicate(hntjqt) 21-2 139 -job_hunte,113,126,0 duplicate(hntjqt) 21-3 139 -job_hunte,113,127,0 duplicate(hntjqt) 21-4 139 -job_hunte,126,126,0 duplicate(hntjqt) 22-1 139 -job_hunte,126,127,0 duplicate(hntjqt) 22-2 139 -job_hunte,127,126,0 duplicate(hntjqt) 22-3 139 -job_hunte,127,127,0 duplicate(hntjqt) 22-4 139 -job_hunte,52,122,0 duplicate(hntjqt) 23-1 139,0,1 -job_hunte,52,122,0 duplicate(hntjqt) 23-2 139,0,1 -job_hunte,53,120,0 duplicate(hntjqt) 23-3 139,1,0 -job_hunte,54,121,0 duplicate(hntjqt) 23-4 139 -job_hunte,55,121,0 duplicate(hntjqt) 23-5 139 -job_hunte,55,120,0 duplicate(hntjqt) 23-6 139 -job_hunte,66,120,0 duplicate(hntjqt) 24-1 139 -job_hunte,66,121,0 duplicate(hntjqt) 24-2 139 -job_hunte,67,120,0 duplicate(hntjqt) 24-3 139 -job_hunte,67,121,0 duplicate(hntjqt) 24-4 139 -job_hunte,114,118,0 duplicate(hntjqt) 25-1 139 -job_hunte,114,119,0 duplicate(hntjqt) 25-2 139 -job_hunte,115,118,0 duplicate(hntjqt) 25-3 139 -job_hunte,115,119,0 duplicate(hntjqt) 25-4 139 -job_hunte,124,120,0 duplicate(hntjqt) 26-1 139,0,1 -job_hunte,125,120,0 duplicate(hntjqt) 26-2 139,0,1 -job_hunte,124,118,0 duplicate(hntjqt) 26-3 139 -job_hunte,125,118,0 duplicate(hntjqt) 26-4 139 -job_hunte,66,116,0 duplicate(hntjqt) 27-1 139 -job_hunte,66,117,0 duplicate(hntjqt) 27-2 139 -job_hunte,67,116,0 duplicate(hntjqt) 27-3 139 -job_hunte,67,117,0 duplicate(hntjqt) 27-4 139 -job_hunte,76,114,0 duplicate(hntjqt) 28-1 139 -job_hunte,76,115,0 duplicate(hntjqt) 28-2 139 -job_hunte,77,114,0 duplicate(hntjqt) 28-3 139 -job_hunte,77,115,0 duplicate(hntjqt) 28-4 139 -job_hunte,82,116,0 duplicate(hntjqt) 29-1 139 -job_hunte,82,117,0 duplicate(hntjqt) 29-2 139 -job_hunte,83,116,0 duplicate(hntjqt) 29-3 139 -job_hunte,83,117,0 duplicate(hntjqt) 29-4 139 -job_hunte,86,114,0 duplicate(hntjqt) 30-1 139 -job_hunte,86,115,0 duplicate(hntjqt) 30-2 139 -job_hunte,87,114,0 duplicate(hntjqt) 30-3 139 -job_hunte,87,115,0 duplicate(hntjqt) 30-4 139 -job_hunte,92,115,0 duplicate(hntjqt) 31-1 139,1,0 -job_hunte,92,114,0 duplicate(hntjqt) 31-2 139,1,0 -job_hunte,90,115,0 duplicate(hntjqt) 31-3 139 -job_hunte,102,116,0 duplicate(hntjqt) 32-1 139 -job_hunte,102,117,0 duplicate(hntjqt) 32-2 139 -job_hunte,103,116,0 duplicate(hntjqt) 32-3 139 -job_hunte,103,117,0 duplicate(hntjqt) 32-4 139 -job_hunte,114,114,0 duplicate(hntjqt) 33-1 139 -job_hunte,114,115,0 duplicate(hntjqt) 33-2 139 -job_hunte,115,114,0 duplicate(hntjqt) 33-3 139 -job_hunte,115,115,0 duplicate(hntjqt) 33-4 139 -job_hunte,54,110,0 duplicate(hntjqt) 34-1 139,0,1 -job_hunte,55,110,0 duplicate(hntjqt) 34-2 139,0,1 -job_hunte,54,108,0 duplicate(hntjqt) 34-3 139 -job_hunte,55,108,0 duplicate(hntjqt) 34-4 139 -job_hunte,64,112,0 duplicate(hntjqt) 35-1 139 -job_hunte,64,113,0 duplicate(hntjqt) 35-2 139 -job_hunte,65,112,0 duplicate(hntjqt) 35-3 139 -job_hunte,65,113,0 duplicate(hntjqt) 35-4 139 -job_hunte,80,110,0 duplicate(hntjqt) 36-1 139 -job_hunte,80,111,0 duplicate(hntjqt) 36-2 139 -job_hunte,81,110,0 duplicate(hntjqt) 36-3 139 -job_hunte,81,111,0 duplicate(hntjqt) 36-4 139 -job_hunte,90,108,0 duplicate(hntjqt) 37-1 139,0,6 -job_hunte,91,108,0 duplicate(hntjqt) 37-2 139,0,5 -job_hunte,91,102,0 duplicate(hntjqt) 37-3 139 -job_hunte,98,109,0 duplicate(hntjqt) 38-1 139,0,2 -job_hunte,99,109,0 duplicate(hntjqt) 38-2 139,0,2 -job_hunte,103,109,0 duplicate(hntjqt) 38-3 139,3,0 -job_hunte,103,108,0 duplicate(hntjqt) 38-4 139,3,0 -job_hunte,97,106,0 duplicate(hntjqt) 39-1 139,2,0 -job_hunte,96,107,0 duplicate(hntjqt) 39-2 139,1,0 -job_hunte,94,108,0 duplicate(hntjqt) 39-3 139,0,1 -job_hunte,95,109,0 duplicate(hntjqt) 39-4 139 -job_hunte,95,108,0 duplicate(hntjqt) 40-1 139 -job_hunte,94,106,0 duplicate(hntjqt) 40-2 139 -job_hunte,96,102,0 duplicate(hntjqt) 40-3 139,0,3 -job_hunte,97,102,0 duplicate(hntjqt) 40-4 139,0,3 -job_hunte,95,98,0 duplicate(hntjqt) 41-1 139,2,0 -job_hunte,94,99,0 duplicate(hntjqt) 42-1 139,1,0 -job_hunte,92,98,0 duplicate(hntjqt) 43-1 139 -job_hunte,112,110,0 duplicate(hntjqt) 44-1 139 -job_hunte,112,111,0 duplicate(hntjqt) 44-2 139 -job_hunte,113,110,0 duplicate(hntjqt) 44-3 139 -job_hunte,113,111,0 duplicate(hntjqt) 44-4 139 -job_hunte,126,108,0 duplicate(hntjqt) 45-1 139,0,1 -job_hunte,127,108,0 duplicate(hntjqt) 45-2 139,0,1 -job_hunte,126,106,0 duplicate(hntjqt) 45-3 139 -job_hunte,126,106,0 duplicate(hntjqt) 45-4 139 -job_hunte,53,102,0 duplicate(hntjqt) 46-1 139,1,1 -job_hunte,55,102,0 duplicate(hntjqt) 46-2 139,0,1 -job_hunte,53,100,0 duplicate(hntjqt) 46-3 139,1,0 -job_hunte,55,100,0 duplicate(hntjqt) 46-4 139 -job_hunte,64,106,0 duplicate(hntjqt) 47-1 139 -job_hunte,64,107,0 duplicate(hntjqt) 47-2 139 -job_hunte,65,106,0 duplicate(hntjqt) 47-3 139 -job_hunte,65,107,0 duplicate(hntjqt) 47-4 139 -job_hunte,66,100,0 duplicate(hntjqt) 48-1 139 -job_hunte,66,101,0 duplicate(hntjqt) 48-2 139 -job_hunte,67,100,0 duplicate(hntjqt) 48-3 139 -job_hunte,67,101,0 duplicate(hntjqt) 48-4 139 -job_hunte,86,106,0 duplicate(hntjqt) 49-1 139,0,1 -job_hunte,87,106,0 duplicate(hntjqt) 49-2 139,0,1 -job_hunte,82,104,0 duplicate(hntjqt) 49-3 139,5,0 -job_hunte,81,105,0 duplicate(hntjqt) 49-4 139,4,0 -job_hunte,76,105,0 duplicate(hntjqt) 50-1 139 -job_hunte,76,104,0 duplicate(hntjqt) 50-2 139 -job_hunte,78,101,0 duplicate(hntjqt) 50-3 139,0,2 -job_hunte,79,101,0 duplicate(hntjqt) 50-4 139,0,2 -job_hunte,76,99,0 duplicate(hntjqt) 51-1 139,1,0 -job_hunte,77,98,0 duplicate(hntjqt) 51-2 139,2,0 -job_hunte,74,99,0 duplicate(hntjqt) 51-3 139 -job_hunte,74,98,0 duplicate(hntjqt) 51-4 139 -job_hunte,82,100,0 duplicate(hntjqt) 53-1 139 -job_hunte,82,101,0 duplicate(hntjqt) 53-2 139 -job_hunte,83,100,0 duplicate(hntjqt) 53-3 139 -job_hunte,83,101,0 duplicate(hntjqt) 53-4 139 -job_hunte,106,104,0 duplicate(hntjqt) 54-1 139 -job_hunte,106,105,0 duplicate(hntjqt) 54-2 139 -job_hunte,107,104,0 duplicate(hntjqt) 54-3 139 -job_hunte,107,105,0 duplicate(hntjqt) 54-4 139 -job_hunte,112,104,0 duplicate(hntjqt) 55-1 139,0,1 -job_hunte,113,104,0 duplicate(hntjqt) 55-2 139,0,1 -job_hunte,112,102,0 duplicate(hntjqt) 55-3 139 -job_hunte,113,102,0 duplicate(hntjqt) 55-4 139 -job_hunte,54,92,0 duplicate(hntjqt) 56-1 139 -job_hunte,54,93,0 duplicate(hntjqt) 56-2 139 -job_hunte,55,92,0 duplicate(hntjqt) 56-3 139 -job_hunte,55,93,0 duplicate(hntjqt) 56-4 139 -job_hunte,52,90,0 duplicate(hntjqt) 56-5 139 -job_hunte,52,91,0 duplicate(hntjqt) 56-6 139 -job_hunte,53,90,0 duplicate(hntjqt) 56-7 139 -job_hunte,53,91,0 duplicate(hntjqt) 56-8 139 -job_hunte,64,92,0 duplicate(hntjqt) 57-1 139 -job_hunte,64,93,0 duplicate(hntjqt) 57-2 139 -job_hunte,65,92,0 duplicate(hntjqt) 57-3 139 - -- script hnt_job_quest_test2::hntjqt2 -1,{ - +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 job_hunter,13; + 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 "Waiting Room#hnt::OnReset"; donpcevent "Manager#hnt::OnReset"; - donpcevent "Manager#hnt2::OnReset"; - donpcevent "Manager#hnt::OnDisable"; - donpcevent "Manager#hnt2::OnDisable"; - end; - -OnEnable: - hideoffnpc "57-4"; - hideoffnpc "58-1"; - hideoffnpc "58-2"; - hideoffnpc "58-3"; - hideoffnpc "58-4"; - hideoffnpc "59-1"; - hideoffnpc "59-2"; - hideoffnpc "59-3"; - hideoffnpc "59-4"; - hideoffnpc "60-1"; - hideoffnpc "60-2"; - hideoffnpc "60-3"; - hideoffnpc "60-4"; - hideoffnpc "61-1"; - hideoffnpc "61-2"; - hideoffnpc "61-3"; - hideoffnpc "61-4"; - hideoffnpc "62-1"; - hideoffnpc "62-2"; - hideoffnpc "62-3"; - hideoffnpc "62-4"; - hideoffnpc "63-1"; - hideoffnpc "63-2"; - hideoffnpc "63-3"; - hideoffnpc "63-4"; - hideoffnpc "64-1"; - hideoffnpc "64-2"; - hideoffnpc "64-3"; - hideoffnpc "64-4"; - hideoffnpc "65-1"; - hideoffnpc "65-2"; - hideoffnpc "65-3"; - hideoffnpc "65-4"; - hideoffnpc "66-1"; - hideoffnpc "66-2"; - hideoffnpc "66-3"; - hideoffnpc "66-4"; - hideoffnpc "67-1"; - hideoffnpc "67-2"; - hideoffnpc "67-3"; - hideoffnpc "67-4"; - hideoffnpc "68-1"; - hideoffnpc "68-2"; - hideoffnpc "68-3"; - hideoffnpc "68-4"; - hideoffnpc "69-1"; - hideoffnpc "69-2"; - hideoffnpc "69-3"; - hideoffnpc "69-4"; - hideoffnpc "70-1"; - hideoffnpc "70-2"; - hideoffnpc "70-3"; - hideoffnpc "70-4"; - hideoffnpc "71-1"; - hideoffnpc "71-2"; - hideoffnpc "71-3"; - hideoffnpc "71-4"; - hideoffnpc "72-1"; - hideoffnpc "72-2"; - hideoffnpc "72-3"; - hideoffnpc "72-4"; - hideoffnpc "73-1"; - hideoffnpc "73-2"; - hideoffnpc "73-3"; - hideoffnpc "73-4"; - hideoffnpc "74-1"; - hideoffnpc "74-2"; - hideoffnpc "74-3"; - hideoffnpc "74-4"; - hideoffnpc "75-1"; - hideoffnpc "75-2"; - hideoffnpc "75-3"; - hideoffnpc "75-4"; - hideoffnpc "76-1"; - hideoffnpc "76-2"; - hideoffnpc "76-3"; - hideoffnpc "76-4"; - hideoffnpc "77-1"; - hideoffnpc "77-2"; - hideoffnpc "77-3"; - hideoffnpc "77-4"; - hideoffnpc "78-1"; - hideoffnpc "78-2"; - hideoffnpc "78-3"; - hideoffnpc "78-4"; - hideoffnpc "79-1"; - hideoffnpc "79-2"; - hideoffnpc "79-3"; - hideoffnpc "79-4"; - hideoffnpc "80-1"; - hideoffnpc "80-2"; - hideoffnpc "80-3"; - hideoffnpc "80-4"; - hideoffnpc "81-1"; - hideoffnpc "81-2"; - hideoffnpc "81-3"; - hideoffnpc "81-4"; - hideoffnpc "82-1"; - hideoffnpc "82-2"; - hideoffnpc "82-3"; - hideoffnpc "82-4"; - hideoffnpc "83-1"; - hideoffnpc "83-2"; - hideoffnpc "83-3"; - hideoffnpc "83-4"; - hideoffnpc "84-1"; - hideoffnpc "84-2"; - hideoffnpc "84-3"; - hideoffnpc "84-4"; - hideoffnpc "85-1"; - hideoffnpc "85-2"; - hideoffnpc "85-3"; - hideoffnpc "85-4"; - hideoffnpc "86-1"; - hideoffnpc "86-2"; - hideoffnpc "86-3"; - hideoffnpc "86-4"; - hideoffnpc "87-1"; - hideoffnpc "87-2"; - hideoffnpc "87-3"; - hideoffnpc "87-4"; - hideoffnpc "88-1"; - hideoffnpc "88-2"; - hideoffnpc "88-3"; - hideoffnpc "88-4"; - hideoffnpc "89-1"; - hideoffnpc "89-2"; - hideoffnpc "89-3"; - hideoffnpc "89-4"; - hideoffnpc "90-1"; - hideoffnpc "90-2"; - hideoffnpc "90-3"; - hideoffnpc "90-4"; - hideoffnpc "91-1"; - hideoffnpc "91-2"; - hideoffnpc "91-3"; - hideoffnpc "91-4"; - hideoffnpc "92-1"; - hideoffnpc "92-2"; - hideoffnpc "92-3"; - hideoffnpc "92-4"; - hideoffnpc "93-1"; - hideoffnpc "93-2"; - hideoffnpc "93-3"; - hideoffnpc "93-4"; - hideoffnpc "94-1"; - hideoffnpc "94-2"; - hideoffnpc "94-3"; - hideoffnpc "94-4"; - hideoffnpc "95-1"; - hideoffnpc "95-2"; - hideoffnpc "95-3"; - hideoffnpc "95-4"; - hideoffnpc "96-1"; - hideoffnpc "96-2"; - hideoffnpc "96-3"; - hideoffnpc "96-4"; - hideoffnpc "97-1"; - hideoffnpc "97-2"; - hideoffnpc "97-3"; - hideoffnpc "97-4"; - end; - -OnDisable: - hideonnpc "57-4"; - hideonnpc "58-1"; - hideonnpc "58-2"; - hideonnpc "58-3"; - hideonnpc "58-4"; - hideonnpc "59-1"; - hideonnpc "59-2"; - hideonnpc "59-3"; - hideonnpc "59-4"; - hideonnpc "60-1"; - hideonnpc "60-2"; - hideonnpc "60-3"; - hideonnpc "60-4"; - hideonnpc "61-1"; - hideonnpc "61-2"; - hideonnpc "61-3"; - hideonnpc "61-4"; - hideonnpc "62-1"; - hideonnpc "62-2"; - hideonnpc "62-3"; - hideonnpc "62-4"; - hideonnpc "63-1"; - hideonnpc "63-2"; - hideonnpc "63-3"; - hideonnpc "63-4"; - hideonnpc "64-1"; - hideonnpc "64-2"; - hideonnpc "64-3"; - hideonnpc "64-4"; - hideonnpc "65-1"; - hideonnpc "65-2"; - hideonnpc "65-3"; - hideonnpc "65-4"; - hideonnpc "66-1"; - hideonnpc "66-2"; - hideonnpc "66-3"; - hideonnpc "66-4"; - hideonnpc "67-1"; - hideonnpc "67-2"; - hideonnpc "67-3"; - hideonnpc "67-4"; - hideonnpc "68-1"; - hideonnpc "68-2"; - hideonnpc "68-3"; - hideonnpc "68-4"; - hideonnpc "69-1"; - hideonnpc "69-2"; - hideonnpc "69-3"; - hideonnpc "69-4"; - hideonnpc "70-1"; - hideonnpc "70-2"; - hideonnpc "70-3"; - hideonnpc "70-4"; - hideonnpc "71-1"; - hideonnpc "71-2"; - hideonnpc "71-3"; - hideonnpc "71-4"; - hideonnpc "72-1"; - hideonnpc "72-2"; - hideonnpc "72-3"; - hideonnpc "72-4"; - hideonnpc "73-1"; - hideonnpc "73-2"; - hideonnpc "73-3"; - hideonnpc "73-4"; - hideonnpc "74-1"; - hideonnpc "74-2"; - hideonnpc "74-3"; - hideonnpc "74-4"; - hideonnpc "75-1"; - hideonnpc "75-2"; - hideonnpc "75-3"; - hideonnpc "75-4"; - hideonnpc "76-1"; - hideonnpc "76-2"; - hideonnpc "76-3"; - hideonnpc "76-4"; - hideonnpc "77-1"; - hideonnpc "77-2"; - hideonnpc "77-3"; - hideonnpc "77-4"; - hideonnpc "78-1"; - hideonnpc "78-2"; - hideonnpc "78-3"; - hideonnpc "78-4"; - hideonnpc "79-1"; - hideonnpc "79-2"; - hideonnpc "79-3"; - hideonnpc "79-4"; - hideonnpc "80-1"; - hideonnpc "80-2"; - hideonnpc "80-3"; - hideonnpc "80-4"; - hideonnpc "81-1"; - hideonnpc "81-2"; - hideonnpc "81-3"; - hideonnpc "81-4"; - hideonnpc "82-1"; - hideonnpc "82-2"; - hideonnpc "82-3"; - hideonnpc "82-4"; - hideonnpc "83-1"; - hideonnpc "83-2"; - hideonnpc "83-3"; - hideonnpc "83-4"; - hideonnpc "84-1"; - hideonnpc "84-2"; - hideonnpc "84-3"; - hideonnpc "84-4"; - hideonnpc "85-1"; - hideonnpc "85-2"; - hideonnpc "85-3"; - hideonnpc "85-4"; - hideonnpc "86-1"; - hideonnpc "86-2"; - hideonnpc "86-3"; - hideonnpc "86-4"; - hideonnpc "87-1"; - hideonnpc "87-2"; - hideonnpc "87-3"; - hideonnpc "87-4"; - hideonnpc "88-1"; - hideonnpc "88-2"; - hideonnpc "88-3"; - hideonnpc "88-4"; - hideonnpc "89-1"; - hideonnpc "89-2"; - hideonnpc "89-3"; - hideonnpc "89-4"; - hideonnpc "90-1"; - hideonnpc "90-2"; - hideonnpc "90-3"; - hideonnpc "90-4"; - hideonnpc "91-1"; - hideonnpc "91-2"; - hideonnpc "91-3"; - hideonnpc "91-4"; - hideonnpc "92-1"; - hideonnpc "92-2"; - hideonnpc "92-3"; - hideonnpc "92-4"; - hideonnpc "93-1"; - hideonnpc "93-2"; - hideonnpc "93-3"; - hideonnpc "93-4"; - hideonnpc "94-1"; - hideonnpc "94-2"; - hideonnpc "94-3"; - hideonnpc "94-4"; - hideonnpc "95-1"; - hideonnpc "95-2"; - hideonnpc "95-3"; - hideonnpc "95-4"; - hideonnpc "96-1"; - hideonnpc "96-2"; - hideonnpc "96-3"; - hideonnpc "96-4"; - hideonnpc "97-1"; - hideonnpc "97-2"; - hideonnpc "97-3"; - hideonnpc "97-4"; + donpcevent "Waiting Room#hnt::OnStart"; end; } -job_hunte,65,93,0 duplicate(hntjqt2) 57-4 139 -job_hunte,76,94,0 duplicate(hntjqt2) 58-1 139 -job_hunte,76,95,0 duplicate(hntjqt2) 58-2 139 -job_hunte,77,94,0 duplicate(hntjqt2) 58-3 139 -job_hunte,77,95,0 duplicate(hntjqt2) 58-4 139 -job_hunte,78,92,0 duplicate(hntjqt2) 59-1 139 -job_hunte,78,93,0 duplicate(hntjqt2) 59-2 139 -job_hunte,79,92,0 duplicate(hntjqt2) 59-3 139 -job_hunte,79,93,0 duplicate(hntjqt2) 59-4 139 -job_hunte,86,92,0 duplicate(hntjqt2) 60-1 139 -job_hunte,86,93,0 duplicate(hntjqt2) 60-2 139 -job_hunte,87,92,0 duplicate(hntjqt2) 60-3 139 -job_hunte,87,93,0 duplicate(hntjqt2) 60-4 139 -job_hunte,90,96,0 duplicate(hntjqt2) 61-1 139 -job_hunte,90,97,0 duplicate(hntjqt2) 61-2 139 -job_hunte,91,96,0 duplicate(hntjqt2) 61-3 139 -job_hunte,91,97,0 duplicate(hntjqt2) 61-4 139 -job_hunte,99,95,0 duplicate(hntjqt2) 62-1 139,1,0 -job_hunte,99,94,0 duplicate(hntjqt2) 62-2 139,1,0 -job_hunte,101,94,0 duplicate(hntjqt2) 62-3 139,0,1 -job_hunte,100,93,0 duplicate(hntjqt2) 62-4 139 -job_hunte,100,92,0 duplicate(hntjqt2) 63-1 139 -job_hunte,101,92,0 duplicate(hntjqt2) 63-2 139 -job_hunte,102,98,0 duplicate(hntjqt2) 64-1 139 -job_hunte,102,99,0 duplicate(hntjqt2) 64-2 139 -job_hunte,103,98,0 duplicate(hntjqt2) 64-3 139 -job_hunte,103,99,0 duplicate(hntjqt2) 64-4 139 -job_hunte,102,90,0 duplicate(hntjqt2) 65-1 139 -job_hunte,102,91,0 duplicate(hntjqt2) 65-2 139 -job_hunte,103,90,0 duplicate(hntjqt2) 65-3 139 -job_hunte,103,91,0 duplicate(hntjqt2) 65-4 139 -job_hunte,114,96,0 duplicate(hntjqt2) 66-1 139 -job_hunte,114,97,0 duplicate(hntjqt2) 66-2 139 -job_hunte,115,96,0 duplicate(hntjqt2) 66-3 139 -job_hunte,115,97,0 duplicate(hntjqt2) 66-4 139 -job_hunte,112,90,0 duplicate(hntjqt2) 67-1 139 -job_hunte,112,91,0 duplicate(hntjqt2) 67-2 139 -job_hunte,113,90,0 duplicate(hntjqt2) 67-3 139 -job_hunte,113,91,0 duplicate(hntjqt2) 67-4 139 -job_hunte,125,97,0 duplicate(hntjqt2) 68-1 139,1,0 -job_hunte,125,96,0 duplicate(hntjqt2) 68-2 139,1,0 -job_hunte,127,96,0 duplicate(hntjqt2) 68-3 139 -job_hunte,127,97,0 duplicate(hntjqt2) 68-4 139 -job_hunte,52,86,0 duplicate(hntjqt2) 69-1 139 -job_hunte,52,87,0 duplicate(hntjqt2) 69-2 139 -job_hunte,53,86,0 duplicate(hntjqt2) 69-3 139 -job_hunte,53,87,0 duplicate(hntjqt2) 69-4 139 -job_hunte,66,88,0 duplicate(hntjqt2) 70-1 139 -job_hunte,66,89,0 duplicate(hntjqt2) 70-2 139 -job_hunte,67,88,0 duplicate(hntjqt2) 70-3 139 -job_hunte,67,89,0 duplicate(hntjqt2) 70-4 139 -job_hunte,114,84,0 duplicate(hntjqt2) 71-1 139 -job_hunte,114,85,0 duplicate(hntjqt2) 71-2 139 -job_hunte,115,84,0 duplicate(hntjqt2) 71-3 139 -job_hunte,115,85,0 duplicate(hntjqt2) 71-4 139 -job_hunte,126,86,0 duplicate(hntjqt2) 72-1 139 -job_hunte,126,87,0 duplicate(hntjqt2) 72-2 139 -job_hunte,127,86,0 duplicate(hntjqt2) 72-3 139 -job_hunte,127,87,0 duplicate(hntjqt2) 72-4 139 -job_hunte,54,80,0 duplicate(hntjqt2) 73-1 139,0,1 -job_hunte,55,80,0 duplicate(hntjqt2) 73-2 139,0,1 -job_hunte,54,78,0 duplicate(hntjqt2) 73-3 139 -job_hunte,55,78,0 duplicate(hntjqt2) 73-4 139 -job_hunte,64,82,0 duplicate(hntjqt2) 74-1 139,0,1 -job_hunte,65,82,0 duplicate(hntjqt2) 74-2 139,0,1 -job_hunte,64,80,0 duplicate(hntjqt2) 74-3 139 -job_hunte,65,80,0 duplicate(hntjqt2) 74-4 139 -job_hunte,66,78,0 duplicate(hntjqt2) 75-1 139 -job_hunte,66,79,0 duplicate(hntjqt2) 75-2 139 -job_hunte,67,78,0 duplicate(hntjqt2) 75-3 139 -job_hunte,67,79,0 duplicate(hntjqt2) 75-4 139 -job_hunte,74,78,0 duplicate(hntjqt2) 76-1 139 -job_hunte,74,79,0 duplicate(hntjqt2) 76-2 139 -job_hunte,75,78,0 duplicate(hntjqt2) 76-3 139 -job_hunte,75,79,0 duplicate(hntjqt2) 76-4 139 -job_hunte,78,80,0 duplicate(hntjqt2) 77-1 139 -job_hunte,78,81,0 duplicate(hntjqt2) 77-2 139 -job_hunte,79,80,0 duplicate(hntjqt2) 77-3 139 -job_hunte,79,81,0 duplicate(hntjqt2) 77-4 139 -job_hunte,82,78,0 duplicate(hntjqt2) 78-1 139 -job_hunte,82,79,0 duplicate(hntjqt2) 78-2 139 -job_hunte,83,78,0 duplicate(hntjqt2) 78-3 139 -job_hunte,83,79,0 duplicate(hntjqt2) 78-4 139 -job_hunte,94,78,0 duplicate(hntjqt2) 79-1 139 -job_hunte,94,79,0 duplicate(hntjqt2) 79-2 139 -job_hunte,95,78,0 duplicate(hntjqt2) 79-3 139 -job_hunte,95,79,0 duplicate(hntjqt2) 79-4 139 -job_hunte,101,80,0 duplicate(hntjqt2) 80-1 139,1,0 -job_hunte,101,81,0 duplicate(hntjqt2) 80-2 139,1,0 -job_hunte,103,81,0 duplicate(hntjqt2) 80-3 139 -job_hunte,103,80,0 duplicate(hntjqt2) 80-4 139 -job_hunte,104,78,0 duplicate(hntjqt2) 81-1 139 -job_hunte,104,79,0 duplicate(hntjqt2) 81-2 139 -job_hunte,105,78,0 duplicate(hntjqt2) 81-3 139 -job_hunte,105,79,0 duplicate(hntjqt2) 81-4 139 -job_hunte,110,78,0 duplicate(hntjqt2) 82-1 139 -job_hunte,110,79,0 duplicate(hntjqt2) 82-2 139 -job_hunte,111,78,0 duplicate(hntjqt2) 82-3 139 -job_hunte,111,79,0 duplicate(hntjqt2) 82-4 139 -job_hunte,114,80,0 duplicate(hntjqt2) 83-1 139 -job_hunte,114,81,0 duplicate(hntjqt2) 83-2 139 -job_hunte,115,80,0 duplicate(hntjqt2) 83-3 139 -job_hunte,115,81,0 duplicate(hntjqt2) 83-4 139 -job_hunte,124,78,0 duplicate(hntjqt2) 84-1 139 -job_hunte,124,79,0 duplicate(hntjqt2) 84-2 139 -job_hunte,125,78,0 duplicate(hntjqt2) 84-3 139 -job_hunte,125,79,0 duplicate(hntjqt2) 84-4 139 -job_hunte,126,82,0 duplicate(hntjqt2) 85-1 139 -job_hunte,126,83,0 duplicate(hntjqt2) 85-2 139 -job_hunte,127,82,0 duplicate(hntjqt2) 85-3 139 -job_hunte,127,83,0 duplicate(hntjqt2) 85-4 139 -job_hunte,52,68,0 duplicate(hntjqt2) 86-1 139,0,1 -job_hunte,53,68,0 duplicate(hntjqt2) 86-2 139,0,1 -job_hunte,52,66,0 duplicate(hntjqt2) 86-3 139 -job_hunte,53,66,0 duplicate(hntjqt2) 86-4 139 -job_hunte,54,70,0 duplicate(hntjqt2) 87-1 139,0,1 -job_hunte,55,70,0 duplicate(hntjqt2) 87-2 139,0,1 -job_hunte,54,68,0 duplicate(hntjqt2) 87-3 139 -job_hunte,55,68,0 duplicate(hntjqt2) 87-4 139 -job_hunte,59,66,0 duplicate(hntjqt2) 88-1 139,1,0 -job_hunte,59,67,0 duplicate(hntjqt2) 88-2 139,1,0 -job_hunte,61,67,0 duplicate(hntjqt2) 88-3 139 -job_hunte,61,66,0 duplicate(hntjqt2) 88-4 139 -job_hunte,68,68,0 duplicate(hntjqt2) 89-1 139,0,1 -job_hunte,69,68,0 duplicate(hntjqt2) 89-2 139,0,1 -job_hunte,68,66,0 duplicate(hntjqt2) 89-3 139 -job_hunte,69,66,0 duplicate(hntjqt2) 89-4 139 -job_hunte,76,66,0 duplicate(hntjqt2) 90-1 139 -job_hunte,76,67,0 duplicate(hntjqt2) 90-2 139 -job_hunte,77,66,0 duplicate(hntjqt2) 90-3 139 -job_hunte,77,67,0 duplicate(hntjqt2) 90-4 139 -job_hunte,82,68,0 duplicate(hntjqt2) 91-1 139 -job_hunte,82,69,0 duplicate(hntjqt2) 91-2 139 -job_hunte,83,68,0 duplicate(hntjqt2) 91-3 139 -job_hunte,83,69,0 duplicate(hntjqt2) 91-4 139 -job_hunte,96,66,0 duplicate(hntjqt2) 92-1 139 -job_hunte,96,67,0 duplicate(hntjqt2) 92-2 139 -job_hunte,97,66,0 duplicate(hntjqt2) 92-3 139 -job_hunte,97,67,0 duplicate(hntjqt2) 92-4 139 -job_hunte,100,68,0 duplicate(hntjqt2) 93-1 139 -job_hunte,100,69,0 duplicate(hntjqt2) 93-2 139 -job_hunte,101,68,0 duplicate(hntjqt2) 93-3 139 -job_hunte,101,69,0 duplicate(hntjqt2) 93-4 139 -job_hunte,107,66,0 duplicate(hntjqt2) 94-1 139,1,0 -job_hunte,107,67,0 duplicate(hntjqt2) 94-2 139,1,0 -job_hunte,109,67,0 duplicate(hntjqt2) 94-3 139 -job_hunte,109,66,0 duplicate(hntjqt2) 94-4 139 -job_hunte,117,69,0 duplicate(hntjqt2) 95-1 139,1,0 -job_hunte,117,68,0 duplicate(hntjqt2) 95-2 139,1,0 -job_hunte,119,69,0 duplicate(hntjqt2) 95-3 139 -job_hunte,119,68,0 duplicate(hntjqt2) 95-4 139 -job_hunte,124,66,0 duplicate(hntjqt2) 96-1 139 -job_hunte,124,67,0 duplicate(hntjqt2) 96-2 139 -job_hunte,125,66,0 duplicate(hntjqt2) 96-3 139 -job_hunte,125,67,0 duplicate(hntjqt2) 96-4 139 -job_hunte,126,70,0 duplicate(hntjqt2) 97-1 139 -job_hunte,126,71,0 duplicate(hntjqt2) 97-2 139 -job_hunte,127,70,0 duplicate(hntjqt2) 97-3 139 -job_hunte,127,71,0 duplicate(hntjqt2) 97-4 139 \ No newline at end of file +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 index d06130c36..32c6908ee 100644 --- a/npc/pre-re/jobs/2-1/knight.txt +++ b/npc/pre-re/jobs/2-1/knight.txt @@ -1,118 +1,108 @@ //===== rAthena Script ======================================= -// Knight Job change Quest +//= Knight Job Quest //===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= PGRO TEAM (Aegis). +//= Converted by kobra_k88 +//= Further bugfixed and tested by Lupus //===== Current Version: ===================================== -//= 1.0 +//= 3.2 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Swordman -> Knight. +//= [Aegis Conversion] +//= Job Change quest for Knight class. //===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] +//= 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 56,{ +prt_in,88,101,4 script Chivalry Captain#knt 56,{ + mes "[Captain Herman]"; if (Upper == 1) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; 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."; - close2; - cutin "",255; - end; + close; } - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Knight || Class == Job_Knight) { - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; + 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..."; - close2; - cutin "",255; - end; + close; } - if (Class == Job_Baby || Class == Job_Novice) { - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; + 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.")) { + 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?"; - if (Sex == 1) { - mes "I'm sorry, lad, but you've"; - mes "come to the wrong place!"; - } - else { - mes "I'm sorry, lass, but you've"; - mes "come to the wrong place!"; - } + mes "I'm sorry, "+((Sex)?"lad":"lass")+", but you've"; + mes "come to the wrong place!"; next; - cutin "job_knight_herman1",2; 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."; - break; + 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; - cutin "job_knight_herman1",2; mes "[Captain Herman]"; mes "First, visit the Swordman guild in Izlude. Then, come visit us again once you have become a well experienced Swordman."; - break; + close; case 3: - cutin "job_knight_herman1",2; 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?"; - break; + close; } - next; - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; - mes "If you really wish to become a knight, please come back later."; - close2; - cutin "",255; - end; } - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; - mes "Welcome. We, the proud Knights of the Prontera Chivalry, will give our lives for king and country! Please enjoy your stay."; - close2; - cutin "",255; - end; + 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 (KNGHT_Q == 0) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; + if (KNIGHT_Q == 0) { mes "Welcome, this is"; mes "the Prontera Chivalry."; mes "What brings you here?"; next; - switch (select("I want to change my job to a Knight.:Just visiting.")) { - case 1: + if (select("I want to change my job to a Knight.:Just visiting.") == 1) { mes "[Captain Herman]"; - if (Sex == 1) { - mes "Ohh..."; - mes "A young man who wishes"; - mes "to become a Knight!"; - } - else { - mes "Ohh..."; - mes "A young lady who wishes"; - mes "to become a Knight!"; - } + mes "Ohh..."; + mes "A young "+((Sex)?"man":"lady")+" who wishes"; + mes "to become a Knight!"; mes "Our Prontera Chivalry"; mes "will assist you."; next; @@ -129,34 +119,26 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "you eligible, we will begin the job change procedure. Would you"; mes "like to apply now?"; next; - switch (select("Yes, I would like to apply.:I'd like to think about it please.")) { - case 1: + if (select("Yes, I would like to apply.:I'd like to think about it please.") == 1) { + mes "[Captain Herman]"; if (JobLevel < 40) { - mes "[Captain Herman]"; 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."; - close2; - cutin "",255; - end; + close; } - if (SkillPoint != 0) { - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; + 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."; - close2; - cutin "",255; - end; + close; } - set KNGHT_Q,1; + set KNIGHT_Q,1; setquest 9000; - mes "[Captain Herman]"; mes "Let me see..."; mes "Your name is"; - mes "" + strcharinfo(0) + "..."; + mes strcharinfo(0) + "..."; mes "Is that right?"; next; mes "[Captain Herman]"; @@ -173,43 +155,32 @@ prt_in,88,101,4 script Chivalry Captain 56,{ 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; - cutin "job_knight_herman1",2; 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."; - close2; - break; - case 2: - cutin "job_knight_herman1",2; - 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."; - close2; - break; + close; } - case 2: - 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."; - close2; - break; + 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; } - cutin "",255; - end; - } - if (KNGHT_Q == 1) { - cutin "job_knight_herman2",2; 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 strcharinfo(0) + ","; mes "what can I do for you?"; mes "Ah, you don't know"; mes "who to visit?"; @@ -220,48 +191,14 @@ prt_in,88,101,4 script Chivalry Captain 56,{ 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."; - close2; - cutin "",255; - end; - } - if (KNGHT_Q == 2) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "It may be difficult,"; - mes "but do your best."; - close2; - cutin "",255; - end; - } - if (KNGHT_Q == 3) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "It may be difficult,"; - mes "but do your best."; - close2; - cutin "",255; - end; + close; } - if (KNGHT_Q == 4) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "Ah~ You do not know"; - mes "who to visit next?"; - next; - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; + 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; - cutin "job_knight_herman2",2; mes "[Sir Andrew]"; mes "I said to"; mes "visit Sir Siracuse."; @@ -271,33 +208,11 @@ prt_in,88,101,4 script Chivalry Captain 56,{ 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."; - close2; - cutin "",255; - end; - } - if (KNGHT_Q == 5) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "It may be difficult,"; - mes "but do your best."; - close2; - cutin "",255; - end; + close; } - if (KNGHT_Q == 6) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "Ah~ You do not know"; - mes "who to visit next?"; - next; - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; + 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?"; @@ -307,37 +222,14 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "Um, who was next...?"; mes "Right! Sir Windsor!"; next; - cutin "job_knight_herman2",2; 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?"; - close2; - cutin "",255; - end; - } - if (KNGHT_Q == 7) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "It may be difficult,"; - mes "but do your best."; - close2; - cutin "",255; - end; + close; } - if (KNGHT_Q == 8) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "Ah~ You do not know"; - mes "who to visit next?"; - next; - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; + 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"; @@ -353,37 +245,14 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "[Sir Windsor]"; mes "...Amy Beatrice."; next; - cutin "job_knight_herman2",2; 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."; - close2; - cutin "",255; - end; - } - if (KNGHT_Q == 9) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "It may be difficult,"; - mes "but do your best."; - close2; - cutin "",255; - end; + close; } - if (KNGHT_Q == 10) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "Ah~ You do not know"; - mes "who to visit next?"; - next; - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; + 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"; @@ -395,39 +264,16 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "Sir Edmond!"; mes "Tee hee~"; next; - cutin "job_knight_herman2",2; mes "[Captain Herman]"; mes "Now, go and speak"; mes "to Sir Edmond. He will"; mes "be in charge of your"; mes "next test."; - close2; - cutin "",255; - end; - } - if (KNGHT_Q == 11) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "It may be difficult,"; - mes "but do your best."; - close2; - cutin "",255; - end; + close; } - if (KNGHT_Q == 12) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "Ah~ You do not know"; - mes "who to visit next?"; - next; - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; + 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."; @@ -437,7 +283,6 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "to the law of cause and effect."; mes "All will be revealed in the end."; next; - cutin "job_knight_herman2",2; mes "[Captain Herman]"; mes "Be alert and do"; mes "your best, as this"; @@ -448,43 +293,19 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "after you have"; mes "completed the"; mes "final test."; - close2; - cutin "",255; - end; + close; } - if (KNGHT_Q == 13) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; + 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."; - close2; - cutin "",255; - end; + close; } - if (KNGHT_Q == 14) { - if (JobLevel < 40) { - set KNGHT_Q,0; - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - 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."; - close2; - cutin "",255; - end; - } - if (SkillPoint != 0) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; + 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."; - close2; - cutin "",255; - end; + close; } - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; mes "Oh, have you completed all the tests? But not everyone who completes the tests can"; mes "become a Knight."; next; @@ -500,8 +321,8 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "to everyone's thoughts!"; mes "Andrew, what do you think?"; next; + mes "[Sir Andrew]"; if (JobLevel == 50) { - mes "[Sir Andrew]"; mes "What can I say?"; mes "I approve!"; mes "Having lived as"; @@ -510,17 +331,11 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "is enough."; } else { - mes "[Sir Andrew]"; mes "This one has"; mes "gathered items"; mes "that are troublesome"; mes "to obtain. I approve!"; - if (Sex == 1) { - mes "I believe he will continue to be loyal after becoming a Knight."; - } - else { - mes "I believe she will continue to be loyal after becoming a Knight."; - } + mes "I believe "+((Sex)?"":"s")+"he will continue to be loyal after becoming a Knight."; } next; mes "[Captain Herman]"; @@ -557,7 +372,7 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "to Amy's opinion."; next; mes "[Lady Amy]"; - if (Sex == 1) { + 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!"; } @@ -576,7 +391,7 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "your mind."; next; mes "[Sir Edmond]"; - if (Sex == 1) { + 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."; } @@ -591,12 +406,7 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "to hear your thoughts."; next; mes "[Gray]"; - if (Sex == 1) { - mes "A young gentleman coming here with the determination to become a Knight is enough..."; - } - else { - mes "A young lady coming here with the determination to become a Knight is enough..."; - } + mes "A young "+((Sex)?"gentleman":"lady")+" coming here with the determination to become a Knight is enough..."; next; mes "[Captain Herman]"; mes "Everyone"; @@ -605,7 +415,6 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "Then I shall tell"; mes "you my opinion."; next; - cutin "job_knight_herman1",2; mes "[Captain Herman]"; mes "My decision is..."; next; @@ -616,14 +425,9 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "You may not have finished all the tests perfectly, but you have all the necessary qualities to become"; mes "a Knight."; next; - cutin "job_knight_herman2",2; - set KNGHT_Q,0; completequest 9012; - if(Class == Job_Baby_Swordman){ - jobchange Job_Baby_Knight; - } else { - jobchange Job_Knight; - } + 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"; @@ -636,23 +440,35 @@ prt_in,88,101,4 script Chivalry Captain 56,{ 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; - cutin "job_knight_herman1",2; mes "[Captain Herman]"; mes "Go forth!"; mes "The future of"; mes "Rune-Midgard"; mes "rests on your"; mes "shoulders!"; - close2; + 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; } - cutin "",255; - end; } -prt_in,75,107,4 script Sir Andrew 65,{ - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Knight || Class == Job_Knight) { - mes "[Sir Andrew]"; +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."; @@ -668,8 +484,7 @@ prt_in,75,107,4 script Sir Andrew 65,{ mes "After all, we are Knights."; close; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Sir Andrew]"; + else if (BaseClass == Job_Novice) { mes "Hey there,"; mes "little Novice."; mes "Welcome to the"; @@ -684,17 +499,17 @@ prt_in,75,107,4 script Sir Andrew 65,{ mes "Dream of a bright future, and go look forward on the path that you choose to take."; close; } - mes "[Sir Andrew]"; - 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 { + 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 (KNGHT_Q == 0) { - mes "[Sir Andrew]"; + 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; @@ -703,20 +518,18 @@ prt_in,75,107,4 script Sir Andrew 65,{ mes "a bright future that is to come."; close; } - if (KNGHT_Q == 1) { - mes "[Sir Andrew]"; + else if (KNIGHT_Q == 1) { mes "Good day."; mes "May I help you"; mes "with something?"; next; - switch (select("I would like to take the test.:Oh, nothing.")) { - case 1: + 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 strcharinfo(0) + ","; mes "correct?"; next; mes "[Sir Andrew]"; @@ -747,10 +560,8 @@ prt_in,75,107,4 script Sir Andrew 65,{ 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 KNGHT_Q,4; + set KNIGHT_Q,4; changequest 9000,9003; - changequest 9001,9003; - changequest 9002,9003; close; } mes "[Sir Andrew]"; @@ -760,28 +571,22 @@ prt_in,75,107,4 script Sir Andrew 65,{ mes "Go and gather the"; mes "following items..."; next; - set .@knight_m1, rand(1,2); mes "[Sir Andrew]"; - if (.@knight_m1 == 1) { - set KNGHT_Q,2; - changequest 9000,9001; - mes "^236B8E5 Elder Pixie's Moustache^000000,"; - mes "^236B8E5 Wing of Red Bat^000000,"; - mes "^236B8E5 Orcish Voucher^000000,"; - mes "^236B8E5 Moth Dust^000000,"; - mes "^236B8E5 Reptile Tongue^000000 and"; - mes "^236B8E5 Mane^000000."; - } - else { - set KNGHT_Q,3; - changequest 9000,9002; - mes "^236B8E5 Bug Leg^000000,"; - mes "^236B8E5 Heart of Mermaid^000000,"; - mes "^236B8E5 Maneater Blossom^000000,"; - mes "^236B8E5 Clam Flesh^000000,"; - mes "^236B8E5 Old Frying Pan^000000 and"; - mes "^236B8E5 Snail's Shell^000000."; + 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"; @@ -790,80 +595,39 @@ prt_in,75,107,4 script Sir Andrew 65,{ mes "items I've listed."; mes "See you soon~"; close; - case 2: + } + else { mes "[Sir Andrew]"; mes "Well, then..."; mes "Good day."; close; } } - if (KNGHT_Q == 2) { - mes "[Sir Andrew]"; + 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; - if ((countitem(1040) > 4) && (countitem(7006) > 4) && (countitem(931) > 4) && (countitem(1057) > 4) && (countitem(903) > 4) && (countitem(1028) > 4)) { - mes "[Sir Andrew]"; - mes "Excellent! We appreciate your effort in gathering these items. These will be used to support"; - mes "the Chivalry's finances."; - next; - delitem 1040,5; //Elder_Pixie's_Beard - delitem 7006,5; //Wing_Of_Red_Bat - delitem 931,5; //Orcish_Voucher - delitem 1057,5; //Moth_Dust - delitem 903,5; //Reptile_Tongue - delitem 1028,5; //Wild_Boar's_Mane - set KNGHT_Q,4; - changequest 9001,9003; - changequest 9002,9003; - 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; + 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; } - 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 "^236B8E5 Elder Pixie's Moustache^000000,"; - mes "^236B8E5 Wing of Red Bat^000000,"; - mes "^236B8E5 Orcish Voucher^000000,"; - mes "^236B8E5 Moth Dust^000000,"; - mes "^236B8E5 Reptile Tongue^000000 and"; - mes "^236B8E5 Mane^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; - } - if (KNGHT_Q == 3) { - mes "[Sir Andrew]"; - mes "Welcome back~"; - mes "Did you gather"; - mes "all the items?"; - mes "Let's check and see..."; - next; - if ((countitem(1042) > 4) && (countitem(950) > 4) && (countitem(1032) > 4) && (countitem(966) > 4) && (countitem(7031) > 4) && (countitem(946) > 4)) { + 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 1042,5; //Short_Leg - delitem 950,5; //Heart_Of_Mermaid - delitem 1032,5; //Blossom_Of_Maneater - delitem 966,5; //Flesh_Of_Clam - delitem 7031,5; //Old_Frying_Pan - delitem 946,5; //Snail's_Shell - set KNGHT_Q,4; - changequest 9001,9003; - changequest 9002,9003; + 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; @@ -877,12 +641,12 @@ prt_in,75,107,4 script Sir Andrew 65,{ mes "remind you..."; next; mes "[Sir Andrew]"; - mes "^236B8E5 Bug Leg^000000,"; - mes "^236B8E5 Heart of Mermaid^000000,"; - mes "^236B8E5 Maneater Blossom^000000,"; - mes "^236B8E5 Clam Flesh^000000,"; - mes "^236B8E5 Old Frying Pan^000000 and"; - mes "^236B8E5 Snail's Shell^000000."; + 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."; @@ -890,26 +654,25 @@ prt_in,75,107,4 script Sir Andrew 65,{ mes "to complete this task."; close; } - if (KNGHT_Q == 4) { - mes "[Sir Andrew]"; + 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; } - if (KNGHT_Q == 14) { - mes "[Sir Andrew]"; + 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; } - mes "[Sir Andrew]"; - 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; + 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 65,{ - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Knight || Class == Job_Knight) { - mes "[Sir Siracuse]"; +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"; @@ -930,8 +693,7 @@ prt_in,71,91,0 script Sir Siracuse 65,{ mes "If you catch any of the new guys acting in a way unbecoming of a Knight, scold them for me please?"; close; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Sir Siracuse]"; + else if (Baseclass == Job_Novice) { mes "Oh?"; mes "What is a Novice"; mes "doing here?"; @@ -947,22 +709,22 @@ prt_in,71,91,0 script Sir Siracuse 65,{ mes "becoming a Knight."; close; } - mes "[Sir Siracuse]"; - 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 { + 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 (KNGHT_Q == 0) { - mes "[Sir Siracuse]"; + if (KNIGHT_Q == 0) { mes "Offense and defense."; mes "Is there a way to have both without compromising one or the other?"; next; @@ -976,32 +738,24 @@ prt_in,71,91,0 script Sir Siracuse 65,{ mes "would help Knights greatly..."; close; } - if (KNGHT_Q == 1) { - mes "[Sir Siracuse]"; + else if (KNIGHT_Q == 1) { mes "Eh?"; mes "Do you have"; mes "something to"; mes "ask me?"; next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: + 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"; - if (Sex == 1) { - mes "you the guy that"; - mes "just applied?"; - } - else { - mes "you the girl that"; - mes "just applied?"; - } + 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) + "."; + mes strcharinfo(0) + "."; next; mes "[Sir Siracuse]"; mes "But, before you come to me, you must visit the others. The way"; @@ -1009,54 +763,23 @@ prt_in,71,91,0 script Sir Siracuse 65,{ mes "reconsider once you"; mes "pass the first test."; close; - case 2: - mes "[Sir Siracuse]"; - mes "Hmmm...?"; - mes "Alright."; - mes "It's just that"; - mes "you had that"; - mes "look on your"; - mes "face."; - close; } - } - if (KNGHT_Q == 2) { mes "[Sir Siracuse]"; - mes "Eh?"; - mes "Do you have"; - mes "something to"; - mes "ask me?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 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; - case 2: - mes "[Sir Siracuse]"; - mes "Hmmm...?"; - mes "Alright."; - mes "It's just that"; - mes "you had that"; - mes "look on your"; - mes "face."; - close; - } + mes "Hmmm...?"; + mes "Alright."; + mes "It's just that"; + mes "you had that"; + mes "look on your"; + mes "face."; + close; } - else if (KNGHT_Q == 3) { - mes "[Sir Siracuse]"; + else if (KNIGHT_Q == 2 || KNIGHT_Q == 3) { mes "Eh?"; mes "Do you have"; mes "something to"; mes "ask me?"; next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: + 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."; @@ -1065,602 +788,251 @@ prt_in,71,91,0 script Sir Siracuse 65,{ mes "Speak to Sir Andrew first."; mes "My test for you will come after you've finished his test."; close; - case 2: - 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 (KNGHT_Q == 4) { mes "[Sir Siracuse]"; - mes "Oh?"; - mes "Do you have"; - mes "something to"; - mes "ask me?"; - next; - switch (select("Sir Andrew sent me to take your test.:Oh, nothing.")) { - case 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; - 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?"; + 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; - switch (select("Katana:Slayer:Broadsword:Flamberge")) { - case 1: - set KNGHT_Q,5; + if (select("Sir Andrew sent me to take your test.:Oh, nothing.") == 1) { 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..."; + 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 "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; - case 2: - set KNGHT_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..."; + 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 "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; - case 3: - set KNGHT_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..."; + 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 "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; - case 4: - break; + mes "Well then,"; + mes "let's begin."; + mes "Please answer"; + mes "promptly."; + next; } - mes "[Sir Siracuse]"; - mes "Good, now let me ask about some skills. Which of the following is not necessary to learn Bowling Bash?"; - next; - switch (select("Two Handed Sword Mastery Lv.5:Magnum Break Lv.3:Provoke Lv.10:Bash Lv.10")) { - case 1: - set KNGHT_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; - case 2: - set KNGHT_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; - case 3: - break; - case 4: - set KNGHT_Q,5; + else { 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!"; + mes "Hmmm...?"; + mes "Alright."; + mes "It's just that"; + mes "you had that"; + mes "look on your"; + mes "face."; 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?"; + } + else if (KNIGHT_Q == 5) { + mes "What..."; + mes "You again?"; next; - switch (select("Pierce Lv.5:Spear Stab Lv.3:Spear Boomerang Lv.3:Peco Peco Ride Lv.1")) { - case 1: - set KNGHT_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; - case 2: - set KNGHT_Q,5; + if (select("I wish to take the test again.:Oh, nothing.") == 1) { 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?"; + mes "Is that right?"; + mes "Are you sure you're"; + mes "prepared this time?"; 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; - case 3: - break; - case 4: - set KNGHT_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?"; + mes "Alright then,"; + mes "here we go again..."; 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; - switch (select("Zephyrus:Lance:Bill Guisarme:Crescent Scythe")) { - case 1: - break; - case 2: - set KNGHT_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; - case 3: - set KNGHT_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; - case 4: - set KNGHT_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; + else { mes "[Sir Siracuse]"; - mes "If you have a question, just ask any Knight in town. This is basic knowledge for us!"; + 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 "When you become a Knight you can ride a Peco Peco. However, your attack speed decreases once you're mounted on a Peco Peco."; + 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 "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; - switch (select("70 % of normal attack speed:80 % of normal attack speed:90 % of normal attack speed:100 % of normal attack speed")) { - case 1: - set KNGHT_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; - case 2: - break; - case 3: - set KNGHT_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; - case 4: - set KNGHT_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 "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 "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 "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 "What should you do when you run into a Novice asking for help in town?"; + 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; - 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 KNGHT_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 KNGHT_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 KNGHT_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 KNGHT_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 "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 "Lastly..."; - mes "what's the most"; - mes "important value"; - mes "a Knight must have?"; + mes "Wrong! You'll be doing absolutely no damage with that type of Spear! Come back after you've learned more about Knights!"; 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 KNGHT_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 KNGHT_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 KNGHT_Q,6; - changequest 9003,9004; mes "[Sir Siracuse]"; - mes "Well then,"; - mes "this is the"; - mes "end of my test."; + 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 "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."; - close2; + 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 "Hmmm...?"; - mes "Alright."; - mes "It's just that"; - mes "you had that"; - mes "look on your"; - mes "face."; + 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; } - } - if (KNGHT_Q == 5) { mes "[Sir Siracuse]"; - mes "What..."; - mes "You again?"; + mes "Alright..."; + mes "Now, how should"; + mes "you act within"; + mes "a party?"; next; - switch (select("I wish to take the test again.:Oh, nothing.")) { + 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 "Is that right?"; - mes "Are you sure you're"; - mes "prepared this time?"; + 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 "Alright then,"; - mes "here we go again..."; - next; + 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 "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; - switch (select("Katana:Slayer:Broadsword:Flamberge")) { - case 1: - set KNGHT_Q,5; - mes "[Sir Siracuse]"; - mes "Wrong!"; - mes "That's a Two-Handed Sword! 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, go into town and ask any Knight. You need to learn more about Knights before applying for the job!"; - close; - case 2: - set KNGHT_Q,5; - mes "[Sir Siracuse]"; - mes "Wrong!"; - mes "That's a Two-Handed Sword! 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, go into town and ask any Knight. You need to learn more about Knights before applying for the job!"; - close; - case 3: - set KNGHT_Q,5; - mes "[Sir Siracuse]"; - mes "Wrong!"; - mes "That's a Two-Handed Sword! 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, go into town and ask any Knight. You need to learn more about Knights before applying for the job!"; - close; - case 4: - break; - } + 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 "Good, now let me ask about some skills. Which of the following is not necessary to learn Bowling Bash?"; + mes "Right, above all else, Knights must be honorable! We live and die for honor! Always keep that in mind."; next; - switch (select("Two Handed Sword Mastery Lv.5:Magnum Break Lv.3:Provoke Lv.10:Bash Lv.10")) { - case 1: - set KNGHT_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; - case 2: - set KNGHT_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; - case 3: - break; - case 4: - set KNGHT_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; - } + break; + case 2: + set KNIGHT_Q,5; 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; - switch (select("Pierce Lv.5:Spear Stab Lv.3:Spear Boomerang Lv.3:Peco Peco Ride Lv.1")) { - case 1: - set KNGHT_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; - case 2: - set KNGHT_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; - case 3: - break; - case 4: - set KNGHT_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; - switch (select("Zephyrus:Lance:Bill Guisarme:Crescent Scythe")) { - case 1: - break; - case 2: - set KNGHT_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; - case 3: - set KNGHT_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; - case 4: - set KNGHT_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; - switch (select("70 % of normal attack speed:80 % of normal attack speed:90 % of normal attack speed:100 % of normal attack speed")) { - case 1: - set KNGHT_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; - case 2: - break; - case 3: - set KNGHT_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; - case 4: - set KNGHT_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 KNGHT_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 KNGHT_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 KNGHT_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 KNGHT_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 KNGHT_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 KNGHT_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; - } - changequest 9003,9004; - set KNGHT_Q,6; - 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."; + 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 2: + case 3: + set KNIGHT_Q,5; mes "[Sir Siracuse]"; - mes "Hmmm...?"; - mes "Alright."; - mes "It's just that"; - mes "you had that"; - mes "look on your"; - mes "face."; + 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; } - } - if (KNGHT_Q == 6) { + 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; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: + 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; - case 2: - mes "[Sir Siracuse]"; - mes "Hmmm...?"; - mes "Alright."; - mes "It's just that"; - mes "you had that"; - mes "look on your"; - mes "face."; - close; } - } - if (KNGHT_Q == 14) { 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"; @@ -1674,16 +1046,40 @@ prt_in,71,91,0 script Sir Siracuse 65,{ mes "your performance."; close; } - mes "[Sir Siracuse]"; - 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; + 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 733,{ - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Knight || Class == Job_Knight) { +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; @@ -1692,400 +1088,169 @@ prt_in,79,94,4 script Sir Windsor 733,{ mes "......"; next; mes "[Sir Windsor]"; - mes "Protect."; + mes "...It's not my turn."; close; } - if (Class == Job_Baby || Class == Job_Novice) { + 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]"; - mes "...Go play"; - mes "outside."; - close; + 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 "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes "...Hmpf."; close; } - if (KNGHT_Q == 0) { - mes "[Sir Windsor]"; - mes "..."; + 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 "..."; - mes "......"; + mes "...You fight monsters."; next; mes "[Sir Windsor]"; - mes "...What?"; - close; - } - if (KNGHT_Q == 1) { + mes "...Kill them all."; + next; mes "[Sir Windsor]"; mes "..."; next; mes "[Sir Windsor]"; - mes "..."; - mes "......"; + mes "...Three stages."; + mes "Beat them all."; next; mes "[Sir Windsor]"; - mes "...What?"; + mes "......3 minutes"; + mes "for each stage."; next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes "...It's not my turn."; - close; - case 2: - mes "[Sir Windsor]"; - mes "..."; - close; - } - } - if (KNGHT_Q == 2) { mes "[Sir Windsor]"; - mes "..."; + mes ".........."; + close; + case 2: next; mes "[Sir Windsor]"; - mes "..."; - mes "......"; + mes "...Go in the"; + mes "waiting room."; next; mes "[Sir Windsor]"; - mes ".....What?"; + mes "...Then it"; + mes "will begin."; next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes "...It's not my turn."; - close; - case 2: - mes "[Sir Windsor]"; - mes "..."; - close; - } - } - if (KNGHT_Q == 3) { mes "[Sir Windsor]"; mes "..."; next; mes "[Sir Windsor]"; - mes "..."; - mes "......"; + mes "...You have to wait"; + mes "if someone is testing."; next; mes "[Sir Windsor]"; - mes ".....What?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes "...It's not my turn."; - close; - case 2: - mes "[Sir Windsor]"; - mes "..."; - close; - } - } - if (KNGHT_Q == 4) { - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes ".....What?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes "...It's not my turn."; - close; - case 2: - mes "[Sir Windsor]"; - mes ".........."; - close; - } - } - if (KNGHT_Q == 5) { - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes ".....What?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes "...It's not my turn."; - close; - case 2: - mes "[Sir Windsor]"; - mes "..."; - close; - } - } - if (KNGHT_Q == 6) { - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes ".....What?"; - next; - switch (select("Sir Siracuse sent me to you.:Oh, nothing.")) { - case 1: - mes "[Sir Windsor]"; - mes "..."; - next; - set KNGHT_Q,7; - changequest 9004,9006; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes "...Follow me."; - close2; - warp "job_knt",89,101; - end; - case 2: - mes "[Sir Windsor]"; - mes "..."; - close; - } - } - if (KNGHT_Q == 7) { - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - switch (select("I want to try again!:...")) { - case 1: - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes "...Fine."; - next; - mes "[Sir Windsor]"; - mes "...This way."; - close2; - warp "job_knt",89,101; - end; - case 2: - mes "[Sir Windsor]"; - mes "..."; - close; - } - } - if (KNGHT_Q == 14) { - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes "...Talk to"; - mes "the captain."; - close; - } - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes "...You're"; - mes "done here."; - close; -} - -job_knt,89,106,4 script Knight Windsor 733,{ - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes "...Question?"; - next; - switch (select("What kind of test is this?:How do I take the test?:I'd like to leave.:No.")) { - case 1: - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - 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: - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - 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."; + mes "...You can go in"; + mes "after that person."; next; mes "[Sir Windsor]"; mes "..."; close; case 3: - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; close2; warp "prt_in",80,100; end; - case 4: - mes "[Sir Windsor]"; - mes "..."; - close; } } job_knt,89,106,4 script Windsor Benedict#knt 733,{ - end; - OnInit: - hideonnpc "Windsor Benedict#knt"; + 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; -OnEnable: +OnStart: enablewaitingroomevent; end; } -job_knt,1,1,1 script Knight1 66,{ - end; - +- script Knight1 -1,{ OnInit: - hideonnpc "Knight1"; + disablenpc "Knight1"; end; OnEnable: - hideoffnpc "Knight1"; - monster "job_knt",39,150,"Dustiness",1114,1,"Knight1::OnMyMobDead"; - monster "job_knt",47,150,"Dustiness",1114,1,"Knight1::OnMyMobDead"; - monster "job_knt",39,142,"Dustiness",1114,1,"Knight1::OnMyMobDead"; - monster "job_knt",47,142,"Dustiness",1114,1,"Knight1::OnMyMobDead"; + 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"; @@ -2097,25 +1262,22 @@ OnEnable: initnpctimer; end; -OnReset: - killmonster "job_knt","Knight1::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Knight1"; + killmonster "job_knt", "Knight1::OnMyMobDead"; + disablenpc "Knight1"; end; OnMyMobDead: - if (mobcount ("job_knt","Knight1::OnMyMobDead") < 1) { + set .MyMobs,.MyMobs-1; + if (.MyMobs < 1) { mes "[Sir Windsor]"; mes "..."; - close2; + next; mes "[Sir Windsor]"; mes "...On to"; mes "the next level."; close2; warp "job_knt",43,52; - donpcevent "Knight1::OnReset"; donpcevent "Knight1::OnDisable"; donpcevent "Knight2::OnEnable"; stopnpctimer; @@ -2123,81 +1285,54 @@ OnMyMobDead: end; OnTimer180000: - donpcevent "Knight1::OnReset"; + donpcevent "Knight1::OnDisable"; end; OnTimer181000: - donpcevent "Out1::OnEnable"; + areawarp "job_knt", 24, 126, 63, 165, "prt_in",80,100; end; OnTimer182000: - donpcevent "Out1::OnDisable"; + stopnpctimer; donpcevent "Knight1::OnDisable"; - donpcevent "Windsor Benedict#knt::OnEnable"; + donpcevent "Windsor Benedict#knt::OnStart"; end; } -job_knt,43,146,0 script Out1 139,22,22,{ - -OnTouch: - warp "prt_in",80,100; - end; - -OnInit: - hideonnpc "Out1"; - end; - -OnEnable: - hideoffnpc "Out1"; - end; - -OnDisable: - hideonnpc "Out1"; - end; -} - -job_knt,1,2,1 script Knight2 66,{ - end; - +// Test 2 part 2 +//========================================================== +- script Knight2 -1,{ OnInit: - hideonnpc "Knight2"; + disablenpc "Knight2"; end; OnEnable: - hideoffnpc "Knight2"; + 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",43,42,"Desert Wolf",1106,1,"Knight2::OnMyMobDead"; - monster "job_knt",43,62,"Desert Wolf",1106,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"; - monster "job_knt",60,68,"Anacondaq",1030,1,"Knight2::OnMyMobDead"; - monster "job_knt",27,68,"Anacondaq",1030,1,"Knight2::OnMyMobDead"; - monster "job_knt",60,35,"Anacondaq",1030,1,"Knight2::OnMyMobDead"; - monster "job_knt",27,35,"Anacondaq",1030,1,"Knight2::OnMyMobDead"; initnpctimer; end; -OnReset: - killmonster "job_knt","Knight2::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Knight2"; + killmonster "job_knt", "Knight2::OnMyMobDead"; + disablenpc "Knight2"; end; OnMyMobDead: - if (mobcount ("job_knt","Knight2::OnMyMobDead") < 1) { + set .MyMobs,.MyMobs-1; + if (.MyMobs < 1) { mes "[Sir Windsor]"; mes "...Hmm."; - close2; + next; mes "[Sir Windsor]"; mes "...One stage left."; close2; warp "job_knt",143,152; - donpcevent "Knight2::OnReset"; donpcevent "Knight2::OnDisable"; donpcevent "Knight3::OnEnable"; stopnpctimer; @@ -2205,125 +1340,88 @@ OnMyMobDead: end; OnTimer180000: - donpcevent "Knight2::OnReset"; + donpcevent "Knight2::OnDisable"; end; OnTimer181000: - donpcevent "Out2::OnEnable"; + areawarp "job_knt", 24, 32, 63, 71, "prt_in",80,100; end; OnTimer182000: - donpcevent "Out2::OnDisable"; + stopnpctimer; donpcevent "Knight2::OnDisable"; - donpcevent "Windsor Benedict#knt::OnEnable"; + donpcevent "Windsor Benedict#knt::OnStart"; end; } -job_knt,43,52,0 script Out2 139,22,22,{ - -OnTouch: - warp "prt_in",80,100; - end; - +// Test 2 part 3 +//========================================================== +- script Knight3 -1,{ OnInit: - hideonnpc "Out2"; + disablenpc "Knight3"; end; OnEnable: - hideoffnpc "Out2"; - end; - -OnDisable: - hideonnpc "Out2"; - end; -} - -job_knt,1,3,1 script Knight3 66,{ - end; - -OnInit: - hideonnpc "Knight3"; - end; - -OnEnable: - hideoffnpc "Knight3"; + 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"; - monster "job_knt",147,167,"Goblin Archer",1258,1,"Knight3::OnMyMobDead"; - monster "job_knt",136,158,"Steam Goblin",1280,1,"Knight3::OnMyMobDead"; initnpctimer; end; -OnReset: - killmonster "job_knt","Knight3::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Knight3"; + killmonster "job_knt", "Knight3::OnMyMobDead"; + disablenpc "Knight3"; end; OnMyMobDead: - if (mobcount ("job_knt","Knight3::OnMyMobDead") < 1) { + set .MyMobs,.MyMobs-1; + if (.MyMobs < 1) { mes "[Sir Windsor]"; mes "..."; - close2; + next; mes "[Sir Windsor]"; mes "...Very good."; - close2; + next; mes "[Sir Windsor]"; mes "...Go talk to"; mes "Amy Beatrice now."; close2; - set KNGHT_Q,8; + set KNIGHT_Q,8; + if(checkquest(9007) == -1) { + changequest 9006,9007; + } warp "prt_in",80,100; - donpcevent "Knight3::OnReset"; donpcevent "Knight3::OnDisable"; - donpcevent "Windsor Benedict#knt::OnEnable"; + donpcevent "Windsor Benedict#knt::OnStart"; stopnpctimer; } end; OnTimer180000: - donpcevent "Knight3::OnReset"; + donpcevent "Knight3::OnDisable"; end; OnTimer181000: - donpcevent "Out3::OnEnable"; + areawarp "job_knt", 124, 132, 163, 171, "prt_in",80,100; end; OnTimer182000: - donpcevent "Out3::OnDisable"; + stopnpctimer; donpcevent "Knight3::OnDisable"; - donpcevent "Windsor Benedict#knt::OnEnable"; - end; -} - -job_knt,143,152,0 script Out3 139,22,22,{ - -OnTouch: - warp "prt_in",80,100; - end; - -OnInit: - hideonnpc "Out3"; - end; - -OnEnable: - hideoffnpc "Out3"; - end; - -OnDisable: - hideonnpc "Out3"; + donpcevent "Windsor Benedict#knt::OnStart"; end; } -prt_in,69,107,6 script Lady Amy 728,{ - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Knight || Class == Job_Knight) { - mes "[Lady Amy]"; +// 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"; @@ -2339,10 +1437,9 @@ prt_in,69,107,6 script Lady Amy 728,{ mes "Of course~"; mes "You're a member of"; mes "the Prontera Chivalry~"; - close2; + close; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Lady Amy]"; + else if (BaseClass == Job_Novice) { mes "Aww~"; mes "What a cute"; mes "little Novice!"; @@ -2359,21 +1456,21 @@ prt_in,69,107,6 script Lady Amy 728,{ mes "Remember, you're"; mes "going to be a Knight,"; mes "alright? Promise?"; - close2; + 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; } - mes "[Lady Amy]"; - 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 (KNGHT_Q == 0) { - mes "[Lady Amy]"; + if (KNIGHT_Q == 0) { mes "Ooh, you're"; mes "a Swordsman...?"; mes "Did you come to"; @@ -2387,14 +1484,12 @@ prt_in,69,107,6 script Lady Amy 728,{ mes "there. Hee hee~"; close; } - if (KNGHT_Q == 1) { - mes "[Lady Amy]"; + else if (KNIGHT_Q >= 1 && KNIGHT_Q <= 7) { mes "Hmmm?"; mes "Why did you"; mes "come to Amy?"; next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: + 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!"; @@ -2411,1084 +1506,332 @@ prt_in,69,107,6 script Lady Amy 728,{ mes "but I'm not allowed to."; mes "Hee hee~"; close; - case 2: - mes "[Lady Amy]"; - mes "Aww~"; - mes "Alright..."; - close; } - } - if (KNGHT_Q == 2) { mes "[Lady Amy]"; - mes "Hmmm?"; - mes "Why did you"; - mes "come to Amy?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: - mes "[Lady Amy]"; - mes "Mmm~"; - mes "You applied to change jobs! Okay! You'll soon be a Knight with that kind of determination!"; + 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; - mes "[Lady Amy]"; - mes "But..."; - mes "You have to go"; - mes "to the other Knights"; - mes "before talking to Amy."; + 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; - 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; - case 2: - mes "[Lady Amy]"; - mes "Aww~"; - mes "Alright..."; - close; + 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; + } } - } - if (KNGHT_Q == 3) { + 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 "Hmmm?"; - mes "Why did you"; - mes "come to 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; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 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."; + 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'd love to test"; - mes "you from the beginning,"; - mes "but I'm not allowed to."; - mes "Hee hee~"; + mes "I'll have nice comments about you for the captain. Do well on the tests you have left, okay?"; close; - case 2: + } + 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 "Aww~"; - mes "Alright..."; + 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; } - } - if (KNGHT_Q == 4) { + 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; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 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 right now, but"; - mes "I'm not allowed"; - mes "to quite yet."; - mes "Hee hee~"; - close; - case 2: - mes "[Lady Amy]"; - mes "Aww~"; - mes "Alright..."; - close; - } + mes "[Lady Amy]"; + mes "You have to go to"; + mes "Sir Edmond for your"; + mes "next test, okay?"; + close; } - if (KNGHT_Q == 5) { + 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; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: - mes "[Lady Amy]"; - mes "Mmm~"; - mes "You applied to change jobs! Okay! You'll soon be a Knight with that kind of determination!"; + 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 "[Lady Amy]"; - mes "But..."; - mes "You have to go"; - mes "to the other Knights"; - mes "before talking to Amy."; + mes "[Sir Edmond]"; + mes "Flowing water"; + mes "avoids obstacles,"; + mes "going on its way..."; next; - mes "[Lady Amy]"; - mes "I'd love to test"; - mes "you right now, but"; - mes "I'm not allowed"; - mes "to quite yet."; - mes "Hee hee~"; + mes "[Sir Edmond]"; + mes "Knights must be"; + mes "able to pass things,"; + mes "like calm water, in"; + mes "any situation."; close; - case 2: - mes "[Lady Amy]"; - mes "Aww~"; - mes "Alright..."; + } + 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 (KNGHT_Q == 6) { - mes "[Lady Amy]"; - mes "Hmmm?"; - mes "Why did you"; - mes "come to Amy?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 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 right now, but"; - mes "I'm not allowed"; - mes "to quite yet."; - mes "Hee hee~"; - close; - case 2: - mes "[Lady Amy]"; - mes "Aww~"; - mes "Alright..."; - close; - } - } - if (KNGHT_Q == 7) { - mes "[Lady Amy]"; - mes "Hmmm?"; - mes "Why did you"; - mes "come to Amy?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 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 right now, but"; - mes "I'm not allowed"; - mes "to quite yet."; - mes "Hee hee~"; - close; - case 2: - mes "[Lady Amy]"; - mes "Aww~"; - mes "Alright..."; - close; - } - } - if (KNGHT_Q == 8) { - mes "[Lady Amy]"; - mes "Hmmm?"; - mes "Why did you"; - mes "come to Amy?"; - next; - switch (select("Sir Windsor told me to--:Oh, nothing.")) { - case 1: - changequest 9006,9008; - 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; - set @knight_t, 0; - mes "[Lady Amy]"; - mes "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; - switch (select("Shout out that you are looking for a party.:Open a chat room and wait.:Look for people seeking Knights.")) { - case 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - 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; - switch (select("Check out the area and plan ahead.:Gather monsters for your party members.:Lead the party slowly at the front.")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - mes "[Lady Amy]"; - mes "But some rude players came with a group of monsters and disappeared! What should you do?"; - next; - switch (select("Keep the monsters from reaching the party.:Defend while the party retreats.:Run away on your Peco Peco.")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - break; - } - 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; - switch (select("Ask your party's Priest to help.:Say you will help for Zeny.:Ignore and move on.")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - break; - case 3: - break; - } - 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; - switch (select("Give it to who deserves it the most.:Pretend like nothing happened and keep it.:Decide with party who gets it.")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - 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; - switch (select("Shout out loud to everyone.:Open a chat room and wait.:Inquire if there is anyone that is interested.")) { - case 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - mes "[Lady Amy]"; - mes "While you are waiting,"; - mes "someone comes and begs"; - mes "for items and zeny."; - mes "What do you do?"; - next; - switch (select("Give them some Zeny and items.:Simply ignore them.:Give suggestions for a place to hunt.")) { - case 1: - break; - case 2: - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - 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; - switch (select("Tell the person how to reach the exit.:Lead the person to the exit.:Give a Butterfly Wing.")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - break; - } - 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; - switch (select("Would it be possible to get a heal please?:Can I have a heal?:Heal plz!!")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - break; - case 3: - break; - } - 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; - switch (select("Pick it up and keep it.:Ask around to find the owner.:Simply walk by.")) { - case 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - mes "[Lady Amy]"; - mes "Okay,"; - mes "that was the"; - mes "end of my test!"; - next; - if (@knight_t == 100) { - set KNGHT_Q,10; - mes "[Lady Amy]"; - 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; - } - if (@knight_t == 90) { - set KNGHT_Q,10; - changequest 9008,9009; - mes "[Lady Amy]"; - 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 KNGHT_Q,9; - mes "[Lady Amy]"; - 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; - case 2: - mes "[Lady Amy]"; - mes "Aww..."; - mes "Alright~"; - close; - } - } - if (KNGHT_Q == 9) { - mes "[Lady Amy]"; - mes "Hmmm?"; - mes "Why did you"; - mes "come to Amy?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 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; - set @knight_t, 0; - 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; - switch (select("Shout out that you are looking for a party.:Open a chat room and wait.:Look for people seeking Knights.")) { - case 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - 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; - switch (select("Check out the area and plan ahead.:Gather monsters for your party members.:Lead the party slowly at the front.")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - mes "[Lady Amy]"; - mes "But some rude players came with a group of monsters and disappeared! What should you do?"; - next; - switch (select("Keep the monsters from reaching your party.:Defend while the party retreats.:Run away on your Peco Peco.")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - break; - } - 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; - switch (select("Ask your party's Priest to help.:Say you will help for Zeny.:Ignore and move on.")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - break; - case 3: - break; - } - 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; - switch (select("Give it to who deserves it the most.:Pretend like nothing happened and keep it.:Decide with party who gets it.")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - 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; - switch (select("Shout out loud to everyone.:Open a chat room and wait.:Inquire if there is anyone that is interested.")) { - case 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - mes "[Lady Amy]"; - mes "While you are waiting,"; - mes "someone comes and begs"; - mes "for items and zeny."; - mes "What do you do?"; - next; - switch (select("Give them some Zeny and items.:Simply ignore them.:Give suggestions for a place to hunt.")) { - case 1: - break; - case 2: - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - 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; - switch (select("Tell the person how to reach the exit.:Lead the person to the exit.:Give a Butterfly Wing.")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - break; - } - 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; - switch (select("Would it be possible to get a heal please?:Can I have a heal?:Heal plz!!")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - break; - case 3: - break; - } - 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; - switch (select("Pick it up and keep it.:Ask around to find the owner.:Simply walk by.")) { - case 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - mes "[Lady Amy]"; - mes "Okay,"; - mes "that was the"; - mes "end of my test!"; - next; - if (@knight_t == 100) { - set KNGHT_Q,10; - mes "[Lady Amy]"; - 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; - } - if (@knight_t == 90) { - set KNGHT_Q,10; - mes "[Lady Amy]"; - 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 KNGHT_Q,9; - mes "[Lady Amy]"; - 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; - case 2: - mes "[Lady Amy]"; - mes "Aww..."; - mes "Alright~"; - close; - } - } - if (KNGHT_Q == 10) { - mes "[Lady Amy]"; - 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; - } - if (KNGHT_Q == 14) { - mes "[Lady Amy]"; - 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; - } - mes "[Lady Amy]"; - 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; -} - -prt_in,70,99,6 script Sir Edmond 734,{ - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Knight || Class == Job_Knight) { - mes "[Sir Edmond]"; - 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; - } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Sir Edmond]"; - 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; - } - mes "[Sir Edmond]"; - mes "Everything in this world exists in harmony. Living without disrupting this harmony is the right way to live..."; - close; - } - if (KNGHT_Q == 0) { - mes "[Sir Edmond]"; - 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; - } - if (KNGHT_Q == 1) { - mes "[Sir Edmond]"; - mes "What is it..."; - mes "Wandering Swordman?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 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; - case 2: - 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; - } - } - if (KNGHT_Q == 2) { - mes "[Sir Edmond]"; - mes "What is it..."; - mes "Wandering Swordman?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: - mes "[Sir Edmond]"; - mes "The question of"; - mes "what came first:"; - mes "the chicken"; - mes "or the egg?"; - next; - mes "[Sir Edmond]"; - mes "Do you think"; - mes "you're prepared"; - mes "to discuss this?"; - next; - mes "[Sir Edmond]"; - mes "That's what"; - mes "I thought..."; - mes "Go to the"; - mes "others first."; - close; - case 2: - 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; - } - } - if (KNGHT_Q == 3) { - mes "[Sir Edmond]"; - mes "What is it..."; - mes "Wandering Swordman?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 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; - case 2: - 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; - } - } - if (KNGHT_Q == 4) { - mes "[Sir Edmond]"; - mes "What is it..."; - mes "Wandering Swordman?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: - mes "[Sir Edmond]"; - mes "The question of"; - mes "what came first:"; - mes "the chicken"; - mes "or the egg?"; - next; - mes "[Sir Edmond]"; - mes "Do you think"; - mes "you're prepared"; - mes "to discuss this?"; - next; - mes "[Sir Edmond]"; - mes "That's what"; - mes "I thought..."; - mes "Go to the"; - mes "others first."; - close; - case 2: - 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; - } - } - if (KNGHT_Q == 5) { - mes "[Sir Edmond]"; - mes "What is it..."; - mes "Wandering Swordman?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: - mes "[Sir Edmond]"; - mes "The question of"; - mes "what came first:"; - mes "the chicken"; - mes "or the egg?"; - next; - mes "[Sir Edmond]"; - mes "Do you think"; - mes "you're prepared"; - mes "to discuss this?"; - next; - mes "[Sir Edmond]"; - mes "That's what"; - mes "I thought..."; - mes "Go to the"; - mes "others first."; - close; - case 2: - 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; - } - } - if (KNGHT_Q == 6) { - mes "[Sir Edmond]"; - mes "What is it... "; - mes "Wandering Swordman?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: - mes "[Sir Edmond]"; - mes "If a tree falls"; - mes "in the woods, does"; - mes "it make a sound?"; - next; - mes "[Sir Edmond]"; - mes "I think you need"; - mes "more time to think"; - mes "about this."; - next; - mes "[Sir Edmond]"; - mes "Go to the others"; - mes "first, so that you"; - mes "may find an answer..."; - close; - case 2: - 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; - } + 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; } - if (KNGHT_Q == 7) { - mes "[Sir Edmond]"; + else if (KNIGHT_Q >= 1 && KNIGHT_Q <= 9) { mes "What is it..."; mes "Wandering Swordman?"; next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: - mes "[Sir Edmond]"; - mes "Change will"; - mes "come when all is in"; - mes "readiness. Everything"; - mes "comes in its own"; - mes "good time."; - next; - mes "[Sir Edmond]"; - mes "The time has not"; - mes "yet come for me"; - mes "to test you yet."; - mes "Go to the others."; - close; - case 2: - 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; - } - } - if (KNGHT_Q == 8) { - mes "[Sir Edmond]"; - mes "Zzz..."; - mes "Zzz..."; - mes "^666666*snort*^000000"; - mes "Wah? Huh?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: + if (select("I would like to take the test to change jobs.:Oh, nothing.") == 1) { mes "[Sir Edmond]"; - mes "Is it my"; - mes "turn yet...?"; - mes "No... Not yet."; + 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 "Sorry, it's"; - mes "not my turn yet,"; - mes "young one."; + mes "If not..."; + mes "The flower will"; + mes "be incomplete."; next; mes "[Sir Edmond]"; mes "Go to the others"; - mes "first and complete"; - mes "their tasks..."; - close; - case 2: - mes "[Sir Edmond]"; - mes "You're almost"; - mes "there, don't"; - mes "give up..."; + mes "first, so that you"; + mes "may find your path..."; close; } - } - if (KNGHT_Q == 9) { mes "[Sir Edmond]"; - mes "What is it..."; - mes "Wandering Swordman?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: - mes "[Sir Edmond]"; - mes "You are nearing the"; - mes "end of your journey..."; - next; - mes "[Sir Edmond]"; - mes "However, there are"; - mes "still the final steps"; - mes "you must take..."; - next; - mes "[Sir Edmond]"; - mes "However,"; - mes "my time to test"; - mes "you has not come"; - mes "quite yet."; - close; - case 2: - mes "[Sir Edmond]"; - mes "You must still see"; - mes "one of the others..."; - mes "But the life that you"; - mes "want will soon be"; - mes "before your eyes."; - close; - } + mes "The life that you"; + mes "want will soon be"; + mes "before your eyes."; + mes "Everything will"; + mes "come in perfect"; + mes "order."; + close; } - if (KNGHT_Q == 10) { - mes "[Sir Edmond]"; + else if (KNIGHT_Q == 10) { mes "What is it..."; mes "Wandering Swordman."; next; - switch (select("Lady Amy sent me.:Oh, nothing.")) { - case 1: + 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; @@ -3513,26 +1856,23 @@ prt_in,70,99,6 script Sir Edmond 734,{ mes "Keep in mind"; mes "the quality of"; mes "reverence."; - set KNGHT_Q,12; - changequest 9009,9010; close2; + set KNIGHT_Q,11; + changequest 9009,9010; warp "job_knt",143,57; end; - case 2: - mes "[Sir Edmond]"; - mes "The life you want"; - mes "will soon be before"; - mes "your eyes."; - close; } - } - if (KNGHT_Q == 11) { 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; - switch (select("I'm sorry, I didn't mean to...:Oh, nothing.")) { - case 1: + 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; @@ -3544,81 +1884,53 @@ prt_in,70,99,6 script Sir Edmond 734,{ mes "shall begin."; mes "Show me your"; mes "patience..."; - set KNGHT_Q,13; close2; warp "job_knt",143,57; end; - case 2: - 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."; - close2; } - } - if (KNGHT_Q == 12 || KNGHT_Q == 13) { 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; } - mes "[Sir Edmond]"; - 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; + 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; -OnTimer60000: - donpcevent "Warp#knt::OnEnable"; - end; - -OnTimer60050: - donpcevent "Timer#knt::OnReset"; - end; - -OnTimer60100: +OnTimer300500: donpcevent "Timer#knt::OnDisable"; - donpcevent "Warp#knt::OnDisable"; + disablenpc "Warp#knt"; end; -OnTimer60150: - donpcevent "Timer#knt::OnEnable"; +OnTimer301500: stopnpctimer; + donpcevent "Timer#knt::OnEnable"; end; OnInit: - hideoffnpc "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"; - monster "job_knt",167,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; - monster "job_knt",167,57,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; - monster "job_knt",120,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; - monster "job_knt",120,57,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; - initnpctimer; - end; - OnEnable: - hideoffnpc "Timer#knt"; + 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"; @@ -3631,19 +1943,18 @@ OnEnable: 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"; - monster "job_knt",167,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; - monster "job_knt",167,57,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; - monster "job_knt",120,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; - monster "job_knt",120,57,"Mushroom",1182,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; -OnReset: - killmonster "job_knt","Timer#knt::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Timer#knt"; + killmonster "job_knt","Timer#knt::OnMyMobDead"; + disablenpc "Timer#knt"; + disablenpc "Warp#knt"; end; OnMyMobDead: @@ -3651,31 +1962,23 @@ OnMyMobDead: end; } -job_knt,143,57,0 script Warp#knt 139,22,22,{ - +job_knt,145,57,1 script Warp#knt 107,22,22,{ +OnInit: + disablenpc "Warp#knt"; + end; OnTouch: - set KNGHT_Q,12; + set KNIGHT_Q,12; changequest 9010,9011; warp "prt_in",80,100; end; - -OnInit: - hideonnpc "Warp#knt"; - end; - -OnEnable: - hideoffnpc "Warp#knt"; - end; - -OnDisable: - hideonnpc "Warp#knt"; - end; } -prt_in,87,92,4 script Sir Gray 119,{ - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Knight || Class == Job_Knight) { - mes "[Sir Gray]"; +// 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; @@ -3685,10 +1988,10 @@ prt_in,87,92,4 script Sir Gray 119,{ mes "Every Knight"; mes "would want one!"; next; - switch (select("About ^3355FFClaymore^000000:Buy Claymore:End Conversation")) { + 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 Prontera!! Its value is priceless when considered by a Knight."; + 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."; @@ -3698,7 +2001,8 @@ prt_in,87,92,4 script Sir Gray 119,{ 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: - if ((MaxWeight - Weight) < 1800) { + 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."; @@ -3709,99 +2013,97 @@ prt_in,87,92,4 script Sir Gray 119,{ mes "your items first."; close; } - if ((Zeny > 73999) && (countitem(999) > 0) && (Class == Job_Baby_Knight || Class == Job_Knight || Class == Job_Baby_Swordman || Class == Job_Swordman)) { - 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; + 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 "The basics of"; - mes "making the Claymore"; - mes "is easy. Watch~!"; - next; - mes "^3355FF*Stir Stir*^000000"; - mes "^3355FF*Ooncha Ooncha*^000000"; + 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 "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 + mes "Come back when"; + mes "you have everything"; + mes "ready. I shall be"; + mes "waiting..."; 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; } - if (Class == Job_Novice) { - mes "[Sir Gray]"; - 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 "[Sir Gray]"; - 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 (KNGHT_Q == 0) { - mes "[Sir Gray]"; - mes "Young one,"; - mes "use your time"; - mes "wisely."; + 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 "No point in"; - mes "harboring regret"; - mes "once time has passed."; + 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; } - if (KNGHT_Q == 12) { - mes "[Sir Gray]"; + 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; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: + 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; - set @knight_t, 0; mes "[Sir Gray]"; mes "Then shall"; mes "we begin mine?"; @@ -3811,308 +2113,32 @@ prt_in,87,92,4 script Sir Gray 119,{ 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; - 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; - } - 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; - } - 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; - } - } - 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; - } - 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!"; - if (Sex == 1) { - mes "Always protect her..."; - mes "Even at the sacrifice"; - mes "of your own life!"; - } - else { - mes "Always protect 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; - } - 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; - } - } - 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 KNGHT_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; - } - if (@knight_t == 5) { - set KNGHT_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; - } - if (@knight_t == 10) { - set KNGHT_Q,14; - 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; - } - set KNGHT_Q,13; - mes "[Sir Gray]"; - mes "Conversing"; - mes "with young ones"; - mes "is always enjoyable..."; + mes "shall we?"; 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."; + mes "First..."; + mes "Why did you"; + mes "decide to become"; + mes "a Knight?"; next; - mes "[Sir Gray]"; - mes "If you truly wish to become a Knight, you must change your outlook first. Then, we shall see."; - close; - case 2: + } + else { mes "[Sir Gray]"; mes "Take care!"; close; } } - if (KNGHT_Q == 13) { - mes "[Sir Gray]"; + else if (KNIGHT_Q == 13) { mes "Ah, you again."; mes "What brings you"; mes "to me?"; next; - switch (select("I've been thinking a lot.:Oh, nothing.")) { - case 1: + 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; - set @knight_t, 0; mes "[Sir Gray]"; mes "Then..."; mes "Like last time,"; @@ -4124,310 +2150,311 @@ prt_in,87,92,4 script Sir Gray 119,{ mes "decide to become"; mes "a Knight?"; next; - 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?"; - mes "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; - } - 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; - } - 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; - } - } + } + 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 "I understand your thoughts,"; - mes "but there are those who wish to"; - mes "become Knights without thinking."; + 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 "Those are the ones who instigate problems and shame the honor of Knights, bringing irreversible results."; + 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 "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."; + mes "Ah, a wonderful idea. A Knight's strength must be used to protect the weak and defend righteousness."; next; mes "[Sir Gray]"; - mes "If you become a Knight right away, what are you going to do first?"; + mes "Sadly, there are a few Knights who shame us by forgetting the ideals that should be basic to Knighthood..."; 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; - } - 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!"; - if (Sex == 1) { - mes "Always protect her..."; - mes "Even at the sacrifice"; - mes "of your own life!"; - } - else { - mes "Always protect 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; - } - 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; + } + 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 "Oh no, we've been"; - mes "talking too much..."; - mes "I apologize for"; - mes "keeping you here"; - mes "for so long."; + 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; - if (@knight_t == 0) { - set KNGHT_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~"; - close2; - } - if (@knight_t == 5) { - set KNGHT_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; - } - if (@knight_t == 10) { - set KNGHT_Q,14; - 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; - } - set KNGHT_Q,13; + break; + case 2: + set .@knight_t,.@knight_t+10; mes "[Sir Gray]"; - mes "Conversing"; - mes "with young ones"; - mes "is always enjoyable..."; + mes "Of course wealth is important."; + mes "But we Knights must live for higher virtues."; next; + break; + case 3: 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."; + mes "Ah, a wonderful idea. A Knight's strength must be used to protect the weak and defend righteousness."; next; mes "[Sir Gray]"; - mes "If you truly wish to become a Knight, you must change your outlook first. Then, we shall see."; - close; + 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 "Take care!"; - mes "Health is"; - mes "every man's"; - mes "treasure!"; - close; + 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; } - if (KNGHT_Q == 14) { + else { + set KNIGHT_Q,13; + mes "[Sir Gray]"; + mes "Conversing"; + mes "with young ones"; + mes "is always enjoyable..."; + next; mes "[Sir Gray]"; - mes "I told you"; - mes "to go to"; - mes "the captain."; + 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 "Everyone will"; - mes "carefully make"; - mes "their decision,"; - mes "so go now!"; + 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; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: + if (select("I would like to take the test to change jobs.:Oh, nothing.") == 1) { mes "[Sir Gray]"; mes "Hoho~"; mes "There are many"; @@ -4440,13 +2467,12 @@ prt_in,87,92,4 script Sir Gray 119,{ mes "I may review"; mes "you as well."; close; - case 2: - mes "[Sir Gray]"; - mes "Take care!"; - mes "Health is"; - mes "every man's"; - mes "treasure!"; - close; } + mes "[Sir Gray]"; + mes "Take care!"; + mes "Health is"; + mes "every man's"; + mes "treasure!"; + close; } -} \ No newline at end of file +} diff --git a/npc/pre-re/jobs/2-1/priest.txt b/npc/pre-re/jobs/2-1/priest.txt index a283fb5d0..8aadc429b 100644 --- a/npc/pre-re/jobs/2-1/priest.txt +++ b/npc/pre-re/jobs/2-1/priest.txt @@ -1,44 +1,63 @@ //===== rAthena Script ======================================= -// Piest Job change Quest +//= Priest Quest //===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= Translated By: Pgro Team (OwNaGe)(Aegis) +//= Converted by: kobra_k88. +//= Further bugfixed and tested by Lupus //===== Current Version: ===================================== -//= 1.0 +//= 2.6 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Acolyte -> Priest. +//= [Aegis Conversion] +//= Job Change quest for Priest class. //===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] -//============================================================ +//= 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,{ - if (Upper == 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; + // 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 ((Class != Job_Baby_Acolyte) && (Class != Job_Acolyte)) { - if (Class == Job_Baby_Priest || Class == Job_Priest || Class == Job_High_Priest) { + if (BaseJob != Job_Acolyte) { + if (BaseJob == Job_Priest) { mes "[Bishop Paul]"; mes "Ah..."; - if (Sex == 1) { + 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 { + 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.")) { + 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."; @@ -62,8 +81,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "[Bishop Paul]"; mes "Do you wish to help him out during the spiritual training?"; next; - switch (select("Yes, I do.:Give me a second.")) { - case 1: + 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..."; @@ -77,42 +95,38 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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; - case 2: - mes "[Bishop Paul]"; - mes "I see, take your time. Don't forget to bring a ^0000FFRosary^000000..."; - 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 90,90; + 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; } } - if (Class == Job_Baby || Class == Job_Novice) { - if (Sex == 1) { - mes "[Bishop Paul]"; - mes "May God be"; + else if (BaseClass == Job_Novice) { + mes "[Bishop Paul]"; + mes "May God be"; + if (sex) mes "with you, brother."; - } - else { - mes "[Bishop Paul]"; - mes "May God be"; + 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.")) { + 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..."; @@ -133,22 +147,18 @@ prt_church,16,41,4 script High Bishop#prst 60,{ close; } else { - if (Sex == 1) { - mes "[Bishop Paul]"; - mes "May God be"; + mes "[Bishop Paul]"; + mes "May God be"; + if (sex) mes "with you, brother."; - } - else { - mes "[Bishop Paul]"; - mes "May God be"; + 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.")) { + switch(select("Information about Priests.:Nothing.")) { case 1: mes "[Bishop Paul]"; mes "Priests have the authority to perform and administer religious rites."; @@ -191,22 +201,17 @@ prt_church,16,41,4 script High Bishop#prst 60,{ close; } } - if (PRST_Q == 0) { - if (Sex == 1) { - mes "[Bishop Paul]"; - mes "May God bless"; + if (PRIEST_Q == 0) { + mes "[Bishop Paul]"; + mes "May God bless"; + if (sex) mes "you, Brother."; - mes "What brings"; - mes "you to me?"; - } else { - mes "[Bishop Paul]"; - mes "May God bless"; + else mes "you, Sister."; - mes "What brings"; - mes "you to me?"; - } + mes "What brings"; + mes "you to me?"; next; - switch (select("I want to be a Priest.:How are you, Father?")) { + 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."; @@ -221,8 +226,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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; - switch (select("Yes, I do.:I need some time to think about it...")) { - case 1: + 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."; @@ -231,21 +235,19 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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 != 0) { + 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 PRST_Q, 1; + set PRIEST_Q,1; setquest 8009; - if (Sex == 1) { 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 "[Bishop Paul]"; + 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."; @@ -269,25 +271,22 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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 PRST_Q, 5; + set PRIEST_Q,5; changequest 8009,8011; mes "[Bishop Paul]"; mes "Well, are you ready for the Spiritual Training?"; next; - switch (select("I am ready.:Give me a minute.")) { - case 1: + 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; - break; - case 2: - mes "[Bishop Paul]"; - mes "No problem, take your time."; - mes "May God give you the strength to overcome your fears..."; - close; - break; + 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."; @@ -314,15 +313,14 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "[Bishop Paul]"; mes "May God"; mes "bless you..."; - close; - case 2: - mes "[Bishop Paul]"; - mes "Please take your time."; - mes "You are always welcomed."; - mes "May God 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..."; @@ -331,11 +329,10 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "Thank you for asking."; next; mes "[Bishop Paul]"; - if (Sex == 1) { + if (sex) mes "I hope you will continue to go on your mission as God's servant, brother."; - } else { + 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"; @@ -344,12 +341,11 @@ prt_church,16,41,4 script High Bishop#prst 60,{ close; } } - if (PRST_Q == 1) { + 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; - switch (select("Sorry father, I need to check the order.:No no no, not at all.")) { - case 1: + 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; @@ -371,16 +367,15 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "[Bishop Paul]"; mes "May God bless you..."; close; - case 2: - 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; } + 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; } - if (PRST_Q == 2) { + 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; @@ -388,7 +383,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "For your next quest, you should meet Sister Mathilda. I shall be awaiting your safe return."; close; } - if (PRST_Q == 3) { + 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; @@ -396,8 +391,9 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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; } - if (PRST_Q == 4) { - set PRST_Q, 5; + else if (PRIEST_Q == 4) { + set PRIEST_Q,5; + changequest 8010,8011; mes "[Bishop Paul]"; mes "You've accomplished"; mes "your pilgrimage."; @@ -413,72 +409,63 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "Well, are you ready for"; mes "the spiritual training?"; next; - switch (select("I'm ready.:Give me a minute.")) { - case 1: - changequest 8010,8011; + 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; - case 2: - mes "[Bishop Paul]"; - mes "No problem,"; - mes "take your time."; - mes "May God grant you"; - mes "the strength to"; - mes "overcome your fears..."; - close; } + mes "[Bishop Paul]"; + mes "No problem,"; + mes "take your time."; + mes "May God grant you"; + mes "the strength to"; + mes "overcome your fears..."; + close; } - if (PRST_Q == 5) { + else if (PRIEST_Q == 5) { mes "[Bishop Paul]"; mes "You seem confident about the spiritual training. Shall we begin?"; next; - switch (select("I'm ready.:Give me a minute.")) { - case 1: - changequest 8010,8011; + 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; - case 2: - mes "[Bishop Paul]"; - mes "No problem,"; - mes "take your time."; - mes "May God grant you"; - mes "the strength to"; - mes "overcome your fears..."; - close; } + mes "[Bishop Paul]"; + mes "No problem,"; + mes "take your time."; + mes "May God grant you"; + mes "the strength to"; + mes "overcome your fears..."; + close; } - if (PRST_Q == 6) { + 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; - switch (select("I'll try again.:Give me a minute.")) { - case 1: - changequest 8010,8011; + 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; - case 2: - mes "[Bishop Paul]"; - mes "No problem,"; - mes "take your time."; - mes "May God grant you"; - mes "the strength to"; - mes "overcome your fears..."; - close; } + mes "[Bishop Paul]"; + mes "No problem,"; + mes "take your time."; + mes "May God grant you"; + mes "the strength to"; + mes "overcome your fears..."; + close; } - if (PRST_Q == 7) { + 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; @@ -494,7 +481,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "waiting for you."; close; } - if (PRST_Q == 8) { + 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; @@ -502,105 +489,63 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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; } - if (PRST_Q == 9) { - if (SkillPoint != 0) { + 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; } - if (JobLevel == 50) { - 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."; - if (Sex == 1) { - 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 PRST_Q, 0; - if(Class == Job_Baby_Acolyte){ - jobchange Job_Baby_Priest; - } else { - jobchange Job_Priest; - } - changequest 8015,8016; - 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; - getitem 1551,1; //Bible - mes "[Bishop Paul]"; - 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..."; - completequest 8016; - 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."; - if (Sex == 1) { + changequest 8015,8016; + if (sex) mes "Let him send your message throughout the ends of the earth."; - } - else { + 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 PRST_Q,0; - if(Class == Job_Baby_Acolyte){ - jobchange Job_Baby_Priest; - } else { - jobchange Job_Priest; - } - changequest 8015,8016; + 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; - getitem 1550,1; //Book mes "[Bishop Paul]"; - mes "And..."; - mes "This book is for you. I hope it will aid you in spreading God's message on earth."; + 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..."; - completequest 8016; close; } } prt_church,27,24,1 script Sister Cecilia 79,{ - if ((Class != Job_Baby_Acolyte) && (Class != Job_Acolyte)) { - if (Class == Job_Baby_Priest || Class == Job_Priest) { - if (Sex == 1) { - mes "[Sister Cecilia]"; + 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 "[Sister Cecilia]"; + 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."; - } } - if (Class == Job_Baby || Class == Job_Novice) { - if (Sex == 1) { - mes "[Sister Cecilia]"; + else if (Class == Job_Novice) { + if (sex) mes "May god bless you, brother."; - } - else { - mes "[Sister Cecilia]"; + else mes "May god bless you, sister."; - } mes "Prontera parish welcomes you."; next; mes "[Sister Cecilia]"; @@ -619,54 +564,45 @@ prt_church,27,24,1 script Sister Cecilia 79,{ mes "But please..."; mes "Take your time, and decide what job will be the best for you."; } - if (Sex == 1) { - mes "[Sister Cecilia]"; - mes "May god bless you, brother."; - } else { - mes "[Sister Cecilia]"; - mes "May god bless you, sister."; - } - mes "Welcome to Prontera parish. How may I help you?"; - next; - switch (select("Tell me more about Priests.:Nothing.")) { - case 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."; + 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; - 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 (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - next; + if (select("Tell me more about Priests.:Nothing.") == 1) { 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."; + 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 "I believe he can give you specific requirement information about the Priest class. Yes, I think it's a good idea."; - next; + 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; } - break; - case 2: 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."; - break; + next; + mes "[Sister Cecilia]"; + mes "May God bless you..."; + close; } - next; - mes "[Sister Cecilia]"; - mes "May God bless you..."; - close; } - if (PRST_Q == 0) { - if (Sex == 1) { - mes "[Sister Cecilia]"; + if (PRIEST_Q == 0) { + if (sex) mes "May God bless you, brother."; - } - else { - mes "[Sister Cecilia]"; + 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.")) { + 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."; @@ -692,8 +628,7 @@ prt_church,27,24,1 script Sister Cecilia 79,{ close; } } - if (PRST_Q == 1) { - mes "[Sister Cecilia]"; + 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]"; @@ -715,8 +650,7 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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; } - if (PRST_Q == 2) { - mes "[Sister Cecilia]"; + 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]"; @@ -729,8 +663,7 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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; } - if (PRST_Q == 3) { - mes "[Sister Cecilia]"; + 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]"; @@ -740,25 +673,21 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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; } - if (PRST_Q == 4) { - mes "[Sister Cecilia]"; + 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 == 1) { - mes "Brother " + strcharinfo(0) + "..."; - } - else { - mes "Sister " + strcharinfo(0) + "..."; - } + 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; } - if (PRST_Q == 5) { - mes "[Sister Cecilia]"; + else if (PRIEST_Q == 5) { mes "Oh, you haven't finished the spiritual training yet?"; next; mes "[Sister Cecilia]"; @@ -768,8 +697,7 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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; } - if (PRST_Q == 6) { - mes "[Sister Cecilia]"; + 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]"; @@ -779,38 +707,41 @@ prt_church,27,24,1 script Sister Cecilia 79,{ mes "May God give you guidance and protection. When you complete your training, please come back to me."; close; } - if (PRST_Q == 7) { - mes "[Sister Cecilia]"; - mes "Welcome! I'm so glad to see you've come back! Now, there is one last trial left for you to complete."; - changequest 8013,8014; - next; - mes "[Sister Cecilia]"; - if (Sex == 1) { - mes "Brother " + strcharinfo(0) + "..."; + 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 { - mes "Sister " + strcharinfo(0) + "..."; + 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 == 1) { - mes "Brother " + strcharinfo(0) + ","; - } - else { - mes "Sister " + strcharinfo(0) + ","; - } + if (sex) + mes "Brother "+ strcharinfo(0) +","; + else + mes "Sister "+ strcharinfo(0) +","; mes "Are you willing"; mes "to give your life to God?"; next; - switch (select("Yes.:No!")) { - case 1: - break; - case 2: + 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 PRST_Q, 8; + 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; @@ -818,29 +749,23 @@ prt_church,27,24,1 script Sister Cecilia 79,{ mes "[Sister Cecilia]"; mes "Will you take advantage of the holy abilities given by God for selfish, destructive or greedy ends?"; next; - switch (select("Yes.:No.")) { - case 1: + 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 PRST_Q, 8; + 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; - case 2: - break; } mes "[Sister Cecilia]"; mes "Will you help aid others, even complete strangers, in battles by easing their suffering?"; next; - switch (select("Yes.:No.")) { - case 1: - break; - case 2: + 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 PRST_Q, 8; + 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; @@ -848,14 +773,11 @@ prt_church,27,24,1 script Sister Cecilia 79,{ mes "[Sister Cecilia]"; mes "Are you willing to sacrifice yourself for the sake of others?"; next; - switch (select("Yes.:No.")) { - case 1: - break; - case 2: + 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 PRST_Q, 8; + 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; @@ -863,279 +785,108 @@ prt_church,27,24,1 script Sister Cecilia 79,{ mes "[Sister Cecilia]"; mes "Will you repeatly say the same phrase in public in order to send God's message to his children?"; next; - switch (select("Yes.:No.")) { - case 1: + 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 PRST_Q, 8; + 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; - case 2: - break; } mes "[Sister Cecilia]"; mes "Will you lure many monsters to help your party members level up?"; next; - switch (select("Yes.:No.")) { - case 1: + 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 PRST_Q, 8; + 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; - case 2: - break; } mes "[Sister Cecilia]"; mes "Will you follow God, no matter what it takes, even if he demands you to kill yourself?"; next; - switch (select("Yes.:No.")) { - case 1: - break; - case 2: + 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 PRST_Q,8; + 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 == 1) { - mes "Brother " + strcharinfo(0) + "..."; - } - else { - mes "Sister " + strcharinfo(0) + "..."; - } + 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; - switch (select("I do.:No.")) { - case 1: - set PRST_Q,9; - changequest 8014,8015; + 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; - case 2: - mes "[Sister Cecilia]"; - mes "..."; - next; - mes "[Sister Cecilia]"; - mes "..."; - mes "......"; - next; - set PRST_Q,8; - mes "[Sister Cecilia]"; - mes "You've come so far..."; - mes "Why would you want"; - mes "to throw this all away...?"; - close; } - } - if (PRST_Q == 8) { mes "[Sister Cecilia]"; 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."; + mes "..."; + mes "......"; next; + set PRIEST_Q,8; + changequest 8014,8015; mes "[Sister Cecilia]"; - if (Sex == 1) { - mes "Brother " + strcharinfo(0) + "..."; - } - else { - mes "Sister " + strcharinfo(0) + "..."; - } - mes "We will now begin your formal oath for the Priesthood. This time, listen closely to your heart..."; + 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]"; - if (Sex == 1) { - mes "Brother " + strcharinfo(0) + ","; - } - else { - mes "Sister " + strcharinfo(0) + ","; - } - mes "Are you willing"; - mes "to give your life to God?"; + 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; - switch (select("Yes.:No!")) { - case 1: - break; - case 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; - 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?"; + 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; - switch (select("Yes.:No.")) { - case 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; - 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; - case 2: - break; - } - mes "[Sister Cecilia]"; - mes "Will you help aid others, even complete strangers, in battles by easing their suffering?"; + mes "[Father Peter]"; + mes "Remember, no matter how much you want to help this Acolyte, this is not your quest."; next; - switch (select("Yes.:No.")) { - case 1: - break; - case 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; - 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; - switch (select("Yes.:No.")) { - case 1: - break; - case 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; - 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; - switch (select("Yes.:No.")) { - case 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; - 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; - case 2: - break; - } - mes "[Sister Cecilia]"; - mes "Will you lure many monsters to help your party members level up?"; - next; - switch (select("Yes.:No.")) { - case 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; - 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; - case 2: - break; - } - mes "[Sister Cecilia]"; - mes "Will you follow God, no matter what it takes, even if he demands you to kill yourself?"; - next; - switch (select("Yes.:No.")) { - case 1: - break; - case 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; - 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 == 1) { - 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; - switch (select("I do.:No.")) { - case 1: - set PRST_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; - case 2: - mes "[Sister Cecilia]"; - mes "..."; - next; - mes "[Sister Cecilia]"; - mes "..."; - mes "......"; - next; - mes "[Sister Cecilia]"; - mes "You've come so far..."; - mes "Why would you want"; - mes "to throw this all away...?"; - close; - } - } - if (PRST_Q == 9) { - mes "[Sister Cecilia]"; - 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; - } -} - -job_prist,24,187,4 script Peter S. Alberto 110,{ - if (Class == Job_Baby_Priest || Class == Job_Priest) { - mes "[Father Peter]"; - mes "Welcome!"; - if (Sex == 1) { - 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.")) { + 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."; @@ -1159,8 +910,7 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ end; } } - if (PRST_Q == 5) { - mes "[Father Peter]"; + if (PRIEST_Q == 5) { mes "Welcome~!"; mes "I congratulate you"; mes "for passing the first trail."; @@ -1178,7 +928,7 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ 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...")) { + 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!"; @@ -1206,7 +956,7 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ 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.")) { + 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!"; @@ -1215,20 +965,21 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ mes "Now..."; mes "Go for it!"; close2; + changequest 8011,8012; warp "job_prist",24,44; - donpcevent "Zombie_Generator::OnEnable"; + donpcevent "Zombie_Generator#prst::OnEnable"; donpcevent "Peter S. Alberto::OnDisable"; donpcevent "Peter S. Alberto#2::OnEnable"; end; case 2: - set PRST_Q,6; + 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 PRST_Q,6; + set PRIEST_Q,6; mes "[Father Peter]"; mes "What...?"; mes "You wanna go back??"; @@ -1240,8 +991,7 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ end; } } - if (PRST_Q == 6) { - mes "[Father Peter]"; + else if (PRIEST_Q == 6) { mes "Are you ready this time?"; mes "Complete this trial quickly,"; mes "and become a Priest!"; @@ -1249,7 +999,7 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ mes "[Father Peter]"; mes "Are you ready then?"; next; - switch (select("I'm ready.:Please hold on.:I want to go back.")) { + 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..."; @@ -1259,8 +1009,11 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ mes "Kill those"; mes "misbegotten creatures!"; close2; + if(checkquest(8012) == -1) { + changequest 8011,8012; + } warp "job_prist",24,44; - donpcevent "Zombie_Generator::OnEnable"; + donpcevent "Zombie_Generator#prst::OnEnable"; donpcevent "Peter S. Alberto::OnDisable"; donpcevent "Peter S. Alberto#2::OnEnable"; end; @@ -1282,31 +1035,30 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ end; } } - mes "[Father Peter]"; - mes "Go back!"; - close2; - warp "prontera",234,318; - end; + else { + mes "Go back!"; + close2; + warp "prontera",234,318; + end; + } OnEnable: - hideoffnpc "Peter S. Alberto"; + enablenpc "Peter S. Alberto"; end; OnDisable: - hideonnpc "Peter S. Alberto"; + disablenpc "Peter S. Alberto"; end; } job_prist,23,187,1 script Peter S. Alberto#2 110,{ - if (Class == Job_Baby_Priest || Class == Job_Priest) { - mes "[Father Peter]"; + mes "[Father Peter]"; + if (BaseJob == Job_Priest) { mes "Welcome!"; - if (Sex == 1) { - mes "Brother " + strcharinfo(0) + "!"; - } - else { - mes "Sister " + strcharinfo(0) + "!"; - } + if (sex) + mes "Brother "+ strcharinfo(0) +"!"; + else + mes "Sister "+ strcharinfo(0) +"!"; mes "So good to see you!"; next; mes "[Father Peter]"; @@ -1319,47 +1071,44 @@ job_prist,23,187,1 script Peter S. Alberto#2 110,{ 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 (PRST_Q == 5) { - mes "[Father Peter]"; + 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; } - if (PRST_Q == 6) { - mes "[Father Peter]"; + 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; } - mes "[Father Peter]"; - mes "Peace..."; - mes "Be with you."; - close2; - warp "prontera",234,318; - end; + else { + mes "Peace..."; + mes "Be with you."; + close2; + warp "prontera",234,318; + end; + } OnInit: - hideonnpc "Peter S. Alberto#2"; + disablenpc "Peter S. Alberto#2"; end; OnEnable: - hideoffnpc "Peter S. Alberto#2"; + enablenpc "Peter S. Alberto#2"; end; OnDisable: - hideonnpc "Peter S. Alberto#2"; + disablenpc "Peter S. Alberto#2"; end; } -job_prist,1,1,1 script Zombie_Generator 110,{ - end; - +- script Zombie_Generator#prst 110,{ OnInit: - hideonnpc "Zombie_Generator"; + disablenpc "Zombie_Generator#prst"; end; OnEnable: @@ -1371,63 +1120,50 @@ OnEnable: initnpctimer; end; -OnM1: - monster "job_prist",24,52,"Theft",1015,1,"Zombie_Generator::OnMyMobDead"; - monster "job_prist",18,52,"Want of Virtue",1015,1,"Zombie_Generator::OnMyMobDead"; - monster "job_prist",30,52,"Jealousy",1015,1,"Zombie_Generator::OnMyMobDead"; +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,"Zombie_Generator::OnMyMobDead"; - monster "job_prist",27,62,"Envy",1015,1,"Zombie_Generator::OnMyMobDead"; +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,"Zombie_Generator::OnMyMobDead"; - monster "job_prist",18,72,"Lewdness",1015,1,"Zombie_Generator::OnMyMobDead"; - monster "job_prist",30,72,"Sloth",1015,1,"Zombie_Generator::OnMyMobDead"; +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,"Zombie_Generator::OnMyMobDead"; - monster "job_prist",27,82,"Greed",1015,1,"Zombie_Generator::OnMyMobDead"; +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,"Zombie_Generator::OnMyMobDead"; - monster "job_prist",18,92,"Distrust",1015,1,"Zombie_Generator::OnMyMobDead"; - monster "job_prist",30,92,"Fear",1015,1,"Zombie_Generator::OnMyMobDead"; - end; - -OnMyMobDead: - if (mobcount ("job_prist","Zombie_Generator::OnMyMobDead") < 1) { - donpcevent "prst1_2::OnEnable"; - } +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: - hideonnpc "Zombie_Generator"; - end; - -OnReset: - killmonster "job_prist","Zombie_Generator::OnMyMobDead"; + disablenpc "Zombie_Generator#prst"; + killmonsterall "job_prist"; end; OnTimer300000: - donpcevent "Zombieo::OnEnable"; + areawarp "job_prist",8,34,39,109,"prontera",234,318; end; OnTimer300500: - donpcevent "Zombie_Generator::OnReset"; - end; - -OnTimer301000: - donpcevent "Zombieo::OnDisable"; - donpcevent "prst1_2::OnDisable"; + donpcevent "Zombie_Generator#prst::OnDisable"; end; OnTimer301500: - donpcevent "Zombie_Generator::OnDisable"; + donpcevent "Zombie_Generator#prst::OnDisable"; donpcevent "Peter S. Alberto#2::OnDisable"; donpcevent "Peter S. Alberto::OnEnable"; end; @@ -1437,10 +1173,17 @@ OnTimer302000: end; } -job_prist,24,44,0 script Zombie Info 139,1,1,{ +- 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 (Class == Job_Baby_Priest || Class == Job_Priest) { + 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; @@ -1454,7 +1197,7 @@ OnTouch: mes "5 minutes. Best of luck~"; close; } - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + 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; @@ -1465,255 +1208,128 @@ OnTouch: end; } -job_prist,24,74,0 script Zombieo 139,14,40,{ - -OnTouch: - warp "prontera",234,318; - end; - +job_prist,24,52,0 script Zombie1_1 -1,14,1,{ OnInit: - hideonnpc "Zombieo"; + disablenpc "Zombie1_1"; end; -OnEnable: - hideoffnpc "Zombieo"; - end; - -OnDisable: - hideonnpc "Zombieo"; - end; -} - -job_prist,24,52,0 script Zombie1_1 139,14,1,{ - OnTouch: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - donpcevent "Zombie_Generator::OnM1"; + if (BaseJob == Job_Acolyte) { + donpcevent "Zombie_Generator#prst::Onm1"; donpcevent "Zombie1_1::OnDisable"; } end; -OnInit: - hideonnpc "Zombie1_1"; - end; - OnEnable: - hideoffnpc "Zombie1_1"; - hideoffnpc "Zombie1_2"; - hideoffnpc "Zombie1_3"; + enablenpc "Zombie1_1"; end; OnDisable: - hideonnpc "Zombie1_1"; - hideonnpc "Zombie1_2"; - hideonnpc "Zombie1_3"; + disablenpc "Zombie1_1"; end; } -job_prist,18,52,0 script Zombie1_2 139,1,1,{ - end; - -OnInit: - hideonnpc "Zombie1_2"; - end; -} - -job_prist,30,52,0 script Zombie1_3 139,1,1,{ - end; - +job_prist,21,62,0 script Zombie2_1 -1,17,1,{ OnInit: - hideonnpc "Zombie1_3"; + disablenpc "Zombie2_1"; end; -} - -job_prist,21,62,0 script Zombie2_1 139,17,1,{ OnTouch: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - donpcevent "Zombie_Generator::OnM2"; + if (BaseJob == Job_Acolyte) { + donpcevent "Zombie_Generator#prst::Onm2"; donpcevent "Zombie2_1::OnDisable"; } end; -OnInit: - hideonnpc "Zombie2_1"; - end; - OnEnable: - hideoffnpc "Zombie2_1"; - hideoffnpc "Zombie2_2"; + enablenpc "Zombie2_1"; end; OnDisable: - hideonnpc "Zombie2_1"; - hideonnpc "Zombie2_2"; + disablenpc "Zombie2_1"; end; } -job_prist,27,62,0 script Zombie2_2 139,1,1,{ - end; - +job_prist,24,72,0 script Zombie3_1 -1,14,1,{ OnInit: - hideonnpc "Zombie2_2"; + disablenpc "Zombie3_1"; end; -} - -job_prist,24,72,0 script Zombie3_1 139,14,1,{ OnTouch: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - donpcevent "Zombie_Generator::OnM3"; + if (BaseJob == Job_Acolyte) { + donpcevent "Zombie_Generator#prst::Onm3"; donpcevent "Zombie3_1::OnDisable"; } end; -OnInit: - hideonnpc "Zombie3_1"; - end; - OnEnable: - hideoffnpc "Zombie3_1"; - hideoffnpc "Zombie3_2"; - hideoffnpc "Zombie3_3"; + enablenpc "Zombie3_1"; end; OnDisable: - hideonnpc "Zombie3_1"; - hideonnpc "Zombie3_2"; - hideonnpc "Zombie3_3"; + disablenpc "Zombie3_1"; end; } -job_prist,18,72,0 script Zombie3_2 139,1,1,{ - end; - +job_prist,21,82,0 script Zombie4_1 -1,17,1,{ OnInit: - hideonnpc "Zombie3_2"; - end; -} - -job_prist,30,72,0 script Zombie3_3 139,1,1,{ + disablenpc "Zombie4_1"; end; -OnInit: - hideonnpc "Zombie3_3"; - end; - -} - -job_prist,21,82,0 script Zombie4_1 139,17,1,{ - OnTouch: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - donpcevent "Zombie_Generator::OnM4"; + if (BaseJob == Job_Acolyte) { + donpcevent "Zombie_Generator#prst::Onm4"; donpcevent "Zombie4_1::OnDisable"; } end; -OnInit: - hideonnpc "Zombie4_1"; - end; - OnEnable: - hideoffnpc "Zombie4_1"; - hideoffnpc "Zombie4_2"; + enablenpc "Zombie4_1"; end; OnDisable: - hideonnpc "Zombie4_1"; - hideonnpc "Zombie4_2"; - end; + disablenpc "Zombie4_1"; } -job_prist,27,82,0 script Zombie4_2 139,1,1,{ - end; - +job_prist,24,92,0 script Zombie5_1 -1,14,1,{ OnInit: - hideonnpc "Zombie4_2"; + disablenpc "Zombie5_1"; end; -} - -job_prist,24,92,0 script Zombie5_1 139,14,1,{ OnTouch: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - donpcevent "Zombie_Generator::OnM5"; + if (BaseJob == Job_Acolyte) { + donpcevent "Zombie_Generator#prst::Onm5"; donpcevent "Zombie5_1::OnDisable"; } end; -OnInit: - hideonnpc "Zombie5_1"; - end; - OnEnable: - hideoffnpc "Zombie5_1"; - hideoffnpc "Zombie5_2"; - hideoffnpc "Zombie5_3"; + enablenpc "Zombie5_1"; end; OnDisable: - hideonnpc "Zombie5_1"; - hideonnpc "Zombie5_2"; - hideonnpc "Zombie5_3"; - end; -} - -job_prist,18,92,0 script Zombie5_2 139,1,1,{ - end; - -OnInit: - hideonnpc "Zombie5_2"; - end; -} - -job_prist,30,92,0 script Zombie5_3 139,1,1,{ - end; - -OnInit: - hideonnpc "Zombie5_3"; - end; + disablenpc "Zombie5_1"; } -job_prist,24,109,0 script prst1_1 45,4,3,{ - -OnTouch: - if (Class == Job_Baby_Priest || Class == Job_Priest) { - warp "job_prist",168,17; - } - end; -} - -job_prist,24,109,0 script prst1_2 139,4,3,{ - +job_prist,24,109,4 script prst1_1 45,3,3,{ OnTouch: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + 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::OnReset"; + donpcevent "Zombie_Generator#prst::OnDisable"; donpcevent "Peter S. Alberto#2::OnDisable"; donpcevent "Peter S. Alberto::OnEnable"; - donpcevent "prst1_2::OnDisable"; - donpcevent "Zombie_Generator::OnDisable"; + donpcevent "Zombie_Generator#prst::OnDisable"; } end; - -OnInit: - hideonnpc "prst1_2"; - end; - -OnEnable: - hideoffnpc "prst1_2"; - end; - -OnDisable: - hideonnpc "prst1_2"; - end; } -job_prist,168,45,4 script Deviruchi#prst 1928,8,1,{ - +// 3rd Test +//========================================================== +job_prist,168,45,4 script Deviruchi#prst 1109,8,1,{ OnTouch: - if (Class == Job_Baby_Priest || Class == Job_Priest) { + if (BaseJob == Job_Priest) { mes "[Deviruchi]"; mes "Whaaaaat...?"; mes "What are you"; @@ -1731,7 +1347,7 @@ OnTouch: 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 (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + if (BaseClass == Job_Acolyte) { mes "[Deviruchi]"; mes "Why..."; mes "Hello little Aco."; @@ -1749,8 +1365,7 @@ OnTouch: 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; - switch (select("You're right, I quit!:Out of my sight, demon!")) { - case 1: + if (select("You're right, I quit!:Out of my sight, demon!") == 1) { mes "[Deviruchi]"; mes "^660000YES~!^000000 I mean..."; mes "Good for you!"; @@ -1763,62 +1378,59 @@ OnTouch: mes "[Deviruchi]"; mes "BWAHAHAHAHAHAH!"; mes "GET THE JOKE!?"; + close2; warp "c_tower2",168,33; end; - case 2: - 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 "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 "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."; + mes "Good choice!"; + mes "This card can"; + mes "can be yours..."; next; - cutin "¹Ì½ºÆ®·¹½ºÄ«µå.bmp",4; + cutin "¹Ì½ºÆ®·¹½ºÄ«µå.bmp",255; 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; - switch (select("You're right, I'll take it!:Silence!")) { - case 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; - case 2: - 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; - } + 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 1966,8,1,{ - +job_prist,168,80,4 script Doppelganger#prst 1046,8,1,{ OnTouch: - if (Class == Job_Baby_Priest || Class == Job_Priest) { + 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; @@ -1826,7 +1438,7 @@ OnTouch: 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; } - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + else if (BaseClass == Job_Acolyte) { mes "[Doppelganger]"; mes "Hold on there, Acolyte."; mes "I'm not like Deviruchi,"; @@ -1839,8 +1451,7 @@ OnTouch: 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; - switch (select("Deal, Deal!:No deal... Doppelganger.")) { - case 1: + if (select("Deal, Deal!:No deal... Doppelganger.") == 1) { mes "[Doppelganger]"; mes "Good choice~"; mes "I shall return your"; @@ -1854,55 +1465,50 @@ OnTouch: close2; warp "gef_dun02",210,177; end; - case 2: + } + 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 "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?"; + mes "Excellent choice. Now, never return to this place. I shall return your job to Novice as you wish."; 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; - switch (select("I don't want to be a Priest!:I'll never listen to you!")) { - case 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; - case 2: - 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; - } + 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; } - end; } job_prist,168,115,4 script Dark Lord#prst 1272,8,1,{ - OnTouch: - if (Class == Job_Baby_Priest || Class == Job_Priest) { + 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"; - close2; + close; } - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + else if (BaseClass == Job_Acolyte) { mes "[Dark Lord]"; mes "^330033Halt, human."; mes "Who has granted"; @@ -1915,48 +1521,42 @@ OnTouch: 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; - switch (select("I'm so sorry. Spare me!:God will protect me.")) { - case 1: + 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; - case 2: - 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 "^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 "^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; - switch (select("I beg you, don't...!:Begone, vile fiend!")) { - case 1: - mes "[Dark Lord]"; - mes "^330033Don't ever come back!^000000"; - close2; - warp "gl_church",145,170; - end; - case 2: - 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; - } + 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; } - end; } job_prist,168,150,4 script Baphomet#prst 736,8,1,{ - OnTouch: - if (Class == Job_Baby_Priest || Class == Job_Priest) { + if (BaseJob == Job_Priest) { mes "[Baphomet]"; mes "I hate"; mes "Priests..."; @@ -1965,12 +1565,12 @@ OnTouch: mes "I don't have any business with you, servant of God. Just pass through."; close; } - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + else if (BaseClass == Job_Acolyte) { mes "[Baphomet]"; mes "Greetings."; next; mes "[Baphomet]"; - mes "..." + strcharinfo(0) + "."; + mes "..."+ strcharinfo(0) +"."; next; mes "[Baphomet]"; mes "Yes, human,"; @@ -1993,8 +1593,7 @@ OnTouch: mes "[Baphomet]"; mes "Cease this foolishness of pursuing the Priesthood. Make a contract with me. The entire world is yours for the taking."; next; - switch (select("Deal.:No, Baphomet. You lose.")) { - case 1: + 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; @@ -2006,37 +1605,32 @@ OnTouch: close2; warp "glast_01",200,203; end; - case 2: - 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; } + 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; } - end; } -job_prist,168,180,0 script prst2_1 45,4,3,{ - +job_prist,168,180,4 script prst2_1 45,3,3,{ OnTouch: - if (Class == Job_Baby_Priest || Class == Job_Priest) { - warp "job_prist",98,40; - } - else if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + 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,{ - end; - OnInit: - hideonnpc "Mummy_Generator"; + disablenpc "Mummy_Generator"; end; OnEnable: @@ -2045,138 +1639,244 @@ OnEnable: donpcevent "Mummy3_1::OnEnable"; end; -OnM1: +Onm1: monster "job_prist",90,55,"Khamoz",1041,1; monster "job_prist",105,55,"Amocsis",1041,1; end; -OnM2: +Onm2: monster "job_prist",90,70,"Mentuhoteph",1041,1; monster "job_prist",105,70,"Akenaten",1041,1; end; -OnM3: +Onm3: monster "job_prist",90,85,"Mehnes",1041,1; monster "job_prist",105,85,"Snepheru",1041,1; end; OnDisable: - hideonnpc "Mummy_Generator"; - end; - -OnReset: - killmonster "job_prist","Mummy_Generator::OnMyMobDead"; + disablenpc "Mummy_Generator"; + killmonsterall "job_prist"; end; } -job_prist,90,55,0 script Mummy1_1 139,15,1,{ +job_prist,90,55,0 script Mummy1_1 -1,15,1,{ +OnInit: + disablenpc "Mummy1_1"; + end; OnTouch: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - donpcevent "Mummy_Generator::OnM1"; + if (BaseJob == Job_Acolyte) { + donpcevent "Mummy_Generator::Onm1"; donpcevent "Mummy1_1::OnDisable"; } end; -OnInit: - hideonnpc "Mummy1_1"; - end; - OnEnable: - hideoffnpc "Mummy1_1"; - hideoffnpc "Mummy1_2"; + enablenpc "Mummy1_1"; end; OnDisable: - hideonnpc "Mummy1_1"; - hideonnpc "Mummy1_2"; + disablenpc "Mummy1_1"; end; } -job_prist,105,55,0 script Mummy1_2 139,1,1,{ - end; - +job_prist,90,70,0 script Mummy2_1 -1,15,1,{ OnInit: - hideonnpc "Mummy1_2"; + disablenpc "Mummy2_1"; end; -} - -job_prist,90,70,0 script Mummy2_1 139,15,1,{ OnTouch: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - donpcevent "Mummy_Generator::OnM2"; + if (BaseJob == Job_Acolyte) { + donpcevent "Mummy_Generator::Onm2"; donpcevent "Mummy2_1::OnDisable"; } end; -OnInit: - hideonnpc "Mummy2_1"; - end; - OnEnable: - hideoffnpc "Mummy2_1"; - hideoffnpc "Mummy2_2"; + enablenpc "Mummy2_1"; end; OnDisable: - hideonnpc "Mummy2_1"; - hideonnpc "Mummy2_2"; + disablenpc "Mummy2_1"; end; } -job_prist,105,70,0 script Mummy2_2 139,1,1,{ - end; - +job_prist,90,85,0 script Mummy3_1 -1,15,1,{ OnInit: - hideonnpc "Mummy2_2"; + disablenpc "Mummy3_1"; end; -} - -job_prist,90,85,0 script Mummy3_1 139,15,1,{ OnTouch: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - donpcevent "Mummy_Generator::OnM3"; + if (BaseJob == Job_Acolyte) { + donpcevent "Mummy_Generator::Onm3"; donpcevent "Mummy3_1::OnDisable"; } end; -OnInit: - hideonnpc "Mummy3_1"; - end; - OnEnable: - hideoffnpc "Mummy3_1"; - hideoffnpc "Mummy3_2"; + enablenpc "Mummy3_1"; end; OnDisable: - hideonnpc "Mummy3_1"; - hideonnpc "Mummy3_2"; + disablenpc "Mummy3_1"; end; } -job_prist,105,85,0 script Mummy3_2 139,1,1,{ - end; - -OnInit: - hideonnpc "Mummy3_2"; - end; -} - -job_prist,98,105,0 script prst3_1 45,4,3,{ - +job_prist,98,105,4 script prst3_1 45,3,3,{ OnTouch: - if (Class == Job_Baby_Priest || Class == Job_Priest) { + if (BaseJob == Job_Priest) { warp "prt_church",15,36; + end; } - else if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - changequest 8012,8013; - set PRST_Q,7; + else if (BaseClass == Job_Acolyte) { + set PRIEST_Q,7; + if(checkquest(8012) != -1) { + changequest 8012,8013; + } warp "prt_church",16,37; - donpcevent "Mummy_Generator::OnReset"; donpcevent "Mummy_Generator::OnDisable"; } end; -} \ No newline at end of file +} + +// 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 index d438fbfde..808c884a4 100644 --- a/npc/pre-re/jobs/2-1/wizard.txt +++ b/npc/pre-re/jobs/2-1/wizard.txt @@ -1,17 +1,31 @@ //===== rAthena Script ======================================= -// Wizard Job change Quest +//= Wizard Job Quest //===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= (Aegis) Translated by yoshiki, converted by kobra_k88 +//= Further bugfixed and tested by Lupus //===== Current Version: ===================================== -//= 1.0 +//= 3.2 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Mage -> Wizard. +//= [Aegis Conversion] +//= Job Change quest for Wizard class. //===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] +//= 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,{ @@ -25,27 +39,20 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Congratulations and good luck with your life!"; close; } - if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { - if (Class == Job_Wizard) { - if (Sex == 1) { - 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 (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 "[Catherine]"; - mes "Since you're already a Wizard, you don't have any more business with me..."; - mes "Now, excuse me."; - next; - mes "[Catherine]"; + else mes "Well, if you fix me up with a cute guy... I'd appreciate it...hohoho!."; - } close; } - if (Class == Job_Baby || Class == Job_Novice) { + 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."; @@ -65,13 +72,12 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Ok, then. Farewell."; close; } - if (WZRD_Q == 0) { + if (WIZ_Q == 0) { mes "[Wizard Guildsman]"; mes "Huh? What are you doing way up here...?"; mes "So what brings you here?"; next; - switch (select("I want to become a Wizard.:...nothing.")) { - case 1: + 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."; @@ -92,8 +98,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Well, I will give you more information when you apply for the job."; mes "So! Do you want to apply now?"; next; - switch (select("Yes, I do.:On second thought, Let me think about it.")) { - case 1: + 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?"; @@ -104,7 +109,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "When I deem you're qualified, I will accept your application."; close; } - if (SkillPoint != 0) { + 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."; @@ -136,7 +141,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ 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 WZRD_Q,3; + set WIZ_Q,3; setquest 9015; close; } @@ -148,23 +153,23 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ 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); + set wizard_m1,rand(1,2); mes "[Catherine]"; mes "The items you must collect are..."; - if (.@wizard_m1 == 1) { - set WZRD_Q,1; + 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,"; - setquest 9013; } else { - set WZRD_Q,2; + 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,"; - setquest 9014; } mes "...is it too hard? No, any would be Wizard should be able to at least get these items."; next; @@ -172,25 +177,23 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Well, good luck."; mes "I'll be happily waiting. ~Hehe."; close; - case 2: - mes "[Catherine]"; - mes "Oh, ok then, take your time."; - mes "Since I'll always be here, accepting applications...*sigh*...anyways! ~Hehehehe."; - close; } - case 2: - mes "[Wizard Guildsman]"; - mes "Geez, what a lame person."; - mes "You have no business here, hope you don't mind, now off you go!"; + 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; } - if (WZRD_Q == 1) { + 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)) { + 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."; @@ -198,9 +201,8 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ delitem 716,10; //Red_Gemstone delitem 717,10; //Blue_Gemstone delitem 715,10; //Yellow_Gemstone - set WZRD_Q,3; + set WIZ_Q,3; changequest 9013,9015; - changequest 9014,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."; @@ -224,12 +226,12 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Don't forget this time, and bring all the items, ok?..."; close; } - if (WZRD_Q == 2) { + 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)) { + 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."; @@ -238,8 +240,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ delitem 993,5; //Yellow_Live delitem 990,5; //Boody_Red delitem 992,5; //Wind_Of_Verdure - set WZRD_Q,3; - changequest 9013,9015; + set WIZ_Q,3; changequest 9014,9015; mes "[Catherine]"; mes "Good. You've passed the first test now."; @@ -265,7 +266,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Don't forget them this time and gather the correct ones, ok? See you soon..."; close; } - if (WZRD_Q == 3) { + 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..."; @@ -275,7 +276,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "I'll be waiting, so go now."; close; } - if (WZRD_Q == 4) { + 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?"; @@ -284,7 +285,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ 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!")) { + 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 @@ -346,7 +347,6 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ 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!"; - break; } next; mes "[Catherine]"; @@ -354,7 +354,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Hurry, he's waiting for you!"; close; } - if (WZRD_Q == 5) { + 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..."; @@ -368,18 +368,17 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "He's waiting for you!"; close; } - if (WZRD_Q == 6) { + 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; - if (Sex == 1) { - mes "[Catherine]"; + 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 "[Catherine]"; 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; @@ -393,9 +392,9 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "He's waiting!"; close; } - if (WZRD_Q == 7) { + else if (WIZ_Q == 7) { if (JobLevel < 40) { - set WZRD_Q,0; + 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?"; @@ -405,7 +404,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "When the time comes, I will welcome you with open arms."; close; } - if (SkillPoint != 0) { + 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."; @@ -418,13 +417,9 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "[Catherine]"; mes "Well, no need to wait, I congratulate you. I hearby deem you Wizard."; next; - set WZRD_Q,0; - if(Class == Job_Baby_Mage){ - jobchange Job_Baby_Wizard; - } else { - jobchange Job_Wizard; - } 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."; @@ -453,23 +448,21 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ } gef_tower,102,24,2 script Gloomy Wizard 735,{ - if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { - if (Class == Job_Baby_Wizard || Class == Job_Wizard) { + 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; - if (Sex == 1) { - 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!"; + 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 "[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!"; mes "So learn how to use magic properly, or you would just be better off giving up on using magic."; next; mes "[Raulel]"; @@ -478,7 +471,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ } close; } - if (Class == Job_Baby_Priest || Class == Job_Priest) { + 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."; @@ -488,7 +481,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "Don't come any closer, just leave!"; close; } - if (Class == Job_Baby || Class == Job_Novice) { + else if (BaseClass == Job_Novice) { mes "[Raulel]"; mes "Why did a little one like you come here?!"; mes "Get lost! ~Hahahahaha"; @@ -503,7 +496,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "What do you want? Jeez...just get lost, won't you?"; close; } - if (WZRD_Q == 0) { + 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; @@ -511,7 +504,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "Go away! Get lost!"; close; } - if (WZRD_Q == 1) { + else if (WIZ_Q == 1 || WIZ_Q == 2) { mes "[Raulel]"; mes "Hahahaha~ You're the one that wants to become a Wizard?!"; next; @@ -522,1030 +515,314 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "*Cough* *cough* Let's see how well you live as a Wizard. ~Hahahahhaha"; close; } - if (WZRD_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; - } - if (WZRD_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; - switch (select("I want to live as a normal Mage.:I would like to continue with the tests.")) { - case 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; - case 2: - 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; - break; - } - mes "[Raulel]"; - mes "*sneeze* Then let's begin the test!"; - mes "If you don't answer them all correctly, you fail. Hahahahahahahahaha~"; - changequest 9015,9016; - 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!"; - next; - set .@wizard_m2,rand(1,3); - set @wizard_t,0; - mes "[Raulel]"; - mes "*Cough* *cough* Then here go the questions!"; - next; - if (.@wizard_m2 == 1) { - mes "[Raulel]"; - mes "1. Which of the following is not necessary to learn Fire Wall?"; - next; - switch (select("Fire Bolt Lv 4:Fire Ball Lv 5:Sight Lv 1:Napalm Beat Lv 4")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } + else if ((WIZ_Q == 3) || (WIZ_Q == 4)) { + if (WIZ_Q == 3) { 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?"; + 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; - switch (select("Water:Earth:Fire:Wind")) { - case 1: - set @wizard_t, @wizard_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Raulel]"; - mes "3. When you completely master Napalm Beat, what is the ratio of the increased MATK using that spell?"; - next; - switch (select("1.6 times:1.7 times:2 times:20 times")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } mes "[Raulel]"; - mes "4. What item do you need when casting Stone Curse?"; + mes "*sneeze* It's not too late yet, wouldn't you rather just go back to town and enjoy the peaceful life?"; next; - switch (select("Red Blood:Blue Gemstone:Yellow Gemstone:Red Gemstone")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } mes "[Raulel]"; - mes "5. Which of the following is not required to master Safety Wall?"; + mes "Hahahaha~ You don't know how dangerous it is...to deal with Greater Magic."; next; - switch (select("Napalm Beat Lv 4:Soul Strike Lv 5:Increase SP Recovery Lv 6:Safety Wall Lv 7")) { - case 1: - break; - case 2: - break; - case 3: - set @wizard_t, @wizard_t + 10; - break; - case 4: - break; + 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 "6. Without the INT bonus, what amount of SP is recovered every 10 seconds when you have learned Increase SP Recovery Lv 7?"; + 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; - switch (select("14:21:28:35")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } 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?"; + mes "*sneeze* Then let's begin the test!"; + mes "If you don't answer them all correctly, you fail. Hahahahahahahahaha~"; next; - switch (select("Damage 18% SP1.5%:Damage 18% SP2%:Damage 24% SP1.5%:Damage 24% SP2%")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } mes "[Raulel]"; - mes "8. How much SP is consumed and how many times can you avoid attacks when using Safety Wall Lv 6?"; - next; - switch (select("SP 40, 6 times:SP 35, 6 times:SP 40, 7 times:SP 35, 7 times")) { - case 1: - break; - case 2: - break; - case 3: - set @wizard_t, @wizard_t + 10; - break; - case 4: - break; + 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; } - mes "[Raulel]"; - mes "9. How much SP is needed when using Lv 10 Thunderstorm?"; next; - switch (select("84:74:64:54")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } mes "[Raulel]"; - mes "10. Which skill is most useful training in the Byalan Dungeon?"; - next; - switch (select("Lightning Bolt:Fire Bolt:Cold Bolt:Sight")) { - case 1: - set @wizard_t, @wizard_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + mes "*Cough* *cough* Then here go the questions!"; } - if (.@wizard_m2 == 2) { + else if (WIZ_Q == 4) { mes "[Raulel]"; - mes "1. Which monster can you obtain a slotted Guard from?"; + mes "Hahahaha~ Are you that desperate? *sneeze* What a pain in the arse..."; next; - switch (select("Thief Bug:Peco Peco:Pupa:Kobold (Hammer)")) { - case 1: - break; - case 2: - break; - case 3: - set @wizard_t, @wizard_t + 10; - break; - case 4: - break; - } mes "[Raulel]"; - mes "2. Which of the following is the easiest monster for a low level Mage to hunt?"; + mes "Since you don't want to settle for a stable and peaceful life, I'll give you another chance..."; next; - switch (select("Flora:Giearth:Golem:Myst")) { - case 1: - set @wizard_t, @wizard_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Raulel]"; - mes "3. Which monster will not be affected by Stone Curse?"; - next; - switch (select("Elder Willow:Evil Druid:Magnolia:Marc")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Raulel]"; - mes "4. When attacking a Lv 3 water attribute monster with a wind attribute weapon, what is the damage percentage?"; - next; - switch (select("125%:150%:175%:200%")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } - mes "[Raulel]"; - mes "5. If a Baby Desert Wolf and a Familiar fought, which one would win?"; - next; - switch (select("Baby Desert Wolf:Familiar:Neither:I don't know")) { - case 1: - set @wizard_t, @wizard_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Raulel]"; - mes "6. Which of the following cannot be a Cute Pet?"; - next; - switch (select("Poporing:Roda Frog:Smokie:Poison Spore")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } mes "[Raulel]"; - mes "7. Choose the monster that is weak against a fire attribute attack."; - next; - switch (select("Dagger Goblin:Mace Goblin:Morningstar Goblin:Hammer Goblin")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } - mes "[Raulel]"; - mes "8. Which of the following has the highest defense?"; - next; - switch (select("Horn:Chonchon:Andre:Caramel")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } - mes "[Raulel]"; - mes "9. Choose the monster that's of a different species."; + mes "If you miss one single question, then just give up. You wouldn't have any talent in being a Wizard! ~Hahahahaha"; next; - switch (select("Poring:Mastering:Ghostring:Spore")) { - case 1: - break; - case 2: - break; - case 3: - set @wizard_t, @wizard_t + 10; - break; - case 4: - break; - } - mes "[Raulel]"; - mes "10. Which of the following is not an Undead monster?"; - next; - switch (select("Drake:Megalodon:Deviace:Khalitzburg")) { - case 1: - break; - case 2: - break; - case 3: - set @wizard_t, @wizard_t + 10; - break; - case 4: - break; - } - } - else { - mes "[Raulel]"; - mes "1. Which stat is the most important for a Mage?"; - next; - switch (select("INT:AGI:DEX:VIT")) { - case 1: - set @wizard_t, @wizard_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Raulel]"; - mes "2. Which attribute does not have a 'Bolt' type attack?"; - next; - switch (select("Water:Earth:Fire:Wind")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Raulel]"; - mes "3. Choose the one that does not relate to a Mage."; - next; - switch (select("Weak physical strength.:Attacks at a distance.:Good at selling stuff.:Magic Defense is high.")) { - case 1: - break; - case 2: - break; - case 3: - set @wizard_t, @wizard_t + 10; - break; - case 4: - break; - } - mes "[Raulel]"; - mes "4. Which town is the home of Mages?"; - next; - switch (select("Prontera:Morroc:Alberta:Geffen")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } - mes "[Raulel]"; - mes "5. Which of the following cards has nothing to do with INT?"; - next; - switch (select("Andre Egg Card:Soldier Andre Card:Baby Desert Wolf Card:Elder Willow Card")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Raulel]"; - mes "6. What is the Mage good at compared to other job classes?"; - next; - switch (select("Exceptional Vocal Ability:Exceptional Acting Ability:Exceptional Dance Skills:Exceptional Magic Skills")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } - mes "[Raulel]"; - mes "7. What is the INT bonus at Job Lv 40 for a Mage?"; - next; - switch (select("8:7:6:5")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } - mes "[Raulel]"; - mes "8. Which item can a Mage not equip?"; - next; - switch (select("Knife:Boys Cap:Sandle:Eye of Dullahan")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Raulel]"; - mes "9. Which of the following is the catalyst when making the Mage test solution 3?"; - next; - switch (select("Blue Gemstone:Red Gemstone:Yellow Gemstone:Red Blood")) { - case 1: - set @wizard_t, @wizard_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Raulel]"; - mes "10. Which card is irrelevant to magic?"; - next; - switch (select("Marduk Card:Magnolia Card:Willow Card:Maya Card")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; + 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 "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 WZRD_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; - } - if (@wizard_t == 90) { - set WZRD_Q,5; - changequest 9016,9017; - mes "Hahahaha~ I'll let you slide by since you only missed one problem. You passed the second test."; + 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 "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; + mes "Then let's begin the test!"; } - set WZRD_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; - } - if (WZRD_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; - switch (select("Because of you, I want to live as a normal Mage now.:I would like to continue with the tests.")) { + switch(rand(1,3)) { case 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."; + 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 "Just leave the top of this tower quietly and never look back."; - mes "Live peacefully with the powers that you have right now."; - close; - case 2: - 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."; + mes "2. Regaurdless of it's previous attribute, What does the monster's attribute change to when you cast Frost Diver on it?"; next; - break; - } - mes "[Raulel]"; - mes "Then let's begin the test!"; - mes "If you don't answer all of them correctly, you fail... ~Hahahahahha"; - next; - mes "[Raulel]"; - mes "I'll give you 10 questions so give me the correct answers."; - mes "If you get something wrong, I won't tell you what it is!"; - next; - set .@wizard_m2,rand(1,3); - set @wizard_t,0; - mes "[Raulel]"; - mes "*Cough* *cough* Then here go the questions."; - next; - if (.@wizard_m2 == 1) { + if (select("Water:Earth:Fire:Wind") == 1) + set .@wizard_t,.@wizard_t+10; mes "[Raulel]"; - mes "1. Which of the following is not necessary to learn Fire Wall?"; + mes "3. When you completely master Napalm Beat, what is the ratio of the increased MATK using that spell?"; next; - switch (select("Fire Bolt Lv 4:Fire Ball Lv 5:Sight Lv 1:Napalm Beat Lv 4")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } - mes "[Raulel]"; - mes "2. Regaurdless of the previous attribute, what does the monster's attribute change to when you cast Frost Diver on it?"; - next; - switch (select("Water:Earth:Fire:Wind")) { - case 1: - set @wizard_t, @wizard_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Raulel]"; - mes "3. When you master Napalm Beat, what is the ratio of the increase in MATK using the spell?"; - next; - switch (select("1.6 times:1.7 times:2 times:20 times")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Red Blood:Blue Gemstone:Yellow Gemstone:Red Gemstone")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } + 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; - switch (select("Napalm Beat Lv 4:Soul Strike Lv 5:Increase SP Recovery Lv 6:Safety Wall Lv 7")) { - case 1: - break; - case 2: - break; - case 3: - set @wizard_t, @wizard_t + 10; - break; - case 4: - break; - } + 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; - switch (select("14:21:28:35")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("14:21:28:35") == 2) + set .@wizard_t,.@wizard_t+10; mes "[Raulel]"; - mes "7. Using the skill 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; - switch (select("Damage 18% SP1.5%:Damage 18% SP2%:Damage 24% SP1.5%:Damage 24% SP2%")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("SP 40, 6 times:SP 35, 6 times:SP 40, 7 times:SP 35, 7 times")) { - case 1: - break; - case 2: - break; - case 3: - set @wizard_t, @wizard_t + 10; - break; - case 4: - break; - } + 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; - switch (select("84:74:64:54")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("84:74:64:54") == 2) + set .@wizard_t,.@wizard_t+10; mes "[Raulel]"; - mes "10. Which skill is most useful for training in the Byalan Dungeon?"; - next; - switch (select("Lightning Bolt:Fire Bolt:Cold Bolt:Sight")) { - case 1: - set @wizard_t, @wizard_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - } - if (.@wizard_m2 == 2) { + 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; - switch (select("Thief Bug:Peco Peco:Pupa:Kobold (Hammer)")) { - case 1: - break; - case 2: - break; - case 3: - set @wizard_t, @wizard_t + 10; - break; - case 4: - break; - } + 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; - switch (select("Flora:Giearth:Golem:Myst")) { - case 1: - set @wizard_t, @wizard_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Elder Willow:Evil Druid:Magnolia:Marc")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("125%:150%:175%:200%")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } + 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; - switch (select("Baby Desert Wolf:Familiar:Neither:I don't know")) { - case 1: - set @wizard_t, @wizard_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Poporing:Roda Frog:Smokie:Poison Spore")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Dagger Goblin:Mace Goblin:Morningstar Goblin:Hammer Goblin")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } + 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 monsters has the highest defense?"; - next; - switch (select("Horn:Chonchon:Andre:Caramel")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } + 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 a different species."; - next; - switch (select("Poring:Mastering:Ghostring:Spore")) { - case 1: - break; - case 2: - break; - case 3: - set @wizard_t, @wizard_t + 10; - break; - case 4: - break; - } + 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; - switch (select("Drake:Megalodon:Deviace:Khalitzburg")) { - case 1: - break; - case 2: - break; - case 3: - set @wizard_t, @wizard_t + 10; - break; - case 4: - break; - } - } - else { + 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; - switch (select("INT:AGI:DEX:VIT")) { - case 1: - set @wizard_t, @wizard_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Water:Earth:Fire:Wind")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Weak physical strength.:Attacks at a distance.:Good at selling stuff.:Magic Defense is high.")) { - case 1: - break; - case 2: - break; - case 3: - set @wizard_t, @wizard_t + 10; - break; - case 4: - break; - } + 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 the Mages?"; - next; - switch (select("Prontera:Morroc:Alberta:Geffen")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } + 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; - switch (select("Andre Egg Card:Soldier Andre Card:Baby Desert Wolf Card:Elder Willow Card")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Exceptional Vocal Ability:Exceptional Acting Ability:Exceptional Dance Skills:Exceptional Magic Skills")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } + 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; - switch (select("8:7:6:5")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } + 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; - switch (select("Knife:Boys Cap:Sandle:Eye of Dullahan")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Blue Gemstone:Red Gemstone:Yellow Gemstone:Red Blood")) { - case 1: - set @wizard_t, @wizard_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Marduk Card:Magnolia Card:Willow Card:Maya Card")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Marduk Card:Magnolia Card:Willow Card:Maya Card") == 2) + set .@wizard_t,.@wizard_t+10; } mes "[Raulel]"; - mes "Good job, you finished answered all the questions... Go buy yourself some potions or something if you have the Zeny. Haha..."; + 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) { + mes "Your score is... " + .@wizard_t + " points!"; + if (.@wizard_t == 100) { + set WIZ_Q,5; changequest 9016,9017; - set WZRD_Q,5; - 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..."; + mes "*cough* *Cough* Well done, you passed the second test."; 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~"; + 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; } - if (@wizard_t == 90) { - set WZRD_Q,5; + 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..."; + mes "Hahahaha~ I'll let you slide by since you only missed one problem. You passed the second test."; 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~"; + 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; } - if (@wizard_t == 80) { - set WZRD_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..."; + 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 "*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~"; + 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; } - 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; } - if (WZRD_Q == 5) { + else if (WIZ_Q == 5) { mes "[Raulel]"; mes "Ok, hope you got plenty of rest. Hahahahahah~"; mes "Then let's begin the last test."; @@ -1553,13 +830,12 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "[Raulel]"; mes "Should I explain a little about this final test? It is difficult, I will not hide that from you..."; next; - switch (select("No, it's ok, I'm ready.:I would like to listen.")) { - case 1: + 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 WZRD_Q,6; + set WIZ_Q,6; savepoint "geffen",120,107; mes "[Raulel]"; mes "Then, as you wish. I'll send you there right now."; @@ -1567,54 +843,51 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ close2; warp "job_wiz",57,154; end; - case 2: - 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 "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 "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; - switch (select("Continue testing.:I want to go back because I have butterflies in my stomach.")) { - case 1: - set WZRD_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; - case 2: - set WZRD_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; - } + 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; } - if (WZRD_Q == 6) { - if (@asn_skill == 6) { + 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??"; @@ -1623,7 +896,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ 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 @asn_skill,@asn_skill+1; + 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~"; @@ -1631,13 +904,12 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ warp "job_wiz",57,154; end; } - if (@asn_skill > 6) { + 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; - switch (select("Continue the test.:Worn Out Scroll...")) { - case 1: + if (select("Continue the test.:Worn Out Scroll...") == 1) { savepoint "geffen",120,107; mes "[Raulel]"; mes "Hahaha~ Ok, at least you have some spirit."; @@ -1645,24 +917,21 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ close2; warp "job_wiz",57,154; end; - case 2: - 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 @asn_skill,0; - set WZRD_Q,7; - changequest 9017,9018; - 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; - } + } + 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; } } - set @wizard_t,0; 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?"; @@ -1677,83 +946,38 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "[Raulel]"; mes "1. Choose the monster with a different attribute than the others."; next; - switch (select("Mantis:Cornutus:Giearth:Caramel")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 20; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Yoyo:Magnolia:Metaller:Zerom")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 20; - break; - } + 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; - switch (select("Marina:Vitata:Scorpion:Giearth")) { - case 1: - set @wizard_t, @wizard_t + 20; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Cold Bolt:Fire Bolt:Lightning Bolt:Stone Curse")) { - case 1: - break; - case 2: - break; - case 3: - set @wizard_t, @wizard_t + 20; - break; - case 4: - break; - } + 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; - switch (select("Hydra:Madragora:Greatest General:Frilldora")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 20; - break; - } + 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 "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) { + else if (.@wizard_t == 80) { mes "Eh, soso..."; mes "I'll let you retake the test."; next; @@ -1765,8 +989,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "You lack something...*sneez*...like intelligence. That's why you keep on failing. Hahahahahahahaha~"; close; } - switch (select("Begin the test please.:Can I get another explanation?")) { - case 1: + 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..."; @@ -1778,51 +1001,48 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ close2; warp "job_wiz",57,154; end; - case 2: - 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 "*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 "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; - switch (select("Continue with the test.:I'm too scared, I would like to quit.")) { - case 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; - case 2: - 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; - } + 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; } - if (WZRD_Q == 7) { + 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~"; @@ -1849,58 +1069,56 @@ job_wiz,50,165,4 script Arena Assistant 700,{ close; } -job_wiz,50,165,2 script Waiting Room#wzrd 111,{ - end; - +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; -OnEnable: +OnStart: enablewaitingroomevent; end; } +// Water Room (Test 2 part 1) +//========================================================== job_wiz,1,1,1 script Room of Water 66,{ - end; - OnInit: - hideonnpc "Room of Water"; + disablenpc "Room of Water"; end; OnEnable: - hideoffnpc "Room of Water"; + enablenpc "Room of Water"; + set .MyMobs,7; monster "job_wiz",109,174,"Phen",1158,1,"Room of Water::OnMyMobDead"; - monster "job_wiz",118,174,"Clam",1074,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"; - monster "job_wiz",129,170,"Obeaune",1044,1,"Room of Water::OnMyMobDead"; initnpctimer; end; -OnReset: - killmonster "job_wiz","Room of Water::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Room of Water"; + killmonsterall "job_wiz"; + disablenpc "Room of Water"; end; OnMyMobDead: - if (mobcount ("job_wiz","Room of Water::OnMyMobDead") < 1) { - set @asn_skill,@asn_skill+1; - mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map; - donpcevent "Room of Water#DK::OnEnable"; + 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; @@ -1943,11 +1161,11 @@ OnTimer173000: OnTimer183000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Water::OnReset"; + donpcevent "Room of Water::OnDisable"; end; OnTimer184000: - donpcevent "Room of Water#Failed::OnEnable"; + enablenpc "Room of Water#Failed"; end; OnTimer185000: @@ -1955,45 +1173,41 @@ OnTimer185000: end; OnTimer186000: - donpcevent "Room of Water#Failed::OnDisable"; + disablenpc "Room of Water#Failed"; donpcevent "Room of Water::OnDisable"; - donpcevent "Waiting Room::OnEnable"; + donpcevent "Waiting Room#wiz::OnStart"; end; } -job_wiz,1,2,1 script Room of Water#DK 66,{ - end; - +job_wiz,1,2,1 script Room of Water#Door 66,{ OnInit: - hideonnpc "Room of Water#DK"; + disablenpc "Room of Water#Door"; end; OnEnable: - hideoffnpc "Room of Water#DK"; - donpcevent "Room of Water::OnReset"; + enablenpc "Room of Water#Door"; donpcevent "Room of Water::OnDisable"; - monster "job_wiz",114,169,"Marine Sphere",1142,1,"Room of Water#DK::OnMyMobDead"; - monster "job_wiz",112,169,"Hydra",1068,1,"Room of Water#DK::OnMyMobDead"; - monster "job_wiz",116,169,"Hydra",1068,1,"Room of Water#DK::OnMyMobDead"; - monster "job_wiz",114,171,"Hydra",1068,1,"Room of Water#DK::OnMyMobDead"; - monster "job_wiz",114,167,"Hydra",1068,1,"Room of Water#DK::OnMyMobDead"; + 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; -OnReset: - killmonster "job_wiz","Room of Water#DK::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Room of Water#DK"; + killmonsterall "job_wiz"; + disablenpc "Room of Water#Door"; end; OnMyMobDead: - if (mobcount ("job_wiz","Room of Water#DK::OnMyMobDead") < 1) { - mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map; + 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#DK::OnReset"; - donpcevent "Room of Water#DK::OnDisable"; + donpcevent "Room of Water#Door::OnDisable"; donpcevent "Room of Earth::OnEnable"; stopnpctimer; } @@ -2013,11 +1227,11 @@ OnTimer50000: OnTimer60000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Water#DK::OnReset"; + donpcevent "Room of Water#Door::OnDisable"; end; OnTimer61000: - donpcevent "Room of Water#Failed::OnEnable"; + enablenpc "Room of Water#Failed"; end; OnTimer62000: @@ -2025,67 +1239,53 @@ OnTimer62000: end; OnTimer63000: - donpcevent "Room of Water#Failed::OnDisable"; - donpcevent "Room of Water#DK::OnDisable"; - donpcevent "Waiting Room::OnEnable"; + 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 139,16,16,{ - -OnTouch: - mapannounce "job_wiz","" + strcharinfo(0) + " has not succeeded.",bc_map; - warp "geffen",120,110; - end; - +job_wiz,114,169,0 script Room of Water#Failed -1,16,16,{ OnInit: - hideonnpc "Room of Water#Failed"; - end; - -OnEnable: - hideoffnpc "Room of Water#Failed"; + disablenpc "Room of Water#Failed"; end; -OnDisable: - hideonnpc "Room of Water#Failed"; +OnTouch: + mapannounce "job_wiz",strcharinfo(0)+" has not succeeded.",bc_map; + warp "geffen",120,110; end; } -job_wiz,1,3,1 script Room of Earth 66,1,1,{ - end; - +// Earth Room (Test 2 part 2) +//========================================================== +job_wiz,1,3,1 script Room of Earth 66,{ OnInit: - hideonnpc "Room of Earth"; + disablenpc "Room of Earth"; end; OnEnable: - hideoffnpc "Room of Earth"; - percentheal 100,100; + 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,102,"Hode",1127,1,"Room of Earth::OnMyMobDead"; - monster "job_wiz",111,93,"Savage",1166,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"; - monster "job_wiz",127,86,"Mantis",1139,1,"Room of Earth::OnMyMobDead"; initnpctimer; end; -OnReset: - killmonster "job_wiz","Room of Earth::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Room of Earth"; + killmonsterall "job_wiz"; + disablenpc "Room of Earth"; end; OnMyMobDead: - if (mobcount ("job_wiz","Room of Earth::OnMyMobDead") < 1) { - mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map; - donpcevent "Room of Earth#DK::OnEnable"; + 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; @@ -2128,11 +1328,11 @@ OnTimer173000: OnTimer183000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Earth::OnReset"; + donpcevent "Room of Earth::OnDisable"; end; OnTimer184000: - donpcevent "Room of Earth#Failed::OnEnable"; + enablenpc "Room of Earth#Failed"; end; OnTimer185000: @@ -2140,48 +1340,42 @@ OnTimer185000: end; OnTimer186000: - donpcevent "Room of Earth#Failed::OnDisable"; + disablenpc "Room of Earth#Failed"; donpcevent "Room of Earth::OnDisable"; - donpcevent "Waiting Room::OnEnable"; + donpcevent "Waiting Room#wiz::OnStart"; end; } -job_wiz,1,4,1 script Room of Earth#DK 66,{ - end; - +job_wiz,1,4,1 script Room of Earth#Door 66,{ OnInit: - hideonnpc "Room of Earth#DK"; + disablenpc "Room of Earth#Door"; end; OnEnable: - hideoffnpc "Room of Earth#DK"; - donpcevent "Room of Earth::OnReset"; + enablenpc "Room of Earth#Door"; donpcevent "Room of Earth::OnDisable"; - monster "job_wiz",116,97,"Flora",1118,1,"Room of Earth#DK::OnMyMobDead"; - monster "job_wiz",114,95,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; - monster "job_wiz",118,95,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; - monster "job_wiz",114,99,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; - monster "job_wiz",118,99,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; - monster "job_wiz",116,94,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; - monster "job_wiz",116,100,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; + 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; -OnReset: - killmonster "job_wiz","Room of Earth#DK::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Room of Earth#DK"; + killmonsterall "job_wiz"; + disablenpc "Room of Earth#Door"; end; OnMyMobDead: - if (mobcount ("job_wiz","Room of Earth#DK::OnMyMobDead") < 1) { - mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monster.",bc_map; + 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#DK::OnReset"; - donpcevent "Room of Earth#DK::OnDisable"; + donpcevent "Room of Earth#Door::OnDisable"; donpcevent "Room of Fire::OnEnable"; stopnpctimer; } @@ -2201,7 +1395,7 @@ OnTimer50000: OnTimer60000: mapannounce "job_wiz","End time.",bc_map; - donpcevent "Room of Earth#DK::OnReset"; + donpcevent "Room of Earth#Door::OnDisable"; end; OnTimer61000: @@ -2213,65 +1407,52 @@ OnTimer62000: end; OnTimer63000: - donpcevent "Room of Earth#Failed::OnDisable"; - donpcevent "Room of Earth#DK::OnDisable"; - donpcevent "Waiting Room::OnEnable"; + 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 139,16,16,{ - -OnTouch: - mapannounce "job_wiz","" + strcharinfo(0) + " has not succeeded.",bc_map; - warp "geffen",120,110; - end; - +job_wiz,116,97,0 script Room of Earth#Failed -1,16,16,{ OnInit: - hideonnpc "Room of Earth#Failed"; - end; - -OnEnable: - hideoffnpc "Room of Earth#Failed"; + disablenpc "Room of Earth#Failed"; end; -OnDisable: - hideonnpc "Room of Earth#Failed"; +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,{ - end; - OnInit: - hideonnpc "Room of Fire"; + disablenpc "Room of Fire"; end; OnEnable: - hideoffnpc "Room of Fire"; - percentheal 100,100; - monster "job_wiz",58,110,"Zerom",1178,1,"Room of Fire::OnMyMobDead"; + 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,"Peco Peco",1019,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"; - monster "job_wiz",54,89,"Desert Wolf",1106,1,"Room of Fire::OnMyMobDead"; initnpctimer; end; -OnReset: - killmonster "job_wiz","Room of Fire::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Room of Fire"; + killmonsterall "job_wiz"; + disablenpc "Room of Fire"; end; OnMyMobDead: - if (mobcount ("job_wiz","Room of Fire::OnMyMobDead") < 1) { - mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map; - donpcevent "Room of Fire#Door Keeper::OnEnable"; + 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; @@ -2314,7 +1495,7 @@ OnTimer173000: OnTimer183000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Fire::OnReset"; + donpcevent "Room of Fire::OnDisable"; end; OnTimer184000: @@ -2326,45 +1507,40 @@ OnTimer185000: end; OnTimer186000: - donpcevent "Room of Fire#Failed::OnDisable"; + disablenpc "Room of Fire#Failed"; donpcevent "Room of Fire::OnDisable"; - donpcevent "Waiting Room::OnEnable"; + donpcevent "Waiting Room#wiz::OnStart"; end; } -job_wiz,1,6,1 script Room of Fire#Door Keeper 66,{ - end; - +job_wiz,1,6,1 script Room of Fire#Door 66,{ OnInit: - hideonnpc "Room of Fire#Door Keeper"; + disablenpc "Room of Fire#Door"; end; OnEnable: - hideoffnpc "Room of Fire#Door Keeper"; - donpcevent "Room of Fire::OnReset"; + enablenpc "Room of Fire#Door"; donpcevent "Room of Fire::OnDisable"; - monster "job_wiz",44,99,"Greatest General",1277,1,"Room of Fire#Door Keeper::OnMyMobDead"; - monster "job_wiz",43,99,"Horong",1129,1,"Room of Fire#Door Keeper::OnMyMobDead"; - monster "job_wiz",45,99,"Horong",1129,1,"Room of Fire#Door Keeper::OnMyMobDead"; + 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; -OnReset: - killmonster "job_wiz","Room of Fire#Door Keeper::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Room of Fire#Door Keeper"; + killmonsterall "job_wiz"; + disablenpc "Room of Fire#Door"; end; OnMyMobDead: - if (mobcount ("job_wiz","Room of Fire#Door Keeper::OnMyMobDead") < 1) { + set .MyMobs,.MyMobs-1; + if (.MyMobs < 1) { mapannounce "job_wiz","Congratulations, " + strcharinfo(0) + ". You have passed the job change test.",bc_map; - set WZRD_Q,7; + set WIZ_Q,7; changequest 9017,9018; - donpcevent "Room of Fire#Door Keeper::OnReset"; - donpcevent "Room of Fire#Door Keeper::OnDisable"; - donpcevent "Test Helper::OnEnable"; + donpcevent "Room of Fire#Door::OnDisable"; + donpcevent "Test Helper#wiz::OnEnable"; stopnpctimer; } end; @@ -2391,11 +1567,11 @@ OnTimer110000: OnTimer120000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Fire#Door Keeper::OnReset"; + donpcevent "Room of Fire#Door::OnDisable"; end; OnTimer121000: - donpcevent "Room of Fire#Failed::OnEnable"; + enablenpc "Room of Fire#Failed"; end; OnTimer122000: @@ -2403,57 +1579,26 @@ OnTimer122000: end; OnTimer123000: - donpcevent "Room of Fire#Failed::OnDisable"; - donpcevent "Room of Fire#Door Keeper::OnDisable"; - donpcevent "Waiting Room::OnEnable"; - end; + 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 139,16,16,{ - end; - +job_wiz,46,99,0 script Room of Fire#Failed -1,16,16,{ OnInit: - hideonnpc "Room of Fire#Failed"; + disablenpc "Room of Fire#Failed"; end; OnTouch: warp "geffen",120,110; end; - -OnEnable: - hideoffnpc "Room of Fire#Failed"; - end; - -OnDisable: - hideonnpc "Room of Fire#Failed"; - end; -} - -job_wiz,46,99,0 script Succeed 139,16,16,{ - end; - -OnInit: - hideonnpc "Succeed"; - end; - -OnTouch: - warp "gef_tower",110,30; - end; - -OnEnable: - hideoffnpc "Succeed"; - end; - -OnDisable: - hideonnpc "Succeed"; - end; } -job_wiz,1,7,1 script Test Helper 66,1,1,{ +job_wiz,1,7,1 script Test Helper#wiz 66,{ end; OnInit: - hideonnpc "Test Helper"; + disablenpc "Test Helper#wiz"; end; OnEnable: @@ -2461,7 +1606,7 @@ OnEnable: end; OnDisable: - hideonnpc "Test Helper"; + disablenpc "Test Helper#wiz"; end; OnTimer2000: @@ -2473,11 +1618,7 @@ OnTimer4000: end; OnTimer5000: - donpcevent "Succeed::OnEnable"; - end; - -OnTimer6000: - donpcevent "Succeed::OnDisable"; + areawarp "job_wiz",33,82,57,113,"gef_tower",110,30; end; OnTimer7000: @@ -2485,25 +1626,25 @@ OnTimer7000: end; OnTimer9000: - donpcevent "Test Helper::OnDisable"; - donpcevent "Waiting Room::OnEnable"; + donpcevent "Test Helper#wiz::OnDisable"; + donpcevent "Waiting Room#wiz::OnStart"; stopnpctimer; end; } -gef_tower,107,36,4 script White Dog 81,{ - if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { - if (Class == Job_Baby_Wizard || Class == Job_Wizard) { +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 "",255; + cutin "job_wizard_maria01",255; end; } - if (Class == Job_Baby || Class == Job_Novice) { + else if (BaseClass == Job_Novice) { mes "[Dog]"; mes "What? Kiddo!"; mes "Is a Dog talking so amusing to you?"; @@ -2519,10 +1660,10 @@ gef_tower,107,36,4 script White Dog 81,{ mes "*Bark* Get lost!"; mes "I don't have time for people like you!"; close2; - cutin "",255; + cutin "job_wizard_maria02",255; end; } - if (WZRD_Q == 0) { + 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?"; @@ -2533,7 +1674,7 @@ gef_tower,107,36,4 script White Dog 81,{ 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...")) { + 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?!"; @@ -2594,7 +1735,7 @@ gef_tower,107,36,4 script White Dog 81,{ 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...")) { + switch(select("Yes, please! I would like that.:No, it's ok.:A talking dog...")) { case 1: cutin "job_wizard_maria01",2; mes "[Maria]"; @@ -2629,11 +1770,16 @@ gef_tower,107,36,4 script White Dog 81,{ next; mes "[Maria]"; mes "It's better to just try it yourself than to listen to my descriptions."; - close; + 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."; - close; + close2; + cutin "job_wizard_maria01",255; + end; case 3: cutin "job_wizard_maria02",2; mes "[Maria]"; @@ -2642,12 +1788,12 @@ gef_tower,107,36,4 script White Dog 81,{ mes "[Maria]"; mes "Dang it! I hope you FAIL!! Go get lost!!"; close2; - cutin "",255; + cutin "job_wizard_maria01",255; warp "gef_dun00",116,102; end; } } - if (WZRD_Q == 1) { + else if (WIZ_Q == 1) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "You seem lost..."; @@ -2667,7 +1813,7 @@ gef_tower,107,36,4 script White Dog 81,{ next; mes "[Maria]"; mes "Yellow Gemstones are easy to find in the desert."; - mes "Condors, Pickies, and sometimes monsters like Golems drop them."; + 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."; @@ -2681,10 +1827,10 @@ gef_tower,107,36,4 script White Dog 81,{ mes "Anyways, try your best."; mes "This is the basics of being a Wizard."; close2; - cutin "",255; + cutin "job_wizard_maria01",255; end; } - if (WZRD_Q == 2) { + else if (WIZ_Q == 2) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "You seem lost..."; @@ -2718,19 +1864,19 @@ gef_tower,107,36,4 script White Dog 81,{ mes "But anyways, always try your best."; mes "It's the basics of being a Wizard."; close2; - cutin "",255; + cutin "job_wizard_maria01",255; end; } - if (WZRD_Q == 3) { + 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 "",255; + cutin "job_wizard_maria01",255; end; } - if (WZRD_Q == 4) { + else if (WIZ_Q == 4) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "ZzzzZzzzZzzz..."; @@ -2739,10 +1885,10 @@ gef_tower,107,36,4 script White Dog 81,{ mes "[Maria]"; mes "*wimper*...Blizadris...you suck...Zzz..."; close2; - cutin "",255; + cutin "job_wizard_maria02",255; end; } - if (WZRD_Q == 5) { + else if (WIZ_Q == 5) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "Oh, you're doing well aren't you?"; @@ -2751,10 +1897,10 @@ gef_tower,107,36,4 script White Dog 81,{ mes "Well, try your best to the very end."; mes "Laurel is waiting."; close2; - cutin "",255; + cutin "job_wizard_maria01",255; end; } - if (WZRD_Q == 6) { + else if (WIZ_Q == 6) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "*BARK*...you gave up?"; @@ -2772,10 +1918,10 @@ gef_tower,107,36,4 script White Dog 81,{ 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 "",255; + cutin "job_wizard_maria01",255; end; } - if (WZRD_Q == 7) { + 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*"; @@ -2784,7 +1930,27 @@ gef_tower,107,36,4 script White Dog 81,{ mes "[Maria]"; mes "Congratulations. Always give your best at everything, no matter what."; close2; - cutin "",255; + cutin "job_wizard_maria01",255; end; } -} \ No newline at end of file +} + +//============================================================ +// 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/re/jobs/1-1/acolyte.txt b/npc/re/jobs/1-1/acolyte.txt index a21d4846c..a200ec514 100644 --- a/npc/re/jobs/1-1/acolyte.txt +++ b/npc/re/jobs/1-1/acolyte.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.2 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -11,7 +11,6 @@ //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] //= 1.1 Added back the npcs used for the priest quest. -//= 1.2 Added Baby job change support. [Masao] //============================================================ prt_church,184,41,4 script Cleric#aco 60,{ if (Upper == 1) { @@ -39,74 +38,62 @@ prt_church,184,41,4 script Cleric#aco 60,{ mes "wish you luck on your"; mes "new life's journey."; next; - skill 143,0,1; + 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 "Now, venture forth to seek people who need your help. May God enlighten your way."; + 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 "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("Father, I want to be a Acolyte.:Acolyte Requirements.:Just looking around.")) { + switch(select("Change your job to acolyte.:Ask the requirements to be an acolyte.:Quit it.")) { case 1: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + if(Class != Job_Novice) { mes "[Father Mareusis]"; - 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?"; + 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; - } - if ((Class != Job_Baby) && (Class != Job_Novice)) { + }else{ mes "[Father Mareusis]"; - mes "I'm sorry, but we can only accept Novices as applicants for the job change to Acolyte."; - close; - } - 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 "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 "Good Lord! Haven't you accomplished the Basic Training yet?! It's important that you finish that!"; + 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 "You should have trained more! Go back and make sure you reach Novice Job Level 9 and learn all of the Basic Skills!"; - close; - } - mes "[Father Mareusis]"; - mes "Hmm... your job level is high enough and you've proven your qualification."; - next; - mes "[Father Mareusis]"; - mes "I am proud to say that you are now ready to become an Acolyte!"; - next; - skill 143,0,1; - if(Class == Job_Baby){ - jobchange Job_Baby_Acolyte; - } else { + 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; } - set ACO_Q,0; - getitem 1545,1; //N_Mace - mes "[Father Mareusis]"; - mes "Always remember to be thankful to God, who is taking care of us all the time."; - next; - mes "[Father Mareusis]"; - mes "Always use your gifts to serve Him by helping others. In chaos and times of difficulty, face your hardships with unwavering faith."; - 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?"; @@ -117,7 +104,7 @@ prt_church,184,41,4 script Cleric#aco 60,{ 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 I've asked of you. As long as your desire to serve God and others is sincere, you will be able to make it."; + 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; @@ -125,18 +112,17 @@ prt_church,184,41,4 script Cleric#aco 60,{ } prt_fild03,365,255,2 script Ascetic#aco 89,{ - if (Class == Job_Novice) { - if (ACO_Q== 6) { - mes "[Father Rubalkabara]"; + 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 (ACO_Q!= 0) { - if (ACO_Q== 2) { - mes "[Father Rubalkabara]"; + 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]"; @@ -156,207 +142,133 @@ prt_fild03,365,255,2 script Ascetic#aco 89,{ next; mes "[Father Rubalkabara]"; mes "Farewell."; + close2; savepoint "prt_fild03",361,255; - set ACO_Q,6; - close; + set job_acolyte_q,6; + end; } - mes "[Father Rubalkabara]"; - 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; - } - mes "[Father Rubalkabara]"; - mes "Huh? What brings you here? This is a very dangerous place for a Novice like yourself!"; - close; - } - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - if (PRST_Q != 0) { - if (PRST_Q == 1) { - mes "[Father Rubalkabara]"; - mes "Ah yes, so you're the young Acolyte who wishes to become a Priest."; + else { + mes "Oh..."; + mes "Are you one of the"; + mes "Acolyte applicants...?"; + mes "Let's see..."; 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."; + mes "Your name is " + strcharinfo(0) + "?"; + mes "I don't think your name"; + mes "is on my list. Hmmm..."; 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."; - savepoint "prt_fild03",361,255; - set PRST_Q,2; + mes "Why don't you go back to the Prontera Sanctuary and check again?"; close; } - if (PRST_Q == 2) { - mes "[Father Rubalkabara]"; - mes "Please be hurry to the next destination for your pilgrimage. I hope you become a Priest soon."; - close; - } - mes "[Father Rubalkabara]"; - mes "May I ask why you have returned? Please go back and continue your religious practice."; + } + else { + mes "Huh? What brings you here? This is a very dangerous place for a Novice like yourself!"; close; } - mes "[Father Rubalkabara]"; - mes "I have no idea what brought you here, but please excuse me."; - close; } - if (Class == Job_Baby_Priest || Class == Job_Priest) { - mes "[Father Rubalkabara]"; - 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 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; + } } - mes "[Father Rubalkabara]"; - 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#2 95,{ - if (Class == Job_Novice) { - if (ACO_Q== 6) { - mes "[Mother Marthilda]"; +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 Marthilda]"; + mes "[Mother Mathilda]"; mes "I will pray to God, and hope that you become an Acolyte soon."; close; } - if (ACO_Q!= 0) { - if (ACO_Q== 3) { - mes "[Mother Marthilda]"; + 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 Marthilda]"; + mes "[Mother Mathilda]"; mes "What is your name? " + strcharinfo(0) + "? Let's see... Ah, you're on my list."; next; - mes "[Mother Marthilda]"; + 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 Marthilda]"; + mes "[Mother Mathilda]"; mes "Please return to the Prontera Sanctuary and speak to the Priest in charge."; + close2; savepoint "moc_fild07",35,355; - set ACO_Q,7; - close; - } - mes "[Mother Marthilda]"; - mes "Ah...!"; - mes "You must be one"; - mes "of the Acolyte applicants."; - mes "I sincerely welcome you."; - next; - mes "[Mother Marthilda]"; - mes "Now, what is your name?"; - mes "" + strcharinfo(0) + "? Let's see..."; - next; - mes "[Mother Marthilda]"; - mes "Hmm..."; - mes "It seems your name"; - mes "is not on my list..."; - next; - mes "[Mother Marthilda]"; - mes "Perhaps you should return to the Prontera Sanctuary and check the destination for your penance trial once again."; - close; - } - mes "[Mother Marthilda]"; - mes "..."; - close; - } - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - if (PRST_Q != 0) { - if (PRST_Q == 1) { - mes "[Mother Marthilda]"; - mes "Hmm..."; - mes "It seems you're"; - mes "training to become"; - mes "a Priest."; - next; - mes "[Mother Marthilda]"; - mes "However, at this point in your pilgrimage, I am not the person that you should be visiting."; - next; - mes "[Mother Marthilda]"; - mes "Perhaps you should ask Bishop Paul or Sister Cecilia once again. Well, may God be with you..."; - close; + set job_acolyte_q,7; + end; } - if (PRST_Q == 2) { - mes "[Mother Marthilda]"; - mes "Ah, are you"; - mes "a Priest trainee...?"; - mes "Welcome!"; + else { + mes "Ah...!"; + mes "You must be one"; + mes "of the Acolyte applicants."; + mes "I sincerely welcome you."; next; - mes "[Mother Marthilda]"; - mes "We Priests are obliged to spread the message of God to"; - mes "the peoples of the Earth."; + mes "[Mother Mathilda]"; + mes "Now, what is your name?"; + mes "" + strcharinfo(0) + "? Let's see..."; next; - mes "[Mother Marthilda]"; - 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."; + mes "[Mother Mathilda]"; + mes "Hmm..."; + mes "It seems your name"; + mes "is not on my list..."; next; - mes "[Mother Marthilda]"; - mes "Well then..."; - mes "I shall pray to"; - mes "God for safety"; - mes "on your journey."; - savepoint "moc_fild07",35,355; - set PRST_Q,3; - close; - } - if (PRST_Q == 3) { - mes "[Mother Marthilda]"; - mes "Please leave soon, and"; - mes "continue your training."; + mes "[Mother Mathilda]"; + mes "Perhaps you should return to the Prontera Sanctuary and check the destination for your penance trial once again."; close; } - mes "[Mother Marthilda]"; - mes "May I ask you the reason you came back? Please continue your training."; + } + else { + mes "..."; close; } - mes "[Mother Marthilda]"; - mes "May God"; - mes "be with you..."; - close; } - if (Class == Job_Baby_Priest || Class == Job_Priest) { - mes "[Mother Marthilda]"; - mes "Hello there~"; - next; - mes "[Mother Marthilda]"; - mes "How is your practice coming along? I certainly hope you're enjoying living in the grace of God."; - 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; + } } - mes "[Mother Marthilda]"; - mes "May God"; - mes "be with you..."; - close; } -prt_fild00,208,218,6 script Ascetic#3 98,{ - if (Class == Job_Novice) { - if (ACO_Q== 8) { - mes "[Father Yosuke]"; +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 (ACO_Q!= 0) { - if (ACO_Q== 4) { - mes "[Father Yosuke]"; + if (job_acolyte_q != 0) { + if (job_acolyte_q == 4) { mes "Hey."; mes "Whatever you are,"; mes "you look like an"; @@ -375,104 +287,48 @@ prt_fild00,208,218,6 script Ascetic#3 98,{ next; mes "[Father Yosuke]"; mes "Now go back to the Santuary and finish becoming an Acolyte, kid."; + close2; savepoint "prt_fild00",206,230; - set ACO_Q,8; - close; - } - mes "[Father Yosuke]"; - 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; - } - mes "[Father Yosuke]"; - mes "You..."; - mes "Novice."; - mes "There something"; - mes "you wanna tell me?"; - close; - } - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - if (PRST_Q != 0) { - if (PRST_Q == 1) { - mes "[Father Yosuke]"; - 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; + set job_acolyte_q,8; + end; } - if (PRST_Q == 2) { - mes "[Father Yosuke]"; - 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."; + else { + mes "Hey."; + mes "You look like an Acolyte Applicant. Am I right?"; next; mes "[Father Yosuke]"; - mes "But that's your own fault. Go back to Church."; - close; - } - if (PRST_Q == 3) { - mes "[Father Yosuke]"; - mes "Hmm."; - mes "A Priest"; - mes "trainee, eh? "; - mes "Welcome."; + 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 "I won't say"; - mes "anything more."; - mes "Just devote your"; - mes "life to God."; + mes "" + strcharinfo(0) + ", huh? Why isn't your name on my list?"; next; mes "[Father Yosuke]"; - mes "Now go back to church."; - mes "Hereby, the first of"; - mes "your trials is now"; - mes "completed."; - savepoint "prt_fild00",206,230; - set PRST_Q,4; + mes "You probably made a mistake. Go back to the Santuary, and check with the Bishop."; close; } - if (PRST_Q == 4) { - mes "[Father Yosuke]"; - 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 "[Father Yosuke]"; - mes "Just go be a Priest. This isn't a playground for kids."; + } + else { + mes "You..."; + mes "Novice."; + mes "There something"; + mes "you wanna tell me?"; close; } - mes "[Father Yosuke]"; - mes "...Acolyte, you don't have any business with me here."; - close; } - if (Class == Job_Baby_Priest || Class == Job_Priest) { - mes "[Father Yosuke]"; - 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 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; + } } - mes "[Father Yosuke]"; - mes "Do you have anything to say? Because unfortunately for you,"; - mes "I don't any replies."; - close; -} \ No newline at end of file +} + diff --git a/npc/re/jobs/1-1/archer.txt b/npc/re/jobs/1-1/archer.txt index 8204689bc..46325309c 100644 --- a/npc/re/jobs/1-1/archer.txt +++ b/npc/re/jobs/1-1/archer.txt @@ -3,20 +3,21 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.1 +//= 1.0 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Archer Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] -//= 1.1 Added Baby job change support. [Masao] //============================================================ -payon_in02,64,71,4 script Archer Guildsman 85,{ +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)) { + 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"; @@ -37,7 +38,7 @@ payon_in02,64,71,4 script Archer Guildsman 85,{ mes "need to say anything else."; mes "I know you'll make a great Archer..."; next; - skill 143,0,1; + skill 143,0,0; jobchange Job_Archer_high; skill 147,1,0; skill 148,1,0; @@ -45,97 +46,84 @@ payon_in02,64,71,4 script Archer Guildsman 85,{ 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 "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.")) { + switch(select("I want to be an Archer.:I need the requirements, please.:Nothing, thanks.")) { case 1: - if (Class == Job_Baby || Class == Job_Novice) { + 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?"; + mes "You are... "+strcharinfo(0)+". right?"; next; if (getskilllv("NV_BASIC") < 9) { mes "[Archer Guildsman]"; - mes "Well, you don't have the right skill level. "; - mes "Your job level must be at least ^4d4dff10^000000"; - mes "and your Basic Skill level should reach ^4d4dfflevel 9^000000"; + 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"; - mes "extremely high concentration,"; - mes "so we do not accept "; - mes "those who have little patience."; - close2; + mes "Because an Archer needs extremely high concentration, so we do not accept those who have little patience."; + close; } mes "[Archer Guildsman]"; - mes "You seem to have learned the basic skills.."; - mes "....Hm~~ you are now ready to become an Archer. I will take the step right away."; + 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; - skill 143,0,1; - if(Class == Job_Baby){ - jobchange Job_Baby_Archer; - } else { - jobchange Job_Archer; - } 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!"; - getitem 1742,1; //N_Composite_Bow - getitem 12004,1; //Arrow_Container - getitem 12009,1; //Silver_Arrow_Container - getitem 12008,1; //Fire_Arrow_Container + 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've become a real Archer."; - mes "If you open the arrow quiver, there will be arrows in it that you can equip."; - mes "Well, I expect to hear good news from you. It's time to say goodbye. Bye."; + 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; } - if (Class == Job_Baby_Archer || Class == Job_Archer || Class == Job_Archer_High) { - mes "[Archer Guildsman]"; - mes "Haha, you are kidding me.."; - close; - } - mes "[Archer Guildsman]"; - mes "Wait a second. You've chosen a different job already. You don't need to know this~"; - 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,"; - mes "he or she can shoot enemies"; - mes "at a long range,"; + 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,"; - mes "he or she has high accuracy and attack rate"; - mes "so that the archer can kill monsters"; - mes "before they get close to an Archer."; + 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 "^8E2323An Archer can change"; - mes "^8E2323jobs to a Hunter."; - mes "^8E2323Other than Hunter, if you are a man, you can change your job to Bard"; - mes "^8E2323and if you are a woman, you can change your job to Dancer.^000000"; + 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; } -} \ No newline at end of file +} diff --git a/npc/re/jobs/1-1/mage.txt b/npc/re/jobs/1-1/mage.txt index c44d0148e..99cca81c4 100644 --- a/npc/re/jobs/1-1/mage.txt +++ b/npc/re/jobs/1-1/mage.txt @@ -3,16 +3,15 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.1 +//= 1.0 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Mage Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] -//= 1.1 Added Baby job change support. [Masao] //============================================================ -geffen_in,164,124,4 script Mage Guildsman 123,{ +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) { @@ -39,112 +38,89 @@ geffen_in,164,124,4 script Mage Guildsman 123,{ 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 "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~!"; + 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; } - 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_Baby_Mage || Class == Job_Mage) { - mes "[Mage Guildsman]"; - mes "Hey, haven't you realized? You're aleady a Mage, silly!"; - next; - mes "[Mage Guildsman]"; - mes "One of these days you'll realize the power inside of you when you can make Fire with your mind!"; - close; } - if ((Class != Job_Baby_Mage) && (Class != Job_Mage) && (Class != Job_Novice)) { + if(Class != Job_Novice) { mes "[Mage Guildsman]"; - mes "Hey~ C'mon. Quit playing games. You can't be a Mage because you already have another Job."; + 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; - } - if (Class == Job_Baby || Class == Job_Novice) { + }else{ mes "[Mage Guildsman]"; mes "Hey?"; next; - switch (select("I want to be a Mage.:Tell me the Requirements.:Pretty much nothing.")) { + 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?"; + mes "Wanna be a Mage? Eh..."; next; mes "[Mage Guildsman]"; - if (Sex == 1) { + if (Sex) { mes "Hey, look at you! You're kinda cute~! Not my type though..."; - } - else { + }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; - switch (select("I want to be a Mage.:Pretty much nothing.")) { - case 1: - if (getskilllv("NV_BASIC") < 9) { - mes "[Mage Guildman]"; - mes "Oh, what a bummer. You haven't met the requirements yet."; - next; - mes "[Mage Guildman]"; - mes "Go back and reach Novice Job level 9 first. Don't forget that you also have to learn all of the Basic Skills before you come back."; - close; - } - mes "[Mage Guildsman]"; - mes "Okay. Sign right there. Oh, you're very good at spelling."; - mes "So your name is... " + strcharinfo(0) + "."; - next; - mes "[Mage Guildsman]"; - mes "Hmm I can see that you've worked very hard on your own."; - mes "Good! Always sticking to the basics is the best! I will transform you right away."; - next; - mes "[Mage Guildsman]"; - mes "*Ahem*"; - mes "Congratulations!"; - mes "You are now a Mage!"; - next; - skill 143,0,1; - if(Class == Job_Baby){ - jobchange Job_Baby_Mage; - } else { - jobchange Job_Mage; - } - getitem 1639,1; //N_Rod - set Zeny, Zeny + 50; - mes "[Mage Guildsman]"; - mes "'Welcome to My World~'"; - mes "Heh heh, I just wanted to say that. You know, it's a quote from a well-known movie~"; - next; - mes "[Mage Guildsman]"; - mes "Now that you're a Mage just like us, let's be friends, okay?"; - close; - case 2: + 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?"; - if (Sex == 1) { - mes "For a cutie like you, I'd be happy to explain the requirements!"; - } - else { - mes "I'd be happy to explain the requirements for a pretty girl like you!"; - } + 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. "; + 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 mixing test. Because of that hard test, we slowly started to lose aplicants."; - mes "So, we decided to accept all aplicants who have the basic requirements."; + 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 "Let me know when you are ready to become a Mage, alright?"; + mes "Don't hesitate. Just be a magician!"; close; case 3: mes "[Mage Guildsman]"; @@ -153,152 +129,3 @@ geffen_in,164,124,4 script Mage Guildsman 123,{ } } } - -geffen_in,164,112,4 script Mixing machine 111,{ - mes "- Out of Order !! -"; - close; -} - -pay_arche,122,100,0 script Dollshoi 88,{ - mes "[Mage Guildsman]"; - mes "You want a Solution? Hmm, give me 50 Zeny and at least 1 Empty Test Tube."; - next; - switch (select("Alright, Deal.:Nah, forget it.")) { - case 1: - mes "[Mage Guildsman]"; - if (Zeny < 50) { - mes "Hey! You don't have enough money to cover my 50 Zeny charge."; - close; - } - if (countitem(1092) == 0) { - mes "You can't carry solutions without a bottle! Bring me an Empty Test Tube."; - close; - } - delitem 1092,1; //Empty_Cylinder - set Zeny, Zeny - 50; - getitem 1089,1; //Payon_Potion - close; - case 2: - close; - } -} - -moc_ruins,91,150,0 script Ponka-Hontas 93,{ - mes "[Mage Guildsman]"; - mes "Would you like a Solution? Then please give me 50 Zeny and at least 1 Empty Testtube."; - next; - switch (select("Alright, Deal.:Nah, forget it.")) { - case 1: - mes "[Mage Guildsman]"; - if (Zeny < 50) { - mes "I'm sorry, but you don't have enough money to cover the 50 Zeny fee."; - close; - } - if (countitem(1092) == 0) { - mes "You can't carry liquids without using a bottle. Bring an Empty Test Tube the next time you see me."; - close; - } - delitem 1092,1; //Empty_Cylinder - set Zeny, Zeny - 50; - getitem 1088,1; //Morocc_Potion - close; - case 2: - close; - } -} - -geffen_in,177,112,4 script Bookshelf 111,{ - mes "[Guide Book]"; - mes "This Guide Book is the property of the Geffen Mage Association. Please handle with care."; - next; - switch (select("Solution No. 1.:Solution No. 2.:Solution No. 3.:Solution No. 4.:Close.")) { - case 1: - mes "[Mage Test Solution No. 1]"; - mes "* Ingredients List *"; - mes "2 Jellopy"; - mes "3 Fluff"; - mes "1 Milk"; - next; - mes "[Mage Test Solution No. 1]"; - mes "* Solvent Agent *"; - mes "Payon Solution"; - mes "Where to Find:"; - mes "A small spring in Payon, the Archer Village."; - next; - mes "[Mage Test Solution No. 1]"; - mes "* Magic Power Serial Code *"; - mes "8472"; - next; - mes "[Mage Test Solution No. 1]"; - mes "* Catalyst *"; - mes "Yellow Gemstone"; - mes "(Provided by"; - mes "Mixing Machine)"; - close; - case 2: - mes "[Mage Test Solution No. 2]"; - mes "* Ingredients List *"; - mes "3 Jellopy"; - mes "1 Fluff"; - mes "1 Milk"; - next; - mes "[Mage Test Solution No. 2]"; - mes "* Solvent Agent *"; - mes "None"; - next; - mes "[Mage Test Solution No. 2]"; - mes "* Magic Power Serial Code *"; - mes "3735"; - next; - mes "[Mage Test Solution No. 2]"; - mes "* Catalyst *"; - mes "Red Gemstone"; - mes "(Provided by"; - mes "Mixing Machine)"; - close; - case 3: - mes "[Mage Test Solution No. 3]"; - mes "* Ingredients List *"; - mes "6 Jellopy"; - mes "1 Fluff"; - next; - mes "[Mage Test Solution No. 3]"; - mes "* Solvent Agent *"; - mes "Payon Solution"; - mes "Where to Find:"; - mes "A small spring in Payon, the Archer Village."; - next; - mes "[Mage Test Solution No. 3]"; - mes "* Magic Power Serial Code *"; - mes "2750"; - next; - mes "[Mage Test Solution No. 3]"; - mes "* Catalyst *"; - mes "Blue Gemstone"; - mes "(Provided by"; - mes "Mixing Machine)"; - close; - case 4: - mes "[Mage Test Solution No. 4]"; - mes "* Ingredients List *"; - mes "2 Jellopy"; - mes "3 Fluff"; - next; - mes "[Mage Test Solution No. 4]"; - mes "* Solvent Agent *"; - mes "Morroc Solution"; - mes "Where to Find:"; - mes "A small spring near entrance of pyramid in Morroc."; - next; - mes "[Mage Test Solution No. 4]"; - mes "* Magic Power Serial Code *"; - mes "5429"; - next; - mes "[Mage Test Solution No. 4]"; - mes "* Catalyst *"; - mes "1 carat Diamond"; - mes "(Provided by"; - mes "Mixing Machine)"; - close; - } -} \ No newline at end of file diff --git a/npc/re/jobs/1-1/merchant.txt b/npc/re/jobs/1-1/merchant.txt index 3f023de28..4b7e091f0 100644 --- a/npc/re/jobs/1-1/merchant.txt +++ b/npc/re/jobs/1-1/merchant.txt @@ -3,14 +3,13 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.1 +//= 1.0 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Merchant Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] -//= 1.1 Added Baby job change support. [Masao] //============================================================ alberta_in,53,43,6 script Merchant#mer 86,{ if (Upper == 1) { @@ -37,7 +36,7 @@ alberta_in,53,43,6 script Merchant#mer 86,{ 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,1; + skill 143,0,0; jobchange Job_Merchant_High; skill 153,1,0; skill 154,1,0; @@ -45,22 +44,34 @@ alberta_in,53,43,6 script Merchant#mer 86,{ 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 "[Chief Mahnsoo]"; - mes "^333333*Sigh*^000000"; - mes "I'm so bored..."; - mes "When will I hear from my lovely Blossom?"; - close; } - mes "[Chief Mahnsoo]"; - mes "So, what brings you to"; - mes "the Merchant Association?"; - mes "Is there anything"; - mes "I can help you with?"; + mes "[Guildsman Mahnsoo]"; + mes "Hey, why are you here?"; next; - switch (select("I want to be a Merchant.:Tell me about Merchants.:Tell me the requirements.:Nope.")) { + 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_Baby || Class == Job_Novice) { + 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; @@ -70,7 +81,7 @@ alberta_in,53,43,6 script Merchant#mer 86,{ next; mes "[Guildsman Mahnsoo]"; mes "Don't you think we need to learn some basic skills although we just deal with money?"; - close2; + close; } mes "[Guildsman Mahnsoo]"; mes "Good, I think you're fully ready for it seeing that your basic skill level is fulfilled."; @@ -78,137 +89,37 @@ alberta_in,53,43,6 script Merchant#mer 86,{ next; mes "[Guildsman Mahnsoo]"; mes "Congratulations on becoming a merchant!"; - next; - skill 143,0,1; - if(Class == Job_Baby){ - jobchange Job_Baby_Merchant; - } else { - jobchange Job_Merchant; - } - set MERCNT_Q,0; - set MERCNT_Q2,0; - getitem 1381,1; //N_Battle_Axe - mes "[Guildsman Mahnsoo]"; 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~"; + 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; } - if (Class == Job_Baby_Merchant || Class == Job_Merchant || Class == Job_Merchant_High) { - mes "[Chief Mahnsoo]"; - mes "Hello there!"; - mes "How do you like"; - mes "being a Merchant?"; - next; - mes "[Chief Mahnsoo]"; - mes "Having a way with"; - mes "money certainly"; - mes "has its perks,"; - mes "does it not?"; - close; - } - mes "[Chief Mahnsoo]"; - mes "We Merchants hate people who are two faced. It's bad for business."; - next; - mes "[Chief Mahnsoo]"; - mes "People who always try to take advantage of other people by selling things at a ridiculous price just so they can make money that they'll waste are the worst."; - next; - mes "[Chief Mahnsoo]"; - mes "Well, in any case, we only accept Novices for job changes to the Merchant class. But I appreciate your interest in what we do."; - close; case 2: - mes "[Chief Mahnsoo]"; - mes "Merchant?"; - mes "Well, we basically sell goods to make money. That is the way"; - mes "of the Merchant."; - next; - mes "[Chief Mahnsoo]"; - mes "I guess we may not be the best at fighting, and we don't have many special attacks. We've got no healing skills..."; - next; - mes "[Chief Mahnsoo]"; - mes "But we can buy goods at lower prices from NPC shops and sell them at a higher price to other people~"; - next; - mes "[Chief Mahnsoo]"; - mes "Our ultimate attack skill is 'Mammonite.' The strength of Mammonite comes from the anger"; - mes "when we're forced to throw away perfectly good zeny."; - next; - mes "[Chief Mahnsoo]"; - mes "Throwing away zeny like that"; - mes "causes a deadly rage to well up in the heart of any Merchant!"; - mes "Just thinking about it"; - mes "makes my blood boil!"; - next; - mes "[Chief Mahnsoo]"; - mes "Anyway, we can use most"; - mes "weapons except Bows, Rods, and Two-Handed Swords. But we can always sell those."; + 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 "[Chief Mahnsoo]"; - mes "Yes..."; - mes "We Merchants generally"; - mes "have money on our minds..."; + 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,"; - mes "although just selling and receiving money is our job,"; - mes "you will need to learn all Basic Skills."; + 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 Membership Fee. But was it so hard to make that money?"; + 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 staying alive or not, it all rests on your own ability."; + 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; } } - -alberta_in,28,29,2 script Merchant Guildsman 83,{ - if (MERCNT_Q == 0 || MERCNT_Q == 1 || MERCNT_Q == 2) { - mes "[Union Staff Kay]"; - mes "I am sorry, but we don't make deliveries anymore."; - mes "Didn't Chief Mahnsoo tell you?"; - close; - } - mes "[Union Staff Kay]"; - mes "Ah, we don't make deliveries anymore."; - mes "Too many people cried and kept whining that it's too difficult."; - next; - mes "[Union Staff Kay]"; - mes "Well, maybe we will have a few deliveries later."; - mes "Anyway, I don't have any work now..."; - close; -} - -morocc_in,140,102,4 script Student#mer 86,{ - if (MERCNT_Q == 4 || MERCNT_Q == 3) { - mes "[Dyer's Student]"; - mes "I am sorry, but the Merchant Guild no longer makes deliveries to us anymore."; - close; - } - mes "[Dyer's Student]"; - mes "Mr. Java Dullihan is the one and only, the best dye maker on the Rune-Midgard continent."; - next; - mes "[Dyer's Student]"; - mes "Aaaand I'm proud to say that I'm his student! Someday, I'll be able to make really beautiful dyes too!"; - next; - mes "[Dyer's Student]"; - mes "Of course, I'm still learning the basics right now, but someday..."; - close; -} - -geffen_in,155,122,4 script Guild Staff 47,{ - if (MERCNT_Q == 4 || MERCNT_Q == 3) { - mes "[Guild Staff]"; - mes "I am sorry, but the Merchant Guild no longer makes deliveries to us anymore."; - close; - } - mes "[Guild Staff]"; - mes "My package should have arrived by now. Huh. I guess the Merchant Guild might be running a little late..."; - close; -} \ No newline at end of file diff --git a/npc/re/jobs/1-1/swordman.txt b/npc/re/jobs/1-1/swordman.txt index ff87a1a05..6942c170b 100644 --- a/npc/re/jobs/1-1/swordman.txt +++ b/npc/re/jobs/1-1/swordman.txt @@ -3,90 +3,98 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.1 +//= 1.0 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Swordman Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] -//= 1.1 Added Baby job change support. [Masao] //============================================================ -izlude_in,74,172,4 script Swordman 119,{ +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 Guildsman]"; + 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 Guildsman]"; + 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 Guildsman]"; + mes "[Swordman]"; mes "Hmm? Ah, you must first master the Basic Skills before you are ready to become a Swordman."; next; - mes "[Swordman Guildsman]"; + mes "[Swordman]"; mes "Come back to me when you have finished learning the Basic Novice Skills."; close; } - mes "[Swordman Guildsman]"; + mes "[Swordman]"; mes "Excellent! Let me promote you to a Swordman right away!"; next; - skill 143,0,1; + skill 143,0,0; jobchange Job_Swordman_High; skill 144,1,0; skill 145,1,0; skill 146,1,0; - mes "[Swordman Guildsman]"; + 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 "Hm...?"; - mes "You're a reborn"; - mes "warrior, aren't you?"; - next; - mes "[Swordman Guildsman]"; - 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 "Welcome to the"; - mes "Swordman Association!"; - next; - mes "[Swordman Guildsman]"; - mes "So..."; - mes "What business"; - mes "brings you to us?"; + 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.:Cancel.")) { + 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 job? Well, then..."; + mes "So you wish to know more about the mighty Swordman? Okay!"; next; mes "[Swordman Guildsman]"; - mes "Amongst the First Class jobs, the Swordman is the best melee fighter for three reasons."; - mes "There are 3 reasons why Swordy is the best to approch a fight!"; + 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 the benefit of additional HP. Second, Swordman generally have access to a wider selection fo weapons than the other First Class jobs."; + 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 "And third, most of the Swordman skills are crushing physical attacks! In my opinion, being a Swordman is the best job ever!"; + 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_Baby || Class == Job_Novice) { + 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 ^4d4dffJob Level 10^000000."; - mes "and ^4d4dffBasic Skill Level 9^000000."; + 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?"; @@ -97,43 +105,23 @@ izlude_in,74,172,4 script Swordman 119,{ mes "Hmm, both your Job Level and Basic Skill Level check out."; mes "Good. Do you want to be a Swordman right away?"; next; - switch (select("Yes, I do.:I'll consider it again.")) { - case 1: - mes "[Swordman Guildsman]"; - mes "Congratulations! From now on, you are going to live a Swordman's life!"; - mes "I will transform you right away!"; - next; - skill 143,0,1; - if(Class == Job_Baby){ - jobchange Job_Baby_Swordman; - } else { - jobchange Job_Swordman; - } - set job_sword_q,0; - getitem 13415,1; //N_Falchion - mes "[Swordman Guildsman]"; - mes "Congratulations again for becomming a Swordman and I hope that you participate in many activities for the revival of our guild."; - close; - case 2: + if(select("Yes, I do.:I'll consider it again.") == 2) { mes "[Swordman Guildsman]"; - mes "Yeah. Careful consideration is needed for choosing a job."; - mes "But I feel sorry... that you'll have to consider it again after all the trials...."; + 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; } - } - if (Class == Job_Baby_Swordman || Class == Job_Swordman || Class == Job_Swordman) { mes "[Swordman Guildsman]"; - mes "You are already an excellent Swordman, aren't you?"; - mes "Just devote yourself to be a great Swordman."; + 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; } - mes "[Swordman Guildsman]"; - mes "Haha! Oh boy. I'm flattered, but you already have another job! Still, I can't blame you..."; - close; case 3: - mes "[Swordman Guildsman]"; - mes "Ha ha ha!"; - mes "Ah, youth!"; close; } -} \ No newline at end of file +} diff --git a/npc/re/jobs/1-1/thief.txt b/npc/re/jobs/1-1/thief.txt index d2a1cf07d..8d7e452f3 100644 --- a/npc/re/jobs/1-1/thief.txt +++ b/npc/re/jobs/1-1/thief.txt @@ -3,31 +3,30 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.1 +//= 1.0 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Thief Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] -//= 1.1 Added Baby job change support. [Masao] //============================================================ -moc_prydb1,39,129,2 script Thief Guildsman 69,{ +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 Guildsman]"; + 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 Guildsman]"; + 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 Guildsman]"; + mes "[Thief Guide]"; mes "Take your time and learn all the Basic Skills, will you? Well then, see you later~!"; close; } - mes "[Thief Guildsman]"; + 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; @@ -36,297 +35,173 @@ moc_prydb1,39,129,2 script Thief Guildsman 69,{ skill 150,1,0; skill 151,1,0; skill 152,1,0; - mes "[Thief Guildsman]"; + 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; } - mes "[Thief Guildsman]"; - if (Sex == 1) { + }else{ + mes "[Thief Guide]"; + if (sex) mes "Hey, dude."; - } else { - mes "Hey, baby~"; - } + else + mes "Hey, baby."; + mes "...Hey! You look too goody-goody to want to be a Thief!! Now scram, I'm busy. Next!"; close; } - mes "[Thief Guildsman]"; - if (Sex == 1) { - 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 (Class == Job_Baby_Thief || Class == Job_Thief || Class == Job_Thief_High) { + if(q_job_thief == 1) { mes "[Thief Guildsman]"; - mes "Hey~ if you have any trouble, get it out to me anytime, huh?"; + 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_Baby) && (Class != Job_Novice) && (Class != Job_Baby_Thief) && (Class != Job_Thief)) { - mes "[Thief Guildsman]"; - mes "What the heck...?"; - switch (Class) { - case Job_Swordman: - mes "Huh."; - mes "Now, that's"; - mes "a big sword."; - next; + if(Class != Job_Novice) { + if(Class == Job_Thief) { mes "[Thief Guildsman]"; - mes "So..."; - mes "Trying to make"; - mes "up for something"; - mes "...Buddy?"; + mes "Hey~ if you have any trouble, get it out to me anytime, huh?"; close; - case Job_Mage: - mes "What's a Mage doin' here? Shouldn't you be doing card tricks elsewhere? Oh well, it's a free country..."; - next; - mes "[Thief Guildsman]"; - mes "Oh wait,"; - mes "it's not..."; - mes "Get outta here!"; - close; - case Job_Archer: - mes "Man, shouldn't you"; - mes "Archers be playing"; - mes "in the forest"; - mes "or something?"; - close; - case Job_Merchant: - mes "You're a Merchant,"; - mes "right? Why are you"; - mes "walking into a den"; - mes "of Thieves?!"; - next; - mes "[Thief Guildsman]"; - mes "It's like you're begging"; - mes "us to steal from you!"; - mes "Come on, hurry and"; - mes "get outta here~"; - close; - case Job_Acolyte: - mes "You know we all steal for a living, right? What are you doing in this kinda place, Acolyte?"; - close; - case Job_Assassin: - mes "Didn't you use to be one of us?! Man, you changed. You seem real dangerous now..."; - close; - close; - case Job_Rogue: - mes "Man, you got real cool all of a sudden! You must have some skills I can only dream of!"; - close; - close; - case Job_Priest: - mes "Oh my God..."; - mes "Am I dying?"; - next; - mes "[Thief Guildsman]"; - mes "Why else would a Priest come here? I guess I better start confessing all of my misdeeds."; - close; - } - next; - if (Sex == 1) { - 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 (Class == Job_Baby || Class == Job_Novice) { - mes "[Thief Guildsman]"; - if (Sex == 1) { - mes "Ehh... Seems like a beloved son of a rich family, but why are you here in this dirty place?"; - } - else { - mes "Ehh... Seems like a beloved daughter of a rich family, but why are you here in this dirty place?"; - } - next; - switch (select("I want to be a Thief.:Nothing.")) { - case 1: - if (THF_Q == 0) { + }else{ + if(Sex) { mes "[Thief Guildsman]"; - mes "Well, are you that proud of it? 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.'"; + mes "What the heck...?"; + mes "Huh.. you are a "+jobname(Class)+" blockhead...!"; 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 "Well, are you that proud of it? 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; - 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 "Hey, brother."; + mes "Why are you here? Go back to your place~ go back~~"; + close; + }else{ mes "[Thief Guildsman]"; - mes "So, do you want to apply for being a Thief?"; + mes "What the heck...?"; next; - switch (select("Yes, I do.:No.")) { - case 1: - mes "[Thief Guildsman]"; - mes "Alright, tell me your name. Huh? What?"; - mes "" + strcharinfo(0) + ". " + 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? So go and reach at least Basic Skill Level 9."; - close; - } - mes "[Thief Guildsman]"; - mes "Alright. I looked at your Felony Record, and you seem to have a very interesting history. You might have what it takes to be a Thief."; - mes "" + strcharinfo(0) + ". I now decree that you have passed this interview. Good work!"; - set THF_Q,1; - 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."; - close; - case 2: - mes "[Thief Guildsman]"; - mes "Well... do what you want to do~ Go your way~"; - close; - } - } - if (THF_Q == 1) { 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."; + mes "Hey, lady."; + mes "Why are you here? Go back to your place~ go back~~"; close; } - mes "[Thief Guildsman]"; - mes "Oh, before I let you go... ...did you take any mushrooms?"; - mes "... ...It was a joke."; - mes "You don't need to do a test, and if you want to jobchange, you can do it directly."; - next; - mes "[Thief Guildsman]"; - mes "In short it was just a joke."; - mes "Ha ha ha ha ha!!"; - close; - case 2: - mes "[Thief Guildsman]"; - mes "You know you cannot be a thief without an application....."; - mes "What's on your mind..?"; - close; } } -} - -moc_prydb1,42,133,2 script Comrade 118,{ - if (Class == Job_Baby_Thief || Class == Job_Thief || Class == Job_Thief_High) { - mes "[Brad]"; - mes "I don't have any special events now. So go on your way and come back later."; + 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; } - if ((Class != Job_Baby) && (Class != Job_Novice) && (Class != Job_Baby_Thief) && (Class != Job_Thief)) { - mes "[Comrade]"; - mes "Um..."; - mes "You don't look"; - mes "like a Thief."; + 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; - mes "[Comrade]"; - mes "What the heck are"; - mes "you doing here anyway?"; + 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; } - if (THF_Q == 0) { - mes "[Comrade]"; - mes "What's the matter? If you want to be a Thief, speak to the woman beside me."; + 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; } - if (THF_Q == 1) { + 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 "[Leader of Thief Guild 'E']"; - mes "" + strcharinfo(0) + "..."; - mes "'For those who are ready, the moonlight shall open the way. You are now one of us.'"; - skill 143,0,1; - if(Class == Job_Baby){ - jobchange Job_Baby_Thief; - } else { - jobchange Job_Thief; - } - getitem 13041,1; //N_Main_Gauche - erasequest 1013; + 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 "[Leader of Thief Guild 'E']"; - mes "'Congratulations on becoming a Thief!'"; - mes "'From now, be an honorable representative of the Thief's Guild.'"; - mes "'If you bring disgrace to our guild, you will be killed.'"; - mes "'Anyway, I expect you to be a great Thief.'"; + 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 "*Ahem* Welcome to the Guild, comrade!"; - mes "I'm Brad, and I'm in charge of human resources here."; + 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 a quite busy man."; - mes "Alright then, I'll see you around~"; - close; - } -} - -moc_ruins,141,125,3 script Mr. Irrelevant 83,{ - if (Class == Job_Baby_Thief || Class == Job_Thief) { - mes "[Mr. Irrelevant]"; - mes "Ah, I see that you are now a Thief. I always knew you'd join us."; - next; - mes "[Mr. Irrelevant]"; - mes "Why don't you leave this place?"; + 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_Baby) && (Class != Job_Novice) && (Class != Job_Baby_Thief) && (Class != Job_Thief)) { - set .@rand,rand(1,5); - switch(.@rand){ - mes "[Mr. Irrelevant]"; - case 1: - mes "Today looks like a good day to go to the pyramids and hunt with some of my friends."; - close; - case 2: - mes "I could use a good, hard drink."; - close; - case 3: - mes "Gimme your money."; - next; - mes "[Mr. Irrelevant]"; - mes "Kidding, I'm off the clock."; - close; - case 4: - mes "WHO YOU CALLING A PSYCHO?!?!"; - close; - case 5: - mes "I've got nothing to say to you. Would you mind leaving me alone?"; - 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~"; } - } - if (THF_Q == 1) { - mes "[Mr. Irrelevant]"; - mes "There is this strange smell coming from... You. Now why would that be?"; close; } - mes "[Mr. Irrelevant]"; - mes "Hey Novice! Why don't you join the ranks of the Thief Guild? You newbies are always welcome to join us and our selfish cause."; - next; - mes "[Mr. Irrelevant]"; - mes "You can get more information in the Underground Room in the Pyramid 1 BF."; + 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; -} \ No newline at end of file +} diff --git a/npc/re/jobs/2-1/assassin.txt b/npc/re/jobs/2-1/assassin.txt index aeee0b111..7f8febe58 100644 --- a/npc/re/jobs/2-1/assassin.txt +++ b/npc/re/jobs/2-1/assassin.txt @@ -1,20 +1,56 @@ //===== rAthena Script ======================================= -// Assassin Job change Quest +//= Assassin Job Quest //===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= kobra_k88 //===== Current Version: ===================================== -//= 1.0 +//= 3.5 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Thief -> Assassin. +//= [Aegis Conversion] +//= Job Change quest for Assassin class. //===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] +//= 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 55,{ +in_moc_16,19,33,1 script Guildsman#asn 55,{ if (Upper == 1) { mes "[Ferocious-looking guy]"; mes "Hm? You....?"; @@ -24,12 +60,12 @@ in_moc_16,19,33,1 script Guildsman 55,{ 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 != 0) { + 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 (ASN_Q == 4) { + if (ASSIN_Q == 4) { mes "[Ferocious-looking guy]"; mes "Oh, stop making that face. Can you really be in that much pain?"; next; @@ -41,37 +77,30 @@ in_moc_16,19,33,1 script Guildsman 55,{ 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; - switch (select("I will become an Assassin no matter what!:Oh man, I gotta take a break.")) { - case 1: + 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 ASN_Q,0; + set ASSIN_Q,0; warp "in_moc_16",19,76; end; - case 2: - 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 ASN_Q,0; - set thief_joblvl,0; - set asn_skill,0; - erasequest 8000; - erasequest 8001; - erasequest 8002; - erasequest 8003; - erasequest 8004; - savepoint "in_moc_16",18,14; - warp "in_moc_16",18,14; - 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 ((Class == Job_Baby_Thief || Class == Job_Thief) && (countitem(1008) == 0) && (ASN_Q > 7)) { + 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; @@ -82,7 +111,7 @@ in_moc_16,19,33,1 script Guildsman 55,{ mes "When you finally succeed in getting it, bring it to me! ^666666*Sigh...*^000000"; close; } - if ((Class == Job_Baby_Thief || Class == Job_Thief) && (countitem(1008) > 0) && (ASN_Q > 7)) { + 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; @@ -97,22 +126,19 @@ in_moc_16,19,33,1 script Guildsman 55,{ mes "......"; next; delitem 1008,1; //Frozen_Heart + changequest 8007,8008; mes "[Assassin Expert 'Huey']"; mes "Alright!"; mes "You've been approved!"; next; - if(Class == Job_Baby_Thief){ - jobchange Job_Baby_Assassin; - } else { - jobchange Job_Assassin; - } - changequest 8007,8008; 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; } - if ((countitem(1008) > 0) && (Class == Job_Baby_Thief || Class == Job_Thief) && (ASN_Q < 7)) { + else if (countitem(1008) > 0 && BaseJob == Job_Thief && ASSIN_Q < 7) { mes "[Ferocious-looking guy]"; mes "Eh?"; mes "What do you want?"; @@ -137,128 +163,138 @@ in_moc_16,19,33,1 script Guildsman 55,{ warp "moc_fild16",206,229; end; } - 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 (Class == Job_Baby || Class == 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; - } - if (Class == Job_Swordman || Class == Job_Knight || Class == Job_Crusader) { - 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; - } - if (Class == Job_Mage || Class == Job_Wizard || Class == Job_Sage) { - 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; - } - if (Class == Job_Archer || Class == Job_Hunter || Class == Job_Bard || Class == Job_Dancer) { - 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; - } - if (Class == Job_Acolyte || Class == Job_Priest || Class == Job_Monk) { - 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; - } - if (Class == Job_Merchant || Class == Job_Blacksmith || Class == Job_Alchemist) { - mes "[Ferocious-looking guy]"; - mes "We don't like greedy people around these parts. You better sell your stuff somewhere else, Moneybags."; - close; - } - if (Class == 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; + else { 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; - } - if (Class == Job_Baby_Assassin || Class == 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..."; + mes "What brings you here?"; + mes "I don't think I like the way you're looking at me... Punk."; 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; - } - if ((Classe == Job_Baby_Thief || Class == Job_Thief) && (JobLevel > 39)) { - if (SkillPoint != 0) { + if (BaseClass == Job_Novice) { 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."; + mes "Hey Newbie. You should really get out of here as soon as you can. I can't guarantee your safety."; close; } - 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: + else if (BaseClass == Job_Swordman) { 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 ASN_Q,0; - warp "in_moc_16",19,76; - end; - case 2: + 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 "Requirements? Well, first you need to be a Thief. Second, you need to be at least Thief job level 40."; + mes "Now what would a magic user be doing here?"; 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."; + 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; - case 3: + } + 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 "Hmm..."; - mes "Alright then."; - mes "But come back when"; - mes "you think you're ready."; + 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; } } - 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; + 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."; @@ -266,7 +302,7 @@ in_moc_16,25,90,1 script Guildsman#ASN2 730,2,2,{ close; OnTouch: - if (asn_skill == 4) { + if (ASSIN_Q2 == 4) { mes "[Assassin 'Khai']"; mes "Ehhh?"; mes "Didn't you just"; @@ -292,7 +328,7 @@ OnTouch: 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!")) { + 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!!!"; @@ -346,15 +382,14 @@ OnTouch: close; case 2: mes "[Assassin 'Khai']"; - if (Sex == 1) { + 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 { + 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..."; @@ -376,7 +411,6 @@ OnTouch: mes "seem depressing to you?"; close; case 3: - set .@assassin_quiz,rand(1,3); mes "[Assassin 'Khai']"; mes "...Hm."; next; @@ -391,12 +425,12 @@ OnTouch: mes "Along with keeping your pride,"; mes "I want that you respect the blood that may stain your Katar or Dagger."; next; - switch (select("...Got you.:...I'm confused.")) { - case 1: + 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; - if (.@assassin_quiz == 1) { + 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; @@ -412,8 +446,8 @@ OnTouch: 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; - } - if (.@assassin_quiz == 2) { + break; + case 2: mes "[Assassin 'Khai']"; mes "'Sharpened Legbone of Ghoul' possesses the Undead property."; next; @@ -436,8 +470,8 @@ OnTouch: mes "[Assassin 'Khai']"; mes "You know elemental weapons? The names of Blacksmiths are engraved on them usually..."; next; - } - else { + 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; @@ -474,107 +508,104 @@ OnTouch: close2; warp "in_moc_16",19,144; end; - case 2: - 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; } - } - } - mes "[Assassin 'Khai']"; - mes "Oh, you must be an Assassin trainee. You are here to become"; - mes "an Assassin, aren't you?"; - next; - switch (select("Yes, I am. :...No, I'm not.")) { - case 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~"; + 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 "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."; + mes "Oh, I get it. It wasn't pride you were showing, you were just being a jerk!"; next; mes "[Assassin 'Khai']"; - mes "Alright then,"; - mes "best of luck to you!"; + mes "Grrrrr..."; + mes "WARP PORTAL!"; close2; - set thief_joblvl,1; - set ASN_Q,1; - setquest 8001; - warp "in_moc_16",19,144; + warp "c_tower4",64,76; end; } - if (JobLevel < 49) { + } + 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 "Well, you passed"; - mes "the requirements."; - mes "Not bad at all."; + mes "Okay, good. Let's fill out the application form. Please sign your name and include your job level."; next; mes "[Assassin 'Khai']"; - mes "Go ahead and give"; - mes "me the form when you're"; - mes "done filling it out."; - mes "Alright, thanks."; + mes "Let's see."; + mes "Your name is"; + mes "" + strcharinfo(0) + "..."; + mes "Job level " + JobLevel + "..."; next; - mes "[Assassin 'Khai']"; - mes "I'll transport you"; - mes "to the Test Hall."; - mes "Best of luck~"; - close2; - set thief_joblvl,2; - set ASN_Q,1; - setquest 8001; - warp "in_moc_16",19,144; - end; + 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; + } } - mes "[Assassin 'Khai']"; - mes "Who the"; - mes "hell are you?"; - mes "...Guards!"; - close2; - warp "moc_fild16",206,229; - end; - case 2: - mes "[Assassin 'Khai']"; - mes "Huh...?"; - mes "What, are you trying to trick me or something? Don't you wanna be an Assassin?"; - next; - switch (select("No.:Yes, I want to be an Assassin.")) { - case 1: + else { mes "[Assassin 'Khai']"; - mes "Eh, get outta here."; - mes "Stop wastin' my time..."; - close2; - set ASN_Q,0; - set thief_joblvl,0; - set asn_skill, 0; - erasequest 8000; - erasequest 8001; - erasequest 8002; - erasequest 8003; - erasequest 8004; - warp "moc_fild16",206,229; - end; - case 2: + 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?"; @@ -596,13 +627,13 @@ OnTouch: 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 thief_joblvl,1; - set ASN_Q,1; - setquest 8001; + set ASSIN_Q3,1; + set ASSIN_Q,1; + changequest 8001,8002; warp "in_moc_16",19,144; end; } - if (JobLevel < 49) { + 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; @@ -610,52 +641,53 @@ OnTouch: mes "Then give me the form so that I can send you to the Test Hall, alright?"; mes "Good luck..."; next; - set thief_joblvl,2; - set ASN_Q,1; - setquest 8001; + set ASSIN_Q3,2; + set ASSIN_Q,1; + changequest 8001,8002; warp "in_moc_16",19,144; end; } - mes "[Assassin 'Khai']"; - mes "How the hell did"; - mes "you get in here?"; - mes "Get out!"; - close2; - warp "moc_fild16",206,229; - 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 139,8,2,{ - +in_moc_16,19,154,0 script nameless_one -1,8,2,{ OnTouch: - if (asn_skill < 1) { - 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; - switch (select("I think I crapped my pants!:You're all talk. I challenge you!")) { - case 1: + if (ASSIN_Q2 < 5) { + if (ASSIN_Q2 < 3) { mes "[The Anonymous One]"; - mes "Now I see that"; - mes "you're nothing"; - mes "but a wimp."; + mes "Welcome, guest."; + mes "Mwahaha, it's useless"; + mes "to try to find or see me..."; next; mes "[The Anonymous One]"; - mes "Bwahahahahahah!"; - mes "Stop cowering in fear!"; - mes "It's making me laugh!"; - close; - case 2: + 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"; @@ -676,1132 +708,434 @@ OnTouch: mes "Although I am heartless,"; mes "I am not necessarily cruel. Before we proceed, is there anything you wish to know?"; next; - } - set asn_skill,0; - while (1) { - 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 asn_skill,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 asn_skill,2; - next; - break; - case 3: - if (asn_skill == 0) { + set ASSIN_Q2,0; + while(ASSIN_Q2 < 3) { + switch(select("...Skills?:...Stats?:Hmpf, I know it all.")) { + case 1: mes "[The Anonymous One]"; - mes "Know everything do you?!"; - mes "I'll be the judge of that!"; - set asn_skill,4; - changequest 8001,8002; + mes "Skills...?"; + mes "Although skills can have circumstantial applications, I will tell you about the basic concepts."; next; - break; - } - else { - set asn_skill,4; - changequest 8001,8002; - break; - } - 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; - set .@assassin_quiz,rand(1,3); - set @assassin_t, 0; - mes "[The Anonymous One]"; - mes "Are you ready?"; - mes "Prepare yourself!"; - next; - if (.@assassin_quiz == 1) { - mes "[The Anonymous One]"; - mes "1. Choose skill that is not required to learn Grimtooth."; - next; - switch (select("Cloaking level 2:Sonic Blow level 5:Katar Mastery level 4:Right hand Mastery level 2")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } - mes "[The Anonymous One]"; - mes "2. What property does Enchant Poison possess?"; - next; - switch (select("Poison:Earth:Fire:Wind")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[The Anonymous One]"; - mes "3. How does Level 4 Right Hand Mastery work?"; - next; - switch (select("Recover 80% of damage decrease:Recover 90% of damage decrease:Increase 90% of damage:Increase 108% of damage")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[The Anonymous One]"; - mes "4. What is the item required for using Venom Dust?"; - next; - switch (select("Red Blood:Blue Gemstone:Yellow Gemstone:Red Gemstone")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } - mes "[The Anonymous One]"; - mes "5. Which skill can you learn when you reach Level 5 Enchant Poison?"; - next; - switch (select("Envenom:Sonic Blow:Venom Splasher:Venom Dust")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } - mes "[The Anonymous One]"; - mes "6. Among the following skills, which allows you to walk while invisible?"; - next; - switch (select("Hiding:Back Slide:Cloaking:Sand Attack")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } - mes "[The Anonymous One]"; - mes "7. Choose the condition that is unrelated to Venom Splasher."; - next; - switch (select("Poisoned target.:Red Gemstone.:Remaing HP of Target.")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - } - mes "[The Anonymous One]"; - mes "8. Which monster is weak to a weapon with Vadon card (adds 20% damage on Fire property monster)?"; - next; - switch (select("Steel Chonchon:Deviruchi:Elder Willow:Baphomet")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } - mes "[The Anonymous One]"; - mes "9. How much SP does"; - mes "Double Attack need?"; - next; - switch (select("15:It's a passive skill, so SP use is 0.:It's passive skill, so SP use is 10.:54")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[The Anonymous One]"; - mes "10. What is the best elemental Main Gauche weapon for hunting in Izlude dungeon?"; - next; - switch (select("Wind Main Gauche:Ice Main Gauche:Earth Main Gauche:Fire Main Gauche")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - } - if (.@assassin_quiz == 2) { - mes "[The Anonymous One]"; - mes "1. Which monster"; - mes "drops a slotted Katar?"; - next; - switch (select("Thief Bug:Peco Peco:Desert Wolf:Hammer Cobolt")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } - mes "[The Anonymous One]"; - mes "2. Which monster"; - mes "drops a slotted Jur?"; - next; - switch (select("Martin:Desert Wolf:Marionette:Myst")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[The Anonymous One]"; - mes "3. Which class is allowed to craft elemental weapons?"; - next; - switch (select("Merchant:Blacksmith:Thief:Priest")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[The Anonymous One]"; - mes "4. Choose the weapon which is not in the Katar class."; - next; - switch (select("Jamadhar:Jur:Katar:Gladius")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } - mes "[The Anonymous One]"; - mes "5. What property do Izlude dungeon monsters posses?"; - next; - switch (select("Water:Fire:Wind:Earth")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[The Anonymous One]"; - mes "6. Which monster"; - mes "cannot be a Cute Pet?"; - next; - switch (select("Poporing:Roda Frog:Smokie:Poison Spore")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[The Anonymous One]"; - mes "7. Choose a monster that Fire property Daggers work the best on."; - next; - switch (select("Dagger Goblin:Mace Goblin:Morning Star Goblin:Hammer Goblin")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } - mes "[The Anonymous One]"; - mes "8. Choose the non-elemental Katar from the following:"; - next; - switch (select("Katar of Raging Blaze:Katar of Dusty Thornbush:Sharpened Legbone of Ghoul:Infiltrator")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } - mes "[The Anonymous One]"; - mes "9. Which is the uncommon monster?"; - next; - switch (select("Poring:Mastering:Ghostring:Spore")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } - mes "[The Anonymous One]"; - mes "10. Choose the monster"; - mes "that is not Undead."; - next; - switch (select("Drake:Megalodon:Spore:Khalitzburg")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } - } - else { - 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; - switch (select("30:40:160:20")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[The Anonymous One]"; - mes "2. Choose a monster which detects hiding/cloaking Thieves and Assassins."; - next; - switch (select("Worm Tail:Andre:Mummy:Soldier Skeleton")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[The Anonymous One]"; - mes "3. Choose a group of weapons that cannot be used by an Assassin at once."; - next; - switch (select("Main Gaughe + Gladius:Stiletto + Main Gauche:Katar + Maingauche:Hammer + Stiletto")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } - mes "[The Anonymous One]"; - mes "4. Choose the town where Thieves can change their jobs."; - next; - switch (select("Prontera:Lutie:Alberta:Morroc")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } - mes "[The Anonymous One]"; - mes "5. Choose a card that does not affect the AGI stat."; - next; - switch (select("Baphomet Jr. card:Whisper Card:Female Thiefbug card:Male Thiefbug card")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; + 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 "6. Choose the correct specialty of the Assassin class."; + mes "Hmpf. It is now time to test your knowledge. You are not allowed to miss more than one question."; next; - switch (select("Excellent singing talent:Excellent reading talent:Excellent dancing talent:Excellent dodge ability")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } mes "[The Anonymous One]"; - mes "7. Choose the maximum AGI bonus an Assassin can get at job level 50."; + 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; - switch (select("7:8:9:10")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } mes "[The Anonymous One]"; - mes "8. Choose the item that an Assassin cannot equip."; + 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; - switch (select("Dagger:Helm:Boots:Brooch")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; + 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 "9. Choose the job change item for Thief."; + 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; - switch (select("Orange Gooey Mushroom:Red Gooey Mushroom:Orange Net Mushroom:Orange Hair Mushroom")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } mes "[The Anonymous One]"; - mes "10. Choose a card that would typically benefit an Assassin the least."; + 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; - switch (select("Whisper Card:Elder Willow Card:Soldier Skeleton Card:Cobold Card")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } - } - 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 asn_skill,5; - mes "Well done."; - mes "You pass."; + 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 "However, another test awaits you. When you go inside the next area, you will receive your instructions..."; - close; + mes "Okay,"; + mes "are you ready?"; + mes "Good luck."; } - set asn_skill,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; - } - if (asn_skill < 5) { - mes "[The Anonymous One]"; - mes "Having problems"; - mes "passing a simple test?"; - mes "You should have"; - mes "known better."; - next; - switch (select("Help me, how do I pass?:I challenge you again!")) { + switch(rand(1,3)) { case 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,241; - end; - case 2: - 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; - set @assassin_quiz,rand(1,3); - set @assassin_t, 0; - mes "[The Anonymous One]"; - mes "Okay,"; - mes "are you ready?"; - mes "Good luck."; - next; - if (.@assassin_quiz == 1) { - mes "[The Anonymous One]"; - mes "1. Choose the skill that is not required to learn Grimtooth."; + mes "1. Choose skill that is not required to learn Grimtooth."; next; - switch (select("Level 2 Cloaking:Level 5 Sonic Blow:Level 4 Katar Mastery:Level 2 Right hand Mastery")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + 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; - switch (select("Poison:Earth:Fire:Wind")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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?"; + mes "3. How does Level 4 Right Hand Mastery work?"; next; - switch (select("Recover 80% of damage decrement:Recover 90% of damage decrement:Increase 90% of damage:Increase 108% of damage!!")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Red Blood:Blue Gemstone:Yellow Gemstone:Red Gemstone")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + 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; - switch (select("Envenom:Sonic Blow:Venom Splasher:Venom Dust")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + 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 become invisible while moving?"; + mes "6. Among the following skills, which allows you to walk while invisible?"; next; - switch (select("Hiding:Back Slide:Cloaking:Sand Attack")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } + if (select("Hiding:Back Slide:Cloaking:Sand Attack") == 3) + set .@assassin_t,.@assassin_t+10; mes "[The Anonymous One]"; - mes "7. From the following, choose the thing unrelated to using Venom Splasher."; + mes "7. Choose the condition that is unrelated to Venom Splasher."; next; - switch (select("Poisoned target.:Red Gemstone.:Remaining HP of Target.")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - } + 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 monster)?"; + mes "8. Which monster is weak to a weapon with Vadon card (adds 20% damage on Fire property monster)?"; next; - switch (select("Steel Chonchon:Deviruchi:Elder Willow:Baphomet")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } + 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 use?"; + mes "Double Attack need?"; next; - switch (select("15:It's a passive skill and doesn't use SP.:It's a passive skill, so it uses 10 SP.:54")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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 to use when hunting in Izlude dungeon?"; + mes "10. What is the best elemental Main Gauche weapon for hunting in Izlude dungeon?"; next; - switch (select("Wind Main Gauche:Ice Main Gauche:Earth Main Gauche:Fire Main Gauche")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - } - if (.@assassin_quiz == 2) { + 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 drops"; - mes "a slotted Katar?"; + mes "1. Which monster"; + mes "drops a slotted Katar?"; next; - switch (select("Thief Bug:Peco Peco:Desert Wolf:Hammer Cobold")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } + 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 "a slotted Jur?"; + mes "drops a slotted Jur?"; next; - switch (select("Martin:Desert Wolf:Marionette:Myst")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Merchant:Blacksmith:Thief:Priest")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Merchant:Blacksmith:Thief:Priest") == 2) + set .@assassin_t,.@assassin_t+10; mes "[The Anonymous One]"; - mes "4. Choose a weapon which is not Katar class."; + mes "4. Choose the weapon which is not in the Katar class."; next; - switch (select("Jamadhar:Jur:Katar:Gladius")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + 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 possess?"; + mes "5. What property do Izlude dungeon monsters posses?"; next; - switch (select("Water:Fire:Wind:Earth")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Poporing:Roda Frog:Smokie:Poison Spore")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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."; + mes "7. Choose a monster that Fire property Daggers work the best on."; next; - switch (select("Dagger Goblin:Mace Goblin:Morning Star Goblin:Hammer Goblin")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + 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."; + mes "8. Choose the non-elemental Katar from the following:"; next; - switch (select("Katar of Raging Blaze:Katar of Dusty Thornbush:Sharpened Legbone of Ghoul:Infiltrator")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + 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; - switch (select("Poring:Mastering:Ghostring:Spore")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } + 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; - switch (select("Drake:Megalodon:Spore:Khalitzburg")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } - } - else { + if (select("Drake:Megalodon:Spore:Khalitzburg") == 3) + set .@assassin_t,.@assassin_t+10; + break; + case 3: mes "[The Anonymous One]"; - mes "1. When the 'Increase Dodge' skill is at Level 10, by how much is the maximum dodge rate increased?"; + mes "1. Choose the correct amount of the maximum dodge rate increase from the 'Increase Dodge' skill when at level 10."; next; - switch (select("30:40:160:20")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + if (select("30:40:160:20") == 1) + set .@assassin_t,.@assassin_t+10; mes "[The Anonymous One]"; - mes "2. Choose the monster which detects hiding/cloaking Thief/Assassin."; + mes "2. Choose a monster which detects hiding/cloaking Thieves and Assassins."; next; - switch (select("Worm Tail:Andre:Mummy:Soldier Skeleton")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Worm Tail:Andre:Mummy:Soldier Skeleton") == 2) + set .@assassin_t,.@assassin_t+10; mes "[The Anonymous One]"; - mes "3. Choose the group of weapons that cannot be used by an Assassin at the same time."; + mes "3. Choose a group of weapons that cannot be used by an Assassin at once."; next; - switch (select("Main Gaughe + Gladius:Stiletto + Main Gauche:Katar + Maingauche:Hammer + Stiletto")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } + 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 the Thief job change resides."; + mes "4. Choose the town where Thieves can change their jobs."; next; - switch (select("Prontera:Lutie:Alberta:Morroc")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + if (select("Prontera:Lutie:Alberta:Morocc") == 4) + set .@assassin_t,.@assassin_t+10; mes "[The Anonymous One]"; - mes "5. Choose the card that does not affect the AGI stat."; + mes "5. Choose a card that does not affect the AGI stat."; next; - switch (select("Baphomet Jr. card:Whisper Card:Female Thiefbug card:Male Thiefbug card")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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 specialty that applies to Assassins."; + mes "6. Choose the correct specialty of the Assassin class."; next; - switch (select("Excellent singing talent:Excellent acting talent:Excellent dancing talent:Excellent dodge ability")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + 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 that an Assassin can get at job level 50."; + mes "7. Choose the maximum AGI bonus an Assassin can get at job level 50."; next; - switch (select("7:8:9:10")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + 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; - switch (select("Dagger:Helm:Boots:Brooch")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Dagger:Helm:Boots:Brooch") == 2) + set .@assassin_t,.@assassin_t+10; mes "[The Anonymous One]"; - mes "9. Choose the"; - mes "job change item"; - mes "for a Thief."; + mes "9. Choose the job change item for Thief."; next; - switch (select("Orange Gooey Mushroom:Red Gooey Mushroom:Orange Net Mushroom:Orange Hair Mushroom")) { + switch(select("Orange Gooey Mushroom:Red Gooey Mushroom:Orange Net Mushroom:Orange Hair Mushroom")) { case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; case 3: - set @assassin_t,@assassin_t + 10; + set .@assassin_t,.@assassin_t+10; break; - case 4: + default: break; } mes "[The Anonymous One]"; - mes "10. Choose a card that would benefit Assassins the least."; + mes "10. Choose a card that would typically benefit an Assassin the least."; next; - switch (select("Whisper card:Elder Willow card:Soldier Skeleton card:Cobold card")) { - case 1: + if (select("Whisper card:Elder Willow card:Soldier Skeleton card:Cobold card") == 2) + set .@assassin_t,.@assassin_t+10; break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - 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; } } - 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 asn_skill,5; + else if (ASSIN_Q2 == 4) { 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; + 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; + } } - set asn_skill,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; + } + else { 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; + mes "...I will keep watching you."; + close; } - mes "[The Anonymous One]"; - mes "...I will keep watching you."; - close; } in_moc_16,21,165,2 script Standby Room#ASNTEST 725,{ end; OnInit: - hideonnpc "Standby Room#ASNTEST"; + disablenpc "Standby Room#ASNTEST"; waitingroom "Standby Room",10,"Standby Room#ASNTEST::OnStartArena",1; enablewaitingroomevent; end; OnStartArena: - warpwaitingpc "in_moc_16",66,151; + warpwaitingpc "in_moc_16", 66, 151; attachrid($@warpwaitingpc[0]); - if(ASSIN_Q2<5) { + if(ASSIN_Q2<5) + { warpchar "in_moc_16",20,145,getcharid(0); end; } + donpcevent "Beholder#ASNTEST::OnEnable"; - donpcevent "Beholder#ASNTEST2::OnEnable"; donpcevent "Keeper of the Door#ASN::OnDisable"; - donpcevent "backers#ASN::OnDisable"; - donpcevent "traps#ASN::OnEnable"; - disablewaitingroomevent + set getvariableofnpc(.DisableTraps,"Beholder#ASNTEST"),0; + disablewaitingroomevent; end; -OnReset: +OnStart: enablewaitingroomevent; end; } in_moc_16,21,165,2 script Test Guide#ASN 725,4,4,{ + end; OnTouch: - if (asn_skill < 5) { + 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 ((ASN_Q == 1) && (asn_skill == 5)) { + if (ASSIN_Q == 1 && ASSIN_Q2 == 5) { mes "[Barcardi]"; mes "" + strcharinfo(0) + "..."; mes "You passed the test..?"; @@ -1834,92 +1168,124 @@ OnTouch: 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."; - changequest 8002,8003; close; } - 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; - switch (select("Continue!:Quit the job change test for now.")) { - case 1: + else { mes "[Barcardi]"; - mes "Good choice!"; - mes "Remember, you"; - mes "must find and kill"; - mes "6 ^008800Job change target^000000 monsters!"; - mes "Good luck!"; - close; - case 2: + 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 ASN_Q,0; - set thief_joblvl,0; - set asn_skill,0; + set ASSIN_Q,0; + set ASSIN_Q3,0; + set ASSIN_Q2,0; + changequest 8003,8000; warp "in_moc_16",19,13; - erasequest 8000; - erasequest 8001; - erasequest 8002; - erasequest 8003; - erasequest 8004; end; } } -in_moc_16,1,1,0 script Beholder#ASNTEST 139,{ - end; - -OnInit: - hideonnpc "Beholder#ASNTEST"; +in_moc_16,1,1,0 script Beholder#ASNTEST -1,{ end; OnEnable: - hideoffnpc "Beholder#ASNTEST"; + 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"; - donpcevent "Standby Room#ASNTEST::OnReset"; + 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: - if (mobcount ("in_moc_16","Beholder#ASNTEST::OnMyMobDead") < 1) { + set .MyMobs,.MyMobs-1; + if (.MyMobs < 1) { mapannounce "in_moc_16","You seem to be doing quite well. Keep it up!",bc_map; - set ASN_Q,3; + set ASSIN_Q,3; + changequest 8003,8004; donpcevent "timestopper#1::OnEnable"; donpcevent "Keeper of the Door#ASN::OnEnable"; donpcevent "Beholder#ASNTEST::OnResetmob"; - donpcevent "Beholder#ASNTEST2::OnReset"; + set .DisableTraps,1; stopnpctimer; - donpcevent "Beholder#ASNTEST::OnDisable"; - donpcevent "Beholder#ASNTEST2::OnDisable"; } else { mapannounce "in_moc_16","Okay, you're doing good! Hang in there, you're almost there!",bc_map; } end; -OnDisable: - hideonnpc "Beholder#ASNTEST"; +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: @@ -1930,485 +1296,210 @@ 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; - end; - -OnTimer185500: - mapannounce "in_moc_16","Well, good job... If you wanted to waste your time. You'll have to try again!",bc_map; - set ASN_Q,2; - end; - -OnTimer186000: - donpcevent "backers#ASN::OnEnable"; - end; - -OnTimer186500: - donpcevent "backers#ASN::OnDisable"; - end; - -OnTimer187000: - donpcevent "Beholder#ASNTEST::OnReset"; - donpcevent "Beholder#ASNTEST2::OnReset"; - donpcevent "Beholder#ASNTEST::OnDisable"; - donpcevent "Beholder#ASNTEST2::OnDisable"; - end; -} - -in_moc_16,76,158,0 script backers#ASN 139,20,20,{ +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; -OnTouch: - warp "in_moc_16",19,161; +OnTimer4000: + mapannounce "in_moc_16","You will have 3 minutes for the test! We will inform you of every minute passed.",bc_map; end; -OnInit: - hideonnpc "backers#ASN"; +OnTimer5000: + mapannounce "in_moc_16","Ok, now you've got exactly 3 minutes. Move! Move!",bc_map; end; -OnEnable: - donpcevent "job_asn_test::OnDisable"; - hideoffnpc "backers#ASN"; +OnTimer65000: + mapannounce "in_moc_16","2 minutes left. As I've told you, get the 'Job change target' monsters!",bc_map; end; -OnDisable: - hideonnpc "backers#ASN"; +OnTimer125000: + mapannounce "in_moc_16","1 minute left.",bc_map; end; -} -in_moc_16,1,1,0 script traps#ASN 139,{ +OnTimer180000: + mapannounce "in_moc_16","5 seconds left...",bc_map; end; - -OnEnable: - donpcevent "job_asn_test::OnEnable"; + +OnTimer181000: + mapannounce "in_moc_16","4 seconds left...",bc_map; end; -} -in_moc_16,2,1,0 script Beholder#ASNTEST2 139,{ +OnTimer182000: + mapannounce "in_moc_16","3 seconds left...",bc_map; end; -OnInit: - hideonnpc "Beholder#ASNTEST2"; +OnTimer183000: + mapannounce "in_moc_16","2 seconds left...",bc_map; end; -OnReset: - killmonster "in_moc_16","Beholder#ASNTEST2::OnMyMobDead"; +OnTimer184000: + mapannounce "in_moc_16","1 second left.",bc_map; end; -OnDisable: - hideonnpc "Beholder#ASNTEST2"; +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; -OnEnable: - hideoffnpc "Beholder#ASNTEST2"; - monster "in_moc_16",62,161,"Job change creature",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",85,169,"Job change creature",1031,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",79,174,"Job change creature",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",85,156,"Job change creature",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",74,171,"Job change monster",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",68,173,"Job change dummy",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",65,158,"Battle test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",60,158,"Warrior test target",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",64,169,"Job change targets",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",71,173,"Jobs change target",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",77,172,"Please don't hit me",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",76,172,"Job change sample",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",75,172,"Not me",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",67,167,"I got yours right here",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",86,170,"Job changes target",1031,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",86,171,"Job quest target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",86,170,"Job target change",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",86,173,"Hit me",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",85,170,"Battle Monster",1031,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",89,156,"Bouncer",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",89,156,"Mungamorp",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",89,156,"Battle test target",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",89,156,"Dew of the Battle field",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",89,156,"Tear of test",1031,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",83,169,"Evil Druid",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",63,158,"Doppelganger",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",63,157,"Job change dummy",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",64,159,"Job ready dummy",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",63,159,"Job change ready",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",63,159,"Archer test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",63,159,"Swordman test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",83,148,"Thief test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",82,148,"Acolyte test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",84,148,"Merchant test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; +OnTimer186000: + areawarp "in_moc_16",60,136,93,177,"in_moc_16",19,161; end; -OnMyMobDead: - mapannounce "in_moc_16"," " + strcharinfo(0) + "! You made a mistake! I'm bringing you back!",bc_map; - set ASN_Q,2; - warp "in_moc_16",19,161; +OnTimer187000: donpcevent "Beholder#ASNTEST::OnReset"; - donpcevent "Beholder#ASNTEST2::OnReset"; - donpcevent "Beholder#ASNTEST::OnDisable"; - donpcevent "Beholder#ASNTEST2::OnDisable"; end; } -- script job_asn_test::jasntdups -1,{ - +in_moc_16,68,158,0 script 01_1::SinTrap -1,0,0,{ OnTouch: - mapannounce "in_moc_16"," " + strcharinfo(0) + ", you're trapped. You will be sent back.",bc_map; - set ASN_Q,2; - warp "in_moc_16",19,161; - donpcevent "Beholder#ASNTEST::OnReset"; - donpcevent "Beholder#ASNTEST2::OnReset"; - donpcevent "Beholder#ASNTEST::OnDisable"; - donpcevent "Beholder#ASNTEST2::OnDisable"; - end; - -OnEnable: - hideoffnpc "01_1"; - hideoffnpc "01_2"; - hideoffnpc "01_3"; - hideoffnpc "01_4"; - hideoffnpc "02_1"; - hideoffnpc "02_2"; - hideoffnpc "02_3"; - hideoffnpc "02_4"; - hideoffnpc "03_1"; - hideoffnpc "03_2"; - hideoffnpc "03_3"; - hideoffnpc "03_4"; - hideoffnpc "04_1"; - hideoffnpc "04_2"; - hideoffnpc "04_3"; - hideoffnpc "04_4"; - hideoffnpc "05_1"; - hideoffnpc "05_2"; - hideoffnpc "05_3"; - hideoffnpc "05_4"; - hideoffnpc "06_1"; - hideoffnpc "06_2"; - hideoffnpc "06_3"; - hideoffnpc "06_4"; - hideoffnpc "07_1"; - hideoffnpc "07_2"; - hideoffnpc "07_3"; - hideoffnpc "07_4"; - hideoffnpc "08_1"; - hideoffnpc "08_2"; - hideoffnpc "08_3"; - hideoffnpc "08_4"; - hideoffnpc "09_1"; - hideoffnpc "09_2"; - hideoffnpc "09_3"; - hideoffnpc "09_4"; - hideoffnpc "10_1"; - hideoffnpc "10_2"; - hideoffnpc "10_3"; - hideoffnpc "10_4"; - hideoffnpc "10_5"; - hideoffnpc "10_6"; - hideoffnpc "10_7"; - hideoffnpc "10_8"; - hideoffnpc "11_1"; - hideoffnpc "11_2"; - hideoffnpc "11_3"; - hideoffnpc "11_4"; - hideoffnpc "12_1"; - hideoffnpc "12_2"; - hideoffnpc "12_3"; - hideoffnpc "12_4"; - hideoffnpc "13_1"; - hideoffnpc "13_2"; - hideoffnpc "13_3"; - hideoffnpc "13_4"; - hideoffnpc "14_1"; - hideoffnpc "14_2"; - hideoffnpc "14_3"; - hideoffnpc "14_4"; - hideoffnpc "14_5"; - hideoffnpc "14_6"; - hideoffnpc "14_7"; - hideoffnpc "14_8"; - hideoffnpc "14_9"; - hideoffnpc "14_10"; - hideoffnpc "14_11"; - hideoffnpc "14_12"; - hideoffnpc "15_1"; - hideoffnpc "15_2"; - hideoffnpc "15_3"; - hideoffnpc "15_4"; - hideoffnpc "16_1"; - hideoffnpc "16_2"; - hideoffnpc "16_3"; - hideoffnpc "16_4"; - hideoffnpc "17_1"; - hideoffnpc "17_2"; - hideoffnpc "17_3"; - hideoffnpc "17_4"; - hideoffnpc "18_1"; - hideoffnpc "18_2"; - hideoffnpc "18_3"; - hideoffnpc "18_4"; - end; - -OnDisable: - hideonnpc "01_1"; - hideonnpc "01_2"; - hideonnpc "01_3"; - hideonnpc "01_4"; - hideonnpc "02_1"; - hideonnpc "02_2"; - hideonnpc "02_3"; - hideonnpc "02_4"; - hideonnpc "03_1"; - hideonnpc "03_2"; - hideonnpc "03_3"; - hideonnpc "03_4"; - hideonnpc "04_1"; - hideonnpc "04_2"; - hideonnpc "04_3"; - hideonnpc "04_4"; - hideonnpc "05_1"; - hideonnpc "05_2"; - hideonnpc "05_3"; - hideonnpc "05_4"; - hideonnpc "06_1"; - hideonnpc "06_2"; - hideonnpc "06_3"; - hideonnpc "06_4"; - hideonnpc "07_1"; - hideonnpc "07_2"; - hideonnpc "07_3"; - hideonnpc "07_4"; - hideonnpc "08_1"; - hideonnpc "08_2"; - hideonnpc "08_3"; - hideonnpc "08_4"; - hideonnpc "09_1"; - hideonnpc "09_2"; - hideonnpc "09_3"; - hideonnpc "09_4"; - hideonnpc "10_1"; - hideonnpc "10_2"; - hideonnpc "10_3"; - hideonnpc "10_4"; - hideonnpc "10_5"; - hideonnpc "10_6"; - hideonnpc "10_7"; - hideonnpc "10_8"; - hideonnpc "11_1"; - hideonnpc "11_2"; - hideonnpc "11_3"; - hideonnpc "11_4"; - hideonnpc "12_1"; - hideonnpc "12_2"; - hideonnpc "12_3"; - hideonnpc "12_4"; - hideonnpc "13_1"; - hideonnpc "13_2"; - hideonnpc "13_3"; - hideonnpc "13_4"; - hideonnpc "14_1"; - hideonnpc "14_2"; - hideonnpc "14_3"; - hideonnpc "14_4"; - hideonnpc "14_5"; - hideonnpc "14_6"; - hideonnpc "14_7"; - hideonnpc "14_8"; - hideonnpc "14_9"; - hideonnpc "14_10"; - hideonnpc "14_11"; - hideonnpc "14_12"; - hideonnpc "15_1"; - hideonnpc "15_2"; - hideonnpc "15_3"; - hideonnpc "15_4"; - hideonnpc "16_1"; - hideonnpc "16_2"; - hideonnpc "16_3"; - hideonnpc "16_4"; - hideonnpc "17_1"; - hideonnpc "17_2"; - hideonnpc "17_3"; - hideonnpc "17_4"; - hideonnpc "18_1"; - hideonnpc "18_2"; - hideonnpc "18_3"; - hideonnpc "18_4"; + 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,68,158,0 duplicate(jasntdups) 01_1 139 -in_moc_16,69,158,0 duplicate(jasntdups) 01_2 139 -in_moc_16,68,159,0 duplicate(jasntdups) 01_3 139 -in_moc_16,69,159,0 duplicate(jasntdups) 01_4 139 -in_moc_16,64,162,0 duplicate(jasntdups) 02_1 139 -in_moc_16,65,162,0 duplicate(jasntdups) 02_2 139 -in_moc_16,64,163,0 duplicate(jasntdups) 02_3 139 -in_moc_16,65,163,0 duplicate(jasntdups) 02_4 139 -in_moc_16,62,168,0 duplicate(jasntdups) 03_1 139 -in_moc_16,63,168,0 duplicate(jasntdups) 03_2 139 -in_moc_16,62,169,0 duplicate(jasntdups) 03_3 139 -in_moc_16,63,169,0 duplicate(jasntdups) 03_4 139 -in_moc_16,66,170,0 duplicate(jasntdups) 04_1 139 -in_moc_16,67,170,0 duplicate(jasntdups) 04_2 139 -in_moc_16,66,171,0 duplicate(jasntdups) 04_3 139 -in_moc_16,67,171,0 duplicate(jasntdups) 04_4 139 -in_moc_16,64,174,0 duplicate(jasntdups) 05_1 139 -in_moc_16,64,175,0 duplicate(jasntdups) 05_2 139 -in_moc_16,65,174,0 duplicate(jasntdups) 05_3 139 -in_moc_16,65,175,0 duplicate(jasntdups) 05_4 139 -in_moc_16,72,174,0 duplicate(jasntdups) 06_1 139 -in_moc_16,72,175,0 duplicate(jasntdups) 06_2 139 -in_moc_16,73,174,0 duplicate(jasntdups) 06_3 139 -in_moc_16,73,175,0 duplicate(jasntdups) 06_4 139 -in_moc_16,72,166,0 duplicate(jasntdups) 07_1 139 -in_moc_16,72,167,0 duplicate(jasntdups) 07_2 139 -in_moc_16,73,166,0 duplicate(jasntdups) 07_3 139 -in_moc_16,73,167,0 duplicate(jasntdups) 07_4 139 -in_moc_16,72,168,0 duplicate(jasntdups) 08_1 139 -in_moc_16,72,169,0 duplicate(jasntdups) 08_2 139 -in_moc_16,73,168,0 duplicate(jasntdups) 08_3 139 -in_moc_16,73,169,0 duplicate(jasntdups) 08_4 139 -in_moc_16,78,168,0 duplicate(jasntdups) 09_1 139 -in_moc_16,78,169,0 duplicate(jasntdups) 09_2 139 -in_moc_16,79,168,0 duplicate(jasntdups) 09_3 139 -in_moc_16,79,169,0 duplicate(jasntdups) 09_4 139 -in_moc_16,80,172,0 duplicate(jasntdups) 10_1 139 -in_moc_16,81,172,0 duplicate(jasntdups) 10_2 139 -in_moc_16,82,172,0 duplicate(jasntdups) 10_3 139 -in_moc_16,83,172,0 duplicate(jasntdups) 10_4 139 -in_moc_16,80,173,0 duplicate(jasntdups) 10_5 139 -in_moc_16,81,173,0 duplicate(jasntdups) 10_6 139 -in_moc_16,82,173,0 duplicate(jasntdups) 10_7 139 -in_moc_16,83,173,0 duplicate(jasntdups) 10_8 139 -in_moc_16,88,174,0 duplicate(jasntdups) 11_1 139 -in_moc_16,88,175,0 duplicate(jasntdups) 11_2 139 -in_moc_16,89,174,0 duplicate(jasntdups) 11_3 139 -in_moc_16,89,175,0 duplicate(jasntdups) 11_4 139 -in_moc_16,86,166,0 duplicate(jasntdups) 12_1 139 -in_moc_16,86,167,0 duplicate(jasntdups) 12_2 139 -in_moc_16,87,166,0 duplicate(jasntdups) 12_3 139 -in_moc_16,87,167,0 duplicate(jasntdups) 12_4 139 -in_moc_16,90,164,0 duplicate(jasntdups) 13_1 139 -in_moc_16,90,165,0 duplicate(jasntdups) 13_2 139 -in_moc_16,91,164,0 duplicate(jasntdups) 13_3 139 -in_moc_16,91,165,0 duplicate(jasntdups) 13_4 139 -in_moc_16,84,160,0 duplicate(jasntdups) 14_1 139 -in_moc_16,85,160,0 duplicate(jasntdups) 14_2 139 -in_moc_16,86,160,0 duplicate(jasntdups) 14_3 139 -in_moc_16,87,160,0 duplicate(jasntdups) 14_4 139 -in_moc_16,88,160,0 duplicate(jasntdups) 14_5 139 -in_moc_16,89,160,0 duplicate(jasntdups) 14_6 139 -in_moc_16,84,161,0 duplicate(jasntdups) 14_7 139 -in_moc_16,85,161,0 duplicate(jasntdups) 14_8 139 -in_moc_16,86,161,0 duplicate(jasntdups) 14_9 139 -in_moc_16,87,161,0 duplicate(jasntdups) 14_10 139 -in_moc_16,88,161,0 duplicate(jasntdups) 14_11 139 -in_moc_16,89,161,0 duplicate(jasntdups) 14_12 139 -in_moc_16,86,154,0 duplicate(jasntdups) 15_1 139 -in_moc_16,86,155,0 duplicate(jasntdups) 15_2 139 -in_moc_16,87,154,0 duplicate(jasntdups) 15_3 139 -in_moc_16,87,155,0 duplicate(jasntdups) 15_4 139 -in_moc_16,84,150,0 duplicate(jasntdups) 16_1 139 -in_moc_16,84,151,0 duplicate(jasntdups) 16_2 139 -in_moc_16,85,150,0 duplicate(jasntdups) 16_3 139 -in_moc_16,85,151,0 duplicate(jasntdups) 16_4 139 -in_moc_16,90,150,0 duplicate(jasntdups) 17_1 139 -in_moc_16,90,151,0 duplicate(jasntdups) 17_2 139 -in_moc_16,91,150,0 duplicate(jasntdups) 17_3 139 -in_moc_16,91,151,0 duplicate(jasntdups) 17_4 139 -in_moc_16,86,146,0 duplicate(jasntdups) 18_1 139 -in_moc_16,86,147,0 duplicate(jasntdups) 18_2 139 -in_moc_16,87,146,0 duplicate(jasntdups) 18_3 139 -in_moc_16,87,147,0 duplicate(jasntdups) 18_4 139 +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::OnReset"; - if (ASN_Q == 3) { - set ASN_Q,3; - } - else { - set ASN_Q,4; - } - savepoint "in_moc_16",16,13; + 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; - hideoffnpc "Keeper of the Door#ASN"; + enablenpc "Keeper of the Door#ASN"; end; OnDisable: - hideonnpc "Keeper of the Door#ASN"; - end; - -OnInit: - hideonnpc "Keeper of the Door#ASN"; + disablenpc "Keeper of the Door#ASN"; end; } -in_moc_16,3,3,0 script timestopper#1 139,{ - end; - +in_moc_16,3,3,0 script timestopper#1 -1,{ OnEnable: initnpctimer; end; OnTimer187000: - donpcevent "Standby Room#ASNTEST::OnReset"; - donpcevent "Thomas#ASNTEST::OnReset"; + 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 (ASN_Q == 4) { + 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; @@ -2417,7 +1508,7 @@ OnTouch: 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!")) { + switch(select("I'm gonna try it again!:I... I quit!")) { case 1: mes "[Thomas]"; mes "Hmm. Well, okay."; @@ -2431,120 +1522,100 @@ OnTouch: 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; - donpcevent "Standby Room#ASNTEST::OnReset"; - set ASN_Q,0; - set thief_joblvl,0; - set asn_skill,0; - erasequest 8000; - erasequest 8001; - erasequest 8002; - erasequest 8003; - erasequest 8004; + 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; } - } else { - 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 ASN_Q,4; - changequest 8003,8004; } - donpcevent "Thomas#ASNTEST::OnTestmode"; - end; - -OnTestmode: - monster "in_moc_16",81,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",82,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",83,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",84,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",85,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",86,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",88,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",89,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",90,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",77,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",78,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",79,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",80,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",81,55,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",91,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",92,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",93,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",94,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",95,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",96,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",97,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",76,62,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",79,62,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",79,65,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",76,65,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",96,62,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",96,65,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",99,62,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",99,65,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; - 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 ASN_Q,3; - warp "in_moc_16",87,102; - killmonster "in_moc_16","Thomas#ASNTEST::OnMyMobDead"; + 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; -OnReset: - killmonster "in_moc_16","Thomas#ASNTEST::OnMyMobDead"; +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::OnReset"; + donpcevent "Thomas#ASNTEST::OnDisable"; mes "[Barcardi]"; mes "Oh! Congratulations!"; mes "You may now proceed to our Guildmaster's room. Good luck!!"; close2; - set ASN_Q,5; + set ASSIN_Q,5; changequest 8004,8005; - donpcevent "Standby Room#ASNTEST::OnReset"; warp "in_moc_16",181,183; end; } in_moc_16,182,169,0 script Maze Assistant 45,1,1,{ - OnTouch: - if (ASN_Q == 5) { - warp "in_moc_16",181,183; - set ASN_Q,6; - } - if (ASN_Q == 6) { + if (ASSIN_Q == 5 || ASSIN_Q == 6) { warp "in_moc_16",181,183; - set ASN_Q,7; + set ASSIN_Q,ASSIN_Q+1; + changequest 8005,8006; } else { - mapannounce "in_moc_16","" + strcharinfo(0) + " has entered 'Guildmaster's room.'",bc_map; + 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; } - end; } -in_moc_16,167,110,0 script Guildmaster#ASN1 139,3,1,{ - +in_moc_16,167,110,0 script Guildmaster#ASN1 -1,3,1,{ OnTouch: savepoint "in_moc_16",167,110; mes "[Guildmaster]"; @@ -2558,28 +1629,18 @@ OnTouch: mes "I look forward"; mes "to meeting you"; mes "at the end of maze."; - changequest 8005,8006; close; -OnCast: +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: - 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 loose some weight. -"; - close; - } - savepoint "moc_ruins",79,99; - if ((ASN_Q == 7) && (Class == Job_Thief)) { - set ASN_Q,8; + savepoint "morocc",100,100; + if (ASSIN_Q == 7 && BaseJob == Job_Thief) { + set ASSIN_Q,8; mes "[Guildmaster]"; mes "Welcome."; mes "I apologize for"; @@ -2595,7 +1656,7 @@ OnTouch: 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.")) { + switch(select("More power.:An Assassin's pride.:Endless practice.")) { case 1: mes "[Guildmaster]"; mes "More power..."; @@ -2611,9 +1672,9 @@ OnTouch: mes "to be stronger"; mes "than you are now?"; next; - switch (select("Revenge...!:Money~:I want to travel.")) { + switch(select("Revenge...!:Money~:I want to travel.")) { case 1: - set ASN_Q,8; + set ASSIN_Q,8; mes "[Guildmaster]"; mes "Revenge...?"; mes "Yes, I understand. All of us hold grudges against someone else eventually."; @@ -2625,8 +1686,9 @@ OnTouch: mes "Being an Assassin means"; mes "to abandon the ego."; next; + break; case 2: - set ASN_Q,9; + 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; @@ -2635,8 +1697,9 @@ OnTouch: mes "to abandon such worldly"; mes "attachments..."; next; + break; case 3: - set ASN_Q,10; + set ASSIN_Q,10; mes "[Guildmaster]"; mes "Good idea. Traveling around the world will allow you to broaden your experiences."; next; @@ -2646,7 +1709,9 @@ OnTouch: 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..."; @@ -2661,9 +1726,9 @@ OnTouch: 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.")) { + switch(select("I like the solitude.:Making money being an Assassin.:They just look interesting.")) { case 1: - set ASN_Q,11; + set ASSIN_Q,11; mes "[Guildmaster]"; mes "You got the point..."; mes "We are lonely. We will always be alone, even amongst each other..."; @@ -2676,13 +1741,15 @@ OnTouch: 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 ASN_Q,12; + 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 ASN_Q,13; + set ASSIN_Q,13; mes "[Guildmaster]"; mes "Style and appearance is only superficial. It is sad that many people think this way..."; next; @@ -2693,7 +1760,9 @@ OnTouch: 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..."; @@ -2703,17 +1772,18 @@ OnTouch: 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.")) { + switch(select("To broaden my skills.:It's a goal of mine.:For spiritual improvement.")) { case 1: - set ASN_Q,14; + 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 ASN_Q,15; + set ASSIN_Q,15; mes "[Guildmaster]"; mes "It's a goal of yours, eh? Well, I guess you've got to have goals..."; next; @@ -2725,8 +1795,9 @@ OnTouch: 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 ASN_Q,16; + 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."; @@ -2734,9 +1805,10 @@ OnTouch: mes "[Guildmaster]"; mes "I hope you're not a hypocrite. Spiritual discipline is the best way for you to survive."; next; + break; } + break; } - set @assassin_sangdam,0; mes "[Guildmaster]"; mes "Sadly, there are some nit-wits who are eager to be Assassins even though they don't know anything..."; next; @@ -2749,29 +1821,30 @@ OnTouch: 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.")) { + 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.")) { + 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; + 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; + 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: - set @assassin_sangdam,@assassin_sangdam + 0; 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."; @@ -2780,21 +1853,24 @@ OnTouch: 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.")) { + switch(select("My friends.:My Guildsmen.:My lover.")) { case 1: - set @assassin_sangdam,@assassin_sangdam + 5; + 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; + set .@assassin_sangdam,.@assassin_sangdam+5; mes "[Guildmaster]"; mes "Great..."; mes "Comrades for whom you would die for..."; @@ -2802,30 +1878,30 @@ OnTouch: mes "[Guildmaster]"; mes "As an Assassin, find a job that you can do for them without them knowing.."; next; + break; case 3: - set @assassin_sangdam,@assassin_sangdam + 0; 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 == 1) { + if (sex ) mes "But you must never reveal to her the Assassin side of your life. No matter what it takes."; - } - else { + 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.")) { + switch(select("Places where Assassins can level up...:Main goals as an Assassin.:Financial consulting.")) { case 1: - set @assassin_sangdam,@assassin_sangdam + 5; + 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; @@ -2833,16 +1909,17 @@ OnTouch: mes "You must know how to"; mes "survive in any situation."; next; + break; case 2: - set @assassin_sangdam,@assassin_sangdam + 0; 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; + 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?"; @@ -2850,7 +1927,9 @@ OnTouch: 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."; @@ -2867,13 +1946,13 @@ OnTouch: mes "They will"; mes "be here soon."; next; - donpcevent "[Huey]::OnEnable"; - donpcevent "[Khai]::OnEnable"; - donpcevent "[The Anonymous One]::OnEnable"; - donpcevent "[Barcardi]::OnEnable"; - donpcevent "[Beholder]::OnEnable"; - donpcevent "[Thomas]::OnEnable"; - donpcevent "[Gayle Maroubitz]::OnEnable"; + 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; @@ -2883,7 +1962,7 @@ OnTouch: mes "[The Anonymous One]"; mes "Ah yeah..."; mes "I think"; - mes "" + strcharinfo(0) + ""; + mes ""+ strcharinfo(0) +""; mes "is decent."; next; mes "[Guildmaster]"; @@ -2892,7 +1971,7 @@ OnTouch: mes "supports you. How"; mes "about you, Huey?"; next; - if (thief_joblvl == 1) { + if (ASSIN_Q3 == 1) { mes "[Huey]"; mes "A rarity."; mes "You can tell"; @@ -2901,9 +1980,10 @@ OnTouch: mes "[Huey]"; mes "I agree with"; mes "the Anonymous One."; - } else { + } + else { mes "[Huey]"; - mes "Although " + strcharinfo(0) + " looks too mellow and gentle, kind of like a pussycat, " + strcharinfo(0) + " has the stuff."; + 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."; @@ -2924,72 +2004,74 @@ OnTouch: 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..."; + mes "It seems we are all in agreement. Good. I don't have any problem with "+ strcharinfo(0) +" as well..."; next; - if (ASN_Q == 8) { + 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; - } - if (ASN_Q == 9) { + 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; - } - if (ASN_Q == 10) { + break; + case 10: mes "[Guildmaster]"; mes "Eager to travel all around the world, I hope your real identity is found in your journeys..."; next; - } - if (ASN_Q == 11) { + 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; - } - if (ASN_Q == 12) { + 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; - } - if (ASN_Q == 13) { + 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; - } - if (ASN_Q == 14) { + 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; - } - if (ASN_Q == 15) { + break; + case 15: mes "[Guildmaster]"; mes "Sooner or later, you will find a new goal to which you can devote yourself..."; next; - } - if (ASN_Q == 16) { + 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 ((thief_joblvl == 1) && (Class == Job_Baby_Thief || Class == Job_Thief) && (ASN_Q > 6) && (ASN_Q < 17)) { - set thief_joblvl,2; + 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")) { + 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_ - next; + break; case 2: mes "[Guildmaster]"; mes "A Katar..."; @@ -2998,67 +2080,43 @@ OnTouch: mes "I know it will"; mes "serve you well."; getitem 1253,1; //Katar_ - next; + break; case 3: mes "[Guildmaster]"; mes "I see. You want to use both hands. Here, take your Main Gauche."; getitem 1208,1; //Main_Gauche_ - next; + 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 { + next; + } + else { + set ASSIN_Q,17; mes "[Guildmaster]"; mes "Well, I talked too much."; mes "Please take this first."; next; - set .@asn_item,rand(1,5); - if (.@asn_item == 1) { + switch(rand(1,5)) { + case 1: getitem 1207,1; //Main_Gauche - } - if (.@asn_item == 2) { + break; + case 2: getitem 1250,1; //Jur - } - if (.@asn_item == 3) { + break; + case 3: getitem 1216,1; //Stiletto - } - if (.@asn_item == 4) { + break; + case 4: getitem 1201,1; //Knife - } - else { + break; + case 5: getitem 1252,1; //Katar } } - set ASN_Q,17; - 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 "moc_ruins",79,99; - getitem 1008,1; //Frozen_Heart - 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..."; - donpcevent "[Huey]::OnDisable"; - donpcevent "[Khai]::OnDisable"; - donpcevent "[The Anonymous One]::OnDisable"; - donpcevent "[Barcardi]::OnDisable"; - donpcevent "[Beholder]::OnDisable"; - donpcevent "[Thomas]::OnDisable"; - donpcevent "[Gayle Maroubitz]::OnDisable"; - close2; - warp "in_moc_16",17,19; - end; - } - if ((ASN_Q == 17) && (countitem(1008) == 0)) { mes "[Guildmaster]"; mes "Well, I am giving you a token. Please return to the Assassin expert, the Ferocious-Looking Huey, at the entrance."; next; @@ -3067,24 +2125,24 @@ OnTouch: 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 "moc_ruins",79,99; + 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..."; - donpcevent "[Huey]::OnDisable"; - donpcevent "[Khai]::OnDisable"; - donpcevent "[The Anonymous One]::OnDisable"; - donpcevent "[Barcardi]::OnDisable"; - donpcevent "[Beholder]::OnDisable"; - donpcevent "[Thomas]::OnDisable"; - donpcevent "[Gayle Maroubitz]::OnDisable"; - changequest 8006,8007; + 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; } - if (ASN_Q == 17) { + else if (ASSIN_Q == 17) { mes "[Guildmaster]"; mes "Umm...?"; mes "How come you're in here...?"; @@ -3095,8 +2153,8 @@ OnTouch: warp "in_moc_16",17,19; end; } - if ((ASN_Q > 7) && (ASN_Q < 17)) { - set ASN_Q,7; + 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; @@ -3105,14 +2163,16 @@ OnTouch: mes "Ok, let's start again. If you don't listen this time, you won't leave this room alive. You got me?"; close; } - 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; + 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,{ @@ -3121,8 +2181,7 @@ in_moc_16,186,81,1 script Master Assist 55,1,1,{ close; } -in_moc_16,170,90,0 script info 1 139,{ - +in_moc_16,170,90,0 script info 1 -1,{ OnTouch: mes "[Guildmaster]"; mes "Huh."; @@ -3130,16 +2189,14 @@ OnTouch: close; } -in_moc_16,153,85,0 script info 2 139,1,1,{ - +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 139,1,1,{ - +in_moc_16,160,85,0 script info 3 -1,1,1,{ OnTouch: mes "[Guildmaster]"; mes "Hmm."; @@ -3148,8 +2205,7 @@ OnTouch: close; } -in_moc_16,175,89,0 script info 4 139,1,1,{ - +in_moc_16,175,89,0 script info 4 -1,1,1,{ OnTouch: mes "[Guildmaster]"; mes "Umm..."; @@ -3157,8 +2213,7 @@ OnTouch: close; } -in_moc_16,164,88,0 script info 5 139,{ - +in_moc_16,164,88,0 script info 5 -1,{ OnTouch: mes "[Guildmaster]"; mes "Well done..."; @@ -3166,138 +2221,79 @@ OnTouch: close; } -in_moc_16,149,95,0 script info 6 139,1,1,{ - +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 139,1,1,{ - +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 139,1,1,{ - +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,1,1,{ +in_moc_16,156,87,1 script [Huey] 55,{ end; OnInit: - hideonnpc "[Huey]"; - end; - -OnDisable: - hideonnpc "[Huey]"; - end; - -OnEnable: - hideoffnpc "[Huey]"; + disablenpc "[Huey]"; end; } -in_moc_16,156,85,1 script [Khai] 730,1,1,{ +in_moc_16,156,85,1 script [Khai] 730,{ end; OnInit: - hideonnpc "[Khai]"; - end; - -OnDisable: - hideonnpc "[Khai]"; - end; - -OnEnable: - hideoffnpc "[Khai]"; + disablenpc "[Khai]"; end; } -in_moc_16,156,83,1 script [The Anonymous One] 106,1,1,{ +in_moc_16,156,83,1 script [The Anonymous One] 106,{ end; OnInit: - hideonnpc "[The Anonymous One]"; - end; - -OnDisable: - hideonnpc "[The Anonymous One]"; - end; - -OnEnable: - hideoffnpc "[The Anonymous One]"; + disablenpc "[The Anonymous One]"; end; } -in_moc_16,156,81,2 script [Barcardi] 725,1,1,{ +in_moc_16,156,81,2 script [Barcardi] 725,{ end; OnInit: - hideonnpc "[Barcardi]"; - end; - -OnDisable: - hideonnpc "[Barcardi]"; - end; - -OnEnable: - hideoffnpc "[Barcardi]"; + disablenpc "[Barcardi]"; end; } -in_moc_16,156,79,1 script [Beholder] 118,1,1,{ +in_moc_16,156,79,1 script [Beholder] 118,{ end; OnInit: - hideonnpc "[Beholder]"; - end; - -OnDisable: - hideonnpc "[Beholder]"; - end; - -OnEnable: - hideoffnpc "[Beholder]"; + disablenpc "[Beholder]"; end; } -in_moc_16,156,77,1 script [Thomas] 118,1,1,{ +in_moc_16,156,77,1 script [Thomas] 118,{ end; OnInit: - hideonnpc "[Thomas]"; - end; - -OnDisable: - hideonnpc "[Thomas]"; - end; - -OnEnable: - hideoffnpc "[Thomas]"; + disablenpc "[Thomas]"; end; } -in_moc_16,156,75,1 script [Gayle Maroubitz] 55,1,1,{ +in_moc_16,156,75,1 script [Gayle Maroubitz] 55,{ end; OnInit: - hideonnpc "[Gayle Maroubitz]"; - end; - -OnDisable: - hideonnpc "[Gayle Maroubitz]"; - end; - -OnEnable: - hideoffnpc "[Gayle Maroubitz]"; + disablenpc "[Gayle Maroubitz]"; end; } diff --git a/npc/re/jobs/2-1/blacksmith.txt b/npc/re/jobs/2-1/blacksmith.txt index db9832ab0..413fe69fd 100644 --- a/npc/re/jobs/2-1/blacksmith.txt +++ b/npc/re/jobs/2-1/blacksmith.txt @@ -1,18 +1,46 @@ -//===== rAthena Script ======================================= -// Blacksmith Job change Quest -//===== By: ================================================== -//= Masao -//= Credits: Muad_Dib -//===== Current Version: ===================================== -//= 1.0 -//===== Compatible With: ===================================== -//= Any rAthena SVN -//===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Merchant -> Blacksmith. -//===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] -//============================================================ +//===== 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) { @@ -45,57 +73,67 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ mes "our craft. Our skills of melting metal into new weapons"; mes "and tools is truly a form of art!"; next; - if (Class == Job_Baby || Class == Job_Novice) { - 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."; + 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; } - if (Class == Job_Swordman || Class == Job_Knight || Class == Job_Crusader) { + 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; } - if (Class == Job_Archer || Class == Job_Hunter || Class == Job_Dancer || Class == Job_Bard) { + 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; } - if (Class == Job_Mage || Class == Job_Wizard || Class == Job_Sage) { + 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; } - if (Class == Job_Acolyte || Class == Job_Priest || Class == Job_Monk) { + 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; } - if (Class == Job_Thief || Class == Job_Assassin || Class == Job_Rogue) { + 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; } - if (Class == Job_Alchemist) { + 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; } - if (Class == Job_Baby_Blacksmith || Class == Job_Blacksmith) { + 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; } - if (Class == Job_Baby_Merchant || Class == Job_Merchant) { - if (SkillPoint != 0) { + 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 (BLCKSMTH_Q == 0) { + if (BSMITH_Q == 0) { mes "[Altiregen]"; mes "Why don't you stop struggling"; mes "to make zeny as a Merchant and"; @@ -103,14 +141,14 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ 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.")) { + switch(select("Fill out Application.:What are the requirements?:Um, I need to think about it.")) { case 1: - if (SkillPoint != 0) { + 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 ((JobLevel > 39) && (BLCKSMTH_Q == 0)) { + else if (JobLevel > 39 && BSMITH_Q == 0) { mes "[Altiregen]"; mes "Hmmm..."; mes "Looks like you"; @@ -126,14 +164,14 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ 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 BLCKSMTH_Q,1; + set BSMITH_Q,1; setquest 2000; mes "[Altiregen]"; mes "Be careful"; mes "and good luck!"; close; } - if (JobLevel < 40) { + 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; @@ -157,18 +195,18 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ close; } } - if ((BLCKSMTH_Q > 0) && (BLCKSMTH_Q < 8)) { + 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; } - if ((BLCKSMTH_Q > 8) && (BLCKSMTH_Q < 15)) { + 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; } - if (BLCKSMTH_Q == 15) { + else if (BSMITH_Q == 15) { mes "[Altiregen]"; mes "Great job!!"; mes "You have passed"; @@ -180,9 +218,8 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ 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; - switch (select("I want to change my job quickly! But...oh well.:Grrr! Enough is enough!")) { - case 1: - set BLCKSMTH_Q,16; + 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"; @@ -193,93 +230,69 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ 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; - case 2: - 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; } + 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; } - if (BLCKSMTH_Q == 16) { + 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; } - if ((BLCKSMTH_Q == 17) && (countitem(1005) > 0) && (JobLevel > 39)) { - if (JobLevel > 48) { - 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."; - next; - if(Class == Job_Baby_Merchant){ - jobchange Job_Baby_Blacksmith; - } else { - jobchange Job_Blacksmith; - } - 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 - mes "[Altiregen]"; - mes "Here is a little"; - mes "gift to mark the"; - mes "beginning of your"; - mes "life as a Blacksmith."; - mes "Congratulations!!!"; - getitem 999,30; //Steel + 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; - completequest 2016; - close; } - 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 smithing, the art"; - mes "of the Blacksmith."; next; - if(Class == Job_Baby_Merchant){ - jobchange Job_Baby_Blacksmith; - } else { - jobchange Job_Blacksmith; - } + 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!!!"; - getitem 999,5; //Steel - changequest 2015,2016; - completequest 2016; + if (.@joblvl > 48) + getitem 999,30; //Steel + else + getitem 999,5; //Steel close; } } } -ein_in01,201,27,3 script Guildsman#einbech 63,{ +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 (Class == Job_Baby_Merchant || Class == Job_Merchant) { + 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 (BLCKSMTH_Q == 0) { + if (BSMITH_Q == 0) { mes "[Geschupenschte]"; mes "But, of course,"; mes "I wouldn't bother you"; @@ -293,361 +306,190 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "to be busy~"; close; } - if (BLCKSMTH_Q == 1) { - mes "[Geschupenschte]"; - mes "Oh ho ho!"; - mes "You're a Merchant!"; - mes "Excellent! I was"; - mes "in need of some help!"; - next; - 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; - switch (select("Yes.:Um, can I have some time to prepare?")) { - case 1: - set @black_q, 0; - set .@rand_b,rand(1,3); - if (.@rand_b == 1) { + 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; - switch (select("Morroc - Thief Clothes:Alberta - Two Hand Axe:Comodo - Berserk Potion:Alberta - Swordmace")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @black_q,@black_q + 10; - break; - } + 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; - switch (select("Stun:Blind:Silence:Sleep")) { - case 1: - set @black_q,@black_q + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Vending:Discount:Overcharge:Increase AGI")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @black_q,@black_q + 10; - break; - } + 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; - switch (select("Alberta:Morroc:Geffen:Prontera")) { - case 1: - break; - case 2: - break; - case 3: - set @black_q,@black_q + 10; - break; - case 4: - break; - } + 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; - switch (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")) { - case 1: - set @black_q,@black_q + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Stiletto:Ring Pommel Saber:Chain:Bible")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @black_q,@black_q + 10; - break; - } + 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; - switch (select("Panties:Mink Coat:Wooden Mail:Silk Robe")) { - case 1: - break; - case 2: - set @black_q,@black_q + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("up to + 3:up to + 4:up to + 5:up to + 6")) { - case 1: - break; - case 2: - break; - case 3: - set @black_q,@black_q + 10; - break; - case 4: - break; - } + 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; - switch (select("Sakkat:Ghost Bandana:Majestic Goat:Antler")) { - case 1: - set @black_q,@black_q + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Credit:Integrity:Money:Rhetoric")) { - case 1: - set @black_q,@black_q + 10; - break; - case 2: - set @black_q,@black_q + 10; - break; - case 3: - set @black_q,@black_q + 10; - break; - case 4: - set @black_q,@black_q + 10; - break; - } + 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; - switch (select("Al De Baran - Yggdrasil Leaf:Alberta - Hammer:Comodo - Berserk Potion:Al De Baran - Hammer")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @black_q,@black_q + 10; - break; - } + 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; - switch (select("1 Zeny:2 Zeny:3 Zeny:4 Zeny")) { - case 1: - break; - case 2: - break; - case 3: - set @black_q,@black_q + 10; - break; - case 4: - break; - } + 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; - switch (select("Must have a Cart.:Must have items to sell.:Must be wielding a weapon.:Must be wearing armor.")) { - case 1: - set @black_q,@black_q + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Alberta:Morroc:Geffen:Prontera")) { - case 1: - set @black_q,@black_q + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (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")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @black_q,@black_q + 10; - break; - } + 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; - switch (select("Main Gauche:Claymore:Chain:Two handed Axe")) { - case 1: - break; - case 2: - set @black_q,@black_q + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Panties:Mink Coat:Wooden Mail:Silk Robe")) { - case 1: - break; - case 2: - set @black_q,@black_q + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("up to + 3:up to + 4:up to + 5:up to + 6")) { - case 1: - break; - case 2: - set @black_q,@black_q + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Chon Chon:Steel Chon Chon:Zerom:Anolian")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @black_q,@black_q + 10; - break; - } + 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; - switch (select("Rhetoric:Credit:Money:Experience")) { - case 1: - set @black_q,@black_q + 10; - break; - case 2: - set @black_q,@black_q + 10; - break; - case 3: - set @black_q,@black_q + 10; - break; - case 4: - set @black_q,@black_q + 10; - break; - } + 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 BLCKSMTH_Q, 3; - changequest 2000,2002; + 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"; @@ -659,25 +501,33 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "When you get back, I'll be ready!"; close; } - set BLCKSMTH_Q, 2; - changequest 2000,2001; + 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; - case 2: - 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~"; - close2; } + 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; } - if (BLCKSMTH_Q == 2) { + /* + else if (BSMITH_Q == 2) { mes "[Geschupenschte]"; mes "So, have you"; mes "studied a little"; @@ -693,358 +543,10 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "Alright, let's start"; mes "with the questions~"; next; - set @black_q,0; - set .@rand_b,rand(1,3); - if (.@rand_b == 1) { - mes "[Geschupenschte]"; - mes "1. Which one of the following regions is matched incorrectly"; - mes "with its specialty item?"; - next; - switch (select("Morroc - Thief Clothes:Alberta - Two Hand Axe:Comodo - Beserk Potion:Alberta - Swordmace")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @black_q,@black_q + 10; - break; - } - mes "[Geschupenschte]"; - mes "2. What status can"; - mes "be inflicted with the"; - mes "^8E6B23Hammer Fall^000000 skill?"; - next; - switch (select("Stun:Blind:Silence:Sleep")) { - case 1: - set @black_q,@black_q + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Geschupenschte]"; - mes "3. Which one of the following skills cannot be performed"; - mes "by a Merchant?"; - next; - switch (select("Vending:Discount:Overcharge:Increase AGI")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @black_q,@black_q + 10; - break; - } - mes "[Geschupenschte]"; - mes "4. Where can you find a store"; - mes "that sells Blue Gemstones?"; - next; - switch (select("Alberta:Morroc:Geffen:Prontera")) { - case 1: - break; - case 2: - break; - case 3: - set @black_q,@black_q + 10; - break; - case 4: - break; - } - mes "[Geschupenschte]"; - mes "5. Where is the"; - mes "Tool Dealer"; - mes "located in Geffen?"; - next; - switch (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")) { - case 1: - set @black_q,@black_q + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Geschupenschte]"; - mes "6. Which weapon"; - mes "cannot be used"; - mes "by a Merchant?"; - next; - switch (select("Stiletto:Ring Pommel Saber:Chain:Bible")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @black_q,@black_q + 10; - break; - } - mes "[Geschupenschte]"; - mes "7. Which one of the following"; - mes "has the highest defense rate?"; - next; - switch (select("Panties:Mink Coat:Wooden Mail:Silk Robe")) { - case 1: - break; - case 2: - set @black_q,@black_q + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Geschupenschte]"; - mes "8. For Level 3 weapons,"; - mes "what is the ^8E6B23Safe^000000 limit"; - mes "for upgrading?"; - next; - switch (select("up to + 3:up to + 4:up to + 5:up to + 6")) { - case 1: - break; - case 2: - break; - case 3: - set @black_q,@black_q + 10; - break; - case 4: - break; - } - mes "[Geschupenschte]"; - mes "9. What item"; - mes "can be made using"; - mes "the ^8E6B23Trunks^000000 item?"; - next; - switch (select("Sakkat:Ghost Bandana:Majestic Goat:Antler")) { - case 1: - set @black_q,@black_q + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Geschupenschte]"; - mes "10. The most important"; - mes "part of being a Merchant is...?"; - next; - switch (select("Credit:Integrity:Money:Rhetoric")) { - case 1: - set @black_q,@black_q + 10; - break; - case 2: - set @black_q,@black_q + 10; - break; - case 3: - set @black_q,@black_q + 10; - break; - case 4: - set @black_q,@black_q + 10; - break; - } - } - else { - mes "[Geschupenschte]"; - mes "1. Among the following cities, which one is not correctly matched with its specialty?"; - next; - switch (select("Al De Beran - Yggdrasil Leaf:Alberta - Hammer:Comodo - Beserk Potion:Al De Baran - Hammer")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @black_q,@black_q + 10; - break; - } - mes "[Geschupenschte]"; - mes "2. How much Zeny"; - mes "is one Jellopy worth?"; - next; - switch (select("1 Zeny:2 Zeny:3 Zeny:4 Zeny")) { - case 1: - break; - case 2: - break; - case 3: - set @black_q,@black_q + 10; - break; - case 4: - break; - } - mes "[Geschupenschte]"; - mes "3. What is required"; - mes "for a Merchant to use"; - mes "the ^8E6B23Vending^000000 Skill?"; - next; - switch (select("Must have a Cart.:Must have items to sell.:Must be wielding a weapon.:Must be wearing armor.")) { - case 1: - set @black_q,@black_q + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Geschupenschte]"; - mes "4. Where can you"; - mes "change your Job to"; - mes "become a Merchant?"; - next; - switch (select("Alberta:Morroc:Geffen:Prontera")) { - case 1: - set @black_q,@black_q + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Geschupenschte]"; - mes "5. Where is the"; - mes "Weapons Dealer"; - mes "located in Morroc?"; - next; - switch (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")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @black_q,@black_q + 10; - break; - } - mes "[Geschupenschte]"; - mes "6. What weapon"; - mes "can a Merchant"; - mes "not use?"; - next; - switch (select("Main Gauche:Claymore:Chain:Two handed Axe")) { - case 1: - break; - case 2: - set @black_q,@black_q + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Geschupenschte]"; - mes "7. Which one of the following"; - mes "has the highest defense rate?"; - next; - switch (select("Panties:Mink Coat:Wooden Mail:Silk Robe")) { - case 1: - break; - case 2: - set @black_q,@black_q + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Geschupenschte]"; - mes "8. For Level 3 weapons,"; - mes "what is the ^8E6B23Safe^000000 limit"; - mes "for upgrading?"; - next; - switch (select("up to + 3:up to + 4:up to + 5:up to + 6")) { - case 1: - break; - case 2: - set @black_q,@black_q + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Geschupenschte]"; - mes "9. What monster does"; - mes "NOT drop Iron Ore?"; - next; - switch (select("Chon Chon:Steel Chon Chon:Zerom:Anolian")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @black_q,@black_q + 10; - break; - } - mes "[Geschupenschte]"; - mes "10. What is most"; - mes "important to a Merchant?"; - next; - switch (select("Rhetoric:Credit:Money:Experience")) { - case 1: - set @black_q,@black_q + 10; - break; - case 2: - set @black_q,@black_q + 10; - break; - case 3: - set @black_q,@black_q + 10; - break; - case 4: - set @black_q,@black_q + 10; - break; - } - } - mes "[Geschupenschte]"; - mes "Hmm, good. You did a great job!"; - next; - mes "[Geschupenschte]"; - mes "Let's see...your score is..." + @black_q + " points."; - if (@black_q > 80) { - set BLCKSMTH_Q,3; - changequest 2001,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 BLCKSMTH_Q,2; - completequest 2000; - setquest 2001; - mes "............."; - next; - mes "[Geschupenschte]"; - 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; + goto L_AskQuestions; } - if (BLCKSMTH_Q == 3) { + */ + else if (BSMITH_Q == 3) { mes "[Geschupenschte]"; mes "Hmm..."; mes "Now, where were"; @@ -1064,178 +566,98 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "Well, to make"; mes "this you will need..."; next; - set .@black_item,rand(1,6); - if (.@black_item == 1) { - set BLCKSMTH_Q,4; - changequest 2002,2003; - mes "[Geschupenschte]"; - mes "^8E6B232 Steel^000000,"; - mes "^8E6B231 Rotten Bandage^000000,"; - mes "^8E6B232 Blue Gemstone^000000, and"; - mes "^8E6B231 Arc Wand^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 "^8E6B232 Steel^000000,"; - mes "^8E6B231 Rotten Bandage^000000,"; - mes "^8E6B232 Blue Gemstone^000000, and"; - mes "^8E6B231 Arc Wand^000000, the kind"; - mes "you can buy from"; - mes "an NPC shop."; - next; - } - if (.@black_item == 2) { - set BLCKSMTH_Q,5; - changequest 2002,2004; - mes "[Geschupenschte]"; - mes "^8E6B232 Star Dust^000000,"; - mes "^8E6B231 Skel-bone^000000,"; - mes "^8E6B231 Zargon^000000 and"; - mes "^8E6B231 Gladius^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 "^8E6B232 Star Dust^000000,"; - mes "^8E6B231 Skel-bone^000000,"; - mes "^8E6B231 Zargon^000000 and"; - mes "^8E6B231 Gladius^000000, the kind"; - mes "you can buy from"; - mes "an NPC shop."; - 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; } - if (.@black_item == 3) { - set BLCKSMTH_Q,6; - changequest 2002,2005; - mes "[Geschupenschte]"; - mes "^8E6B232 Coal^000000,"; - mes "^8E6B232 Shell^000000,"; - mes "^8E6B232 Red Blood^000000 and"; - mes "^8E6B231 Tsurugi^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 "^8E6B232 Coal^000000,"; - mes "^8E6B232 Shell^000000,"; - mes "^8E6B232 Red Blood^000000 and"; - mes "^8E6B231 Tsurugi^000000, the kind"; - mes "you can buy from"; - mes "an NPC shop."; - next; + 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; } - if (.@black_item == 4) { - set BLCKSMTH_Q,7; - changequest 2002,2006; + 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 "^8E6B238 Iron Ore^000000,"; - mes "^8E6B231 Eye Patch^000000,"; - mes "^8E6B232 Blue Gemstone^000000 and"; - mes "^8E6B231 Arbalest^000000, the kind"; - mes "you can buy from"; - mes "an NPC shop."; + mes "Wait..."; + mes "Didn't I tell you"; + mes "to get 3 Steel?"; 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..."; + 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 "^8E6B238 Iron Ore^000000,"; - mes "^8E6B231 Eye Patch^000000,"; - mes "^8E6B232 Blue Gemstone^000000 and"; - mes "^8E6B231 Arbalest^000000, the kind"; - mes "you can buy from"; - mes "an NPC shop."; + 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; - } - else { - set BLCKSMTH_Q,8; - changequest 2002,2007; + 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 "^8E6B238 Iron^000000"; - mes "^8E6B2320 Green Herb^000000"; - mes "^8E6B232 Animal Skin^000000"; - mes "and ^8E6B231 Ring Pommel Saber^000000, the kind you can buy from an NPC shop."; + mes "Okay."; + mes "Great~!!"; 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..."; + mes "^3355FF*Clang...!*^000000"; next; mes "[Geschupenschte]"; - mes "^8E6B238 Iron^000000"; - mes "^8E6B2320 Green Herb^000000"; - mes "^8E6B232 Animal Skin^000000"; - mes "and ^8E6B231 Ring Pommel Saber^000000, the kind you can buy from an NPC shop."; + mes "^3355FF*Crash Crash!*^000000"; next; - } - mes "[Geschupenschte]"; - mes "Okay~"; - mes "Good luck"; - mes "on your first job!"; - close; - } - if ((BLCKSMTH_Q > 3) && (BLCKSMTH_Q < 9)) { - if (BLCKSMTH_Q == 4) { + 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 "Ah, you're back!"; - mes "Did you bring"; - mes "everything that"; - mes "I requested?"; - next; - if ((countitem(999) > 1) && (countitem(930) > 0) && (countitem(717) > 1) && (countitem(1610) > 0)) { - 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 Arc Wand^000000, you should really only have an Arc Wand that you bought from an NPC shop in your inventory."; - next; - switch (select("Oh, could you give me a second?:Oh, I brought what you asked for.")) { - case 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; - case 2: - mes "[Geschupenschte]"; - mes "Okay."; - mes "Great~!!"; - next; - } - mes "[Geschupenschte]"; - mes "^3355FF*Clang...!*^000000"; - next; - mes "[Geschupenschte]"; - mes "^3355FF*Crash Crash!*^000000"; - next; - delitem 999,2; //Steel - delitem 930,1; //Rotten_Bandage - delitem 717,2; //Blue_Gemstone - delitem 1610,1; //Arc_Wand - set BLCKSMTH_Q,9; - changequest 2003,2008; - mes "[Geschupenschte]"; - mes "Wooooo~~~"; - mes "All done..."; - mes "Okay, now take this to ^8E6B23Baisulist^000000 in Geffen of the Rune-Midgarts Kingdom. Simply deliver it and bring me the receipt."; + 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...?"; @@ -1253,87 +675,14 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ next; mes "[Geschupenschte]"; mes "Anyway, take this"; - mes "to ^8E6B23Baisulist^000000 in Geffen of the Rune-Midgarts Kingdom,"; - mes "and don't forget"; - mes "the receipt!"; - close; - } - 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 "^8E6B232 Steel^000000,"; - mes "^8E6B231 Rotten Bandage^000000,"; - mes "^8E6B232 Blue Gemstone^000000, and"; - mes "^8E6B231 Arc Wand^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; - } - if (BLCKSMTH_Q == 5) { - mes "[Geschupenschte]"; - mes "Ah, you're back!"; - mes "Did you bring"; - mes "everything that"; - mes "I requested?"; - next; - if ((countitem(1001) > 1) && (countitem(932) > 0) && (countitem(912) > 0) && (countitem(1219) > 0)) { - mes "[Geschupenschte]"; - mes "Wait..."; - mes "Didn't I tell you"; - mes "to get 3 Star Dust?"; - 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 Gladius^000000, you should really only have an Gladius that you bought from an NPC shop in your inventory."; - next; - switch (select("Um, would you give me a second?:Oh, I brought what you asked for.")) { - case 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; - case 2: - mes "[Geschupenschte]"; - mes "Okay."; - mes "Great~!!"; - next; - } - mes "[Geschupenschte]"; - mes "^3355FF*Clang...!*^000000"; - next; - mes "[Geschupenschte]"; - mes "^3355FF*Crash Crash!*^000000"; - next; - delitem 1001,2; //Sparkling_Dust - delitem 932,1; //Skel_Bone - delitem 912,1; //Zargon - delitem 1219,1; //Gladius - set BLCKSMTH_Q,10; - changequest 2004,2009; - mes "[Geschupenschte]"; - mes "Wooooo~~~"; - mes "All done..."; - mes "Okay, now take this to ^8E6B23Wickebine^000000 in Morroc of the Rune-Midgarts Kingdom. Simply deliver it and bring me the receipt."; + 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...?"; @@ -1351,87 +700,14 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ next; mes "[Geschupenschte]"; mes "Anyway, take this"; - mes "to ^8E6B23Wickebine^000000 in Morroc of the Rune-Midgarts Kingdom,"; - mes "and don't forget"; - mes "the receipt!"; - close; - } - 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 "^8E6B232 Star Dust^000000,"; - mes "^8E6B231 Skel-bone^000000,"; - mes "^8E6B231 Zargon^000000 and"; - mes "^8E6B231 Gladius^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; - } - if (BLCKSMTH_Q == 6) { - mes "[Geschupenschte]"; - mes "Ah, you're back!"; - mes "Did you bring"; - mes "everything that"; - mes "I requested?"; - next; - if ((countitem(1003) > 1) && (countitem(935) > 1) && (countitem(990) > 1) && (countitem(1119) > 0)) { - mes "[Geschupenschte]"; - mes "Wait..."; - mes "Didn't I tell you"; - mes "to get 3 Coal?"; - 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 Tsurugi^000000, you should really only have an Tsurugi that you bought from an NPC shop in your inventory."; - next; - switch (select("Um, would you give me a second?:Oh, I brought what you asked for.")) { - case 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; - case 2: - mes "[Geschupenschte]"; - mes "Okay."; - mes "Great~!!"; - next; - } - mes "[Geschupenschte]"; - mes "^3355FF*Clang...!*^000000"; - next; - mes "[Geschupenschte]"; - mes "^3355FF*Crash Crash!*^000000"; - next; - delitem 1003,2; //Coal - delitem 935,2; //Shell - delitem 990,2; //Boody_Red - delitem 1119,1; //Tsurugi - set BLCKSMTH_Q,11; - changequest 2005,2010; - mes "[Geschupenschte]"; - mes "Wooooo~~~"; - mes "All done..."; + 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...?"; @@ -1450,184 +726,38 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ next; mes "[Geschupenschte]"; mes "Anyway, take this"; - mes "to ^8E6B23Krongast^000000 in Izlude"; - mes "and don't forget"; - mes "the receipt!"; - close; - } - 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 "^8E6B232 Coal^000000,"; - mes "^8E6B232 Shell^000000,"; - mes "^8E6B232 Red Blood^000000 and"; - mes "^8E6B231 Tsurugi^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; - } - if (BLCKSMTH_Q == 7) { - mes "[Geschupenschte]"; - mes "Ah, you're back!"; - mes "Did you bring"; - mes "everything that"; - mes "I requested?"; - next; - if ((countitem(1002) > 7) && (countitem(2212) > 0) && (countitem(717) > 1) && (countitem(1713) > 0)) { - mes "[Geschupenschte]"; - mes "Wait..."; - mes "Didn't I tell you"; - mes "to get 30 Iron Ore?"; - next; - mes "[Geschupenschte]"; - mes "Oh, I guess it was"; - mes "eight 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 Arbalest^000000, you should really only have an Arbalest that you bought from an NPC shop in your inventory."; - next; - switch (select("Um, would you give me a second?:Oh, I brought what you asked for.")) { - case 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; - case 2: - mes "[Geschupenschte]"; - mes "Okay."; - mes "Great~!!"; - next; - } - mes "[Geschupenschte]"; - mes "^3355FF*Clang...!*^000000"; - next; - mes "[Geschupenschte]"; - mes "^3355FF*Crash Crash!*^000000"; - next; - delitem 1002,8; //Iron_Ore - delitem 2212,1; //Eye_Bandage - delitem 717,2; //Blue_Gemstone - delitem 1713,1; //Arbalest - set BLCKSMTH_Q,12; - changequest 2006,2011; - mes "[Geschupenschte]"; - mes "Wooooo~~~"; - mes "All done..."; - mes "Okay, now take this to ^8E6B23Talpiz^000000 in Payon of the Rune-Midgarts Kingdom. Simply deliver this and bring me the receipt."; + 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 the Rune-Midgarts Kindgom,"; - mes "and don't forget"; - mes "the receipt!"; - close; - } - 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 "^8E6B238 Iron Ore^000000,"; - mes "^8E6B231 Eye Patch^000000,"; - mes "^8E6B232 Blue Gemstone^000000 and"; - mes "^8E6B231 Arbalest^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; - } - if (BLCKSMTH_Q == 8) { - mes "[Geschupenschte]"; - mes "Ah, you're back!"; - mes "Did you bring"; - mes "everything that"; - mes "I requested?"; - next; - if ((countitem(998) > 7) && (countitem(511) > 19) && (countitem(919) > 1) && (countitem(1122) > 0)) { - mes "[Geschupenschte]"; - mes "Wait..."; - mes "Didn't I tell you"; - mes "to get 40 Iron?"; - next; - mes "[Geschupenschte]"; - mes "Oh, I guess it was"; - mes "eight 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 Ring Pommel Saber^000000. You should really only have just one that you bought from an NPC shop in your inventory."; - next; - switch (select("Um, would you give me a second?:Oh, I brought what you asked for.")) { - case 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; - case 2: - mes "[Geschupenschte]"; - mes "Okay."; - mes "Great~!!"; - next; - delitem 998,8; //Iron - delitem 511,20; //Green_Herb - delitem 919,2; //Animal's_Skin - delitem 1122,1; //Ring_Pommel_Saber - set BLCKSMTH_Q, 13; - changequest 2007,2012; - next; - } - mes "[Geschupenschte]"; - mes "^3355FF*Clang...!*^000000"; + mes "What's that look for?"; + mes "This is not a normal"; + mes "Arbalest! Look closely"; + mes "at the bow..."; next; - mes "[Geschupenschte]"; - mes "^3355FF*Crash Crash!*^000000"; + 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 "Wooooo~~~"; - mes "All done..."; + 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...?"; @@ -1651,10 +781,12 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "[Geschupenschte]"; mes "Anyway, take this"; mes "to ^8E6B23Bismarc^000000 in Hugel"; - mes "and don't forget"; - mes "the receipt!"; - close; } + mes "and don't forget"; + mes "the receipt!"; + close; + } + else { mes "[Geschupenschte]"; mes "You still haven't"; mes "brought all the items."; @@ -1662,10 +794,12 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "or something? Bring me..."; next; mes "[Geschupenschte]"; - mes "^8E6B238 Iron^000000"; - mes "^8E6B2320 Green Herb^000000"; - mes "^8E6B232 Animal Skin^000000"; - mes "and ^8E6B231 Ring Pommel Saber^000000, the kind you can buy from an NPC shop."; + 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"; @@ -1677,7 +811,7 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ close; } } - if ((BLCKSMTH_Q > 8) && (BLCKSMTH_Q < 14)) { + else if (BSMITH_Q > 8 && BSMITH_Q < 14) { mes "[Geschupenschte]"; mes "What are you"; mes "still doing here?"; @@ -1686,31 +820,27 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "Did you forget"; mes "where to go?"; next; - if (BLCKSMTH_Q == 9) { - mes "[Geschupenschte]"; + 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 (BLCKSMTH_Q == 10) { - mes "[Geschupenschte]"; + else if (BSMITH_Q == 10) { mes "Find the Swordmace"; mes "dealer ^8E6B23Wickebine^000000 in Morroc. And don't forget the receipt."; } - else if (BLCKSMTH_Q == 11) { - mes "[Geschupenschte]"; + 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 (BLCKSMTH_Q == 12) { - mes "[Geschupenschte]"; + 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 "[Geschupenschte]"; 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; } - if (BLCKSMTH_Q == 14) { + else if (BSMITH_Q == 14) { mes "[Geschupenschte]"; mes "Hmmm...?"; mes "Have you"; @@ -1718,16 +848,25 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "the delivery?"; mes "Let's see that receipt~"; next; - switch (select("Yes sir, here it is.:Receipt? I, uh, have it somewhere.")) { - case 1: + if (select("Yes sir, here it is.:Receipt? I, uh, have it somewhere.") == 1) { if (countitem(1073) > 0) { - set BLCKSMTH_Q,15; - changequest 2008,2013; - changequest 2009,2013; - changequest 2010,2013; - changequest 2011,2013; - changequest 2012,2013; + 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!"; @@ -1743,7 +882,7 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "will be a great Blacksmith!"; close; } - set BLCKSMTH_Q,3; + set BSMITH_Q,3; mes "[Geschupenschte]"; mes "You mean..."; mes "You didn't get"; @@ -1757,17 +896,16 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "You'll have to start your"; mes "test all over again!"; close; - case 2: - mes "[Geschupenschte]"; - mes "Return when you"; - mes "find the receipt~"; - mes "You didn't forget"; - mes "to receive a receipt."; - mes "Right...?"; - close; } + mes "[Geschupenschte]"; + mes "Return when you"; + mes "find the receipt~"; + mes "You didn't forget"; + mes "to receive a receipt."; + mes "Right...?"; + close; } - if (BLCKSMTH_Q == 15) { + else if (BSMITH_Q == 15) { mes "[Geschupenschte]"; mes "Thank you"; mes "very much"; @@ -1784,17 +922,19 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "need any more help, today."; close; } - mes "[Geschupenschte]"; - mes "Being"; - mes "a Blacksmith"; - mes "is truly great!"; - mes "Don't you think so?"; - mes "Mwahahahahah!!"; - 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 ((BLCKSMTH_Q == 9) && (countitem(1610) > 0)) { + if (BSMITH_Q == 9 && countitem(1610) > 0) { mes "[Baisulist]"; mes "Oh, hello!"; mes "Have you come"; @@ -1805,8 +945,7 @@ geffen,46,164,1 script Baisulist#BLS 69,{ mes "You sure this is what I ordered, right? I mean, if it's been used,"; mes "I don't want it."; next; - switch (select("Whoops, this is one of the items I use...:I'm sure! It's brand new!")) { - case 1: + 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"; @@ -1814,13 +953,11 @@ geffen,46,164,1 script Baisulist#BLS 69,{ mes "Please hurry with"; mes "my delivery~"; close; - case 2: - mes "[Baisulist]"; - mes "You're"; - mes "absolutely sure?"; - break; } - set BLCKSMTH_Q, 14; + mes "[Baisulist]"; + mes "You're"; + mes "absolutely sure?"; + set BSMITH_Q,14; delitem 1610,1; //Arc_Wand next; mes "[Baisulist]"; @@ -1836,42 +973,44 @@ geffen,46,164,1 script Baisulist#BLS 69,{ 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; + mapannounce "geffen","Hey, " +strcharinfo(0)+ ", thank you so much for the delivery~",bc_map; close; } - if (BLCKSMTH_Q == 14) { + else if (BSMITH_Q == 14) { mes "[Baisulist]"; mes "Thank you"; mes "so much for"; mes "the delivery~"; close; } - 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; + 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 ((BLCKSMTH_Q == 10) && (countitem(1219) > 0)) { - cutin "job_black_hucke01",2; + if (BSMITH_Q == 10 && countitem(1219) > 0) { + cutin "Job_Black_hucke01",2; mes "[Wickebine]"; mes "...!"; mes "It's here!"; @@ -1880,9 +1019,8 @@ morocc,27,112,4 script Wickebine#BLS 725,{ mes "This is what I ordered, right?"; mes "I don't want any used or old Gladius that you might have!"; next; - switch (select("Whoops, not that one.:I guarantee you it is new.")) { - case 1: - cutin "job_black_hucke03",2; + 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"; @@ -1890,35 +1028,33 @@ morocc,27,112,4 script Wickebine#BLS 725,{ next; mes "- She seems to be upset. -"; close2; - cutin "",255; + cutin "Job_Black_hucke03",255; end; - case 2: - 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; - break; } - set BLCKSMTH_Q, 14; + 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; + 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; + 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; + cutin "Job_Black_hucke02",2; mes "[Wickebine]"; mes "But, this is also"; mes "a masterfully crafted item."; @@ -1930,49 +1066,51 @@ morocc,27,112,4 script Wickebine#BLS 725,{ mes "Here's the receipt."; mes "I think you did"; mes "a good job."; - close2; mapannounce "morocc","Thanks for delivering, " + strcharinfo(0) + "~!",bc_map; - cutin "",255; + close2; + cutin "Job_Black_hucke02",255; end; } - if (BLCKSMTH_Q == 14) { + else if (BSMITH_Q == 14) { emotion e_lv; - cutin "job_black_hucke02",2; + cutin "Job_Black_hucke02",2; mes "[Wickebine]"; mes "Thanks for the delivery."; close2; - cutin "",255; + 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; } - 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 "",255; - end; } lighthalzen,209,80,4 script Krongast#BLS 734,{ - if ((BLCKSMTH_Q == 11) && (countitem(1119) > 0)) { + if (BSMITH_Q == 11 && countitem(1119) > 0) { mes "[Krongast]"; mes "Ohhhhhh~"; mes "Is it here?"; @@ -1983,8 +1121,7 @@ lighthalzen,209,80,4 script Krongast#BLS 734,{ mes "So you're sure this is the item"; mes "I ordered, right? I wouldn't want it if it's been used."; next; - switch (select("Whoops, this one is used!:It was just made, so it's new.")) { - case 1: + if (select("Whoops, this one is used!:It was just made, so it's new.") == 1) { mes "[Krongast]"; mes "Hmmmmm!"; mes "Please deliver"; @@ -1992,14 +1129,12 @@ lighthalzen,209,80,4 script Krongast#BLS 734,{ mes "I've been waiting"; mes "long enough already..."; close; - case 2: - mes "[Krongast]"; - mes "You double checked?"; - mes "Alright then, I'll take it!"; - next; - break; } - set BLCKSMTH_Q, 14; + 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..."; @@ -2022,37 +1157,38 @@ lighthalzen,209,80,4 script Krongast#BLS 734,{ mes "your receipt."; mes "Thank you for"; mes "your business!"; - close2; - mapannounce "lighthalzen","" + strcharinfo(0) + "... Thank you for the delivery.",bc_map; - end; + mapannounce "lighthalzen",strcharinfo(0)+"... Thank you for the delivery.",bc_map; + close; } - if (BLCKSMTH_Q == 14) { + else if (BSMITH_Q == 14) { mes "[Krongast]"; mes "Thank you"; mes "for the delivery."; close; } - 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; + 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 ((BLCKSMTH_Q == 12) && (countitem(1713) > 0)) { + if (BSMITH_Q == 12 && countitem(1713) > 0) { mes "[Talpiz]"; mes "Oh~"; mes "Is it finally here?"; @@ -2061,8 +1197,7 @@ payon,214,79,4 script Talpiz#BLS 59,{ mes "[Talpiz]"; mes "Um, this is what I ordered, right? I don't want an Arbalest that's been used before."; next; - switch (select("Whoops, this is a used one.:I'm sure it's new.")) { - case 1: + if (select("Whoops, this is a used one.:I'm sure it's new.") == 1) { mes "[Talpiz]"; mes "Hmmmm."; mes "Please hurry"; @@ -2071,14 +1206,12 @@ payon,214,79,4 script Talpiz#BLS 59,{ mes "I've waited too"; mes "long already..."; close; - case 2: - mes "[Talpiz]"; - mes "So, you're sure?"; - mes "Let me take a look..."; - next; - break; } - set BLCKSMTH_Q,14; + 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*"; @@ -2099,11 +1232,10 @@ payon,214,79,4 script Talpiz#BLS 59,{ mes "your receipt."; mes "I really appreciate"; mes "your hard work."; - close2; - mapannounce "payon","Thanks, " + strcharinfo(0) + ", you really delivered. Everytime I look at this, I love it even more~",bc_map; - end; + mapannounce "payon","Thanks, " +strcharinfo(0)+ ", you really delivered. Everytime I look at this, I love it even more~",bc_map; + close; } - if (BLCKSMTH_Q == 14) { + else if (BSMITH_Q == 14) { mes "[Talpiz]"; mes "Really,"; mes "I can't say it"; @@ -2111,24 +1243,26 @@ payon,214,79,4 script Talpiz#BLS 59,{ mes "top quality work~!"; close; } - 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; + 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 ((BLCKSMTH_Q == 13) && (countitem(1122) > 0)) { + if (BSMITH_Q == 13 && countitem(1122) > 0) { mes "[Bismarc]"; mes "Sweet God..."; mes "Have you sent"; @@ -2140,8 +1274,7 @@ hugel,168,183,1 script Bismarc#BLS 118,{ mes "^666666*Huuuk*^000000 This is what I ordered, right? I needed one especially"; mes "made to stop this poison..."; next; - switch (select("Whoops, this is my own Ring Pommel Saber.:I'm sure this is the one.")) { - case 1: + 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...!"; @@ -2153,15 +1286,13 @@ hugel,168,183,1 script Bismarc#BLS 118,{ mes "he's slowly dying...!"; mes "You'd better hurry.^000000"; close; - case 2: - mes "[Bismarc]"; - mes "^666666*Ghklk*^000000"; - mes "Give it...!"; - mes "Pleeeease!"; - next; - break; } - set BLCKSMTH_Q,14; + 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,"; @@ -2197,48 +1328,48 @@ hugel,168,183,1 script Bismarc#BLS 118,{ mes "your receipt."; mes "T-take it...!"; mes "It's yours!"; - close2; - mapannounce "hugel","Thanks, " + strcharinfo(0) + ", for the delivery. You saved my life...",bc_map; - end; + mapannounce "hugel","Thanks, " +strcharinfo(0)+ ", for the delivery. You saved my life...",bc_map; + close; } - if (BLCKSMTH_Q == 14) { + else if (BSMITH_Q == 14) { mes "[Bismarc]"; mes "Thank you."; mes "You saved"; mes "my life..."; close; } - 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; + 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 (BLCKSMTH_Q == 16) { + 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 Blacksmith immediately."; + 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; - switch (select("Yes:No, not yet~")) { - case 1: + if (select("Yes:No, not yet~") == 1) { mes "[Mitehmaeeuh]"; mes "Alright..."; mes "My test is simple."; @@ -2247,80 +1378,44 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ mes "you fail. And I won't"; mes "tell you what you missed."; next; - set .@wizard_m2,rand(1,3); set .@blackss_te,0; mes "[Mitehmaeeuh]"; mes "Please listen"; mes "and answer carefully..."; next; - if (.@wizard_m2 == 1) { + switch(rand(1,3)) { + case 1: mes "[Mitehmaeeuh]"; mes "1. What ability"; mes "is required to learn"; mes "the ^8E6B23Discount^000000 skill?"; next; - switch (select("Level 3 Push Cart:Item Appraisal:Level 10 Mammonite:Level 3 Enlarge Weight")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @blackss_te,@blackss_te + 20; - break; - } + 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; - switch (select("Stun:Blindness:Chaos:Silence")) { - case 1: - set @blackss_te,@blackss_te + 20; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("900 Zeny:1000 Zeny:2000 Zeny:100,000 Zeny")) { - case 1: - break; - case 2: - set @blackss_te,@blackss_te + 20; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("21 % :22 % :23 % :24 % ")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @blackss_te,@blackss_te + 20; - break; - } + 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"; @@ -2328,70 +1423,31 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ mes "NPCs after mastering the"; mes "^8E6B23Overcharge^000000 skill?"; next; - switch (select("21 % :22 % :23 % :24 % ")) { - case 1: - break; - case 2: - break; - case 3: - set @blackss_te,@blackss_te + 20; - break; - case 4: - break; - } - } - if (.@wizard_m2 == 2) { + 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; - switch (select("Zerom:Chon Chon:Skel Worker:Requiem")) { - case 1: - break; - case 2: - break; - case 3: - set @blackss_te,@blackss_te + 20; - break; - case 4: - break; - } + 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; - switch (select("Flame Heart:Rough Wind:Great Nature:Mystic Frozen")) { - case 1: - set @blackss_te,@blackss_te + 20; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Wind of Verdure:Red Blood:Green Live:Crystal Blue")) { - case 1: - set @blackss_te,@blackss_te + 20; - break; - case 2: - set @blackss_te,@blackss_te + 20; - break; - case 3: - set @blackss_te,@blackss_te + 20; - break; - case 4: - set @blackss_te,@blackss_te + 20; - break; - } + 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"; @@ -2399,50 +1455,28 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ mes "most damage from a Wind"; mes "attribute weapon?"; next; - switch (select("Fire Property:Water Property:Earth Property:Wind Property")) { - case 1: - break; - case 2: - set @blackss_te,@blackss_te + 20; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("5 Iron Ore :4 Iron Ore:3 Iron Ore:6 Iron Ore")) { - case 1: - set @blackss_te,@blackss_te + 20; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - } - else { + 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.")) { + switch(select("Ask them what they need.:Have a brief conversation.:Ignore them.:Give items and run away.")) { case 1: - set @blackss_te,@blackss_te + 20; - break; case 2: - set @blackss_te,@blackss_te + 20; + set .@blackss_te,.@blackss_te+20; break; - case 3: - break; - case 4: + default: break; } mes "[Mitehmaeeuh]"; @@ -2451,65 +1485,30 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ mes "^8E6B23Crazy Uproar^000000 and"; mes "^8E6B23Change Cart^000000 skills?"; next; - switch (select("Al De Baran:Alberta:Morroc:Izlude")) { - case 1: - break; - case 2: - set @blackss_te,@blackss_te + 20; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("11 o'clock:5 o'clock:7 o'clock:12 o'clock")) { - case 1: - break; - case 2: - set @blackss_te,@blackss_te + 20; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Prontera:Morroc:Alberta:Einbroch")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @blackss_te,@blackss_te + 20; - break; - } + 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; - switch (select("STR :DEX:AGI :VIT ")) { - case 1: - break; - case 2: - set @blackss_te,@blackss_te + 20; - break; - case 3: - break; - case 4: - break; - } + if (select("STR :DEX:AGI :VIT ") == 2) + set .@blackss_te,.@blackss_te+20; + break; } mes "[Mitehmaeeuh]"; mes "Ah..."; @@ -2518,22 +1517,21 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ next; mes "[Mitehmaeeuh]"; mes "You earned"; - mes "" + @blackss_te + " points..."; - if (@blackss_te > 70) { + 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."; - mes "A Blacksmith's life isn't a picnic. As proof that you have passed the test, I give you this Hammer of Blacksmith."; - set BLCKSMTH_Q, 17; + 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 Einbroch Blacksmith Guild. Okay then? I wish you the best of luck!"; + 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."; @@ -2541,22 +1539,21 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ mes "[Mitehmaeeuh]"; mes "With your knowledge, or lack thereof, you'll just end up hurting yourself holding a hammer!"; close; - case 2: - mes "[Mitehmaeeuh]"; - mes "Okay then."; - mes "Please prepare"; - mes "yourself and return"; - mes "when you are ready..."; - close; } + mes "[Mitehmaeeuh]"; + mes "Okay then."; + mes "Please prepare"; + mes "yourself and return"; + mes "when you are ready..."; + close; } - if (BLCKSMTH_Q == 17) { + 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.Geschupenschte?"; + 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!"; @@ -2565,20 +1562,22 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ mes "Oh, also make sure that you have no skill point left before you change your job~"; close; } - 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; + 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,{ @@ -2594,16 +1593,16 @@ geffen_in,109,170,3 script Blacksmith Guildsman#gef 726,{ 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.")) { + 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 the Rune-Midgarts Kingdom, the Schwaltzvalt Republic has 'the airship' instead of teleport services to move between towns."; + 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 the Schwaltzvalt Republic^000000."; + 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."; @@ -2619,7 +1618,7 @@ geffen_in,109,170,3 script Blacksmith Guildsman#gef 726,{ mes "Excuse me, but you do not have enough money."; close; } - set Zeny, Zeny - 600; + set zeny,zeny-600; warp "izlude",94,103; end; case 3: @@ -2627,4 +1626,4 @@ geffen_in,109,170,3 script Blacksmith Guildsman#gef 726,{ mes "Please take care!"; close; } -} \ No newline at end of file +} diff --git a/npc/re/jobs/2-1/hunter.txt b/npc/re/jobs/2-1/hunter.txt index ad7f742b0..7ec9fd7ec 100644 --- a/npc/re/jobs/2-1/hunter.txt +++ b/npc/re/jobs/2-1/hunter.txt @@ -1,20 +1,63 @@ //===== rAthena Script ======================================= -// Hunter Job change Quest +//= Hunter Job Quest //===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= EREMES THE CANIVALIZER (Aegis)Translated by yoshiki (Aegis) +//= Converted by kobra_k88 +//= Further bugfixed and tested by Lupus //===== Current Version: ===================================== -//= 1.0 +//= 3.7 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Archer -> Hunter. +//= [Aegis Conversion] +//= Job Change quest for Hunter class. //===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] +//= 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). //============================================================ -in_hunter,99,99,4 script Hunter Info 727,{ +// 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."; @@ -27,27 +70,14 @@ in_hunter,99,99,4 script Hunter Info 727,{ mes " "; mes " "; mes " "; - mes "I, the Falcon breeder has moved out as well."; + mes "I, the Falcon breeder have moved out as well."; close; } -pay_fild10,148,252,3 script Hunter Info#hugel 857,{ - 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 ^ff0000the far upper right side of Hugel000000."; - next; - mes "^804000(You found a tiny line written at the end of the notice.)^000000"; - mes " "; - mes " "; - mes " "; - mes "I, the Falcon breeder has 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]"; @@ -58,7 +88,7 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ mes "Oops! I'm sorry, I could have sworn that we've met before. Huh. How weird."; close; } - if ((Class == Job_Baby_Archer || Class == Job_Archer) && (JobLevel < 40)) { + 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; @@ -69,51 +99,51 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ mes "See you next time~"; close; } - if (SkillPoint != 0) { + 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 (Class == Job_Baby || Class == Job_Novice) { + 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; } - if (Class == Job_Swordman || Class == Job_Knight || Class == Job_Crusader) { + 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; } - if (Class == Job_Mage || Class == Job_Wizard || Class == Job_Sage) { + 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; } - if (Class == Job_Acolyte || Class == Job_Priest || Class == Job_Monk) { + 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; } - if (Class == Job_Merchant || Class == Job_Blacksmith || Class == Job_Alchemist) { + else if (Baseclass == Job_Merchant) { mes "[Hunter Guildsman]"; mes "Oh..."; mes "How's your business coming along?"; close; } - if (Class == Job_Thief || Class == Job_Assassin || Class == Job_Rogue) { + else if (BaseClass == Job_Thief) { mes "[Hunter Guildsman]"; mes "Agh?!"; mes "This place doesn't have anything worth stealing or anyone worth killing!!"; close; } - if (Class == Job_Dancer || Class == Job_Bard) { + 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; } - if (Class == Job_Baby_Hunter || Class == Job_Hunter) { + 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?"; @@ -122,13 +152,13 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ 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; } - if (Class == Job_Archer) { - if (SkillPoint != 0) { + 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; } - if ((HNTR_Q == 17) && (countitem(1007) == 0)) { + 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; @@ -136,303 +166,246 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ mes "I'll let you change your job, but you must bring back a 'Necklace of Wisdom (Penetration),' no matter what it takes."; close; } - if ((HNTR_Q == 17) && (countitem(1007) > 0) && (JobLevel > 39)) { - if (JobLevel > 49) { - 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!!"; - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Hunter; - } else { - jobchange Job_Hunter; - } - completequest 4013; - 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~"; - getitem 1718,1; //Hunter_Bow - close; - } + else if (HNTR_Q == 17 && countitem(1007) > 0 && JobLevel > 39) { mes "[Hunter Sherin]"; mes "Oh...?"; mes "You passed"; - mes "the job test?!!"; + mes "the job test?!"; mes "Congratulations~!!"; next; mes "[Hunter Sherin]"; mes "Well then,"; mes "I will now change"; - mes "your job to a Hunter~*"; + mes "your job to a Hunter~"; next; delitem 1007,1; //Penetration mes "[Hunter Sherin]"; mes "Tada~ Congratulations!"; mes "You look great as a Hunter!!"; - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Hunter; - } else { - jobchange Job_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 be a worthy representative of the Hunter Guild. Show your love of nature as a Hunter~"; + 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~"; - getitem 1710,1; //CrossBow + if (.@joblvl > 49) + getitem 1718,1; //Hunter_Bow + else + getitem 1710,1; //CrossBow close; } - if ((JobLevel > 39) && (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: + else if ((JobLevel > 39) && ((HNTR_Q == 0) || (HNTR_Q == 1))) { + if (HNTR_Q == 0) { mes "[Hunter Guildsman]"; - mes "Hehe~"; - mes "I was right! Let me put you on the candidate list. Let's see~*"; + 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; - 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; - switch (select("Yes~ Let's start now.:No, I'll be back later.")) { + 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 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; - set @knight_t, 0; - 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 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - 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 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - 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 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - 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?"; + mes "[Hunter Guildsman]"; + mes "Hehe~"; + mes "I was right! Let me put you on the candidate list. Let's see~*"; next; - switch (select("Attack a Hode from the top of a hill.:Go back to town.:Attack someone else's Hode.")) { - case 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - break; - } - 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; - switch (select("Would it be possible to get a Heal, please?:Heal, please.:Heal me.")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - break; - case 3: - break; - } - 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 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - mes "[Hunter Sherin]"; - mes "While you are waiting, someone is begging for items and Zeny. What should you do?"; - next; - switch (select("Give some of my items and Zeny.:Ignore and walk away.:Tell the person about a good place to hunt.")) { - case 1: - break; - case 2: - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - 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: - set @knight_t, @knight_t + 10; - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - 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!"; + 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 "[Hunter Sherin]"; - mes "What should you do?"; + mes "^3355FF*Gathers and flips through papers*^000000"; next; - switch (select("Watch, then attack when asked for help.:Attack and see what happens.:Just go back to town.")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - break; - case 3: - break; - } - mes "[Hunter Sherin]"; - mes "You are now very exhausted after your day of hunting. It's time to go back to town."; + mes "^3355FF*Rummage rummage*^000000"; next; - mes "[Hunter Sherin]"; - mes "But what's this!? You find an expensive item lying on the floor! What should you do with it?"; + mes "[Hunter Guildsman]"; + mes "Ah!"; + mes "Here they are: the interview questions~ First of all, my name is 'Sherin.' Nice to meet you!"; next; - switch (select("Pick it up and keep it.:Try to find the owner.:Just walk by.")) { - case 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } mes "[Hunter Sherin]"; - mes "Okay, this is the end of the test!"; + mes "Well then,"; + mes "shall we begin?"; next; - if (@knight_t == 100) { - set HNTR_Q,2; - setquest 4001; + if (select("Yes~ Let's start now.:No, I'll be back later.") == 1) { + if(checkquest(4000) == -1) { + setquest 4000; + } 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~"; + 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'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; - } - if (@knight_t == 90) { - set HNTR_Q,2; - setquest 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."; + 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 "Just remember to always keep basic etiquette in mind. Try harder in the following tests and make me happy, okay?"; + mes "Okay..."; + mes "Come back"; + mes "when you're ready~"; close; } - set HNTR_Q,1; - setquest 4000; - mes "[Hunter Sherin]"; - mes "Hmm... I don't think this'll work out. You can't become a Hunter without knowing basic etiquette."; - next; + 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 "Think about how you answered the questions one more time. In order to value nature, you must first value your relationship with others."; + 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 "Then, you'll be more in tune with nature and with other people. It's this kind of harmony that makes the best Hunters."; + 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; - case 2: + } + 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 "Okay..."; - mes "Come back"; - mes "when you're ready~"; + 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"; @@ -452,7 +425,7 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ 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~"; - close; + break; case 3: mes "[Hunter Guildsman]"; mes "Okay then,"; @@ -460,696 +433,153 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ close; } } - if ((JobLevel > 39) && (HNTR_Q == 1)) { + else if (HNTR_Q > 2 && HNTR_Q < 10) { mes "[Hunter Sherin]"; - mes "Welcome back...!"; - mes "Well, let's start with the interview. This time, carefully think about the answers to each question."; + mes "Just give the item to the Demon Hunter, the guy who's all the way to the left in this area~"; next; - set @knight_t, 0; mes "[Hunter Sherin]"; - mes "Well then,"; - mes "let's begin."; - next; + 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 "You are an Archer, and you don't know where you should go to hunt. What do you do?"; + mes "????"; 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 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - 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."; + mes "You weren't able to find the Demon Hunter? That guy is just to the left! Hehe~"; next; mes "[Hunter Sherin]"; - mes "But you are in Payon!!"; - mes "How do you go to the desert?"; + 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; - switch (select("Ask a Priest to open a free warp portal.:Use the Kafra service.:Walk with a friend.")) { - case 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - break; + 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; } - 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 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - break; + 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 "[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."; + } + 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 "[Hunter Sherin]"; - mes "What is your"; - mes "solution to this"; - mes "situation?"; + 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; - switch (select("Attack a Hode from the top of a hill.:Go back to town.:Attack someone else's Hode.")) { - case 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - break; + 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; } - 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; - switch (select("Would it be possible to get a Heal, please?:Heal, please.:Heal me.")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - break; - case 3: - break; - } - 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 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - mes "[Hunter Sherin]"; - mes "While you are waiting, someone is begging for items and Zeny. What should you do?"; - next; - switch (select("Give some of my items and Zeny.:Ignore and walk away.:Tell the person about a good place to hunt.")) { - case 1: - break; - case 2: - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - 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: - set @knight_t, @knight_t + 10; - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - 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; - switch (select("Watch, then attack when asked for help.:Attack and see what happens.:Just go back to town.")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - break; - case 3: - break; + else if(checkquest(4003) != -1) { + changequest 4003,4009; } - 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 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - break; + else if(checkquest(4004) != -1) { + changequest 4004,4009; } - mes "[Hunter Sherin]"; - mes "Okay, this is"; - mes "the end of the test!"; - next; - if (@knight_t == 100) { - set HNTR_Q,2; - setquest 4001; - mes "[Hunter Sherin]"; - mes "Well done! It seems you've got the right outlook on life. You definitely have what it takes to become a Hunter~"; - next; - mes "[Hunter Sherin]"; - mes "I'm happy to say you've passed the interview~ Now, go to that person in the corner and confirm which items are necessary for the job change test~"; - close; + else if(checkquest(4005) != -1) { + changequest 4005,4009; } - if (@knight_t == 90) { - set HNTR_Q,2; - setquest 4001; - mes "[Hunter Sherin]"; - mes "Hmmm... Well, your score isn't exactly perfect, but I'll let you pass anyway. I'm not sure what our Guildmaster will think though..."; - next; - mes "[Hunter Sherin]"; - mes "Just remember to keep the basics of etiquette in mind. Try harder in the following tests, and make me happy, okay?"; - close; + else if(checkquest(4006) != -1) { + changequest 4006,4010; } - if (HNTR_Q == 1){ - mes "[Hunter Sherin]"; - mes "Hmm..."; - mes "I'm sorry but you can't become a Hunter without knowing basic etiquette."; - next; - mes "[Hunter Sherin]"; - mes "Think about how you answered the questions once more. In order to be in tune with nature, you must first value your relationship with others."; - next; - mes "[Hunter Sherin]"; - mes "Well then..."; - mes "Come back"; - mes "when you're ready."; - close; + else if(checkquest(4007) != -1) { + changequest 4007,4010; } - } - 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; - if (Sex == 1) { - mes "[Hunter Sherin]"; - 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!!"; - close; + else { + changequest 4008,4010; } - mes "[Hunter Sherin]"; - 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; - } - 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 a building east of 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; - switch (select("Yes, that is correct.:Nope~~(heeheehee)")) { - case 1: - 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; - set .@item_need, rand(1,7); - if (.@item_need == 1) { - mes "[Demon Hunter]"; - mes "Hmm. ^6600005 Claw of Desert Wolf^000000 to use for arrow tips. ^6600005 Trunk^000000 to use here and there. And ^6600003 White Herb^000000 please."; - set HNTR_Q,3; - changequest 4001,4002; - 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 since he's the one that administers the test."; - mes "You can find him in a building east of the Payon Central Palace."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back to me when you have everything ready~"; - close; - } - if (.@item_need == 2) { - mes "[Demon Hunter]"; - mes "Hmm. ^6600003 Bill of Birds^000000 to use for the arrow tips. ^6600005 Skel-bone^000000 to use here and there. And ^6600003 Green Herbs^000000. That should be enough."; - set HNTR_Q,4; - changequest 4001,4003; - 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 since he's the one that administers the test."; - mes "You can find him in a building east of the Payon Central Palace."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back to me when you have everything ready~"; - close; - } - if (.@item_need == 3) { - mes "[Demon Hunter]"; - mes "Mmm. ^6600003 Venom Canine^000000 to use as arrow tips. ^6600003 Animal Skin^000000 to use here and there. And ^6600005 Red Herb^000000. That should be enough."; - set HNTR_Q,5; - changequest 4001,4004; - 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 since he's the one that administers the test."; - mes "You can find him in a building east of the Payon Central Palace."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back to me when you have everything ready~"; - close; - } - if (.@item_need == 4) { - mes "[Demon Hunter]"; - mes "Mmm. ^6600003 Dokkaebi Horn^000000 to make the arrow tips. ^6600003 Piece of Egg Shell^000000 to use here and there. And ^66000010 Fluff^000000. That should be enough."; - set HNTR_Q,6; - changequest 4001,4005; - 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 since he's the one that administers the test."; - mes "You can find him in a building east of the Payon Central Palace."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back to me when you have everything ready~"; - close; - } - if (.@item_need == 5) { - mes "[Demon Hunter]"; - mes "Mmm. ^6600009 Shell^000000 to make the arrow tips. ^6600009 Worm Peeling^000000 to use here and there. And ^6600009 Yellow Herb^000000. That should be enough."; - set HNTR_Q,7; - changequest 4001,4006; - next; - mes "[Demon Hunter]"; - mes "By the way, a member of our Hunter Guild is at the Archer Guild on official business. I believe you have to go visit this person since he is in charge of the testing."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back when you have everything ready~"; - close; - } - if (.@item_need == 6) { - mes "[Demon Hunter]"; - mes "Mmm. ^6600003 Tooth of Bat^000000 to use for the arrow tips. ^6600001 Sticky Mucus^000000 to use as adhesive. And ^6600001 Bear's Footskin^000000 will do."; - set HNTR_Q,8; - changequest 4001,4007; - next; - mes "[Demon Hunter]"; - mes "By the way, a member of our Hunter Guild is at the Archer Guild on official business. I believe you have to go visit the person since he's in charge of the testing."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back when you have everything ready~"; - close; - } - mes "[Demon Hunter]"; - mes "Mmm. ^6600002 Porcupine Quill^000000 to use for the arrow tips. ^6600001 Yoyo Tail^000000 to help make the bow string. And ^6600001 Acorn^000000 please."; - set HNTR_Q,9; - changequest 4001,4008; - next; - mes "[Demon Hunter]"; - mes "Before I forget. A member of our Hunter Guild is at the Archer Guild for official business. I believe you have to go visit the person since he is in charge of the testing."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back when you have everything ready~"; - close; - case 2: - mes "[Demon Hunter]"; - mes "Hey, stop messing around."; - mes "Your name is " + strcharinfo(0) + ", right?"; - next; - switch (select("Yes...:Hehehe. I keep telling you, it's not~~")) { - case 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; - set .@item_need, rand(1,7); - if (.@item_need == 1) { - mes "[Demon Hunter]"; - mes "Hmm. 5 ^660000Claw of Desert Wolf^000000 to use for arrow tips. ^6600005 Trunk^000000 to use here and there. And ^6600003 White Herb^000000 please."; - set HNTR_Q,3; - changequest 4001,4002; - 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 since he's the one that administers the test."; - mes "You can find him in a building east of the Payon Central Palace."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back to me when you have everything ready~"; - close; - } - if (.@item_need == 2) { - mes "[Demon Hunter]"; - mes "Hmm. ^6600003 Bill of Birds^000000 to use for the arrow tips. ^6600005 Skel-bone^000000 to use here and there. And ^6600003 Green Herbs^000000. That should be enough."; - set HNTR_Q,4; - changequest 4001,4003; - 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 since he's the one that administers the test."; - mes "You can find him in a building east of the Payon Central Palace."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back to me when you have everything ready~"; - close; - } - if (.@item_need == 3) { - mes "[Demon Hunter]"; - mes "Mmm. ^6600003 Venom Canine^000000 to use as arrow tips. ^6600003 Animal Skin^000000 to use here and there. And ^6600005 Red Herb^000000. That should be enough."; - set HNTR_Q,5; - changequest 4001,4004; - 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 since he's the one that administers the test."; - mes "You can find him in a building east of the Payon Central Palace."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back to me when you have everything ready~"; - close; - } - if (.@item_need == 4) { - mes "[Demon Hunter]"; - mes "Mmm. ^6600003 Dokkaebi Horn^000000 to make the arrow tips. ^6600003 Piece of Egg Shell^000000 to use here and there. And ^66000010 Fluff^000000. That should be enough."; - set HNTR_Q,6; - changequest 4001,4005; - 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 since he's the one that administers the test."; - mes "You can find him in a building east of the Payon Central Palace."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back to me when you have everything ready~"; - close; - } - if (.@item_need == 5) { - mes "[Demon Hunter]"; - mes "Mmm. ^6600009 Shell^000000 to make the arrow tips. ^6600009 Worm Peeling^000000 to use here and there. And ^6600009 Yellow Herb^000000. That should be enough."; - set HNTR_Q,7; - changequest 4001,4006; - next; - mes "[Demon Hunter]"; - mes "By the way, a member of our Hunter Guild is at the Archer Guild on official business. I believe you have to go visit this person since he is in charge of the testing."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back when you have everything ready~"; - close2; - } - if (.@item_need == 6) { - mes "[Demon Hunter]"; - mes "Mmm. ^6600003 Tooth of Bat^000000 to use for the arrow tips. ^6600001 Sticky Mucus^000000 to use as adhesive. And ^6600001 Bear's Footskin^000000 will do."; - set HNTR_Q,8; - changequest 4001,4007; - next; - mes "[Demon Hunter]"; - mes "By the way, a member of our Hunter Guild is at the Archer Guild on official business. I believe you have to go visit the person since he's in charge of the testing."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back when you have everything ready~"; - close; - } - mes "[Demon Hunter]"; - mes "Mmm. ^6600002 Porcupine Quill^000000 to use for the arrow tips. ^6600001 Yoyo Tail^000000 to help make the bow string. And ^6600001 Acorn^000000 please."; - set HNTR_Q,9; - changequest 4001,4008; - next; - mes "[Demon Hunter]"; - mes "Before I forget. A member of our Hunter Guild is at the Archer Guild for official business. I believe you have to go visit the person since he is in charge of the testing."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back when you have everything ready~"; - close; - case 2: - 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; - } - } - } - if (HNTR_Q == 3) { - mes "[Demon Hunter]"; - mes "Hmm?"; - next; - if ((countitem(7030) > 4) && (countitem(1019) > 4) && (countitem(509) > 2)) { - 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,10; - completequest 4002; - completequest 4003; - completequest 4004; - completequest 4005; - completequest 4006; - completequest 4007; - completequest 4008; - setquest 4009; - delitem 7030,5; //Claw_Of_Desert_Wolf - delitem 1019,5; //Wooden_Block - delitem 509,3; //White_Herb - 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 "^6600005 Claw of Desert Wolf^000000,"; - mes "^6600005 Trunk^000000 and"; - mes "^6600003 White Herb^000000."; - mes "Come back once you have"; - mes "gathered all the items."; - close; - } - if (HNTR_Q == 4) { - mes "[Demon Hunter]"; - mes "Ah, you have returned."; - next; - if ((countitem(925) > 2) && (countitem(932) > 4) && (countitem(511) > 2)) { - mes "[Demon Hunter]"; - mes "You brought all the necessary materials... You can get directions to the testing area from our Guildmaster that is currently in the Payon Central Palace."; - set HNTR_Q,10; - completequest 4002; - completequest 4003; - completequest 4004; - completequest 4005; - completequest 4006; - completequest 4007; - completequest 4008; - setquest 4009; - delitem 925,3; //Bill_Of_Birds - delitem 932,5; //Skel_Bone - delitem 511,3; //Green_Herb - 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 "^6600003 Bill of Birds^000000,"; - mes "^6600005 Skel-bone^000000 and"; - mes "^6600003 Green Herb^000000."; - mes "Come back once you have"; - mes "gathered all the items."; - close; - } - if (HNTR_Q == 5) { - mes "[Demon Hunter]"; - mes "Hmm...let me see."; - next; - if ((countitem(937) > 2) && (countitem(919) > 2) && (countitem(507) > 4)) { - mes "[Demon Hunter]"; - mes "You brought all of the necessary materials... You can get directions to the testing area from our Guildmaster that is currently in the Payon Central Palace."; - set HNTR_Q,10; - completequest 4002; - completequest 4003; - completequest 4004; - completequest 4005; - completequest 4006; - completequest 4007; - completequest 4008; - setquest 4009; - delitem 937,3; //Posionous_Canine - delitem 919,3; //Animal's_Skin - delitem 507,5; //Red_Herb - 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 "^6600003 Venom Canine^000000,"; - mes "^6600003 Animal Skin^000000 and"; - mes "^6600005 Red Herb^000000."; - mes "Come back once you have"; - mes "gathered all of the items."; - close; - } - if (HNTR_Q == 6) { - mes "[Demon Hunter]"; - mes "Hmm? Let me see... "; - next; - if ((countitem(1021) > 2) && (countitem(7032) > 2) && (countitem(914) > 9)) { - mes "[Demon Hunter]"; - mes "You brought all of the necessary materials... You can get directions to the testing area from our Guildmaster that is currently in the Payon Central Palace."; - set HNTR_Q,10; - completequest 4002; - completequest 4003; - completequest 4004; - completequest 4005; - completequest 4006; - completequest 4007; - completequest 4008; - setquest 4009; - delitem 1021,3; //Dokkaebi_Horn - delitem 7032,3; //Piece_Of_Egg_Shell - delitem 914,10; //Fluff - 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 "^6600003 Dokkaebi Horn^000000,"; - mes "^6600003 Piece of Egg Shell^000000 and"; - mes "^66000010 Fluff^000000."; - mes "Come back once you have"; - mes "gathered all the items."; - close; - } - if (HNTR_Q == 7) { - mes "[Demon Hunter]"; - mes "Eh? Let me see..."; - next; - if ((countitem(935) > 8) && (countitem(955) > 8) && (countitem(508) > 8)) { - mes "[Demon Hunter]"; - mes "You brought all of the necessary materials... To get directions to the testing area, go talk to our Guildmaster who is at the Archer Guild."; - set HNTR_Q,11; - completequest 4002; - completequest 4003; - completequest 4004; - completequest 4005; - completequest 4006; - completequest 4007; - completequest 4008; - setquest 4010; - delitem 935,9; //Shell - delitem 955,9; //Worm_Peelings - delitem 508,9; //Yellow_Herb - 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 "^6600009 Shell^000000,"; - mes "^6600009 Worm Peeling^000000 and"; - mes "^6600009 Yellow Herb^000000."; - mes "Come back once you have"; - mes "gathered all the items."; - close; - } - if (HNTR_Q == 8) { - mes "[Demon Hunter]"; - mes "Huh? "; - next; - if ((countitem(913) > 2) && (countitem(938) > 0) && (countitem(948) > 0)) { - mes "[Demon Hunter]"; - mes "You brought all of the necessary materials... To get directions to the testing area, go talk to our Guildmaster who is at the Archer Guild."; - set HNTR_Q,11; - completequest 4002; - completequest 4003; - completequest 4004; - completequest 4005; - completequest 4006; - completequest 4007; - completequest 4008; - setquest 4010; - delitem 913,3; //Tooth_Of_Bat - delitem 938,1; //Sticky_Mucus - delitem 948,1; //Bear's_Foot - 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 "^6600003 Tooth of Bat^000000,"; - mes "^6600001 Sticky Mucus^000000 and"; - mes "^6600001 Bear's Footskin^000000."; - mes "Come back once you have"; - mes "gathered all the items."; - close; - } - if (HNTR_Q == 9) { - mes "[Demon Hunter]"; - mes "Huh? "; - next; - if ((countitem(1027) > 1) && (countitem(942) > 0) && (countitem(1026) > 0)) { - mes "[Demon Hunter]"; - mes "You brought all of the necessary materials... To get directions to the testing area, go talk to our Guildmaster who is at the Archer Guild."; - set HNTR_Q,11; - completequest 4002; - completequest 4003; - completequest 4004; - completequest 4005; - completequest 4006; - completequest 4007; - completequest 4008; - setquest 4010; - delitem 1027,2; //Porcupine_Spike - delitem 942,1; //Yoyo_Tail - delitem 1026,1; //Acorn + delitem .@items[0],.@items[1]; + delitem .@items[2],.@items[3]; + delitem .@items[4],.@items[5]; close; } mes "[Demon Hunter]"; @@ -1158,81 +588,70 @@ hu_in01,382,382,4 script Guild Receptionist#hnt 732,{ next; mes "[Demon Hunter]"; mes "The items you need are"; - mes "^6600002 Porcupine Quill^000000,"; - mes "^6600001 Yoyo Tail^000000 and"; - mes "^6600001 Acorn^000000."; + 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; } - if ((HNTR_Q > 9) && (HNTR_Q < 17)) { + 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; } - if (HNTR_Q == 17) { + else if (HNTR_Q == 17) { mes "[Demon Hunter]"; mes "Ooh. You passed the test. Congratulations~ You should go talk to Sherin now."; close; } - mes "[Guild Receptionist]"; - mes "If you wish to change your job to a Hunter, you must register first."; - 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?"; - set @a0, 1; next; - while (1) { - 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."; - set @a0,@a0 + 1; - close2; - break; - 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."; - set @a0,@a0 + 1; - close2; - break; - 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; + 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 "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."; + 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 "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."; - set @a0,@a0 + 1; - close2; - break; - case 4: - if (@a0 == 1) { - 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; - } - else { - mes "[Hunter Guildmaster]"; - mes "Okay. Best of luck."; - mes "I'll send you right now."; - next; - } - break; } - break; + 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."; @@ -1243,7 +662,7 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ warp "job_hunte",176,22; end; } - if ((HNTR_Q > 1) && (HNTR_Q < 10)) { + else if (HNTR_Q > 1 && HNTR_Q < 10) { mes "[Hunter Guildmaster]"; mes "Mmm...?"; mes "What is an Archer"; @@ -1256,12 +675,12 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ mes "Go gather the items for the test, and come back after you've visited the Hunter Guild."; close; } - if (HNTR_Q == 11) { + 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; } - if ((HNTR_Q > 11) && (HNTR_Q < 16)) { + 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; @@ -1269,43 +688,33 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ mes "If you have any"; mes "questions, ask now."; next; - while (1) { - 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."; - set @a0,@a0 + 1; - close2; - break; - 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."; - set @a0,@a0 + 1; - close2; - break; - 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."; - set @a0,@a0 + 1; - close2; - break; - case 4: - mes "[Hunter Guildmaster]"; - mes "Okay. Good luck."; - mes "I'll send you right now."; - next; - break; - } - break; + 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."; @@ -1313,37 +722,34 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ mes "[Hunter Guildmaster]"; mes "Anyway, I believe you've prepared it yourself. Let's begin now."; next; - switch (select("Okay. Let's start...:Ah, wait a sec.")) { - case 1: + 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; - changequest 4009,4011; warp "job_hunte",176,22; end; - case 2: - mes "[Hunter Guildmaster]"; - mes "Then hurry and finish"; - mes "all of your preparations."; - close; } + mes "[Hunter Guildmaster]"; + mes "Then hurry and finish"; + mes "all of your preparations."; + close; } - if (HNTR_Q == 16) { + 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; - changequest 4012,4013; 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; } - if (HNTR_Q == 17) { + 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; @@ -1351,69 +757,61 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ mes "Now, you should go back to the Hunter Guild~"; close; } - 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; + 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?"; - set @a0,1; - next; - while (1) { - 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."; - set @a0,@a0 + 1; - close2; - cutin "",255; - break; - 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."; - set @a0,@a0 + 1; - close2; - cutin "",255; - break; - 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 "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 "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."; + 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 "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."; - set @a0,@a0 + 1; - close2; - cutin "",255; - break; - case 4: - if (@a0 == 1) { - 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; - } - else { - mes "[Hunter Guildmaster]"; - mes "Okay, best of luck."; - mes "I'll send you right now."; - next; - } - break; } - break; + 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."; @@ -1424,9 +822,10 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ set HNTR_Q,12; changequest 4010,4011; warp "job_hunte",176,22; + cutin "job_huntermaster",255; end; } - if ((HNTR_Q > 1) && (HNTR_Q < 10)) { + else if (HNTR_Q > 1 && HNTR_Q < 10) { mes "[Hunter Guildmaster]"; mes "Mmm...?"; mes "Why is an Archer"; @@ -1438,10 +837,10 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "[Hunter Guildmaster]"; mes "Stop by once you have gathered all the items needed for the test."; close2; - cutin "",255; + cutin "job_huntermaster",255; end; } - if (HNTR_Q == 10) { + else if (HNTR_Q == 10) { mes "[Hunter]"; mes "Mmm?"; mes "Can I help you"; @@ -1452,10 +851,10 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "[Hunter]"; mes "If you wish to change jobs, I think you need to go visit the person at Payon Central Palace."; close2; - cutin "",255; + cutin "job_huntermaster",255; end; } - if ((HNTR_Q > 11) && (HNTR_Q < 16)) { + 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; @@ -1464,49 +863,42 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "have questions,"; mes "feel free to ask."; next; - while (1) { - 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."; - set @a0,@a0 + 1; - close2; - cutin "",255; - break; - 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."; - set @a0,@a0 + 1; - close2; - cutin "",255; - break; - 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."; - set @a0,@a0 + 1; - close2; - cutin "",255; - break; - case 4: - mes "[Hunter Guildmaster]"; - mes "Okay, good luck."; - mes "I'll send you right now..."; - next; - break; - } - break; + 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."; @@ -1517,34 +909,30 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "you're ready."; mes "Let's begin."; next; - switch (select("Yes, let's start.:Ah, wait a moment.")) { - case 1: + if (select("Yes, let's start.:Ah, wait a moment.") == 1) { mes "[Hunter Guildmaster]"; mes "Okay!! Now..."; mes "Pass this time!"; close2; - cutin "",255; + cutin "job_huntermaster",255; set HNTR_Q,12; - changequest 4010,4011; warp "job_hunte",176,22; end; - case 2: - mes "[Hunter Guildmaster]"; - mes "*Sigh...*"; - mes "Come back when"; - mes "you're done with"; - mes "your preparations."; - close2; - cutin "",255; - end; } + mes "[Hunter Guildmaster]"; + mes "*Sigh...*"; + mes "Come back when"; + mes "you're done with"; + mes "your preparations."; + close2; + cutin "job_huntermaster",255; + end; } - if (HNTR_Q == 16) { + 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; - changequest 4012,4013; savepoint "payon",104,99; getitem 1007,1; //Penetration next; @@ -1553,10 +941,10 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "There you go."; mes "Now hurry back to the Hunter Guild, and join us~"; close2; - cutin "",255; + cutin "job_huntermaster",255; end; } - if (HNTR_Q == 17) { + 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; @@ -1566,71 +954,19 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "for you back"; mes "at the Hunter Guild."; close2; - cutin "",255; + cutin "job_huntermaster",255; end; } - 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 "",255; - end; -} - -job_hunte,178,32,1 script Guide#hnt 107,5,2,{ - - 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; - } - 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?"; - next; - switch (select("Keep trying.:Resign.")) { - case 1: - mes "Okay. Do your best to become a great Hunter. Please enter the waiting room. If someone entered already, 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 "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::OnReset"; - close2; - set HNTR_Q,13; - savepoint "payon",104,99; - warp "payon_in02",21,27; - end; - } - } - if (HNTR_Q > 15) { - mes "[Guide]"; - mes "You shouldn't be here. How about finding the required job change item first?"; + 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; - savepoint "payon",104,99; - warp "payon_in02",21,27; + cutin "job_huntermaster",255; end; } +} +job_hunte,178,32,1 script Guide#hnt 107,5,2,{ OnTouch: if (HNTR_Q == 12) { mes "[Guide]"; @@ -1650,7 +986,7 @@ OnTouch: savepoint "job_hunte",176,22; close; } - if ((HNTR_Q > 12) && (HNTR_Q < 16)) { + else if (HNTR_Q > 12 && HNTR_Q < 16) { mes "[Guide]"; mes "Hmm..."; mes "Did you mess up?"; @@ -1661,35 +997,33 @@ OnTouch: 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.")) { + 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; + 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::OnReset"; + // donpcevent "Waiting Room#hnt::OnStart"; close2; set HNTR_Q,13; savepoint "payon",104,99; warp "payon_in02",21,27; - end; } } - if (HNTR_Q > 15) { + 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; } - + end; } -job_hunte,176,38,1 script Waiting Room#hnt 66,{ +job_hunte,178,38,1 script Waiting Room#hnt 66,{ end; OnInit: @@ -1698,58 +1032,93 @@ OnInit: end; OnStartArena: - warpwaitingpc "job_hunte",90,67; + warpwaitingpc "job_hunte", 90, 67; donpcevent "Manager#hnt::OnEnable"; - donpcevent "Manager#hnt2::OnEnable"; - donpcevent "switch#hnt::OnDisable"; - donpcevent "hnt_backers::OnDisable"; disablewaitingroomevent; end; -OnReset: +OnStart: enablewaitingroomevent; end; } job_hunte,1,1,1 script Manager#hnt 66,{ - end; - OnInit: - hideonnpc "Manager#hnt"; + disablenpc "Manager#hnt"; end; OnEnable: - hideoffnpc "Manager#hnt"; + 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"; - initnpctimer; - end; - -OnReset: - killmonster "job_hunte","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: - if (mobcount ("job_hunte","Manager#hnt::OnMyMobDead") < 3) { + 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::OnReset"; - donpcevent "Manager#hnt2::OnReset"; donpcevent "Manager#hnt::OnDisable"; - donpcevent "Manager#hnt2::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: - hideonnpc "Manager#hnt"; + killmonsterall "job_hunte"; + disablenpc "Manager#hnt"; end; OnTimer1000: @@ -1825,1558 +1194,610 @@ OnTimer194000: end; OnTimer195000: - donpcevent "hnt_backers::OnEnable"; - end; - -OnTimer196000: - donpcevent "hnt_backers::OnDisable"; - end; - -OnTimer196500: - donpcevent "hnt_backers::OnEnable"; + areawarp "job_hunte",50,64,129,143,"job_hunte",176,22; end; OnTimer197000: - donpcevent "hnt_backers::OnDisable"; donpcevent "Manager#hnt::OnReset"; - donpcevent "Manager#hnt2::OnReset"; - donpcevent "Waiting Room#hnt::OnReset"; + donpcevent "Waiting Room#hnt::OnStart"; end; } -job_hunte,1,2,1 script Manager#hnt2 66,{ - end; - -OnInit: - hideonnpc "Manager#hnt2"; - end; - -OnEnable: - hideoffnpc "Manager#hnt2"; - monster "job_hunte",85,100,"Job Test Monster",1016,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",72,102,"Job Test Monster",1041,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",108,103,"Job Test Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",88,127,"Job Test Monster",1002,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",125,69,"Job Test Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",77,112,"Job Tester Monster",1016,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",53,106,"Job Tester Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",53,73,"Job Tester Monster",1002,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",125,70,"Job Tester Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",90,91,"Job Tester Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",67,80,"Hunter Change Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",77,112,"Hunter Change Monster",1016,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",53,106,"Hunter Change Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",53,73,"Hunter Change Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",125,70,"Hunter Change Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",90,91,"Job Transfer Monster",1041,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",85,100,"Job Transfer Monster",1002,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",72,102,"Job Transfer Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",108,103,"Job Transfer Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",77,112,"Job Transfer Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",112,139,"Binnie",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",112,139,"Darrel",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",112,139,"Rex",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",112,139,"Anselmo",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",90,91,"Anolian",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",53,73,"Monster Sample",1002,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",53,106,"Not Me",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",77,112,"Help Me",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",72,102,"Do Not Hit Me",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",108,103,"Attack Speed 184",1015,1,"Manager#hnt2::OnMyMobDead"; - end; - -OnReset: - killmonster "job_hunte","Manager#hnt2::OnMyMobDead"; - end; - -OnDisable: - hideonnpc "Manager#hnt2"; - end; - -OnMyMobDead: - mapannounce "job_hunte"," " + strcharinfo(0) + "!! You made a mistake...Please try again.",bc_map; - set HNTR_Q,13; - warp "job_hunte",176,22; - donpcevent "Waiting Room#hnt::OnReset"; - donpcevent "Manager#hnt::OnReset"; - donpcevent "Manager#hnt2::OnReset"; - donpcevent "Manager#hnt::OnDisable"; - donpcevent "Manager#hnt2::OnDisable"; - end; -} - -job_hunte,93,101,1 script switch#hnt 723,1,1,{ - - 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; - donpcevent "exit#hnttest::OnEnable"; - 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 "Waiting Room#hnt::OnReset"; - 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")) { + 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; - donpcevent "exit#hnttest::OnEnable"; + 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; + mapannounce "job_hunte"," !! Operation has been cancelled. !! ",bc_map; end; case 3: - mapannounce "job_hunte"," ## Cancellation warp activating... ## ",bc_map; + 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 "Waiting Room#hnt::OnReset"; + donpcevent "Manager#hnt::OnReset"; + donpcevent "Waiting Room#hnt::OnStart"; end; } OnDisable: - donpcevent "exit#hnttest::OnDisable"; - hideonnpc "switch#hnt"; + disablenpc "exit#hnttest"; + disablenpc "Switch#hnt"; end; OnEnable: - hideoffnpc "switch#hnt"; + enablenpc "Switch#hnt"; end; } job_hunte,89,139,0 script exit#hnttest 45,2,2,{ +OnInit: + disablenpc "exit#hnttest"; + end; OnTouch: - donpcevent "Waiting Room#hnt::OnReset"; + donpcevent "Manager#hnt::OnReset"; + donpcevent "Waiting Room#hnt::OnStart"; set HNTR_Q,16; changequest 4011,4012; savepoint "payon",104,99; - set .@whe,rand(1,2); - if (.@whe == 1) { + if (rand(1)) warp "payon_in02",21,27; - } - else { - warp "payon_in03",128,7; - } - end; - -OnInit: - hideonnpc "exit#hnttest"; - end; - -OnEnable: - hideoffnpc "exit#hnttest"; - end; - -OnDisable: - hideonnpc "exit#hnttest"; - end; -} - -job_hunte,89,103,0 script hnt_backers 139,42,42,{ - -OnTouch: - warp "job_hunte",176,22; - set HNTR_Q,13; - end; - -OnInit: - hideonnpc "hnt_backers"; - end; - -OnEnable: - hideoffnpc "hnt_backers"; - end; - -OnDisable: - hideonnpc "hnt_backers"; - end; + warp "payon_in03",128,7; } -- script hnt_job_quest_test::hntjqt -1,{ - +// Hunter Job test traps. +//============================================================ +job_hunte,52,140,0 script 1-1::HntTrap -1,0,1,{ OnTouch: - switch(rand(1,128)){ - 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 11: mapannounce "job_hunte"," " + strcharinfo(0) + "... aww~ Try again! You can do it!",bc_map; break; - case 12: mapannounce "job_hunte"," " + strcharinfo(0) + ", @#$%#^!@ and you wanna be a what? Hunter? Get back there!",bc_map; break; - case 13: mapannounce "job_hunte"," " + strcharinfo(0) + " was defeated by the forces of evil. Don't give up, hero!",bc_map; break; - case 14: mapannounce "job_hunte","I put a spell on you " + strcharinfo(0) + " and now you're mine! Go start over now.",bc_map; break; - case 15: 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 16: mapannounce "job_hunte","That's my nest " + strcharinfo(0) + "! dont step there, squawk~ Start over.",bc_map; break; - case 17: mapannounce "job_hunte"," " + strcharinfo(0) + ", another archer down. 3 more to go!",bc_map; break; - case 18: mapannounce "job_hunte"," " + strcharinfo(0) + ", have you got what it takes? Then try again.",bc_map; break; - case 19: 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 20: mapannounce "job_hunte"," " + strcharinfo(0) + " had too much prune juice to drink today. Back 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","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; - case 42: 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 43: 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 44: mapannounce "job_hunte"," " + strcharinfo(0) + " fell into a trap. Once again, for clarity's sake, the name is " + strcharinfo(0) + ".",bc_map; break; - case 45: mapannounce "job_hunte","Oy oy, " + strcharinfo(0) + ".. I've seen blind Porings get further! Go back to the starting point.",bc_map; break; - case 46: 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 47: 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 48: 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 49: 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 50: mapannounce "job_hunte"," " + strcharinfo(0) + ", do you have any idea where you're going? Start over *sigh*.",bc_map; break; - case 51: mapannounce "job_hunte"," " + strcharinfo(0) + ", do you like green tea ice cream? No? Go back to the starting point...*hmph*",bc_map; break; - case 52: mapannounce "job_hunte","Oh, no.. " + strcharinfo(0) + ", are you hurt? Come now, let's go back to the starting point.",bc_map; break; - case 53: 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 54: 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 55: 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 56: mapannounce "job_hunte","Oh, " + strcharinfo(0) + ".. You can do better. Try again!",bc_map; break; - case 57: 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 58: 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 59: mapannounce "job_hunte"," " + strcharinfo(0) + " faaaaaaaaaaaaaaaaailed.. Hehe, just kidding. You will be returned to the starting point so try again!",bc_map; break; - case 60: 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 61: mapannounce "job_hunte"," " + strcharinfo(0) + ", HAHAHAHAHAHA!!!! I can't believe you fell for that one!",bc_map; break; - case 62: 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 63: 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 64: 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 65: mapannounce "job_hunte"," " + strcharinfo(0) + ", OW...now that's gotta hurt. Back to the start~",bc_map; break; - case 66: mapannounce "job_hunte"," " + strcharinfo(0) + ", I find your lack of faith disturbing... Let's start over.",bc_map; break; - case 67: 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 68: 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 69: 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 70: mapannounce "job_hunte"," " + strcharinfo(0) + ", try not. Do or do not. There is no try.",bc_map; break; - case 71: mapannounce "job_hunte"," " + strcharinfo(0) + ", that is why you fail. Now try again!",bc_map; break; - case 72: 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 73: mapannounce "job_hunte"," " + strcharinfo(0) + ", you are beaten. It is useless to resist.",bc_map; break; - case 74: mapannounce "job_hunte"," " + strcharinfo(0) + ", I'm looking forward to completing your training. In time you will call me Master.",bc_map; break; - case 75: mapannounce "job_hunte"," " + strcharinfo(0) + ", your overconfidence is your weakness.",bc_map; break; - case 76: mapannounce "job_hunte"," " + strcharinfo(0) + ", watch your step. This place can be a little rough.",bc_map; break; - case 77: mapannounce "job_hunte"," " + strcharinfo(0) + ", oh I told you it was dangerous here.",bc_map; break; - case 78: mapannounce "job_hunte"," " + strcharinfo(0) + ", everything is proceeding as I have foreseen.",bc_map; break; - case 79: mapannounce "job_hunte"," " + strcharinfo(0) + ", you should have not come back.",bc_map; break; - case 80: mapannounce "job_hunte"," " + strcharinfo(0) + ", there are alternatives to fighting. But not to losing to this test. Now try again!",bc_map; break; - case 81: 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 82: mapannounce "job_hunte"," " + strcharinfo(0) + ", we do not train to be merciful here, mercy is for the weak!",bc_map; break; - case 83: mapannounce "job_hunte"," " + strcharinfo(0) + ", defeat does not exist here, does it?!",bc_map; break; - case 84: mapannounce "job_hunte"," " + strcharinfo(0) + ", concentrate. Focus your powers!",bc_map; break; - case 85: mapannounce "job_hunte"," " + strcharinfo(0) + ", am I going mad, or did the word -think- escape your lips?",bc_map; break; - case 86: mapannounce "job_hunte"," " + strcharinfo(0) + ", you're just stalling now.",bc_map; break; - case 87: mapannounce "job_hunte"," " + strcharinfo(0) + ", life isn't always fair.",bc_map; break; - case 88: mapannounce "job_hunte"," " + strcharinfo(0) + ".... Uhhh...it's not OUR fault....",bc_map; break; - case 89: mapannounce "job_hunte"," " + strcharinfo(0) + ", survivability takes priority.",bc_map; break; - case 90: mapannounce "job_hunte"," " + strcharinfo(0) + ", people have the strength to overcome their obstacles...everyone can.",bc_map; break; - case 91: 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 92: mapannounce "job_hunte"," " + strcharinfo(0) + ", some things are real and some things are false. Can't you tell the difference?",bc_map; break; - case 93: 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 94: mapannounce "job_hunte"," " + strcharinfo(0) + ", I'll give you just one piece of advice... dying hurts like hell.",bc_map; break; - case 95: mapannounce "job_hunte"," " + strcharinfo(0) + ", don't give up the spirit! Just be more careful...",bc_map; break; - case 96: 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 97: 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 98: 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 99: 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 100: 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 101: mapannounce "job_hunte"," " + strcharinfo(0) + ", ....Chii?",bc_map; break; - case 102: mapannounce "job_hunte"," " + strcharinfo(0) + ", Mine! Mine! Mine! Mine!",bc_map; break; - case 103: mapannounce "job_hunte"," " + strcharinfo(0) + ", it's time to duel!",bc_map; break; - case 104: mapannounce "job_hunte"," " + strcharinfo(0) + ", I choose you!...wait... uagh...not you!...",bc_map; break; - case 105: mapannounce "job_hunte"," " + strcharinfo(0) + ", this isn't the time to be complimenting it!",bc_map; break; - case 106: mapannounce "job_hunte"," " + strcharinfo(0) + "...Oh great, what else could go wrong today?",bc_map; break; - case 107: 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 108: 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 109: mapannounce "job_hunte"," " + strcharinfo(0) + ", don't worry about it. We're good at fighting losing battles, remember?",bc_map; break; - case 110: 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 111: mapannounce "job_hunte"," " + strcharinfo(0) + ", you must forget about your past for the sake of your own happiness.",bc_map; break; - case 112: mapannounce "job_hunte"," " + strcharinfo(0) + ", if you can fool your friends, you can fool your enemies.",bc_map; break; - case 113: mapannounce "job_hunte"," " + strcharinfo(0) + ", this world is made up of love and peace!",bc_map; break; - case 114: mapannounce "job_hunte"," " + strcharinfo(0) + ", if you fail, you must drink this.....*evil grin*",bc_map; break; - case 115: mapannounce "job_hunte"," " + strcharinfo(0) + ", don't say we didn't warn you!",bc_map; break; - case 116: 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 117: mapannounce "job_hunte"," " + strcharinfo(0) + ", STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!",bc_map; break; - case 118: mapannounce "job_hunte"," " + strcharinfo(0) + ", how you like me now? That's right, that was MY trap!",bc_map; break; - case 119: mapannounce "job_hunte"," " + strcharinfo(0) + "...brilliant...just absolutely...genius. Sorry, I was talking about all these crazy traps.",bc_map; break; - case 120: mapannounce "job_hunte"," " + strcharinfo(0) + ", it's time to bust out of that trap, Houdini-style! Hey, wait...come back!",bc_map; break; - case 121: 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 122: mapannounce "job_hunte"," " + strcharinfo(0) + "...not smooth, dude. Go for it again, one more time!",bc_map; break; - case 123: mapannounce "job_hunte"," " + strcharinfo(0) + ",it looks like you could really be in a pickle. Back to the starting point...",bc_map; break; - case 124: 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 125: 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 126: mapannounce "job_hunte"," " + strcharinfo(0) + ", don't give up! The world still needs you!",bc_map; break; - case 127: mapannounce "job_hunte"," " + strcharinfo(0) + ", it's okay to cry. Just not too loudly.",bc_map; break; - case 128: 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; - default: mapannounce "job_hunte"," " + strcharinfo(0) + ", you have fallen into a trap. You will be returned to the starting point.",bc_map; break; + 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 job_hunter,13; + set HNTR_Q,13; warp "job_hunte",176,22; - donpcevent "Waiting Room#hnt::OnReset"; donpcevent "Manager#hnt::OnReset"; - donpcevent "Manager#hnt2::OnReset"; - donpcevent "Manager#hnt::OnDisable"; - donpcevent "Manager#hnt2::OnDisable"; - end; - -OnEnable: - hideoffnpc "1-1"; - hideoffnpc "1-2"; - hideoffnpc "1-3"; - hideoffnpc "1-4"; - hideoffnpc "1-5"; - hideoffnpc "1-6"; - hideoffnpc "1-7"; - hideoffnpc "1-8"; - hideoffnpc "2-1"; - hideoffnpc "2-2"; - hideoffnpc "2-3"; - hideoffnpc "2-4"; - hideoffnpc "2-5"; - hideoffnpc "2-6"; - hideoffnpc "2-7"; - hideoffnpc "2-8"; - hideoffnpc "3-1"; - hideoffnpc "3-2"; - hideoffnpc "3-3"; - hideoffnpc "3-4"; - hideoffnpc "4-1"; - hideoffnpc "4-2"; - hideoffnpc "4-3"; - hideoffnpc "4-4"; - hideoffnpc "5-1"; - hideoffnpc "5-2"; - hideoffnpc "5-3"; - hideoffnpc "5-4"; - hideoffnpc "6-1"; - hideoffnpc "6-2"; - hideoffnpc "6-3"; - hideoffnpc "6-4"; - hideoffnpc "7-1"; - hideoffnpc "7-2"; - hideoffnpc "7-3"; - hideoffnpc "7-4"; - hideoffnpc "8-1"; - hideoffnpc "8-2"; - hideoffnpc "8-3"; - hideoffnpc "8-4"; - hideoffnpc "9-1"; - hideoffnpc "9-2"; - hideoffnpc "9-3"; - hideoffnpc "9-4"; - hideoffnpc "10-1"; - hideoffnpc "10-2"; - hideoffnpc "10-3"; - hideoffnpc "10-4"; - hideoffnpc "11-1"; - hideoffnpc "11-2"; - hideoffnpc "11-3"; - hideoffnpc "11-4"; - hideoffnpc "12-1"; - hideoffnpc "12-2"; - hideoffnpc "12-3"; - hideoffnpc "12-4"; - hideoffnpc "13-1"; - hideoffnpc "13-2"; - hideoffnpc "13-3"; - hideoffnpc "13-4"; - hideoffnpc "14-1"; - hideoffnpc "14-2"; - hideoffnpc "14-3"; - hideoffnpc "14-4"; - hideoffnpc "15-1"; - hideoffnpc "15-2"; - hideoffnpc "15-3"; - hideoffnpc "15-4"; - hideoffnpc "16-1"; - hideoffnpc "16-2"; - hideoffnpc "16-3"; - hideoffnpc "16-4"; - hideoffnpc "17-1"; - hideoffnpc "17-2"; - hideoffnpc "17-3"; - hideoffnpc "17-4"; - hideoffnpc "18-1"; - hideoffnpc "18-2"; - hideoffnpc "18-3"; - hideoffnpc "18-4"; - hideoffnpc "19-1"; - hideoffnpc "19-2"; - hideoffnpc "19-3"; - hideoffnpc "19-4"; - hideoffnpc "20-1"; - hideoffnpc "20-2"; - hideoffnpc "20-3"; - hideoffnpc "20-4"; - hideoffnpc "21-1"; - hideoffnpc "21-2"; - hideoffnpc "21-3"; - hideoffnpc "21-4"; - hideoffnpc "22-1"; - hideoffnpc "22-2"; - hideoffnpc "22-3"; - hideoffnpc "22-4"; - hideoffnpc "23-1"; - hideoffnpc "23-2"; - hideoffnpc "23-3"; - hideoffnpc "23-4"; - hideoffnpc "24-1"; - hideoffnpc "24-2"; - hideoffnpc "24-3"; - hideoffnpc "24-4"; - hideoffnpc "25-1"; - hideoffnpc "25-2"; - hideoffnpc "25-3"; - hideoffnpc "25-4"; - hideoffnpc "26-1"; - hideoffnpc "26-2"; - hideoffnpc "26-3"; - hideoffnpc "26-4"; - hideoffnpc "27-1"; - hideoffnpc "27-2"; - hideoffnpc "27-3"; - hideoffnpc "27-4"; - hideoffnpc "28-1"; - hideoffnpc "28-2"; - hideoffnpc "28-3"; - hideoffnpc "28-4"; - hideoffnpc "29-1"; - hideoffnpc "29-2"; - hideoffnpc "29-3"; - hideoffnpc "29-4"; - hideoffnpc "30-1"; - hideoffnpc "30-2"; - hideoffnpc "30-3"; - hideoffnpc "30-4"; - hideoffnpc "31-1"; - hideoffnpc "31-2"; - hideoffnpc "31-3"; - hideoffnpc "31-4"; - hideoffnpc "32-1"; - hideoffnpc "32-2"; - hideoffnpc "32-3"; - hideoffnpc "32-4"; - hideoffnpc "33-1"; - hideoffnpc "33-2"; - hideoffnpc "33-3"; - hideoffnpc "33-4"; - hideoffnpc "34-1"; - hideoffnpc "34-2"; - hideoffnpc "34-3"; - hideoffnpc "34-4"; - hideoffnpc "35-1"; - hideoffnpc "35-2"; - hideoffnpc "35-3"; - hideoffnpc "35-4"; - hideoffnpc "36-1"; - hideoffnpc "36-2"; - hideoffnpc "36-3"; - hideoffnpc "36-4"; - hideoffnpc "37-1"; - hideoffnpc "37-2"; - hideoffnpc "37-3"; - hideoffnpc "37-4"; - hideoffnpc "38-1"; - hideoffnpc "38-2"; - hideoffnpc "38-3"; - hideoffnpc "38-4"; - hideoffnpc "39-1"; - hideoffnpc "39-2"; - hideoffnpc "39-3"; - hideoffnpc "39-4"; - hideoffnpc "40-1"; - hideoffnpc "40-2"; - hideoffnpc "40-3"; - hideoffnpc "40-4"; - hideoffnpc "41-1"; - hideoffnpc "41-2"; - hideoffnpc "41-3"; - hideoffnpc "41-4"; - hideoffnpc "42-1"; - hideoffnpc "42-2"; - hideoffnpc "42-3"; - hideoffnpc "42-4"; - hideoffnpc "43-1"; - hideoffnpc "43-2"; - hideoffnpc "43-3"; - hideoffnpc "43-4"; - hideoffnpc "44-1"; - hideoffnpc "44-2"; - hideoffnpc "44-3"; - hideoffnpc "44-4"; - hideoffnpc "45-1"; - hideoffnpc "45-2"; - hideoffnpc "45-3"; - hideoffnpc "45-4"; - hideoffnpc "46-1"; - hideoffnpc "46-2"; - hideoffnpc "46-3"; - hideoffnpc "46-4"; - hideoffnpc "47-1"; - hideoffnpc "47-2"; - hideoffnpc "47-3"; - hideoffnpc "47-4"; - hideoffnpc "48-1"; - hideoffnpc "48-2"; - hideoffnpc "48-3"; - hideoffnpc "48-4"; - hideoffnpc "49-1"; - hideoffnpc "49-2"; - hideoffnpc "49-3"; - hideoffnpc "49-4"; - hideoffnpc "50-1"; - hideoffnpc "50-2"; - hideoffnpc "50-3"; - hideoffnpc "50-4"; - hideoffnpc "51-1"; - hideoffnpc "51-2"; - hideoffnpc "51-3"; - hideoffnpc "51-4"; - hideoffnpc "52-1"; - hideoffnpc "52-2"; - hideoffnpc "52-3"; - hideoffnpc "52-4"; - hideoffnpc "53-1"; - hideoffnpc "53-2"; - hideoffnpc "53-3"; - hideoffnpc "53-4"; - hideoffnpc "54-1"; - hideoffnpc "54-2"; - hideoffnpc "54-3"; - hideoffnpc "54-4"; - hideoffnpc "55-1"; - hideoffnpc "55-2"; - hideoffnpc "55-3"; - hideoffnpc "55-4"; - hideoffnpc "56-1"; - hideoffnpc "56-2"; - hideoffnpc "56-3"; - hideoffnpc "56-4"; - hideoffnpc "56-6"; - hideoffnpc "56-7"; - hideoffnpc "56-8"; - hideoffnpc "57-1"; - hideoffnpc "57-2"; - hideoffnpc "57-3"; - end; - -OnDisable: - hideonnpc "1-1"; - hideonnpc "1-2"; - hideonnpc "1-3"; - hideonnpc "1-4"; - hideonnpc "1-5"; - hideonnpc "1-6"; - hideonnpc "1-7"; - hideonnpc "1-8"; - hideonnpc "2-1"; - hideonnpc "2-2"; - hideonnpc "2-3"; - hideonnpc "2-4"; - hideonnpc "2-5"; - hideonnpc "2-6"; - hideonnpc "2-7"; - hideonnpc "2-8"; - hideonnpc "3-1"; - hideonnpc "3-2"; - hideonnpc "3-3"; - hideonnpc "3-4"; - hideonnpc "4-1"; - hideonnpc "4-2"; - hideonnpc "4-3"; - hideonnpc "4-4"; - hideonnpc "5-1"; - hideonnpc "5-2"; - hideonnpc "5-3"; - hideonnpc "5-4"; - hideonnpc "6-1"; - hideonnpc "6-2"; - hideonnpc "6-3"; - hideonnpc "6-4"; - hideonnpc "7-1"; - hideonnpc "7-2"; - hideonnpc "7-3"; - hideonnpc "7-4"; - hideonnpc "8-1"; - hideonnpc "8-2"; - hideonnpc "8-3"; - hideonnpc "8-4"; - hideonnpc "9-1"; - hideonnpc "9-2"; - hideonnpc "9-3"; - hideonnpc "9-4"; - hideonnpc "10-1"; - hideonnpc "10-2"; - hideonnpc "10-3"; - hideonnpc "10-4"; - hideonnpc "11-1"; - hideonnpc "11-2"; - hideonnpc "11-3"; - hideonnpc "11-4"; - hideonnpc "12-1"; - hideonnpc "12-2"; - hideonnpc "12-3"; - hideonnpc "12-4"; - hideonnpc "13-1"; - hideonnpc "13-2"; - hideonnpc "13-3"; - hideonnpc "13-4"; - hideonnpc "14-1"; - hideonnpc "14-2"; - hideonnpc "14-3"; - hideonnpc "14-4"; - hideonnpc "15-1"; - hideonnpc "15-2"; - hideonnpc "15-3"; - hideonnpc "15-4"; - hideonnpc "16-1"; - hideonnpc "16-2"; - hideonnpc "16-3"; - hideonnpc "16-4"; - hideonnpc "17-1"; - hideonnpc "17-2"; - hideonnpc "17-3"; - hideonnpc "17-4"; - hideonnpc "18-1"; - hideonnpc "18-2"; - hideonnpc "18-3"; - hideonnpc "18-4"; - hideonnpc "19-1"; - hideonnpc "19-2"; - hideonnpc "19-3"; - hideonnpc "19-4"; - hideonnpc "20-1"; - hideonnpc "20-2"; - hideonnpc "20-3"; - hideonnpc "20-4"; - hideonnpc "21-1"; - hideonnpc "21-2"; - hideonnpc "21-3"; - hideonnpc "21-4"; - hideonnpc "22-1"; - hideonnpc "22-2"; - hideonnpc "22-3"; - hideonnpc "22-4"; - hideonnpc "23-1"; - hideonnpc "23-2"; - hideonnpc "23-3"; - hideonnpc "23-4"; - hideonnpc "24-1"; - hideonnpc "24-2"; - hideonnpc "24-3"; - hideonnpc "24-4"; - hideonnpc "25-1"; - hideonnpc "25-2"; - hideonnpc "25-3"; - hideonnpc "25-4"; - hideonnpc "26-1"; - hideonnpc "26-2"; - hideonnpc "26-3"; - hideonnpc "26-4"; - hideonnpc "27-1"; - hideonnpc "27-2"; - hideonnpc "27-3"; - hideonnpc "27-4"; - hideonnpc "28-1"; - hideonnpc "28-2"; - hideonnpc "28-3"; - hideonnpc "28-4"; - hideonnpc "29-1"; - hideonnpc "29-2"; - hideonnpc "29-3"; - hideonnpc "29-4"; - hideonnpc "30-1"; - hideonnpc "30-2"; - hideonnpc "30-3"; - hideonnpc "30-4"; - hideonnpc "31-1"; - hideonnpc "31-2"; - hideonnpc "31-3"; - hideonnpc "31-4"; - hideonnpc "32-1"; - hideonnpc "32-2"; - hideonnpc "32-3"; - hideonnpc "32-4"; - hideonnpc "33-1"; - hideonnpc "33-2"; - hideonnpc "33-3"; - hideonnpc "33-4"; - hideonnpc "34-1"; - hideonnpc "34-2"; - hideonnpc "34-3"; - hideonnpc "34-4"; - hideonnpc "35-1"; - hideonnpc "35-2"; - hideonnpc "35-3"; - hideonnpc "35-4"; - hideonnpc "36-1"; - hideonnpc "36-2"; - hideonnpc "36-3"; - hideonnpc "36-4"; - hideonnpc "37-1"; - hideonnpc "37-2"; - hideonnpc "37-3"; - hideonnpc "37-4"; - hideonnpc "38-1"; - hideonnpc "38-2"; - hideonnpc "38-3"; - hideonnpc "38-4"; - hideonnpc "39-1"; - hideonnpc "39-2"; - hideonnpc "39-3"; - hideonnpc "39-4"; - hideonnpc "40-1"; - hideonnpc "40-2"; - hideonnpc "40-3"; - hideonnpc "40-4"; - hideonnpc "41-1"; - hideonnpc "41-2"; - hideonnpc "41-3"; - hideonnpc "41-4"; - hideonnpc "42-1"; - hideonnpc "42-2"; - hideonnpc "42-3"; - hideonnpc "42-4"; - hideonnpc "43-1"; - hideonnpc "43-2"; - hideonnpc "43-3"; - hideonnpc "43-4"; - hideonnpc "44-1"; - hideonnpc "44-2"; - hideonnpc "44-3"; - hideonnpc "44-4"; - hideonnpc "45-1"; - hideonnpc "45-2"; - hideonnpc "45-3"; - hideonnpc "45-4"; - hideonnpc "46-1"; - hideonnpc "46-2"; - hideonnpc "46-3"; - hideonnpc "46-4"; - hideonnpc "47-1"; - hideonnpc "47-2"; - hideonnpc "47-3"; - hideonnpc "47-4"; - hideonnpc "48-1"; - hideonnpc "48-2"; - hideonnpc "48-3"; - hideonnpc "48-4"; - hideonnpc "49-1"; - hideonnpc "49-2"; - hideonnpc "49-3"; - hideonnpc "49-4"; - hideonnpc "50-1"; - hideonnpc "50-2"; - hideonnpc "50-3"; - hideonnpc "50-4"; - hideonnpc "51-1"; - hideonnpc "51-2"; - hideonnpc "51-3"; - hideonnpc "51-4"; - hideonnpc "52-1"; - hideonnpc "52-2"; - hideonnpc "52-3"; - hideonnpc "52-4"; - hideonnpc "53-1"; - hideonnpc "53-2"; - hideonnpc "53-3"; - hideonnpc "53-4"; - hideonnpc "54-1"; - hideonnpc "54-2"; - hideonnpc "54-3"; - hideonnpc "54-4"; - hideonnpc "55-1"; - hideonnpc "55-2"; - hideonnpc "55-3"; - hideonnpc "55-4"; - hideonnpc "56-1"; - hideonnpc "56-2"; - hideonnpc "56-3"; - hideonnpc "56-4"; - hideonnpc "56-6"; - hideonnpc "56-7"; - hideonnpc "56-8"; - hideonnpc "57-1"; - hideonnpc "57-2"; - hideonnpc "57-3"; + donpcevent "Waiting Room#hnt::OnStart"; end; } -job_hunte,52,140,0 duplicate(hntjqt) 1-1 139,0,1 -job_hunte,53,140,0 duplicate(hntjqt) 1-2 139,0,1 -job_hunte,54,141,0 duplicate(hntjqt) 1-3 139 -job_hunte,55,141,0 duplicate(hntjqt) 1-4 139 -job_hunte,55,140,0 duplicate(hntjqt) 1-5 139 -job_hunte,54,140,0 duplicate(hntjqt) 1-6 139 -job_hunte,52,138,0 duplicate(hntjqt) 1-7 139 -job_hunte,53,138,0 duplicate(hntjqt) 1-8 139 -job_hunte,62,140,0 duplicate(hntjqt) 2-1 139,0,1 -job_hunte,63,140,0 duplicate(hntjqt) 2-2 139,0,1 -job_hunte,64,140,0 duplicate(hntjqt) 2-3 139 -job_hunte,64,141,0 duplicate(hntjqt) 2-4 139 -job_hunte,65,140,0 duplicate(hntjqt) 2-5 139 -job_hunte,65,141,0 duplicate(hntjqt) 2-6 139 -job_hunte,62,138,0 duplicate(hntjqt) 2-7 139 -job_hunte,63,138,0 duplicate(hntjqt) 2-8 139 -job_hunte,72,140,0 duplicate(hntjqt) 3-1 139,0,1 -job_hunte,73,140,0 duplicate(hntjqt) 3-2 139,0,1 -job_hunte,72,138,0 duplicate(hntjqt) 3-3 139 -job_hunte,72,138,0 duplicate(hntjqt) 3-4 139 -job_hunte,78,140,0 duplicate(hntjqt) 4-1 139 -job_hunte,78,141,0 duplicate(hntjqt) 4-2 139 -job_hunte,79,140,0 duplicate(hntjqt) 4-3 139 -job_hunte,79,141,0 duplicate(hntjqt) 4-4 139 -job_hunte,82,138,0 duplicate(hntjqt) 5-1 139 -job_hunte,82,139,0 duplicate(hntjqt) 5-2 139 -job_hunte,83,138,0 duplicate(hntjqt) 5-3 139 -job_hunte,83,139,0 duplicate(hntjqt) 5-4 139 -job_hunte,99,138,0 duplicate(hntjqt) 6-1 139,1,0 -job_hunte,99,139,0 duplicate(hntjqt) 6-2 139,1,0 -job_hunte,101,138,0 duplicate(hntjqt) 6-3 139 -job_hunte,101,139,0 duplicate(hntjqt) 6-4 139 -job_hunte,106,140,0 duplicate(hntjqt) 7-1 139,0,1 -job_hunte,107,140,0 duplicate(hntjqt) 7-2 139,0,1 -job_hunte,106,138,0 duplicate(hntjqt) 7-3 139 -job_hunte,107,138,0 duplicate(hntjqt) 7-4 139 -job_hunte,112,140,0 duplicate(hntjqt) 8-1 139 -job_hunte,112,141,0 duplicate(hntjqt) 8-2 139 -job_hunte,113,140,0 duplicate(hntjqt) 8-3 139 -job_hunte,113,141,0 duplicate(hntjqt) 8-4 139 -job_hunte,116,140,0 duplicate(hntjqt) 9-1 139 -job_hunte,116,141,0 duplicate(hntjqt) 9-2 139 -job_hunte,117,140,0 duplicate(hntjqt) 9-3 139 -job_hunte,117,141,0 duplicate(hntjqt) 9-4 139 -job_hunte,120,138,0 duplicate(hntjqt) 10-1 139 -job_hunte,120,139,0 duplicate(hntjqt) 10-2 139 -job_hunte,121,138,0 duplicate(hntjqt) 10-3 139 -job_hunte,121,139,0 duplicate(hntjqt) 10-4 139 -job_hunte,126,139,0 duplicate(hntjqt) 11-1 139,0,2 -job_hunte,127,139,0 duplicate(hntjqt) 11-2 139,0,2 -job_hunte,126,136,0 duplicate(hntjqt) 11-3 139 -job_hunte,127,136,0 duplicate(hntjqt) 11-4 139 -job_hunte,52,134,0 duplicate(hntjqt) 12-1 139,0,1 -job_hunte,53,134,0 duplicate(hntjqt) 12-2 139,0,1 -job_hunte,52,132,0 duplicate(hntjqt) 12-3 139 -job_hunte,53,132,0 duplicate(hntjqt) 12-4 139 -job_hunte,124,130,0 duplicate(hntjqt) 13-1 139 -job_hunte,124,131,0 duplicate(hntjqt) 13-2 139 -job_hunte,125,130,0 duplicate(hntjqt) 13-3 139 -job_hunte,125,131,0 duplicate(hntjqt) 13-4 139 -job_hunte,64,128,0 duplicate(hntjqt) 14-1 139 -job_hunte,64,129,0 duplicate(hntjqt) 14-2 139 -job_hunte,65,128,0 duplicate(hntjqt) 14-3 139 -job_hunte,65,129,0 duplicate(hntjqt) 14-4 139 -job_hunte,68,126,0 duplicate(hntjqt) 15-1 139 -job_hunte,68,127,0 duplicate(hntjqt) 15-2 139 -job_hunte,69,126,0 duplicate(hntjqt) 15-3 139 -job_hunte,69,127,0 duplicate(hntjqt) 15-4 139 -job_hunte,75,128,0 duplicate(hntjqt) 16-1 139,1,0 -job_hunte,75,129,0 duplicate(hntjqt) 16-2 139,1,0 -job_hunte,77,128,0 duplicate(hntjqt) 16-3 139 -job_hunte,77,129,0 duplicate(hntjqt) 16-4 139 -job_hunte,82,126,0 duplicate(hntjqt) 17-1 139 -job_hunte,82,127,0 duplicate(hntjqt) 17-2 139 -job_hunte,83,126,0 duplicate(hntjqt) 17-3 139 -job_hunte,83,127,0 duplicate(hntjqt) 17-4 139 -job_hunte,96,128,0 duplicate(hntjqt) 18-1 139 -job_hunte,96,129,0 duplicate(hntjqt) 18-2 139 -job_hunte,97,128,0 duplicate(hntjqt) 18-3 139 -job_hunte,97,129,0 duplicate(hntjqt) 18-4 139 -job_hunte,100,126,0 duplicate(hntjqt) 19-1 139 -job_hunte,100,127,0 duplicate(hntjqt) 19-2 139 -job_hunte,101,126,0 duplicate(hntjqt) 19-3 139 -job_hunte,101,127,0 duplicate(hntjqt) 19-4 139 -job_hunte,106,128,0 duplicate(hntjqt) 20-1 139 -job_hunte,106,129,0 duplicate(hntjqt) 20-2 139 -job_hunte,107,128,0 duplicate(hntjqt) 20-3 139 -job_hunte,107,129,0 duplicate(hntjqt) 20-4 139 -job_hunte,112,126,0 duplicate(hntjqt) 21-1 139 -job_hunte,112,127,0 duplicate(hntjqt) 21-2 139 -job_hunte,113,126,0 duplicate(hntjqt) 21-3 139 -job_hunte,113,127,0 duplicate(hntjqt) 21-4 139 -job_hunte,126,126,0 duplicate(hntjqt) 22-1 139 -job_hunte,126,127,0 duplicate(hntjqt) 22-2 139 -job_hunte,127,126,0 duplicate(hntjqt) 22-3 139 -job_hunte,127,127,0 duplicate(hntjqt) 22-4 139 -job_hunte,52,122,0 duplicate(hntjqt) 23-1 139,0,1 -job_hunte,52,122,0 duplicate(hntjqt) 23-2 139,0,1 -job_hunte,53,120,0 duplicate(hntjqt) 23-3 139,1,0 -job_hunte,54,121,0 duplicate(hntjqt) 23-4 139 -job_hunte,55,121,0 duplicate(hntjqt) 23-5 139 -job_hunte,55,120,0 duplicate(hntjqt) 23-6 139 -job_hunte,66,120,0 duplicate(hntjqt) 24-1 139 -job_hunte,66,121,0 duplicate(hntjqt) 24-2 139 -job_hunte,67,120,0 duplicate(hntjqt) 24-3 139 -job_hunte,67,121,0 duplicate(hntjqt) 24-4 139 -job_hunte,114,118,0 duplicate(hntjqt) 25-1 139 -job_hunte,114,119,0 duplicate(hntjqt) 25-2 139 -job_hunte,115,118,0 duplicate(hntjqt) 25-3 139 -job_hunte,115,119,0 duplicate(hntjqt) 25-4 139 -job_hunte,124,120,0 duplicate(hntjqt) 26-1 139,0,1 -job_hunte,125,120,0 duplicate(hntjqt) 26-2 139,0,1 -job_hunte,124,118,0 duplicate(hntjqt) 26-3 139 -job_hunte,125,118,0 duplicate(hntjqt) 26-4 139 -job_hunte,66,116,0 duplicate(hntjqt) 27-1 139 -job_hunte,66,117,0 duplicate(hntjqt) 27-2 139 -job_hunte,67,116,0 duplicate(hntjqt) 27-3 139 -job_hunte,67,117,0 duplicate(hntjqt) 27-4 139 -job_hunte,76,114,0 duplicate(hntjqt) 28-1 139 -job_hunte,76,115,0 duplicate(hntjqt) 28-2 139 -job_hunte,77,114,0 duplicate(hntjqt) 28-3 139 -job_hunte,77,115,0 duplicate(hntjqt) 28-4 139 -job_hunte,82,116,0 duplicate(hntjqt) 29-1 139 -job_hunte,82,117,0 duplicate(hntjqt) 29-2 139 -job_hunte,83,116,0 duplicate(hntjqt) 29-3 139 -job_hunte,83,117,0 duplicate(hntjqt) 29-4 139 -job_hunte,86,114,0 duplicate(hntjqt) 30-1 139 -job_hunte,86,115,0 duplicate(hntjqt) 30-2 139 -job_hunte,87,114,0 duplicate(hntjqt) 30-3 139 -job_hunte,87,115,0 duplicate(hntjqt) 30-4 139 -job_hunte,92,115,0 duplicate(hntjqt) 31-1 139,1,0 -job_hunte,92,114,0 duplicate(hntjqt) 31-2 139,1,0 -job_hunte,90,115,0 duplicate(hntjqt) 31-3 139 -job_hunte,102,116,0 duplicate(hntjqt) 32-1 139 -job_hunte,102,117,0 duplicate(hntjqt) 32-2 139 -job_hunte,103,116,0 duplicate(hntjqt) 32-3 139 -job_hunte,103,117,0 duplicate(hntjqt) 32-4 139 -job_hunte,114,114,0 duplicate(hntjqt) 33-1 139 -job_hunte,114,115,0 duplicate(hntjqt) 33-2 139 -job_hunte,115,114,0 duplicate(hntjqt) 33-3 139 -job_hunte,115,115,0 duplicate(hntjqt) 33-4 139 -job_hunte,54,110,0 duplicate(hntjqt) 34-1 139,0,1 -job_hunte,55,110,0 duplicate(hntjqt) 34-2 139,0,1 -job_hunte,54,108,0 duplicate(hntjqt) 34-3 139 -job_hunte,55,108,0 duplicate(hntjqt) 34-4 139 -job_hunte,64,112,0 duplicate(hntjqt) 35-1 139 -job_hunte,64,113,0 duplicate(hntjqt) 35-2 139 -job_hunte,65,112,0 duplicate(hntjqt) 35-3 139 -job_hunte,65,113,0 duplicate(hntjqt) 35-4 139 -job_hunte,80,110,0 duplicate(hntjqt) 36-1 139 -job_hunte,80,111,0 duplicate(hntjqt) 36-2 139 -job_hunte,81,110,0 duplicate(hntjqt) 36-3 139 -job_hunte,81,111,0 duplicate(hntjqt) 36-4 139 -job_hunte,90,108,0 duplicate(hntjqt) 37-1 139,0,6 -job_hunte,91,108,0 duplicate(hntjqt) 37-2 139,0,5 -job_hunte,91,102,0 duplicate(hntjqt) 37-3 139 -job_hunte,98,109,0 duplicate(hntjqt) 38-1 139,0,2 -job_hunte,99,109,0 duplicate(hntjqt) 38-2 139,0,2 -job_hunte,103,109,0 duplicate(hntjqt) 38-3 139,3,0 -job_hunte,103,108,0 duplicate(hntjqt) 38-4 139,3,0 -job_hunte,97,106,0 duplicate(hntjqt) 39-1 139,2,0 -job_hunte,96,107,0 duplicate(hntjqt) 39-2 139,1,0 -job_hunte,94,108,0 duplicate(hntjqt) 39-3 139,0,1 -job_hunte,95,109,0 duplicate(hntjqt) 39-4 139 -job_hunte,95,108,0 duplicate(hntjqt) 40-1 139 -job_hunte,94,106,0 duplicate(hntjqt) 40-2 139 -job_hunte,96,102,0 duplicate(hntjqt) 40-3 139,0,3 -job_hunte,97,102,0 duplicate(hntjqt) 40-4 139,0,3 -job_hunte,95,98,0 duplicate(hntjqt) 41-1 139,2,0 -job_hunte,94,99,0 duplicate(hntjqt) 42-1 139,1,0 -job_hunte,92,98,0 duplicate(hntjqt) 43-1 139 -job_hunte,112,110,0 duplicate(hntjqt) 44-1 139 -job_hunte,112,111,0 duplicate(hntjqt) 44-2 139 -job_hunte,113,110,0 duplicate(hntjqt) 44-3 139 -job_hunte,113,111,0 duplicate(hntjqt) 44-4 139 -job_hunte,126,108,0 duplicate(hntjqt) 45-1 139,0,1 -job_hunte,127,108,0 duplicate(hntjqt) 45-2 139,0,1 -job_hunte,126,106,0 duplicate(hntjqt) 45-3 139 -job_hunte,126,106,0 duplicate(hntjqt) 45-4 139 -job_hunte,53,102,0 duplicate(hntjqt) 46-1 139,1,1 -job_hunte,55,102,0 duplicate(hntjqt) 46-2 139,0,1 -job_hunte,53,100,0 duplicate(hntjqt) 46-3 139,1,0 -job_hunte,55,100,0 duplicate(hntjqt) 46-4 139 -job_hunte,64,106,0 duplicate(hntjqt) 47-1 139 -job_hunte,64,107,0 duplicate(hntjqt) 47-2 139 -job_hunte,65,106,0 duplicate(hntjqt) 47-3 139 -job_hunte,65,107,0 duplicate(hntjqt) 47-4 139 -job_hunte,66,100,0 duplicate(hntjqt) 48-1 139 -job_hunte,66,101,0 duplicate(hntjqt) 48-2 139 -job_hunte,67,100,0 duplicate(hntjqt) 48-3 139 -job_hunte,67,101,0 duplicate(hntjqt) 48-4 139 -job_hunte,86,106,0 duplicate(hntjqt) 49-1 139,0,1 -job_hunte,87,106,0 duplicate(hntjqt) 49-2 139,0,1 -job_hunte,82,104,0 duplicate(hntjqt) 49-3 139,5,0 -job_hunte,81,105,0 duplicate(hntjqt) 49-4 139,4,0 -job_hunte,76,105,0 duplicate(hntjqt) 50-1 139 -job_hunte,76,104,0 duplicate(hntjqt) 50-2 139 -job_hunte,78,101,0 duplicate(hntjqt) 50-3 139,0,2 -job_hunte,79,101,0 duplicate(hntjqt) 50-4 139,0,2 -job_hunte,76,99,0 duplicate(hntjqt) 51-1 139,1,0 -job_hunte,77,98,0 duplicate(hntjqt) 51-2 139,2,0 -job_hunte,74,99,0 duplicate(hntjqt) 51-3 139 -job_hunte,74,98,0 duplicate(hntjqt) 51-4 139 -job_hunte,82,100,0 duplicate(hntjqt) 53-1 139 -job_hunte,82,101,0 duplicate(hntjqt) 53-2 139 -job_hunte,83,100,0 duplicate(hntjqt) 53-3 139 -job_hunte,83,101,0 duplicate(hntjqt) 53-4 139 -job_hunte,106,104,0 duplicate(hntjqt) 54-1 139 -job_hunte,106,105,0 duplicate(hntjqt) 54-2 139 -job_hunte,107,104,0 duplicate(hntjqt) 54-3 139 -job_hunte,107,105,0 duplicate(hntjqt) 54-4 139 -job_hunte,112,104,0 duplicate(hntjqt) 55-1 139,0,1 -job_hunte,113,104,0 duplicate(hntjqt) 55-2 139,0,1 -job_hunte,112,102,0 duplicate(hntjqt) 55-3 139 -job_hunte,113,102,0 duplicate(hntjqt) 55-4 139 -job_hunte,54,92,0 duplicate(hntjqt) 56-1 139 -job_hunte,54,93,0 duplicate(hntjqt) 56-2 139 -job_hunte,55,92,0 duplicate(hntjqt) 56-3 139 -job_hunte,55,93,0 duplicate(hntjqt) 56-4 139 -job_hunte,52,90,0 duplicate(hntjqt) 56-5 139 -job_hunte,52,91,0 duplicate(hntjqt) 56-6 139 -job_hunte,53,90,0 duplicate(hntjqt) 56-7 139 -job_hunte,53,91,0 duplicate(hntjqt) 56-8 139 -job_hunte,64,92,0 duplicate(hntjqt) 57-1 139 -job_hunte,64,93,0 duplicate(hntjqt) 57-2 139 -job_hunte,65,92,0 duplicate(hntjqt) 57-3 139 - -- script hnt_job_quest_test2::hntjqt2 -1,{ - +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 job_hunter,13; + 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 "Waiting Room#hnt::OnReset"; donpcevent "Manager#hnt::OnReset"; - donpcevent "Manager#hnt2::OnReset"; - donpcevent "Manager#hnt::OnDisable"; - donpcevent "Manager#hnt2::OnDisable"; - end; - -OnEnable: - hideoffnpc "57-4"; - hideoffnpc "58-1"; - hideoffnpc "58-2"; - hideoffnpc "58-3"; - hideoffnpc "58-4"; - hideoffnpc "59-1"; - hideoffnpc "59-2"; - hideoffnpc "59-3"; - hideoffnpc "59-4"; - hideoffnpc "60-1"; - hideoffnpc "60-2"; - hideoffnpc "60-3"; - hideoffnpc "60-4"; - hideoffnpc "61-1"; - hideoffnpc "61-2"; - hideoffnpc "61-3"; - hideoffnpc "61-4"; - hideoffnpc "62-1"; - hideoffnpc "62-2"; - hideoffnpc "62-3"; - hideoffnpc "62-4"; - hideoffnpc "63-1"; - hideoffnpc "63-2"; - hideoffnpc "63-3"; - hideoffnpc "63-4"; - hideoffnpc "64-1"; - hideoffnpc "64-2"; - hideoffnpc "64-3"; - hideoffnpc "64-4"; - hideoffnpc "65-1"; - hideoffnpc "65-2"; - hideoffnpc "65-3"; - hideoffnpc "65-4"; - hideoffnpc "66-1"; - hideoffnpc "66-2"; - hideoffnpc "66-3"; - hideoffnpc "66-4"; - hideoffnpc "67-1"; - hideoffnpc "67-2"; - hideoffnpc "67-3"; - hideoffnpc "67-4"; - hideoffnpc "68-1"; - hideoffnpc "68-2"; - hideoffnpc "68-3"; - hideoffnpc "68-4"; - hideoffnpc "69-1"; - hideoffnpc "69-2"; - hideoffnpc "69-3"; - hideoffnpc "69-4"; - hideoffnpc "70-1"; - hideoffnpc "70-2"; - hideoffnpc "70-3"; - hideoffnpc "70-4"; - hideoffnpc "71-1"; - hideoffnpc "71-2"; - hideoffnpc "71-3"; - hideoffnpc "71-4"; - hideoffnpc "72-1"; - hideoffnpc "72-2"; - hideoffnpc "72-3"; - hideoffnpc "72-4"; - hideoffnpc "73-1"; - hideoffnpc "73-2"; - hideoffnpc "73-3"; - hideoffnpc "73-4"; - hideoffnpc "74-1"; - hideoffnpc "74-2"; - hideoffnpc "74-3"; - hideoffnpc "74-4"; - hideoffnpc "75-1"; - hideoffnpc "75-2"; - hideoffnpc "75-3"; - hideoffnpc "75-4"; - hideoffnpc "76-1"; - hideoffnpc "76-2"; - hideoffnpc "76-3"; - hideoffnpc "76-4"; - hideoffnpc "77-1"; - hideoffnpc "77-2"; - hideoffnpc "77-3"; - hideoffnpc "77-4"; - hideoffnpc "78-1"; - hideoffnpc "78-2"; - hideoffnpc "78-3"; - hideoffnpc "78-4"; - hideoffnpc "79-1"; - hideoffnpc "79-2"; - hideoffnpc "79-3"; - hideoffnpc "79-4"; - hideoffnpc "80-1"; - hideoffnpc "80-2"; - hideoffnpc "80-3"; - hideoffnpc "80-4"; - hideoffnpc "81-1"; - hideoffnpc "81-2"; - hideoffnpc "81-3"; - hideoffnpc "81-4"; - hideoffnpc "82-1"; - hideoffnpc "82-2"; - hideoffnpc "82-3"; - hideoffnpc "82-4"; - hideoffnpc "83-1"; - hideoffnpc "83-2"; - hideoffnpc "83-3"; - hideoffnpc "83-4"; - hideoffnpc "84-1"; - hideoffnpc "84-2"; - hideoffnpc "84-3"; - hideoffnpc "84-4"; - hideoffnpc "85-1"; - hideoffnpc "85-2"; - hideoffnpc "85-3"; - hideoffnpc "85-4"; - hideoffnpc "86-1"; - hideoffnpc "86-2"; - hideoffnpc "86-3"; - hideoffnpc "86-4"; - hideoffnpc "87-1"; - hideoffnpc "87-2"; - hideoffnpc "87-3"; - hideoffnpc "87-4"; - hideoffnpc "88-1"; - hideoffnpc "88-2"; - hideoffnpc "88-3"; - hideoffnpc "88-4"; - hideoffnpc "89-1"; - hideoffnpc "89-2"; - hideoffnpc "89-3"; - hideoffnpc "89-4"; - hideoffnpc "90-1"; - hideoffnpc "90-2"; - hideoffnpc "90-3"; - hideoffnpc "90-4"; - hideoffnpc "91-1"; - hideoffnpc "91-2"; - hideoffnpc "91-3"; - hideoffnpc "91-4"; - hideoffnpc "92-1"; - hideoffnpc "92-2"; - hideoffnpc "92-3"; - hideoffnpc "92-4"; - hideoffnpc "93-1"; - hideoffnpc "93-2"; - hideoffnpc "93-3"; - hideoffnpc "93-4"; - hideoffnpc "94-1"; - hideoffnpc "94-2"; - hideoffnpc "94-3"; - hideoffnpc "94-4"; - hideoffnpc "95-1"; - hideoffnpc "95-2"; - hideoffnpc "95-3"; - hideoffnpc "95-4"; - hideoffnpc "96-1"; - hideoffnpc "96-2"; - hideoffnpc "96-3"; - hideoffnpc "96-4"; - hideoffnpc "97-1"; - hideoffnpc "97-2"; - hideoffnpc "97-3"; - hideoffnpc "97-4"; - end; - -OnDisable: - hideonnpc "57-4"; - hideonnpc "58-1"; - hideonnpc "58-2"; - hideonnpc "58-3"; - hideonnpc "58-4"; - hideonnpc "59-1"; - hideonnpc "59-2"; - hideonnpc "59-3"; - hideonnpc "59-4"; - hideonnpc "60-1"; - hideonnpc "60-2"; - hideonnpc "60-3"; - hideonnpc "60-4"; - hideonnpc "61-1"; - hideonnpc "61-2"; - hideonnpc "61-3"; - hideonnpc "61-4"; - hideonnpc "62-1"; - hideonnpc "62-2"; - hideonnpc "62-3"; - hideonnpc "62-4"; - hideonnpc "63-1"; - hideonnpc "63-2"; - hideonnpc "63-3"; - hideonnpc "63-4"; - hideonnpc "64-1"; - hideonnpc "64-2"; - hideonnpc "64-3"; - hideonnpc "64-4"; - hideonnpc "65-1"; - hideonnpc "65-2"; - hideonnpc "65-3"; - hideonnpc "65-4"; - hideonnpc "66-1"; - hideonnpc "66-2"; - hideonnpc "66-3"; - hideonnpc "66-4"; - hideonnpc "67-1"; - hideonnpc "67-2"; - hideonnpc "67-3"; - hideonnpc "67-4"; - hideonnpc "68-1"; - hideonnpc "68-2"; - hideonnpc "68-3"; - hideonnpc "68-4"; - hideonnpc "69-1"; - hideonnpc "69-2"; - hideonnpc "69-3"; - hideonnpc "69-4"; - hideonnpc "70-1"; - hideonnpc "70-2"; - hideonnpc "70-3"; - hideonnpc "70-4"; - hideonnpc "71-1"; - hideonnpc "71-2"; - hideonnpc "71-3"; - hideonnpc "71-4"; - hideonnpc "72-1"; - hideonnpc "72-2"; - hideonnpc "72-3"; - hideonnpc "72-4"; - hideonnpc "73-1"; - hideonnpc "73-2"; - hideonnpc "73-3"; - hideonnpc "73-4"; - hideonnpc "74-1"; - hideonnpc "74-2"; - hideonnpc "74-3"; - hideonnpc "74-4"; - hideonnpc "75-1"; - hideonnpc "75-2"; - hideonnpc "75-3"; - hideonnpc "75-4"; - hideonnpc "76-1"; - hideonnpc "76-2"; - hideonnpc "76-3"; - hideonnpc "76-4"; - hideonnpc "77-1"; - hideonnpc "77-2"; - hideonnpc "77-3"; - hideonnpc "77-4"; - hideonnpc "78-1"; - hideonnpc "78-2"; - hideonnpc "78-3"; - hideonnpc "78-4"; - hideonnpc "79-1"; - hideonnpc "79-2"; - hideonnpc "79-3"; - hideonnpc "79-4"; - hideonnpc "80-1"; - hideonnpc "80-2"; - hideonnpc "80-3"; - hideonnpc "80-4"; - hideonnpc "81-1"; - hideonnpc "81-2"; - hideonnpc "81-3"; - hideonnpc "81-4"; - hideonnpc "82-1"; - hideonnpc "82-2"; - hideonnpc "82-3"; - hideonnpc "82-4"; - hideonnpc "83-1"; - hideonnpc "83-2"; - hideonnpc "83-3"; - hideonnpc "83-4"; - hideonnpc "84-1"; - hideonnpc "84-2"; - hideonnpc "84-3"; - hideonnpc "84-4"; - hideonnpc "85-1"; - hideonnpc "85-2"; - hideonnpc "85-3"; - hideonnpc "85-4"; - hideonnpc "86-1"; - hideonnpc "86-2"; - hideonnpc "86-3"; - hideonnpc "86-4"; - hideonnpc "87-1"; - hideonnpc "87-2"; - hideonnpc "87-3"; - hideonnpc "87-4"; - hideonnpc "88-1"; - hideonnpc "88-2"; - hideonnpc "88-3"; - hideonnpc "88-4"; - hideonnpc "89-1"; - hideonnpc "89-2"; - hideonnpc "89-3"; - hideonnpc "89-4"; - hideonnpc "90-1"; - hideonnpc "90-2"; - hideonnpc "90-3"; - hideonnpc "90-4"; - hideonnpc "91-1"; - hideonnpc "91-2"; - hideonnpc "91-3"; - hideonnpc "91-4"; - hideonnpc "92-1"; - hideonnpc "92-2"; - hideonnpc "92-3"; - hideonnpc "92-4"; - hideonnpc "93-1"; - hideonnpc "93-2"; - hideonnpc "93-3"; - hideonnpc "93-4"; - hideonnpc "94-1"; - hideonnpc "94-2"; - hideonnpc "94-3"; - hideonnpc "94-4"; - hideonnpc "95-1"; - hideonnpc "95-2"; - hideonnpc "95-3"; - hideonnpc "95-4"; - hideonnpc "96-1"; - hideonnpc "96-2"; - hideonnpc "96-3"; - hideonnpc "96-4"; - hideonnpc "97-1"; - hideonnpc "97-2"; - hideonnpc "97-3"; - hideonnpc "97-4"; + donpcevent "Waiting Room#hnt::OnStart"; end; } -job_hunte,65,93,0 duplicate(hntjqt2) 57-4 139 -job_hunte,76,94,0 duplicate(hntjqt2) 58-1 139 -job_hunte,76,95,0 duplicate(hntjqt2) 58-2 139 -job_hunte,77,94,0 duplicate(hntjqt2) 58-3 139 -job_hunte,77,95,0 duplicate(hntjqt2) 58-4 139 -job_hunte,78,92,0 duplicate(hntjqt2) 59-1 139 -job_hunte,78,93,0 duplicate(hntjqt2) 59-2 139 -job_hunte,79,92,0 duplicate(hntjqt2) 59-3 139 -job_hunte,79,93,0 duplicate(hntjqt2) 59-4 139 -job_hunte,86,92,0 duplicate(hntjqt2) 60-1 139 -job_hunte,86,93,0 duplicate(hntjqt2) 60-2 139 -job_hunte,87,92,0 duplicate(hntjqt2) 60-3 139 -job_hunte,87,93,0 duplicate(hntjqt2) 60-4 139 -job_hunte,90,96,0 duplicate(hntjqt2) 61-1 139 -job_hunte,90,97,0 duplicate(hntjqt2) 61-2 139 -job_hunte,91,96,0 duplicate(hntjqt2) 61-3 139 -job_hunte,91,97,0 duplicate(hntjqt2) 61-4 139 -job_hunte,99,95,0 duplicate(hntjqt2) 62-1 139,1,0 -job_hunte,99,94,0 duplicate(hntjqt2) 62-2 139,1,0 -job_hunte,101,94,0 duplicate(hntjqt2) 62-3 139,0,1 -job_hunte,100,93,0 duplicate(hntjqt2) 62-4 139 -job_hunte,100,92,0 duplicate(hntjqt2) 63-1 139 -job_hunte,101,92,0 duplicate(hntjqt2) 63-2 139 -job_hunte,102,98,0 duplicate(hntjqt2) 64-1 139 -job_hunte,102,99,0 duplicate(hntjqt2) 64-2 139 -job_hunte,103,98,0 duplicate(hntjqt2) 64-3 139 -job_hunte,103,99,0 duplicate(hntjqt2) 64-4 139 -job_hunte,102,90,0 duplicate(hntjqt2) 65-1 139 -job_hunte,102,91,0 duplicate(hntjqt2) 65-2 139 -job_hunte,103,90,0 duplicate(hntjqt2) 65-3 139 -job_hunte,103,91,0 duplicate(hntjqt2) 65-4 139 -job_hunte,114,96,0 duplicate(hntjqt2) 66-1 139 -job_hunte,114,97,0 duplicate(hntjqt2) 66-2 139 -job_hunte,115,96,0 duplicate(hntjqt2) 66-3 139 -job_hunte,115,97,0 duplicate(hntjqt2) 66-4 139 -job_hunte,112,90,0 duplicate(hntjqt2) 67-1 139 -job_hunte,112,91,0 duplicate(hntjqt2) 67-2 139 -job_hunte,113,90,0 duplicate(hntjqt2) 67-3 139 -job_hunte,113,91,0 duplicate(hntjqt2) 67-4 139 -job_hunte,125,97,0 duplicate(hntjqt2) 68-1 139,1,0 -job_hunte,125,96,0 duplicate(hntjqt2) 68-2 139,1,0 -job_hunte,127,96,0 duplicate(hntjqt2) 68-3 139 -job_hunte,127,97,0 duplicate(hntjqt2) 68-4 139 -job_hunte,52,86,0 duplicate(hntjqt2) 69-1 139 -job_hunte,52,87,0 duplicate(hntjqt2) 69-2 139 -job_hunte,53,86,0 duplicate(hntjqt2) 69-3 139 -job_hunte,53,87,0 duplicate(hntjqt2) 69-4 139 -job_hunte,66,88,0 duplicate(hntjqt2) 70-1 139 -job_hunte,66,89,0 duplicate(hntjqt2) 70-2 139 -job_hunte,67,88,0 duplicate(hntjqt2) 70-3 139 -job_hunte,67,89,0 duplicate(hntjqt2) 70-4 139 -job_hunte,114,84,0 duplicate(hntjqt2) 71-1 139 -job_hunte,114,85,0 duplicate(hntjqt2) 71-2 139 -job_hunte,115,84,0 duplicate(hntjqt2) 71-3 139 -job_hunte,115,85,0 duplicate(hntjqt2) 71-4 139 -job_hunte,126,86,0 duplicate(hntjqt2) 72-1 139 -job_hunte,126,87,0 duplicate(hntjqt2) 72-2 139 -job_hunte,127,86,0 duplicate(hntjqt2) 72-3 139 -job_hunte,127,87,0 duplicate(hntjqt2) 72-4 139 -job_hunte,54,80,0 duplicate(hntjqt2) 73-1 139,0,1 -job_hunte,55,80,0 duplicate(hntjqt2) 73-2 139,0,1 -job_hunte,54,78,0 duplicate(hntjqt2) 73-3 139 -job_hunte,55,78,0 duplicate(hntjqt2) 73-4 139 -job_hunte,64,82,0 duplicate(hntjqt2) 74-1 139,0,1 -job_hunte,65,82,0 duplicate(hntjqt2) 74-2 139,0,1 -job_hunte,64,80,0 duplicate(hntjqt2) 74-3 139 -job_hunte,65,80,0 duplicate(hntjqt2) 74-4 139 -job_hunte,66,78,0 duplicate(hntjqt2) 75-1 139 -job_hunte,66,79,0 duplicate(hntjqt2) 75-2 139 -job_hunte,67,78,0 duplicate(hntjqt2) 75-3 139 -job_hunte,67,79,0 duplicate(hntjqt2) 75-4 139 -job_hunte,74,78,0 duplicate(hntjqt2) 76-1 139 -job_hunte,74,79,0 duplicate(hntjqt2) 76-2 139 -job_hunte,75,78,0 duplicate(hntjqt2) 76-3 139 -job_hunte,75,79,0 duplicate(hntjqt2) 76-4 139 -job_hunte,78,80,0 duplicate(hntjqt2) 77-1 139 -job_hunte,78,81,0 duplicate(hntjqt2) 77-2 139 -job_hunte,79,80,0 duplicate(hntjqt2) 77-3 139 -job_hunte,79,81,0 duplicate(hntjqt2) 77-4 139 -job_hunte,82,78,0 duplicate(hntjqt2) 78-1 139 -job_hunte,82,79,0 duplicate(hntjqt2) 78-2 139 -job_hunte,83,78,0 duplicate(hntjqt2) 78-3 139 -job_hunte,83,79,0 duplicate(hntjqt2) 78-4 139 -job_hunte,94,78,0 duplicate(hntjqt2) 79-1 139 -job_hunte,94,79,0 duplicate(hntjqt2) 79-2 139 -job_hunte,95,78,0 duplicate(hntjqt2) 79-3 139 -job_hunte,95,79,0 duplicate(hntjqt2) 79-4 139 -job_hunte,101,80,0 duplicate(hntjqt2) 80-1 139,1,0 -job_hunte,101,81,0 duplicate(hntjqt2) 80-2 139,1,0 -job_hunte,103,81,0 duplicate(hntjqt2) 80-3 139 -job_hunte,103,80,0 duplicate(hntjqt2) 80-4 139 -job_hunte,104,78,0 duplicate(hntjqt2) 81-1 139 -job_hunte,104,79,0 duplicate(hntjqt2) 81-2 139 -job_hunte,105,78,0 duplicate(hntjqt2) 81-3 139 -job_hunte,105,79,0 duplicate(hntjqt2) 81-4 139 -job_hunte,110,78,0 duplicate(hntjqt2) 82-1 139 -job_hunte,110,79,0 duplicate(hntjqt2) 82-2 139 -job_hunte,111,78,0 duplicate(hntjqt2) 82-3 139 -job_hunte,111,79,0 duplicate(hntjqt2) 82-4 139 -job_hunte,114,80,0 duplicate(hntjqt2) 83-1 139 -job_hunte,114,81,0 duplicate(hntjqt2) 83-2 139 -job_hunte,115,80,0 duplicate(hntjqt2) 83-3 139 -job_hunte,115,81,0 duplicate(hntjqt2) 83-4 139 -job_hunte,124,78,0 duplicate(hntjqt2) 84-1 139 -job_hunte,124,79,0 duplicate(hntjqt2) 84-2 139 -job_hunte,125,78,0 duplicate(hntjqt2) 84-3 139 -job_hunte,125,79,0 duplicate(hntjqt2) 84-4 139 -job_hunte,126,82,0 duplicate(hntjqt2) 85-1 139 -job_hunte,126,83,0 duplicate(hntjqt2) 85-2 139 -job_hunte,127,82,0 duplicate(hntjqt2) 85-3 139 -job_hunte,127,83,0 duplicate(hntjqt2) 85-4 139 -job_hunte,52,68,0 duplicate(hntjqt2) 86-1 139,0,1 -job_hunte,53,68,0 duplicate(hntjqt2) 86-2 139,0,1 -job_hunte,52,66,0 duplicate(hntjqt2) 86-3 139 -job_hunte,53,66,0 duplicate(hntjqt2) 86-4 139 -job_hunte,54,70,0 duplicate(hntjqt2) 87-1 139,0,1 -job_hunte,55,70,0 duplicate(hntjqt2) 87-2 139,0,1 -job_hunte,54,68,0 duplicate(hntjqt2) 87-3 139 -job_hunte,55,68,0 duplicate(hntjqt2) 87-4 139 -job_hunte,59,66,0 duplicate(hntjqt2) 88-1 139,1,0 -job_hunte,59,67,0 duplicate(hntjqt2) 88-2 139,1,0 -job_hunte,61,67,0 duplicate(hntjqt2) 88-3 139 -job_hunte,61,66,0 duplicate(hntjqt2) 88-4 139 -job_hunte,68,68,0 duplicate(hntjqt2) 89-1 139,0,1 -job_hunte,69,68,0 duplicate(hntjqt2) 89-2 139,0,1 -job_hunte,68,66,0 duplicate(hntjqt2) 89-3 139 -job_hunte,69,66,0 duplicate(hntjqt2) 89-4 139 -job_hunte,76,66,0 duplicate(hntjqt2) 90-1 139 -job_hunte,76,67,0 duplicate(hntjqt2) 90-2 139 -job_hunte,77,66,0 duplicate(hntjqt2) 90-3 139 -job_hunte,77,67,0 duplicate(hntjqt2) 90-4 139 -job_hunte,82,68,0 duplicate(hntjqt2) 91-1 139 -job_hunte,82,69,0 duplicate(hntjqt2) 91-2 139 -job_hunte,83,68,0 duplicate(hntjqt2) 91-3 139 -job_hunte,83,69,0 duplicate(hntjqt2) 91-4 139 -job_hunte,96,66,0 duplicate(hntjqt2) 92-1 139 -job_hunte,96,67,0 duplicate(hntjqt2) 92-2 139 -job_hunte,97,66,0 duplicate(hntjqt2) 92-3 139 -job_hunte,97,67,0 duplicate(hntjqt2) 92-4 139 -job_hunte,100,68,0 duplicate(hntjqt2) 93-1 139 -job_hunte,100,69,0 duplicate(hntjqt2) 93-2 139 -job_hunte,101,68,0 duplicate(hntjqt2) 93-3 139 -job_hunte,101,69,0 duplicate(hntjqt2) 93-4 139 -job_hunte,107,66,0 duplicate(hntjqt2) 94-1 139,1,0 -job_hunte,107,67,0 duplicate(hntjqt2) 94-2 139,1,0 -job_hunte,109,67,0 duplicate(hntjqt2) 94-3 139 -job_hunte,109,66,0 duplicate(hntjqt2) 94-4 139 -job_hunte,117,69,0 duplicate(hntjqt2) 95-1 139,1,0 -job_hunte,117,68,0 duplicate(hntjqt2) 95-2 139,1,0 -job_hunte,119,69,0 duplicate(hntjqt2) 95-3 139 -job_hunte,119,68,0 duplicate(hntjqt2) 95-4 139 -job_hunte,124,66,0 duplicate(hntjqt2) 96-1 139 -job_hunte,124,67,0 duplicate(hntjqt2) 96-2 139 -job_hunte,125,66,0 duplicate(hntjqt2) 96-3 139 -job_hunte,125,67,0 duplicate(hntjqt2) 96-4 139 -job_hunte,126,70,0 duplicate(hntjqt2) 97-1 139 -job_hunte,126,71,0 duplicate(hntjqt2) 97-2 139 -job_hunte,127,70,0 duplicate(hntjqt2) 97-3 139 -job_hunte,127,71,0 duplicate(hntjqt2) 97-4 139 \ No newline at end of file +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/re/jobs/2-1/knight.txt b/npc/re/jobs/2-1/knight.txt index d06130c36..32c6908ee 100644 --- a/npc/re/jobs/2-1/knight.txt +++ b/npc/re/jobs/2-1/knight.txt @@ -1,118 +1,108 @@ //===== rAthena Script ======================================= -// Knight Job change Quest +//= Knight Job Quest //===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= PGRO TEAM (Aegis). +//= Converted by kobra_k88 +//= Further bugfixed and tested by Lupus //===== Current Version: ===================================== -//= 1.0 +//= 3.2 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Swordman -> Knight. +//= [Aegis Conversion] +//= Job Change quest for Knight class. //===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] +//= 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 56,{ +prt_in,88,101,4 script Chivalry Captain#knt 56,{ + mes "[Captain Herman]"; if (Upper == 1) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; 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."; - close2; - cutin "",255; - end; + close; } - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Knight || Class == Job_Knight) { - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; + 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..."; - close2; - cutin "",255; - end; + close; } - if (Class == Job_Baby || Class == Job_Novice) { - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; + 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.")) { + 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?"; - if (Sex == 1) { - mes "I'm sorry, lad, but you've"; - mes "come to the wrong place!"; - } - else { - mes "I'm sorry, lass, but you've"; - mes "come to the wrong place!"; - } + mes "I'm sorry, "+((Sex)?"lad":"lass")+", but you've"; + mes "come to the wrong place!"; next; - cutin "job_knight_herman1",2; 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."; - break; + 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; - cutin "job_knight_herman1",2; mes "[Captain Herman]"; mes "First, visit the Swordman guild in Izlude. Then, come visit us again once you have become a well experienced Swordman."; - break; + close; case 3: - cutin "job_knight_herman1",2; 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?"; - break; + close; } - next; - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; - mes "If you really wish to become a knight, please come back later."; - close2; - cutin "",255; - end; } - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; - mes "Welcome. We, the proud Knights of the Prontera Chivalry, will give our lives for king and country! Please enjoy your stay."; - close2; - cutin "",255; - end; + 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 (KNGHT_Q == 0) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; + if (KNIGHT_Q == 0) { mes "Welcome, this is"; mes "the Prontera Chivalry."; mes "What brings you here?"; next; - switch (select("I want to change my job to a Knight.:Just visiting.")) { - case 1: + if (select("I want to change my job to a Knight.:Just visiting.") == 1) { mes "[Captain Herman]"; - if (Sex == 1) { - mes "Ohh..."; - mes "A young man who wishes"; - mes "to become a Knight!"; - } - else { - mes "Ohh..."; - mes "A young lady who wishes"; - mes "to become a Knight!"; - } + mes "Ohh..."; + mes "A young "+((Sex)?"man":"lady")+" who wishes"; + mes "to become a Knight!"; mes "Our Prontera Chivalry"; mes "will assist you."; next; @@ -129,34 +119,26 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "you eligible, we will begin the job change procedure. Would you"; mes "like to apply now?"; next; - switch (select("Yes, I would like to apply.:I'd like to think about it please.")) { - case 1: + if (select("Yes, I would like to apply.:I'd like to think about it please.") == 1) { + mes "[Captain Herman]"; if (JobLevel < 40) { - mes "[Captain Herman]"; 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."; - close2; - cutin "",255; - end; + close; } - if (SkillPoint != 0) { - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; + 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."; - close2; - cutin "",255; - end; + close; } - set KNGHT_Q,1; + set KNIGHT_Q,1; setquest 9000; - mes "[Captain Herman]"; mes "Let me see..."; mes "Your name is"; - mes "" + strcharinfo(0) + "..."; + mes strcharinfo(0) + "..."; mes "Is that right?"; next; mes "[Captain Herman]"; @@ -173,43 +155,32 @@ prt_in,88,101,4 script Chivalry Captain 56,{ 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; - cutin "job_knight_herman1",2; 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."; - close2; - break; - case 2: - cutin "job_knight_herman1",2; - 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."; - close2; - break; + close; } - case 2: - 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."; - close2; - break; + 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; } - cutin "",255; - end; - } - if (KNGHT_Q == 1) { - cutin "job_knight_herman2",2; 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 strcharinfo(0) + ","; mes "what can I do for you?"; mes "Ah, you don't know"; mes "who to visit?"; @@ -220,48 +191,14 @@ prt_in,88,101,4 script Chivalry Captain 56,{ 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."; - close2; - cutin "",255; - end; - } - if (KNGHT_Q == 2) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "It may be difficult,"; - mes "but do your best."; - close2; - cutin "",255; - end; - } - if (KNGHT_Q == 3) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "It may be difficult,"; - mes "but do your best."; - close2; - cutin "",255; - end; + close; } - if (KNGHT_Q == 4) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "Ah~ You do not know"; - mes "who to visit next?"; - next; - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; + 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; - cutin "job_knight_herman2",2; mes "[Sir Andrew]"; mes "I said to"; mes "visit Sir Siracuse."; @@ -271,33 +208,11 @@ prt_in,88,101,4 script Chivalry Captain 56,{ 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."; - close2; - cutin "",255; - end; - } - if (KNGHT_Q == 5) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "It may be difficult,"; - mes "but do your best."; - close2; - cutin "",255; - end; + close; } - if (KNGHT_Q == 6) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "Ah~ You do not know"; - mes "who to visit next?"; - next; - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; + 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?"; @@ -307,37 +222,14 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "Um, who was next...?"; mes "Right! Sir Windsor!"; next; - cutin "job_knight_herman2",2; 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?"; - close2; - cutin "",255; - end; - } - if (KNGHT_Q == 7) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "It may be difficult,"; - mes "but do your best."; - close2; - cutin "",255; - end; + close; } - if (KNGHT_Q == 8) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "Ah~ You do not know"; - mes "who to visit next?"; - next; - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; + 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"; @@ -353,37 +245,14 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "[Sir Windsor]"; mes "...Amy Beatrice."; next; - cutin "job_knight_herman2",2; 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."; - close2; - cutin "",255; - end; - } - if (KNGHT_Q == 9) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "It may be difficult,"; - mes "but do your best."; - close2; - cutin "",255; - end; + close; } - if (KNGHT_Q == 10) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "Ah~ You do not know"; - mes "who to visit next?"; - next; - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; + 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"; @@ -395,39 +264,16 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "Sir Edmond!"; mes "Tee hee~"; next; - cutin "job_knight_herman2",2; mes "[Captain Herman]"; mes "Now, go and speak"; mes "to Sir Edmond. He will"; mes "be in charge of your"; mes "next test."; - close2; - cutin "",255; - end; - } - if (KNGHT_Q == 11) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "It may be difficult,"; - mes "but do your best."; - close2; - cutin "",255; - end; + close; } - if (KNGHT_Q == 12) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "Ah~ You do not know"; - mes "who to visit next?"; - next; - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; + 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."; @@ -437,7 +283,6 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "to the law of cause and effect."; mes "All will be revealed in the end."; next; - cutin "job_knight_herman2",2; mes "[Captain Herman]"; mes "Be alert and do"; mes "your best, as this"; @@ -448,43 +293,19 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "after you have"; mes "completed the"; mes "final test."; - close2; - cutin "",255; - end; + close; } - if (KNGHT_Q == 13) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; + 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."; - close2; - cutin "",255; - end; + close; } - if (KNGHT_Q == 14) { - if (JobLevel < 40) { - set KNGHT_Q,0; - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - 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."; - close2; - cutin "",255; - end; - } - if (SkillPoint != 0) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; + 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."; - close2; - cutin "",255; - end; + close; } - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; mes "Oh, have you completed all the tests? But not everyone who completes the tests can"; mes "become a Knight."; next; @@ -500,8 +321,8 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "to everyone's thoughts!"; mes "Andrew, what do you think?"; next; + mes "[Sir Andrew]"; if (JobLevel == 50) { - mes "[Sir Andrew]"; mes "What can I say?"; mes "I approve!"; mes "Having lived as"; @@ -510,17 +331,11 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "is enough."; } else { - mes "[Sir Andrew]"; mes "This one has"; mes "gathered items"; mes "that are troublesome"; mes "to obtain. I approve!"; - if (Sex == 1) { - mes "I believe he will continue to be loyal after becoming a Knight."; - } - else { - mes "I believe she will continue to be loyal after becoming a Knight."; - } + mes "I believe "+((Sex)?"":"s")+"he will continue to be loyal after becoming a Knight."; } next; mes "[Captain Herman]"; @@ -557,7 +372,7 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "to Amy's opinion."; next; mes "[Lady Amy]"; - if (Sex == 1) { + 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!"; } @@ -576,7 +391,7 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "your mind."; next; mes "[Sir Edmond]"; - if (Sex == 1) { + 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."; } @@ -591,12 +406,7 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "to hear your thoughts."; next; mes "[Gray]"; - if (Sex == 1) { - mes "A young gentleman coming here with the determination to become a Knight is enough..."; - } - else { - mes "A young lady coming here with the determination to become a Knight is enough..."; - } + mes "A young "+((Sex)?"gentleman":"lady")+" coming here with the determination to become a Knight is enough..."; next; mes "[Captain Herman]"; mes "Everyone"; @@ -605,7 +415,6 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "Then I shall tell"; mes "you my opinion."; next; - cutin "job_knight_herman1",2; mes "[Captain Herman]"; mes "My decision is..."; next; @@ -616,14 +425,9 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "You may not have finished all the tests perfectly, but you have all the necessary qualities to become"; mes "a Knight."; next; - cutin "job_knight_herman2",2; - set KNGHT_Q,0; completequest 9012; - if(Class == Job_Baby_Swordman){ - jobchange Job_Baby_Knight; - } else { - jobchange Job_Knight; - } + 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"; @@ -636,23 +440,35 @@ prt_in,88,101,4 script Chivalry Captain 56,{ 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; - cutin "job_knight_herman1",2; mes "[Captain Herman]"; mes "Go forth!"; mes "The future of"; mes "Rune-Midgard"; mes "rests on your"; mes "shoulders!"; - close2; + 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; } - cutin "",255; - end; } -prt_in,75,107,4 script Sir Andrew 65,{ - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Knight || Class == Job_Knight) { - mes "[Sir Andrew]"; +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."; @@ -668,8 +484,7 @@ prt_in,75,107,4 script Sir Andrew 65,{ mes "After all, we are Knights."; close; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Sir Andrew]"; + else if (BaseClass == Job_Novice) { mes "Hey there,"; mes "little Novice."; mes "Welcome to the"; @@ -684,17 +499,17 @@ prt_in,75,107,4 script Sir Andrew 65,{ mes "Dream of a bright future, and go look forward on the path that you choose to take."; close; } - mes "[Sir Andrew]"; - 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 { + 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 (KNGHT_Q == 0) { - mes "[Sir Andrew]"; + 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; @@ -703,20 +518,18 @@ prt_in,75,107,4 script Sir Andrew 65,{ mes "a bright future that is to come."; close; } - if (KNGHT_Q == 1) { - mes "[Sir Andrew]"; + else if (KNIGHT_Q == 1) { mes "Good day."; mes "May I help you"; mes "with something?"; next; - switch (select("I would like to take the test.:Oh, nothing.")) { - case 1: + 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 strcharinfo(0) + ","; mes "correct?"; next; mes "[Sir Andrew]"; @@ -747,10 +560,8 @@ prt_in,75,107,4 script Sir Andrew 65,{ 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 KNGHT_Q,4; + set KNIGHT_Q,4; changequest 9000,9003; - changequest 9001,9003; - changequest 9002,9003; close; } mes "[Sir Andrew]"; @@ -760,28 +571,22 @@ prt_in,75,107,4 script Sir Andrew 65,{ mes "Go and gather the"; mes "following items..."; next; - set .@knight_m1, rand(1,2); mes "[Sir Andrew]"; - if (.@knight_m1 == 1) { - set KNGHT_Q,2; - changequest 9000,9001; - mes "^236B8E5 Elder Pixie's Moustache^000000,"; - mes "^236B8E5 Wing of Red Bat^000000,"; - mes "^236B8E5 Orcish Voucher^000000,"; - mes "^236B8E5 Moth Dust^000000,"; - mes "^236B8E5 Reptile Tongue^000000 and"; - mes "^236B8E5 Mane^000000."; - } - else { - set KNGHT_Q,3; - changequest 9000,9002; - mes "^236B8E5 Bug Leg^000000,"; - mes "^236B8E5 Heart of Mermaid^000000,"; - mes "^236B8E5 Maneater Blossom^000000,"; - mes "^236B8E5 Clam Flesh^000000,"; - mes "^236B8E5 Old Frying Pan^000000 and"; - mes "^236B8E5 Snail's Shell^000000."; + 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"; @@ -790,80 +595,39 @@ prt_in,75,107,4 script Sir Andrew 65,{ mes "items I've listed."; mes "See you soon~"; close; - case 2: + } + else { mes "[Sir Andrew]"; mes "Well, then..."; mes "Good day."; close; } } - if (KNGHT_Q == 2) { - mes "[Sir Andrew]"; + 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; - if ((countitem(1040) > 4) && (countitem(7006) > 4) && (countitem(931) > 4) && (countitem(1057) > 4) && (countitem(903) > 4) && (countitem(1028) > 4)) { - mes "[Sir Andrew]"; - mes "Excellent! We appreciate your effort in gathering these items. These will be used to support"; - mes "the Chivalry's finances."; - next; - delitem 1040,5; //Elder_Pixie's_Beard - delitem 7006,5; //Wing_Of_Red_Bat - delitem 931,5; //Orcish_Voucher - delitem 1057,5; //Moth_Dust - delitem 903,5; //Reptile_Tongue - delitem 1028,5; //Wild_Boar's_Mane - set KNGHT_Q,4; - changequest 9001,9003; - changequest 9002,9003; - 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; + 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; } - 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 "^236B8E5 Elder Pixie's Moustache^000000,"; - mes "^236B8E5 Wing of Red Bat^000000,"; - mes "^236B8E5 Orcish Voucher^000000,"; - mes "^236B8E5 Moth Dust^000000,"; - mes "^236B8E5 Reptile Tongue^000000 and"; - mes "^236B8E5 Mane^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; - } - if (KNGHT_Q == 3) { - mes "[Sir Andrew]"; - mes "Welcome back~"; - mes "Did you gather"; - mes "all the items?"; - mes "Let's check and see..."; - next; - if ((countitem(1042) > 4) && (countitem(950) > 4) && (countitem(1032) > 4) && (countitem(966) > 4) && (countitem(7031) > 4) && (countitem(946) > 4)) { + 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 1042,5; //Short_Leg - delitem 950,5; //Heart_Of_Mermaid - delitem 1032,5; //Blossom_Of_Maneater - delitem 966,5; //Flesh_Of_Clam - delitem 7031,5; //Old_Frying_Pan - delitem 946,5; //Snail's_Shell - set KNGHT_Q,4; - changequest 9001,9003; - changequest 9002,9003; + 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; @@ -877,12 +641,12 @@ prt_in,75,107,4 script Sir Andrew 65,{ mes "remind you..."; next; mes "[Sir Andrew]"; - mes "^236B8E5 Bug Leg^000000,"; - mes "^236B8E5 Heart of Mermaid^000000,"; - mes "^236B8E5 Maneater Blossom^000000,"; - mes "^236B8E5 Clam Flesh^000000,"; - mes "^236B8E5 Old Frying Pan^000000 and"; - mes "^236B8E5 Snail's Shell^000000."; + 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."; @@ -890,26 +654,25 @@ prt_in,75,107,4 script Sir Andrew 65,{ mes "to complete this task."; close; } - if (KNGHT_Q == 4) { - mes "[Sir Andrew]"; + 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; } - if (KNGHT_Q == 14) { - mes "[Sir Andrew]"; + 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; } - mes "[Sir Andrew]"; - 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; + 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 65,{ - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Knight || Class == Job_Knight) { - mes "[Sir Siracuse]"; +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"; @@ -930,8 +693,7 @@ prt_in,71,91,0 script Sir Siracuse 65,{ mes "If you catch any of the new guys acting in a way unbecoming of a Knight, scold them for me please?"; close; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Sir Siracuse]"; + else if (Baseclass == Job_Novice) { mes "Oh?"; mes "What is a Novice"; mes "doing here?"; @@ -947,22 +709,22 @@ prt_in,71,91,0 script Sir Siracuse 65,{ mes "becoming a Knight."; close; } - mes "[Sir Siracuse]"; - 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 { + 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 (KNGHT_Q == 0) { - mes "[Sir Siracuse]"; + if (KNIGHT_Q == 0) { mes "Offense and defense."; mes "Is there a way to have both without compromising one or the other?"; next; @@ -976,32 +738,24 @@ prt_in,71,91,0 script Sir Siracuse 65,{ mes "would help Knights greatly..."; close; } - if (KNGHT_Q == 1) { - mes "[Sir Siracuse]"; + else if (KNIGHT_Q == 1) { mes "Eh?"; mes "Do you have"; mes "something to"; mes "ask me?"; next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: + 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"; - if (Sex == 1) { - mes "you the guy that"; - mes "just applied?"; - } - else { - mes "you the girl that"; - mes "just applied?"; - } + 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) + "."; + mes strcharinfo(0) + "."; next; mes "[Sir Siracuse]"; mes "But, before you come to me, you must visit the others. The way"; @@ -1009,54 +763,23 @@ prt_in,71,91,0 script Sir Siracuse 65,{ mes "reconsider once you"; mes "pass the first test."; close; - case 2: - mes "[Sir Siracuse]"; - mes "Hmmm...?"; - mes "Alright."; - mes "It's just that"; - mes "you had that"; - mes "look on your"; - mes "face."; - close; } - } - if (KNGHT_Q == 2) { mes "[Sir Siracuse]"; - mes "Eh?"; - mes "Do you have"; - mes "something to"; - mes "ask me?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 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; - case 2: - mes "[Sir Siracuse]"; - mes "Hmmm...?"; - mes "Alright."; - mes "It's just that"; - mes "you had that"; - mes "look on your"; - mes "face."; - close; - } + mes "Hmmm...?"; + mes "Alright."; + mes "It's just that"; + mes "you had that"; + mes "look on your"; + mes "face."; + close; } - else if (KNGHT_Q == 3) { - mes "[Sir Siracuse]"; + else if (KNIGHT_Q == 2 || KNIGHT_Q == 3) { mes "Eh?"; mes "Do you have"; mes "something to"; mes "ask me?"; next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: + 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."; @@ -1065,602 +788,251 @@ prt_in,71,91,0 script Sir Siracuse 65,{ mes "Speak to Sir Andrew first."; mes "My test for you will come after you've finished his test."; close; - case 2: - 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 (KNGHT_Q == 4) { mes "[Sir Siracuse]"; - mes "Oh?"; - mes "Do you have"; - mes "something to"; - mes "ask me?"; - next; - switch (select("Sir Andrew sent me to take your test.:Oh, nothing.")) { - case 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; - 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?"; + 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; - switch (select("Katana:Slayer:Broadsword:Flamberge")) { - case 1: - set KNGHT_Q,5; + if (select("Sir Andrew sent me to take your test.:Oh, nothing.") == 1) { 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..."; + 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 "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; - case 2: - set KNGHT_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..."; + 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 "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; - case 3: - set KNGHT_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..."; + 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 "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; - case 4: - break; + mes "Well then,"; + mes "let's begin."; + mes "Please answer"; + mes "promptly."; + next; } - mes "[Sir Siracuse]"; - mes "Good, now let me ask about some skills. Which of the following is not necessary to learn Bowling Bash?"; - next; - switch (select("Two Handed Sword Mastery Lv.5:Magnum Break Lv.3:Provoke Lv.10:Bash Lv.10")) { - case 1: - set KNGHT_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; - case 2: - set KNGHT_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; - case 3: - break; - case 4: - set KNGHT_Q,5; + else { 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!"; + mes "Hmmm...?"; + mes "Alright."; + mes "It's just that"; + mes "you had that"; + mes "look on your"; + mes "face."; 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?"; + } + else if (KNIGHT_Q == 5) { + mes "What..."; + mes "You again?"; next; - switch (select("Pierce Lv.5:Spear Stab Lv.3:Spear Boomerang Lv.3:Peco Peco Ride Lv.1")) { - case 1: - set KNGHT_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; - case 2: - set KNGHT_Q,5; + if (select("I wish to take the test again.:Oh, nothing.") == 1) { 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?"; + mes "Is that right?"; + mes "Are you sure you're"; + mes "prepared this time?"; 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; - case 3: - break; - case 4: - set KNGHT_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?"; + mes "Alright then,"; + mes "here we go again..."; 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; - switch (select("Zephyrus:Lance:Bill Guisarme:Crescent Scythe")) { - case 1: - break; - case 2: - set KNGHT_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; - case 3: - set KNGHT_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; - case 4: - set KNGHT_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; + else { mes "[Sir Siracuse]"; - mes "If you have a question, just ask any Knight in town. This is basic knowledge for us!"; + 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 "When you become a Knight you can ride a Peco Peco. However, your attack speed decreases once you're mounted on a Peco Peco."; + 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 "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; - switch (select("70 % of normal attack speed:80 % of normal attack speed:90 % of normal attack speed:100 % of normal attack speed")) { - case 1: - set KNGHT_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; - case 2: - break; - case 3: - set KNGHT_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; - case 4: - set KNGHT_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 "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 "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 "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 "What should you do when you run into a Novice asking for help in town?"; + 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; - 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 KNGHT_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 KNGHT_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 KNGHT_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 KNGHT_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 "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 "Lastly..."; - mes "what's the most"; - mes "important value"; - mes "a Knight must have?"; + mes "Wrong! You'll be doing absolutely no damage with that type of Spear! Come back after you've learned more about Knights!"; 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 KNGHT_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 KNGHT_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 KNGHT_Q,6; - changequest 9003,9004; mes "[Sir Siracuse]"; - mes "Well then,"; - mes "this is the"; - mes "end of my test."; + 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 "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."; - close2; + 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 "Hmmm...?"; - mes "Alright."; - mes "It's just that"; - mes "you had that"; - mes "look on your"; - mes "face."; + 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; } - } - if (KNGHT_Q == 5) { mes "[Sir Siracuse]"; - mes "What..."; - mes "You again?"; + mes "Alright..."; + mes "Now, how should"; + mes "you act within"; + mes "a party?"; next; - switch (select("I wish to take the test again.:Oh, nothing.")) { + 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 "Is that right?"; - mes "Are you sure you're"; - mes "prepared this time?"; + 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 "Alright then,"; - mes "here we go again..."; - next; + 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 "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; - switch (select("Katana:Slayer:Broadsword:Flamberge")) { - case 1: - set KNGHT_Q,5; - mes "[Sir Siracuse]"; - mes "Wrong!"; - mes "That's a Two-Handed Sword! 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, go into town and ask any Knight. You need to learn more about Knights before applying for the job!"; - close; - case 2: - set KNGHT_Q,5; - mes "[Sir Siracuse]"; - mes "Wrong!"; - mes "That's a Two-Handed Sword! 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, go into town and ask any Knight. You need to learn more about Knights before applying for the job!"; - close; - case 3: - set KNGHT_Q,5; - mes "[Sir Siracuse]"; - mes "Wrong!"; - mes "That's a Two-Handed Sword! 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, go into town and ask any Knight. You need to learn more about Knights before applying for the job!"; - close; - case 4: - break; - } + 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 "Good, now let me ask about some skills. Which of the following is not necessary to learn Bowling Bash?"; + mes "Right, above all else, Knights must be honorable! We live and die for honor! Always keep that in mind."; next; - switch (select("Two Handed Sword Mastery Lv.5:Magnum Break Lv.3:Provoke Lv.10:Bash Lv.10")) { - case 1: - set KNGHT_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; - case 2: - set KNGHT_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; - case 3: - break; - case 4: - set KNGHT_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; - } + break; + case 2: + set KNIGHT_Q,5; 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; - switch (select("Pierce Lv.5:Spear Stab Lv.3:Spear Boomerang Lv.3:Peco Peco Ride Lv.1")) { - case 1: - set KNGHT_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; - case 2: - set KNGHT_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; - case 3: - break; - case 4: - set KNGHT_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; - switch (select("Zephyrus:Lance:Bill Guisarme:Crescent Scythe")) { - case 1: - break; - case 2: - set KNGHT_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; - case 3: - set KNGHT_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; - case 4: - set KNGHT_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; - switch (select("70 % of normal attack speed:80 % of normal attack speed:90 % of normal attack speed:100 % of normal attack speed")) { - case 1: - set KNGHT_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; - case 2: - break; - case 3: - set KNGHT_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; - case 4: - set KNGHT_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 KNGHT_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 KNGHT_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 KNGHT_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 KNGHT_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 KNGHT_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 KNGHT_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; - } - changequest 9003,9004; - set KNGHT_Q,6; - 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."; + 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 2: + case 3: + set KNIGHT_Q,5; mes "[Sir Siracuse]"; - mes "Hmmm...?"; - mes "Alright."; - mes "It's just that"; - mes "you had that"; - mes "look on your"; - mes "face."; + 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; } - } - if (KNGHT_Q == 6) { + 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; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: + 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; - case 2: - mes "[Sir Siracuse]"; - mes "Hmmm...?"; - mes "Alright."; - mes "It's just that"; - mes "you had that"; - mes "look on your"; - mes "face."; - close; } - } - if (KNGHT_Q == 14) { 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"; @@ -1674,16 +1046,40 @@ prt_in,71,91,0 script Sir Siracuse 65,{ mes "your performance."; close; } - mes "[Sir Siracuse]"; - 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; + 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 733,{ - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Knight || Class == Job_Knight) { +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; @@ -1692,400 +1088,169 @@ prt_in,79,94,4 script Sir Windsor 733,{ mes "......"; next; mes "[Sir Windsor]"; - mes "Protect."; + mes "...It's not my turn."; close; } - if (Class == Job_Baby || Class == Job_Novice) { + 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]"; - mes "...Go play"; - mes "outside."; - close; + 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 "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes "...Hmpf."; close; } - if (KNGHT_Q == 0) { - mes "[Sir Windsor]"; - mes "..."; + 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 "..."; - mes "......"; + mes "...You fight monsters."; next; mes "[Sir Windsor]"; - mes "...What?"; - close; - } - if (KNGHT_Q == 1) { + mes "...Kill them all."; + next; mes "[Sir Windsor]"; mes "..."; next; mes "[Sir Windsor]"; - mes "..."; - mes "......"; + mes "...Three stages."; + mes "Beat them all."; next; mes "[Sir Windsor]"; - mes "...What?"; + mes "......3 minutes"; + mes "for each stage."; next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes "...It's not my turn."; - close; - case 2: - mes "[Sir Windsor]"; - mes "..."; - close; - } - } - if (KNGHT_Q == 2) { mes "[Sir Windsor]"; - mes "..."; + mes ".........."; + close; + case 2: next; mes "[Sir Windsor]"; - mes "..."; - mes "......"; + mes "...Go in the"; + mes "waiting room."; next; mes "[Sir Windsor]"; - mes ".....What?"; + mes "...Then it"; + mes "will begin."; next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes "...It's not my turn."; - close; - case 2: - mes "[Sir Windsor]"; - mes "..."; - close; - } - } - if (KNGHT_Q == 3) { mes "[Sir Windsor]"; mes "..."; next; mes "[Sir Windsor]"; - mes "..."; - mes "......"; + mes "...You have to wait"; + mes "if someone is testing."; next; mes "[Sir Windsor]"; - mes ".....What?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes "...It's not my turn."; - close; - case 2: - mes "[Sir Windsor]"; - mes "..."; - close; - } - } - if (KNGHT_Q == 4) { - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes ".....What?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes "...It's not my turn."; - close; - case 2: - mes "[Sir Windsor]"; - mes ".........."; - close; - } - } - if (KNGHT_Q == 5) { - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes ".....What?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes "...It's not my turn."; - close; - case 2: - mes "[Sir Windsor]"; - mes "..."; - close; - } - } - if (KNGHT_Q == 6) { - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes ".....What?"; - next; - switch (select("Sir Siracuse sent me to you.:Oh, nothing.")) { - case 1: - mes "[Sir Windsor]"; - mes "..."; - next; - set KNGHT_Q,7; - changequest 9004,9006; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes "...Follow me."; - close2; - warp "job_knt",89,101; - end; - case 2: - mes "[Sir Windsor]"; - mes "..."; - close; - } - } - if (KNGHT_Q == 7) { - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - switch (select("I want to try again!:...")) { - case 1: - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes "...Fine."; - next; - mes "[Sir Windsor]"; - mes "...This way."; - close2; - warp "job_knt",89,101; - end; - case 2: - mes "[Sir Windsor]"; - mes "..."; - close; - } - } - if (KNGHT_Q == 14) { - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes "...Talk to"; - mes "the captain."; - close; - } - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes "...You're"; - mes "done here."; - close; -} - -job_knt,89,106,4 script Knight Windsor 733,{ - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes "...Question?"; - next; - switch (select("What kind of test is this?:How do I take the test?:I'd like to leave.:No.")) { - case 1: - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - 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: - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - 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."; + mes "...You can go in"; + mes "after that person."; next; mes "[Sir Windsor]"; mes "..."; close; case 3: - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; close2; warp "prt_in",80,100; end; - case 4: - mes "[Sir Windsor]"; - mes "..."; - close; } } job_knt,89,106,4 script Windsor Benedict#knt 733,{ - end; - OnInit: - hideonnpc "Windsor Benedict#knt"; + 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; -OnEnable: +OnStart: enablewaitingroomevent; end; } -job_knt,1,1,1 script Knight1 66,{ - end; - +- script Knight1 -1,{ OnInit: - hideonnpc "Knight1"; + disablenpc "Knight1"; end; OnEnable: - hideoffnpc "Knight1"; - monster "job_knt",39,150,"Dustiness",1114,1,"Knight1::OnMyMobDead"; - monster "job_knt",47,150,"Dustiness",1114,1,"Knight1::OnMyMobDead"; - monster "job_knt",39,142,"Dustiness",1114,1,"Knight1::OnMyMobDead"; - monster "job_knt",47,142,"Dustiness",1114,1,"Knight1::OnMyMobDead"; + 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"; @@ -2097,25 +1262,22 @@ OnEnable: initnpctimer; end; -OnReset: - killmonster "job_knt","Knight1::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Knight1"; + killmonster "job_knt", "Knight1::OnMyMobDead"; + disablenpc "Knight1"; end; OnMyMobDead: - if (mobcount ("job_knt","Knight1::OnMyMobDead") < 1) { + set .MyMobs,.MyMobs-1; + if (.MyMobs < 1) { mes "[Sir Windsor]"; mes "..."; - close2; + next; mes "[Sir Windsor]"; mes "...On to"; mes "the next level."; close2; warp "job_knt",43,52; - donpcevent "Knight1::OnReset"; donpcevent "Knight1::OnDisable"; donpcevent "Knight2::OnEnable"; stopnpctimer; @@ -2123,81 +1285,54 @@ OnMyMobDead: end; OnTimer180000: - donpcevent "Knight1::OnReset"; + donpcevent "Knight1::OnDisable"; end; OnTimer181000: - donpcevent "Out1::OnEnable"; + areawarp "job_knt", 24, 126, 63, 165, "prt_in",80,100; end; OnTimer182000: - donpcevent "Out1::OnDisable"; + stopnpctimer; donpcevent "Knight1::OnDisable"; - donpcevent "Windsor Benedict#knt::OnEnable"; + donpcevent "Windsor Benedict#knt::OnStart"; end; } -job_knt,43,146,0 script Out1 139,22,22,{ - -OnTouch: - warp "prt_in",80,100; - end; - -OnInit: - hideonnpc "Out1"; - end; - -OnEnable: - hideoffnpc "Out1"; - end; - -OnDisable: - hideonnpc "Out1"; - end; -} - -job_knt,1,2,1 script Knight2 66,{ - end; - +// Test 2 part 2 +//========================================================== +- script Knight2 -1,{ OnInit: - hideonnpc "Knight2"; + disablenpc "Knight2"; end; OnEnable: - hideoffnpc "Knight2"; + 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",43,42,"Desert Wolf",1106,1,"Knight2::OnMyMobDead"; - monster "job_knt",43,62,"Desert Wolf",1106,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"; - monster "job_knt",60,68,"Anacondaq",1030,1,"Knight2::OnMyMobDead"; - monster "job_knt",27,68,"Anacondaq",1030,1,"Knight2::OnMyMobDead"; - monster "job_knt",60,35,"Anacondaq",1030,1,"Knight2::OnMyMobDead"; - monster "job_knt",27,35,"Anacondaq",1030,1,"Knight2::OnMyMobDead"; initnpctimer; end; -OnReset: - killmonster "job_knt","Knight2::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Knight2"; + killmonster "job_knt", "Knight2::OnMyMobDead"; + disablenpc "Knight2"; end; OnMyMobDead: - if (mobcount ("job_knt","Knight2::OnMyMobDead") < 1) { + set .MyMobs,.MyMobs-1; + if (.MyMobs < 1) { mes "[Sir Windsor]"; mes "...Hmm."; - close2; + next; mes "[Sir Windsor]"; mes "...One stage left."; close2; warp "job_knt",143,152; - donpcevent "Knight2::OnReset"; donpcevent "Knight2::OnDisable"; donpcevent "Knight3::OnEnable"; stopnpctimer; @@ -2205,125 +1340,88 @@ OnMyMobDead: end; OnTimer180000: - donpcevent "Knight2::OnReset"; + donpcevent "Knight2::OnDisable"; end; OnTimer181000: - donpcevent "Out2::OnEnable"; + areawarp "job_knt", 24, 32, 63, 71, "prt_in",80,100; end; OnTimer182000: - donpcevent "Out2::OnDisable"; + stopnpctimer; donpcevent "Knight2::OnDisable"; - donpcevent "Windsor Benedict#knt::OnEnable"; + donpcevent "Windsor Benedict#knt::OnStart"; end; } -job_knt,43,52,0 script Out2 139,22,22,{ - -OnTouch: - warp "prt_in",80,100; - end; - +// Test 2 part 3 +//========================================================== +- script Knight3 -1,{ OnInit: - hideonnpc "Out2"; + disablenpc "Knight3"; end; OnEnable: - hideoffnpc "Out2"; - end; - -OnDisable: - hideonnpc "Out2"; - end; -} - -job_knt,1,3,1 script Knight3 66,{ - end; - -OnInit: - hideonnpc "Knight3"; - end; - -OnEnable: - hideoffnpc "Knight3"; + 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"; - monster "job_knt",147,167,"Goblin Archer",1258,1,"Knight3::OnMyMobDead"; - monster "job_knt",136,158,"Steam Goblin",1280,1,"Knight3::OnMyMobDead"; initnpctimer; end; -OnReset: - killmonster "job_knt","Knight3::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Knight3"; + killmonster "job_knt", "Knight3::OnMyMobDead"; + disablenpc "Knight3"; end; OnMyMobDead: - if (mobcount ("job_knt","Knight3::OnMyMobDead") < 1) { + set .MyMobs,.MyMobs-1; + if (.MyMobs < 1) { mes "[Sir Windsor]"; mes "..."; - close2; + next; mes "[Sir Windsor]"; mes "...Very good."; - close2; + next; mes "[Sir Windsor]"; mes "...Go talk to"; mes "Amy Beatrice now."; close2; - set KNGHT_Q,8; + set KNIGHT_Q,8; + if(checkquest(9007) == -1) { + changequest 9006,9007; + } warp "prt_in",80,100; - donpcevent "Knight3::OnReset"; donpcevent "Knight3::OnDisable"; - donpcevent "Windsor Benedict#knt::OnEnable"; + donpcevent "Windsor Benedict#knt::OnStart"; stopnpctimer; } end; OnTimer180000: - donpcevent "Knight3::OnReset"; + donpcevent "Knight3::OnDisable"; end; OnTimer181000: - donpcevent "Out3::OnEnable"; + areawarp "job_knt", 124, 132, 163, 171, "prt_in",80,100; end; OnTimer182000: - donpcevent "Out3::OnDisable"; + stopnpctimer; donpcevent "Knight3::OnDisable"; - donpcevent "Windsor Benedict#knt::OnEnable"; - end; -} - -job_knt,143,152,0 script Out3 139,22,22,{ - -OnTouch: - warp "prt_in",80,100; - end; - -OnInit: - hideonnpc "Out3"; - end; - -OnEnable: - hideoffnpc "Out3"; - end; - -OnDisable: - hideonnpc "Out3"; + donpcevent "Windsor Benedict#knt::OnStart"; end; } -prt_in,69,107,6 script Lady Amy 728,{ - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Knight || Class == Job_Knight) { - mes "[Lady Amy]"; +// 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"; @@ -2339,10 +1437,9 @@ prt_in,69,107,6 script Lady Amy 728,{ mes "Of course~"; mes "You're a member of"; mes "the Prontera Chivalry~"; - close2; + close; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Lady Amy]"; + else if (BaseClass == Job_Novice) { mes "Aww~"; mes "What a cute"; mes "little Novice!"; @@ -2359,21 +1456,21 @@ prt_in,69,107,6 script Lady Amy 728,{ mes "Remember, you're"; mes "going to be a Knight,"; mes "alright? Promise?"; - close2; + 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; } - mes "[Lady Amy]"; - 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 (KNGHT_Q == 0) { - mes "[Lady Amy]"; + if (KNIGHT_Q == 0) { mes "Ooh, you're"; mes "a Swordsman...?"; mes "Did you come to"; @@ -2387,14 +1484,12 @@ prt_in,69,107,6 script Lady Amy 728,{ mes "there. Hee hee~"; close; } - if (KNGHT_Q == 1) { - mes "[Lady Amy]"; + else if (KNIGHT_Q >= 1 && KNIGHT_Q <= 7) { mes "Hmmm?"; mes "Why did you"; mes "come to Amy?"; next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: + 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!"; @@ -2411,1084 +1506,332 @@ prt_in,69,107,6 script Lady Amy 728,{ mes "but I'm not allowed to."; mes "Hee hee~"; close; - case 2: - mes "[Lady Amy]"; - mes "Aww~"; - mes "Alright..."; - close; } - } - if (KNGHT_Q == 2) { mes "[Lady Amy]"; - mes "Hmmm?"; - mes "Why did you"; - mes "come to Amy?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: - mes "[Lady Amy]"; - mes "Mmm~"; - mes "You applied to change jobs! Okay! You'll soon be a Knight with that kind of determination!"; + 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; - mes "[Lady Amy]"; - mes "But..."; - mes "You have to go"; - mes "to the other Knights"; - mes "before talking to Amy."; + 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; - 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; - case 2: - mes "[Lady Amy]"; - mes "Aww~"; - mes "Alright..."; - close; + 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; + } } - } - if (KNGHT_Q == 3) { + 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 "Hmmm?"; - mes "Why did you"; - mes "come to 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; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 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."; + 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'd love to test"; - mes "you from the beginning,"; - mes "but I'm not allowed to."; - mes "Hee hee~"; + mes "I'll have nice comments about you for the captain. Do well on the tests you have left, okay?"; close; - case 2: + } + 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 "Aww~"; - mes "Alright..."; + 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; } - } - if (KNGHT_Q == 4) { + 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; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 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 right now, but"; - mes "I'm not allowed"; - mes "to quite yet."; - mes "Hee hee~"; - close; - case 2: - mes "[Lady Amy]"; - mes "Aww~"; - mes "Alright..."; - close; - } + mes "[Lady Amy]"; + mes "You have to go to"; + mes "Sir Edmond for your"; + mes "next test, okay?"; + close; } - if (KNGHT_Q == 5) { + 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; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: - mes "[Lady Amy]"; - mes "Mmm~"; - mes "You applied to change jobs! Okay! You'll soon be a Knight with that kind of determination!"; + 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 "[Lady Amy]"; - mes "But..."; - mes "You have to go"; - mes "to the other Knights"; - mes "before talking to Amy."; + mes "[Sir Edmond]"; + mes "Flowing water"; + mes "avoids obstacles,"; + mes "going on its way..."; next; - mes "[Lady Amy]"; - mes "I'd love to test"; - mes "you right now, but"; - mes "I'm not allowed"; - mes "to quite yet."; - mes "Hee hee~"; + mes "[Sir Edmond]"; + mes "Knights must be"; + mes "able to pass things,"; + mes "like calm water, in"; + mes "any situation."; close; - case 2: - mes "[Lady Amy]"; - mes "Aww~"; - mes "Alright..."; + } + 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 (KNGHT_Q == 6) { - mes "[Lady Amy]"; - mes "Hmmm?"; - mes "Why did you"; - mes "come to Amy?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 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 right now, but"; - mes "I'm not allowed"; - mes "to quite yet."; - mes "Hee hee~"; - close; - case 2: - mes "[Lady Amy]"; - mes "Aww~"; - mes "Alright..."; - close; - } - } - if (KNGHT_Q == 7) { - mes "[Lady Amy]"; - mes "Hmmm?"; - mes "Why did you"; - mes "come to Amy?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 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 right now, but"; - mes "I'm not allowed"; - mes "to quite yet."; - mes "Hee hee~"; - close; - case 2: - mes "[Lady Amy]"; - mes "Aww~"; - mes "Alright..."; - close; - } - } - if (KNGHT_Q == 8) { - mes "[Lady Amy]"; - mes "Hmmm?"; - mes "Why did you"; - mes "come to Amy?"; - next; - switch (select("Sir Windsor told me to--:Oh, nothing.")) { - case 1: - changequest 9006,9008; - 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; - set @knight_t, 0; - mes "[Lady Amy]"; - mes "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; - switch (select("Shout out that you are looking for a party.:Open a chat room and wait.:Look for people seeking Knights.")) { - case 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - 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; - switch (select("Check out the area and plan ahead.:Gather monsters for your party members.:Lead the party slowly at the front.")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - mes "[Lady Amy]"; - mes "But some rude players came with a group of monsters and disappeared! What should you do?"; - next; - switch (select("Keep the monsters from reaching the party.:Defend while the party retreats.:Run away on your Peco Peco.")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - break; - } - 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; - switch (select("Ask your party's Priest to help.:Say you will help for Zeny.:Ignore and move on.")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - break; - case 3: - break; - } - 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; - switch (select("Give it to who deserves it the most.:Pretend like nothing happened and keep it.:Decide with party who gets it.")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - 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; - switch (select("Shout out loud to everyone.:Open a chat room and wait.:Inquire if there is anyone that is interested.")) { - case 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - mes "[Lady Amy]"; - mes "While you are waiting,"; - mes "someone comes and begs"; - mes "for items and zeny."; - mes "What do you do?"; - next; - switch (select("Give them some Zeny and items.:Simply ignore them.:Give suggestions for a place to hunt.")) { - case 1: - break; - case 2: - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - 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; - switch (select("Tell the person how to reach the exit.:Lead the person to the exit.:Give a Butterfly Wing.")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - break; - } - 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; - switch (select("Would it be possible to get a heal please?:Can I have a heal?:Heal plz!!")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - break; - case 3: - break; - } - 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; - switch (select("Pick it up and keep it.:Ask around to find the owner.:Simply walk by.")) { - case 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - mes "[Lady Amy]"; - mes "Okay,"; - mes "that was the"; - mes "end of my test!"; - next; - if (@knight_t == 100) { - set KNGHT_Q,10; - mes "[Lady Amy]"; - 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; - } - if (@knight_t == 90) { - set KNGHT_Q,10; - changequest 9008,9009; - mes "[Lady Amy]"; - 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 KNGHT_Q,9; - mes "[Lady Amy]"; - 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; - case 2: - mes "[Lady Amy]"; - mes "Aww..."; - mes "Alright~"; - close; - } - } - if (KNGHT_Q == 9) { - mes "[Lady Amy]"; - mes "Hmmm?"; - mes "Why did you"; - mes "come to Amy?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 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; - set @knight_t, 0; - 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; - switch (select("Shout out that you are looking for a party.:Open a chat room and wait.:Look for people seeking Knights.")) { - case 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - 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; - switch (select("Check out the area and plan ahead.:Gather monsters for your party members.:Lead the party slowly at the front.")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - mes "[Lady Amy]"; - mes "But some rude players came with a group of monsters and disappeared! What should you do?"; - next; - switch (select("Keep the monsters from reaching your party.:Defend while the party retreats.:Run away on your Peco Peco.")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - break; - } - 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; - switch (select("Ask your party's Priest to help.:Say you will help for Zeny.:Ignore and move on.")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - break; - case 3: - break; - } - 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; - switch (select("Give it to who deserves it the most.:Pretend like nothing happened and keep it.:Decide with party who gets it.")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - 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; - switch (select("Shout out loud to everyone.:Open a chat room and wait.:Inquire if there is anyone that is interested.")) { - case 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - mes "[Lady Amy]"; - mes "While you are waiting,"; - mes "someone comes and begs"; - mes "for items and zeny."; - mes "What do you do?"; - next; - switch (select("Give them some Zeny and items.:Simply ignore them.:Give suggestions for a place to hunt.")) { - case 1: - break; - case 2: - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - 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; - switch (select("Tell the person how to reach the exit.:Lead the person to the exit.:Give a Butterfly Wing.")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - break; - } - 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; - switch (select("Would it be possible to get a heal please?:Can I have a heal?:Heal plz!!")) { - case 1: - set @knight_t, @knight_t + 10; - break; - case 2: - break; - case 3: - break; - } - 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; - switch (select("Pick it up and keep it.:Ask around to find the owner.:Simply walk by.")) { - case 1: - break; - case 2: - set @knight_t, @knight_t + 10; - break; - case 3: - set @knight_t, @knight_t + 10; - break; - } - mes "[Lady Amy]"; - mes "Okay,"; - mes "that was the"; - mes "end of my test!"; - next; - if (@knight_t == 100) { - set KNGHT_Q,10; - mes "[Lady Amy]"; - 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; - } - if (@knight_t == 90) { - set KNGHT_Q,10; - mes "[Lady Amy]"; - 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 KNGHT_Q,9; - mes "[Lady Amy]"; - 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; - case 2: - mes "[Lady Amy]"; - mes "Aww..."; - mes "Alright~"; - close; - } - } - if (KNGHT_Q == 10) { - mes "[Lady Amy]"; - 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; - } - if (KNGHT_Q == 14) { - mes "[Lady Amy]"; - 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; - } - mes "[Lady Amy]"; - 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; -} - -prt_in,70,99,6 script Sir Edmond 734,{ - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Knight || Class == Job_Knight) { - mes "[Sir Edmond]"; - 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; - } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Sir Edmond]"; - 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; - } - mes "[Sir Edmond]"; - mes "Everything in this world exists in harmony. Living without disrupting this harmony is the right way to live..."; - close; - } - if (KNGHT_Q == 0) { - mes "[Sir Edmond]"; - 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; - } - if (KNGHT_Q == 1) { - mes "[Sir Edmond]"; - mes "What is it..."; - mes "Wandering Swordman?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 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; - case 2: - 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; - } - } - if (KNGHT_Q == 2) { - mes "[Sir Edmond]"; - mes "What is it..."; - mes "Wandering Swordman?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: - mes "[Sir Edmond]"; - mes "The question of"; - mes "what came first:"; - mes "the chicken"; - mes "or the egg?"; - next; - mes "[Sir Edmond]"; - mes "Do you think"; - mes "you're prepared"; - mes "to discuss this?"; - next; - mes "[Sir Edmond]"; - mes "That's what"; - mes "I thought..."; - mes "Go to the"; - mes "others first."; - close; - case 2: - 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; - } - } - if (KNGHT_Q == 3) { - mes "[Sir Edmond]"; - mes "What is it..."; - mes "Wandering Swordman?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 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; - case 2: - 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; - } - } - if (KNGHT_Q == 4) { - mes "[Sir Edmond]"; - mes "What is it..."; - mes "Wandering Swordman?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: - mes "[Sir Edmond]"; - mes "The question of"; - mes "what came first:"; - mes "the chicken"; - mes "or the egg?"; - next; - mes "[Sir Edmond]"; - mes "Do you think"; - mes "you're prepared"; - mes "to discuss this?"; - next; - mes "[Sir Edmond]"; - mes "That's what"; - mes "I thought..."; - mes "Go to the"; - mes "others first."; - close; - case 2: - 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; - } - } - if (KNGHT_Q == 5) { - mes "[Sir Edmond]"; - mes "What is it..."; - mes "Wandering Swordman?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: - mes "[Sir Edmond]"; - mes "The question of"; - mes "what came first:"; - mes "the chicken"; - mes "or the egg?"; - next; - mes "[Sir Edmond]"; - mes "Do you think"; - mes "you're prepared"; - mes "to discuss this?"; - next; - mes "[Sir Edmond]"; - mes "That's what"; - mes "I thought..."; - mes "Go to the"; - mes "others first."; - close; - case 2: - 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; - } - } - if (KNGHT_Q == 6) { - mes "[Sir Edmond]"; - mes "What is it... "; - mes "Wandering Swordman?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: - mes "[Sir Edmond]"; - mes "If a tree falls"; - mes "in the woods, does"; - mes "it make a sound?"; - next; - mes "[Sir Edmond]"; - mes "I think you need"; - mes "more time to think"; - mes "about this."; - next; - mes "[Sir Edmond]"; - mes "Go to the others"; - mes "first, so that you"; - mes "may find an answer..."; - close; - case 2: - 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; - } + 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; } - if (KNGHT_Q == 7) { - mes "[Sir Edmond]"; + else if (KNIGHT_Q >= 1 && KNIGHT_Q <= 9) { mes "What is it..."; mes "Wandering Swordman?"; next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: - mes "[Sir Edmond]"; - mes "Change will"; - mes "come when all is in"; - mes "readiness. Everything"; - mes "comes in its own"; - mes "good time."; - next; - mes "[Sir Edmond]"; - mes "The time has not"; - mes "yet come for me"; - mes "to test you yet."; - mes "Go to the others."; - close; - case 2: - 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; - } - } - if (KNGHT_Q == 8) { - mes "[Sir Edmond]"; - mes "Zzz..."; - mes "Zzz..."; - mes "^666666*snort*^000000"; - mes "Wah? Huh?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: + if (select("I would like to take the test to change jobs.:Oh, nothing.") == 1) { mes "[Sir Edmond]"; - mes "Is it my"; - mes "turn yet...?"; - mes "No... Not yet."; + 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 "Sorry, it's"; - mes "not my turn yet,"; - mes "young one."; + mes "If not..."; + mes "The flower will"; + mes "be incomplete."; next; mes "[Sir Edmond]"; mes "Go to the others"; - mes "first and complete"; - mes "their tasks..."; - close; - case 2: - mes "[Sir Edmond]"; - mes "You're almost"; - mes "there, don't"; - mes "give up..."; + mes "first, so that you"; + mes "may find your path..."; close; } - } - if (KNGHT_Q == 9) { mes "[Sir Edmond]"; - mes "What is it..."; - mes "Wandering Swordman?"; - next; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: - mes "[Sir Edmond]"; - mes "You are nearing the"; - mes "end of your journey..."; - next; - mes "[Sir Edmond]"; - mes "However, there are"; - mes "still the final steps"; - mes "you must take..."; - next; - mes "[Sir Edmond]"; - mes "However,"; - mes "my time to test"; - mes "you has not come"; - mes "quite yet."; - close; - case 2: - mes "[Sir Edmond]"; - mes "You must still see"; - mes "one of the others..."; - mes "But the life that you"; - mes "want will soon be"; - mes "before your eyes."; - close; - } + mes "The life that you"; + mes "want will soon be"; + mes "before your eyes."; + mes "Everything will"; + mes "come in perfect"; + mes "order."; + close; } - if (KNGHT_Q == 10) { - mes "[Sir Edmond]"; + else if (KNIGHT_Q == 10) { mes "What is it..."; mes "Wandering Swordman."; next; - switch (select("Lady Amy sent me.:Oh, nothing.")) { - case 1: + 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; @@ -3513,26 +1856,23 @@ prt_in,70,99,6 script Sir Edmond 734,{ mes "Keep in mind"; mes "the quality of"; mes "reverence."; - set KNGHT_Q,12; - changequest 9009,9010; close2; + set KNIGHT_Q,11; + changequest 9009,9010; warp "job_knt",143,57; end; - case 2: - mes "[Sir Edmond]"; - mes "The life you want"; - mes "will soon be before"; - mes "your eyes."; - close; } - } - if (KNGHT_Q == 11) { 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; - switch (select("I'm sorry, I didn't mean to...:Oh, nothing.")) { - case 1: + 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; @@ -3544,81 +1884,53 @@ prt_in,70,99,6 script Sir Edmond 734,{ mes "shall begin."; mes "Show me your"; mes "patience..."; - set KNGHT_Q,13; close2; warp "job_knt",143,57; end; - case 2: - 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."; - close2; } - } - if (KNGHT_Q == 12 || KNGHT_Q == 13) { 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; } - mes "[Sir Edmond]"; - 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; + 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; -OnTimer60000: - donpcevent "Warp#knt::OnEnable"; - end; - -OnTimer60050: - donpcevent "Timer#knt::OnReset"; - end; - -OnTimer60100: +OnTimer300500: donpcevent "Timer#knt::OnDisable"; - donpcevent "Warp#knt::OnDisable"; + disablenpc "Warp#knt"; end; -OnTimer60150: - donpcevent "Timer#knt::OnEnable"; +OnTimer301500: stopnpctimer; + donpcevent "Timer#knt::OnEnable"; end; OnInit: - hideoffnpc "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"; - monster "job_knt",167,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; - monster "job_knt",167,57,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; - monster "job_knt",120,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; - monster "job_knt",120,57,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; - initnpctimer; - end; - OnEnable: - hideoffnpc "Timer#knt"; + 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"; @@ -3631,19 +1943,18 @@ OnEnable: 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"; - monster "job_knt",167,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; - monster "job_knt",167,57,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; - monster "job_knt",120,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; - monster "job_knt",120,57,"Mushroom",1182,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; -OnReset: - killmonster "job_knt","Timer#knt::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Timer#knt"; + killmonster "job_knt","Timer#knt::OnMyMobDead"; + disablenpc "Timer#knt"; + disablenpc "Warp#knt"; end; OnMyMobDead: @@ -3651,31 +1962,23 @@ OnMyMobDead: end; } -job_knt,143,57,0 script Warp#knt 139,22,22,{ - +job_knt,145,57,1 script Warp#knt 107,22,22,{ +OnInit: + disablenpc "Warp#knt"; + end; OnTouch: - set KNGHT_Q,12; + set KNIGHT_Q,12; changequest 9010,9011; warp "prt_in",80,100; end; - -OnInit: - hideonnpc "Warp#knt"; - end; - -OnEnable: - hideoffnpc "Warp#knt"; - end; - -OnDisable: - hideonnpc "Warp#knt"; - end; } -prt_in,87,92,4 script Sir Gray 119,{ - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Knight || Class == Job_Knight) { - mes "[Sir Gray]"; +// 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; @@ -3685,10 +1988,10 @@ prt_in,87,92,4 script Sir Gray 119,{ mes "Every Knight"; mes "would want one!"; next; - switch (select("About ^3355FFClaymore^000000:Buy Claymore:End Conversation")) { + 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 Prontera!! Its value is priceless when considered by a Knight."; + 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."; @@ -3698,7 +2001,8 @@ prt_in,87,92,4 script Sir Gray 119,{ 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: - if ((MaxWeight - Weight) < 1800) { + 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."; @@ -3709,99 +2013,97 @@ prt_in,87,92,4 script Sir Gray 119,{ mes "your items first."; close; } - if ((Zeny > 73999) && (countitem(999) > 0) && (Class == Job_Baby_Knight || Class == Job_Knight || Class == Job_Baby_Swordman || Class == Job_Swordman)) { - 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; + 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 "The basics of"; - mes "making the Claymore"; - mes "is easy. Watch~!"; - next; - mes "^3355FF*Stir Stir*^000000"; - mes "^3355FF*Ooncha Ooncha*^000000"; + 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 "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 + mes "Come back when"; + mes "you have everything"; + mes "ready. I shall be"; + mes "waiting..."; 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; } - if (Class == Job_Novice) { - mes "[Sir Gray]"; - 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 "[Sir Gray]"; - 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 (KNGHT_Q == 0) { - mes "[Sir Gray]"; - mes "Young one,"; - mes "use your time"; - mes "wisely."; + 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 "No point in"; - mes "harboring regret"; - mes "once time has passed."; + 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; } - if (KNGHT_Q == 12) { - mes "[Sir Gray]"; + 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; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: + 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; - set @knight_t, 0; mes "[Sir Gray]"; mes "Then shall"; mes "we begin mine?"; @@ -3811,308 +2113,32 @@ prt_in,87,92,4 script Sir Gray 119,{ 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; - 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; - } - 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; - } - 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; - } - } - 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; - } - 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!"; - if (Sex == 1) { - mes "Always protect her..."; - mes "Even at the sacrifice"; - mes "of your own life!"; - } - else { - mes "Always protect 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; - } - 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; - } - } - 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 KNGHT_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; - } - if (@knight_t == 5) { - set KNGHT_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; - } - if (@knight_t == 10) { - set KNGHT_Q,14; - 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; - } - set KNGHT_Q,13; - mes "[Sir Gray]"; - mes "Conversing"; - mes "with young ones"; - mes "is always enjoyable..."; + mes "shall we?"; 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."; + mes "First..."; + mes "Why did you"; + mes "decide to become"; + mes "a Knight?"; next; - mes "[Sir Gray]"; - mes "If you truly wish to become a Knight, you must change your outlook first. Then, we shall see."; - close; - case 2: + } + else { mes "[Sir Gray]"; mes "Take care!"; close; } } - if (KNGHT_Q == 13) { - mes "[Sir Gray]"; + else if (KNIGHT_Q == 13) { mes "Ah, you again."; mes "What brings you"; mes "to me?"; next; - switch (select("I've been thinking a lot.:Oh, nothing.")) { - case 1: + 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; - set @knight_t, 0; mes "[Sir Gray]"; mes "Then..."; mes "Like last time,"; @@ -4124,310 +2150,311 @@ prt_in,87,92,4 script Sir Gray 119,{ mes "decide to become"; mes "a Knight?"; next; - 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?"; - mes "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; - } - 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; - } - 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; - } - } + } + 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 "I understand your thoughts,"; - mes "but there are those who wish to"; - mes "become Knights without thinking."; + 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 "Those are the ones who instigate problems and shame the honor of Knights, bringing irreversible results."; + 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 "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."; + mes "Ah, a wonderful idea. A Knight's strength must be used to protect the weak and defend righteousness."; next; mes "[Sir Gray]"; - mes "If you become a Knight right away, what are you going to do first?"; + mes "Sadly, there are a few Knights who shame us by forgetting the ideals that should be basic to Knighthood..."; 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; - } - 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!"; - if (Sex == 1) { - mes "Always protect her..."; - mes "Even at the sacrifice"; - mes "of your own life!"; - } - else { - mes "Always protect 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; - } - 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; + } + 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 "Oh no, we've been"; - mes "talking too much..."; - mes "I apologize for"; - mes "keeping you here"; - mes "for so long."; + 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; - if (@knight_t == 0) { - set KNGHT_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~"; - close2; - } - if (@knight_t == 5) { - set KNGHT_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; - } - if (@knight_t == 10) { - set KNGHT_Q,14; - 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; - } - set KNGHT_Q,13; + break; + case 2: + set .@knight_t,.@knight_t+10; mes "[Sir Gray]"; - mes "Conversing"; - mes "with young ones"; - mes "is always enjoyable..."; + mes "Of course wealth is important."; + mes "But we Knights must live for higher virtues."; next; + break; + case 3: 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."; + mes "Ah, a wonderful idea. A Knight's strength must be used to protect the weak and defend righteousness."; next; mes "[Sir Gray]"; - mes "If you truly wish to become a Knight, you must change your outlook first. Then, we shall see."; - close; + 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 "Take care!"; - mes "Health is"; - mes "every man's"; - mes "treasure!"; - close; + 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; } - if (KNGHT_Q == 14) { + else { + set KNIGHT_Q,13; + mes "[Sir Gray]"; + mes "Conversing"; + mes "with young ones"; + mes "is always enjoyable..."; + next; mes "[Sir Gray]"; - mes "I told you"; - mes "to go to"; - mes "the captain."; + 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 "Everyone will"; - mes "carefully make"; - mes "their decision,"; - mes "so go now!"; + 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; - switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { - case 1: + if (select("I would like to take the test to change jobs.:Oh, nothing.") == 1) { mes "[Sir Gray]"; mes "Hoho~"; mes "There are many"; @@ -4440,13 +2467,12 @@ prt_in,87,92,4 script Sir Gray 119,{ mes "I may review"; mes "you as well."; close; - case 2: - mes "[Sir Gray]"; - mes "Take care!"; - mes "Health is"; - mes "every man's"; - mes "treasure!"; - close; } + mes "[Sir Gray]"; + mes "Take care!"; + mes "Health is"; + mes "every man's"; + mes "treasure!"; + close; } -} \ No newline at end of file +} diff --git a/npc/re/jobs/2-1/priest.txt b/npc/re/jobs/2-1/priest.txt index a283fb5d0..8aadc429b 100644 --- a/npc/re/jobs/2-1/priest.txt +++ b/npc/re/jobs/2-1/priest.txt @@ -1,44 +1,63 @@ //===== rAthena Script ======================================= -// Piest Job change Quest +//= Priest Quest //===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= Translated By: Pgro Team (OwNaGe)(Aegis) +//= Converted by: kobra_k88. +//= Further bugfixed and tested by Lupus //===== Current Version: ===================================== -//= 1.0 +//= 2.6 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Acolyte -> Priest. +//= [Aegis Conversion] +//= Job Change quest for Priest class. //===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] -//============================================================ +//= 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,{ - if (Upper == 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; + // 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 ((Class != Job_Baby_Acolyte) && (Class != Job_Acolyte)) { - if (Class == Job_Baby_Priest || Class == Job_Priest || Class == Job_High_Priest) { + if (BaseJob != Job_Acolyte) { + if (BaseJob == Job_Priest) { mes "[Bishop Paul]"; mes "Ah..."; - if (Sex == 1) { + 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 { + 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.")) { + 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."; @@ -62,8 +81,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "[Bishop Paul]"; mes "Do you wish to help him out during the spiritual training?"; next; - switch (select("Yes, I do.:Give me a second.")) { - case 1: + 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..."; @@ -77,42 +95,38 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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; - case 2: - mes "[Bishop Paul]"; - mes "I see, take your time. Don't forget to bring a ^0000FFRosary^000000..."; - 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 90,90; + 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; } } - if (Class == Job_Baby || Class == Job_Novice) { - if (Sex == 1) { - mes "[Bishop Paul]"; - mes "May God be"; + else if (BaseClass == Job_Novice) { + mes "[Bishop Paul]"; + mes "May God be"; + if (sex) mes "with you, brother."; - } - else { - mes "[Bishop Paul]"; - mes "May God be"; + 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.")) { + 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..."; @@ -133,22 +147,18 @@ prt_church,16,41,4 script High Bishop#prst 60,{ close; } else { - if (Sex == 1) { - mes "[Bishop Paul]"; - mes "May God be"; + mes "[Bishop Paul]"; + mes "May God be"; + if (sex) mes "with you, brother."; - } - else { - mes "[Bishop Paul]"; - mes "May God be"; + 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.")) { + switch(select("Information about Priests.:Nothing.")) { case 1: mes "[Bishop Paul]"; mes "Priests have the authority to perform and administer religious rites."; @@ -191,22 +201,17 @@ prt_church,16,41,4 script High Bishop#prst 60,{ close; } } - if (PRST_Q == 0) { - if (Sex == 1) { - mes "[Bishop Paul]"; - mes "May God bless"; + if (PRIEST_Q == 0) { + mes "[Bishop Paul]"; + mes "May God bless"; + if (sex) mes "you, Brother."; - mes "What brings"; - mes "you to me?"; - } else { - mes "[Bishop Paul]"; - mes "May God bless"; + else mes "you, Sister."; - mes "What brings"; - mes "you to me?"; - } + mes "What brings"; + mes "you to me?"; next; - switch (select("I want to be a Priest.:How are you, Father?")) { + 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."; @@ -221,8 +226,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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; - switch (select("Yes, I do.:I need some time to think about it...")) { - case 1: + 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."; @@ -231,21 +235,19 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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 != 0) { + 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 PRST_Q, 1; + set PRIEST_Q,1; setquest 8009; - if (Sex == 1) { 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 "[Bishop Paul]"; + 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."; @@ -269,25 +271,22 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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 PRST_Q, 5; + set PRIEST_Q,5; changequest 8009,8011; mes "[Bishop Paul]"; mes "Well, are you ready for the Spiritual Training?"; next; - switch (select("I am ready.:Give me a minute.")) { - case 1: + 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; - break; - case 2: - mes "[Bishop Paul]"; - mes "No problem, take your time."; - mes "May God give you the strength to overcome your fears..."; - close; - break; + 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."; @@ -314,15 +313,14 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "[Bishop Paul]"; mes "May God"; mes "bless you..."; - close; - case 2: - mes "[Bishop Paul]"; - mes "Please take your time."; - mes "You are always welcomed."; - mes "May God 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..."; @@ -331,11 +329,10 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "Thank you for asking."; next; mes "[Bishop Paul]"; - if (Sex == 1) { + if (sex) mes "I hope you will continue to go on your mission as God's servant, brother."; - } else { + 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"; @@ -344,12 +341,11 @@ prt_church,16,41,4 script High Bishop#prst 60,{ close; } } - if (PRST_Q == 1) { + 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; - switch (select("Sorry father, I need to check the order.:No no no, not at all.")) { - case 1: + 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; @@ -371,16 +367,15 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "[Bishop Paul]"; mes "May God bless you..."; close; - case 2: - 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; } + 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; } - if (PRST_Q == 2) { + 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; @@ -388,7 +383,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "For your next quest, you should meet Sister Mathilda. I shall be awaiting your safe return."; close; } - if (PRST_Q == 3) { + 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; @@ -396,8 +391,9 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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; } - if (PRST_Q == 4) { - set PRST_Q, 5; + else if (PRIEST_Q == 4) { + set PRIEST_Q,5; + changequest 8010,8011; mes "[Bishop Paul]"; mes "You've accomplished"; mes "your pilgrimage."; @@ -413,72 +409,63 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "Well, are you ready for"; mes "the spiritual training?"; next; - switch (select("I'm ready.:Give me a minute.")) { - case 1: - changequest 8010,8011; + 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; - case 2: - mes "[Bishop Paul]"; - mes "No problem,"; - mes "take your time."; - mes "May God grant you"; - mes "the strength to"; - mes "overcome your fears..."; - close; } + mes "[Bishop Paul]"; + mes "No problem,"; + mes "take your time."; + mes "May God grant you"; + mes "the strength to"; + mes "overcome your fears..."; + close; } - if (PRST_Q == 5) { + else if (PRIEST_Q == 5) { mes "[Bishop Paul]"; mes "You seem confident about the spiritual training. Shall we begin?"; next; - switch (select("I'm ready.:Give me a minute.")) { - case 1: - changequest 8010,8011; + 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; - case 2: - mes "[Bishop Paul]"; - mes "No problem,"; - mes "take your time."; - mes "May God grant you"; - mes "the strength to"; - mes "overcome your fears..."; - close; } + mes "[Bishop Paul]"; + mes "No problem,"; + mes "take your time."; + mes "May God grant you"; + mes "the strength to"; + mes "overcome your fears..."; + close; } - if (PRST_Q == 6) { + 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; - switch (select("I'll try again.:Give me a minute.")) { - case 1: - changequest 8010,8011; + 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; - case 2: - mes "[Bishop Paul]"; - mes "No problem,"; - mes "take your time."; - mes "May God grant you"; - mes "the strength to"; - mes "overcome your fears..."; - close; } + mes "[Bishop Paul]"; + mes "No problem,"; + mes "take your time."; + mes "May God grant you"; + mes "the strength to"; + mes "overcome your fears..."; + close; } - if (PRST_Q == 7) { + 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; @@ -494,7 +481,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "waiting for you."; close; } - if (PRST_Q == 8) { + 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; @@ -502,105 +489,63 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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; } - if (PRST_Q == 9) { - if (SkillPoint != 0) { + 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; } - if (JobLevel == 50) { - 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."; - if (Sex == 1) { - 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 PRST_Q, 0; - if(Class == Job_Baby_Acolyte){ - jobchange Job_Baby_Priest; - } else { - jobchange Job_Priest; - } - changequest 8015,8016; - 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; - getitem 1551,1; //Bible - mes "[Bishop Paul]"; - 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..."; - completequest 8016; - 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."; - if (Sex == 1) { + changequest 8015,8016; + if (sex) mes "Let him send your message throughout the ends of the earth."; - } - else { + 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 PRST_Q,0; - if(Class == Job_Baby_Acolyte){ - jobchange Job_Baby_Priest; - } else { - jobchange Job_Priest; - } - changequest 8015,8016; + 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; - getitem 1550,1; //Book mes "[Bishop Paul]"; - mes "And..."; - mes "This book is for you. I hope it will aid you in spreading God's message on earth."; + 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..."; - completequest 8016; close; } } prt_church,27,24,1 script Sister Cecilia 79,{ - if ((Class != Job_Baby_Acolyte) && (Class != Job_Acolyte)) { - if (Class == Job_Baby_Priest || Class == Job_Priest) { - if (Sex == 1) { - mes "[Sister Cecilia]"; + 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 "[Sister Cecilia]"; + 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."; - } } - if (Class == Job_Baby || Class == Job_Novice) { - if (Sex == 1) { - mes "[Sister Cecilia]"; + else if (Class == Job_Novice) { + if (sex) mes "May god bless you, brother."; - } - else { - mes "[Sister Cecilia]"; + else mes "May god bless you, sister."; - } mes "Prontera parish welcomes you."; next; mes "[Sister Cecilia]"; @@ -619,54 +564,45 @@ prt_church,27,24,1 script Sister Cecilia 79,{ mes "But please..."; mes "Take your time, and decide what job will be the best for you."; } - if (Sex == 1) { - mes "[Sister Cecilia]"; - mes "May god bless you, brother."; - } else { - mes "[Sister Cecilia]"; - mes "May god bless you, sister."; - } - mes "Welcome to Prontera parish. How may I help you?"; - next; - switch (select("Tell me more about Priests.:Nothing.")) { - case 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."; + 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; - 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 (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - next; + if (select("Tell me more about Priests.:Nothing.") == 1) { 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."; + 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 "I believe he can give you specific requirement information about the Priest class. Yes, I think it's a good idea."; - next; + 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; } - break; - case 2: 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."; - break; + next; + mes "[Sister Cecilia]"; + mes "May God bless you..."; + close; } - next; - mes "[Sister Cecilia]"; - mes "May God bless you..."; - close; } - if (PRST_Q == 0) { - if (Sex == 1) { - mes "[Sister Cecilia]"; + if (PRIEST_Q == 0) { + if (sex) mes "May God bless you, brother."; - } - else { - mes "[Sister Cecilia]"; + 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.")) { + 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."; @@ -692,8 +628,7 @@ prt_church,27,24,1 script Sister Cecilia 79,{ close; } } - if (PRST_Q == 1) { - mes "[Sister Cecilia]"; + 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]"; @@ -715,8 +650,7 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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; } - if (PRST_Q == 2) { - mes "[Sister Cecilia]"; + 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]"; @@ -729,8 +663,7 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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; } - if (PRST_Q == 3) { - mes "[Sister Cecilia]"; + 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]"; @@ -740,25 +673,21 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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; } - if (PRST_Q == 4) { - mes "[Sister Cecilia]"; + 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 == 1) { - mes "Brother " + strcharinfo(0) + "..."; - } - else { - mes "Sister " + strcharinfo(0) + "..."; - } + 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; } - if (PRST_Q == 5) { - mes "[Sister Cecilia]"; + else if (PRIEST_Q == 5) { mes "Oh, you haven't finished the spiritual training yet?"; next; mes "[Sister Cecilia]"; @@ -768,8 +697,7 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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; } - if (PRST_Q == 6) { - mes "[Sister Cecilia]"; + 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]"; @@ -779,38 +707,41 @@ prt_church,27,24,1 script Sister Cecilia 79,{ mes "May God give you guidance and protection. When you complete your training, please come back to me."; close; } - if (PRST_Q == 7) { - mes "[Sister Cecilia]"; - mes "Welcome! I'm so glad to see you've come back! Now, there is one last trial left for you to complete."; - changequest 8013,8014; - next; - mes "[Sister Cecilia]"; - if (Sex == 1) { - mes "Brother " + strcharinfo(0) + "..."; + 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 { - mes "Sister " + strcharinfo(0) + "..."; + 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 == 1) { - mes "Brother " + strcharinfo(0) + ","; - } - else { - mes "Sister " + strcharinfo(0) + ","; - } + if (sex) + mes "Brother "+ strcharinfo(0) +","; + else + mes "Sister "+ strcharinfo(0) +","; mes "Are you willing"; mes "to give your life to God?"; next; - switch (select("Yes.:No!")) { - case 1: - break; - case 2: + 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 PRST_Q, 8; + 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; @@ -818,29 +749,23 @@ prt_church,27,24,1 script Sister Cecilia 79,{ mes "[Sister Cecilia]"; mes "Will you take advantage of the holy abilities given by God for selfish, destructive or greedy ends?"; next; - switch (select("Yes.:No.")) { - case 1: + 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 PRST_Q, 8; + 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; - case 2: - break; } mes "[Sister Cecilia]"; mes "Will you help aid others, even complete strangers, in battles by easing their suffering?"; next; - switch (select("Yes.:No.")) { - case 1: - break; - case 2: + 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 PRST_Q, 8; + 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; @@ -848,14 +773,11 @@ prt_church,27,24,1 script Sister Cecilia 79,{ mes "[Sister Cecilia]"; mes "Are you willing to sacrifice yourself for the sake of others?"; next; - switch (select("Yes.:No.")) { - case 1: - break; - case 2: + 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 PRST_Q, 8; + 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; @@ -863,279 +785,108 @@ prt_church,27,24,1 script Sister Cecilia 79,{ mes "[Sister Cecilia]"; mes "Will you repeatly say the same phrase in public in order to send God's message to his children?"; next; - switch (select("Yes.:No.")) { - case 1: + 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 PRST_Q, 8; + 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; - case 2: - break; } mes "[Sister Cecilia]"; mes "Will you lure many monsters to help your party members level up?"; next; - switch (select("Yes.:No.")) { - case 1: + 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 PRST_Q, 8; + 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; - case 2: - break; } mes "[Sister Cecilia]"; mes "Will you follow God, no matter what it takes, even if he demands you to kill yourself?"; next; - switch (select("Yes.:No.")) { - case 1: - break; - case 2: + 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 PRST_Q,8; + 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 == 1) { - mes "Brother " + strcharinfo(0) + "..."; - } - else { - mes "Sister " + strcharinfo(0) + "..."; - } + 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; - switch (select("I do.:No.")) { - case 1: - set PRST_Q,9; - changequest 8014,8015; + 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; - case 2: - mes "[Sister Cecilia]"; - mes "..."; - next; - mes "[Sister Cecilia]"; - mes "..."; - mes "......"; - next; - set PRST_Q,8; - mes "[Sister Cecilia]"; - mes "You've come so far..."; - mes "Why would you want"; - mes "to throw this all away...?"; - close; } - } - if (PRST_Q == 8) { mes "[Sister Cecilia]"; 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."; + mes "..."; + mes "......"; next; + set PRIEST_Q,8; + changequest 8014,8015; mes "[Sister Cecilia]"; - if (Sex == 1) { - mes "Brother " + strcharinfo(0) + "..."; - } - else { - mes "Sister " + strcharinfo(0) + "..."; - } - mes "We will now begin your formal oath for the Priesthood. This time, listen closely to your heart..."; + 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]"; - if (Sex == 1) { - mes "Brother " + strcharinfo(0) + ","; - } - else { - mes "Sister " + strcharinfo(0) + ","; - } - mes "Are you willing"; - mes "to give your life to God?"; + 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; - switch (select("Yes.:No!")) { - case 1: - break; - case 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; - 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?"; + 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; - switch (select("Yes.:No.")) { - case 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; - 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; - case 2: - break; - } - mes "[Sister Cecilia]"; - mes "Will you help aid others, even complete strangers, in battles by easing their suffering?"; + mes "[Father Peter]"; + mes "Remember, no matter how much you want to help this Acolyte, this is not your quest."; next; - switch (select("Yes.:No.")) { - case 1: - break; - case 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; - 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; - switch (select("Yes.:No.")) { - case 1: - break; - case 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; - 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; - switch (select("Yes.:No.")) { - case 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; - 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; - case 2: - break; - } - mes "[Sister Cecilia]"; - mes "Will you lure many monsters to help your party members level up?"; - next; - switch (select("Yes.:No.")) { - case 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; - 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; - case 2: - break; - } - mes "[Sister Cecilia]"; - mes "Will you follow God, no matter what it takes, even if he demands you to kill yourself?"; - next; - switch (select("Yes.:No.")) { - case 1: - break; - case 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; - 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 == 1) { - 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; - switch (select("I do.:No.")) { - case 1: - set PRST_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; - case 2: - mes "[Sister Cecilia]"; - mes "..."; - next; - mes "[Sister Cecilia]"; - mes "..."; - mes "......"; - next; - mes "[Sister Cecilia]"; - mes "You've come so far..."; - mes "Why would you want"; - mes "to throw this all away...?"; - close; - } - } - if (PRST_Q == 9) { - mes "[Sister Cecilia]"; - 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; - } -} - -job_prist,24,187,4 script Peter S. Alberto 110,{ - if (Class == Job_Baby_Priest || Class == Job_Priest) { - mes "[Father Peter]"; - mes "Welcome!"; - if (Sex == 1) { - 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.")) { + 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."; @@ -1159,8 +910,7 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ end; } } - if (PRST_Q == 5) { - mes "[Father Peter]"; + if (PRIEST_Q == 5) { mes "Welcome~!"; mes "I congratulate you"; mes "for passing the first trail."; @@ -1178,7 +928,7 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ 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...")) { + 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!"; @@ -1206,7 +956,7 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ 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.")) { + 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!"; @@ -1215,20 +965,21 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ mes "Now..."; mes "Go for it!"; close2; + changequest 8011,8012; warp "job_prist",24,44; - donpcevent "Zombie_Generator::OnEnable"; + donpcevent "Zombie_Generator#prst::OnEnable"; donpcevent "Peter S. Alberto::OnDisable"; donpcevent "Peter S. Alberto#2::OnEnable"; end; case 2: - set PRST_Q,6; + 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 PRST_Q,6; + set PRIEST_Q,6; mes "[Father Peter]"; mes "What...?"; mes "You wanna go back??"; @@ -1240,8 +991,7 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ end; } } - if (PRST_Q == 6) { - mes "[Father Peter]"; + else if (PRIEST_Q == 6) { mes "Are you ready this time?"; mes "Complete this trial quickly,"; mes "and become a Priest!"; @@ -1249,7 +999,7 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ mes "[Father Peter]"; mes "Are you ready then?"; next; - switch (select("I'm ready.:Please hold on.:I want to go back.")) { + 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..."; @@ -1259,8 +1009,11 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ mes "Kill those"; mes "misbegotten creatures!"; close2; + if(checkquest(8012) == -1) { + changequest 8011,8012; + } warp "job_prist",24,44; - donpcevent "Zombie_Generator::OnEnable"; + donpcevent "Zombie_Generator#prst::OnEnable"; donpcevent "Peter S. Alberto::OnDisable"; donpcevent "Peter S. Alberto#2::OnEnable"; end; @@ -1282,31 +1035,30 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ end; } } - mes "[Father Peter]"; - mes "Go back!"; - close2; - warp "prontera",234,318; - end; + else { + mes "Go back!"; + close2; + warp "prontera",234,318; + end; + } OnEnable: - hideoffnpc "Peter S. Alberto"; + enablenpc "Peter S. Alberto"; end; OnDisable: - hideonnpc "Peter S. Alberto"; + disablenpc "Peter S. Alberto"; end; } job_prist,23,187,1 script Peter S. Alberto#2 110,{ - if (Class == Job_Baby_Priest || Class == Job_Priest) { - mes "[Father Peter]"; + mes "[Father Peter]"; + if (BaseJob == Job_Priest) { mes "Welcome!"; - if (Sex == 1) { - mes "Brother " + strcharinfo(0) + "!"; - } - else { - mes "Sister " + strcharinfo(0) + "!"; - } + if (sex) + mes "Brother "+ strcharinfo(0) +"!"; + else + mes "Sister "+ strcharinfo(0) +"!"; mes "So good to see you!"; next; mes "[Father Peter]"; @@ -1319,47 +1071,44 @@ job_prist,23,187,1 script Peter S. Alberto#2 110,{ 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 (PRST_Q == 5) { - mes "[Father Peter]"; + 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; } - if (PRST_Q == 6) { - mes "[Father Peter]"; + 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; } - mes "[Father Peter]"; - mes "Peace..."; - mes "Be with you."; - close2; - warp "prontera",234,318; - end; + else { + mes "Peace..."; + mes "Be with you."; + close2; + warp "prontera",234,318; + end; + } OnInit: - hideonnpc "Peter S. Alberto#2"; + disablenpc "Peter S. Alberto#2"; end; OnEnable: - hideoffnpc "Peter S. Alberto#2"; + enablenpc "Peter S. Alberto#2"; end; OnDisable: - hideonnpc "Peter S. Alberto#2"; + disablenpc "Peter S. Alberto#2"; end; } -job_prist,1,1,1 script Zombie_Generator 110,{ - end; - +- script Zombie_Generator#prst 110,{ OnInit: - hideonnpc "Zombie_Generator"; + disablenpc "Zombie_Generator#prst"; end; OnEnable: @@ -1371,63 +1120,50 @@ OnEnable: initnpctimer; end; -OnM1: - monster "job_prist",24,52,"Theft",1015,1,"Zombie_Generator::OnMyMobDead"; - monster "job_prist",18,52,"Want of Virtue",1015,1,"Zombie_Generator::OnMyMobDead"; - monster "job_prist",30,52,"Jealousy",1015,1,"Zombie_Generator::OnMyMobDead"; +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,"Zombie_Generator::OnMyMobDead"; - monster "job_prist",27,62,"Envy",1015,1,"Zombie_Generator::OnMyMobDead"; +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,"Zombie_Generator::OnMyMobDead"; - monster "job_prist",18,72,"Lewdness",1015,1,"Zombie_Generator::OnMyMobDead"; - monster "job_prist",30,72,"Sloth",1015,1,"Zombie_Generator::OnMyMobDead"; +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,"Zombie_Generator::OnMyMobDead"; - monster "job_prist",27,82,"Greed",1015,1,"Zombie_Generator::OnMyMobDead"; +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,"Zombie_Generator::OnMyMobDead"; - monster "job_prist",18,92,"Distrust",1015,1,"Zombie_Generator::OnMyMobDead"; - monster "job_prist",30,92,"Fear",1015,1,"Zombie_Generator::OnMyMobDead"; - end; - -OnMyMobDead: - if (mobcount ("job_prist","Zombie_Generator::OnMyMobDead") < 1) { - donpcevent "prst1_2::OnEnable"; - } +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: - hideonnpc "Zombie_Generator"; - end; - -OnReset: - killmonster "job_prist","Zombie_Generator::OnMyMobDead"; + disablenpc "Zombie_Generator#prst"; + killmonsterall "job_prist"; end; OnTimer300000: - donpcevent "Zombieo::OnEnable"; + areawarp "job_prist",8,34,39,109,"prontera",234,318; end; OnTimer300500: - donpcevent "Zombie_Generator::OnReset"; - end; - -OnTimer301000: - donpcevent "Zombieo::OnDisable"; - donpcevent "prst1_2::OnDisable"; + donpcevent "Zombie_Generator#prst::OnDisable"; end; OnTimer301500: - donpcevent "Zombie_Generator::OnDisable"; + donpcevent "Zombie_Generator#prst::OnDisable"; donpcevent "Peter S. Alberto#2::OnDisable"; donpcevent "Peter S. Alberto::OnEnable"; end; @@ -1437,10 +1173,17 @@ OnTimer302000: end; } -job_prist,24,44,0 script Zombie Info 139,1,1,{ +- 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 (Class == Job_Baby_Priest || Class == Job_Priest) { + 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; @@ -1454,7 +1197,7 @@ OnTouch: mes "5 minutes. Best of luck~"; close; } - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + 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; @@ -1465,255 +1208,128 @@ OnTouch: end; } -job_prist,24,74,0 script Zombieo 139,14,40,{ - -OnTouch: - warp "prontera",234,318; - end; - +job_prist,24,52,0 script Zombie1_1 -1,14,1,{ OnInit: - hideonnpc "Zombieo"; + disablenpc "Zombie1_1"; end; -OnEnable: - hideoffnpc "Zombieo"; - end; - -OnDisable: - hideonnpc "Zombieo"; - end; -} - -job_prist,24,52,0 script Zombie1_1 139,14,1,{ - OnTouch: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - donpcevent "Zombie_Generator::OnM1"; + if (BaseJob == Job_Acolyte) { + donpcevent "Zombie_Generator#prst::Onm1"; donpcevent "Zombie1_1::OnDisable"; } end; -OnInit: - hideonnpc "Zombie1_1"; - end; - OnEnable: - hideoffnpc "Zombie1_1"; - hideoffnpc "Zombie1_2"; - hideoffnpc "Zombie1_3"; + enablenpc "Zombie1_1"; end; OnDisable: - hideonnpc "Zombie1_1"; - hideonnpc "Zombie1_2"; - hideonnpc "Zombie1_3"; + disablenpc "Zombie1_1"; end; } -job_prist,18,52,0 script Zombie1_2 139,1,1,{ - end; - -OnInit: - hideonnpc "Zombie1_2"; - end; -} - -job_prist,30,52,0 script Zombie1_3 139,1,1,{ - end; - +job_prist,21,62,0 script Zombie2_1 -1,17,1,{ OnInit: - hideonnpc "Zombie1_3"; + disablenpc "Zombie2_1"; end; -} - -job_prist,21,62,0 script Zombie2_1 139,17,1,{ OnTouch: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - donpcevent "Zombie_Generator::OnM2"; + if (BaseJob == Job_Acolyte) { + donpcevent "Zombie_Generator#prst::Onm2"; donpcevent "Zombie2_1::OnDisable"; } end; -OnInit: - hideonnpc "Zombie2_1"; - end; - OnEnable: - hideoffnpc "Zombie2_1"; - hideoffnpc "Zombie2_2"; + enablenpc "Zombie2_1"; end; OnDisable: - hideonnpc "Zombie2_1"; - hideonnpc "Zombie2_2"; + disablenpc "Zombie2_1"; end; } -job_prist,27,62,0 script Zombie2_2 139,1,1,{ - end; - +job_prist,24,72,0 script Zombie3_1 -1,14,1,{ OnInit: - hideonnpc "Zombie2_2"; + disablenpc "Zombie3_1"; end; -} - -job_prist,24,72,0 script Zombie3_1 139,14,1,{ OnTouch: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - donpcevent "Zombie_Generator::OnM3"; + if (BaseJob == Job_Acolyte) { + donpcevent "Zombie_Generator#prst::Onm3"; donpcevent "Zombie3_1::OnDisable"; } end; -OnInit: - hideonnpc "Zombie3_1"; - end; - OnEnable: - hideoffnpc "Zombie3_1"; - hideoffnpc "Zombie3_2"; - hideoffnpc "Zombie3_3"; + enablenpc "Zombie3_1"; end; OnDisable: - hideonnpc "Zombie3_1"; - hideonnpc "Zombie3_2"; - hideonnpc "Zombie3_3"; + disablenpc "Zombie3_1"; end; } -job_prist,18,72,0 script Zombie3_2 139,1,1,{ - end; - +job_prist,21,82,0 script Zombie4_1 -1,17,1,{ OnInit: - hideonnpc "Zombie3_2"; - end; -} - -job_prist,30,72,0 script Zombie3_3 139,1,1,{ + disablenpc "Zombie4_1"; end; -OnInit: - hideonnpc "Zombie3_3"; - end; - -} - -job_prist,21,82,0 script Zombie4_1 139,17,1,{ - OnTouch: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - donpcevent "Zombie_Generator::OnM4"; + if (BaseJob == Job_Acolyte) { + donpcevent "Zombie_Generator#prst::Onm4"; donpcevent "Zombie4_1::OnDisable"; } end; -OnInit: - hideonnpc "Zombie4_1"; - end; - OnEnable: - hideoffnpc "Zombie4_1"; - hideoffnpc "Zombie4_2"; + enablenpc "Zombie4_1"; end; OnDisable: - hideonnpc "Zombie4_1"; - hideonnpc "Zombie4_2"; - end; + disablenpc "Zombie4_1"; } -job_prist,27,82,0 script Zombie4_2 139,1,1,{ - end; - +job_prist,24,92,0 script Zombie5_1 -1,14,1,{ OnInit: - hideonnpc "Zombie4_2"; + disablenpc "Zombie5_1"; end; -} - -job_prist,24,92,0 script Zombie5_1 139,14,1,{ OnTouch: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - donpcevent "Zombie_Generator::OnM5"; + if (BaseJob == Job_Acolyte) { + donpcevent "Zombie_Generator#prst::Onm5"; donpcevent "Zombie5_1::OnDisable"; } end; -OnInit: - hideonnpc "Zombie5_1"; - end; - OnEnable: - hideoffnpc "Zombie5_1"; - hideoffnpc "Zombie5_2"; - hideoffnpc "Zombie5_3"; + enablenpc "Zombie5_1"; end; OnDisable: - hideonnpc "Zombie5_1"; - hideonnpc "Zombie5_2"; - hideonnpc "Zombie5_3"; - end; -} - -job_prist,18,92,0 script Zombie5_2 139,1,1,{ - end; - -OnInit: - hideonnpc "Zombie5_2"; - end; -} - -job_prist,30,92,0 script Zombie5_3 139,1,1,{ - end; - -OnInit: - hideonnpc "Zombie5_3"; - end; + disablenpc "Zombie5_1"; } -job_prist,24,109,0 script prst1_1 45,4,3,{ - -OnTouch: - if (Class == Job_Baby_Priest || Class == Job_Priest) { - warp "job_prist",168,17; - } - end; -} - -job_prist,24,109,0 script prst1_2 139,4,3,{ - +job_prist,24,109,4 script prst1_1 45,3,3,{ OnTouch: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + 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::OnReset"; + donpcevent "Zombie_Generator#prst::OnDisable"; donpcevent "Peter S. Alberto#2::OnDisable"; donpcevent "Peter S. Alberto::OnEnable"; - donpcevent "prst1_2::OnDisable"; - donpcevent "Zombie_Generator::OnDisable"; + donpcevent "Zombie_Generator#prst::OnDisable"; } end; - -OnInit: - hideonnpc "prst1_2"; - end; - -OnEnable: - hideoffnpc "prst1_2"; - end; - -OnDisable: - hideonnpc "prst1_2"; - end; } -job_prist,168,45,4 script Deviruchi#prst 1928,8,1,{ - +// 3rd Test +//========================================================== +job_prist,168,45,4 script Deviruchi#prst 1109,8,1,{ OnTouch: - if (Class == Job_Baby_Priest || Class == Job_Priest) { + if (BaseJob == Job_Priest) { mes "[Deviruchi]"; mes "Whaaaaat...?"; mes "What are you"; @@ -1731,7 +1347,7 @@ OnTouch: 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 (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + if (BaseClass == Job_Acolyte) { mes "[Deviruchi]"; mes "Why..."; mes "Hello little Aco."; @@ -1749,8 +1365,7 @@ OnTouch: 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; - switch (select("You're right, I quit!:Out of my sight, demon!")) { - case 1: + if (select("You're right, I quit!:Out of my sight, demon!") == 1) { mes "[Deviruchi]"; mes "^660000YES~!^000000 I mean..."; mes "Good for you!"; @@ -1763,62 +1378,59 @@ OnTouch: mes "[Deviruchi]"; mes "BWAHAHAHAHAHAH!"; mes "GET THE JOKE!?"; + close2; warp "c_tower2",168,33; end; - case 2: - 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 "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 "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."; + mes "Good choice!"; + mes "This card can"; + mes "can be yours..."; next; - cutin "¹Ì½ºÆ®·¹½ºÄ«µå.bmp",4; + cutin "¹Ì½ºÆ®·¹½ºÄ«µå.bmp",255; 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; - switch (select("You're right, I'll take it!:Silence!")) { - case 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; - case 2: - 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; - } + 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 1966,8,1,{ - +job_prist,168,80,4 script Doppelganger#prst 1046,8,1,{ OnTouch: - if (Class == Job_Baby_Priest || Class == Job_Priest) { + 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; @@ -1826,7 +1438,7 @@ OnTouch: 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; } - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + else if (BaseClass == Job_Acolyte) { mes "[Doppelganger]"; mes "Hold on there, Acolyte."; mes "I'm not like Deviruchi,"; @@ -1839,8 +1451,7 @@ OnTouch: 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; - switch (select("Deal, Deal!:No deal... Doppelganger.")) { - case 1: + if (select("Deal, Deal!:No deal... Doppelganger.") == 1) { mes "[Doppelganger]"; mes "Good choice~"; mes "I shall return your"; @@ -1854,55 +1465,50 @@ OnTouch: close2; warp "gef_dun02",210,177; end; - case 2: + } + 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 "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?"; + mes "Excellent choice. Now, never return to this place. I shall return your job to Novice as you wish."; 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; - switch (select("I don't want to be a Priest!:I'll never listen to you!")) { - case 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; - case 2: - 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; - } + 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; } - end; } job_prist,168,115,4 script Dark Lord#prst 1272,8,1,{ - OnTouch: - if (Class == Job_Baby_Priest || Class == Job_Priest) { + 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"; - close2; + close; } - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + else if (BaseClass == Job_Acolyte) { mes "[Dark Lord]"; mes "^330033Halt, human."; mes "Who has granted"; @@ -1915,48 +1521,42 @@ OnTouch: 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; - switch (select("I'm so sorry. Spare me!:God will protect me.")) { - case 1: + 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; - case 2: - 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 "^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 "^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; - switch (select("I beg you, don't...!:Begone, vile fiend!")) { - case 1: - mes "[Dark Lord]"; - mes "^330033Don't ever come back!^000000"; - close2; - warp "gl_church",145,170; - end; - case 2: - 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; - } + 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; } - end; } job_prist,168,150,4 script Baphomet#prst 736,8,1,{ - OnTouch: - if (Class == Job_Baby_Priest || Class == Job_Priest) { + if (BaseJob == Job_Priest) { mes "[Baphomet]"; mes "I hate"; mes "Priests..."; @@ -1965,12 +1565,12 @@ OnTouch: mes "I don't have any business with you, servant of God. Just pass through."; close; } - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + else if (BaseClass == Job_Acolyte) { mes "[Baphomet]"; mes "Greetings."; next; mes "[Baphomet]"; - mes "..." + strcharinfo(0) + "."; + mes "..."+ strcharinfo(0) +"."; next; mes "[Baphomet]"; mes "Yes, human,"; @@ -1993,8 +1593,7 @@ OnTouch: mes "[Baphomet]"; mes "Cease this foolishness of pursuing the Priesthood. Make a contract with me. The entire world is yours for the taking."; next; - switch (select("Deal.:No, Baphomet. You lose.")) { - case 1: + 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; @@ -2006,37 +1605,32 @@ OnTouch: close2; warp "glast_01",200,203; end; - case 2: - 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; } + 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; } - end; } -job_prist,168,180,0 script prst2_1 45,4,3,{ - +job_prist,168,180,4 script prst2_1 45,3,3,{ OnTouch: - if (Class == Job_Baby_Priest || Class == Job_Priest) { - warp "job_prist",98,40; - } - else if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + 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,{ - end; - OnInit: - hideonnpc "Mummy_Generator"; + disablenpc "Mummy_Generator"; end; OnEnable: @@ -2045,138 +1639,244 @@ OnEnable: donpcevent "Mummy3_1::OnEnable"; end; -OnM1: +Onm1: monster "job_prist",90,55,"Khamoz",1041,1; monster "job_prist",105,55,"Amocsis",1041,1; end; -OnM2: +Onm2: monster "job_prist",90,70,"Mentuhoteph",1041,1; monster "job_prist",105,70,"Akenaten",1041,1; end; -OnM3: +Onm3: monster "job_prist",90,85,"Mehnes",1041,1; monster "job_prist",105,85,"Snepheru",1041,1; end; OnDisable: - hideonnpc "Mummy_Generator"; - end; - -OnReset: - killmonster "job_prist","Mummy_Generator::OnMyMobDead"; + disablenpc "Mummy_Generator"; + killmonsterall "job_prist"; end; } -job_prist,90,55,0 script Mummy1_1 139,15,1,{ +job_prist,90,55,0 script Mummy1_1 -1,15,1,{ +OnInit: + disablenpc "Mummy1_1"; + end; OnTouch: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - donpcevent "Mummy_Generator::OnM1"; + if (BaseJob == Job_Acolyte) { + donpcevent "Mummy_Generator::Onm1"; donpcevent "Mummy1_1::OnDisable"; } end; -OnInit: - hideonnpc "Mummy1_1"; - end; - OnEnable: - hideoffnpc "Mummy1_1"; - hideoffnpc "Mummy1_2"; + enablenpc "Mummy1_1"; end; OnDisable: - hideonnpc "Mummy1_1"; - hideonnpc "Mummy1_2"; + disablenpc "Mummy1_1"; end; } -job_prist,105,55,0 script Mummy1_2 139,1,1,{ - end; - +job_prist,90,70,0 script Mummy2_1 -1,15,1,{ OnInit: - hideonnpc "Mummy1_2"; + disablenpc "Mummy2_1"; end; -} - -job_prist,90,70,0 script Mummy2_1 139,15,1,{ OnTouch: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - donpcevent "Mummy_Generator::OnM2"; + if (BaseJob == Job_Acolyte) { + donpcevent "Mummy_Generator::Onm2"; donpcevent "Mummy2_1::OnDisable"; } end; -OnInit: - hideonnpc "Mummy2_1"; - end; - OnEnable: - hideoffnpc "Mummy2_1"; - hideoffnpc "Mummy2_2"; + enablenpc "Mummy2_1"; end; OnDisable: - hideonnpc "Mummy2_1"; - hideonnpc "Mummy2_2"; + disablenpc "Mummy2_1"; end; } -job_prist,105,70,0 script Mummy2_2 139,1,1,{ - end; - +job_prist,90,85,0 script Mummy3_1 -1,15,1,{ OnInit: - hideonnpc "Mummy2_2"; + disablenpc "Mummy3_1"; end; -} - -job_prist,90,85,0 script Mummy3_1 139,15,1,{ OnTouch: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - donpcevent "Mummy_Generator::OnM3"; + if (BaseJob == Job_Acolyte) { + donpcevent "Mummy_Generator::Onm3"; donpcevent "Mummy3_1::OnDisable"; } end; -OnInit: - hideonnpc "Mummy3_1"; - end; - OnEnable: - hideoffnpc "Mummy3_1"; - hideoffnpc "Mummy3_2"; + enablenpc "Mummy3_1"; end; OnDisable: - hideonnpc "Mummy3_1"; - hideonnpc "Mummy3_2"; + disablenpc "Mummy3_1"; end; } -job_prist,105,85,0 script Mummy3_2 139,1,1,{ - end; - -OnInit: - hideonnpc "Mummy3_2"; - end; -} - -job_prist,98,105,0 script prst3_1 45,4,3,{ - +job_prist,98,105,4 script prst3_1 45,3,3,{ OnTouch: - if (Class == Job_Baby_Priest || Class == Job_Priest) { + if (BaseJob == Job_Priest) { warp "prt_church",15,36; + end; } - else if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - changequest 8012,8013; - set PRST_Q,7; + else if (BaseClass == Job_Acolyte) { + set PRIEST_Q,7; + if(checkquest(8012) != -1) { + changequest 8012,8013; + } warp "prt_church",16,37; - donpcevent "Mummy_Generator::OnReset"; donpcevent "Mummy_Generator::OnDisable"; } end; -} \ No newline at end of file +} + +// 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/re/jobs/2-1/wizard.txt b/npc/re/jobs/2-1/wizard.txt index d438fbfde..808c884a4 100644 --- a/npc/re/jobs/2-1/wizard.txt +++ b/npc/re/jobs/2-1/wizard.txt @@ -1,17 +1,31 @@ //===== rAthena Script ======================================= -// Wizard Job change Quest +//= Wizard Job Quest //===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= (Aegis) Translated by yoshiki, converted by kobra_k88 +//= Further bugfixed and tested by Lupus //===== Current Version: ===================================== -//= 1.0 +//= 3.2 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Mage -> Wizard. +//= [Aegis Conversion] +//= Job Change quest for Wizard class. //===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] +//= 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,{ @@ -25,27 +39,20 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Congratulations and good luck with your life!"; close; } - if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { - if (Class == Job_Wizard) { - if (Sex == 1) { - 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 (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 "[Catherine]"; - mes "Since you're already a Wizard, you don't have any more business with me..."; - mes "Now, excuse me."; - next; - mes "[Catherine]"; + else mes "Well, if you fix me up with a cute guy... I'd appreciate it...hohoho!."; - } close; } - if (Class == Job_Baby || Class == Job_Novice) { + 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."; @@ -65,13 +72,12 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Ok, then. Farewell."; close; } - if (WZRD_Q == 0) { + if (WIZ_Q == 0) { mes "[Wizard Guildsman]"; mes "Huh? What are you doing way up here...?"; mes "So what brings you here?"; next; - switch (select("I want to become a Wizard.:...nothing.")) { - case 1: + 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."; @@ -92,8 +98,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Well, I will give you more information when you apply for the job."; mes "So! Do you want to apply now?"; next; - switch (select("Yes, I do.:On second thought, Let me think about it.")) { - case 1: + 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?"; @@ -104,7 +109,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "When I deem you're qualified, I will accept your application."; close; } - if (SkillPoint != 0) { + 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."; @@ -136,7 +141,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ 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 WZRD_Q,3; + set WIZ_Q,3; setquest 9015; close; } @@ -148,23 +153,23 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ 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); + set wizard_m1,rand(1,2); mes "[Catherine]"; mes "The items you must collect are..."; - if (.@wizard_m1 == 1) { - set WZRD_Q,1; + 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,"; - setquest 9013; } else { - set WZRD_Q,2; + 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,"; - setquest 9014; } mes "...is it too hard? No, any would be Wizard should be able to at least get these items."; next; @@ -172,25 +177,23 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Well, good luck."; mes "I'll be happily waiting. ~Hehe."; close; - case 2: - mes "[Catherine]"; - mes "Oh, ok then, take your time."; - mes "Since I'll always be here, accepting applications...*sigh*...anyways! ~Hehehehe."; - close; } - case 2: - mes "[Wizard Guildsman]"; - mes "Geez, what a lame person."; - mes "You have no business here, hope you don't mind, now off you go!"; + 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; } - if (WZRD_Q == 1) { + 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)) { + 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."; @@ -198,9 +201,8 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ delitem 716,10; //Red_Gemstone delitem 717,10; //Blue_Gemstone delitem 715,10; //Yellow_Gemstone - set WZRD_Q,3; + set WIZ_Q,3; changequest 9013,9015; - changequest 9014,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."; @@ -224,12 +226,12 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Don't forget this time, and bring all the items, ok?..."; close; } - if (WZRD_Q == 2) { + 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)) { + 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."; @@ -238,8 +240,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ delitem 993,5; //Yellow_Live delitem 990,5; //Boody_Red delitem 992,5; //Wind_Of_Verdure - set WZRD_Q,3; - changequest 9013,9015; + set WIZ_Q,3; changequest 9014,9015; mes "[Catherine]"; mes "Good. You've passed the first test now."; @@ -265,7 +266,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Don't forget them this time and gather the correct ones, ok? See you soon..."; close; } - if (WZRD_Q == 3) { + 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..."; @@ -275,7 +276,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "I'll be waiting, so go now."; close; } - if (WZRD_Q == 4) { + 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?"; @@ -284,7 +285,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ 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!")) { + 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 @@ -346,7 +347,6 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ 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!"; - break; } next; mes "[Catherine]"; @@ -354,7 +354,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Hurry, he's waiting for you!"; close; } - if (WZRD_Q == 5) { + 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..."; @@ -368,18 +368,17 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "He's waiting for you!"; close; } - if (WZRD_Q == 6) { + 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; - if (Sex == 1) { - mes "[Catherine]"; + 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 "[Catherine]"; 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; @@ -393,9 +392,9 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "He's waiting!"; close; } - if (WZRD_Q == 7) { + else if (WIZ_Q == 7) { if (JobLevel < 40) { - set WZRD_Q,0; + 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?"; @@ -405,7 +404,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "When the time comes, I will welcome you with open arms."; close; } - if (SkillPoint != 0) { + 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."; @@ -418,13 +417,9 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "[Catherine]"; mes "Well, no need to wait, I congratulate you. I hearby deem you Wizard."; next; - set WZRD_Q,0; - if(Class == Job_Baby_Mage){ - jobchange Job_Baby_Wizard; - } else { - jobchange Job_Wizard; - } 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."; @@ -453,23 +448,21 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ } gef_tower,102,24,2 script Gloomy Wizard 735,{ - if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { - if (Class == Job_Baby_Wizard || Class == Job_Wizard) { + 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; - if (Sex == 1) { - 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!"; + 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 "[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!"; mes "So learn how to use magic properly, or you would just be better off giving up on using magic."; next; mes "[Raulel]"; @@ -478,7 +471,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ } close; } - if (Class == Job_Baby_Priest || Class == Job_Priest) { + 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."; @@ -488,7 +481,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "Don't come any closer, just leave!"; close; } - if (Class == Job_Baby || Class == Job_Novice) { + else if (BaseClass == Job_Novice) { mes "[Raulel]"; mes "Why did a little one like you come here?!"; mes "Get lost! ~Hahahahaha"; @@ -503,7 +496,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "What do you want? Jeez...just get lost, won't you?"; close; } - if (WZRD_Q == 0) { + 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; @@ -511,7 +504,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "Go away! Get lost!"; close; } - if (WZRD_Q == 1) { + else if (WIZ_Q == 1 || WIZ_Q == 2) { mes "[Raulel]"; mes "Hahahaha~ You're the one that wants to become a Wizard?!"; next; @@ -522,1030 +515,314 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "*Cough* *cough* Let's see how well you live as a Wizard. ~Hahahahhaha"; close; } - if (WZRD_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; - } - if (WZRD_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; - switch (select("I want to live as a normal Mage.:I would like to continue with the tests.")) { - case 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; - case 2: - 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; - break; - } - mes "[Raulel]"; - mes "*sneeze* Then let's begin the test!"; - mes "If you don't answer them all correctly, you fail. Hahahahahahahahaha~"; - changequest 9015,9016; - 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!"; - next; - set .@wizard_m2,rand(1,3); - set @wizard_t,0; - mes "[Raulel]"; - mes "*Cough* *cough* Then here go the questions!"; - next; - if (.@wizard_m2 == 1) { - mes "[Raulel]"; - mes "1. Which of the following is not necessary to learn Fire Wall?"; - next; - switch (select("Fire Bolt Lv 4:Fire Ball Lv 5:Sight Lv 1:Napalm Beat Lv 4")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } + else if ((WIZ_Q == 3) || (WIZ_Q == 4)) { + if (WIZ_Q == 3) { 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?"; + 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; - switch (select("Water:Earth:Fire:Wind")) { - case 1: - set @wizard_t, @wizard_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Raulel]"; - mes "3. When you completely master Napalm Beat, what is the ratio of the increased MATK using that spell?"; - next; - switch (select("1.6 times:1.7 times:2 times:20 times")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } mes "[Raulel]"; - mes "4. What item do you need when casting Stone Curse?"; + mes "*sneeze* It's not too late yet, wouldn't you rather just go back to town and enjoy the peaceful life?"; next; - switch (select("Red Blood:Blue Gemstone:Yellow Gemstone:Red Gemstone")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } mes "[Raulel]"; - mes "5. Which of the following is not required to master Safety Wall?"; + mes "Hahahaha~ You don't know how dangerous it is...to deal with Greater Magic."; next; - switch (select("Napalm Beat Lv 4:Soul Strike Lv 5:Increase SP Recovery Lv 6:Safety Wall Lv 7")) { - case 1: - break; - case 2: - break; - case 3: - set @wizard_t, @wizard_t + 10; - break; - case 4: - break; + 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 "6. Without the INT bonus, what amount of SP is recovered every 10 seconds when you have learned Increase SP Recovery Lv 7?"; + 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; - switch (select("14:21:28:35")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } 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?"; + mes "*sneeze* Then let's begin the test!"; + mes "If you don't answer them all correctly, you fail. Hahahahahahahahaha~"; next; - switch (select("Damage 18% SP1.5%:Damage 18% SP2%:Damage 24% SP1.5%:Damage 24% SP2%")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } mes "[Raulel]"; - mes "8. How much SP is consumed and how many times can you avoid attacks when using Safety Wall Lv 6?"; - next; - switch (select("SP 40, 6 times:SP 35, 6 times:SP 40, 7 times:SP 35, 7 times")) { - case 1: - break; - case 2: - break; - case 3: - set @wizard_t, @wizard_t + 10; - break; - case 4: - break; + 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; } - mes "[Raulel]"; - mes "9. How much SP is needed when using Lv 10 Thunderstorm?"; next; - switch (select("84:74:64:54")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } mes "[Raulel]"; - mes "10. Which skill is most useful training in the Byalan Dungeon?"; - next; - switch (select("Lightning Bolt:Fire Bolt:Cold Bolt:Sight")) { - case 1: - set @wizard_t, @wizard_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + mes "*Cough* *cough* Then here go the questions!"; } - if (.@wizard_m2 == 2) { + else if (WIZ_Q == 4) { mes "[Raulel]"; - mes "1. Which monster can you obtain a slotted Guard from?"; + mes "Hahahaha~ Are you that desperate? *sneeze* What a pain in the arse..."; next; - switch (select("Thief Bug:Peco Peco:Pupa:Kobold (Hammer)")) { - case 1: - break; - case 2: - break; - case 3: - set @wizard_t, @wizard_t + 10; - break; - case 4: - break; - } mes "[Raulel]"; - mes "2. Which of the following is the easiest monster for a low level Mage to hunt?"; + mes "Since you don't want to settle for a stable and peaceful life, I'll give you another chance..."; next; - switch (select("Flora:Giearth:Golem:Myst")) { - case 1: - set @wizard_t, @wizard_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Raulel]"; - mes "3. Which monster will not be affected by Stone Curse?"; - next; - switch (select("Elder Willow:Evil Druid:Magnolia:Marc")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Raulel]"; - mes "4. When attacking a Lv 3 water attribute monster with a wind attribute weapon, what is the damage percentage?"; - next; - switch (select("125%:150%:175%:200%")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } - mes "[Raulel]"; - mes "5. If a Baby Desert Wolf and a Familiar fought, which one would win?"; - next; - switch (select("Baby Desert Wolf:Familiar:Neither:I don't know")) { - case 1: - set @wizard_t, @wizard_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Raulel]"; - mes "6. Which of the following cannot be a Cute Pet?"; - next; - switch (select("Poporing:Roda Frog:Smokie:Poison Spore")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } mes "[Raulel]"; - mes "7. Choose the monster that is weak against a fire attribute attack."; - next; - switch (select("Dagger Goblin:Mace Goblin:Morningstar Goblin:Hammer Goblin")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } - mes "[Raulel]"; - mes "8. Which of the following has the highest defense?"; - next; - switch (select("Horn:Chonchon:Andre:Caramel")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } - mes "[Raulel]"; - mes "9. Choose the monster that's of a different species."; + mes "If you miss one single question, then just give up. You wouldn't have any talent in being a Wizard! ~Hahahahaha"; next; - switch (select("Poring:Mastering:Ghostring:Spore")) { - case 1: - break; - case 2: - break; - case 3: - set @wizard_t, @wizard_t + 10; - break; - case 4: - break; - } - mes "[Raulel]"; - mes "10. Which of the following is not an Undead monster?"; - next; - switch (select("Drake:Megalodon:Deviace:Khalitzburg")) { - case 1: - break; - case 2: - break; - case 3: - set @wizard_t, @wizard_t + 10; - break; - case 4: - break; - } - } - else { - mes "[Raulel]"; - mes "1. Which stat is the most important for a Mage?"; - next; - switch (select("INT:AGI:DEX:VIT")) { - case 1: - set @wizard_t, @wizard_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Raulel]"; - mes "2. Which attribute does not have a 'Bolt' type attack?"; - next; - switch (select("Water:Earth:Fire:Wind")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Raulel]"; - mes "3. Choose the one that does not relate to a Mage."; - next; - switch (select("Weak physical strength.:Attacks at a distance.:Good at selling stuff.:Magic Defense is high.")) { - case 1: - break; - case 2: - break; - case 3: - set @wizard_t, @wizard_t + 10; - break; - case 4: - break; - } - mes "[Raulel]"; - mes "4. Which town is the home of Mages?"; - next; - switch (select("Prontera:Morroc:Alberta:Geffen")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } - mes "[Raulel]"; - mes "5. Which of the following cards has nothing to do with INT?"; - next; - switch (select("Andre Egg Card:Soldier Andre Card:Baby Desert Wolf Card:Elder Willow Card")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Raulel]"; - mes "6. What is the Mage good at compared to other job classes?"; - next; - switch (select("Exceptional Vocal Ability:Exceptional Acting Ability:Exceptional Dance Skills:Exceptional Magic Skills")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } - mes "[Raulel]"; - mes "7. What is the INT bonus at Job Lv 40 for a Mage?"; - next; - switch (select("8:7:6:5")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } - mes "[Raulel]"; - mes "8. Which item can a Mage not equip?"; - next; - switch (select("Knife:Boys Cap:Sandle:Eye of Dullahan")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Raulel]"; - mes "9. Which of the following is the catalyst when making the Mage test solution 3?"; - next; - switch (select("Blue Gemstone:Red Gemstone:Yellow Gemstone:Red Blood")) { - case 1: - set @wizard_t, @wizard_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Raulel]"; - mes "10. Which card is irrelevant to magic?"; - next; - switch (select("Marduk Card:Magnolia Card:Willow Card:Maya Card")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; + 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 "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 WZRD_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; - } - if (@wizard_t == 90) { - set WZRD_Q,5; - changequest 9016,9017; - mes "Hahahaha~ I'll let you slide by since you only missed one problem. You passed the second test."; + 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 "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; + mes "Then let's begin the test!"; } - set WZRD_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; - } - if (WZRD_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; - switch (select("Because of you, I want to live as a normal Mage now.:I would like to continue with the tests.")) { + switch(rand(1,3)) { case 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."; + 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 "Just leave the top of this tower quietly and never look back."; - mes "Live peacefully with the powers that you have right now."; - close; - case 2: - 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."; + mes "2. Regaurdless of it's previous attribute, What does the monster's attribute change to when you cast Frost Diver on it?"; next; - break; - } - mes "[Raulel]"; - mes "Then let's begin the test!"; - mes "If you don't answer all of them correctly, you fail... ~Hahahahahha"; - next; - mes "[Raulel]"; - mes "I'll give you 10 questions so give me the correct answers."; - mes "If you get something wrong, I won't tell you what it is!"; - next; - set .@wizard_m2,rand(1,3); - set @wizard_t,0; - mes "[Raulel]"; - mes "*Cough* *cough* Then here go the questions."; - next; - if (.@wizard_m2 == 1) { + if (select("Water:Earth:Fire:Wind") == 1) + set .@wizard_t,.@wizard_t+10; mes "[Raulel]"; - mes "1. Which of the following is not necessary to learn Fire Wall?"; + mes "3. When you completely master Napalm Beat, what is the ratio of the increased MATK using that spell?"; next; - switch (select("Fire Bolt Lv 4:Fire Ball Lv 5:Sight Lv 1:Napalm Beat Lv 4")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } - mes "[Raulel]"; - mes "2. Regaurdless of the previous attribute, what does the monster's attribute change to when you cast Frost Diver on it?"; - next; - switch (select("Water:Earth:Fire:Wind")) { - case 1: - set @wizard_t, @wizard_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Raulel]"; - mes "3. When you master Napalm Beat, what is the ratio of the increase in MATK using the spell?"; - next; - switch (select("1.6 times:1.7 times:2 times:20 times")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Red Blood:Blue Gemstone:Yellow Gemstone:Red Gemstone")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } + 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; - switch (select("Napalm Beat Lv 4:Soul Strike Lv 5:Increase SP Recovery Lv 6:Safety Wall Lv 7")) { - case 1: - break; - case 2: - break; - case 3: - set @wizard_t, @wizard_t + 10; - break; - case 4: - break; - } + 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; - switch (select("14:21:28:35")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("14:21:28:35") == 2) + set .@wizard_t,.@wizard_t+10; mes "[Raulel]"; - mes "7. Using the skill 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; - switch (select("Damage 18% SP1.5%:Damage 18% SP2%:Damage 24% SP1.5%:Damage 24% SP2%")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("SP 40, 6 times:SP 35, 6 times:SP 40, 7 times:SP 35, 7 times")) { - case 1: - break; - case 2: - break; - case 3: - set @wizard_t, @wizard_t + 10; - break; - case 4: - break; - } + 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; - switch (select("84:74:64:54")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("84:74:64:54") == 2) + set .@wizard_t,.@wizard_t+10; mes "[Raulel]"; - mes "10. Which skill is most useful for training in the Byalan Dungeon?"; - next; - switch (select("Lightning Bolt:Fire Bolt:Cold Bolt:Sight")) { - case 1: - set @wizard_t, @wizard_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - } - if (.@wizard_m2 == 2) { + 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; - switch (select("Thief Bug:Peco Peco:Pupa:Kobold (Hammer)")) { - case 1: - break; - case 2: - break; - case 3: - set @wizard_t, @wizard_t + 10; - break; - case 4: - break; - } + 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; - switch (select("Flora:Giearth:Golem:Myst")) { - case 1: - set @wizard_t, @wizard_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Elder Willow:Evil Druid:Magnolia:Marc")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("125%:150%:175%:200%")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } + 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; - switch (select("Baby Desert Wolf:Familiar:Neither:I don't know")) { - case 1: - set @wizard_t, @wizard_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Poporing:Roda Frog:Smokie:Poison Spore")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Dagger Goblin:Mace Goblin:Morningstar Goblin:Hammer Goblin")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } + 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 monsters has the highest defense?"; - next; - switch (select("Horn:Chonchon:Andre:Caramel")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } + 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 a different species."; - next; - switch (select("Poring:Mastering:Ghostring:Spore")) { - case 1: - break; - case 2: - break; - case 3: - set @wizard_t, @wizard_t + 10; - break; - case 4: - break; - } + 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; - switch (select("Drake:Megalodon:Deviace:Khalitzburg")) { - case 1: - break; - case 2: - break; - case 3: - set @wizard_t, @wizard_t + 10; - break; - case 4: - break; - } - } - else { + 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; - switch (select("INT:AGI:DEX:VIT")) { - case 1: - set @wizard_t, @wizard_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Water:Earth:Fire:Wind")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Weak physical strength.:Attacks at a distance.:Good at selling stuff.:Magic Defense is high.")) { - case 1: - break; - case 2: - break; - case 3: - set @wizard_t, @wizard_t + 10; - break; - case 4: - break; - } + 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 the Mages?"; - next; - switch (select("Prontera:Morroc:Alberta:Geffen")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } + 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; - switch (select("Andre Egg Card:Soldier Andre Card:Baby Desert Wolf Card:Elder Willow Card")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Exceptional Vocal Ability:Exceptional Acting Ability:Exceptional Dance Skills:Exceptional Magic Skills")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } + 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; - switch (select("8:7:6:5")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 10; - break; - } + 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; - switch (select("Knife:Boys Cap:Sandle:Eye of Dullahan")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Blue Gemstone:Red Gemstone:Yellow Gemstone:Red Blood")) { - case 1: - set @wizard_t, @wizard_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Marduk Card:Magnolia Card:Willow Card:Maya Card")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Marduk Card:Magnolia Card:Willow Card:Maya Card") == 2) + set .@wizard_t,.@wizard_t+10; } mes "[Raulel]"; - mes "Good job, you finished answered all the questions... Go buy yourself some potions or something if you have the Zeny. Haha..."; + 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) { + mes "Your score is... " + .@wizard_t + " points!"; + if (.@wizard_t == 100) { + set WIZ_Q,5; changequest 9016,9017; - set WZRD_Q,5; - 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..."; + mes "*cough* *Cough* Well done, you passed the second test."; 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~"; + 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; } - if (@wizard_t == 90) { - set WZRD_Q,5; + 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..."; + mes "Hahahaha~ I'll let you slide by since you only missed one problem. You passed the second test."; 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~"; + 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; } - if (@wizard_t == 80) { - set WZRD_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..."; + 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 "*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~"; + 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; } - 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; } - if (WZRD_Q == 5) { + else if (WIZ_Q == 5) { mes "[Raulel]"; mes "Ok, hope you got plenty of rest. Hahahahahah~"; mes "Then let's begin the last test."; @@ -1553,13 +830,12 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "[Raulel]"; mes "Should I explain a little about this final test? It is difficult, I will not hide that from you..."; next; - switch (select("No, it's ok, I'm ready.:I would like to listen.")) { - case 1: + 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 WZRD_Q,6; + set WIZ_Q,6; savepoint "geffen",120,107; mes "[Raulel]"; mes "Then, as you wish. I'll send you there right now."; @@ -1567,54 +843,51 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ close2; warp "job_wiz",57,154; end; - case 2: - 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 "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 "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; - switch (select("Continue testing.:I want to go back because I have butterflies in my stomach.")) { - case 1: - set WZRD_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; - case 2: - set WZRD_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; - } + 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; } - if (WZRD_Q == 6) { - if (@asn_skill == 6) { + 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??"; @@ -1623,7 +896,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ 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 @asn_skill,@asn_skill+1; + 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~"; @@ -1631,13 +904,12 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ warp "job_wiz",57,154; end; } - if (@asn_skill > 6) { + 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; - switch (select("Continue the test.:Worn Out Scroll...")) { - case 1: + if (select("Continue the test.:Worn Out Scroll...") == 1) { savepoint "geffen",120,107; mes "[Raulel]"; mes "Hahaha~ Ok, at least you have some spirit."; @@ -1645,24 +917,21 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ close2; warp "job_wiz",57,154; end; - case 2: - 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 @asn_skill,0; - set WZRD_Q,7; - changequest 9017,9018; - 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; - } + } + 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; } } - set @wizard_t,0; 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?"; @@ -1677,83 +946,38 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "[Raulel]"; mes "1. Choose the monster with a different attribute than the others."; next; - switch (select("Mantis:Cornutus:Giearth:Caramel")) { - case 1: - break; - case 2: - set @wizard_t, @wizard_t + 20; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Yoyo:Magnolia:Metaller:Zerom")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 20; - break; - } + 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; - switch (select("Marina:Vitata:Scorpion:Giearth")) { - case 1: - set @wizard_t, @wizard_t + 20; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Cold Bolt:Fire Bolt:Lightning Bolt:Stone Curse")) { - case 1: - break; - case 2: - break; - case 3: - set @wizard_t, @wizard_t + 20; - break; - case 4: - break; - } + 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; - switch (select("Hydra:Madragora:Greatest General:Frilldora")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @wizard_t, @wizard_t + 20; - break; - } + 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 "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) { + else if (.@wizard_t == 80) { mes "Eh, soso..."; mes "I'll let you retake the test."; next; @@ -1765,8 +989,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "You lack something...*sneez*...like intelligence. That's why you keep on failing. Hahahahahahahaha~"; close; } - switch (select("Begin the test please.:Can I get another explanation?")) { - case 1: + 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..."; @@ -1778,51 +1001,48 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ close2; warp "job_wiz",57,154; end; - case 2: - 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 "*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 "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; - switch (select("Continue with the test.:I'm too scared, I would like to quit.")) { - case 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; - case 2: - 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; - } + 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; } - if (WZRD_Q == 7) { + 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~"; @@ -1849,58 +1069,56 @@ job_wiz,50,165,4 script Arena Assistant 700,{ close; } -job_wiz,50,165,2 script Waiting Room#wzrd 111,{ - end; - +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; -OnEnable: +OnStart: enablewaitingroomevent; end; } +// Water Room (Test 2 part 1) +//========================================================== job_wiz,1,1,1 script Room of Water 66,{ - end; - OnInit: - hideonnpc "Room of Water"; + disablenpc "Room of Water"; end; OnEnable: - hideoffnpc "Room of Water"; + enablenpc "Room of Water"; + set .MyMobs,7; monster "job_wiz",109,174,"Phen",1158,1,"Room of Water::OnMyMobDead"; - monster "job_wiz",118,174,"Clam",1074,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"; - monster "job_wiz",129,170,"Obeaune",1044,1,"Room of Water::OnMyMobDead"; initnpctimer; end; -OnReset: - killmonster "job_wiz","Room of Water::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Room of Water"; + killmonsterall "job_wiz"; + disablenpc "Room of Water"; end; OnMyMobDead: - if (mobcount ("job_wiz","Room of Water::OnMyMobDead") < 1) { - set @asn_skill,@asn_skill+1; - mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map; - donpcevent "Room of Water#DK::OnEnable"; + 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; @@ -1943,11 +1161,11 @@ OnTimer173000: OnTimer183000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Water::OnReset"; + donpcevent "Room of Water::OnDisable"; end; OnTimer184000: - donpcevent "Room of Water#Failed::OnEnable"; + enablenpc "Room of Water#Failed"; end; OnTimer185000: @@ -1955,45 +1173,41 @@ OnTimer185000: end; OnTimer186000: - donpcevent "Room of Water#Failed::OnDisable"; + disablenpc "Room of Water#Failed"; donpcevent "Room of Water::OnDisable"; - donpcevent "Waiting Room::OnEnable"; + donpcevent "Waiting Room#wiz::OnStart"; end; } -job_wiz,1,2,1 script Room of Water#DK 66,{ - end; - +job_wiz,1,2,1 script Room of Water#Door 66,{ OnInit: - hideonnpc "Room of Water#DK"; + disablenpc "Room of Water#Door"; end; OnEnable: - hideoffnpc "Room of Water#DK"; - donpcevent "Room of Water::OnReset"; + enablenpc "Room of Water#Door"; donpcevent "Room of Water::OnDisable"; - monster "job_wiz",114,169,"Marine Sphere",1142,1,"Room of Water#DK::OnMyMobDead"; - monster "job_wiz",112,169,"Hydra",1068,1,"Room of Water#DK::OnMyMobDead"; - monster "job_wiz",116,169,"Hydra",1068,1,"Room of Water#DK::OnMyMobDead"; - monster "job_wiz",114,171,"Hydra",1068,1,"Room of Water#DK::OnMyMobDead"; - monster "job_wiz",114,167,"Hydra",1068,1,"Room of Water#DK::OnMyMobDead"; + 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; -OnReset: - killmonster "job_wiz","Room of Water#DK::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Room of Water#DK"; + killmonsterall "job_wiz"; + disablenpc "Room of Water#Door"; end; OnMyMobDead: - if (mobcount ("job_wiz","Room of Water#DK::OnMyMobDead") < 1) { - mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map; + 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#DK::OnReset"; - donpcevent "Room of Water#DK::OnDisable"; + donpcevent "Room of Water#Door::OnDisable"; donpcevent "Room of Earth::OnEnable"; stopnpctimer; } @@ -2013,11 +1227,11 @@ OnTimer50000: OnTimer60000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Water#DK::OnReset"; + donpcevent "Room of Water#Door::OnDisable"; end; OnTimer61000: - donpcevent "Room of Water#Failed::OnEnable"; + enablenpc "Room of Water#Failed"; end; OnTimer62000: @@ -2025,67 +1239,53 @@ OnTimer62000: end; OnTimer63000: - donpcevent "Room of Water#Failed::OnDisable"; - donpcevent "Room of Water#DK::OnDisable"; - donpcevent "Waiting Room::OnEnable"; + 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 139,16,16,{ - -OnTouch: - mapannounce "job_wiz","" + strcharinfo(0) + " has not succeeded.",bc_map; - warp "geffen",120,110; - end; - +job_wiz,114,169,0 script Room of Water#Failed -1,16,16,{ OnInit: - hideonnpc "Room of Water#Failed"; - end; - -OnEnable: - hideoffnpc "Room of Water#Failed"; + disablenpc "Room of Water#Failed"; end; -OnDisable: - hideonnpc "Room of Water#Failed"; +OnTouch: + mapannounce "job_wiz",strcharinfo(0)+" has not succeeded.",bc_map; + warp "geffen",120,110; end; } -job_wiz,1,3,1 script Room of Earth 66,1,1,{ - end; - +// Earth Room (Test 2 part 2) +//========================================================== +job_wiz,1,3,1 script Room of Earth 66,{ OnInit: - hideonnpc "Room of Earth"; + disablenpc "Room of Earth"; end; OnEnable: - hideoffnpc "Room of Earth"; - percentheal 100,100; + 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,102,"Hode",1127,1,"Room of Earth::OnMyMobDead"; - monster "job_wiz",111,93,"Savage",1166,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"; - monster "job_wiz",127,86,"Mantis",1139,1,"Room of Earth::OnMyMobDead"; initnpctimer; end; -OnReset: - killmonster "job_wiz","Room of Earth::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Room of Earth"; + killmonsterall "job_wiz"; + disablenpc "Room of Earth"; end; OnMyMobDead: - if (mobcount ("job_wiz","Room of Earth::OnMyMobDead") < 1) { - mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map; - donpcevent "Room of Earth#DK::OnEnable"; + 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; @@ -2128,11 +1328,11 @@ OnTimer173000: OnTimer183000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Earth::OnReset"; + donpcevent "Room of Earth::OnDisable"; end; OnTimer184000: - donpcevent "Room of Earth#Failed::OnEnable"; + enablenpc "Room of Earth#Failed"; end; OnTimer185000: @@ -2140,48 +1340,42 @@ OnTimer185000: end; OnTimer186000: - donpcevent "Room of Earth#Failed::OnDisable"; + disablenpc "Room of Earth#Failed"; donpcevent "Room of Earth::OnDisable"; - donpcevent "Waiting Room::OnEnable"; + donpcevent "Waiting Room#wiz::OnStart"; end; } -job_wiz,1,4,1 script Room of Earth#DK 66,{ - end; - +job_wiz,1,4,1 script Room of Earth#Door 66,{ OnInit: - hideonnpc "Room of Earth#DK"; + disablenpc "Room of Earth#Door"; end; OnEnable: - hideoffnpc "Room of Earth#DK"; - donpcevent "Room of Earth::OnReset"; + enablenpc "Room of Earth#Door"; donpcevent "Room of Earth::OnDisable"; - monster "job_wiz",116,97,"Flora",1118,1,"Room of Earth#DK::OnMyMobDead"; - monster "job_wiz",114,95,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; - monster "job_wiz",118,95,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; - monster "job_wiz",114,99,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; - monster "job_wiz",118,99,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; - monster "job_wiz",116,94,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; - monster "job_wiz",116,100,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; + 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; -OnReset: - killmonster "job_wiz","Room of Earth#DK::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Room of Earth#DK"; + killmonsterall "job_wiz"; + disablenpc "Room of Earth#Door"; end; OnMyMobDead: - if (mobcount ("job_wiz","Room of Earth#DK::OnMyMobDead") < 1) { - mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monster.",bc_map; + 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#DK::OnReset"; - donpcevent "Room of Earth#DK::OnDisable"; + donpcevent "Room of Earth#Door::OnDisable"; donpcevent "Room of Fire::OnEnable"; stopnpctimer; } @@ -2201,7 +1395,7 @@ OnTimer50000: OnTimer60000: mapannounce "job_wiz","End time.",bc_map; - donpcevent "Room of Earth#DK::OnReset"; + donpcevent "Room of Earth#Door::OnDisable"; end; OnTimer61000: @@ -2213,65 +1407,52 @@ OnTimer62000: end; OnTimer63000: - donpcevent "Room of Earth#Failed::OnDisable"; - donpcevent "Room of Earth#DK::OnDisable"; - donpcevent "Waiting Room::OnEnable"; + 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 139,16,16,{ - -OnTouch: - mapannounce "job_wiz","" + strcharinfo(0) + " has not succeeded.",bc_map; - warp "geffen",120,110; - end; - +job_wiz,116,97,0 script Room of Earth#Failed -1,16,16,{ OnInit: - hideonnpc "Room of Earth#Failed"; - end; - -OnEnable: - hideoffnpc "Room of Earth#Failed"; + disablenpc "Room of Earth#Failed"; end; -OnDisable: - hideonnpc "Room of Earth#Failed"; +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,{ - end; - OnInit: - hideonnpc "Room of Fire"; + disablenpc "Room of Fire"; end; OnEnable: - hideoffnpc "Room of Fire"; - percentheal 100,100; - monster "job_wiz",58,110,"Zerom",1178,1,"Room of Fire::OnMyMobDead"; + 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,"Peco Peco",1019,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"; - monster "job_wiz",54,89,"Desert Wolf",1106,1,"Room of Fire::OnMyMobDead"; initnpctimer; end; -OnReset: - killmonster "job_wiz","Room of Fire::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Room of Fire"; + killmonsterall "job_wiz"; + disablenpc "Room of Fire"; end; OnMyMobDead: - if (mobcount ("job_wiz","Room of Fire::OnMyMobDead") < 1) { - mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map; - donpcevent "Room of Fire#Door Keeper::OnEnable"; + 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; @@ -2314,7 +1495,7 @@ OnTimer173000: OnTimer183000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Fire::OnReset"; + donpcevent "Room of Fire::OnDisable"; end; OnTimer184000: @@ -2326,45 +1507,40 @@ OnTimer185000: end; OnTimer186000: - donpcevent "Room of Fire#Failed::OnDisable"; + disablenpc "Room of Fire#Failed"; donpcevent "Room of Fire::OnDisable"; - donpcevent "Waiting Room::OnEnable"; + donpcevent "Waiting Room#wiz::OnStart"; end; } -job_wiz,1,6,1 script Room of Fire#Door Keeper 66,{ - end; - +job_wiz,1,6,1 script Room of Fire#Door 66,{ OnInit: - hideonnpc "Room of Fire#Door Keeper"; + disablenpc "Room of Fire#Door"; end; OnEnable: - hideoffnpc "Room of Fire#Door Keeper"; - donpcevent "Room of Fire::OnReset"; + enablenpc "Room of Fire#Door"; donpcevent "Room of Fire::OnDisable"; - monster "job_wiz",44,99,"Greatest General",1277,1,"Room of Fire#Door Keeper::OnMyMobDead"; - monster "job_wiz",43,99,"Horong",1129,1,"Room of Fire#Door Keeper::OnMyMobDead"; - monster "job_wiz",45,99,"Horong",1129,1,"Room of Fire#Door Keeper::OnMyMobDead"; + 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; -OnReset: - killmonster "job_wiz","Room of Fire#Door Keeper::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Room of Fire#Door Keeper"; + killmonsterall "job_wiz"; + disablenpc "Room of Fire#Door"; end; OnMyMobDead: - if (mobcount ("job_wiz","Room of Fire#Door Keeper::OnMyMobDead") < 1) { + set .MyMobs,.MyMobs-1; + if (.MyMobs < 1) { mapannounce "job_wiz","Congratulations, " + strcharinfo(0) + ". You have passed the job change test.",bc_map; - set WZRD_Q,7; + set WIZ_Q,7; changequest 9017,9018; - donpcevent "Room of Fire#Door Keeper::OnReset"; - donpcevent "Room of Fire#Door Keeper::OnDisable"; - donpcevent "Test Helper::OnEnable"; + donpcevent "Room of Fire#Door::OnDisable"; + donpcevent "Test Helper#wiz::OnEnable"; stopnpctimer; } end; @@ -2391,11 +1567,11 @@ OnTimer110000: OnTimer120000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Fire#Door Keeper::OnReset"; + donpcevent "Room of Fire#Door::OnDisable"; end; OnTimer121000: - donpcevent "Room of Fire#Failed::OnEnable"; + enablenpc "Room of Fire#Failed"; end; OnTimer122000: @@ -2403,57 +1579,26 @@ OnTimer122000: end; OnTimer123000: - donpcevent "Room of Fire#Failed::OnDisable"; - donpcevent "Room of Fire#Door Keeper::OnDisable"; - donpcevent "Waiting Room::OnEnable"; - end; + 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 139,16,16,{ - end; - +job_wiz,46,99,0 script Room of Fire#Failed -1,16,16,{ OnInit: - hideonnpc "Room of Fire#Failed"; + disablenpc "Room of Fire#Failed"; end; OnTouch: warp "geffen",120,110; end; - -OnEnable: - hideoffnpc "Room of Fire#Failed"; - end; - -OnDisable: - hideonnpc "Room of Fire#Failed"; - end; -} - -job_wiz,46,99,0 script Succeed 139,16,16,{ - end; - -OnInit: - hideonnpc "Succeed"; - end; - -OnTouch: - warp "gef_tower",110,30; - end; - -OnEnable: - hideoffnpc "Succeed"; - end; - -OnDisable: - hideonnpc "Succeed"; - end; } -job_wiz,1,7,1 script Test Helper 66,1,1,{ +job_wiz,1,7,1 script Test Helper#wiz 66,{ end; OnInit: - hideonnpc "Test Helper"; + disablenpc "Test Helper#wiz"; end; OnEnable: @@ -2461,7 +1606,7 @@ OnEnable: end; OnDisable: - hideonnpc "Test Helper"; + disablenpc "Test Helper#wiz"; end; OnTimer2000: @@ -2473,11 +1618,7 @@ OnTimer4000: end; OnTimer5000: - donpcevent "Succeed::OnEnable"; - end; - -OnTimer6000: - donpcevent "Succeed::OnDisable"; + areawarp "job_wiz",33,82,57,113,"gef_tower",110,30; end; OnTimer7000: @@ -2485,25 +1626,25 @@ OnTimer7000: end; OnTimer9000: - donpcevent "Test Helper::OnDisable"; - donpcevent "Waiting Room::OnEnable"; + donpcevent "Test Helper#wiz::OnDisable"; + donpcevent "Waiting Room#wiz::OnStart"; stopnpctimer; end; } -gef_tower,107,36,4 script White Dog 81,{ - if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { - if (Class == Job_Baby_Wizard || Class == Job_Wizard) { +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 "",255; + cutin "job_wizard_maria01",255; end; } - if (Class == Job_Baby || Class == Job_Novice) { + else if (BaseClass == Job_Novice) { mes "[Dog]"; mes "What? Kiddo!"; mes "Is a Dog talking so amusing to you?"; @@ -2519,10 +1660,10 @@ gef_tower,107,36,4 script White Dog 81,{ mes "*Bark* Get lost!"; mes "I don't have time for people like you!"; close2; - cutin "",255; + cutin "job_wizard_maria02",255; end; } - if (WZRD_Q == 0) { + 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?"; @@ -2533,7 +1674,7 @@ gef_tower,107,36,4 script White Dog 81,{ 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...")) { + 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?!"; @@ -2594,7 +1735,7 @@ gef_tower,107,36,4 script White Dog 81,{ 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...")) { + switch(select("Yes, please! I would like that.:No, it's ok.:A talking dog...")) { case 1: cutin "job_wizard_maria01",2; mes "[Maria]"; @@ -2629,11 +1770,16 @@ gef_tower,107,36,4 script White Dog 81,{ next; mes "[Maria]"; mes "It's better to just try it yourself than to listen to my descriptions."; - close; + 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."; - close; + close2; + cutin "job_wizard_maria01",255; + end; case 3: cutin "job_wizard_maria02",2; mes "[Maria]"; @@ -2642,12 +1788,12 @@ gef_tower,107,36,4 script White Dog 81,{ mes "[Maria]"; mes "Dang it! I hope you FAIL!! Go get lost!!"; close2; - cutin "",255; + cutin "job_wizard_maria01",255; warp "gef_dun00",116,102; end; } } - if (WZRD_Q == 1) { + else if (WIZ_Q == 1) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "You seem lost..."; @@ -2667,7 +1813,7 @@ gef_tower,107,36,4 script White Dog 81,{ next; mes "[Maria]"; mes "Yellow Gemstones are easy to find in the desert."; - mes "Condors, Pickies, and sometimes monsters like Golems drop them."; + 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."; @@ -2681,10 +1827,10 @@ gef_tower,107,36,4 script White Dog 81,{ mes "Anyways, try your best."; mes "This is the basics of being a Wizard."; close2; - cutin "",255; + cutin "job_wizard_maria01",255; end; } - if (WZRD_Q == 2) { + else if (WIZ_Q == 2) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "You seem lost..."; @@ -2718,19 +1864,19 @@ gef_tower,107,36,4 script White Dog 81,{ mes "But anyways, always try your best."; mes "It's the basics of being a Wizard."; close2; - cutin "",255; + cutin "job_wizard_maria01",255; end; } - if (WZRD_Q == 3) { + 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 "",255; + cutin "job_wizard_maria01",255; end; } - if (WZRD_Q == 4) { + else if (WIZ_Q == 4) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "ZzzzZzzzZzzz..."; @@ -2739,10 +1885,10 @@ gef_tower,107,36,4 script White Dog 81,{ mes "[Maria]"; mes "*wimper*...Blizadris...you suck...Zzz..."; close2; - cutin "",255; + cutin "job_wizard_maria02",255; end; } - if (WZRD_Q == 5) { + else if (WIZ_Q == 5) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "Oh, you're doing well aren't you?"; @@ -2751,10 +1897,10 @@ gef_tower,107,36,4 script White Dog 81,{ mes "Well, try your best to the very end."; mes "Laurel is waiting."; close2; - cutin "",255; + cutin "job_wizard_maria01",255; end; } - if (WZRD_Q == 6) { + else if (WIZ_Q == 6) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "*BARK*...you gave up?"; @@ -2772,10 +1918,10 @@ gef_tower,107,36,4 script White Dog 81,{ 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 "",255; + cutin "job_wizard_maria01",255; end; } - if (WZRD_Q == 7) { + 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*"; @@ -2784,7 +1930,27 @@ gef_tower,107,36,4 script White Dog 81,{ mes "[Maria]"; mes "Congratulations. Always give your best at everything, no matter what."; close2; - cutin "",255; + cutin "job_wizard_maria01",255; end; } -} \ No newline at end of file +} + +//============================================================ +// 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/re/jobs/2-2/alchemist.txt b/npc/re/jobs/2-2/alchemist.txt index 4e2dd611f..fd0f077f5 100644 --- a/npc/re/jobs/2-2/alchemist.txt +++ b/npc/re/jobs/2-2/alchemist.txt @@ -1,22 +1,27 @@ //===== rAthena Script ======================================= -// Alchemist Job change Quest -//===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= Alchemist Job Quest +//===== By: ================================================== +//= nestor_zulueta (Fusion), converted by Darkchild //===== Current Version: ===================================== -//= 1.0 +//= 3.0 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Merchant -> Alchemist. +//= [Aegis Conversion] +//= Job quest for Alchemist classes //===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] +//= 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 744,{ +alde_alche,27,185,5 script Alchemist Guildsman#am 744,{ + mes "[Parmy Gianino]"; if (Upper == 1) { - mes "[Parmy Gianino]"; mes "Welcome to the"; mes "Alchemist Unio--"; mes "I-Impossible! How c-can"; @@ -31,9 +36,8 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ mes "feeling about you..."; close; } - if ((Class != Job_Baby_Merchant) && (Class != Job_Merchant)) { - if (Class == Job_Baby_Alchemist || Class == Job_Alchemist) { - mes "[Parmy Gianino]"; + if (BaseJob != Job_Merchant) { + if (BaseJob == Job_Alchemist) { mes "Welcome, " + strcharinfo(0) + "."; mes "The Alchemist Union"; mes "is busy today, like always."; @@ -46,8 +50,7 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ 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; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Parmy Gianino]"; + else if (BaseClass == Job_Novice) { mes "Welcome to the"; mes "Alchemist Union."; mes "We are recruiting"; @@ -64,7 +67,6 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ mes "as a Merchant first."; close; } - mes "[Parmy Gianino]"; mes "Welcome to the"; mes "Alchemist Union."; mes "We are recruiting"; @@ -75,13 +77,12 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ 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 (ALCMST_Q == 0) { - mes "[Parmy Gianino]"; + 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.")) { + 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."; @@ -134,8 +135,7 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ mes "you like to apply"; mes "for registration?"; next; - switch (select("I would like to apply.:I'll do it later.")) { - case 1: + if (select("I would like to apply.:I'll do it later.") == 1) { if (JobLevel < 40) { mes "[Parmy Gianino]"; mes "Hmmm..."; @@ -165,7 +165,7 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ mes "Please sign"; mes "the application."; next; - menu "",-; + 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."; @@ -177,22 +177,24 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ mes "Come back to me when you have 50,000 Zeny, otherwise we can't process your application."; close; } - set Zeny, Zeny - 50000; + set zeny,zeny-50000; mes "[Parmy Gianino]"; mes "Let's see."; - mes "" + strcharinfo(0) + ""; + mes "" + strcharinfo(0); mes "needs to bring..."; - set .@alche_m1, rand(1,3); - if (.@alche_m1 == 1) { - set ALCMST_Q,1; + switch(rand(1,3)) { + case 1: + set ALCH_Q,1; setquest 2028; mes "^551A8B7 Berserk Potions^000000."; - set ALCMST_Q,2; + break; + case 2: + set ALCH_Q,2; setquest 2029; mes "^551A8B100 Mini Furnaces^000000."; - } - else { - set ALCMST_Q,3; + break; + case 3: + set ALCH_Q,3; setquest 2030; mes "^551A8B7,500 Fire Arrows^000000."; } @@ -204,13 +206,12 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ mes "as an Alchemist will begin."; mes "See you soon~"; close; - case 2: - mes "[Parmy Gianino]"; - mes "Talented Merchants"; - mes "are always welcome here."; - mes "Please come back 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..."; @@ -219,67 +220,8 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ close; } } - if (ALCMST_Q == 1) { - if ((countitem(1006) > 0) && (countitem(1005) > 0)) { - mes "[Parmy Gianino]"; - 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 ALCMST_Q,4; - changequest 2028,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; - } - if (countitem(657) > 6) { - mes "[Parmy Gianino]"; - mes "Seems like"; - mes "you're all ready."; - mes "The Union will put"; - mes "these items to good use."; - next; - delitem 657,7; //Berserk_Potion - 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 ALCMST_Q,4; - changequest 2028,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 "[Parmy Gianino]"; - mes "Aren't you ready?"; - mes "Like I said before,"; - mes "you must bring"; - mes "^551A8B7 Berserk Potions^000000."; - next; - mes "[Parmy Gianino]"; - mes "Come back when you"; - mes "have prepared the"; - mes "required items."; - close; - } - if (ALCMST_Q == 2) { - if ((countitem(1006) > 0) && (countitem(1005) > 0)) { - mes "[Parmy Gianino]"; + 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"; @@ -292,29 +234,16 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ 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 ALCMST_Q,4; - changequest 2029,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; - } - if (countitem(612) > 99) { - mes "[Parmy Gianino]"; - mes "Seems like"; - mes "you're all ready."; - mes "The Union will put"; - mes "these items to good use."; - next; - delitem 612,100; //Portable_Furnace - 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 ALCMST_Q,4; - changequest 2029,2031; + 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..."; @@ -323,56 +252,31 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ 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 "[Parmy Gianino]"; - mes "Aren't you ready?"; - mes "Like I said before,"; - mes "you must bring"; - mes "^551A8B100 Mini Furnaces^000000."; - next; - mes "[Parmy Gianino]"; - mes "Come back when you"; - mes "have prepared the"; - mes "required items."; - close; - } - if (ALCMST_Q == 3) { - if ((countitem(1006) > 0) && (countitem(1005) > 0)) { - mes "[Parmy Gianino]"; - 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 ALCMST_Q,4; - 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(1752) > 7499) { - mes "[Parmy Gianino]"; + 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 1752,7500; //Fire_Arrow + 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 ALCMST_Q,4; - changequest 2030,2031; + 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..."; @@ -381,11 +285,10 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ 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 "[Parmy Gianino]"; mes "Aren't you ready?"; mes "Like I said before,"; mes "you must bring"; - mes "^551A8B7500 Fire Arrows^000000."; + mes "^551A8B"+.@items[1]+" "+getitemname(.@items[0])+"s^000000."; next; mes "[Parmy Gianino]"; mes "Come back when you"; @@ -393,8 +296,7 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ mes "required items."; close; } - if (ALCMST_Q == 4) { - mes "[Parmy Gianino]"; + else if (ALCH_Q == 4) { mes "Go and talk to"; mes "Mr. Raspuchin."; mes "He's involved in the"; @@ -407,22 +309,23 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ mes "some simple questions."; close; } - mes "[Parmy Gianino]"; - 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; + 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 749,{ - if ((Class != Job_Baby_Merchant) && (Class != Job_Merchant)) { - if (Class == Job_Baby_Alchemist || Class == Job_Alchemist) { - mes "[Raspuchin Gregory]"; +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?!"; @@ -439,8 +342,7 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "Alchemist Union!"; close; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Raspuchin Gregory]"; + else if (BaseClass == Job_Novice) { mes "Heeheehee"; mes "keheheh~!"; mes "How cute, you've come"; @@ -453,34 +355,34 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "expect to leave so easily..."; close; } - mes "[Raspuchin Gregory]"; - 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; + 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 (ALCMST_Q == 0) { - mes "[Raspuchin Gregory]"; + if (ALCH_Q == 0) { mes "Heeheehee"; mes "keheheh~!"; mes "What do you"; @@ -496,8 +398,7 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "dark enterprise!"; close; } - if ((ALCMST_Q == 1) || (ALCMST_Q == 2) || (ALCMST_Q == 3)) { - mes "[Raspuchin Gregory]"; + else if (ALCH_Q >= 1 && ALCH_Q <= 3) { mes "Heeheehee"; mes "keheheh~!"; mes "What do you"; @@ -513,121 +414,133 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ 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; } - if (ALCMST_Q == 4) { - mes "[Raspuchin Gregory]"; - 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) { + 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 "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."; + 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 "Huh. You're a cutie alright,"; - mes "but I can tell you've got brains."; + 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 "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."; + mes "I don't like it..."; + mes "I don't like this!"; 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~!"; + 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 go to Darwin!"; - mes "He'll teach you how to do the experiments. Just tell him that"; - mes "I sent you."; - set ALCMST_Q,6; - changequest 2031,2032; - close; + mes "Now then,"; + mes "give me all the"; + mes "^551A8Bright^000000 answers"; + mes "this time."; } - 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."; - next; - set .@alche_s, rand(1,3); - set @w_point,0; - if (.@alche_s == 1) { + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + if (.@input != 742) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "How much do"; mes "12 Red Potions,"; @@ -636,9 +549,7 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "after a 24 % discount?"; next; input .@input; - if (.@input != 909) { - set @w_point,@w_point + 1; - } + if (.@input != 909) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "What is the"; mes "total weight of"; @@ -646,9 +557,7 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "and 1 Long Coat?"; next; input .@input; - if (.@input != 450) { - set @w_point,@w_point + 1; - } + if (.@input != 450) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "What is the"; mes "total defense of"; @@ -658,71 +567,53 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "Ear Muffs?"; next; input .@input; - if (.@input != 20) { - set @w_point,@w_point + 1; - } + 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 "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; - } - } - if (.@alche_s == 2) { + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + if (.@input != 742) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "What is the"; mes "total price of"; @@ -732,9 +623,7 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "a 24 % discount?"; next; input .@input; - if (.@input != 934) { - set @w_point,@w_point + 1; - } + if (.@input != 934) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "What is the"; mes "total weight of"; @@ -742,9 +631,7 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "4 Caps, and 2 Boots?"; next; input .@input; - if (.@input != 550) { - set @w_point,@w_point + 1; - } + if (.@input != 550) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "What is the"; mes "total defense of"; @@ -754,9 +641,7 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "and Glasses?"; next; input .@input; - if (.@input != 16) { - set @w_point,@w_point + 1; - } + if (.@input != 16) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "How much profit do you"; mes "make if you buy Tights"; @@ -765,53 +650,39 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "the normal price?"; next; input .@input; - if (.@input != 8520) { - set @w_point,@w_point + 1; - } - } - if (.@alche_s == 3) { + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + if (.@input != 742) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "What is the"; mes "total cost of"; @@ -821,9 +692,7 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "after a 24 % discount?"; next; input .@input; - if (.@input != 798) { - set @w_point,@w_point + 1; - } + if (.@input != 798) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "What is the"; mes "total weight of"; @@ -831,31 +700,25 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "3 Caps, and 3 boots?"; next; input .@input; - if (.@input != 480) { - set @w_point,@w_point + 1; - } + 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; - } + if (.@input != 12) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "If you buy 4 Padded Armors"; - mes "at a 25% discount and sell"; + 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 (.@input != 7680) set w_point,w_point+1; } - if (@w_point == 0) { + if (.@w_point == 0) { mes "[Raspuchin Gregory]"; mes "Ooh..."; mes "Excellent! Great!"; @@ -863,15 +726,22 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "Keheheh, I have no choice but to acknowledge you..."; next; } - if (@w_point == 1) { + 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 ALCMST_Q,5; + set ALCH_Q,5; mes "[Raspuchin Gregory]"; mes "Keheheh! Idiot!"; mes "Just listening to your"; @@ -903,382 +773,26 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "Now go to Darwin!"; mes "He'll teach you how to do the experiments. Just tell him that"; mes "I sent you."; - set ALCMST_Q,6; + set ALCH_Q,6; changequest 2031,2032; close; } - if (ALCMST_Q == 5) { - mes "[Raspuchin Gregory]"; - 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; - set .@alche_s, rand(1,3); - set @w_point,0; - if (.@alche_s == 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; - } - } - if (.@alche_s == 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; - } - } - if (.@alche_s == 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 25% 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; - } - 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; - } - if (@w_point == 2) { - mes "[Raspuchin Gregory]"; - mes "You've got serious"; - mes "weaknesses in math,"; - mes "but I'll let you go this time..."; - next; - } - else { - set ALCMST_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 ALCMST_Q,6; - close; - } - if (ALCMST_Q == 6) { - mes "[Raspuchin Gregory]"; - mes "What are you doing?"; - mes "Go and find Darwin now."; + 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 "[Raspuchin Gregory]"; mes "Keheheheheheheheh~"; mes "Don't think this is the end of it!"; close; } -alde_alche,13,15,7 script Studying Man 750,{ - if (checkweight(1201,3) == 0) { +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. -"; @@ -1286,9 +800,9 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "- after you store some items into kafra storage. -"; close; } - if ((Class != Job_Baby_Merchant) && (Class != Job_Merchant)) { - if (Class == Job_Baby_Alchemist || Class == Job_Alchemist) { - mes "[Darwin]"; + mes "[Darwin]"; + if (BaseJob != Job_Merchant) { + if (BaseJob == Job_Alchemist) { mes "Ah..."; mes "You..."; mes "You've become"; @@ -1308,28 +822,28 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "My love..."; close; } - mes "[Darwin]"; - 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; + 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 (ALCMST_Q == 6) { - mes "[Darwin]"; + if (ALCH_Q == 6) { mes "..."; next; mes "[Darwin]"; @@ -1342,7 +856,7 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "Who is it...?"; next; monster "alde_alche",13,15,"Wolf",1013,1; - killmonster "alde_alche","Studying Man::OnMyMobDead"; + killmonsterall "alde_alche"; mes "[Darwin]"; mes "A wolf?"; mes "Or a human?"; @@ -1369,7 +883,7 @@ alde_alche,13,15,7 script Studying Man 750,{ 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.")) { + switch(select("I want to learn how to experiment.:Tell me more about flowers.:Nothing.")) { case 1: mes "[Darwin]"; mes "You wish to"; @@ -1400,7 +914,7 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "^551A8B1 Red Herb^000000,"; mes "^551A8B1 Yellow Herb^000000 and"; mes "^551A8B1 White Herb^000000."; - set ALCMST_Q,7; + set ALCH_Q,7; changequest 2032,2033; next; mes "[Darwin]"; @@ -1461,8 +975,7 @@ alde_alche,13,15,7 script Studying Man 750,{ close; } } - if (ALCMST_Q == 7) { - mes "[Darwin]"; + else if (ALCH_Q == 7) { mes "..."; mes "......"; next; @@ -1501,8 +1014,7 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "as to let me have this flower?"; mes "I'm sure that this is the Moonlight Flower that I've been seeking!"; next; - switch (select("Sorry, I can't give it to you.:I brought it to give to you.")) { - case 1: + 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"; @@ -1518,73 +1030,71 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "somewhere else. It brings"; mes "back too many memories..."; close; - case 2: - 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 ALCMST_Q,40; - changequest 2033,2034; - 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; } - if ((countitem(7134) > 2) && (countitem(713) > 2) && (countitem(507) > 0) && (countitem(508) > 0) && (countitem(509) > 0)) { + 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; @@ -1611,27 +1121,27 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "Now, make some medicine"; mes "using the simple procedure"; mes "I just explained to you."; - set @w_point,0; + set w_point,0; next; - switch (select("Prepare the Medicine Bowl.:Put the Medicine Bowl on your head.:Kick the Medicine Bowl.")) { + 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; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "What...?"; next; break; case 3: - set @w_point,@w_point + 1; + 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.")) { + 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; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "...Eh!?"; mes "That's not"; @@ -1641,7 +1151,7 @@ alde_alche,13,15,7 script Studying Man 750,{ case 2: break; case 3: - set @w_point,@w_point + 1; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "A Harp?"; mes "And how would"; @@ -1649,18 +1159,18 @@ alde_alche,13,15,7 script Studying Man 750,{ next; break; } - switch (select("Crush the Herbs.:Crush the Medicine Bowl.:Crush Darwin's foot.")) { + switch(select("Crush the Herbs.:Crush the Medicine Bowl.:Crush Darwin's foot.")) { case 1: break; case 2: - set @w_point,@w_point + 1; + 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; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "Agh...!"; mes "What do you"; @@ -1669,16 +1179,16 @@ alde_alche,13,15,7 script Studying Man 750,{ next; break; } - switch (select("Spray clean water.:Drink clean water.:Pour clean water.")) { + switch(select("Spray clean water.:Drink clean water.:Pour clean water.")) { case 1: - set @w_point,@w_point + 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; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "W-wait..."; mes "Are you"; @@ -1688,11 +1198,11 @@ alde_alche,13,15,7 script Studying Man 750,{ case 3: break; } - switch (select("Continue crushing the Herbs.:Continue eating the Herbs.:Continue dancing and singing.")) { + 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; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "Eat the Herbs?"; mes "I think you need"; @@ -1701,7 +1211,7 @@ alde_alche,13,15,7 script Studying Man 750,{ next; break; case 3: - set @w_point,@w_point + 1; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "Singing and"; mes "dancing? Alchemists"; @@ -1710,9 +1220,9 @@ alde_alche,13,15,7 script Studying Man 750,{ next; break; } - switch (select("Put noodles in and fry it.:Pour it in an empty bottle.:Hold the Medicine Bowl and drink it.")) { + 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; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "We're Alchemists,"; mes "not restaurant chefs."; @@ -1721,14 +1231,14 @@ alde_alche,13,15,7 script Studying Man 750,{ case 2: break; case 3: - set @w_point,@w_point + 1; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "Huh..."; mes "Pretty sloppy..."; next; break; } - if (@w_point > 0) { + if (.@w_point > 0) { mes "[Darwin]"; mes "..."; mes "......"; @@ -1745,7 +1255,7 @@ alde_alche,13,15,7 script Studying Man 750,{ 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 ALCMST_Q,8; + set ALCH_Q,8; changequest 2033,2035; next; mes "[Darwin]"; @@ -1759,28 +1269,29 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "what is most precious to you."; close; } - 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 { + 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; + } } - if (ALCMST_Q == 8) { - mes "[Darwin]"; + else if (ALCH_Q == 8) { mes "I said to go"; mes "to Van Helmont."; mes "I'd like to teach you"; @@ -1793,8 +1304,7 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "withers as well.."; close; } - if (ALCMST_Q == 40) { - mes "[Darwin]"; + else if (ALCH_Q == 40) { mes "I have already given you all of my knowledge and have nothing more"; mes "to teach you."; next; @@ -1803,31 +1313,32 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "you do that, your life as an Alchemist will begin."; close; } - mes "[Darwin]"; - 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; + 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 748,{ - if ((Class != Job_Baby_Merchant) && (Class != Job_Merchant)) { - if (Class == Job_Baby_Alchemist || Class == Job_Alchemist) { - mes "[Van Helmont]"; +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"; @@ -1842,25 +1353,25 @@ alde_alche,79,19,5 script Experiment Expert 748,{ mes "Reading science journals and performing experiments. That's what Alchemy is all about. Now, let me get back to work!"; close; } - mes "[Van Helmont]"; - 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; + 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 (ALCMST_Q == 8) { - mes "[Van Helmont]"; + 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; @@ -1882,20 +1393,7 @@ alde_alche,79,19,5 script Experiment Expert 748,{ mes "Um..."; mes "Who are you?"; next; - switch (select("I want to become an Alchemist.:.......")) { - case 1: - 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; - break; - case 2: + 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."; @@ -1904,8 +1402,17 @@ alde_alche,79,19,5 script Experiment Expert 748,{ 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; } - switch (select("Teach me something.:...")) { - case 1: + 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?"; @@ -1925,41 +1432,39 @@ alde_alche,79,19,5 script Experiment Expert 748,{ 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 ALCMST_Q,9; + 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; - case 2: - 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; } - } - if (ALCMST_Q == 9) { 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]"; @@ -1973,19 +1478,7 @@ alde_alche,79,19,5 script Experiment Expert 748,{ mes "......"; mes "Who are you?"; next; - switch (select("I want to become an Alchemist?:.......")) { - case 1: - 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; - break; - case 2: + 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."; @@ -1994,39 +1487,29 @@ alde_alche,79,19,5 script Experiment Expert 748,{ 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; } - set @w_point,0; - if (molgenstain == 3) { + 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; - switch (select("Karvodailnirol:Detrimindexta:Alcohol")) { - case 1: - break; - case 2: - set @w_point,@w_point + 1; - break; - case 3: - set @w_point,@w_point + 1; - break; - } + 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; - switch (select("Karvodailnirol:Detrimindexta:Alcohol")) { - case 1: - set @w_point,@w_point + 1; - break; - case 2: - break; - case 3: - set @w_point,@w_point + 1; - break; - } - if (@w_point > 0) { + 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."; @@ -2044,7 +1527,7 @@ alde_alche,79,19,5 script Experiment Expert 748,{ mes "Go out and find the room next"; mes "to this one and talk to Nicholas. He'll continue your training."; next; - set ALCMST_Q,20; + set ALCH_Q,20; changequest 2036,2037; mes "[Van Helmont]"; mes "What are you"; @@ -2060,33 +1543,13 @@ alde_alche,79,19,5 script Experiment Expert 748,{ mes "you need to make"; mes "a Counteragent?"; next; - switch (select("Feather:Sticky Mucus:Animal Gore")) { - case 1: - set @w_point,@w_point + 1; - break; - case 2: - set @w_point,@w_point + 1; - break; - case 3: - set @w_point,@w_point + 1; - break; - } + select("Feather:Sticky Mucus:Animal Gore"); mes "[Van Helmont]"; mes "What item do"; mes "you need to make"; mes "a Mixture?"; next; - switch (select("Monster Feed:Ancient Lips:Rotten Bandage")) { - case 1: - set @w_point,@w_point + 1; - break; - case 2: - set @w_point,@w_point + 1; - break; - case 3: - set @w_point,@w_point + 1; - break; - } + 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; @@ -2095,39 +1558,39 @@ alde_alche,79,19,5 script Experiment Expert 748,{ close; } } - if (ALCMST_Q == 20) { + 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 "What...?"; - mes "I thought I told you to"; - mes "talk to Nicholas next door?"; + mes "Why...?!"; + mes "Why, another failure?!"; + mes "My calculations were"; + mes "all correct! Wait..."; next; mes "[Van Helmont]"; - mes "I need to continue my research,"; - mes "and you need to finish becoming an Alchemist. Come on, get moving!"; + mes "Perhaps, if I capacitated the thermal flux by using the neutronic gradient, it just might work..."; close; } - mes "[Van Helmont]"; - 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 122,{ +alde_alche,101,184,4 script Master Alchemist#am 122,{ cutin "job_alche_vincent",2; + mes "[Vincent Carsciallo]"; if (Upper == 1) { - mes "[Vincent Carsciallo]"; mes "You have transcended..."; mes "Excellent, excellent."; next; @@ -2138,9 +1601,8 @@ alde_alche,101,184,4 script Master Alchemist 122,{ cutin "",255; end; } - if ((Class != Job_Baby_Merchant) && (Class != Job_Merchant)) { - if (Class == Job_Baby_Alchemist || Class == Job_Alchemist) { - mes "[Vincent Carsciallo]"; + if (BaseJob != Job_Merchant) { + if (BaseJob == Job_Alchemist) { mes "Welcome!"; mes "So how is your"; mes "research coming along?"; @@ -2151,12 +1613,8 @@ alde_alche,101,184,4 script Master Alchemist 122,{ 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!"; - close2; - cutin "",255; - end; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Vincent Carsciallo]"; + else if (BaseClass == Job_Novice) { mes "Hm..."; mes "A Novice?"; mes "You shouldn't be"; @@ -2166,27 +1624,24 @@ alde_alche,101,184,4 script Master Alchemist 122,{ 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."; - close2; - cutin "",255; - end; } - mes "[Vincent Carsciallo]"; - 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."; + 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 (ALCMST_Q == 0) { - mes "[Vincent Carsciallo]"; + if (ALCH_Q == 0) { mes "Hmm...?"; mes "A Merchant?"; mes "Are you interested"; @@ -2206,18 +1661,16 @@ alde_alche,101,184,4 script Master Alchemist 122,{ cutin "",255; end; } - if (ALCMST_Q == 40) { + else if (ALCH_Q == 40) { if (JobLevel < 40) { - set ALCMST_Q,0; - mes "[Vincent Carsciallo]"; + 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 != 0) { - mes "[Vincent Carsciallo]"; + if (SkillPoint) { mes "Ah, you're almost"; mes "ready to become an"; mes "Alchemist, but you must"; @@ -2233,86 +1686,62 @@ alde_alche,101,184,4 script Master Alchemist 122,{ cutin "",255; end; } - mes "[Vincent Carsciallo]"; + 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; - if (JobLevel == 50) { - set ALCMST_Q,0; - changequest 2034,2040; - changequest 2039,2040; - completequest 2040; - if(Class == Job_Baby_Merchant){ - jobchange Job_Baby_Alchemist; - } else { - jobchange Job_Alchemist; - } - mes "[Vincent Carsciallo]"; - mes "Henceforth, you are"; - mes "now a member of our"; - mes "illustrious Union."; - mes "I hope you learn a lot..."; - next; - 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."; - 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; - } - set ALCMST_Q,0; - changequest 2034,2040; - changequest 2039,2040; + set ALCH_Q,0; completequest 2040; - if(Class == Job_Baby_Merchant){ - jobchange Job_Baby_Alchemist; - } else { - jobchange Job_Alchemist; - } + 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; - set .@alche_m2, rand(1,6); - if (.@alche_m2 == 1) { - getitem 7127,1; //Alcol_Create_Book - } - else if (.@alche_m2 == 2) { - getitem 7128,1; //FireBottle_Create_Book - } - else if (.@alche_m2 == 3) { - getitem 7129,1; //Acid_Create_Book - } - else if (.@alche_m2 == 4) { - getitem 7130,1; //Plant_Create_Book - } - else if (.@alche_m2 == 5) { - getitem 7131,1; //Mine_Create_Book + + 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 { - getitem 7144,1; //Normal_Potion_Book + 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."; } - 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"; @@ -2324,23 +1753,24 @@ alde_alche,101,184,4 script Master Alchemist 122,{ cutin "",255; end; } - mes "[Vincent Carsciallo]"; - 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; + 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 57,{ - if (checkweight(1201,3) == 0) { +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. -"; @@ -2348,8 +1778,8 @@ alde_alche,145,19,1 script Chief Researcher 57,{ mes "- after you store some items into kafra storage. -"; close; } - if ((ALCMST_Q > 19) && (ALCMST_Q < 22)) { - if (ALCMST_Q == 20) { + if (ALCH_Q > 19 && ALCH_Q < 22) { + if (ALCH_Q == 20) { mes "[Nicholas Flamel]"; mes "Ooh..."; mes "You're the upstart"; @@ -2376,201 +1806,55 @@ alde_alche,145,19,1 script Chief Researcher 57,{ mes "choose the word"; mes "that is ^551A8BIN^000000 the puzzle."; next; - set .@alche_puz, rand(1,3); - if (.@alche_puz == 1) { + switch(rand(1,3)) { + case 1: mes "t m y a n y e o b n e g p r i"; next; - set @alch_q, 0; - switch (select("Brake:Brass:Bug:Broken:Brigan?")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - break; - case 5: - set @alch_q, @alch_q + 10; - break; - } - mes "o n c u d a p j l e r s v m u"; + 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; - switch (select("vendor:storage:weapon:simple:streetshop")) { - case 1: - set @alch_q, @alch_q + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - case 5: - break; - } + 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; - switch (select("molasses:party:leader:sweets:treacle")) { - case 1: - break; - case 2: - set @alch_q, @alch_q + 10; - break; - case 3: - break; - case 4: - break; - case 5: - break; - } + 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; - switch (select("partisan:partizan:pato:paros:pack")) { - case 1: - break; - case 2: - set @alch_q, @alch_q + 10; - break; - case 3: - break; - case 4: - break; - case 5: - break; - } - } - else if (.@alche_puz == 2) { + 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; - set @alch_q, 0; - switch (select("packman:sunshine:ragnarok:wonderland:frost")) { - case 1: - set @alch_q, @alch_q + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - case 5: - break; - } + 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; - switch (select("purple:smoker:ragnarok:bolt:burnt wood")) { - case 1: - break; - case 2: - break; - case 3: - set @alch_q, @alch_q + 10; - break; - case 4: - break; - case 5: - break; - } + 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; - switch (select("scab:kinship:donate:source:opening")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - break; - case 5: - set @alch_q, @alch_q + 10; - break; - } + 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; - switch (select("forgemerchant:potionmerchant:dcmerchant:vendingmerchant:battlemerchant")) { - case 1: - break; - case 2: - set @alch_q, @alch_q + 10; - break; - case 3: - break; - case 4: - break; - case 5: - break; - } - } - else { + 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; - set @alch_q, 0; - switch (select("tiger:wolf:pumpkin:tripped:tore")) { - case 1: - set @alch_q, @alch_q + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - case 5: - break; - } + 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; - switch (select("bash:provoke:endure:stun:abracadabra")) { - case 1: - break; - case 2: - break; - case 3: - set @alch_q, @alch_q + 10; - break; - case 4: - break; - case 5: - break; - } + 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; - switch (select("alberta:latifoliate:crimson:maple:evergreen")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - break; - case 5: - set @alch_q, @alch_q + 10; - break; - } + 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; - switch (select("forgemerchant:potionmerchant:dcmerchant:vendingmerchant:battlemerchant")) { - case 1: - break; - case 2: - set @alch_q, @alch_q + 10; - break; - case 3: - break; - case 4: - break; - case 5: - break; - } + 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_q > 30) { - set ALCMST_Q,22; + if (.@alch_t > 30) { + set ALCH_Q,22; mes "Excellent job!"; next; mes "[Nicholas Flamel]"; @@ -2587,23 +1871,27 @@ alde_alche,145,19,1 script Chief Researcher 57,{ mes "^551A8Bplenty of room in your inventory^000000."; close; } - set ALCMST_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 { + 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; + + } } - if (ALCMST_Q == 22) { - if ((MaxWeight - Weight) < 1370) { + 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."; @@ -2623,7 +1911,7 @@ alde_alche,145,19,1 script Chief Researcher 57,{ 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 ALCMST_Q,23; + set ALCH_Q,23; changequest 2037,2038; mes "[Nicholas Flamel]"; mes "1 Mixture,"; @@ -2644,7 +1932,7 @@ alde_alche,145,19,1 script Chief Researcher 57,{ mes "one piece."; close; } - if (ALCMST_Q == 23) { + else if (ALCH_Q == 23) { mes "[Nicholas Flamel]"; mes "Didn't I say to"; mes "go to Juno and help"; @@ -2652,8 +1940,8 @@ alde_alche,145,19,1 script Chief Researcher 57,{ mes "their Alchemy research?"; close; } - if (ALCMST_Q == 24) { - set ALCMST_Q,40; + else if (ALCH_Q == 24) { + set ALCH_Q,40; changequest 2038,2039; mes "[Nicholas Flamel]"; mes "Ah, you're back!"; @@ -2671,24 +1959,44 @@ alde_alche,145,19,1 script Chief Researcher 57,{ 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; } - if ((ALCMST_Q == 40) && (Class == Job_Baby_Merchant || Class == Job_Merchant)) { + 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; } - 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; + 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; + } } -alde_alche,19,171,0 warp alche#3 1,1,aldebaran,68,56 -alde_alche,42,171,0 warp alche#4 1,1,aldebaran,56,68 \ No newline at end of file +//============================================================ +// 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/re/jobs/2-2/bard.txt b/npc/re/jobs/2-2/bard.txt index 839a61ad5..a4b158ec8 100644 --- a/npc/re/jobs/2-2/bard.txt +++ b/npc/re/jobs/2-2/bard.txt @@ -1,21 +1,33 @@ //===== rAthena Script ======================================= -// Bard Job change Quest -//===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= Bard Job Quest +//===== By: ================================================== +//= Muad_Dib(The Prometheus Project), Lupus, Samuray22 //===== Current Version: ===================================== -//= 1.0 +//= 2.6 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Archer[M] -> Bard. -//===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] -//============================================================ +//= [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] +//============================================================ -comodo,226,123,5 script Roaming Bard 741,{ - if (Upper == 1) { +//=============== 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"; @@ -28,11 +40,11 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Tell them they are wasting their time..."; mes "Tell them they forget the most important goal of the life..."; close2; - cutin "",255; + cutin "job_bard_aiolo01",255; end; } - if ((Class != Job_Baby_Archer) && (Class != Job_Archer)) { - if (Class == Job_Baby_Bard || Class == Job_Bard) { + 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."; @@ -44,11 +56,8 @@ comodo,226,123,5 script Roaming Bard 741,{ 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."; - close2; - cutin "",255; - end; } - if (Class == Job_Baby || Class == Job_Novice) { + else if(Class == Job_Novice) { cutin "job_bard_aiolo01",2; mes "[Lalo]"; mes "The sadness that overcomes my heart.. "; @@ -64,51 +73,43 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "[Lalo]"; mes "Heh... try asking someone else."; mes "I'm trying to compose a new song."; - close2; - cutin "",255; - end; - } - cutin "job_bard_aiolo01",2; - mes "[Lalo]"; - mes "Lalala, lalala. Beautiful Comodo."; - mes "Always full of happy moments~"; - next; - mes "[Lalo]"; - if (Sex == 1) { - mes "Forget about your worries~"; - mes "And enjoy everything~"; } else { - mes "Cute lady, shall we dance~"; + 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~"; } - mes "Youth never repeats itself~"; close2; - cutin "",255; + cutin "job_bard_aiolo01",255; end; } - if (BRD_Q == 0) { + else if(BARD_Q == 0) { cutin "job_bard_aiolo01",2; mes "[Lalo]"; - if (Sex == 1) { - mes "Hi! Delightful Archer."; - } - else { - mes "Hello! Beautiful Archer Lady."; - } + 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.")) { + 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."; + 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."; - close2; - cutin "",255; - end; + break; + case 2: mes "[Lalo]"; mes "A song... let's see."; @@ -143,38 +144,32 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Hmm... that's always a good song to sing."; mes "How was it? Don't you think it's a nice song?"; next; - switch (select("Yes, it was very nice.:No, not really...")) { - case 1: + 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."; + mes "Thanks! if you enjoyed my song, it makes me happy, too."; next; - if ((Sex == 1) && (JobLevel > 39)) { + 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 BRD_Q,1; + set BARD_Q,1; setquest 3000; close2; - cutin "",255; + cutin "job_bard_aiolo01",255; end; } mes "[Lalo]"; - mes "If you ever want to hear my song again, just ask."; - close2; - cutin "",255; - end; - case 2: - 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."; + mes "if you ever want to hear my song again, just ask."; close2; - cutin "",255; + cutin "job_bard_aiolo01",255; end; } - close2; - cutin "",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]"; @@ -184,25 +179,25 @@ comodo,226,123,5 script Roaming Bard 741,{ 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.."; - close2; - cutin "",255; - end; + break; } + close2; + cutin "job_bard_aiolo02",255; + end; } - if (BRD_Q == 1) { + 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.")) { + 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; - switch (select("Of course!:I can't quite possibly...")) { - case 1: + 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."; @@ -214,23 +209,21 @@ comodo,226,123,5 script Roaming Bard 741,{ 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 BRD_Q,2; + set BARD_Q,2; changequest 3000,3001; close2; - cutin "",255; - end; - case 2: - 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."; - close2; - cutin "",255; + 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?"; @@ -239,9 +232,8 @@ comodo,226,123,5 script Roaming Bard 741,{ 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?"; - close2; - cutin "",255; - end; + break; + case 3: mes "[Lalo]"; mes "Hmm... I'm not sure what's what, but enjoy life."; @@ -249,30 +241,30 @@ comodo,226,123,5 script Roaming Bard 741,{ next; mes "[Lalo]"; mes "Well then~ Have a great time~"; - close2; - cutin "",255; - end; + break; } + close2; + cutin "job_bard_aiolo01",255; + end; } - if (BRD_Q == 2) { + 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 "[Lalo]"; mes "Ooh! It's a Singing Flower!"; mes "It's full of my memories..."; next; - delitem 629,1; //Singing_Flower + delitem 629,1; //Singing Flower mes "[Lalo]"; mes "My friend Tchaikovsky used to like it."; mes "I wonder what he's doing now..."; - next; } - if (countitem(703) > 0) { - mes "[Lalo]"; + 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; @@ -280,10 +272,8 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "[Lalo]"; mes "The leaves gave me strength when I used to fall."; mes "I really like this flower, thank you."; - next; } - else if (countitem(704) > 0) { - mes "[Lalo]"; + else if(countitem(704) > 0) { mes "Aloe... This is a rare flower."; mes "How'd you get it? Rather skilled, eh?"; next; @@ -291,10 +281,8 @@ comodo,226,123,5 script Roaming Bard 741,{ 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."; - next; } - if (countitem(708) > 0) { - mes "[Lalo]"; + 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; @@ -302,10 +290,8 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "[Lalo]"; mes "I heard you can make Anodyne with it..."; mes "But that would be a slight waste.. thanks!"; - next; } - if (countitem(709) > 0) { - mes "[Lalo]"; + else if(countitem(709) > 0) { mes "Ooh, isn't this an Izidor?"; mes "It's a dangerous yet beautiful flower..."; next; @@ -313,10 +299,8 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "[Lalo]"; mes "The deep purple charms a person.. "; mes "Thank you, I really like this flower."; - next; } - if (countitem(748) > 0) { - mes "[Lalo]"; + 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; @@ -324,10 +308,8 @@ comodo,226,123,5 script Roaming Bard 741,{ 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?"; - next; } - if (countitem(749) > 0) { - mes "[Lalo]"; + 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; @@ -335,10 +317,8 @@ comodo,226,123,5 script Roaming Bard 741,{ 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."; - next; } - if (countitem(710) > 0) { - mes "[Lalo]"; + else if(countitem(710) > 0) { mes "Oh, isn't this an Illusion Flower!?"; mes "Wow, how did you obtain such a rare flower!!"; next; @@ -346,11 +326,10 @@ comodo,226,123,5 script Roaming Bard 741,{ 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!"; - next; } - if (countitem(712) > 0) { + //Bad Flowers + else if(countitem(712) > 0) { cutin "job_bard_aiolo02",2; - mes "[Lalo]"; mes "Eh? This is just a normal flower."; mes "I like it... but it's not enough."; next; @@ -358,11 +337,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "You can get this flower from the girl in Prontera."; mes "Please bring me a different flower."; close2; - cutin "",255; + cutin "job_bard_aiolo02",255; end; } - if (countitem(744) > 0) { - mes "[Lalo]"; + else if(countitem(744) > 0) { mes "Oh no, you brought a Bouquet?"; mes "You can't bring me something like this."; next; @@ -370,12 +348,11 @@ comodo,226,123,5 script Roaming Bard 741,{ 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 "",255; + cutin "job_bard_aiolo01",255; end; } - if (countitem(745) > 0) { + else if(countitem(745) > 0) { cutin "job_bard_aiolo02",2; - mes "[Lalo]"; 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; @@ -383,11 +360,10 @@ comodo,226,123,5 script Roaming Bard 741,{ 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 "",255; + cutin "job_bard_aiolo02",255; end; } - if (countitem(2207) > 0) { - mes "[Lalo]"; + else if(countitem(2207) > 0) { mes "Mmm... a Fancy Flower."; mes "It's nice... but this isn't good enough."; next; @@ -395,25 +371,23 @@ comodo,226,123,5 script Roaming Bard 741,{ 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 "",255; + cutin "job_bard_aiolo01",255; end; } - if (countitem(1032) > 0) { + else if(countitem(1032) > 0) { cutin "job_bard_aiolo02",2; - mes "[Lalo]"; 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 "if you were trying to be funny, it was a good attempt..."; mes "but bring a normal flower now."; close2; - cutin "",255; + cutin "job_bard_aiolo02",255; end; } else { cutin "job_bard_aiolo02",2; - mes "[Lalo]"; mes "Hmm? What... you didnt' bring anything."; mes "Didn't I ask you to bring a flower?"; next; @@ -421,9 +395,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Well... if you want to learn on your own, then so be it."; mes "Anyone can just go out and sing."; close2; - cutin "",255; + 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."; @@ -434,39 +409,74 @@ comodo,226,123,5 script Roaming Bard 741,{ 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 "There's a talking snowman in a town called Lutie."; mes "Go there and bring back a present."; next; - set BRD_Q,3; + 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 "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 "",255; + cutin "job_bard_aiolo01",255; end; } - if (BRD_Q == 3) { - if (xmas_npc > 10) { + 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 "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."; + mes "Hmm... this time you can do better, right?"; + mes "Let's try again, you can do it."; next; - changequest 3002,3003; mes "[Lalo]"; - mes "Then, do you want to try singing...?"; - mes "I'll sing a short melody..."; - mes "and you try after."; + mes "I'll sing one part..."; + mes "and you try it after."; next; mes "[Lalo]"; - mes "Here I go."; - mes "Ehem *clears throat*"; + mes "Here we go."; + mes "*Ehem*"; mes "1, 2, 3, 4"; next; + } + if (BARD_Q != 5) { set .@bard_s, rand(1,5); - set @w_point, 0; if (.@bard_s == 1) { mes "^3377FFThere was a man^000000"; mes "who was said to be immortal."; @@ -475,10 +485,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "The evil giant Papner,"; mes "Turned into a dragon and ate him."; next; - input .@inputstr$; - if (.@inputstr$ != "There was a man") { - set @w_point, @w_point + 1; - } + 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,"; @@ -486,10 +496,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "The evil giant Papner,"; mes "Turned into a dragon and ate him."; next; - input .@inputstr$; - if (.@inputstr$ != "who was said to be immortal.") { - set @w_point, @w_point + 1; - } + 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"; @@ -497,10 +507,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "The evil giant Papner,"; mes "Turned into a dragon and ate him."; next; - input .@inputstr$; - if (.@inputstr$ != "His name Jichfreid,") { - set @w_point, @w_point + 1; - } + 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,"; @@ -508,10 +518,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "The evil giant Papner,"; mes "Turned into a dragon and ate him."; next; - input .@inputstr$; - if (.@inputstr$ != "Son of the hero Jichmunt.") { - set @w_point, @w_point + 1; - } + 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,"; @@ -519,10 +529,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "The evil giant Papner,^000000"; mes "Turned into a dragon and ate him."; next; - input .@inputstr$; - if (.@inputstr$ != "The evil giant Papner,") { - set @w_point, @w_point + 1; - } + 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,"; @@ -530,10 +540,9 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "The evil giant Papner,"; mes "Turned into a dragon and ate him.^000000"; next; - input .@inputstr$; - if (.@inputstr$ != "Turned into a dragon and ate him.") { - set @w_point, @w_point + 1; - } + 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"; @@ -543,10 +552,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "At first he only sold Red Potions."; mes "Some say he sold Sweet Potatoes, too."; next; - input .@inputstr$; - if (.@inputstr$ != "A Merchant without money or equipment,") { - set @w_point, @w_point + 1; - } + 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."; @@ -554,10 +563,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "At first he only sold Red Potions."; mes "Some say he sold Sweet Potatoes, too."; next; - input .@inputstr$; - if (.@inputstr$ != "a Merchant that couldn't sell anything.") { - set @w_point, @w_point + 1; - } + 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"; @@ -565,10 +574,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "At first he only sold Red Potions."; mes "Some say he sold Sweet Potatoes, too."; next; - input .@inputstr$; - if (.@inputstr$ != "But he was too proud to beg.") { - set @w_point, @w_point + 1; - } + 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."; @@ -576,10 +585,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "At first he only sold Red Potions."; mes "Some say he sold Sweet Potatoes, too."; next; - input .@inputstr$; - if (.@inputstr$ != "So he gathered some money selling items.") { - set @w_point, @w_point + 1; - } + 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."; @@ -587,10 +596,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "At first he only sold Red Potions.^000000"; mes "Some say he sold Sweet Potatoes, too."; next; - input .@inputstr$; - if (.@inputstr$ != "At first he only sold Red Potions.") { - set @w_point, @w_point + 1; - } + 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."; @@ -598,91 +607,89 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "At first he only sold Red Potions."; mes "Some say he sold Sweet Potatoes, too.^000000"; next; - input .@inputstr$; - if (.@inputstr$ != "Some say he sold Sweet Potatoes, too.") { - set @w_point, @w_point + 1; - } + 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 "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 .@inputstr$; - if (.@inputstr$ != "All Gods never age.") { - set @w_point, @w_point + 1; - } + 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 "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 .@inputstr$; - if (.@inputstr$ != "The ever so beautiful Goddess Eden,") { - set @w_point, @w_point + 1; - } + 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 "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 .@inputstr$; - if (.@inputstr$ != "Beautiful and graceful Goddess Eden,") { - set @w_point, @w_point + 1; - } + 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 "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 .@inputstr$; - if (.@inputstr$ != "Odin's daughter-in-law and Bragi's wife.") { - set @w_point, @w_point + 1; - } + 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 "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 .@inputstr$; - if (.@inputstr$ != "Her sweet apples in her basket,") { - set @w_point, @w_point + 1; - } + 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 "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 .@inputstr$; - if (.@inputstr$ != "All thanks to her sweet apples.") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "All thanks to her sweet apples.") + set .@w_point,.@w_point+1; } else if (.@bard_s == 4) { - mes "^3377FFBragi, Bragi,z^000000"; + 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 .@inputstr$; - if (.@inputstr$ != "Bragi, Bragi,") { - set @w_point, @w_point + 1; - } + 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,"; @@ -690,10 +697,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "All wandering poets are his people,"; mes "And all praise shall go to him."; next; - input .@inputstr$; - if (.@inputstr$ != "Forever call the poets name.") { - set @w_point, @w_point + 1; - } + 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"; @@ -701,10 +708,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "All wandering poets are his people,"; mes "And all praise shall go to him."; next; - input .@inputstr$; - if (.@inputstr$ != "My songs are his breath,") { - set @w_point, @w_point + 1; - } + 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,"; @@ -712,10 +719,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "All wandering poets are his people,"; mes "And all praise shall go to him."; next; - input .@inputstr$; - if (.@inputstr$ != "My mind is his will,") { - set @w_point, @w_point + 1; - } + 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,"; @@ -723,10 +730,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "All wandering poets are his people,^000000"; mes "And all praise shall go to him."; next; - input .@inputstr$; - if (.@inputstr$ != " All wandering poets are his people,") { - set @w_point, @w_point + 1; - } + 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,"; @@ -734,10 +741,9 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "All wandering poets are his people,"; mes "And all praise shall go to him.^000000"; next; - input .@inputstr$; - if (.@inputstr$ != "And all praise shall go to him.") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "And all praise shall go to him.") + set .@w_point,.@w_point+1; } else { mes "^3377FFLouder, louder, louder.^000000"; @@ -747,10 +753,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Let the castle walls ring."; mes "This day will never come again!"; next; - input .@inputstr$; - if (.@inputstr$ != "Louder, louder, louder.") { - set @w_point, @w_point + 1; - } + 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."; @@ -758,10 +764,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Let the castle walls ring."; mes "This day will never come again!"; next; - input .@inputstr$; - if (.@inputstr$ != "Give strength to the warriors!") { - set @w_point, @w_point + 1; - } + 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"; @@ -769,10 +775,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Let the castle walls ring."; mes "This day will never come again!"; next; - input .@inputstr$; - if (.@inputstr$ != "Shake the sky and roar through the land.") { - set @w_point, @w_point + 1; - } + 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."; @@ -780,10 +786,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Let the castle walls ring."; mes "This day will never come again!"; next; - input .@inputstr$; - if (.@inputstr$ != "Make my heart pound again!") { - set @w_point, @w_point + 1; - } + 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."; @@ -791,10 +797,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Let the castle walls ring.^000000"; mes "This day will never come again!"; next; - input .@inputstr$; - if (.@inputstr$ != "Let the castle walls ring.") { - set @w_point, @w_point + 1; - } + 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."; @@ -802,12 +808,12 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Let the castle walls ring."; mes "This day will never come again!^000000"; next; - input .@inputstr$; - if (.@inputstr$ != "This day will never come again!") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "This day will never come again!") + set .@w_point,.@w_point+1; } - if (@w_point > 0) { + + if (.@w_point) { cutin "job_bard_aiolo02",2; mes "[Lalo]"; mes "Oy, You got the lyrics wrong!"; @@ -817,14 +823,13 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Your pronunciation is very unclear."; mes "Do a better job next time."; close2; - cutin "",255; + cutin "job_bard_aiolo02",255; end; } mes "[Lalo]"; mes ".........."; next; - set BRD_Q,5; - changequest 3003,3004; + set BARD_Q,5; mes "[Lalo]"; mes "Wonderful! Finished it in one try!"; mes "You can become a great Bard. "; @@ -837,455 +842,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Do you want to just change jobs now?"; mes "Or do you want a present."; next; - switch (select("Just change my job please.:I'd be thankful for a present.")) { - case 1: - if (SkillPoint != 0) { - changequest 3003,3004; - 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 "",255; - end; - } - completequest 3004; - set BRD_Q,0; - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Bard; - } else { - jobchange Job_Bard; - } - 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 "",255; - end; - case 2: - 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 "",255; - end; - } - } - 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 "",255; - end; - } - if (BRD_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; - set .@bard_s,rand(1,5); - set @w_point,0; - 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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "All thanks to her sweet apples.") { - set @w_point, @w_point + 1; - } - } - else if (.@bard_s == 4) { - mes "^3377FFBragi, Bragi,z^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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != " 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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "This day will never come again!") { - set @w_point, @w_point + 1; - } + set .@selection,select("Just change my job please.:I'd be thankful for a present."); } - if (@w_point > 0) { - 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 "",255; - end; - } - mes "[Lalo]"; - mes ".........."; - next; - set BRD_Q,5; - changequest 3003,3004; - mes "[Lalo]"; - mes "Wonderful! Although it was not in one try!"; - mes "Good enough to become a good 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; - switch (select("Just change my job please.:I'd be thankful for a present.")) { - case 1: - if (SkillPoint != 0) { + 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."; @@ -1296,243 +856,96 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "So bring some trunks."; mes "It doesn't matter what kind, as long as they are 60 of the same kind..."; close2; - cutin "",255; + cutin "job_bard_aiolo01",255; end; } - completequest 3004; - set BRD_Q,0; - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Bard; - } else { - jobchange Job_Bard; - } - 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 "",255; - end; - case 2: - mes "[Lalo]"; - mes "Hmm... very well, bring some ^3355FFtrunks^000000."; - mes "It doesn't matter what kind, as long as they are 60 of the same sort..."; - next; - mes "[Lalo]"; - mes "I will give you a gift once you bring them."; - mes "Have a safe trip."; - close2; - cutin "",255; - end; - } - } - if (BRD_Q == 5) { - if (SkillPoint != 0) { - cutin "job_bard_aiolo01",2; - changequest 3003,3004; - 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 don't forget the trunks."; - mes "It doesn't matter what kind, as long as they are 60 of the same sort..."; - close2; - cutin "",255; - end; - } - if (countitem(1019) > 59) { - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Bard; - } else { - jobchange Job_Bard; - } - 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"; - next; - delitem 1019,60; //Wooden_Block - getitem 1901,1; //Violin - completequest 3004; - 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 "",255; - end; - } - if (countitem(1068) > 59) { - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Bard; - } else { - jobchange Job_Bard; - } - 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"; - next; - delitem 1068,60; //Tree_Of_Archer_3 - getitem 1903,1; //Mandolin - completequest 3004; - 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 "",255; - end; - } - if (countitem(1067) > 59) { - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Bard; - } else { - jobchange Job_Bard; - } - 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"; - next; - delitem 1067,60; //Tree_Of_Archer_2 - getitem 1903,1; //Mandolin - 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 "",255; - end; - } - if (countitem(1066) > 59) { - if (JobLevel > 49) { - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Bard; - } else { - jobchange Job_Bard; + 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; } - 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"; - next; - delitem 1066,60; //Tree_Of_Archer_1 - getitem 1910,1; //Harp_ - completequest 3004; - 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 "",255; - } - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Bard; - } else { - jobchange Job_Bard; } - 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"; - next; - delitem 1066,60; //Tree_Of_Archer_1 - getitem 1905,1; //Lute - completequest 3004; - 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 "",255; - end; } - cutin "job_bard_aiolo01",2; + changequest 3003,3004; mes "[Lalo]"; - mes "Mmm? Seems like you haven't prepared all trunks the yet? "; - mes "Do you want to just change jobs anyways?"; + 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; - switch (select("Yes, just change my job already.:No, I'll go prepare them.")) { - case 1: - if (SkillPoint != 0) { - cutin "job_bard_aiolo01",2; - changequest 3003,3004; - mes "[Lalo]"; - mes "Ah... it's all good, but you still have some skill points left."; - mes "Let me know when you've used them all."; - next; - mes "[Lalo]"; - mes "Oh, and also I have a souvenir for you, too... "; - mes "So bring back some trunks."; - mes "Doesn't matter what kind, just 60 of the same sort..."; - close2; - cutin "",255; - end; - } - set BRD_Q,0; - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Bard; - } else { - jobchange Job_Bard; - } - completequest 3004; - mes "[Lalo]"; - mes "Wonderful! Sing happy enjoyable songs."; - mes "Live like the winds and clouds!"; - next; - mes "[Lalo]"; - mes "See you again next time!"; - close2; - cutin "",255; - end; - case 2: - cutin "job_bard_aiolo01",2; - mes "[Lalo]"; - mes "Hmm... ok, bring some ^3355FFtrunks^000000."; - mes "Doesn't matter what kind, as long as they are 60 of the same sort."; - next; - mes "[Lalo]"; - mes "I'll give you a present if you bring them."; - mes "Then see you soon."; - close2; - cutin "",255; - end; - } + 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 "",255; + cutin "job_bard_aiolo01",255; end; -} \ No newline at end of file + +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/re/jobs/2-2/crusader.txt b/npc/re/jobs/2-2/crusader.txt index 931b132b2..5f0cebf45 100644 --- a/npc/re/jobs/2-2/crusader.txt +++ b/npc/re/jobs/2-2/crusader.txt @@ -1,40 +1,60 @@ //===== rAthena Script ======================================= -// Crusader Job change Quest +//= Crusader Quest //===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= Made by: Black Dragon +//= Converted by: Shin //===== Current Version: ===================================== -//= 1.0 +//= 3.3 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Swordman -> Crusader. +//= [Aegis Conversion] +//= Job quest for Crusader classes //===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] -//============================================================ - +//= 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,{ - if (Upper == 1) { - mes "[Michael Halig]"; + 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 adviced to continue practicing yourself."; + mes "Be advised to continue practicing yourself."; close; - } - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Crusader || Class == Job_Crusader) { - mes "[Michael Halig]"; + } + 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; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Michael Halig]"; + else if(BaseJob == Job_Novice) { mes "We are Crusaders,"; mes "warriors preparing"; mes "to fight in the Holy War."; @@ -43,23 +63,34 @@ prt_castle,45,169,5 script Senior Crusader 752,{ mes "If you wish to join us, you must first learn the Swordsman discipline and train yourself thoroughly..."; close; } - mes "[Michael Halig]"; 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 attacking in droves in an attempt to take over the world once again."; + 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; - } - if (CRSDR_Q == 0) { + } + 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; - switch (select("I want to prepare for the Holy War!:Nothing in particular.")) { - case 1: + 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...?"; @@ -70,7 +101,7 @@ prt_castle,45,169,5 script Senior Crusader 752,{ 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 Swordsman that express exceptional faith, or those who were born as warriors"; + mes "We recruit Swordsmen that express exceptional faith, or those who were born as warriors"; mes "by Odin's will."; next; mes "[Michael Halig]"; @@ -83,9 +114,8 @@ prt_castle,45,169,5 script Senior Crusader 752,{ 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; - switch (select("Yes, I do.:I'd like to think about it.")) { - case 1: - if (JobLevel < 40) { + 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."; @@ -96,8 +126,8 @@ prt_castle,45,169,5 script Senior Crusader 752,{ 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 != 0) { + } + 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; @@ -111,7 +141,7 @@ prt_castle,45,169,5 script Senior Crusader 752,{ mes "" + strcharinfo(0) + "...?"; mes "Let's see..."; next; - if ((countitem(1004) > 0) && (countitem(1009) > 0)) { + 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."; @@ -119,9 +149,9 @@ prt_castle,45,169,5 script Senior Crusader 752,{ 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; //Patriotism_Marks - delitem 1009,1; //Sacred_Marks - set CRSDR_Q,4; + 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..."; @@ -134,188 +164,77 @@ prt_castle,45,169,5 script Senior Crusader 752,{ mes "Now..."; mes "This is my test for you. Bring me the following items and prove your determination to me."; next; - set .@cru_m1, rand(1,3); - if (.@cru_m1 == 1) { - set CRSDR_Q,1; + mes "[Michael Halig]"; + set .@cru_m1,rand(1,3); + if(.@cru_m1 == 1) { + set CRUS_Q, 1; setquest 3006; - mes "[Michael Halig]"; - mes "^3355FF10 Decayed Nail^000000,"; - mes "^3355FF10 Stinky Scale^000000,"; - mes "^3355FF10 Worn-out Prison Uniform^000000 and"; - mes "^3355FF10 Daenggie^000000."; + 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; - 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; } - if (.@cru_m1 == 2) { - set CRSDR_Q,2; + else if(.@cru_m1 == 2) { + set CRUS_Q, 2; setquest 3007; - mes "[Michael Halig]"; - mes "^3355FF10 Skel-Bone^000000,"; - mes "^3355FF10 Orc Claw^000000,"; - mes "^3355FF10 Manacles^000000 and"; - mes "^3355FF10 Short Daenggie^000000."; + 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; } - set CRSDR_Q,3; - setquest 3008; - mes "[Michael Halig]"; - mes "^3355FF10 Horrendous Mouth^000000,"; - mes "^3355FF10 Rotten Bandage^000000,"; - mes "^3355FF10 Lantern^000000 and"; - mes "^3355FF10 Jack o' Pumpkin^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; - case 2: - 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; - } - case 2: - mes "[Michael Halig]"; - if (Sex == 1) { - 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; - } - } - if (CRSDR_Q == 1) { - mes "[Michael Halig]"; - 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; - if ((countitem(1004) > 0) && (countitem(1009) > 0)) { - 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 "[Micheal 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; //Patriotism_Marks - delitem 1009,1; //Sacred_Marks - set CRSDR_Q,4; - changequest 3006,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; - } - if ((countitem(957) > 9) && (countitem(959) > 9) && (countitem(1099) > 9) && (countitem(901) > 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 957,10; //Decayed_Nail - delitem 959,10; //Rotten_Scale - delitem 1099,10; //Worn_Out_Prison_Uniform - delitem 901,10; //Danggie - set CRSDR_Q,4; - changequest 3006,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 "^3355FF10 Decayed Nail^000000,"; - mes "^3355FF10 Stinky Scale^000000,"; - mes "^3355FF10 Worn-out Prison Uniform^000000 and"; - mes "^3355FF10 Daenggie^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; - } - if (CRSDR_Q == 2) { - mes "[Michael Halig]"; - 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; - if ((countitem(1004) > 0) && (countitem(1009) > 0)) { 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."; + mes "Nobody knows when the Holy War will come. We must prepare in advance and cannot afford to slacken"; + mes "our training."; next; - mes "[Micheal 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; //Patriotism_Marks - delitem 1009,1; //Sacred_Marks - set CRSDR_Q,4; - changequest 3007,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; - } - if ((countitem(932) > 9) && (countitem(1043) > 9) && (countitem(1098) > 9) && (countitem(1094) > 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 932,10; //Skel_Bone - delitem 1043,10; //Nail_Of_Orc - delitem 1098,10; //Manacles - delitem 1094,10; //Short_Daenggie - set CRSDR_Q,4; - changequest 3007,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..."; + 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]"; - 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 "^3355FF10 Skel-Bone^000000,"; - mes "^3355FF10 Orc Claw^000000,"; - mes "^3355FF10 Manacles^000000 and"; - mes "^3355FF10 Short Daenggie^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."; + 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; } - if (CRSDR_Q == 3) { - mes "[Michael Halig]"; + 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; - if ((countitem(1004) > 0) && (countitem(1009) > 0)) { - 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 "[Micheal 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; //Patriotism_Marks - delitem 1009,1; //Sacred_Marks - set CRSDR_Q,4; - 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; + 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(958) > 9) && (countitem(930) > 9) && (countitem(1041) > 9) && (countitem(1062) > 9)) { + 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."; @@ -323,12 +242,20 @@ prt_castle,45,169,5 script Senior Crusader 752,{ 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 958,10; //Horrendous_Mouth - delitem 930,10; //Rotten_Bandage - delitem 1041,10; //Lantern - delitem 1062,10; //Pumpkin_Head - set CRSDR_Q,4; - changequest 3008,3009; + 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; @@ -337,94 +264,42 @@ prt_castle,45,169,5 script Senior Crusader 752,{ 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 "^3355FF10 Horrendous Mouth^000000,"; - mes "^3355FF10 Rotten Bandage^000000,"; - mes "^3355FF10 Lantern^000000 and"; - mes "^3355FF10 Jack o' Pumpkin^000000."; + 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; } - if (CRSDR_Q == 10) { - if (JobLevel < 40) { - set CRSDR_Q,0; - mes "[Michael Halig]"; - mes "Wait ... You can not sign up."; - mes "You must reach job level 40 before you can apply."; - next; - mes "[Michael Halig]"; - mes "Train as a Swordsman and wait for the call of Odin."; - mes "I know your feelings, but you can not join us now..."; - close; - } - if (SkillPoint != 0) { - mes "[Michael Halig]"; + 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; } - if (JobLevel == 50) { - mes "[Michael Halig]"; - 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; - completequest 3015; - set CRSDR_Q,0; - if(Class == Job_Baby_Swordman){ - jobchange Job_Baby_Crusader; - } else { - jobchange Job_Crusader; - } - 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 == 1) { - mes "...Brother."; - } - else { - mes "...Comrade."; - } - next; - getitem 504,12; //White_Potion - 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 "[Michael Halig]"; 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; - set CRSDR_Q,0; - if(Class == Job_Baby_Swordman){ - jobchange Job_Baby_Crusader; - } else { - jobchange Job_Crusader; - } + 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. Now you are one of us!"; - if (Sex == 1) { - mes "...Brother."; - } - else { - mes "...Comrade."; - } + mes "When the Holy War comes, we shall fight side by side against the forces of evil."; next; - getitem 504,6; //White_Potion + 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; @@ -432,7 +307,6 @@ prt_castle,45,169,5 script Senior Crusader 752,{ 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 "[Michael Halig]"; 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]"; @@ -440,15 +314,15 @@ prt_castle,45,169,5 script Senior Crusader 752,{ close; } +//===================== Suffering Man: 2nd Endurance Test =============================================== prt_castle,164,32,1 script Man in Anguish 733,{ - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Crusader || Class == Job_Crusader) { - mes "[Murnak Mijoul]"; + 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; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Murnak Mijoul]"; + else if(BaseJob == Job_Novice) { mes "A Novice...?"; mes "So green, and yet,"; mes "so much potential."; @@ -457,12 +331,10 @@ prt_castle,164,32,1 script Man in Anguish 733,{ 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 "[Murnak Mijoul]"; mes "Hm. You have no business in a place like this. Please leave, and do not interrupt my training."; close; } - if (CRSDR_Q == 0) { - mes "[Murnak Mijoul]"; + 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..."; @@ -471,49 +343,13 @@ prt_castle,164,32,1 script Man in Anguish 733,{ 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; } - if (CRSDR_Q == 1) { - mes "[Murnak Mijoul]"; - 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; - } - if (CRSDR_Q == 2) { - mes "[Murnak Mijoul]"; - 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; - } - if (CRSDR_Q == 3) { - mes "[Murnak Mijoul]"; - 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; - } - if (CRSDR_Q == 4) { - mes "[Murnak Mijoul]"; + else if(CRUS_Q == 4) { mes "What is it...?"; mes "Do you have business"; - if (Sex == 1) { - mes "with me, man of the sword?"; - } - else { - mes "with me, woman of the sword?"; - } + if (sex) mes "with me, man of the sword?"; + else mes "with me, woman of the sword?"; next; - switch (select("I'd like to take the Crusader test.:Nothing.")) { - case 1: + 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; @@ -523,7 +359,7 @@ prt_castle,164,32,1 script Man in Anguish 733,{ mes "Let me take"; mes "a look at your face."; next; - if (!isequipped(2608)) { + 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; @@ -542,7 +378,7 @@ prt_castle,164,32,1 script Man in Anguish 733,{ mes "But..."; mes "You must keep one thing in mind. Under no condition are you allowed to kill the monsters."; next; - set CRSDR_Q,5; + set CRUS_Q,5; changequest 3009,3010; mes "[Murnak Mijoul]"; mes "Well then..."; @@ -550,24 +386,21 @@ prt_castle,164,32,1 script Man in Anguish 733,{ close2; warp "job_cru",98,40; end; - case 2: - 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; } - } - if (CRSDR_Q == 5) { 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; - switch (select("Let me retake the test.:What kind of test was that?!")) { - case 1: + 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 (!isequipped(2608)) { + 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."; @@ -587,42 +420,38 @@ prt_castle,164,32,1 script Man in Anguish 733,{ 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 CRSDR_Q,5; + set CRUS_Q,5; mes "[Murnak Mijoul]"; mes "Well then..."; mes "Good luck."; close2; warp "job_cru",98,40; - end; - case 2: - 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; } - } - if (CRSDR_Q == 6) { 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; - changequest 3010,3011; 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 "[Murnak Mijoul]"; mes "Hmmm..."; mes "You still have tests to complete if you want to become a Crusader, don't you?"; close; } -prt_church,95,127,5 script Crusader 745,{ - if ((Class != Job_Baby_Swordmann) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Crusader || Class == Job_Crusader) { - mes "[Gabriel Valentine]"; +//===================== 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?"; @@ -631,8 +460,7 @@ prt_church,95,127,5 script Crusader 745,{ mes "You must not forget to train everyday, and prepare for the day the Holy War will come upon us."; close; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Gabriel Valentine]"; + else if(BaseJob == Job_Novice) { mes "Welcome, I am a Crusader."; mes "I am preparing for the"; mes "foretold Holy War"; @@ -643,9 +471,8 @@ prt_church,95,127,5 script Crusader 745,{ 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."; - close2; + close; } - mes "[Gabriel Valentine]"; mes "Welcome, we are Crusaders."; mes "We are preparing for the"; mes "foretold Holy War"; @@ -655,8 +482,7 @@ prt_church,95,127,5 script Crusader 745,{ mes "I hope you will train yourself in preparation for the future as well."; close; } - if (CRSDR_Q == 0) { - mes "[Gabriel Valentine]"; + else if(CRUS_Q == 0) { mes "Welcome. We are Crusaders."; mes "We are preparing for the"; mes "foretold Holy War"; @@ -666,940 +492,226 @@ prt_church,95,127,5 script Crusader 745,{ mes "If you would like to become a Crusader, please speak with our leader in the Prontera Central Palace."; close; } - if (CRSDR_Q == 6) { - mes "[Gabriel Valentine]"; - 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; - set .@cru_m, rand(1,3); - set @cru_t, 0; - mes "[Gabriel Valentine]"; - mes "I will give"; - mes "you 10 questions."; - mes "Answer them correctly."; - next; - if (.@cru_m == 1) { - mes "[Gabriel Valentine]"; - mes "1. Which attribute is the most effective in atttacking the Undead?"; - next; - switch (select("Neutral:Earth:Undead:Holy")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @cru_t, @cru_t + 10; - break; - } - 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; - switch (select("25 %:50 %:75 %:100 %")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "3. What item can you not get from an Evil Druid?"; - next; - switch (select("Monk Hat:Yggdrasil leaf:White Herb:Amulet ")) { - case 1: - set @cru_t, @cru_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "4. Which Undead monster"; - mes "has the highest HP?"; - next; - switch (select("Ghoul:Skeleton Prisoner:Wraith:Zombie Prisoner")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @cru_t, @cru_t + 10; - break; - } - mes "[Gabriel Valentine]"; - mes "5. Which of the following monsters is a different size than the others?"; - next; - switch (select("Wraith:Khalitzburg:Drake:Evil Druid")) { - case 1: - break; - case 2: - break; - case 3: - set @cru_t, @cru_t + 10; - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "6. Which card grants you tolerance to Undead property attacks?"; - next; - switch (select("Orc Skeleton Card:Orc Zombie Card:Ghoul Card:Skel Worker Card")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "7. What was the relationship between Munak and Bongun before they passed away?"; + 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; - switch (select("Big Brother and Little Sister:Childhood friends in the same village:Stepbrother and sister:Complete strangers")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } mes "[Gabriel Valentine]"; - mes "8. Which of the following monsters is not aggressive?"; + 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; - switch (select("Soldier Skeleton:Orc Skeleton:Skeleton:Skel Worker")) { - case 1: - break; - case 2: - break; - case 3: - set @cru_t, @cru_t + 10; - break; - case 4: - break; - } mes "[Gabriel Valentine]"; - mes "9. What is the name of the shield in which a Munak Card has been inserted?"; + 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; - switch (select("Atomic Shield:Amulet Shield:Hypnotic Shield:Homeroth Shield")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } mes "[Gabriel Valentine]"; - mes "10. Which of the following monsters does not drop Memento?"; + mes "I will give"; + mes "you 10 questions."; + mes "Answer them correctly."; next; - switch (select("Munak:Ghoul:Mummy:Soldier Skeleton")) { - case 1: - set @cru_t, @cru_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } } - if (.@cru_m == 2) { - mes "[Gabriel Valentine]"; - mes "1. Which of the following monsters is a different attribute than the others?"; - next; - switch (select("Karat:Wind Ghost:Isis:Wanderer")) { - case 1: - break; - case 2: - break; - case 3: - set @cru_t, @cru_t + 10; - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "2. Which sword is effective in attacking Demon monsters?"; - next; - switch (select("Decussate Tsurugi:Hollowed Tsurugi:Damned Tsurugi:Drowsy Tsurugi")) { - case 1: - set @cru_t, @cru_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "3. Which item is NOT dropped by Dokebi?"; - next; - switch (select("Rough Elunium:Golden Hammer:Sword Mace:Mighty Staff")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "4. Which Demon monster has the most HP?"; - next; - switch (select("Giearth:Magnolia:Dokebi:Marionette")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @cru_t, @cru_t + 10; - break; - } - mes "[Gabriel Valentine]"; - mes "5. Which Demon monster is a different size than the others?"; + 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; - switch (select("Ghostring:Whisper:Deviruchi:Baphomet Junior")) { - case 1: - set @cru_t, @cru_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } mes "[Gabriel Valentine]"; - mes "6. Which shield reduces damage inflicted by Demon monsters?"; + mes "Once again, I'm going"; + mes "to give you 10 questions"; + mes "Listen carefully, and"; + mes "choose the correct answer."; next; - switch (select("Satanic Shield:Shield from Hell:Amulet Shield:Excellent Shield")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "7. Which attribute is the most effective on the Wind Ghost?"; - next; - switch (select("Water:Earth:Fire:Wind")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "8. Which monster is different from the other Demon monsters?"; - next; - switch (select("Sohee:Isis:Dokebi:Whisper")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @cru_t, @cru_t + 10; - break; - } - mes "[Gabriel Valentine]"; - mes "9. What effect does the Marionette Card have?"; - next; - switch (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 %")) { - case 1: - break; - case 2: - break; - case 3: - set @cru_t, @cru_t + 10; - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "10. Which of the following is an effective way to react when encountering a demon monster?"; - next; - switch (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.")) { - case 1: - break; - case 2: - break; - case 3: - set @cru_t, @cru_t + 10; - break; - case 4: - break; - } } - else { - mes "[Gabriel Valentine]"; - mes "1. What level of 'Divine Protection' do you need to learn 'Demon Bane?'"; - next; - switch (select("Level 1:Level 2:Level 3:Level 4")) { - case 1: - break; - case 2: - break; - case 3: - set @cru_t, @cru_t + 10; - break; - case 4: - break; - } - 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; - switch (select("396:440:484:528")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "3. With Level 7 Divine Protection, by how much is your defense against the Undead increased?"; - next; - switch (select("21:22:23:24")) { - case 1: - set @cru_t, @cru_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "4. Which of the following spears can attack Nightmare, which is endowed with the Ghost attribute?"; - next; - switch (select("Lance:Bill Guisarme:Cresent scythe:Zephyrus")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @cru_t, @cru_t + 10; - break; - } - mes "[Gabriel Valentine]"; - mes "5. What level of 'Heal' do you need to learn 'Cure?'"; - next; - switch (select("Level 1:Level 2:Level 3:Level 4")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "6. What is the attack speed when Level 3 Cavalier Mastery is learned?"; - next; - switch (select("70 % of normal speed:80 % of normal speed:90 % of normal speed:100 % of normal speed")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "7. Which of the following is not correct of the Demon Bane skill?"; - next; - switch (select("Increase attack on Undead:Only Acolytes can learn the skill:When mastered, + 30 increase:Passive Skill")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } + set .@cru_m,rand(1,3); + if (.@cru_m == 1) { mes "[Gabriel Valentine]"; - mes "8. How much SP does Level 7 Heal use?"; + mes "1. Which attribute is the most effective in atttacking the Undead?"; next; - switch (select("30:31:33:35")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Neutral:Earth:Undead:Holy") == 4) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; - mes "9. What status cannot be"; - mes "cured with the Cure skill?"; + mes "2. If the monster is a Level 2 Undead, how much more damage does a Holy attack do compared to Fire?"; next; - switch (select("Curse:Silence:Chaos:Blind")) { - case 1: - set @cru_t, @cru_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + if (select("25 %:50 %:75 %:100 %") == 1) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; - mes "10. What best describes a Crusader?"; - next; - switch (select("One preparing for matrimony.:One preparing for the Holy War.:One preparing consummation.:One preparing potions.")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } - } - 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 CRSDR_Q,8; - changequest 3011,3013; - mes "Superb! Now, it's time for"; - mes "you to take the next test."; + 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 "Go to Prontera Castle"; - mes "and meet Bliant Piyord."; - mes "I will inform him that"; - mes "he will be testing you next."; - close; - } - if (@cru_t == 90) { - set CRSDR_Q,8; - changequest 3011,3013; - mes "Well done~ Now, it's time for"; - mes "you to take the next test."; + 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 "Go to Prontera Castle"; - mes "and meet Bliant Piyord."; - mes "I will inform him that"; - mes "he will be testing you next."; - close; - } - set CRSDR_Q,7; - 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; - } - if (CRSDR_Q == 7) { - mes "[Gabriel Valentine]"; - mes "Welcome back~"; - mes "Did you prepare"; - mes "well for this test?"; - mes "Let's try again,"; - mes "shall we...?"; - next; - set .@cru_m, rand(1,3); - set @cru_t, 0; - 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; - if (.@cru_m == 1) { - mes "[Gabriel Valentine]"; - mes "1. Which attribute is the most effective in atttacking the Undead?"; + mes "5. Which of the following monsters is a different size than the others?"; next; - switch (select("Neutral:Earth:Undead:Holy")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @cru_t, @cru_t + 10; - break; - } - 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; - switch (select("25%:50%:75%:100%")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Wraith:Khalitzburg:Drake:Evil Druid") == 3) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; - mes "3. What item can you not get from an Evil Druid?"; + mes "6. Which card grants you tolerance to Undead property attacks?"; next; - switch (select("Monk Hat:Yggdrasil leaf:White Herb:Amulet ")) { - case 1: - set @cru_t, @cru_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "4. Which Undead monster has the highest HP?"; - next; - switch (select("Ghoul:Skeleton Prisoner:Wraith:Zombie Prisoner")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @cru_t, @cru_t + 10; - break; - } - mes "[Gabriel Valentine]"; - mes "5. Which of the following is a different size?"; - next; - switch (select("Wraith:Khalitzburg:Drake:Evil Druid")) { - case 1: - break; - case 2: - break; - case 3: - set @cru_t, @cru_t + 10; - break; - case 4: - break; - } - mes "[Gabriel Valentine]"; - mes "6. Which card is immune to undead attacks?"; - next; - switch (select("Orc Skeleton Card:Orc Zombie Card:Ghoul Card:Skel Worker Card")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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 teh relationship between Munak and Bongun before they passed away?"; - next; - switch (select("Big Brother and Little Sister:Neighborhood Older Sister and Younger Brother:Stepbrother and sister:Did not know each other")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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 monster is a different type of undead monster?"; - next; - switch (select("Soldier Skeleton:Orc Skeleton:Skeleton:Skel Worker")) { - case 1: - break; - case 2: - break; - case 3: - set @cru_t, @cru_t + 10; - break; - case 4: - break; - } + 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 a shield with a Munak Card?"; - next; - switch (select("Atomic Shield:Amulet Shield:Hypnotic Shield:Homeroth Shield")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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 its article left at death?"; - next; - switch (select("Munak:Ghoul:Mummy:Soldier Skeleton")) { - case 1: - set @cru_t, @cru_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; } - if (.@cru_m == 2) { + else if (.@cru_m == 2) { mes "[Gabriel Valentine]"; - mes "1. Which of the following monsters has a different attribute?"; - next; - switch (select("Carat:Wind Ghost:Isis:Wanderer")) { - case 1: - break; - case 2: - break; - case 3: - set @cru_t, @cru_t + 10; - break; - case 4: - break; - } + 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; - switch (select("Decussate Tsurugi:Hollowed Tsurugi:Damned Tsurugi:Drowsy Tsurugi")) { - case 1: - set @cru_t, @cru_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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 does the Dokebi NOT drop?"; - next; - switch (select("Rough Elunium:Golden Hammer:Sword Mace:Mighty Staff")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Giearth:Magnolia:Dokebi:Marionette")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @cru_t, @cru_t + 10; - break; - } + 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?"; - next; - switch (select("Ghostring:Whisper:Deviruchi:Baphomet Junior")) { - case 1: - set @cru_t, @cru_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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 decreases attacks from demon monsters?"; - next; - switch (select("Satanic Shield:Shield from Hell:Amulet Shield:Excellent Shield")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Water:Earth:Fire:Wind")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Sohee:Isis:Dokebi:Whisper")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @cru_t, @cru_t + 10; - break; - } + 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; - switch (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%")) { - case 1: - break; - case 2: - break; - case 3: - set @cru_t, @cru_t + 10; - break; - case 4: - break; - } + 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; - switch (select("Yell out - Evil one go away!:Offer your soul and get a deal.:Put Holy Water on weapon and attack.:Put on a Deviruchi hat.")) { - case 1: - break; - case 2: - break; - case 3: - set @cru_t, @cru_t + 10; - break; - case 4: - break; - } + 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; - switch (select("Lv. 1:Lv. 2:Lv. 3:Lv. 4")) { - case 1: - break; - case 2: - break; - case 3: - set @cru_t, @cru_t + 10; - break; - case 4: - break; - } + 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 at level 55 (including the INT from equipment) how much HP does Lv. 5 Heal recover?"; - next; - switch (select("396:440:484:528")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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. When using Divine Protection Lv. 7, how much does your defense increase by against Undead?"; - next; - switch (select("21:22:23:24")) { - case 1: - set @cru_t, @cru_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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 the Nightmare with ghost attributes?"; - next; - switch (select("Lance:Bill Guisarme:Cresent scythe:Zephyrus")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @cru_t, @cru_t + 10; - break; - } + 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; - switch (select("Lv. 1:Lv. 2:Lv. 3:Lv. 4")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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 with Cavalier Mastery Lv.3?"; - next; - switch (select("70% of normal speed:80% of normal speed:90% of normal speed:100% of normal speed")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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 a correction description of Demon Bane?"; - next; - switch (select("Increase attack on Undead:Only Acolytes can learn the skill.:When mastered, +30 increase.:Passive Skill")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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 Heal Lv. 7 use?"; - next; - switch (select("30:31:33:35")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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. When can you cure with Cure?"; - next; - switch (select("Curse:Silence:Chaos:Blind")) { - case 1: - set @cru_t, @cru_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("One preparing a cookie.:One preparing for the Holy War.:One preparing to drink.:One preparing potions.")) { - case 1: - break; - case 2: - set @cru_t, @cru_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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~"; @@ -1607,11 +719,11 @@ prt_church,95,127,5 script Crusader 745,{ mes "look at your results."; next; mes "[Gabriel Valentine]"; - mes "" + strcharinfo(0) + "'s score"; - mes "is " + @cru_t + " points..."; - if (@cru_t == 100) { - set CRSDR_Q,8; - changequest 3012,3013; + 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; @@ -1622,9 +734,9 @@ prt_church,95,127,5 script Crusader 745,{ mes "he will be testing you next."; close; } - if (@cru_t == 90) { - set CRSDR_Q,8; - changequest 3012,3013; + 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; @@ -1635,9 +747,9 @@ prt_church,95,127,5 script Crusader 745,{ mes "he will be testing you next."; close; } - if (@cru_t == 80) { - set CRSDR_Q,8; - changequest 3012,3013; + 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; @@ -1646,33 +758,29 @@ prt_church,95,127,5 script Crusader 745,{ mes "I will inform him to prepare the next test."; close; } - set CRSDR_Q,7; - mes "Aww, what a pity. Come again after studying some more."; + 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 "I shall wait since there is a lot of preparation required."; - mes "Come back when you believe you are ready..."; - close; - } - if (CRSDR_Q == 8) { - mes "[Gabriel Valentine]"; - 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?"; + 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; - } - if (CRSDR_Q == 9) { - mes "[Gabriel Valentine]"; + } + 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; } - if (CRSDR_Q == 10) { - mes "[Gabriel Valentine]"; + 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 "[Gabriel Valentine]"; mes "Mmm...?"; mes "It seems that you're"; mes "an aspiring Crusader..."; @@ -1687,21 +795,20 @@ prt_church,95,127,5 script Crusader 745,{ close; } -prt_castle,35,151,5 script Patron Kinght 751,{ - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Crusader || Class == Job_Crusader) { - mes "[Bliant Piyord]"; - mes "Welcome."; +//===================== 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."; - close2; + close; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Bliant Piyord]"; - mes "Welcome."; + else if(BaseJob == Job_Novice) { mes "We are Crusaders,"; mes "warriors of holiness preparing for the great Holy War that is to come."; next; @@ -1716,8 +823,6 @@ prt_castle,35,151,5 script Patron Kinght 751,{ 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 "[Bliant Piyord]"; - mes "Welcome."; mes "We are Crusaders,"; mes "warriors of holiness preparing for the great Holy War that is to come."; next; @@ -1725,9 +830,7 @@ prt_castle,35,151,5 script Patron Kinght 751,{ 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; } - if (CRSDR_Q == 0) { - mes "[Bliant Piyord]"; - mes "Welcome."; + else if(CRUS_Q == 0) { mes "We are Crusaders,"; mes "warriors of holiness preparing for the great Holy War that is to come."; next; @@ -1746,102 +849,43 @@ prt_castle,35,151,5 script Patron Kinght 751,{ mes "be with you..."; close; } - if (CRSDR_Q == 8) { - mes "[Bliant Piyord]"; - mes "Welcome. "; - 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."; - next; - mes "[Bliant Piyord]"; - mes "Well then..."; - mes "Shall we"; - mes "begin right away?"; - mes "Or do you need time"; - mes "to prepare yourself?"; - next; - switch (select("I would like to begin.:Give me some time to prepare.")) { - case 1: - if (!isequipped(2608)) { - set CRSDR_Q,9; - changequest 3013,3014; - 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; - } - if (countitem(523) > 0) { + 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; - set CRSDR_Q,9; - 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; } - set CRSDR_Q,9; - changequest 3013,3014; - 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; - case 2: + 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 "Well then,"; - mes "take your time."; - mes "I shall be waiting."; - close; + mes "Would you like to begin now, or do you still need time to make preparations?"; } - } - if (CRSDR_Q == 9) { - mes "[Bliant Piyord]"; - mes "Welcome."; - 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; - switch (select("I would like to begin.:Give me some time to prepare.")) { - case 1: - if (!isequipped(2608)) { + 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; @@ -1851,49 +895,50 @@ prt_castle,35,151,5 script Patron Kinght 751,{ mes "have a Rosary."; close; } - if (countitem(523) > 0) { - 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; + else if(countitem(523) < 1) { mes "[Bliant Piyord]"; - mes "..............."; + 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 "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 "Get prepares and come back to here."; + mes "I will wait for you."; + close; } + delitem 523, 1; //Holy Water 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."; + 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 "Come back and take"; - mes "the test after you"; - mes "have prepared"; - mes "1 Holy Water."; - mes "I shall be"; - mes "waiting."; - close; - case 2: + mes "..............."; + next; mes "[Bliant Piyord]"; - mes "Well then,"; - mes "take your time."; - mes "I shall be waiting."; - close; + 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; } - } - if (CRSDR_Q == 10) { 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"; @@ -1908,8 +953,6 @@ prt_castle,35,151,5 script Patron Kinght 751,{ mes "coming Holy War."; close; } - mes "[Bliant Piyord]"; - mes "Welcome."; mes "Are you not one of the ones in the process of becoming a Crusader?"; next; mes "[Bliant Piyord]"; @@ -1925,247 +968,245 @@ prt_castle,35,151,5 script Patron Kinght 751,{ close; } -job_cru,1,1,1 script Summoner#1 107,{ - end; + +//=== Actual tests ======================================== +//=== Endurance Test ====================================== +job_cru,1,1,1 script Summoner#cr1 -1,{ OnTimer300000: - donpcevent "Summoner#1::OnReset"; + donpcevent "Summoner#cr1::OnReset"; end; OnTimer300500: - donpcevent "Summoner#1::OnDisable"; + donpcevent "Summoner#cr1::OnEnd"; end; OnTimer301000: - donpcevent "Summoner#1::OnEnable"; + donpcevent "Summoner#cr1::OnStart"; stopnpctimer; end; OnInit: - hideoffnpc "Summoner#1"; - monster "job_cru",94,45,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,55,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,65,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,75,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,85,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,95,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,45,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,55,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,65,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,75,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,85,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,95,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; + 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; -OnEnable: - hideoffnpc "Summoner#1"; - monster "job_cru",94,45,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,55,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,65,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,75,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,85,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,95,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,45,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,55,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,65,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,75,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,85,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,95,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; +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#1::OnMyMobDead"; + killmonster "job_cru","Summoner#cr1::OnDead"; end; -OnDisable: - hideonnpc "Summoner#1"; +OnEnd: + disablenpc "Summoner#cr1"; end; -OnMyMobDead: +OnDead: warp "prt_fild05",353,251; end; } -job_cru,1,2,1 script Summoner#2 107,1,1,{ - end; - +job_cru,1,2,1 script Summoner#cr2 -1,{ OnTimer345000: - donpcevent "Summoner#2::OnReset"; + donpcevent "Summoner#cr2::OnReset"; end; OnTimer345500: - donpcevent "Summoner#2::OnDisable"; + donpcevent "Summoner#cr2::OnEnd"; end; OnTimer346000: - donpcevent "Summoner#2::OnEnable"; + donpcevent "Summoner#cr2::OnStart"; stopnpctimer; end; OnInit: - hideoffnpc "Summoner#2"; - monster "job_cru",98,50,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",92,60,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",104,60,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",98,70,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",92,80,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",104,80,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",98,90,"Flora",1118,1,"Summoner#2::OnMyMobDead"; + 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; -OnEnable: - hideoffnpc "Summoner#2"; - monster "job_cru",98,50,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",92,60,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",104,60,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",98,70,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",92,80,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",104,80,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",98,90,"Flora",1118,1,"Summoner#2::OnMyMobDead"; +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#2::OnMyMobDead"; + killmonster "job_cru","Summoner#cr2::OnDead"; end; -OnDisable: - hideonnpc "Summoner#2"; +OnEnd: + disablenpc "Summoner#cr2"; end; -OnMyMobDead: +OnDead: warp "prt_fild05",353,251; end; } -job_cru,1,3,1 script Summoner#3 107,1,1,{ - end; - +job_cru,1,3,1 script Summoner#cr3 -1,{ OnTimer345000: - donpcevent "Summoner#3::OnReset"; + donpcevent "Summoner#cr3::OnReset"; end; OnTimer345500: - donpcevent "Summoner#3::OnDisable"; + donpcevent "Summoner#cr3::OnEnd"; end; OnTimer346000: - donpcevent "Summoner#3::OnEnable"; + donpcevent "Summoner#cr3::OnStart"; stopnpctimer; end; OnInit: - hideoffnpc "Summoner#3"; - monster "job_cru",92,50,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",104,50,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",98,60,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",92,70,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",104,70,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",98,80,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",92,90,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",104,90,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - initnpctimer; - end; - -OnEnable: - hideoffnpc "Summoner#3"; - monster "job_cru",90,50,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",105,50,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",98,60,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",90,70,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",105,70,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",98,80,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",90,90,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",105,90,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - initnpctimer; + 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#3::OnMyMobDead"; + killmonster "job_cru","Summoner#cr3::OnDead"; end; -OnDisable: - hideonnpc "Summoner#3"; +OnEnd: + disablenpc "Summoner#cr3"; end; -OnMyMobDead: +OnDead: warp "prt_fild05",353,251; end; } -job_cru,1,3,1 script Summoner#4 107,1,1,{ - end; - -OnTimer185000: - donpcevent "Summoner#4::OnReset"; +job_cru,1,4,1 script Summoner#cr4 -1,{ +OnTimer345000: + donpcevent "Summoner#cr4::OnReset"; end; -OnTimer185500: - donpcevent "Summoner#4::OnDisable"; +OnTimer345500: + donpcevent "Summoner#cr4::OnEnd"; end; -OnTimer186000: - donpcevent "Summoner#4::OnEnable"; +OnTimer346000: + donpcevent "Summoner#cr4::OnStart"; stopnpctimer; end; OnInit: - hideoffnpc "Summoner#4"; - monster "job_cru",98,50,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,55,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,60,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,65,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,70,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,75,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,80,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,85,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,90,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",90,34,"Mushroom",1182,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",105,34,"Mushroom",1182,1,"Summoner#4::OnMyMobDead"; + 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; -OnEnable: - hideoffnpc "Summoner#4"; - monster "job_cru",98,50,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,55,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,60,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,65,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,70,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,75,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,80,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,85,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,90,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",90,34,"Mushroom",1182,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",105,34,"Mushroom",1182,1,"Summoner#4::OnMyMobDead"; +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#4::OnMyMobDead"; + killmonster "job_cru","Summoner#cr4::OnDead"; end; -OnDisable: - hideonnpc "Summoner#4"; +OnEnd: + disablenpc "Summoner#cr4"; end; -OnMyMobDead: +OnDead: warp "prt_fild05",353,251; end; } -job_cru,98,105,0 script Summoner#5 45,4,3,{ +job_cru,98,105,4 script Summoner#cr5 45,3,3,{ OnTouch: - set CRSDR_Q,6; + set CRUS_Q,6; + changequest 3010,3011; warp "prt_castle",164,28; end; } -job_cru,24,187,4 script Patron Knight 751,{ +//=== Purification Test =================================== +job_cru,24,187,4 script Patron Knight#2 751,{ mes "[Bliant Piyord]"; mes "Welcome."; mes "You will take"; @@ -2182,29 +1223,27 @@ job_cru,24,187,4 script Patron Knight 751,{ close; } -job_cru,24,187,2 script Waiting Room#1 700,1,1,{ +job_cru,24,187,2 script Waiting Room#cr1 700,{ end; OnInit: - hideonnpc "Waiting Room#1"; -// setarenaeventsize 1 -// makewaitingroom "Waiting Room" 20 -// enablearena + disablenpc "Waiting Room#cr1"; + waitingroom "Waiting Room",20,"Waiting Room#cr1::OnStartArena",1; + enablewaitingroomevent; end; OnStartArena: -// warpwaitingpctoarena "job_cru" 168 17 - donpcevent "Monster Summon#0::OnEnable"; -// disablearena + warpwaitingpc "job_cru",168,21; + donpcevent "Monster Summon#cr0::OnStart"; + disablewaitingroomevent; end; -OnEnable: -// enablearena +OnStart: + enablewaitingroomevent; end; } -job_cru,168,17,0 script Zombie Guide 139,2,2,{ - +job_cru,168,17,0 script Zombie Guide -1,2,2,{ OnTouch: mes "[Bliant Piyord]"; mes "Go forth and defeat all"; @@ -2216,218 +1255,202 @@ OnTouch: mes "You will be given"; mes "4 minutes. Go forth"; mes "and do your best..."; - close2; - end; + close; } -job_cru,2,1,1 script Monster Summon#0 110,1,1,{ - end; - +job_cru,2,1,1 script Monster Summon#cr0 -1,{ OnInit: - hideonnpc "Monster Summon#0"; + disablenpc "Monster Summon#cr0"; end; -OnEnable: - hideoffnpc "Monster Summon#0"; - donpcevent "Monster Summon#1::OnEnable"; - donpcevent "Monster Summon#2::OnEnable"; - donpcevent "Monster Summon#3::OnEnable"; - donpcevent "Monster Summon#4::OnEnable"; - donpcevent "Monster Summon#6::OnEnable"; +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; -OnM1: - monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#0::OnMyMobDead"; - monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#0::OnMyMobDead"; - monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#0::OnMyMobDead"; - monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#0::OnMyMobDead"; - monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#0::OnMyMobDead"; - monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#0::OnMyMobDead"; +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; -OnM2: - monster "job_cru",168,80,"Soldier Skeleton",1028,1,"Monster Summon#0::OnMyMobDead"; - monster "job_cru",168,80,"Soldier Skeleton",1028,1,"Monster Summon#0::OnMyMobDead"; - monster "job_cru",168,80,"Soldier Skeleton",1028,1,"Monster Summon#0::OnMyMobDead"; +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; -OnM3: - monster "job_cru",168,115,"Mummy",1041,1,"Monster Summon#0::OnMyMobDead"; +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; -OnMyMobDead: - if (mobcount ("job_cru","Monster Summon#0::OnMyMobDead") < 1) { - set CRSDR_Q,10; +OnDead: + set .MyMonsterCount,.MyMonsterCount+1; + if (.MyMonsterCount >= 10) { + set CRUS_Q,10; changequest 3014,3015; } end; -OnDisable: - hideonnpc "Monster Summon#0"; +OnEnd: + disablenpc "Monster Summon#cr0"; end; OnReset: - killmonster "job_cru","Monster Summon#0::OnMyMobDead"; + killmonster "job_cru","Monster Summon#cr0::OnDead"; end; } -job_cru,168,45,0 script Monster Summon#1 139,15,1,{ - -OnTouch: - donpcevent "Monster Summon#0::OnM1"; - donpcevent "Monster Summon#1::OnDisable"; - end; - +job_cru,168,45,0 script Monster Summon#cr1 -1,15,1,{ OnInit: - hideonnpc "Monster Summon#1"; + disablenpc "Monster Summon#cr1"; end; -OnEnable: - hideoffnpc "Monster Summon#1"; +OnTouch: + donpcevent "Monster Summon#cr0::OnMonster1"; + donpcevent "Monster Summon#cr1::OnEnd"; end; -OnDisable: - hideonnpc "Monster Summon#1"; +OnStart: + enablenpc "Monster Summon#cr1"; end; -} - -job_cru,168,80,0 script Monster Summon#2 139,15,1,{ -OnTouch: - donpcevent "Monster Summon#0::OnM2"; - donpcevent "Monster Summon#2::OnDisable"; +OnEnd: + disablenpc "Monster Summon#cr1"; end; +} +job_cru,168,80,0 script Monster Summon#cr2 -1,15,1,{ OnInit: - hideonnpc "Monster Summon#2"; + disablenpc "Monster Summon#cr2"; end; -OnEnable: - hideoffnpc "Monster Summon#2"; +OnTouch: + donpcevent "Monster Summon#cr0::OnMonster2"; + donpcevent "Monster Summon#cr2::OnEnd"; end; -OnDisable: - hideonnpc "Monster Summon#2"; +OnStart: + enablenpc "Monster Summon#cr2"; end; -} -job_cru,168,115,0 script Monster Summon#3 139,15,1,{ - -OnTouch: - monster "job_cru",168,110,"Archer Skeleton",1016,1; - donpcevent "Monster Summon#0::OnM3"; - donpcevent "Monster Summon#3::OnDisable"; +OnEnd: + disablenpc "Monster Summon#cr2"; end; +} +job_cru,165,115,0 script Monster Summon#cr3 -1,15,1,{ OnInit: - hideonnpc "Monster Summon#3"; + disablenpc "Monster Summon#cr3"; end; -OnEnable: - hideoffnpc "Monster Summon#3"; +OnTouch: + donpcevent "Monster Summon#cr0::OnMonster3"; + donpcevent "Monster Summon#cr3::OnEnd"; end; -OnDisable: - hideonnpc "Monster Summon#3"; +OnStart: + enablenpc "Monster Summon#cr3"; end; -} - -job_cru,168,150,0 script Monster Summon#4 139,15,1,{ -OnTouch: - monster "job_cru",168,150,"Ghoul",1036,1; - donpcevent "Monster Summon#4::OnDisable"; +OnEnd: + disablenpc "Monster Summon#cr3"; end; +} +job_cru,168,150,0 script Monster Summon#cr4 -1,15,1,{ OnInit: - hideonnpc "Monster Summon#4"; - end; - -OnMyMobDead: - donpcevent "Monster Summon#5::OnEnable"; + disablenpc "Monster Summon#cr4"; end; -OnEnable: - hideoffnpc "Monster Summon#4"; +OnTouch: + monster "job_cru",168,150,strcharinfo(0),1036,1,"Monster Summon#cr4-a::OnDead"; + donpcevent "Monster Summon#cr4::OnEnd"; end; -OnReset: - killmonster "job_cru","Monster Summon#4::OnMyMobDead"; +OnDead: + donpcevent "Monster Summon#cr5::OnStart"; end; -OnDisable: - hideonnpc "Monster Summon#4"; +OnStart: + enablenpc "Monster Summon#cr4"; end; -} - -job_cru,168,180,0 script Monster Summon#5 45,4,3,{ -OnTouch: - warp "prt_castle",35,147; - donpcevent "Monster Summon#0::OnReset"; - donpcevent "Monster Summon#0::OnDisable"; - donpcevent "Monster Summon#6::OnStop"; - donpcevent "Monster Summon#6::OnDisable"; - donpcevent "Monster Summon#5::OnDisable"; - donpcevent "Waiting Room#1::OnEnable"; +OnReset: + killmonster "job_cru","Monster Summon#cr4-a::OnDead"; end; -OnInit: - hideonnpc "Monster Summon#5"; +OnEnd: + disablenpc "Monster Summon#cr4"; end; -OnEnable: - hideoffnpc "Monster Summon#5"; - end; +} -OnDisable: - hideonnpc "Monster Summon#5"; +job_cru,168,150,0 script Monster Summon#cr4-a -1,{ +OnDead: + donpcevent "Monster Summon#cr5::OnStart"; end; } -job_cru,2,2,1 script Monster Summon#6 110,1,1,{ +job_cru,168,180,4 script Monster Summon#cr5 45,3,3,{ +OnInit: + disablenpc "Monster Summon#cr5"; end; -OnTimer60000: - donpcevent "Monster Summon#8::OnEnable"; +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; -OnTimer61000: - donpcevent "Monster Summon#8::OnDisable"; +OnStart: + enablenpc "Monster Summon#cr5"; end; -OnTimer240000: - donpcevent "Monster Summon#7::OnEnable"; +OnEnd: + disablenpc "Monster Summon#cr5"; end; +} +job_cru,2,2,1 script Monster Summon#cr6 -1,{ OnTimer241000: - donpcevent "Monster Summon#0::OnReset"; - donpcevent "Monster Summon#4::OnReset"; - end; - -OnTimer242000: - donpcevent "Monster Summon#0::OnDisable"; - donpcevent "Monster Summon#4::OnDisable"; - donpcevent "Monster Summon#7::OnDisable"; - end; - -OnTimer243000: - donpcevent "Monster Summon#6::OnDisable"; - donpcevent "Waiting Room#1::OnEnable"; - stopnpctimer; + 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: - hideonnpc "Monster Summon#6"; + disablenpc "Monster Summon#cr6"; end; -OnEnable: - hideoffnpc "Monster Summon#6"; +OnStart: + enablenpc "Monster Summon#cr6"; initnpctimer; end; -OnDisable: - hideonnpc "Monster Summon#6"; +OnEnd: + disablenpc "Monster Summon#cr6"; end; OnStop: @@ -2435,40 +1458,28 @@ OnStop: end; } -job_cru,168,110,0 script Monster Summon#7 139,14,82,{ - -OnTouch: - warp "prontera",234,318; - end; - -OnInit: - hideonnpc "Monster Summon#7"; - end; - -OnEnable: - hideoffnpc "Monster Summon#7"; - end; - -OnDisable: - hideonnpc "Monster Summon#7"; - end; -} - -job_cru,168,17,0 script Monster Summon#8 139,14,5,{ - -OnTouch: - warp "prontera",234,318; - end; - -OnInit: - hideonnpc "Monster Summon#8"; - end; - -OnEnable: - hideoffnpc "Monster Summon#8"; - end; +//============================================================ +// mapflag +//============================================================ -OnDisable: - hideonnpc "Monster Summon#8"; - end; -} \ No newline at end of file +//============================================================ +// 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/re/jobs/2-2/dancer.txt b/npc/re/jobs/2-2/dancer.txt index 48bc44e65..db81f1a17 100644 --- a/npc/re/jobs/2-2/dancer.txt +++ b/npc/re/jobs/2-2/dancer.txt @@ -1,18 +1,26 @@ //===== rAthena Script ======================================= -// Dancer Job change Quest -//===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= Dancer Job Quest +//===== By: ================================================== +//= Kalen - Original jAthena +//= Fredzilla - Converted, Lupus //===== Current Version: ===================================== -//= 1.0 +//= 3.7 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Archer[F] -> Dancer. +//= [Aegis Conversion] +//= Job quest for Dancer classes //===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] -//============================================================ +//= 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]"; @@ -51,25 +59,23 @@ comodo,193,151,4 script Bor Robin#1 86,{ mes "to go, too?"; mes "It's a good opportunity to watch the Dancer job change test."; next; - switch (select("Go to the Job Change Area:Cancel")) { - case 1: + 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; - case 2: - mes "[Bor Robin]"; - mes "Huh..."; - mes "Well, I can't"; - mes "help it if you don't"; - mes "want to accompany me."; - close; } + 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 724,{ +job_duncer,43,93,4 script Aile#da 724,{ if (Upper == 1) { mes "[Aile]"; mes "One two three four,"; @@ -92,8 +98,8 @@ job_duncer,43,93,4 script Aile 724,{ cutin "",255; end; } - if ((Class != Job_Baby_Archer) && (Class != Job_Archer) && (Sex == 1)) { - if (Class == Job_Bard) { + if (BaseJob != Job_Archer) { + if (BaseJob == Job_Bard) { cutin "job_dancer_eir01",2; mes "[Aile]"; mes "Welcome~!"; @@ -103,8 +109,8 @@ job_duncer,43,93,4 script Aile 724,{ cutin "",255; end; } - if (Class == Job_Baby_Dancer || Class == Job_Dancer) { - cutin "job_dancer_eir01",2; + else if (BaseJob == Job_Dancer) { + cutin "",2; mes "[Aile]"; mes "Welcome~!"; mes "How are you"; @@ -126,7 +132,7 @@ job_duncer,43,93,4 script Aile 724,{ cutin "",255; end; } - if ((DNCR_Q == 0) && (Sex == 0) && (Class == Job_Archer)) { + if (DANC_Q == 0 && sex == 0 && BaseJob == Job_Archer) { cutin "job_dancer_eir01",2; mes "[Aile]"; mes "Welcome~!"; @@ -150,8 +156,7 @@ job_duncer,43,93,4 script Aile 724,{ mes "So what do"; mes "you want to do~?"; next; - switch (select("Fill out the application.:I'll pass.")) { - case 1: + if (select("Fill out the application.:I'll pass.") == 1) { if (JobLevel > 39) { cutin "job_dancer_eir02",2; mes "[Aile]"; @@ -163,7 +168,7 @@ job_duncer,43,93,4 script Aile 724,{ mes "..."; mes "......"; next; - mes "^3355FF * Shuffle Shuffle * ^000000"; + mes "^3355FF*Shuffle Shuffle*^000000"; next; cutin "job_dancer_eir01",2; mes "[Aile]"; @@ -172,37 +177,38 @@ job_duncer,43,93,4 script Aile 724,{ 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 DNCR_Q,1; + set DANC_Q,1; setquest 7000; end; } - 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; - case 2: - 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 { + 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; } - if (Sex == 1) { + else if (sex == 1) { cutin "job_dancer_eir03",2; mes "[Aile]"; mes "Welco--Mmm?"; @@ -216,7 +222,7 @@ job_duncer,43,93,4 script Aile 724,{ cutin "",255; end; } - if (DNCR_Q == 1) { + else if (DANC_Q == 1) { cutin "job_dancer_eir01",2; mes "[Aile]"; mes "Good."; @@ -225,9 +231,9 @@ job_duncer,43,93,4 script Aile 724,{ 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 DNCR_Q,2; + 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."; @@ -243,8 +249,8 @@ job_duncer,43,93,4 script Aile 724,{ mes "^CD68895 Red Potions^000000 and"; mes "^CD68891 Shoes^000000."; } - if (.@item_nd == 4) { - set DNCR_Q,3; + 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."; @@ -256,7 +262,7 @@ job_duncer,43,93,4 script Aile 724,{ mes "^CD68891 Boots^000000."; } else { - set DNCR_Q,4; + 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."; @@ -279,49 +285,28 @@ job_duncer,43,93,4 script Aile 724,{ cutin "",255; end; } - if (DNCR_Q == 2) { - if ((Zeny > 9999) && (countitem(938) > 19) && (countitem(909) > 2) && (countitem(501) > 4) && (countitem(2403) > 0)) { - 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 DNCR_Q,5; - changequest 7001,7004; - 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; } - 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,"; - mes "^CD688920 Sticky Mucus^000000,"; - mes "^CD68893 Jellopy^000000,"; - mes "^CD68895 Red Potions^000000 and"; - mes "^CD68891 Shoes^000000."; - close2; - cutin "",255; - end; - } - if (DNCR_Q == 3) { - if ((Zeny > 9999) && (countitem(1055) > 4) && (countitem(2405) > 0)) { + 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...!"; @@ -332,77 +317,59 @@ job_duncer,43,93,4 script Aile 724,{ mes "tuition fee."; next; cutin "job_dancer_eir01",2; - set Zeny, Zeny - 10000; + 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 DNCR_Q,5; - changequest 7002,7004; + 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; } - 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,"; - mes "^CD68895 Earthworm Peelings^000000 and "; - mes "^CD68891 Boots^000000."; - close; - cutin "",255; - end; - } - if (DNCR_Q == 4) { - if ((Zeny > 9999) && (countitem(965) > 1) && (countitem(503) > 4) && (countitem(909) > 19) && (countitem(1020) > 9) && (countitem(2401) > 0)) { - cutin "job_dancer_eir02",2; + else { + cutin "job_dancer_eir01",2; mes "[Aile]"; - mes "Oh...!"; - mes "You brought"; - mes "everything!"; - mes "Alright then,"; - mes "let me take your"; - mes "tuition fee."; + 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; - cutin "job_dancer_eir01",2; - set Zeny, Zeny - 10000; mes "[Aile]"; - mes "Next, go to ^CD6889'Bijou'^000000"; - mes "who is in charge of the interviews."; - mes "She has a couple of things to ask you."; - set DNCR_Q,5; - changequest 7003,7004; + 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; } - 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 "^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."; - close2; - cutin "",255; - end; } - if (DNCR_Q == 5) { + else if (DANC_Q == 5) { cutin "job_dancer_eir01",2; mes "[Aile]"; mes "Hmm...?"; @@ -416,7 +383,7 @@ job_duncer,43,93,4 script Aile 724,{ cutin "",255; end; } - if (DNCR_Q > 5) { + else if (DANC_Q > 5) { cutin "job_dancer_eir01",2; mes "[Aile]"; mes "I'll be looking"; @@ -426,22 +393,24 @@ job_duncer,43,93,4 script Aile 724,{ cutin "",255; end; } - 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; + 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 101,{ - if (SkillPoint != 0) { +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"; @@ -449,14 +418,14 @@ job_duncer,95,93,4 script Bijou 101,{ mes "and come back later."; close; } - if ((Class != Job_Baby_Archer) && (Class != Job_Archer)) { - if (Class == Job_Baby_Bard || Class == Job_Bard) { + 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; } - if (Class == Job_Baby_Dancer || Class == Job_Dancer) { + else if (BaseJob == Job_Dancer) { mes "[Bijou]"; mes "Oh my...!"; mes "Welcome back~"; @@ -478,7 +447,7 @@ job_duncer,95,93,4 script Bijou 101,{ 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; } - if (DNCR_Q < 5) { + else if (DANC_Q < 5) { mes "[Bijou]"; mes "Oh my~"; mes "You want to"; @@ -489,8 +458,8 @@ job_duncer,95,93,4 script Bijou 101,{ 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; } - if ((DNCR_Q > 4) && (DNCR_Q < 7)) { - if (DNCR_Q == 5) { + else if (DANC_Q > 4 && DANC_Q < 7) { + if (DANC_Q == 5) { mes "[Bijou]"; mes "Oh my~"; mes "You want to"; @@ -529,97 +498,49 @@ job_duncer,95,93,4 script Bijou 101,{ mes "pass this time, okay?"; next; } - set .@dancer_q, rand(1,3); - set @da_score,0; - if (.@dancer_q == 1) { + switch(rand(1,3)) { + case 1: mes "[Bijou]"; mes "1. The Dancer's dance, ^CD6889Lady Luck^000000,"; mes "increases which of the following?"; next; - switch (select("Intelligence (INT):Dexterity (DEX):Vitality (VIT):Critical Attack Rate")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @da_score,@da_score + 10; - break; - } + 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")) { - case 1: - set @da_score,@da_score - 10; - break; - case 2: - set @da_score,@da_score - 10; - break; - case 3: - set @da_score,@da_score - 10; - break; - case 4: - set @da_score,@da_score - 10; + 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; + set .@da_score,.@da_score+10; break; } mes "[Bijou]"; mes "3. Which of the following"; mes "best describes a Dancer?"; next; - switch (select("Person who yells.:A loud person.:A person who dances.:A person who sings.")) { - case 1: - break; - case 2: - break; - case 3: - set @da_score,@da_score + 10; - break; - case 4: - break; - } + 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; - switch (select("Beach city.:Dancer Job Change.:Always dark like the night.:Dungeons in 3 directions.:A lot of Thieves.")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - break; - case 5: - set @da_score,@da_score + 10; - break; - } + 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; - switch (select("Elmeth Plateau:Comuko Beach:Comodo Beach:Ginai Swamp")) { - case 1: - break; - case 2: - break; - case 3: - set @da_score,@da_score + 10; - break; - case 4: - break; - } + 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("")) { + switch(select("" + strcharinfo(0) + ":Bijou:Aile:Bonjour")) { case 1: mes "[Bijou]"; mes "..."; @@ -628,15 +549,13 @@ job_duncer,95,93,4 script Bijou 101,{ mes "Didn't you see the"; mes "other choices?!"; mes "Minus points...!"; - set @da_score,@da_score - 100; + set .@da_score,.@da_score-10; next; break; case 2: - set @da_score,@da_score + 10; - break; - case 3: + set .@da_score,.@da_score+10; break; - case 4: + default: break; } mes "[Bijou]"; @@ -644,97 +563,43 @@ job_duncer,95,93,4 script Bijou 101,{ mes "who can perform together"; mes "with a Dancer?"; next; - switch (select("Assassin:Bard:Alchemist:Sage")) { - case 1: - break; - case 2: - set @da_score,@da_score + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Berserk Potion:Clam Shell:Crab Shell:Shining Stone")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @da_score,@da_score + 10; - break; - } + 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; - switch (select("Yoo:Moo:Hoon:Roul")) { - case 1: - break; - case 2: - set @da_score,@da_score + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Bijou:Aile:Athena:Sonotora")) { - case 1: - break; - case 2: - set @da_score,@da_score + 10; - break; - case 3: - break; - case 4: - break; - } - } - if (.@dancer_q == 2) { + 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; - switch (select("Instant monster death.:Doubles damage.:Increases experience.:Increases attack speed.")) { - case 1: - break; - case 2: - break; - case 3: - set @da_score,@da_score + 10; - break; - case 4: - break; - } + 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; - switch (select("Thank your partner.:Praise your partner's dance.:Ask to dance a different dance.:Criticize your partner.")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @da_score,@da_score + 10; - break; - } + 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"; @@ -742,69 +607,33 @@ job_duncer,95,93,4 script Bijou 101,{ mes "a mistake while you"; mes "are dancing together?"; next; - switch (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.")) { - case 1: - break; - case 2: - set @da_score,@da_score + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Cocomo:Sandarman:Comudo:Comodo")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @da_score,@da_score + 10; - break; - } + 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; - switch (select("1:2:3:4")) { - case 1: - break; - case 2: - break; - case 3: - set @da_score,@da_score + 10; - break; - case 4: - break; - } + 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; - switch (select("Isis:Argiope:Dokebi:Deviruchi")) { - case 1: - break; - case 2: - set @da_score,@da_score + 10; - break; - case 3: - break; - case 4: - break; - } + 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("")) { + switch(select("" + strcharinfo(0) + ":Bijou:Isis:Mercy Bokou")) { case 1: mes "[Bijou]"; mes "..."; @@ -813,15 +642,13 @@ job_duncer,95,93,4 script Bijou 101,{ mes "Didn't you see the"; mes "other choices?!"; mes "Minus points...!"; - set @da_score,@da_score - 100; + set .@da_score,.@da_score-10; next; break; case 2: - set @da_score,@da_score + 10; - break; - case 3: + set .@da_score,.@da_score+10; break; - case 4: + default: break; } mes "[Bijou]"; @@ -829,62 +656,31 @@ job_duncer,95,93,4 script Bijou 101,{ mes "exact name of the"; mes "Kafra in Comodo?"; next; - switch (select("Kafra Headquarters:Kafra West Headquarters:Kafra Service:Kafra Headquarters_ Western Branch")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @da_score,@da_score + 10; - break; - } + 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; - switch (select("Borjuis:Bourgeois:Bijou:Beruberu")) { - case 1: - break; - case 2: - break; - case 3: - set @da_score,@da_score + 10; - break; - case 4: - break; - } + 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; - switch (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.")) { - case 1: - break; - case 2: - set @da_score,@da_score + 10; - break; - case 3: - break; - case 4: - break; - } - } - else { + 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.")) { - case 1: + 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: - set @da_score,@da_score + 10; - break; case 3: - set @da_score,@da_score + 10; - break; - case 4: + set .@da_score,.@da_score+10; break; } mes "[Bijou]"; @@ -894,52 +690,25 @@ job_duncer,95,93,4 script Bijou 101,{ mes "their feet and taps the"; mes "ground to create a rhythm?"; next; - switch (select("Tap Dance:Improve Concentration:Tango:Double Strafing")) { - case 1: - set @da_score,@da_score + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Uses Dance skills. :Attacks from a distance.:Uses Whips.:Uses Two-handed swords.")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @da_score,@da_score + 10; - break; - } + 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; - switch (select("Al De Baran:Juno:Morroc:Comodo")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @da_score,@da_score + 10; - break; - } + 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("")) { + switch(select("" + strcharinfo(0) + ":Bijou:Isis:Guton Tak")) { case 1: mes "[Bijou]"; mes "..."; @@ -948,15 +717,13 @@ job_duncer,95,93,4 script Bijou 101,{ mes "Didn't you see the"; mes "other choices?!"; mes "Minus points...!"; - set @da_score,@da_score - 100; + set .@da_score,.@da_score-10; next; break; case 2: - set @da_score,@da_score + 10; + set .@da_score,.@da_score+10; break; - case 3: - break; - case 4: + default: break; } mes "[Bijou]"; @@ -964,77 +731,33 @@ job_duncer,95,93,4 script Bijou 101,{ mes "better at than the other"; mes "job classes?"; next; - switch (select("Health:Acting :Dancing :Magic ")) { - case 1: - break; - case 2: - break; - case 3: - set @da_score,@da_score + 10; - break; - case 4: - break; - } + 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; - switch (select("Ryu:Moo:Roul:Hoon")) { - case 1: - break; - case 2: - set @da_score,@da_score + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Kitty Band :Two-handed Sword:Sandals:Earring")) { - case 1: - break; - case 2: - set @da_score,@da_score + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Yes:No")) { - case 1: - set @da_score,@da_score + 10; - break; - case 2: - set @da_score,@da_score + 10; - break; - } + select("Yes:No"); + set .@da_score,.@da_score+10; mes "[Bijou]"; mes "10. Which of the following"; mes "is not a Jazz musician?"; next; - switch (select("Art Blakey:Billie Holiday :Louis Armstrong :Bud Powell :Elder Willow ")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - break; - case 5: - set @da_score,@da_score + 10; - break; - } + if (select("Art Blakey:Billie Holiday :Louis Armstrong :Bud Powell :Elder Willow ") == 5) + set .@da_score,.@da_score+10; } mes "[Bijou]"; mes "Good job~"; @@ -1045,9 +768,9 @@ job_duncer,95,93,4 script Bijou 101,{ mes "[Bijou]"; mes "Let's see..."; mes "Your score is"; - mes "" + @da_score + " points..."; - if (@da_score == 100) { - set DNCR_Q,7; + mes "" + .@da_score + " points..."; + if (.@da_score == 100) { + set DANC_Q,7; mes "Very well done!"; mes "A perfect score!"; next; @@ -1059,21 +782,22 @@ job_duncer,95,93,4 script Bijou 101,{ mes "Now you only have the Dance Test. While we prepare the test, why don't you rest a bit? Ho ho ho~"; close; } - if (@da_score > 70) { - set DNCR_Q,7; + else if (.@da_score > 70) { + set DANC_Q,7; mes "It wasn't perfect, but I'll let you pass."; close; } - set DNCR_Q,6; - mes "That's enough to pass!"; - mes "You.. You failed!"; - next; - mes "[Bijou]"; - mes "Was it too hard?"; - mes "When I was young, everyone knew at least enough to pass thet test. Go and study some more before coming back, okay?"; - 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; + } } - if (DNCR_Q == 7) { + else if (DANC_Q == 7) { mes "[Bijou]"; mes "Okay..."; mes "Are you ready"; @@ -1081,8 +805,7 @@ job_duncer,95,93,4 script Bijou 101,{ mes "If you like, I can"; mes "explain the instructions."; next; - switch (select("Listen to instructions.:Go to the testing area.")) { - case 1: + 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; @@ -1104,18 +827,17 @@ job_duncer,95,93,4 script Bijou 101,{ 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; - case 2: - mes "[Bijou]"; - mes "Well then~"; - mes "Good luck...!!"; - set DNCR_Q,8; - changequest 7004,7005; - close2; - warp "job_duncer",105,109; - end; } + mes "[Bijou]"; + mes "Well then~"; + mes "Good luck...!!"; + changequest 7004,7005; + set DANC_Q,8; + close2; + warp "job_duncer",105,109; + end; } - if (DNCR_Q == 8) { + else if (DANC_Q == 8) { mes "[Bijou]"; mes "Oh my..."; mes "Did you"; @@ -1126,8 +848,8 @@ job_duncer,95,93,4 script Bijou 101,{ warp "job_duncer",105,109; end; } - if (DNCR_Q == 9) { - if (SkillPoint != 0) { + else if (DANC_Q == 9) { + if (SkillPoint) { mes "[Bijou]"; mes "You can't change jobs"; mes "if you still have skill"; @@ -1147,19 +869,11 @@ job_duncer,95,93,4 script Bijou 101,{ 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; - if (JobLevel == 50) { - set .@dancer_joblevel,2; - } - else { - set .@dancer_joblevel,1; - } + set .@jlevel,JobLevel; mes "[Bijou]"; - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Dancer; - } else { - jobchange Job_Dancer; - } completequest 7006; + callfunc "Job_Change",Job_Dancer; + callfunc "F_ClearJobVar"; mes "Ooh...!"; mes "You look great"; mes "as a Dancer~"; @@ -1170,38 +884,36 @@ job_duncer,95,93,4 script Bijou 101,{ mes "gift from me."; mes "Please take it."; mes "May your performances always bring joy to your audience~"; - if (.@dancer_joblevel == 2) { + if (.@jlevel == 50) getitem 1953,1; //Line_ - } - else { + else getitem 1950,1; //Rope - } close; } -} +} +// Waiting Room +//============================================================ job_duncer,32,154,1 script Waiting Room#dance 66,{ - end; - OnInit: -// makewaitingroom "Waiting Room" 20 -// enablearena + waitingroom "Waiting Room",20,"Waiting Room#dance::OnStartArena",1; + enablewaitingroomevent; end; OnStartArena: - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; donpcevent "dance#return::OnDisable"; -// warpwaitingpctoarena "job_duncer" 69 110 + warpwaitingpc "job_duncer",69,110,1; donpcevent "Bijou#dance_timer::OnEnable"; -// disablearena + disablewaitingroomevent; end; -OnReset: -// enablearena +OnEnable: + enablewaitingroomevent; end; } @@ -1217,21 +929,17 @@ job_duncer,32,154,1 script Waiting Room#click 66,{ mes "are curious about"; mes "the test can watch"; mes "backstage."; - close2; - playBGM "Oops.wav"; - end; + close; } -job_duncer,69,105,0 script Bijou#dance_timer 139,{ - end; - +// Dance Timer +//============================================================ +job_duncer,69,105,0 script Bijou#dance_timer -1,{ OnEnable: - playBGM "dancer_jun01.wav"; initnpctimer; end; OnDisable: - playBGM "dancer_jun01.wav"; stopnpctimer; end; @@ -1244,83 +952,83 @@ OnTimer5000: end; OnTimer7000: - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnEnable"; + disablenpc "dance#up"; + enablenpc "dance#down"; + enablenpc "dance#left"; + enablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer8000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Down!",bc_map; end; OnTimer11000: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnEnable"; + enablenpc "dance#up"; + disablenpc "dance#down"; + enablenpc "dance#left"; + enablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer12000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Left~!",bc_map; end; OnTimer15000: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnEnable"; + enablenpc "dance#up"; + enablenpc "dance#down"; + disablenpc "dance#left"; + enablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer16000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + 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: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnEnable"; + enablenpc "dance#up"; + enablenpc "dance#down"; + enablenpc "dance#left"; + disablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer20000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + 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: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnDisable"; + enablenpc "dance#up"; + enablenpc "dance#down"; + enablenpc "dance#left"; + enablenpc "dance#right"; + disablenpc "dance#cen"; end; OnTimer23500: @@ -1339,29 +1047,29 @@ OnTimer28500: OnTimer30000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Left!",bc_map; end; OnTimer34000: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnEnable"; + enablenpc "dance#up"; + enablenpc "dance#down"; + disablenpc "dance#left"; + enablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer35000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Down!",bc_map; end; @@ -1370,317 +1078,233 @@ OnTimer38500: end; OnTimer40000: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnEnable"; - mapannounce "job_duncer","Hold it~",bc_map; + 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"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + 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: - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnEnable"; + disablenpc "dance#up"; + enablenpc "dance#down"; + enablenpc "dance#left"; + enablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer50000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Right!",bc_map; end; OnTimer53000: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnEnable"; + enablenpc "dance#up"; + enablenpc "dance#down"; + enablenpc "dance#left"; + disablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer54000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + 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: - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnEnable"; + disablenpc "dance#up"; + enablenpc "dance#down"; + enablenpc "dance#left"; + enablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer61000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + 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: - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnEnable"; + disablenpc "dance#up"; + enablenpc "dance#down"; + enablenpc "dance#left"; + enablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer67000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Down~!",bc_map; end; OnTimer69000: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnEnable"; + enablenpc "dance#up"; + disablenpc "dance#down"; + enablenpc "dance#left"; + enablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer70000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Left!",bc_map; end; OnTimer74000: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnEnable"; + enablenpc "dance#up"; + enablenpc "dance#down"; + disablenpc "dance#left"; + enablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer75000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Center!",bc_map; end; OnTimer80000: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnDisable"; + enablenpc "dance#up"; + enablenpc "dance#down"; + enablenpc "dance#left"; + enablenpc "dance#right"; + disablenpc "dance#cen"; end; OnTimer81000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + 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: - playBGM "dancer_jun01.wav"; donpcevent "dance#poring::OnEnable"; end; OnTimer89000: + donpcevent "dance#poring::OnDisable"; donpcevent "dance#return::OnEnable"; - donpcevent "dance#poring::OnReset"; - stopnpctimer; end; } -job_duncer,69,110,0 script dance#return 139,1,4,{ - +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 DNCR_Q,9; + set DANC_Q,9; changequest 7005,7006; warp "comodo",188,162; end; OnDisable: - hideonnpc "dance#return"; + disablenpc "dance#return"; donpcevent "dance#return#2::OnDisable"; donpcevent "dance#return#3::OnDisable"; end; OnEnable: - hideoffnpc "dance#return"; + enablenpc "dance#return"; donpcevent "dance#return#2::OnEnable"; end; } -job_duncer,66,110,0 script dance#return#2 139,1,1,{ - +job_duncer,66,110,0 script dance#return#2 -1,1,1,{ OnTouch: - set DNCR_Q,9; - changequest 7005,7006; + set DANC_Q,9; warp "comodo",188,162; end; OnDisable: - hideonnpc "dance#return#2"; + disablenpc "dance#return#2"; end; OnEnable: - hideoffnpc "dance#return#2"; + enablenpc "dance#return#2"; donpcevent "dance#return#3::OnEnable"; end; } -job_duncer,72,110,0 script dance#return#3 139,1,1,{ - +job_duncer,72,110,0 script dance#return#3 -1,1,1,{ OnTouch: - set DNCR_Q,9; - changequest 7005,7006; - warp "comodo",188,162; - end; - -OnDisable: - hideonnpc "dance#return#3"; - end; - -OnEnable: - hideoffnpc "dance#return#3"; - donpcevent "Waiting Room#dance::OnReset"; - end; -} - -job_duncer,69,113,0 script dance#up 139,1,1,{ - -OnTouch: - donpcevent "Backdancer#1::OnHuk"; - mapannounce "job_duncer"," " + strcharinfo(0) + ", you lack rhythm... Your timing was too late!",bc_map; - set DNCR_Q,8; - donpcevent "Waiting Room#dance::OnReset"; + set DANC_Q,9; warp "comodo",188,162; end; OnDisable: - hideonnpc "dance#up"; + disablenpc "dance#return#3"; end; OnEnable: - hideoffnpc "dance#up"; + enablenpc "dance#return#3"; + donpcevent "Bijou#dance_timer::OnDisable"; + donpcevent "Waiting Room#dance::OnEnable"; end; } -job_duncer,69,107,0 script dance#down 139,1,1,{ - -OnTouch: - donpcevent "Backdancer#1::OnHuk"; - mapannounce "job_duncer"," " + strcharinfo(0) + ", you lack rhythm... Your timing was too late!",bc_map; - set DNCR_Q,8; - donpcevent "Waiting Room#dance::OnReset"; - warp "comodo",188,162; - end; - -OnDisable: - hideonnpc "dance#down"; - end; - -OnEnable: - hideoffnpc "dance#down"; - end; -} - -job_duncer,66,110,0 script dance#left 139,1,1,{ - -OnTouch: - donpcevent "Backdancer#1::OnHuk"; - mapannounce "job_duncer"," " + strcharinfo(0) + ", you lack rhythm... Your timing was too late!",bc_map; - set DNCR_Q,8; - donpcevent "Waiting Room#dance::OnReset"; - warp "comodo",188,162; - end; - -OnDisable: - hideonnpc "dance#left"; - end; - -OnEnable: - hideoffnpc "dance#left"; - end; -} - -job_duncer,72,110,0 script dance#right 139,1,1,{ - -OnTouch: - donpcevent "Backdancer#1::OnHuk"; - mapannounce "job_duncer"," " + strcharinfo(0) + ", you lack rhythm... Your timing was too late!",bc_map; - set DNCR_Q,8; - donpcevent "Waiting Room#dance::OnReset"; - warp "comodo",188,162; - end; - -OnDisable: - hideonnpc "dance#right"; - end; - -OnEnable: - hideoffnpc "dance#right"; - end; -} - -job_duncer,69,110,0 script dance#cen 139,1,1,{ - +// Dance Move Triggers +//============================================================ +- script dancestep::StepTrigger -1,1,1,{ OnTouch: - donpcevent "Backdancer#1::OnHuk"; + donpcevent "Backdancer#1::OnOmg"; mapannounce "job_duncer"," " + strcharinfo(0) + ", you lack rhythm... Your timing was too late!",bc_map; - set DNCR_Q,8; - donpcevent "Waiting Room#dance::OnReset"; + set DANC_Q,8; + donpcevent "Bijou#dance_timer::OnDisable"; + donpcevent "Waiting Room#dance::OnEnable"; warp "comodo",188,162; end; - -OnDisable: - hideonnpc "dance#cen"; - end; - -OnEnable: - hideoffnpc "dance#cen"; - end; } -job_duncer,10,10,0 script dance#poring 139,{ - 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; @@ -1689,26 +1313,29 @@ OnMyMobDead: mapannounce "job_duncer"," Good! Well done! ",bc_map; end; -OnReset: - killmonster "job_duncer","dance#poring::OnMyMobDead"; +OnDisable: + killmonsterall "job_duncer"; end; + } -job_duncer,63,110,4 script Backdancer#1 724,{ +// Backup Dancers +//============================================================ +job_duncer,63,110,4 script Backdancer#1::BackDancer 724,{ end; OnSmile: - emotion e_no1; + Emotion e_no1; donpcevent "Backdancer#2::OnSmile"; donpcevent "Backdancer#3::OnSmile"; donpcevent "Backdancer#4::OnSmile"; end; -OnHuk: - emotion e_omg; - donpcevent "Backdancer#2::OnHuk"; - donpcevent "Backdancer#3::OnHuk"; - donpcevent "Backdancer#4::OnHuk"; +OnOmg: + Emotion e_omg; + donpcevent "Backdancer#2::OnOmg"; + donpcevent "Backdancer#3::OnOmg"; + donpcevent "Backdancer#4::OnOmg"; end; } @@ -1716,11 +1343,11 @@ job_duncer,66,113,4 script Backdancer#2 724,{ end; OnSmile: - emotion e_no1; + Emotion e_no1; end; -OnHuk: - emotion e_omg; +OnOmg: + Emotion e_omg; end; } @@ -1728,11 +1355,11 @@ job_duncer,72,113,4 script Backdancer#3 724,{ end; OnSmile: - emotion e_no1; + Emotion e_no1; end; -OnHuk: - emotion e_omg; +OnOmg: + Emotion e_omg; end; } @@ -1740,12 +1367,34 @@ job_duncer,75,110,4 script Backdancer#4 724,{ end; OnSmile: - emotion e_no1; + Emotion e_no1; end; -OnHuk: - emotion e_omg; +OnOmg: + Emotion e_omg; end; } -job_duncer,69,43,0 warp warp_dance 1,1,comodo,185,156 \ No newline at end of file +//============================================================ +// 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/re/jobs/2-2/rogue.txt b/npc/re/jobs/2-2/rogue.txt index 70567fd77..6d9ffe14f 100644 --- a/npc/re/jobs/2-2/rogue.txt +++ b/npc/re/jobs/2-2/rogue.txt @@ -1,20 +1,29 @@ //===== rAthena Script ======================================= -// Rogue Job change Quest +//= Rogue Job Quest //===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= kobra_k88 //===== Current Version: ===================================== -//= 1.0 +//= 2.9 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Thief -> Rogue. +//= [Aegis Conversion] +//= Job quest for Rogue classes //===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] +//= 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] //============================================================ -morocc,100,104,1 script Thug 118,{ +moc_ruins,86,103,1 script Thug#rg 118,{ mes "[Thug]"; mes "*Sigh...*"; mes "What is life?"; @@ -27,27 +36,25 @@ morocc,100,104,1 script Thug 118,{ mes "What the hell"; mes "are you lookin' at?"; next; - switch (select("Me? N-nothing!':........")) { - case 1: + 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; - case 2: - 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; } + 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 747,{ +in_rogue,363,122,4 script Rogue Guildsman#rg 747,{ if (Upper == 1) { mes "[Markie]"; mes "Eh? You...you...?!"; @@ -65,28 +72,27 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ mes "I never misunderstand people...oh well, be safe anyway!"; close; } - if (Class == Job_Baby_Thief || Class == Job_Thief) { - if (SkillPoint != 0) { + 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 (RGE_Q == 0) { + if (ROGUE_Q == 0) { mes "[Rogue Guildsman]"; mes "So what's a kid"; mes "like you doin' here?"; - if (Sex == 1) { + if (sex == 1) { mes "Oh, I get it now..."; mes "The widdle boy wants"; - mes "to be a ^800000Rogue^000000."; } else { mes "Oh, I see..."; mes "Lil' cutie wants "; - mes "to be a ^800000Rogue^000000."; } + 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?"; @@ -102,7 +108,7 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ 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 Rouges..."; + 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]"; @@ -113,14 +119,14 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ mes "Let's get started!"; next; } - if (RGE_Q == 1) { + 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; } - if (RGE_Q == 2) { + 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; @@ -129,7 +135,7 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ 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; } - if ((RGE_Q > 2) && (RGE_Q < 16)) { + else if (ROGUE_Q > 2 && ROGUE_Q < 16) { mes "[Markie]"; mes "Hey yo..."; mes "Do your best."; @@ -140,70 +146,33 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ mes "a cinch to--Wait! Er, I wasn't talkin' about you! I meant the other fresh meat~"; close; } - if (RGE_Q == 17) { - mes "[Markie]"; - 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?"; - if (JobLevel == 50) { - set @dancer_joblevel,2; - } - else { - set @dancer_joblevel,1; - } - next; - mes "[Markie]"; - mes "Hey hey~"; - mes "Congrats!"; - mes "You've been"; - mes "doin' a great job~"; - if(Class == Job_Baby_Thief){ - jobchange Job_Baby_Rogue; - } else { - jobchange Job_Rogue; - } + else if (ROGUE_Q == 16 || ROGUE_Q == 17) { changequest 2026,2027; - 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 (@dancer_joblevel == 2) { - getitem 1220,1; //Gladius_ - } - else { - getitem 1219,1; //Gladius - } - end; - } - if (RGE_Q == 16) { - if (JobLevel == 50) { - set @dancer_joblevel,2; + 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 { - set @dancer_joblevel,1; - } - mes "[Markie]"; - 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!"; - if(Class == Job_Baby_Thief){ - jobchange Job_Baby_Rogue; - } else { - jobchange Job_Rogue; + 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~"; } - changequest 2026,2027; + set .@jlevel,JobLevel; + callfunc "Job_Change",Job_Rogue; + callfunc "F_ClearJobVar"; completequest 2027; next; mes "[Markie]"; @@ -215,18 +184,14 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ 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 (@dancer_joblevel == 2) { + if (.@jlevel == 50) { getitem 1220,1; //Gladius_ - } - else { + } else { getitem 1219,1; //Gladius } end; } - switch (select("I'm ready.:Hold on, I need to get ready!")) { - case 1: - break; - case 2: + if (select("I'm ready.:Hold on, I need to get ready!") == 2) { mes "[Markie]"; mes "Get ready...?"; mes "Fine, fine."; @@ -237,445 +202,214 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ close; } next; - set .@assassin_quiz, rand(1,3); - set @assassin_t,0; mes "[Markie]"; mes "Listen carefully, and"; mes "pick the right answer."; mes "Capish? Now, lemme"; mes "read these questions..."; next; - if (.@assassin_quiz == 1) { + switch(rand(1,3)) { + case 1: mes "[Markie]"; mes "1. Choose the skill necessary for learning ^880000Stalk^000000."; next; - switch (select("^880000Hiding^000000:^880000Steal^000000:^880000Improve Dodge^000000:^880000Bash^000000")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("3 %:2 %:1 %:0 %")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } + 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; - switch (select("Steal items from players:Steal items from monsters:Steal Zeny from monsters:Steal Zeny from players")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } + 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; - switch (select("1 Rogues + 2 Assassin:1 Thief + 2 Rogue:4 Thieves:2 Rogues")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + 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; - switch (select("^880000Envenom^000000:^880000Strip Tease^000000:^880000Venom Splasher^000000:^880000Divest Shield^000000")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + 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; - switch (select("^880000Hiding^000000:^880000Back Slide^000000:^880000Stalk^000000:^880000Sand Attack^000000")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } + 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; - switch (select("Andre Card.:Familiar Card.:Mummy Card.:Marina Card.")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } + 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; - switch (select("Vadon:Deviruchi:Elder Willow:Baphomet")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } + 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; - switch (select("15:Passive skill, no SP required.:Passive skill, 10 SP:54")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Wind Main-Gauche:Ice Main-Gauche:Earth Main-Gauche:Fire Main-Gauche")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } - } - if (.@assassin_quiz == 2) { + 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; - switch (select("Thief Bug:Peco Peco:Desert Wolf:Kobold")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + 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; - switch (select("Hornet:Desert Wolf:Marionette:Myst")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Merchant:Alchemist:Blacksmith:Priest")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Gakkung:Crossbow:Gladius:Katar")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + 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; - switch (select("Water:Fire:Wind:Earth")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + 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; - switch (select("Poporing:Creamy:Orc:Poison Spore")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Dagger Goblin:Mace Goblin:Morning Star Goblin:Hammer Goblin")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + 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; - switch (select("Prontera:Al De Baran:Alberta:Payon")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } + 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")) { - case 1: - break; - case 2: + switch(select("Green Plant:Yellow Plant:Blue Plant:Shining Plant")) { + default: break; case 3: - set @assassin_t,@assassin_t + 10; + set .@assassin_t,.@assassin_t+10; break; case 4: - set @assassin_t,@assassin_t + 10; + set .@assassin_t,.@assassin_t+10; break; } mes "[Markie]"; mes "10. Choose the monster that does not have the Undead property."; next; - switch (select("Zombie:Megalodon:Familiar:Khalitzburg")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } - } - else { + 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; - switch (select("30:40:160:20")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Worm Tail:Argos:Mummy:Soldier Skeleton")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Comodo:Kokomo Beach:Paros Lighthouse:Morroc")) { - case 1: - break; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - break; - } + 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; - switch (select("Comodo:Lutie:Alberta:Morroc")) { - case 1: - break; - case 2: - break; - case 3: - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + 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; - switch (select("Rocker Card:Mummy Card:Zerom Card:Drops Card")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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; - switch (select("Being totally badass.:The clothes, the style.:Getting to call other people, 'foo'':Excellent attack strength")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - set @assassin_t,@assassin_t + 10; - break; - case 4: - set @assassin_t,@assassin_t + 10; - break; - } + 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")) { - case 1: - break; - case 2: + 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; + set .@assassin_t,.@assassin_t+10; break; case 4: - set @assassin_t,@assassin_t + 10; + 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; - switch (select("Morroc, 7 o'clock:Prontera, 7 o'clock:Morroc, 5 o'clock:Prontera, 1 o'clock")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } + 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")) { - case 1: - set @assassin_t,@assassin_t + 10; - break; - case 2: + 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; - case 4: + set .@assassin_t,.@assassin_t+10; break; } mes "[Markie]"; mes "10. Choose the card that least benefits the Rogue class."; next; - switch (select("Whisper Card:Elder Willow Card:Zerom Card:Matyr Card")) { - case 1: - break; - case 2: - set @assassin_t,@assassin_t + 10; - break; - case 3: - break; - case 4: - break; - } + if (select("Whisper Card:Elder Willow Card:Zerom Card:Matyr Card") == 2) + set .@assassin_t,.@assassin_t+10; } mes "[Markie]"; mes "*Whew~*"; @@ -685,9 +419,9 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ mes "[Markie]"; mes "Let's see."; mes "You got..."; - mes "" + @assassin_t + " points."; - if (@assassin_t > 80) { - set RGE_Q,2; + mes "" + .@assassin_t + " points."; + if (.@assassin_t > 80) { + set ROGUE_Q,2; setquest 2017; mes "Good. You passed."; mes "We don't gotta"; @@ -701,26 +435,28 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ mes "Go find Smith and finish up this test, yeah? Be careful though, Smith's a pretty anal guy."; close; } - set RGE_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 { + 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; + } } - if (JobLevel < 40) { + 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; } } - if (Class == Job_Assassin) { + 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?"; @@ -732,7 +468,7 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ 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; } - if (Class == RGE_Q) { + else if (BaseJob == Job_Rogue) { mes "[Markie]"; mes "Hey hey~"; mes "Long time no see."; @@ -742,17 +478,19 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ mes "check back again later."; close; } - 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; + 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 57,{ - if (RGE_Q == 2) { +in_rogue,376,23,1 script Mr. Smith#rg 57,{ + if (ROGUE_Q == 2) { mes "[Mr. Smith]"; mes "Welcome to"; mes "the Rogue guild."; @@ -770,101 +508,14 @@ in_rogue,376,23,1 script Mr. Smith 57,{ 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)) { - 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 "^FF000010 Skel-bone^000000,"; - mes "^FF00006 Blue Herb^000000,"; - mes "^FF000010 Decayed Nail^000000, and"; - mes "^FF000010 Horrendous Mouth^000000."; - set RGE_Q,3; - changequest 2017,2018; - 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; - } - if ((.@item_need > 5) && (.@item_need < 11)) { - 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 "^FF000010 Green Herb^000000,"; - mes "^FF000010 Crab Shell^000000,"; - mes "^FF000010 Snake Scale^000000 and"; - mes "^FF000010 Garlet^000000."; - set RGE_Q,4; - changequest 2017,2019; - 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; - } - if ((.@item_need > 10) && (.@item_need < 15)) { - 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 "^FF000010 Yellow Herb^000000,"; - mes "^FF000010 Shell^000000,"; - mes "^FF000010 Grasshopper's Leg^000000 and"; - mes "^FF000010 Bear's Footskin^000000."; - set RGE_Q,5; - 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; - } - if (.@item_need == 15) { + 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 RGE_Q,6; + set ROGUE_Q,6; changequest 2017,2021; next; mes "[Mr. Smith]"; @@ -981,7 +632,7 @@ in_rogue,376,23,1 script Mr. Smith 57,{ close; } } - if (RGE_Q < 2) { + 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; @@ -1000,121 +651,19 @@ in_rogue,376,23,1 script Mr. Smith 57,{ mes "I lost count!"; close; } - if (RGE_Q > 2) { - if (RGE_Q == 3) { - if ((Zeny > 9999) && (countitem(932) > 9) && (countitem(510) > 5) && (countitem(957) > 9) && (countitem(958) > 9)) { - mes "[Mr. Smith]"; - mes "Okay, we've got the application fee, ^FF000010,000 zeny^000000, 10 Skel-Bone, 6 Blue Herb, 10 Decayed Nail and 10 Horrendous Mouth..."; - set Zeny, Zeny - 10000; - delitem 932,10; //Skel_Bone - delitem 510,6; //Blue_Herb - delitem 957,10; //Decayed_Nail - delitem 958,10; //Horrendous_Mouth - set RGE_Q,7; - next; - mes "[Mr. Smith]"; - mes "Great, great..."; - mes "I think you"; - mes "brought everything."; - 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 "^FF000010 Skel-bone^000000,"; - mes "^FF00006 Blue Herb^000000,"; - mes "^FF000010 Decayed Nail^000000, and"; - mes "^FF000010 Horrendous Mouth^000000."; - mes "You got it this time?"; - close; - } - if (RGE_Q == 4) { - if ((Zeny > 9999) && (countitem(511) > 9) && (countitem(964) > 9) && (countitem(926) > 9) && (countitem(910) > 9)) { - mes "[Mr. Smith]"; - mes "Okay, we've got the application fee, 10 Green Herb, 10 Crab Shell, 10 Snake Scale and 10 Garlet."; - set Zeny, Zeny - 10000; - delitem 511,10; //Green_Herb - delitem 964,10; //Crap_Shell - delitem 926,10; //Scale_Of_Snakes - delitem 910,10; //Garlet - set RGE_Q,7; - next; - mes "[Mr. Smith]"; - mes "Great, great..."; - mes "I think you"; - mes "brought everything."; - next; - mes "[Mr. Smith]"; - mes "Alright, wait just a moment while 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 "^FF000010 Green Herb^000000,"; - mes "^FF000010 Crab Shell^000000,"; - mes "^FF000010 Snake Scale^000000 and"; - mes "^FF000010 Garlet^000000."; - mes "Don't forget this time!"; - close; - } - if (RGE_Q == 5) { - if ((Zeny > 9999) && (countitem(508) > 9) && (countitem(935) > 9) && (countitem(940) > 9) && (countitem(948) > 9)) { - mes "[Mr. Smith]"; - mes "Let's see, you've brought the application fee, 10 Yellow Herb, 10 Shell, 10 Grasshopper's Leg and 10 Bear's Footskin..."; - set Zeny, Zeny - 10000; - delitem 508,10; //Yellow_Herb - delitem 935,10; //Shell - delitem 940,10; //Grasshopper's_Leg - delitem 948,10; //Bear's_Foot - set RGE_Q,7; - next; - mes "[Mr. Smith]"; - mes "Great, great..."; - mes "I think you"; - mes "brought everything."; - next; - mes "[Mr. Smith]"; - mes "Alright, wait just a moment while 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 "^FF000010 Yellow Herb^000000,"; - mes "^FF000010 Shell^000000,"; - mes "^FF000010 Grasshopper's Leg^000000 and"; - mes "^FF000010 Bear's Footskin^000000."; - mes "Got it? Don't forget this time!"; - close; - } - if (RGE_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)) { + 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; + set zeny,zeny-10000; delitem 915,5; //Chrysalis delitem 713,5; //Empty_Bottle delitem 1002,5; //Iron_Ore @@ -1132,13 +681,15 @@ in_rogue,376,23,1 script Mr. Smith 57,{ delitem 917,5; //Talon delitem 908,5; //Spawn delitem 945,5; //Raccoon_Leaf - set RGE_Q,8; + 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."; @@ -1200,17 +751,23 @@ in_rogue,376,23,1 script Mr. Smith 57,{ mes "without them!"; close; } - if (RGE_Q == 7) { - set .@ro_q, rand(1,3); - if (.@ro_q == 1) { - mes "[Mr. Smith]"; - mes "Let me see..."; - mes "Who would should"; - mes "I send you to...?"; - set RGE_Q,9; - changequest 2018,2022; - changequest 2019,2022; - changequest 2020,2022; + 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"; @@ -1237,16 +794,17 @@ in_rogue,376,23,1 script Mr. Smith 57,{ 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; - } - if (.@ro_q == 2) { - mes "[Mr. Smith]"; - mes "Let me see..."; - mes "Who would should"; - mes "I send you to...?"; - set RGE_Q,10; - changequest 2018,2023; - changequest 2019,2023; - changequest 2020,2023; + 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..."; @@ -1272,50 +830,52 @@ in_rogue,376,23,1 script Mr. Smith 57,{ 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; } - mes "[Mr. Smith]"; - mes "Let me see..."; - mes "Who would should"; - mes "I send you to...?"; - set RGE_Q,11; - changequest 2018,2024; - changequest 2019,2024; - 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 have 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; } - if (RGE_Q == 8) { + 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 ^0000FFthe checkpoint of Paros Lighthouse^000000, which is at the border between Morroc and Comodo."; + 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."; - changequest 2021,2025; close; } - if (RGE_Q == 9) { + else if (ROGUE_Q == 9) { mes "[Mr. Smith]"; mes "What...?"; mes "Did you just"; @@ -1329,7 +889,7 @@ in_rogue,376,23,1 script Mr. Smith 57,{ mes "The password is ^0000FFAragham never hoarded upgrade items^000000."; close; } - if (RGE_Q == 10) { + else if (ROGUE_Q == 10) { mes "[Mr. Smith]"; mes "What...?"; mes "Did you just"; @@ -1347,7 +907,7 @@ in_rogue,376,23,1 script Mr. Smith 57,{ mes "The password is ^0000FF'Antonio doesn't enjoy destroying upgrade items'^000000."; close; } - if (RGE_Q == 11) { + else if (ROGUE_Q == 11) { mes "[Mr. Smith]"; mes "What...?"; mes "Did you just"; @@ -1361,7 +921,7 @@ in_rogue,376,23,1 script Mr. Smith 57,{ mes "The password is ^0000FFMy father never hoarded upgrade items^000000."; close; } - if (RGE_Q > 11) { + else if (ROGUE_Q > 11) { mes "[Mr. Smith]"; mes "Hmmm...?"; mes "Don't you have"; @@ -1371,23 +931,94 @@ in_rogue,376,23,1 script Mr. Smith 57,{ close; } } -} -cmd_fild09,106,195,0 script Warp#1 45,1,1,{ -OnTouch: - if (RGE_Q < 8){ - mes"The door is locked."; - mes "Do this later."; +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; - set @rogue_t,0; - switch (select("My father:Aragham:Aragon:Legolas")) { + switch(select("My father:Aragham:Aragon:Legolas")) { case 1: mes "[" + strcharinfo(0) + "]"; mes "My father"; @@ -1395,7 +1026,7 @@ OnTouch: case 2: mes "[" + strcharinfo(0) + "]"; mes "Aragham"; - set @rogue_t,@rogue_t + 10; + set .@rogue_t,.@rogue_t+10; break; case 3: mes "[" + strcharinfo(0) + "]"; @@ -1406,87 +1037,62 @@ OnTouch: mes "Legolas"; break; } - switch (select("did not:didn't:never:ever")) { - case 1: - mes "did not"; - break; - case 2: - mes "didn't"; - 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"; + set .@rogue_t,.@rogue_t+10; break; + case 4: mes "ever"; break; } - switch (select("hoard:hoarded:hide:took:take")) { - case 1: - mes "hoard"; - 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"; + 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.")) { + 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."; + 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) { + if (.@rogue_t > 30) { mes "^3355FF*Creeeeak*"; mes "The door slowly opens.^000000"; close2; warp "in_rogue",246,25; end; } - mes "[???]"; - mes "What the...?"; - mes "Get lost!"; - close; + else { + mes "[???]"; + mes "What the...?"; + mes "Get lost!"; + close; + } } cmd_fild09,335,143,0 script Warp#2 45,1,1,{ - OnTouch: - if (RGE_Q < 8){ - mes"The door is locked."; - mes "Do this later."; - close; - } mes "[???]"; mes "Who's there?!"; mes "Who would dare"; mes "intrude my territory?"; next; - set @rogue_t,0; - switch (select("My father:Aragham:Aragon:Legolas")) { + switch(select("My father:Aragham:Aragon:Legolas")) { case 1: mes "[" + strcharinfo(0) + "]"; mes "My father"; - set @rogue_t,@rogue_t + 10; + set .@rogue_t,.@rogue_t+10; break; case 2: mes "[" + strcharinfo(0) + "]"; @@ -1501,83 +1107,58 @@ OnTouch: 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; + switch(select("did not:didn't:never:ever")) { + case 1: mes "did not"; break; + case 2: mes "didn't"; break; case 3: - mes "hide"; - break; - case 4: - mes "took"; + 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; + set .@rogue_t,.@rogue_t+10; break; } - switch (select("upgrade items.:forging items.:refining item.:upgrade item.")) { + 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."; + 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) { + if (.@rogue_t > 30) { mes "^3355FF*Creeeeak*"; mes "The door slowly opens.^000000"; close2; warp "in_rogue",169,34; end; } - mes "[???]"; - mes "What the...?"; - mes "Get lost!"; - close; + else { + mes "[???]"; + mes "What the...?"; + mes "Get lost!"; + close; + } } cmd_fild04,304,180,0 script Warp#3 45,1,1,{ - OnTouch: - if (RGE_Q < 8){ - mes"The door is locked."; - mes "Do this later."; - close; - } mes "[???]"; mes "Who's there?!"; mes "Who would dare"; mes "intrude my territory?"; next; - set @rogue_t,0; - switch (select("Anntonio:Aragham:Antonio:Hollgrehenn")) { + switch(select("Anntonio:Aragham:Antonio:Hollgrehenn")) { case 1: mes "[" + strcharinfo(0) + "]"; mes "Anntonio"; @@ -1589,82 +1170,60 @@ OnTouch: case 3: mes "[" + strcharinfo(0) + "]"; mes "Antonio"; - set @rogue_t,@rogue_t + 10; + set .@rogue_t,.@rogue_t+10; break; case 4: mes "[" + strcharinfo(0) + "]"; - mes "Hollgrehenn"; + mes "Hollgrehenn"; break; } - switch (select("enjoys:doesn't enjoy:likes:doesn't like")) { - case 1: - mes "enjoys"; - 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"; + 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; + 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"; + 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; + 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."; + 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) { + if (.@rogue_t > 30) { mes "^3355FF*Creeeeak*"; mes "The door slowly opens.^000000"; close2; warp "in_rogue",164,106; end; } - mes "[???]"; - mes ".....Get lost!"; - close; + else { + mes "[???]"; + mes ".....Get lost!"; + close; + } } -cmd_fild07,355,286,0 warp warp_nervrogue 1,1,in_rogue,247,126 - -in_rogue,272,135,1 script Hermanthorn Jr 85,{ - if (RGE_Q == 8) { - mes "[Hermanthorn Jr.]"; +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."; @@ -1672,170 +1231,169 @@ in_rogue,272,135,1 script Hermanthorn Jr 85,{ mes "ones Mr. Smith wasn't"; mes "too happy with..."; next; - mes "[Hermanthorn Jr.]"; + 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 "[Hermanthorn Jr.]"; + mes "[HermanthornJr.]"; mes "I suppose he suckered you into gathering those items, and then passed you on to me. Sad, really."; next; - mes "[Hermanthorn Jr.]"; + 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 "[Hermanthorn Jr.]"; + 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 "[Hermanthorn Jr.]"; + mes "[HermanthornJr.]"; mes "There is one thing I should tell you, though. You might want to be careful inside, alright?"; next; - mes "[Hermanthorn Jr.]"; + mes "[HermanthornJr.]"; mes "A bunch of pricks have been throwing Dead Branches and casting Hocus Pocus all over the place..."; next; - mes "[Hermanthorn Jr.]"; + mes "[HermanthornJr.]"; mes "Well..."; mes "Just make it back to the Rogue Guild alive. That's all you have to do!"; - set RGE_Q,12; + set ROGUE_Q,12; changequest 2025,2026; - close2; + close; } - if (RGE_Q == 12) { - mes "[Hermanthorn Jr.]"; + 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; } - mes "[Hermanthorn Jr.]"; - mes "Huh...?"; - mes "What the hell"; - mes "are you doing here."; - mes "Scram, why don't you?"; - 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 45,1,1,{ - +in_rogue,270,130,0 script he_to_rogue#rg 45,1,1,{ OnTouch: - if (RGE_Q == 12) { - 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) { + 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"; - close; - } - if (.@input == 3019) { + 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 RGE_Q,12; + 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; } - mes "^3355FFThe door is locked. It seems a four number combination is required to open it.^000000"; - next; - input .@input; - if (.@input < 1 || .@input > 10000) { - mes "^3355FFPlease enter a combination of four numbers.^000000"; - close; - } - if (.@input == 3019) { - mes "[Hermanthorn Jr.]"; - mes "Well..."; - mes "Didn't I tell you"; - mes "that I changed the"; - mes "password? *Wink Wink*"; - close; - } - mes "^3355FFThe door"; - mes "is still locked.^000000"; - close; } -in_rogue,200,389,0 script gen_ro#1 139,3,3,{ - +in_rogue,200,389,0 script gen_ro#1 -1,3,3,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",200,389,"Zombie",1015,1; - monster "in_rogue",201,389,"Zombie",1015,1; + 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 { + else warp "mag_dun02",181,176; - } end; OnDisable: killmonster "in_rogue","gen_ro#1::OnMyMobDead"; end; -} -in_rogue,100,389,0 script gen_ro#2 139,3,3,{ +OnMyMobDead: + end; +} +in_rogue,100,389,0 script gen_ro#2 -1,3,3,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",100,389,"Mummy",1041,1; + if (BaseJob == Job_Thief) { + monster "in_rogue",100,389,"Mummy",1041,1,"gen_ro#2::OnMyMobDead"; donpcevent "gen_ro#1::OnDisable"; } - else { + else warp "mag_dun02",181,176; - } end; OnDisable: killmonster "in_rogue","gen_ro#2::OnMyMobDead"; end; -} -in_rogue,150,389,0 script gen_ro#3 139,3,3,{ +OnMyMobDead: + end; +} +in_rogue,150,389,0 script gen_ro#3 -1,3,3,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",145,389,"Zombie",1015,1; - monster "in_rogue",143,389,"Mummy",1041,1; + 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 { + else warp "mag_dun02",181,176; - } end; OnDisable: killmonster "in_rogue","gen_ro#3::OnMyMobDead"; end; -} -in_rogue,250,389,0 script gen_ro#4 139,3,3,{ +OnMyMobDead: + end; +} +in_rogue,250,389,0 script gen_ro#4 -1,3,3,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",200,389,"Abysmal Knight",1219,1; + if (BaseJob == Job_Thief) { + monster "in_rogue",200,389,"Abysmal Knight",1219,1,"gen_ro#4::OnMyMobDead"; donpcevent "gen_ro#3::OnDisable"; } - else { + 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 RGE_Q,17; + set ROGUE_Q,17; warp "in_rogue",367,10; end; } -in_rogue,244,39,1 script Aragham Junior 99,{ - if (RGE_Q == 9) { +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..."; @@ -1861,47 +1419,43 @@ in_rogue,244,39,1 script Aragham Junior 99,{ 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; - switch (select("Yes, let's go.:Nah~")) { - case 1: - changequest 2022,2026; + if (select("Yes, let's go.:Nah~") == 1) { mes "[Aragham Jr.]"; mes "Alright..."; mes "Good luck, then."; close2; warp "in_rogue",15,105; - set RGE_Q,13; + set ROGUE_Q,13; + changequest 2022,2026; end; - case 2: - mes "[Aragham Jr.]"; - mes "Fine, fine."; - mes "Take your time"; - mes "and come back"; - mes "when you're ready."; - close; } + mes "[Aragham Jr.]"; + mes "Fine, fine."; + mes "Take your time"; + mes "and come back"; + mes "when you're ready."; + close; } - if (RGE_Q == 13) { + 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; - switch (select("Re-Test:Cancel")) { - case 1: + if (select("Re-Test:Cancel") == 1) { mes "[Aragham Jr.]"; mes "Good luck."; close2; warp "in_rogue",15,105; end; - case 2: - mes "[Aragham Jr.]"; - mes "Fine, fine."; - mes "Take your time"; - mes "and come back"; - mes "when you're ready."; - close; } + mes "[Aragham Jr.]"; + mes "Fine, fine."; + mes "Take your time"; + mes "and come back"; + mes "when you're ready."; + close; } - if (Class != RGE_Q) { + else if (BaseJob != Job_Rogue) { mes "[Aragham Jr.]"; mes "Huh...?"; mes "Who are you?!"; @@ -1912,20 +1466,20 @@ in_rogue,244,39,1 script Aragham Junior 99,{ 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; } - 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; + 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,244,21,0 warp out#01 1,1,cmd_fild09,106,191 - -in_rogue,160,34,1 script Hollgrehenn Junior 85,{ - if (RGE_Q == 11) { +in_rogue,160,34,1 script Hollgrehenn junior#rg 85,{ + if (ROGUE_Q == 11) { mes "[Hollgrehenn Jr.]"; mes "Huh..."; mes "From the"; @@ -1947,45 +1501,41 @@ in_rogue,160,34,1 script Hollgrehenn Junior 85,{ 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; - switch (select("Yes, I am.:Nah~")) { - case 1: - changequest 2024,2026; + if (select("Yes, I am.:Nah~") == 1) { mes "[Hollgrehenn Jr.]"; mes "Good luck."; close2; warp "in_rogue",15,105; - set RGE_Q,15; + set ROGUE_Q,15; + changequest 2024,2026; end; - case 2: - mes "[Hollgrehenn Jr.]"; - mes "Take your time."; - mes "Come back here"; - mes "when you're ready."; - close; } + mes "[Hollgrehenn Jr.]"; + mes "Take your time."; + mes "Come back here"; + mes "when you're ready."; + close; } - if (RGE_Q == 15) { + else if (ROGUE_Q == 15) { mes "[Hollgrehenn Jr.]"; mes "Huh."; mes "You failed."; mes "Gonna try again?"; next; - switch (select("Re-Test:Cancel.")) { - case 1: + if (select("Re-Test:Cancel.") == 1) { mes "[Hollgrehenn Jr.]"; mes "Good luck."; close2; warp "in_rogue",15,105; end; - case 2: - mes "[Hollgrehenn Jr.]"; - mes "Take your time."; - mes "Come back here"; - mes "when you're ready."; - close; } + mes "[Hollgrehenn Jr.]"; + mes "Take your time."; + mes "Come back here"; + mes "when you're ready."; + close; } - if (Class != RGE_Q) { + else if (BaseJob != Job_Rogue) { mes "[Hollgrehenn Jr.]"; mes "Huh...?"; mes "You're not from"; @@ -2004,18 +1554,18 @@ in_rogue,160,34,1 script Hollgrehenn Junior 85,{ mes "about killing you."; close; } - mes "[Hollgrehenn Jr.]"; - mes "Hey..."; - mes "Come to visit?"; - mes "We Rogues gotta"; - mes "stick together, huh?"; - close; + else { + mes "[Hollgrehenn Jr.]"; + mes "Hey..."; + mes "Come to visit?"; + mes "We Rogues gotta"; + mes "stick together, huh?"; + close; + } } -in_rogue,172,34,0 warp out#02 1,1,cmd_fild09,341,143 - -in_rogue,177,109,1 script Antonio Junior 88,{ - if (RGE_Q == 10) { +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?"; @@ -2035,37 +1585,34 @@ in_rogue,177,109,1 script Antonio Junior 88,{ 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; - switch (select("Let's go!:W-wait~")) { - case 1: + 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..."; - changequest 2023,2026; close2; warp "in_rogue",15,105; - set RGE_Q,14; + set ROGUE_Q,14; + changequest 2023,2026; end; - case 2: - 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; } + 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; } - if (RGE_Q == 14) { + 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; - switch (select("Re-test:Cancel")) { - case 1: + if (select("Re-test:Cancel") == 1) { mes "[Antonio Jr.]"; mes "Remember, I'm doing"; mes "you a favor here..."; @@ -2074,17 +1621,16 @@ in_rogue,177,109,1 script Antonio Junior 88,{ close2; warp "in_rogue",15,105; end; - case 2: - 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; } + 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; } - if (Class != RGE_Q) { + else if (BaseJob != Job_Rogue) { mes "Huh...?"; mes "Who are you?!"; mes "You're not from"; @@ -2094,343 +1640,344 @@ in_rogue,177,109,1 script Antonio Junior 88,{ 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; } - mes "[Antonio Jr.]"; - mes "Hey, how's it goin'?"; - mes "Take it easy, and just"; - mes "relax before you leave."; - 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,161,103,0 warp out#1 1,1,cmd_fild04,302,177 - in_rogue,370,320,0 script quest_out 45,1,1,{ - OnTouch: - set RGE_Q,16; - changequest 2026,2027; + set ROGUE_Q,16; warp "in_rogue",378,113; end; } -in_rogue,15,184,0 script mob_rogue#1 139,8,1,{ - +in_rogue,15,184,0 script mob_rogue#1 -1,8,1,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",14,187,"Zombie",1015,1; - monster "in_rogue",15,188,"Zombie",1015,1; - monster "in_rogue",16,189,"Zombie",1015,1; - monster "in_rogue",17,187,"Zombie",1015,1; - monster "in_rogue",18,188,"Zombie",1015,1; - monster "in_rogue",19,189,"Zombie",1015,1; - } - else { + 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; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#1::OnMyMobDead"; end; -} -in_rogue,15,273,0 script mob_rogue#2 139,8,1,{ +OnMyMobDead: + end; +} +in_rogue,15,273,0 script mob_rogue#2 -1,8,1,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",15,276,"Mummy",1041,1; - monster "in_rogue",13,276,"Mummy",1041,1; - monster "in_rogue",11,276,"Mummy",1041,1; + 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 { + else warp "mag_dun02",181,176; - } end; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#2::OnMyMobDead"; end; -} -in_rogue,15,333,0 script mob_rogue#3 139,8,1,{ +OnMyMobDead: + end; +} +in_rogue,15,333,0 script mob_rogue#3 -1,8,1,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",15,336,"Zombie",1015,1; - monster "in_rogue",15,336,"Zombie",1015,1; - monster "in_rogue",15,336,"Zombie",1015,1; - monster "in_rogue",15,336,"Zombie",1015,1; - donpcevent "mob_rogue#4::OnReset"; - donpcevent "mob_rogue#7::OnReset"; - donpcevent "mob_rogue#8::OnReset"; - } - else { + 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; -OnReset: - killmonster "in_rogue","mob_rogue#3::OnMyMobDead"; +OnDisable: + killmonster "in_rogue","mob_rogue#3::OnMyMObDead"; + end; + +OnMyMobDead: end; } -in_rogue,39,341,0 script mob_rogue#4 139,1,8,{ - +in_rogue,39,341,0 script mob_rogue#4 -1,1,8,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",39,341,"Mummy",1041,1; - monster "in_rogue",40,341,"Ghoul",1036,1; - monster "in_rogue",41,341,"Abysmal Knight",1219,1; - monster "in_rogue",42,341,"Mummy",1041,1; + 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 { + else warp "mag_dun02",181,176; - } end; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#4::OnMyMobDead"; end; -} -in_rogue,102,334,0 script mob_rogue#5 139,1,4,{ +OnMyMobDead: + end; +} +in_rogue,102,334,0 script mob_rogue#5 -1,1,4,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",92,334,"Khalitzburg",1132,1; - donpcevent "mob_rogue#1::OnReset"; - donpcevent "mob_rogue#2::OnReset"; - donpcevent "mob_rogue#3::OnReset"; + 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 { + else warp "mag_dun02",181,176; - } end; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#5::OnMyMobDead"; end; -} -in_rogue,58,309,0 script mob_rogue#6 139,4,1,{ +OnMyMobDead: + end; +} +in_rogue,58,309,0 script mob_rogue#6 -1,4,1,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",57,301,"Khalitzburg",1132,1; - donpcevent "mob_rogue#1::OnReset"; - donpcevent "mob_rogue#2::OnReset"; - donpcevent "mob_rogue#3::OnReset"; + 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 { + else warp "mag_dun02",181,176; - } end; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#6::OnMyMobDead"; end; -} -in_rogue,101,264,0 script mob_rogue#7 139,5,5,{ +OnMyMobDead: + end; +} +in_rogue,101,264,0 script mob_rogue#7 -1,5,5,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",101,264,"Abysmal Knight",1219,1; - monster "in_rogue",102,264,"Abysmal Knight",1219,1; + 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 { + else warp "mag_dun02",181,176; - } end; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#7::OnMyMobDead"; end; -} -in_rogue,140,312,0 script mob_rogue#8 139,5,5,{ +OnMyMobDead: + end; +} +in_rogue,140,312,0 script mob_rogue#8 -1,5,5,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",140,312,"Abysmal Knight",1219,1; - } - else { + if (BaseJob == Job_Thief) + monster "in_rogue",140,312,"Abysmal Knight",1219,1,"mob_rogue#8::OnMyMobDead"; + else warp "mag_dun02",181,176; - } end; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#8::OnMyMobDead"; end; -} -in_rogue,139,246,0 script mob_rogue#9 139,4,4,{ +OnMyMobDead: + end; +} +in_rogue,139,246,0 script mob_rogue#9 -1,4,4,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",139,246,"Zombie",1015,1; - monster "in_rogue",149,246,"Zombie",1015,1; - monster "in_rogue",140,246,"Zombie",1015,1; - monster "in_rogue",141,246,"Zombie",1015,1; - monster "in_rogue",150,246,"Zombie",1015,1; - monster "in_rogue",151,246,"Zombie",1015,1; - } - else { + 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; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#9::OnMyMobDead"; end; -} -in_rogue,197,249,0 script mob_rogue#10 139,1,8,{ +OnMyMobDead: + end; +} +in_rogue,197,249,0 script mob_rogue#10 -1,1,8,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",176,211,"Ghoul",1036,1; - monster "in_rogue",176,212,"Zombie",1015,1; - monster "in_rogue",176,213,"Zombie",1015,1; - monster "in_rogue",177,214,"Abysmal Knight",1219,1; - monster "in_rogue",177,211,"Zombie",1015,1; - monster "in_rogue",177,212,"Zombie",1015,1; - monster "in_rogue",177,213,"Zombie",1015,1; - monster "in_rogue",177,214,"Zombie",1015,1; - monster "in_rogue",178,211,"Zombie",1015,1; - monster "in_rogue",178,212,"Zombie",1015,1; - monster "in_rogue",178,213,"Zombie",1015,1; - monster "in_rogue",178,214,"Archer Skeleton",1016,1; - monster "in_rogue",179,211,"Zombie",1015,1; - monster "in_rogue",179,212,"Zombie",1015,1; - monster "in_rogue",179,213,"Zombie",1015,1; - monster "in_rogue",179,214,"Zombie",1015,1; - donpcevent "mob_rogue#4::OnReset"; - donpcevent "mob_rogue#5::OnReset"; - donpcevent "mob_rogue#6::OnReset"; - } - else { + 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; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#10::OnMyMobDead"; end; -} -in_rogue,96,205,0 script mob_rogue#11 139,1,8,{ +OnMyMobDead: + end; +} +in_rogue,96,205,0 script mob_rogue#11 -1,1,8,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - donpcevent "mob_rogue#7::OnReset"; - donpcevent "mob_rogue#8::OnReset"; - donpcevent "mob_rogue#9::OnReset"; - donpcevent "mob_rogue#10::OnReset"; + 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 { + else warp "mag_dun02",181,176; - } end; } -in_rogue,86,187,0 script mob_rogue#12 139,1,8,{ - +in_rogue,86,187,0 script mob_rogue#12 -1,1,8,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",90,187,"Mummy",1041,1; - monster "in_rogue",90,183,"Mummy",1041,1; - monster "in_rogue",90,190,"Mummy",1041,1; + 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 { + else warp "mag_dun02",181,176; - } end; -OnReset: + +OnDisable: killmonster "in_rogue","mob_rogue#12::OnMyMobDead"; end; -} -in_rogue,223,187,0 script mob_rogue#13 139,1,8,{ +OnMyMobDead: + end; +} +in_rogue,223,187,0 script mob_rogue#13 -1,1,8,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",236,186,"Abysmal Knight",1219,1; - monster "in_rogue",238,186,"Abysmal Knight",1219,1; - monster "in_rogue",234,186,"Abysmal Knight",1219,1; - donpcevent "mob_rogue#12::OnReset"; + 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 { + else warp "mag_dun02",181,176; - } end; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#13::OnMyMobDead"; end; -} -in_rogue,233,207,0 script mob_rogue#14 139,8,3,{ +OnMyMobDead: + end; +} +in_rogue,233,207,0 script mob_rogue#14 -1,8,3,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - donpcevent "mob_rogue#13::OnReset"; - } - else { + 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 139,1,8,{ - +in_rogue,244,319,0 script mob_rogue#15 -1,1,8,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",240,319,"Mummy",1041,1; - monster "in_rogue",259,319,"Archer Skeleton",1016,1; - monster "in_rogue",259,320,"Ghoul",1036,1; - monster "in_rogue",240,319,"Mummy",1041,1; - monster "in_rogue",259,319,"Archer Skeleton",1016,1; - monster "in_rogue",259,320,"Ghoul",1036,1; - } - else { + 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; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#15::OnMyMobDead"; end; -} -in_rogue,334,319,0 script mob_rogue#16 139,8,8,{ +OnMyMobDead: + end; +} +in_rogue,334,319,0 script mob_rogue#16 -1,8,8,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - donpcevent "mob_rogue#15::OnReset"; - } - else { + if (BaseJob == Job_Thief) + donpcevent "mob_rogue#15::OnDisable"; + else warp "mag_dun02",181,176; - } end; } -in_rogue,3,3,0 script resetter#rogue 139,{ - end; - +in_rogue,3,3,0 script resetter#rogue -1,{ OnTimer500000: - donpcevent "mob_rogue#1::OnReset"; - donpcevent "mob_rogue#2::OnReset"; - donpcevent "mob_rogue#3::OnReset"; - donpcevent "mob_rogue#4::OnReset"; - donpcevent "mob_rogue#5::OnReset"; - donpcevent "mob_rogue#6::OnReset"; - donpcevent "mob_rogue#7::OnReset"; - donpcevent "mob_rogue#8::OnReset"; - donpcevent "mob_rogue#9::OnReset"; - donpcevent "mob_rogue#10::OnReset"; - donpcevent "mob_rogue#12::OnReset"; - donpcevent "mob_rogue#13::OnReset"; - donpcevent "mob_rogue#15::OnReset"; + 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; @@ -2443,34 +1990,45 @@ OnInit: end; } -in_rogue,375,33,0 warp warp_rogue#1 1,1,in_rogue,380,125 -in_rogue,375,125,0 warp warp_rogue#2 1,1,in_rogue,379,33 -in_rogue,375,46,0 warp warp_rogue#3 1,1,cmd_fild07,196,117 -cmd_fild07,193,117,0 warp warp_rogue#4 1,1,in_rogue,379,46 -in_rogue,247,122,0 warp cmd=fild07 1,1,cmd_fild07,349,285 - 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; +} - if(getgmlevel() == 99){ - mes "^F08080Tah dah~"; - mes "Monsters for the"; - mes "Rogue Job Change"; - mes "have been reset^000000."; - donpcevent "mob_rogue#1::OnReset"; - donpcevent "mob_rogue#2::OnReset"; - donpcevent "mob_rogue#3::OnReset"; - donpcevent "mob_rogue#4::OnReset"; - donpcevent "mob_rogue#5::OnReset"; - donpcevent "mob_rogue#6::OnReset"; - donpcevent "mob_rogue#7::OnReset"; - donpcevent "mob_rogue#8::OnReset"; - donpcevent "mob_rogue#9::OnReset"; - donpcevent "mob_rogue#10::OnReset"; - donpcevent "mob_rogue#12::OnReset"; - donpcevent "mob_rogue#13::OnReset"; - donpcevent "mob_rogue#15::OnReset"; - donpcevent "resetter#rogue::OnEnable"; - close; - } - end; -} \ No newline at end of file +//============================================================ +// 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] -- cgit v1.2.3-70-g09d2 From b7a88442cefed36b81f80139310061fed10527e1 Mon Sep 17 00:00:00 2001 From: masao87 Date: Sat, 4 Aug 2012 21:45:50 +0000 Subject: - Here comes the big Job folder Update. * Updated all 1-1, 2-1, 2-2 and the expanded files to the latest available official files and also added support for baby job change. * There might be some optimizations still needed at some places and there maybe occur some errors as well or the job change isn't fully working anymore since I didn't test all the jobs through the end (Me = Lazy), if so then please fill out a bug report in our bug tracker: http://rathena.org/board/tracker/project-4-scripts/ * Ninja, Gunslinger and the other files will follow within the next days. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16579 54d463be-8e91-2dee-dedb-b68131a5f0ec --- npc/jobs/2-1/assassin.txt | 2517 +++++++++++++++---------- npc/jobs/2-1/blacksmith.txt | 1565 ++++++++++------ npc/jobs/2-1/hunter.txt | 3786 ++++++++++++++++++++++++++------------ npc/jobs/2-1/knight.txt | 3634 ++++++++++++++++++++++++------------ npc/jobs/2-1/priest.txt | 1225 ++++++------ npc/jobs/2-1/wizard.txt | 1190 +++++++----- npc/jobs/2-1a/AssassinCross.txt | 8 +- npc/jobs/2-1a/HighPriest.txt | 8 +- npc/jobs/2-1a/HighWizard.txt | 10 +- npc/jobs/2-1a/LordKnight.txt | 8 +- npc/jobs/2-1a/Sniper.txt | 8 +- npc/jobs/2-1a/WhiteSmith.txt | 8 +- npc/jobs/2-2/alchemist.txt | 1563 ++++++++++------ npc/jobs/2-2/bard.txt | 1284 +++++++++---- npc/jobs/2-2/crusader.txt | 1869 ++++++++++++------- npc/jobs/2-2/dancer.txt | 1032 ++++++----- npc/jobs/2-2/monk.txt | 2381 ++++++++++++++++-------- npc/jobs/2-2/rogue.txt | 1726 +++++++++-------- npc/jobs/2-2/sage.txt | 3043 +++++++++++++++++++----------- npc/jobs/2-2a/Champion.txt | 8 +- npc/jobs/2-2a/Clown.txt | 8 +- npc/jobs/2-2a/Creator.txt | 107 +- npc/jobs/2-2a/Gypsy.txt | 8 +- npc/jobs/2-2a/Paladin.txt | 8 +- npc/jobs/2-2a/Professor.txt | 9 +- npc/jobs/2-2a/Stalker.txt | 8 +- npc/jobs/valkyrie.txt | 99 +- npc/pre-re/jobs/1-1/acolyte.txt | 568 +++--- npc/pre-re/jobs/1-1/archer.txt | 245 +-- npc/pre-re/jobs/1-1/mage.txt | 625 +------ npc/pre-re/jobs/1-1/merchant.txt | 1216 ++---------- npc/pre-re/jobs/1-1/swordman.txt | 674 +------ npc/pre-re/jobs/1-1/thief.txt | 587 ++---- npc/re/jobs/1-1/acolyte.txt | 454 +++-- npc/re/jobs/1-1/archer.txt | 108 +- npc/re/jobs/1-1/mage.txt | 272 ++- npc/re/jobs/1-1/merchant.txt | 173 +- npc/re/jobs/1-1/swordman.txt | 130 +- npc/re/jobs/1-1/thief.txt | 385 ++-- 39 files changed, 19500 insertions(+), 13057 deletions(-) (limited to 'npc/re/jobs/1-1/swordman.txt') diff --git a/npc/jobs/2-1/assassin.txt b/npc/jobs/2-1/assassin.txt index 7f8febe58..a9919e6b2 100644 --- a/npc/jobs/2-1/assassin.txt +++ b/npc/jobs/2-1/assassin.txt @@ -1,56 +1,20 @@ //===== rAthena Script ======================================= -//= Assassin Job Quest +// Assassin Job change Quest //===== By: ================================================== -//= kobra_k88 +//= Masao +//= Credits: Muad_Dib //===== Current Version: ===================================== -//= 3.5 +//= 1.0 //===== Compatible With: ===================================== -//= rAthena SVN +//= Any rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job Change quest for Assassin class. +//= [Translated from the Official] +//= Job change Quest from Thief -> Assassin. //===== 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] +//= 1.0 Updated to latest available official file. [Masao] //============================================================ -in_moc_16,19,33,1 script Guildsman#asn 55,{ +in_moc_16,19,33,1 script Guildsman 55,{ if (Upper == 1) { mes "[Ferocious-looking guy]"; mes "Hm? You....?"; @@ -60,7 +24,7 @@ in_moc_16,19,33,1 script Guildsman#asn 55,{ 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) { + if (SkillPoint != 0) { 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; @@ -96,11 +60,22 @@ in_moc_16,19,33,1 script Guildsman#asn 55,{ set ASSIN_Q,0; set ASSIN_Q2,0; set ASSIN_Q3,0; + if(checkquest(8000)){ + erasequest 8000; + } else if(checkquest(8001)){ + erasequest 8001; + } else if(checkquest(8002)){ + erasequest 8002; + } else if(checkquest(8003)){ + erasequest 8003; + } else if(checkquest(8004)){ + erasequest 8004; + } savepoint "in_moc_16",18,14; warp "in_moc_16",18,14; end; } - if (BaseJob == Job_Thief && countitem(1008) == 0 && ASSIN_Q > 7) { + if ((Class == Job_Baby_Thief || Class == 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; @@ -111,7 +86,7 @@ in_moc_16,19,33,1 script Guildsman#asn 55,{ 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) { + if ((Class == Job_Baby_Thief || Class == 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; @@ -126,19 +101,23 @@ in_moc_16,19,33,1 script Guildsman#asn 55,{ mes "......"; next; delitem 1008,1; //Frozen_Heart - changequest 8007,8008; mes "[Assassin Expert 'Huey']"; mes "Alright!"; mes "You've been approved!"; next; + if(Class == Job_Baby_Thief){ + jobchange Job_Baby_Assassin; + } else { + jobchange Job_Assassin; + } + set FJOB,Job_Guillotine_Cross; + changequest 8007,8008; 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) { + if ((countitem(1008) > 0) && (Class == Job_Baby_Thief || Class == Job_Thief) && (ASSIN_Q < 7)) { mes "[Ferocious-looking guy]"; mes "Eh?"; mes "What do you want?"; @@ -163,138 +142,128 @@ in_moc_16,19,33,1 script Guildsman#asn 55,{ 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 (Class == Job_Baby || Class == 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; + } + if (Class == Job_Swordman || Class == Job_Knight || Class == Job_Crusader) { + 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; + } + if (Class == Job_Mage || Class == Job_Wizard || Class == Job_Sage) { mes "[Ferocious-looking guy]"; - mes "What brings you here?"; - mes "I don't think I like the way you're looking at me... Punk."; + mes "Now what would a magic user be doing here?"; 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 "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; + } + if (Class == Job_Archer || Class == Job_Hunter || Class == Job_Bard || Class == Job_Dancer) { + 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; + } + if (Class == Job_Acolyte || Class == Job_Priest || Class == Job_Monk) { + 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; + } + if (Class == Job_Merchant || Class == Job_Blacksmith || Class == Job_Alchemist) { + mes "[Ferocious-looking guy]"; + mes "We don't like greedy people around these parts. You better sell your stuff somewhere else, Moneybags."; + close; + } + if (Class == 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; + } + if (Class == Job_Baby_Assassin || Class == 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; + } + if ((Classe == Job_Baby_Thief || Class == Job_Thief) && (JobLevel > 39)) { + if (SkillPoint != 0) { mes "[Ferocious-looking guy]"; - mes "We don't like greedy people around these parts. You better sell your stuff somewhere else, Moneybags."; + 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 if (BaseJob == Job_Rogue) { + 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 "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 "It's been a while since I've received a guest. I'm sending"; + mes "you to the office."; + close2; + set ASSIN_Q,0; + warp "in_moc_16",19,76; + end; + case 2: mes "[Ferocious-looking guy]"; - mes "By the way..."; - mes "Have you ever seen"; - mes "a girl named Markie?"; + 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 "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."; + 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; - } - 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; + case 3: 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."; + mes "Hmm..."; + mes "Alright then."; + mes "But come back when"; + mes "you think you're ready."; close; } } + 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; + 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."; @@ -302,7 +271,7 @@ in_moc_16,25,90,1 script Guildsman#ASN2 730,2,2,{ close; OnTouch: - if (ASSIN_Q2 == 4) { + if (ASSIN_Q3 == 4) { mes "[Assassin 'Khai']"; mes "Ehhh?"; mes "Didn't you just"; @@ -328,7 +297,7 @@ OnTouch: 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!")) { + 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!!!"; @@ -382,14 +351,15 @@ OnTouch: close; case 2: mes "[Assassin 'Khai']"; - if (sex) { + if (Sex == 1) { 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 + 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..."; @@ -411,6 +381,7 @@ OnTouch: mes "seem depressing to you?"; close; case 3: + set .@assassin_quiz,rand(1,3); mes "[Assassin 'Khai']"; mes "...Hm."; next; @@ -425,12 +396,12 @@ OnTouch: 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) { + switch (select("...Got you.:...I'm confused.")) { + case 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: + if (.@assassin_quiz == 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; @@ -446,8 +417,8 @@ OnTouch: 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: + } + if (.@assassin_quiz == 2) { mes "[Assassin 'Khai']"; mes "'Sharpened Legbone of Ghoul' possesses the Undead property."; next; @@ -470,8 +441,8 @@ OnTouch: mes "[Assassin 'Khai']"; mes "You know elemental weapons? The names of Blacksmiths are engraved on them usually..."; next; - break; - case 3: + } + else { 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; @@ -508,104 +479,113 @@ OnTouch: close2; warp "in_moc_16",19,144; end; + case 2: + 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; } + } + } + mes "[Assassin 'Khai']"; + mes "Oh, you must be an Assassin trainee. You are here to become"; + mes "an Assassin, aren't you?"; + next; + switch (select("Yes, I am. :...No, I'm not.")) { + case 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 "^666666*Sigh...*^000000"; - mes "How can you not understand the concept of dignity? You just showed some to me just now!"; + mes "Wait, Job level " + JobLevel + "?! I can see you've been training pretty hard! My bosses will like this~"; next; mes "[Assassin 'Khai']"; - mes "Oh, I get it. It wasn't pride you were showing, you were just being a jerk!"; + 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 "Grrrrr..."; - mes "WARP PORTAL!"; + mes "Alright then,"; + mes "best of luck to you!"; close2; - warp "c_tower4",64,76; + set ASSIN_Q2,1; + set ASSIN_Q,1; + setquest 8001; + warp "in_moc_16",19,144; 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) { + if (JobLevel < 49) { mes "[Assassin 'Khai']"; - mes "Okay, good. Let's fill out the application form. Please sign your name and include your job level."; + mes "Well, you passed"; + mes "the requirements."; + mes "Not bad at all."; next; mes "[Assassin 'Khai']"; - mes "Let's see."; - mes "Your name is"; - mes "" + strcharinfo(0) + "..."; - mes "Job level " + JobLevel + "..."; + mes "Go ahead and give"; + mes "me the form when you're"; + mes "done filling it out."; + mes "Alright, thanks."; 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; - } + mes "[Assassin 'Khai']"; + mes "I'll transport you"; + mes "to the Test Hall."; + mes "Best of luck~"; + close2; + set ASSIN_Q2,2; + set ASSIN_Q,1; + setquest 8001; + 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; + case 2: + mes "[Assassin 'Khai']"; + mes "Huh...?"; + mes "What, are you trying to trick me or something? Don't you wanna be an Assassin?"; + next; + switch (select("No.:Yes, I want to be an Assassin.")) { + case 1: 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; + mes "Eh, get outta here."; + mes "Stop wastin' my time..."; + close2; + set ASSIN_Q,0; + set ASSIN_Q2,0; + set ASSIN_Q3,0; + if(checkquest(8000)){ + erasequest 8000; + } else if(checkquest(8001)){ erasequest 8001; - warp "moc_fild16",206,229; - end; + } else if(checkquest(8002)){ + erasequest 8002; + } else if(checkquest(8003)){ + erasequest 8003; + } else if(checkquest(8004)){ + erasequest 8004; } + warp "moc_fild16",206,229; + end; + case 2: mes "[Assassin 'Khai']"; mes "..."; mes "What the hell?"; @@ -627,13 +607,13 @@ OnTouch: 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_Q2,1; set ASSIN_Q,1; - changequest 8001,8002; + setquest 8001; warp "in_moc_16",19,144; end; } - else if (JobLevel < 49) { + 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; @@ -641,501 +621,726 @@ OnTouch: 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_Q2,2; set ASSIN_Q,1; - changequest 8001,8002; + setquest 8001; 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; - } + 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,{ +in_moc_16,19,154,0 script nameless_one 139,8,2,{ + OnTouch: - if (ASSIN_Q2 < 5) { - if (ASSIN_Q2 < 3) { + if (ASSIN_Q3 < 1) { + 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 "Welcome, guest."; - mes "Mwahaha, it's useless"; - mes "to try to find or see me..."; + mes "Now I see that"; + mes "you're nothing"; + mes "but a wimp."; next; mes "[The Anonymous One]"; - mes "I am perfectly hidden!"; - mes "To become undetectable can only be done by the greatest Assassins!"; - next; + 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_Q3,0; + while (1) { + switch (select("...Skills?:...Stats?:Hmpf, I know it all.")) { + case 1: 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..."; + mes "Skills...?"; + mes "Although skills can have circumstantial applications, I will tell you about the basic concepts."; 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?!"; + 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 "A river of blood follows my every footstep. I am nameless, for the sting of my blades is all anyone needs to know."; + 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 "I am here to test your knowledge, as well as your capacity for heartlessness. Those are both necessary to become an Assassin."; + 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 "For your challenge, you must"; - mes "answer my questions correctly. Very difficult questions that only an Assassin can answer."; + 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 "Although I am heartless,"; - mes "I am not necessarily cruel. Before we proceed, is there anything you wish to know?"; + 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; - 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."; + 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 "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..."; + 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 "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."; + mes "Since it's a ranged attack, it can be very useful when you're surrounded by enemies."; 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..."; + 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 "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..."; + 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 "You must answer 9 questions out of 10 correctly. If you miss more then one question, you can never become an Assassin."; + 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 "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."; + 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; - 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?"; + 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; - 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?"; + 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; - 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?"; + mes "You can learn the Venom Dust skill after you learn Level 5 Enchant Poison."; 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?"; + 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; - 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?"; + 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; - 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."; + mes "Now..."; + mes "That's all I have to tell you"; + mes "about Assassin skills."; + set ASSIN_Q3,1; next; - if (select("Poisoned target.:Red Gemstone.:Remaing HP of Target.") == 2) - set .@assassin_t,.@assassin_t+10; + break; + case 2: mes "[The Anonymous One]"; - mes "8. Which monster is weak to a weapon with Vadon card (adds 20% damage on Fire property monster)?"; + mes "Hmm, Stats..."; + mes "For Assassins, Agility, or AGI, is the most important stat."; 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?"; + mes "For the sake of assassination, STR is probably the second most important stat. But that is only my recommendation."; 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?"; + 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_Q3,2; 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: + case 3: + if (ASSIN_Q3 == 0) { + mes "[The Anonymous One]"; + mes "Know everything do you?!"; + mes "I'll be the judge of that!"; + set ASSIN_Q3,3; + changequest 8001,8002; + next; + break; + } else { + set ASSIN_Q3,3; + changequest 8001,8002; + break; + } + break; + } + } + if(ASSIN_Q == 3){ + 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; + set .@assassin_quiz,rand(1,3); + set @assassin_t, 0; + mes "[The Anonymous One]"; + mes "Are you ready?"; + mes "Prepare yourself!"; + next; + if (.@assassin_quiz == 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; + next; + } + } + if (.@assassin_quiz == 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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: + if (select("Drake:Megalodon:Spore:Khalitzburg") == 3) { + set @assassin_t,@assassin_t + 10; + next; + } + } else { 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; + 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; + 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; + 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; + if (select("Prontera:Lutie:Alberta:Morroc") == 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; + 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; + select("Excellent singing talent:Excellent reading talent:Excellent dancing talent:Excellent dodge ability"); + 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; + 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; + 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")) { + 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: + set @assassin_t,@assassin_t + 10; + case 2: break; + case 3: + set @assassin_t,@assassin_t + 10; + case 4: } 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 (select("Whisper Card:Elder Willow Card:Soldier Skeleton Card:Cobold Card") == 2) { + set @assassin_t,@assassin_t + 10; + next; + } } - if (ASSIN_Q2 == 3) { + 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_Q3,5; + mes "Well done."; + mes "You pass."; next; mes "[The Anonymous One]"; - mes "Hmpf."; - mes "Somehow, you"; - mes "have shown me"; - mes "great effort."; + mes "However, another test awaits you. When you go inside the next area, you will receive your instructions..."; + close; + } + set ASSIN_Q3,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; + } + if (ASSIN_Q3 < 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,241; + 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; + set @assassin_quiz,rand(1,3); + set @assassin_t,0; + mes "[The Anonymous One]"; + mes "Okay,"; + mes "are you ready?"; + mes "Good luck."; + next; + if (.@assassin_quiz == 1) { + mes "[The Anonymous One]"; + mes "1. Choose the skill that is not required to learn Grimtooth."; next; + if (select("Level 2 Cloaking:Level 5 Sonic Blow:Level 4 Katar Mastery:Level 2 Right hand Mastery") == 4) { + set @assassin_t,@assassin_t + 10; + } 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; + mes "2. What property does Enchant Poison possess?"; + next; + if (select("Poison:Earth:Fire:Wind") == 1) { + set @assassin_t,@assassin_t + 10; } - 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."; + mes "[The Anonymous One]"; + mes "3. How does Level 4 'Right hand Mastery' work?"; + next; + if (select("Recover 80% of damage decrement:Recover 90% of damage decrement: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 become invisible while moving?"; + next; + if (select("Hiding:Back Slide:Cloaking:Sand Attack") == 3) { + set @assassin_t,@assassin_t + 10; + } + mes "[The Anonymous One]"; + mes "7. From the following, choose the thing unrelated to using Venom Splasher."; + next; + if (select("Poisoned target.:Red Gemstone.:Remaining 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 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 use?"; + next; + if (select("15:It's a passive skill and doesn't use SP.:It's a passive skill, so it uses 10 SP.:54") == 2) { + set @assassin_t,@assassin_t + 10; + } + mes "[The Anonymous One]"; + mes "10. What is the best elemental Main Gauche to use when 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; 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) { + if (.@assassin_quiz == 2) { + mes "[The Anonymous One]"; + mes "1. Which monster drops"; + mes "a slotted Katar?"; next; + if (select("Thief Bug:Peco Peco:Desert Wolf:Hammer Cobold") == 3) { + set @assassin_t,@assassin_t + 10; + } mes "[The Anonymous One]"; - mes "You showed"; - mes "great effort..."; + mes "2. Which monster"; + mes "a slotted Jur?"; next; + if (select("Martin:Desert Wolf:Marionette:Myst") == 1) { + set @assassin_t,@assassin_t + 10; + } 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; + mes "3. Which class is allowed to craft elemental weapons?"; + next; + if (select("Merchant:Blacksmith:Thief:Priest") == 2) { + set @assassin_t,@assassin_t + 10; } - 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."; + mes "[The Anonymous One]"; + mes "4. Choose a weapon which is not 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 possess?"; + 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."; + 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; next; - mes "[The Anonymous One]"; - mes "Go ask 'Khai,' the guy who takes care of your test application, maybe he will help you."; + } + } + else { + mes "[The Anonymous One]"; + mes "1. When the 'Increase Dodge' skill is at Level 10, by how much is the maximum dodge rate increased?"; + next; + if (select("30:40:160:20") == 1) { + set @assassin_t,@assassin_t + 10; + } + mes "[The Anonymous One]"; + mes "2. Choose the monster which detects hiding/cloaking Thief/Assassin."; + next; + if (select("Worm Tail:Andre:Mummy:Soldier Skeleton") == 2) { + set @assassin_t,@assassin_t + 10; + } + mes "[The Anonymous One]"; + mes "3. Choose the group of weapons that cannot be used by an Assassin at the same time."; + 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 the Thief job change resides."; + next; + if (select("Prontera:Lutie:Alberta:Morroc") == 4) { + set @assassin_t,@assassin_t + 10; + } + mes "[The Anonymous One]"; + mes "5. Choose the 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 specialty that applies to Assassins."; + next; + select("Excellent singing talent:Excellent acting talent:Excellent dancing talent:Excellent dodge ability"); + set @assassin_t,@assassin_t + 10; + mes "[The Anonymous One]"; + mes "7. Choose the maximum AGI bonus that 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"; + mes "job change item"; + mes "for a Thief."; + next; + switch (select("Orange Gooey Mushroom:Red Gooey Mushroom:Orange Net Mushroom:Orange Hair Mushroom")) { + case 1: + set @assassin_t,@assassin_t + 10; + case 2: + break; + case 3: + set @assassin_t,@assassin_t + 10; + case 4: + } + mes "[The Anonymous One]"; + mes "10. Choose a card that would benefit Assassins the least."; + next; + if (select("Whisper card:Elder Willow card:Soldier Skeleton card:Cobold card") == 2) { + set @assassin_t,@assassin_t + 10; 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; + 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_Q3,5; + 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; + } + set ASSIN_Q3,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; } + 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"; + hideonnpc "Standby Room#ASNTEST"; waitingroom "Standby Room",10,"Standby Room#ASNTEST::OnStartArena",1; enablewaitingroomevent; end; OnStartArena: - warpwaitingpc "in_moc_16", 66, 151; + warpwaitingpc "in_moc_16",66,151; attachrid($@warpwaitingpc[0]); - if(ASSIN_Q2<5) - { + if(ASSIN_Q2<5) { warpchar "in_moc_16",20,145,getcharid(0); end; } - donpcevent "Beholder#ASNTEST::OnEnable"; + donpcevent "Beholder#ASNTEST2::OnEnable"; donpcevent "Keeper of the Door#ASN::OnDisable"; - set getvariableofnpc(.DisableTraps,"Beholder#ASNTEST"),0; - disablewaitingroomevent; + donpcevent "backers#ASN::OnDisable"; + donpcevent "traps#ASN::OnEnable"; + disablewaitingroomevent end; -OnStart: +OnReset: enablewaitingroomevent; end; } in_moc_16,21,165,2 script Test Guide#ASN 725,4,4,{ - end; OnTouch: - if (ASSIN_Q2 < 5) { + if (ASSIN_Q3 < 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) { + if ((ASSIN_Q == 1) && (ASSIN_Q3 == 5)) { mes "[Barcardi]"; mes "" + strcharinfo(0) + "..."; mes "You passed the test..?"; @@ -1168,124 +1373,90 @@ OnTouch: 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."; + changequest 8002,8003; 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 "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 "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; + 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..."; + set ASSIN_Q,0; + set ASSIN_Q2,0; + set ASSIN_Q3,0; + erasequest 8000; + erasequest 8001; + erasequest 8002; + erasequest 8003; + erasequest 8004; + close2; + warp "in_moc_16",19,13; + end; } -in_moc_16,1,1,0 script Beholder#ASNTEST -1,{ +in_moc_16,1,1,0 script Beholder#ASNTEST 139,{ + end; + +OnInit: + hideonnpc "Beholder#ASNTEST"; end; OnEnable: - set .MyMobs,6; - // Target mobs + hideoffnpc "Beholder#ASNTEST"; 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"; + donpcevent "Standby Room#ASNTEST::OnReset"; 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) { + if (mobcount ("in_moc_16","Beholder#ASNTEST::OnMyMobDead") < 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; + donpcevent "Beholder#ASNTEST2::OnReset"; stopnpctimer; + donpcevent "Beholder#ASNTEST::OnDisable"; + donpcevent "Beholder#ASNTEST2::OnDisable"; } 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"; +OnDisable: + hideonnpc "Beholder#ASNTEST"; end; OnTimer1000: @@ -1304,199 +1475,474 @@ 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; +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; + end; + +OnTimer185500: + 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: + donpcevent "backers#ASN::OnEnable"; + end; + +OnTimer186500: + donpcevent "backers#ASN::OnDisable"; + end; + +OnTimer187000: + donpcevent "Beholder#ASNTEST::OnReset"; + donpcevent "Beholder#ASNTEST2::OnReset"; + donpcevent "Beholder#ASNTEST::OnDisable"; + donpcevent "Beholder#ASNTEST2::OnDisable"; + end; +} + +in_moc_16,76,158,0 script backers#ASN 139,20,20,{ + +OnTouch: + warp "in_moc_16",19,161; + end; + +OnInit: + hideonnpc "backers#ASN"; end; -OnTimer65000: - mapannounce "in_moc_16","2 minutes left. As I've told you, get the 'Job change target' monsters!",bc_map; +OnEnable: + donpcevent "job_asn_test::OnDisable"; + hideoffnpc "backers#ASN"; end; -OnTimer125000: - mapannounce "in_moc_16","1 minute left.",bc_map; +OnDisable: + hideonnpc "backers#ASN"; end; +} -OnTimer180000: - mapannounce "in_moc_16","5 seconds left...",bc_map; +in_moc_16,1,1,0 script traps#ASN 139,{ end; - -OnTimer181000: - mapannounce "in_moc_16","4 seconds left...",bc_map; + +OnEnable: + donpcevent "job_asn_test::OnEnable"; end; +} -OnTimer182000: - mapannounce "in_moc_16","3 seconds left...",bc_map; +in_moc_16,2,1,0 script Beholder#ASNTEST2 139,{ end; -OnTimer183000: - mapannounce "in_moc_16","2 seconds left...",bc_map; +OnInit: + hideonnpc "Beholder#ASNTEST2"; end; -OnTimer184000: - mapannounce "in_moc_16","1 second left.",bc_map; +OnReset: + killmonster "in_moc_16","Beholder#ASNTEST2::OnMyMobDead"; 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; +OnDisable: + hideonnpc "Beholder#ASNTEST2"; end; -OnTimer186000: - areawarp "in_moc_16",60,136,93,177,"in_moc_16",19,161; +OnEnable: + hideoffnpc "Beholder#ASNTEST2"; + monster "in_moc_16",62,161,"Job change creature",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",85,169,"Job change creature",1031,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",79,174,"Job change creature",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",85,156,"Job change creature",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",74,171,"Job change monster",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",68,173,"Job change dummy",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",65,158,"Battle test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",60,158,"Warrior test target",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",64,169,"Job change targets",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",71,173,"Jobs change target",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",77,172,"Please don't hit me",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",76,172,"Job change sample",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",75,172,"Not me",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",67,167,"I got yours right here",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",86,170,"Job changes target",1031,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",86,171,"Job quest target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",86,170,"Job target change",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",86,173,"Hit me",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",85,170,"Battle Monster",1031,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",89,156,"Bouncer",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",89,156,"Mungamorp",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",89,156,"Battle test target",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",89,156,"Dew of the Battle field",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",89,156,"Tear of test",1031,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",83,169,"Evil Druid",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",63,158,"Doppelganger",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",63,157,"Job change dummy",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",64,159,"Job ready dummy",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",63,159,"Job change ready",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",63,159,"Archer test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",63,159,"Swordman test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",83,148,"Thief test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",82,148,"Acolyte test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; + monster "in_moc_16",84,148,"Merchant test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; end; -OnTimer187000: +OnMyMobDead: + 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"; + donpcevent "Beholder#ASNTEST2::OnReset"; + donpcevent "Beholder#ASNTEST::OnDisable"; + donpcevent "Beholder#ASNTEST2::OnDisable"; end; } -in_moc_16,68,158,0 script 01_1::SinTrap -1,0,0,{ +- script job_asn_test::jasntdups -1,{ + 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"; - } + 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::OnReset"; + donpcevent "Beholder#ASNTEST2::OnReset"; + donpcevent "Beholder#ASNTEST::OnDisable"; + donpcevent "Beholder#ASNTEST2::OnDisable"; + end; + +OnEnable: + hideoffnpc "01_1"; + hideoffnpc "01_2"; + hideoffnpc "01_3"; + hideoffnpc "01_4"; + hideoffnpc "02_1"; + hideoffnpc "02_2"; + hideoffnpc "02_3"; + hideoffnpc "02_4"; + hideoffnpc "03_1"; + hideoffnpc "03_2"; + hideoffnpc "03_3"; + hideoffnpc "03_4"; + hideoffnpc "04_1"; + hideoffnpc "04_2"; + hideoffnpc "04_3"; + hideoffnpc "04_4"; + hideoffnpc "05_1"; + hideoffnpc "05_2"; + hideoffnpc "05_3"; + hideoffnpc "05_4"; + hideoffnpc "06_1"; + hideoffnpc "06_2"; + hideoffnpc "06_3"; + hideoffnpc "06_4"; + hideoffnpc "07_1"; + hideoffnpc "07_2"; + hideoffnpc "07_3"; + hideoffnpc "07_4"; + hideoffnpc "08_1"; + hideoffnpc "08_2"; + hideoffnpc "08_3"; + hideoffnpc "08_4"; + hideoffnpc "09_1"; + hideoffnpc "09_2"; + hideoffnpc "09_3"; + hideoffnpc "09_4"; + hideoffnpc "10_1"; + hideoffnpc "10_2"; + hideoffnpc "10_3"; + hideoffnpc "10_4"; + hideoffnpc "10_5"; + hideoffnpc "10_6"; + hideoffnpc "10_7"; + hideoffnpc "10_8"; + hideoffnpc "11_1"; + hideoffnpc "11_2"; + hideoffnpc "11_3"; + hideoffnpc "11_4"; + hideoffnpc "12_1"; + hideoffnpc "12_2"; + hideoffnpc "12_3"; + hideoffnpc "12_4"; + hideoffnpc "13_1"; + hideoffnpc "13_2"; + hideoffnpc "13_3"; + hideoffnpc "13_4"; + hideoffnpc "14_1"; + hideoffnpc "14_2"; + hideoffnpc "14_3"; + hideoffnpc "14_4"; + hideoffnpc "14_5"; + hideoffnpc "14_6"; + hideoffnpc "14_7"; + hideoffnpc "14_8"; + hideoffnpc "14_9"; + hideoffnpc "14_10"; + hideoffnpc "14_11"; + hideoffnpc "14_12"; + hideoffnpc "15_1"; + hideoffnpc "15_2"; + hideoffnpc "15_3"; + hideoffnpc "15_4"; + hideoffnpc "16_1"; + hideoffnpc "16_2"; + hideoffnpc "16_3"; + hideoffnpc "16_4"; + hideoffnpc "17_1"; + hideoffnpc "17_2"; + hideoffnpc "17_3"; + hideoffnpc "17_4"; + hideoffnpc "18_1"; + hideoffnpc "18_2"; + hideoffnpc "18_3"; + hideoffnpc "18_4"; + end; + +OnDisable: + hideonnpc "01_1"; + hideonnpc "01_2"; + hideonnpc "01_3"; + hideonnpc "01_4"; + hideonnpc "02_1"; + hideonnpc "02_2"; + hideonnpc "02_3"; + hideonnpc "02_4"; + hideonnpc "03_1"; + hideonnpc "03_2"; + hideonnpc "03_3"; + hideonnpc "03_4"; + hideonnpc "04_1"; + hideonnpc "04_2"; + hideonnpc "04_3"; + hideonnpc "04_4"; + hideonnpc "05_1"; + hideonnpc "05_2"; + hideonnpc "05_3"; + hideonnpc "05_4"; + hideonnpc "06_1"; + hideonnpc "06_2"; + hideonnpc "06_3"; + hideonnpc "06_4"; + hideonnpc "07_1"; + hideonnpc "07_2"; + hideonnpc "07_3"; + hideonnpc "07_4"; + hideonnpc "08_1"; + hideonnpc "08_2"; + hideonnpc "08_3"; + hideonnpc "08_4"; + hideonnpc "09_1"; + hideonnpc "09_2"; + hideonnpc "09_3"; + hideonnpc "09_4"; + hideonnpc "10_1"; + hideonnpc "10_2"; + hideonnpc "10_3"; + hideonnpc "10_4"; + hideonnpc "10_5"; + hideonnpc "10_6"; + hideonnpc "10_7"; + hideonnpc "10_8"; + hideonnpc "11_1"; + hideonnpc "11_2"; + hideonnpc "11_3"; + hideonnpc "11_4"; + hideonnpc "12_1"; + hideonnpc "12_2"; + hideonnpc "12_3"; + hideonnpc "12_4"; + hideonnpc "13_1"; + hideonnpc "13_2"; + hideonnpc "13_3"; + hideonnpc "13_4"; + hideonnpc "14_1"; + hideonnpc "14_2"; + hideonnpc "14_3"; + hideonnpc "14_4"; + hideonnpc "14_5"; + hideonnpc "14_6"; + hideonnpc "14_7"; + hideonnpc "14_8"; + hideonnpc "14_9"; + hideonnpc "14_10"; + hideonnpc "14_11"; + hideonnpc "14_12"; + hideonnpc "15_1"; + hideonnpc "15_2"; + hideonnpc "15_3"; + hideonnpc "15_4"; + hideonnpc "16_1"; + hideonnpc "16_2"; + hideonnpc "16_3"; + hideonnpc "16_4"; + hideonnpc "17_1"; + hideonnpc "17_2"; + hideonnpc "17_3"; + hideonnpc "17_4"; + hideonnpc "18_1"; + hideonnpc "18_2"; + hideonnpc "18_3"; + hideonnpc "18_4"; 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,68,158,0 duplicate(jasntdups) 01_1 139 +in_moc_16,69,158,0 duplicate(jasntdups) 01_2 139 +in_moc_16,68,159,0 duplicate(jasntdups) 01_3 139 +in_moc_16,69,159,0 duplicate(jasntdups) 01_4 139 +in_moc_16,64,162,0 duplicate(jasntdups) 02_1 139 +in_moc_16,65,162,0 duplicate(jasntdups) 02_2 139 +in_moc_16,64,163,0 duplicate(jasntdups) 02_3 139 +in_moc_16,65,163,0 duplicate(jasntdups) 02_4 139 +in_moc_16,62,168,0 duplicate(jasntdups) 03_1 139 +in_moc_16,63,168,0 duplicate(jasntdups) 03_2 139 +in_moc_16,62,169,0 duplicate(jasntdups) 03_3 139 +in_moc_16,63,169,0 duplicate(jasntdups) 03_4 139 +in_moc_16,66,170,0 duplicate(jasntdups) 04_1 139 +in_moc_16,67,170,0 duplicate(jasntdups) 04_2 139 +in_moc_16,66,171,0 duplicate(jasntdups) 04_3 139 +in_moc_16,67,171,0 duplicate(jasntdups) 04_4 139 +in_moc_16,64,174,0 duplicate(jasntdups) 05_1 139 +in_moc_16,64,175,0 duplicate(jasntdups) 05_2 139 +in_moc_16,65,174,0 duplicate(jasntdups) 05_3 139 +in_moc_16,65,175,0 duplicate(jasntdups) 05_4 139 +in_moc_16,72,174,0 duplicate(jasntdups) 06_1 139 +in_moc_16,72,175,0 duplicate(jasntdups) 06_2 139 +in_moc_16,73,174,0 duplicate(jasntdups) 06_3 139 +in_moc_16,73,175,0 duplicate(jasntdups) 06_4 139 +in_moc_16,72,166,0 duplicate(jasntdups) 07_1 139 +in_moc_16,72,167,0 duplicate(jasntdups) 07_2 139 +in_moc_16,73,166,0 duplicate(jasntdups) 07_3 139 +in_moc_16,73,167,0 duplicate(jasntdups) 07_4 139 +in_moc_16,72,168,0 duplicate(jasntdups) 08_1 139 +in_moc_16,72,169,0 duplicate(jasntdups) 08_2 139 +in_moc_16,73,168,0 duplicate(jasntdups) 08_3 139 +in_moc_16,73,169,0 duplicate(jasntdups) 08_4 139 +in_moc_16,78,168,0 duplicate(jasntdups) 09_1 139 +in_moc_16,78,169,0 duplicate(jasntdups) 09_2 139 +in_moc_16,79,168,0 duplicate(jasntdups) 09_3 139 +in_moc_16,79,169,0 duplicate(jasntdups) 09_4 139 +in_moc_16,80,172,0 duplicate(jasntdups) 10_1 139 +in_moc_16,81,172,0 duplicate(jasntdups) 10_2 139 +in_moc_16,82,172,0 duplicate(jasntdups) 10_3 139 +in_moc_16,83,172,0 duplicate(jasntdups) 10_4 139 +in_moc_16,80,173,0 duplicate(jasntdups) 10_5 139 +in_moc_16,81,173,0 duplicate(jasntdups) 10_6 139 +in_moc_16,82,173,0 duplicate(jasntdups) 10_7 139 +in_moc_16,83,173,0 duplicate(jasntdups) 10_8 139 +in_moc_16,88,174,0 duplicate(jasntdups) 11_1 139 +in_moc_16,88,175,0 duplicate(jasntdups) 11_2 139 +in_moc_16,89,174,0 duplicate(jasntdups) 11_3 139 +in_moc_16,89,175,0 duplicate(jasntdups) 11_4 139 +in_moc_16,86,166,0 duplicate(jasntdups) 12_1 139 +in_moc_16,86,167,0 duplicate(jasntdups) 12_2 139 +in_moc_16,87,166,0 duplicate(jasntdups) 12_3 139 +in_moc_16,87,167,0 duplicate(jasntdups) 12_4 139 +in_moc_16,90,164,0 duplicate(jasntdups) 13_1 139 +in_moc_16,90,165,0 duplicate(jasntdups) 13_2 139 +in_moc_16,91,164,0 duplicate(jasntdups) 13_3 139 +in_moc_16,91,165,0 duplicate(jasntdups) 13_4 139 +in_moc_16,84,160,0 duplicate(jasntdups) 14_1 139 +in_moc_16,85,160,0 duplicate(jasntdups) 14_2 139 +in_moc_16,86,160,0 duplicate(jasntdups) 14_3 139 +in_moc_16,87,160,0 duplicate(jasntdups) 14_4 139 +in_moc_16,88,160,0 duplicate(jasntdups) 14_5 139 +in_moc_16,89,160,0 duplicate(jasntdups) 14_6 139 +in_moc_16,84,161,0 duplicate(jasntdups) 14_7 139 +in_moc_16,85,161,0 duplicate(jasntdups) 14_8 139 +in_moc_16,86,161,0 duplicate(jasntdups) 14_9 139 +in_moc_16,87,161,0 duplicate(jasntdups) 14_10 139 +in_moc_16,88,161,0 duplicate(jasntdups) 14_11 139 +in_moc_16,89,161,0 duplicate(jasntdups) 14_12 139 +in_moc_16,86,154,0 duplicate(jasntdups) 15_1 139 +in_moc_16,86,155,0 duplicate(jasntdups) 15_2 139 +in_moc_16,87,154,0 duplicate(jasntdups) 15_3 139 +in_moc_16,87,155,0 duplicate(jasntdups) 15_4 139 +in_moc_16,84,150,0 duplicate(jasntdups) 16_1 139 +in_moc_16,84,151,0 duplicate(jasntdups) 16_2 139 +in_moc_16,85,150,0 duplicate(jasntdups) 16_3 139 +in_moc_16,85,151,0 duplicate(jasntdups) 16_4 139 +in_moc_16,90,150,0 duplicate(jasntdups) 17_1 139 +in_moc_16,90,151,0 duplicate(jasntdups) 17_2 139 +in_moc_16,91,150,0 duplicate(jasntdups) 17_3 139 +in_moc_16,91,151,0 duplicate(jasntdups) 17_4 139 +in_moc_16,86,146,0 duplicate(jasntdups) 18_1 139 +in_moc_16,86,147,0 duplicate(jasntdups) 18_2 139 +in_moc_16,87,146,0 duplicate(jasntdups) 18_3 139 +in_moc_16,87,147,0 duplicate(jasntdups) 18_4 139 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) + donpcevent "Thomas#ASNTEST::OnReset"; + if (ASSIN_Q == 3) { set ASSIN_Q,3; - else + } + else { set ASSIN_Q,4; - warp "in_moc_16",87,102; + } savepoint "in_moc_16",16,13; + warp "in_moc_16",87,102; 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"; + hideoffnpc "Keeper of the Door#ASN"; end; OnDisable: - disablenpc "Keeper of the Door#ASN"; + hideonnpc "Keeper of the Door#ASN"; + end; + +OnInit: + hideonnpc "Keeper of the Door#ASN"; end; } -in_moc_16,3,3,0 script timestopper#1 -1,{ +in_moc_16,3,3,0 script timestopper#1 139,{ + end; + OnEnable: initnpctimer; end; OnTimer187000: - donpcevent "Thomas#ASNTEST::OnDisable"; + donpcevent "Standby Room#ASNTEST::OnReset"; + donpcevent "Thomas#ASNTEST::OnReset"; 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) { @@ -1508,7 +1954,7 @@ OnTouch: 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!")) { + switch (select("I'm gonna try it again!:I... I quit!")) { case 1: mes "[Thomas]"; mes "Hmm. Well, okay."; @@ -1522,100 +1968,120 @@ OnTouch: 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; + mapannounce "in_moc_16"," " + strcharinfo(0) + " got scared and quit the test...Who's Next?!",bc_map; + donpcevent "Standby Room#ASNTEST::OnReset"; set ASSIN_Q,0; set ASSIN_Q2,0; set ASSIN_Q3,0; - changequest 8004,8000; + erasequest 8000; + erasequest 8001; + erasequest 8002; + erasequest 8003; + erasequest 8004; savepoint "in_moc_16",18,14; warp "in_moc_16",18,14; - donpcevent "Standby Room#ASNTEST::OnStart"; - end; } + } else { + 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; + changequest 8003,8004; } + donpcevent "Thomas#ASNTEST::OnTestmode"; + 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"; +OnTestmode: + monster "in_moc_16",81,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",82,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",83,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",84,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",85,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",86,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",88,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",89,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",90,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",77,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",78,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",79,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",80,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",81,55,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",91,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",92,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",93,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",94,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",95,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",96,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",97,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",76,62,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",79,62,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",79,65,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",76,65,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",96,62,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",96,65,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",99,62,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; + monster "in_moc_16",99,65,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; end; -OnDisable: - donpcevent "Standby Room#ASNTEST::OnStart"; - killmonsterall "in_moc_16"; +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; + killmonster "in_moc_16","Thomas#ASNTEST::OnMyMobDead"; + end; + +OnReset: + killmonster "in_moc_16","Thomas#ASNTEST::OnMyMobDead"; end; } in_moc_16,87,48,2 script Barcardi#ASN 725,2,2,{ + OnTouch: donpcevent "timestopper#1::OnDisable"; - donpcevent "Thomas#ASNTEST::OnDisable"; + donpcevent "Thomas#ASNTEST::OnReset"; 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; + donpcevent "Standby Room#ASNTEST::OnReset"; 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) { + if (ASSIN_Q == 5) { + warp "in_moc_16",181,183; + set ASSIN_Q,6; + } + if (ASSIN_Q == 6) { warp "in_moc_16",181,183; - set ASSIN_Q,ASSIN_Q+1; - changequest 8005,8006; + set ASSIN_Q,7; } else { - mapannounce "in_moc_16",strcharinfo(0)+" has entered 'Guildmaster's room.'",bc_map; + 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; } + end; } -in_moc_16,167,110,0 script Guildmaster#ASN1 -1,3,1,{ +in_moc_16,167,110,0 script Guildmaster#ASN1 139,3,1,{ + OnTouch: savepoint "in_moc_16",167,110; mes "[Guildmaster]"; @@ -1629,17 +2095,27 @@ OnTouch: mes "I look forward"; mes "to meeting you"; mes "at the end of maze."; + changequest 8005,8006; close; -OnDisable: +OnCast: 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) { + 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 loose some weight. -"; + close; + } + savepoint "moc_ruins",79,99; + if ((ASSIN_Q == 7) && (Class == Job_Thief)) { set ASSIN_Q,8; mes "[Guildmaster]"; mes "Welcome."; @@ -1656,7 +2132,7 @@ OnTouch: 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.")) { + switch (select("More power.:An Assassin's pride.:Endless practice.")) { case 1: mes "[Guildmaster]"; mes "More power..."; @@ -1672,7 +2148,7 @@ OnTouch: mes "to be stronger"; mes "than you are now?"; next; - switch(select("Revenge...!:Money~:I want to travel.")) { + switch (select("Revenge...!:Money~:I want to travel.")) { case 1: set ASSIN_Q,8; mes "[Guildmaster]"; @@ -1686,7 +2162,6 @@ OnTouch: mes "Being an Assassin means"; mes "to abandon the ego."; next; - break; case 2: set ASSIN_Q,9; mes "[Guildmaster]"; @@ -1697,7 +2172,6 @@ OnTouch: mes "to abandon such worldly"; mes "attachments..."; next; - break; case 3: set ASSIN_Q,10; mes "[Guildmaster]"; @@ -1709,9 +2183,7 @@ OnTouch: 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..."; @@ -1726,7 +2198,7 @@ OnTouch: 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.")) { + switch (select("I like the solitude.:Making money being an Assassin.:They just look interesting.")) { case 1: set ASSIN_Q,11; mes "[Guildmaster]"; @@ -1741,13 +2213,11 @@ OnTouch: 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]"; @@ -1760,9 +2230,7 @@ OnTouch: 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..."; @@ -1772,7 +2240,7 @@ OnTouch: 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.")) { + switch (select("To broaden my skills.:It's a goal of mine.:For spiritual improvement.")) { case 1: set ASSIN_Q,14; mes "[Guildmaster]"; @@ -1781,7 +2249,6 @@ OnTouch: 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]"; @@ -1795,7 +2262,6 @@ OnTouch: 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]"; @@ -1805,10 +2271,9 @@ OnTouch: mes "[Guildmaster]"; mes "I hope you're not a hypocrite. Spiritual discipline is the best way for you to survive."; next; - break; } - break; } + set @assassin_sangdam,0; mes "[Guildmaster]"; mes "Sadly, there are some nit-wits who are eager to be Assassins even though they don't know anything..."; next; @@ -1821,30 +2286,29 @@ OnTouch: 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.")) { + 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.")) { + 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; + 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; + 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: + set @assassin_sangdam,@assassin_sangdam + 0; 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."; @@ -1853,24 +2317,21 @@ OnTouch: 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.")) { + switch (select("My friends.:My Guildsmen.:My lover.")) { case 1: - set .@assassin_sangdam,.@assassin_sangdam+5; + 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; + set @assassin_sangdam,@assassin_sangdam + 5; mes "[Guildmaster]"; mes "Great..."; mes "Comrades for whom you would die for..."; @@ -1878,30 +2339,30 @@ OnTouch: mes "[Guildmaster]"; mes "As an Assassin, find a job that you can do for them without them knowing.."; next; - break; case 3: + set @assassin_sangdam,@assassin_sangdam + 0; 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 ) + if (Sex == 1) { mes "But you must never reveal to her the Assassin side of your life. No matter what it takes."; - else + } + 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.")) { + switch (select("Places where Assassins can level up...:Main goals as an Assassin.:Financial consulting.")) { case 1: - set .@assassin_sangdam,.@assassin_sangdam+5; + 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; @@ -1909,17 +2370,16 @@ OnTouch: mes "You must know how to"; mes "survive in any situation."; next; - break; case 2: + set @assassin_sangdam,@assassin_sangdam + 0; 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; + 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?"; @@ -1927,9 +2387,7 @@ OnTouch: 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."; @@ -1946,13 +2404,13 @@ OnTouch: 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]"; + donpcevent "[Huey]::OnEnable"; + donpcevent "[Khai]::OnEnable"; + donpcevent "[The Anonymous One]::OnEnable"; + donpcevent "[Barcardi]::OnEnable"; + donpcevent "[Beholder]::OnEnable"; + donpcevent "[Thomas]::OnEnable"; + donpcevent "[Gayle Maroubitz]::OnEnable"; mes "[The Anonymous One]"; mes "I am here."; next; @@ -1962,7 +2420,7 @@ OnTouch: mes "[The Anonymous One]"; mes "Ah yeah..."; mes "I think"; - mes ""+ strcharinfo(0) +""; + mes "" + strcharinfo(0) + ""; mes "is decent."; next; mes "[Guildmaster]"; @@ -1971,7 +2429,7 @@ OnTouch: mes "supports you. How"; mes "about you, Huey?"; next; - if (ASSIN_Q3 == 1) { + if (ASSIN_Q2 == 1) { mes "[Huey]"; mes "A rarity."; mes "You can tell"; @@ -1980,10 +2438,9 @@ OnTouch: mes "[Huey]"; mes "I agree with"; mes "the Anonymous One."; - } - else { + } else { mes "[Huey]"; - mes "Although "+ strcharinfo(0) +" looks too mellow and gentle, kind of like a pussycat, "+ strcharinfo(0) +" has the stuff."; + 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."; @@ -2004,74 +2461,72 @@ OnTouch: 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..."; + 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: + if (ASSIN_Q == 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: + } + if (ASSIN_Q == 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: + } + if (ASSIN_Q == 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: + } + if (ASSIN_Q == 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: + } + if (ASSIN_Q == 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: + } + if (ASSIN_Q == 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: + } + if (ASSIN_Q == 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: + } + if (ASSIN_Q == 15) { mes "[Guildmaster]"; mes "Sooner or later, you will find a new goal to which you can devote yourself..."; next; - break; - case 16: + } + if (ASSIN_Q == 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; + if ((ASSIN_Q2 == 1) && (Class == Job_Baby_Thief || Class == Job_Thief) && (ASSIN_Q > 6) && (ASSIN_Q < 17)) { + set ASSIN_Q2,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")) { + 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; + next; case 2: mes "[Guildmaster]"; mes "A Katar..."; @@ -2080,43 +2535,42 @@ OnTouch: mes "I know it will"; mes "serve you well."; getitem 1253,1; //Katar_ - break; + next; case 3: mes "[Guildmaster]"; mes "I see. You want to use both hands. Here, take your Main Gauche."; getitem 1208,1; //Main_Gauche_ - break; + next; 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; } - next; - } - else { - set ASSIN_Q,17; + } else { mes "[Guildmaster]"; mes "Well, I talked too much."; mes "Please take this first."; next; - switch(rand(1,5)) { - case 1: + set .@asn_item,rand(1,5); + if (.@asn_item == 1) { getitem 1207,1; //Main_Gauche - break; - case 2: + } + if (.@asn_item == 2) { getitem 1250,1; //Jur - break; - case 3: + } + if (.@asn_item == 3) { getitem 1216,1; //Stiletto - break; - case 4: + } + if (.@asn_item == 4) { getitem 1201,1; //Knife - break; - case 5: + } + else { getitem 1252,1; //Katar } } + set ASSIN_Q,17; mes "[Guildmaster]"; mes "Well, I am giving you a token. Please return to the Assassin expert, the Ferocious-Looking Huey, at the entrance."; next; @@ -2125,24 +2579,49 @@ OnTouch: 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; + savepoint "moc_ruins",79,99; 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]"; + donpcevent "[Huey]::OnDisable"; + donpcevent "[Khai]::OnDisable"; + donpcevent "[The Anonymous One]::OnDisable"; + donpcevent "[Barcardi]::OnDisable"; + donpcevent "[Beholder]::OnDisable"; + donpcevent "[Thomas]::OnDisable"; + donpcevent "[Gayle Maroubitz]::OnDisable"; + close2; + warp "in_moc_16",17,19; + end; + } + if ((ASSIN_Q == 17) && (countitem(1008) == 0)) { + 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 "moc_ruins",79,99; + getitem 1008,1; //Frozen_Heart + 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..."; + donpcevent "[Huey]::OnDisable"; + donpcevent "[Khai]::OnDisable"; + donpcevent "[The Anonymous One]::OnDisable"; + donpcevent "[Barcardi]::OnDisable"; + donpcevent "[Beholder]::OnDisable"; + donpcevent "[Thomas]::OnDisable"; + donpcevent "[Gayle Maroubitz]::OnDisable"; + changequest 8006,8007; close2; warp "in_moc_16",17,19; end; } - else if (ASSIN_Q == 17) { + if (ASSIN_Q == 17) { mes "[Guildmaster]"; mes "Umm...?"; mes "How come you're in here...?"; @@ -2153,7 +2632,7 @@ OnTouch: warp "in_moc_16",17,19; end; } - else if (ASSIN_Q > 7 && ASSIN_Q < 17) { + 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?"; @@ -2163,16 +2642,14 @@ OnTouch: 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; - } + 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,{ @@ -2181,7 +2658,8 @@ in_moc_16,186,81,1 script Master Assist 55,1,1,{ close; } -in_moc_16,170,90,0 script info 1 -1,{ +in_moc_16,170,90,0 script info 1 139,{ + OnTouch: mes "[Guildmaster]"; mes "Huh."; @@ -2189,14 +2667,16 @@ OnTouch: close; } -in_moc_16,153,85,0 script info 2 -1,1,1,{ +in_moc_16,153,85,0 script info 2 139,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,{ +in_moc_16,160,85,0 script info 3 139,1,1,{ + OnTouch: mes "[Guildmaster]"; mes "Hmm."; @@ -2205,7 +2685,8 @@ OnTouch: close; } -in_moc_16,175,89,0 script info 4 -1,1,1,{ +in_moc_16,175,89,0 script info 4 139,1,1,{ + OnTouch: mes "[Guildmaster]"; mes "Umm..."; @@ -2213,7 +2694,8 @@ OnTouch: close; } -in_moc_16,164,88,0 script info 5 -1,{ +in_moc_16,164,88,0 script info 5 139,{ + OnTouch: mes "[Guildmaster]"; mes "Well done..."; @@ -2221,79 +2703,138 @@ OnTouch: close; } -in_moc_16,149,95,0 script info 6 -1,1,1,{ +in_moc_16,149,95,0 script info 6 139,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,{ +in_moc_16,180,101,0 script info 7 139,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,{ +in_moc_16,186,107,0 script info 8 139,1,1,{ + OnTouch: mes "[Guildmaster]"; mes "No sense of direction, eh?"; close; } -in_moc_16,156,87,1 script [Huey] 55,{ +in_moc_16,156,87,1 script [Huey] 55,1,1,{ end; OnInit: - disablenpc "[Huey]"; + hideonnpc "[Huey]"; + end; + +OnDisable: + hideonnpc "[Huey]"; + end; + +OnEnable: + hideoffnpc "[Huey]"; end; } -in_moc_16,156,85,1 script [Khai] 730,{ +in_moc_16,156,85,1 script [Khai] 730,1,1,{ end; OnInit: - disablenpc "[Khai]"; + hideonnpc "[Khai]"; + end; + +OnDisable: + hideonnpc "[Khai]"; + end; + +OnEnable: + hideoffnpc "[Khai]"; end; } -in_moc_16,156,83,1 script [The Anonymous One] 106,{ +in_moc_16,156,83,1 script [The Anonymous One] 106,1,1,{ end; OnInit: - disablenpc "[The Anonymous One]"; + hideonnpc "[The Anonymous One]"; + end; + +OnDisable: + hideonnpc "[The Anonymous One]"; + end; + +OnEnable: + hideoffnpc "[The Anonymous One]"; end; } -in_moc_16,156,81,2 script [Barcardi] 725,{ +in_moc_16,156,81,2 script [Barcardi] 725,1,1,{ end; OnInit: - disablenpc "[Barcardi]"; + hideonnpc "[Barcardi]"; + end; + +OnDisable: + hideonnpc "[Barcardi]"; + end; + +OnEnable: + hideoffnpc "[Barcardi]"; end; } -in_moc_16,156,79,1 script [Beholder] 118,{ +in_moc_16,156,79,1 script [Beholder] 118,1,1,{ end; OnInit: - disablenpc "[Beholder]"; + hideonnpc "[Beholder]"; + end; + +OnDisable: + hideonnpc "[Beholder]"; + end; + +OnEnable: + hideoffnpc "[Beholder]"; end; } -in_moc_16,156,77,1 script [Thomas] 118,{ +in_moc_16,156,77,1 script [Thomas] 118,1,1,{ end; OnInit: - disablenpc "[Thomas]"; + hideonnpc "[Thomas]"; + end; + +OnDisable: + hideonnpc "[Thomas]"; + end; + +OnEnable: + hideoffnpc "[Thomas]"; end; } -in_moc_16,156,75,1 script [Gayle Maroubitz] 55,{ +in_moc_16,156,75,1 script [Gayle Maroubitz] 55,1,1,{ end; OnInit: - disablenpc "[Gayle Maroubitz]"; + hideonnpc "[Gayle Maroubitz]"; + end; + +OnDisable: + hideonnpc "[Gayle Maroubitz]"; + end; + +OnEnable: + hideoffnpc "[Gayle Maroubitz]"; end; } diff --git a/npc/jobs/2-1/blacksmith.txt b/npc/jobs/2-1/blacksmith.txt index 413fe69fd..bfcf40601 100644 --- a/npc/jobs/2-1/blacksmith.txt +++ b/npc/jobs/2-1/blacksmith.txt @@ -1,46 +1,18 @@ -//===== 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] -//============================================================== +//===== rAthena Script ======================================= +// Blacksmith Job change Quest +//===== By: ================================================== +//= Masao +//= Credits: Muad_Dib +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= Any rAthena SVN +//===== Description: ========================================= +//= [Translated from the Official] +//= Job change Quest from Merchant -> Blacksmith. +//===== Additional Comments: ================================= +//= 1.0 Updated to latest available official file. [Masao] +//============================================================ ein_in01,18,28,4 script Guildsman#BLS 731,{ if (Upper == 1) { @@ -73,62 +45,52 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ 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; - } + if (Class == Job_Baby || Class == Job_Novice) { + 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; } - else if (BaseClass == Job_Swordman) { + if (Class == Job_Swordman || Class == Job_Knight || Class == Job_Crusader) { 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) { + if (Class == Job_Archer || Class == Job_Hunter || Class == Job_Dancer || Class == Job_Bard) { 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) { + if (Class == Job_Mage || Class == Job_Wizard || Class == Job_Sage) { 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) { + if (Class == Job_Acolyte || Class == Job_Priest || Class == Job_Monk) { 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) { + if (Class == Job_Thief || Class == Job_Assassin || Class == Job_Rogue) { 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) { + if (Class == 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) { + if (Class == Job_Baby_Blacksmith || Class == 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) { + if (Class == Job_Baby_Merchant || Class == Job_Merchant) { + if (SkillPoint != 0) { 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; @@ -141,14 +103,14 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ 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.")) { + switch (select("Fill out Application.:What are the requirements?:Um, I need to think about it.")) { case 1: - if (SkillPoint) { + if (SkillPoint != 0) { 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) { + if ((JobLevel > 39) && (BSMITH_Q == 0)) { mes "[Altiregen]"; mes "Hmmm..."; mes "Looks like you"; @@ -171,7 +133,7 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ mes "and good luck!"; close; } - else if (JobLevel < 40) { + 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; @@ -195,18 +157,18 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ close; } } - else if (BSMITH_Q > 0 && BSMITH_Q < 8) { + 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) { + 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) { + if (BSMITH_Q == 15) { mes "[Altiregen]"; mes "Great job!!"; mes "You have passed"; @@ -241,51 +203,54 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ mes "If you can't endure this, you'll never be a Blacksmith!"; close; } - else if (BSMITH_Q == 16) { + 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) { + 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; - } + mes "Excellent, I can tell by the twinkle in your eye that you were successful. I can now bestow upon you the gift of smithing, the art"; + mes "of the Blacksmith."; next; - set .@joblvl,JobLevel; - callfunc "Job_Change",Job_Blacksmith; - callfunc "F_ClearJobVar"; // clears all job variables for the current player + if(Class == Job_Baby_Merchant){ + jobchange Job_Baby_Blacksmith; + } else { + jobchange Job_Blacksmith; + } + set FJOB,Job_Mechanic; 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) + if (JobLevel > 48) { getitem 999,30; //Steel - else + } else { getitem 999,5; //Steel + } + changequest 2015,2016; + completequest 2016; close; } } } -ein_in01,201,27,3 script Guildsman#alberta 63,{ +ein_in01,201,27,3 script Guildsman#einbech 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) { + if (Class == Job_Baby_Merchant || Class == Job_Merchant) { mes "[Geschupenschte]"; mes "Oh ho ho!"; mes "You're a Merchant!"; @@ -306,190 +271,193 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ 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)) { + if (BSMITH_Q == 1) { + mes "[Geschupenschte]"; + mes "Oh ho ho!"; + mes "You're a Merchant!"; + mes "Excellent! I was"; + mes "in need of some help!"; + next; + 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; + if (select("Yes.:Um, can I have some time to prepare?") == 1) { + set @black_q,0; + set .@rand_b,rand(1,3); + if (.@rand_b == 1) { 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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 { + set @black_q,@black_q + 10; + next; + } 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + if (select("up to + 3:up to + 4:up to + 5:up to + 6") == 2) { + 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; + 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; + set @black_q,@black_q + 10; + next; } 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 "Let's see...your score is..." + @black_q + " points."; + if (@black_q == 100) { + set BSMITH_Q, 3; + changequest 2000,2002; mes "Oh ho ho~"; mes "You'll have"; mes "no problem"; @@ -501,19 +469,11 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ mes "When you get back, I'll be ready!"; close; } - set BSMITH_Q,2; - if(checkquest(2001) == -1) { - changequest 2000,2001; - } + set BSMITH_Q, 2; + 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"; @@ -526,8 +486,7 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ mes "being careful~"; close; } - /* - else if (BSMITH_Q == 2) { + if (BSMITH_Q == 2) { mes "[Geschupenschte]"; mes "So, have you"; mes "studied a little"; @@ -543,10 +502,191 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ mes "Alright, let's start"; mes "with the questions~"; next; - goto L_AskQuestions; + set @black_q,0; + set .@rand_b,rand(1,3); + if (.@rand_b == 1) { + 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 - Beserk 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 "[Geschupenschte]"; + 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; + next; + } else { + mes "[Geschupenschte]"; + mes "1. Among the following cities, which one is not correctly matched with its specialty?"; + next; + if (select("Al De Beran - Yggdrasil Leaf:Alberta - Hammer:Comodo - Beserk 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") == 2) { + 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; + next; + } + mes "[Geschupenschte]"; + mes "Hmm, good. You did a great job!"; + next; + mes "[Geschupenschte]"; + mes "Let's see...your score is..." + @black_q + " points."; + if (@black_q > 80) { + set BSMITH_Q,3; + changequest 2001,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; + completequest 2000; + setquest 2001; + mes "............."; + next; + mes "[Geschupenschte]"; + 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; } - */ - else if (BSMITH_Q == 3) { + if (BSMITH_Q == 3) { mes "[Geschupenschte]"; mes "Hmm..."; mes "Now, where were"; @@ -566,98 +706,176 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ 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 .@black_item,rand(1,6); + if (.@black_item == 1) { + set BSMITH_Q,4; + changequest 2002,2003; + mes "[Geschupenschte]"; + mes "^8E6B232 Steel^000000,"; + mes "^8E6B231 Rotten Bandage^000000,"; + mes "^8E6B232 Blue Gemstone^000000, and"; + mes "^8E6B231 Arc Wand^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 "^8E6B232 Steel^000000,"; + mes "^8E6B231 Rotten Bandage^000000,"; + mes "^8E6B232 Blue Gemstone^000000, and"; + mes "^8E6B231 Arc Wand^000000, the kind"; + mes "you can buy from"; + mes "an NPC shop."; + next; } - 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; + if (.@black_item == 2) { + set BSMITH_Q,5; + changequest 2002,2004; + mes "[Geschupenschte]"; + mes "^8E6B232 Star Dust^000000,"; + mes "^8E6B231 Skel-bone^000000,"; + mes "^8E6B231 Zargon^000000 and"; + mes "^8E6B231 Gladius^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 "^8E6B232 Star Dust^000000,"; + mes "^8E6B231 Skel-bone^000000,"; + mes "^8E6B231 Zargon^000000 and"; + mes "^8E6B231 Gladius^000000, the kind"; + mes "you can buy from"; + mes "an NPC shop."; + next; } - 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]) { + if (.@black_item == 3) { + set BSMITH_Q,6; + changequest 2002,2005; mes "[Geschupenschte]"; - mes "Wait..."; - mes "Didn't I tell you"; - mes "to get 3 Steel?"; + mes "^8E6B232 Coal^000000,"; + mes "^8E6B232 Shell^000000,"; + mes "^8E6B232 Red Blood^000000 and"; + mes "^8E6B231 Tsurugi^000000, the kind"; + mes "you can buy from"; + mes "an NPC shop."; 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."; + 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 "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."; + mes "^8E6B232 Coal^000000,"; + mes "^8E6B232 Shell^000000,"; + mes "^8E6B232 Red Blood^000000 and"; + mes "^8E6B231 Tsurugi^000000, the kind"; + mes "you can buy from"; + mes "an NPC shop."; 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; - } + } + if (.@black_item == 4) { + set BSMITH_Q,7; + changequest 2002,2006; mes "[Geschupenschte]"; - mes "Okay."; - mes "Great~!!"; + mes "^8E6B238 Iron Ore^000000,"; + mes "^8E6B231 Eye Patch^000000,"; + mes "^8E6B232 Blue Gemstone^000000 and"; + mes "^8E6B231 Arbalest^000000, the kind"; + mes "you can buy from"; + mes "an NPC shop."; next; mes "[Geschupenschte]"; - mes "^3355FF*Clang...!*^000000"; + 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 "^3355FF*Crash Crash!*^000000"; + mes "^8E6B238 Iron Ore^000000,"; + mes "^8E6B231 Eye Patch^000000,"; + mes "^8E6B232 Blue Gemstone^000000 and"; + mes "^8E6B231 Arbalest^000000, the kind"; + mes "you can buy from"; + mes "an NPC shop."; 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]; + } + else { + set BSMITH_Q,8; + changequest 2002,2007; 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; + mes "^8E6B238 Iron^000000"; + mes "^8E6B2320 Green Herb^000000"; + mes "^8E6B232 Animal Skin^000000"; + mes "and ^8E6B231 Ring Pommel Saber^000000, the kind you can buy from 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 "^8E6B238 Iron^000000"; + mes "^8E6B2320 Green Herb^000000"; + mes "^8E6B232 Animal Skin^000000"; + mes "and ^8E6B231 Ring Pommel Saber^000000, the kind you can buy from an NPC shop."; + next; + } + mes "[Geschupenschte]"; + mes "Okay~"; + mes "Good luck"; + mes "on your first job!"; + close; + } + if ((BSMITH_Q > 3) && (BSMITH_Q < 9)) { + if (BSMITH_Q == 4) { + mes "[Geschupenschte]"; + mes "Ah, you're back!"; + mes "Did you bring"; + mes "everything that"; + mes "I requested?"; + next; + if ((countitem(999) > 1) && (countitem(930) > 0) && (countitem(717) > 1) && (countitem(1610) > 0)) { + 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 Arc Wand^000000, you should really only have an Arc Wand 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 999,2; //Steel + delitem 930,1; //Rotten_Bandage + delitem 717,2; //Blue_Gemstone + delitem 1610,1; //Arc_Wand + set BSMITH_Q,9; + changequest 2003,2008; + mes "[Geschupenschte]"; + mes "Wooooo~~~"; + mes "All done..."; + mes "Okay, now take this to ^8E6B23Baisulist^000000 in Geffen of the Rune-Midgarts Kingdom. Simply deliver it and bring me the receipt."; + getitem 1610,1; //Arc_Wand next; mes "[Geschupenschte]"; mes "Hmm...?"; @@ -675,14 +893,85 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ 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; + mes "to ^8E6B23Baisulist^000000 in Geffen of the Rune-Midgarts Kingdom,"; + mes "and don't forget"; + mes "the receipt!"; + close; + } + 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 "^8E6B232 Steel^000000,"; + mes "^8E6B231 Rotten Bandage^000000,"; + mes "^8E6B232 Blue Gemstone^000000, and"; + mes "^8E6B231 Arc Wand^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; + } + if (BSMITH_Q == 5) { + mes "[Geschupenschte]"; + mes "Ah, you're back!"; + mes "Did you bring"; + mes "everything that"; + mes "I requested?"; + next; + if ((countitem(1001) > 1) && (countitem(932) > 0) && (countitem(912) > 0) && (countitem(1219) > 0)) { + mes "[Geschupenschte]"; + mes "Wait..."; + mes "Didn't I tell you"; + mes "to get 3 Star Dust?"; + 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 Gladius^000000, you should really only have an Gladius that you bought from an NPC shop in your inventory."; + next; + if (select("Um, would 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 1001,2; //Sparkling_Dust + delitem 932,1; //Skel_Bone + delitem 912,1; //Zargon + delitem 1219,1; //Gladius + set BSMITH_Q,10; + changequest 2004,2009; + mes "[Geschupenschte]"; + mes "Wooooo~~~"; + mes "All done..."; + mes "Okay, now take this to ^8E6B23Wickebine^000000 in Morroc of the Rune-Midgarts Kingdom. Simply deliver it and bring me the receipt."; + getitem 1219,1; //Gladius next; mes "[Geschupenschte]"; mes "Hmm...?"; @@ -700,14 +989,85 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ next; mes "[Geschupenschte]"; mes "Anyway, take this"; - mes "to ^8E6B23Wickebine^000000 in Morroc of Rune-Midgarts Kingdom,"; - break; - Case 11: + mes "to ^8E6B23Wickebine^000000 in Morroc of the Rune-Midgarts Kingdom,"; + mes "and don't forget"; + mes "the receipt!"; + close; + } + 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 "^8E6B232 Star Dust^000000,"; + mes "^8E6B231 Skel-bone^000000,"; + mes "^8E6B231 Zargon^000000 and"; + mes "^8E6B231 Gladius^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; + } + if (BSMITH_Q == 6) { + mes "[Geschupenschte]"; + mes "Ah, you're back!"; + mes "Did you bring"; + mes "everything that"; + mes "I requested?"; + next; + if ((countitem(1003) > 1) && (countitem(935) > 1) && (countitem(990) > 1) && (countitem(1119) > 0)) { + mes "[Geschupenschte]"; + mes "Wait..."; + mes "Didn't I tell you"; + mes "to get 3 Coal?"; + 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 Tsurugi^000000, you should really only have an Tsurugi that you bought from an NPC shop in your inventory."; + next; + if (select("Um, would 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 1003,2; //Coal + delitem 935,2; //Shell + delitem 990,2; //Boody_Red + delitem 1119,1; //Tsurugi + set BSMITH_Q,11; + changequest 2005,2010; + mes "[Geschupenschte]"; + mes "Wooooo~~~"; + mes "All done..."; 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...?"; @@ -726,14 +1086,85 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ 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; + mes "to ^8E6B23Krongast^000000 in Izlude"; + mes "and don't forget"; + mes "the receipt!"; + close; + } + 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 "^8E6B232 Coal^000000,"; + mes "^8E6B232 Shell^000000,"; + mes "^8E6B232 Red Blood^000000 and"; + mes "^8E6B231 Tsurugi^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; + } + if (BSMITH_Q == 7) { + mes "[Geschupenschte]"; + mes "Ah, you're back!"; + mes "Did you bring"; + mes "everything that"; + mes "I requested?"; + next; + if ((countitem(1002) > 7) && (countitem(2212) > 0) && (countitem(717) > 1) && (countitem(1713) > 0)) { + mes "[Geschupenschte]"; + mes "Wait..."; + mes "Didn't I tell you"; + mes "to get 30 Iron Ore?"; + next; + mes "[Geschupenschte]"; + mes "Oh, I guess it was"; + mes "eight 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 Arbalest^000000, you should really only have an Arbalest that you bought from an NPC shop in your inventory."; + next; + if (select("Um, would 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 1002,8; //Iron_Ore + delitem 2212,1; //Eye_Bandage + delitem 717,2; //Blue_Gemstone + delitem 1713,1; //Arbalest + set BSMITH_Q,12; + changequest 2006,2011; + mes "[Geschupenschte]"; + mes "Wooooo~~~"; + mes "All done..."; + mes "Okay, now take this to ^8E6B23Talpiz^000000 in Payon of the Rune-Midgarts Kingdom. Simply deliver this and bring me the receipt."; + getitem 1713,1; //Arbalest next; mes "[Geschupenschte]"; mes "Hmm...?"; @@ -750,14 +1181,85 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ next; mes "[Geschupenschte]"; mes "Anyway, take this"; - mes "to ^8E6B23Talpiz^000000 in Payon of Rune-Midgarts Kindgom,"; - break; - case 13: + mes "to ^8E6B23Talpiz^000000 in Payon of the Rune-Midgarts Kindgom,"; + mes "and don't forget"; + mes "the receipt!"; + close; + } + 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 "^8E6B238 Iron Ore^000000,"; + mes "^8E6B231 Eye Patch^000000,"; + mes "^8E6B232 Blue Gemstone^000000 and"; + mes "^8E6B231 Arbalest^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; + } + if (BSMITH_Q == 8) { + mes "[Geschupenschte]"; + mes "Ah, you're back!"; + mes "Did you bring"; + mes "everything that"; + mes "I requested?"; + next; + if ((countitem(998) > 7) && (countitem(511) > 19) && (countitem(919) > 1) && (countitem(1122) > 0)) { + mes "[Geschupenschte]"; + mes "Wait..."; + mes "Didn't I tell you"; + mes "to get 40 Iron?"; + next; + mes "[Geschupenschte]"; + mes "Oh, I guess it was"; + mes "eight 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 Ring Pommel Saber^000000. You should really only have just one that you bought from an NPC shop in your inventory."; + next; + if (select("Um, would 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; + delitem 998,8; //Iron + delitem 511,20; //Green_Herb + delitem 919,2; //Animal's_Skin + delitem 1122,1; //Ring_Pommel_Saber + set BSMITH_Q, 13; + changequest 2007,2012; + next; + mes "[Geschupenschte]"; + mes "^3355FF*Clang...!*^000000"; + next; + mes "[Geschupenschte]"; + mes "^3355FF*Crash Crash!*^000000"; + next; + mes "[Geschupenschte]"; + mes "Wooooo~~~"; + mes "All done..."; 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...?"; @@ -781,12 +1283,10 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ mes "[Geschupenschte]"; mes "Anyway, take this"; mes "to ^8E6B23Bismarc^000000 in Hugel"; + mes "and don't forget"; + mes "the receipt!"; + close; } - mes "and don't forget"; - mes "the receipt!"; - close; - } - else { mes "[Geschupenschte]"; mes "You still haven't"; mes "brought all the items."; @@ -794,12 +1294,10 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ 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."; + mes "^8E6B238 Iron^000000"; + mes "^8E6B2320 Green Herb^000000"; + mes "^8E6B232 Animal Skin^000000"; + mes "and ^8E6B231 Ring Pommel Saber^000000, the kind you can buy from an NPC shop."; next; mes "[Geschupenschte]"; mes "Now, be sure to have"; @@ -811,7 +1309,7 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ close; } } - else if (BSMITH_Q > 8 && BSMITH_Q < 14) { + if ((BSMITH_Q > 8) && (BSMITH_Q < 14)) { mes "[Geschupenschte]"; mes "What are you"; mes "still doing here?"; @@ -820,27 +1318,31 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ mes "Did you forget"; mes "where to go?"; next; - mes "[Geschupenschte]"; if (BSMITH_Q == 9) { + mes "[Geschupenschte]"; 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 "[Geschupenschte]"; mes "Find the Swordmace"; mes "dealer ^8E6B23Wickebine^000000 in Morroc. And don't forget the receipt."; } else if (BSMITH_Q == 11) { + mes "[Geschupenschte]"; 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 "[Geschupenschte]"; 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 "[Geschupenschte]"; 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) { + if (BSMITH_Q == 14) { mes "[Geschupenschte]"; mes "Hmmm...?"; mes "Have you"; @@ -851,22 +1353,12 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ if (select("Yes sir, here it is.:Receipt? I, uh, have it somewhere.") == 1) { if (countitem(1073) > 0) { set BSMITH_Q,15; + changequest 2008,2013; + changequest 2009,2013; + changequest 2010,2013; + changequest 2011,2013; + changequest 2012,2013; 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!"; @@ -905,7 +1397,7 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ mes "Right...?"; close; } - else if (BSMITH_Q == 15) { + if (BSMITH_Q == 15) { mes "[Geschupenschte]"; mes "Thank you"; mes "very much"; @@ -922,19 +1414,17 @@ ein_in01,201,27,3 script Guildsman#alberta 63,{ 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; - } + 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) { + if ((BSMITH_Q == 9) && (countitem(1610) > 0)) { mes "[Baisulist]"; mes "Oh, hello!"; mes "Have you come"; @@ -957,7 +1447,8 @@ geffen,46,164,1 script Baisulist#BLS 69,{ mes "[Baisulist]"; mes "You're"; mes "absolutely sure?"; - set BSMITH_Q,14; + next; + set BSMITH_Q, 14; delitem 1610,1; //Arc_Wand next; mes "[Baisulist]"; @@ -973,44 +1464,42 @@ geffen,46,164,1 script Baisulist#BLS 69,{ 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; + mapannounce "geffen","Hey, " + strcharinfo(0) + ", thank you so much for the delivery~",bc_map; close; } - else if (BSMITH_Q == 14) { + 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; - } + 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; + if ((BSMITH_Q == 10) && (countitem(1219) > 0)) { + cutin "job_black_hucke01",2; mes "[Wickebine]"; mes "...!"; mes "It's here!"; @@ -1020,7 +1509,7 @@ morocc,27,112,4 script Wickebine#BLS 725,{ 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; + cutin "job_black_hucke03",2; mes "[Wickebine]"; mes "Oooh...!"; mes "Hurry up"; @@ -1028,10 +1517,10 @@ morocc,27,112,4 script Wickebine#BLS 725,{ next; mes "- She seems to be upset. -"; close2; - cutin "Job_Black_hucke03",255; + cutin "",255; end; } - cutin "Job_Black_hucke02",2; + cutin "job_black_hucke02",2; mes "[Wickebine]"; mes "Hah hah hah!"; mes "Finally! Now..."; @@ -1040,21 +1529,21 @@ morocc,27,112,4 script Wickebine#BLS 725,{ next; mes "- She looks very happy. -"; next; - set BSMITH_Q,14; + set BSMITH_Q, 14; delitem 1219,1; //Gladius - cutin "Job_Black_hucke01",2; + 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; + 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; + cutin "job_black_hucke02",2; mes "[Wickebine]"; mes "But, this is also"; mes "a masterfully crafted item."; @@ -1066,51 +1555,49 @@ morocc,27,112,4 script Wickebine#BLS 725,{ 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; + mapannounce "morocc","Thanks for delivering, " + strcharinfo(0) + "~!",bc_map; + cutin "",255; end; } - else if (BSMITH_Q == 14) { + if (BSMITH_Q == 14) { emotion e_lv; - cutin "Job_Black_hucke02",2; + 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; + cutin "",255; end; } + 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 "",255; + end; } lighthalzen,209,80,4 script Krongast#BLS 734,{ - if (BSMITH_Q == 11 && countitem(1119) > 0) { + if ((BSMITH_Q == 11) && (countitem(1119) > 0)) { mes "[Krongast]"; mes "Ohhhhhh~"; mes "Is it here?"; @@ -1134,7 +1621,7 @@ lighthalzen,209,80,4 script Krongast#BLS 734,{ mes "You double checked?"; mes "Alright then, I'll take it!"; next; - set BSMITH_Q,14; + set BSMITH_Q, 14; delitem 1119,1; //Tsurugi mes "[Krongast]"; mes "Oh ho..."; @@ -1157,38 +1644,37 @@ lighthalzen,209,80,4 script Krongast#BLS 734,{ mes "your receipt."; mes "Thank you for"; mes "your business!"; - mapannounce "lighthalzen",strcharinfo(0)+"... Thank you for the delivery.",bc_map; - close; + close2; + mapannounce "lighthalzen","" + strcharinfo(0) + "... Thank you for the delivery.",bc_map; + end; } - else if (BSMITH_Q == 14) { + 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; - } + 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) { + if ((BSMITH_Q == 12) && (countitem(1713) > 0)) { mes "[Talpiz]"; mes "Oh~"; mes "Is it finally here?"; @@ -1232,10 +1718,11 @@ payon,214,79,4 script Talpiz#BLS 59,{ 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; + close2; + mapannounce "payon","Thanks, " + strcharinfo(0) + ", you really delivered. Everytime I look at this, I love it even more~",bc_map; + end; } - else if (BSMITH_Q == 14) { + if (BSMITH_Q == 14) { mes "[Talpiz]"; mes "Really,"; mes "I can't say it"; @@ -1243,26 +1730,24 @@ payon,214,79,4 script Talpiz#BLS 59,{ 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; - } + 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) { + if ((BSMITH_Q == 13) && (countitem(1122) > 0)) { mes "[Bismarc]"; mes "Sweet God..."; mes "Have you sent"; @@ -1328,34 +1813,33 @@ hugel,168,183,1 script Bismarc#BLS 118,{ 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; + close2; + mapannounce "hugel","Thanks, " + strcharinfo(0) + ", for the delivery. You saved my life...",bc_map; + end; } - else if (BSMITH_Q == 14) { + 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; - } + 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,{ @@ -1364,7 +1848,7 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ 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."; + mes "As you've realized from your past tests, you won't be promoted from Merchant to Blacksmith immediately."; next; mes "[Mitehmaeeuh]"; mes "How much do you truly understand about smithing? Are you ready for me to ask you some questions?"; @@ -1378,44 +1862,48 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ mes "you fail. And I won't"; mes "tell you what you missed."; next; - set .@blackss_te,0; + set .@wizard_m2,rand(1,3); + set @blackss_te,0; mes "[Mitehmaeeuh]"; mes "Please listen"; mes "and answer carefully..."; next; - switch(rand(1,3)) { - case 1: + if (.@wizard_m2 == 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; + 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; + 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; + 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; + 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"; @@ -1423,31 +1911,35 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ 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: + if (select("21 % :22 % :23 % :24 % ") == 3) { + set @blackss_te,@blackss_te + 20; + next; + } + } + if (.@wizard_m2 == 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; + 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; + 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; + set @blackss_te,@blackss_te + 20; mes "[Mitehmaeeuh]"; mes "4. In general,"; mes "which of the following"; @@ -1455,29 +1947,31 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ 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; + 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: + if (select("5 Iron Ore :4 Iron Ore:3 Iron Ore:6 Iron Ore") == 1) { + set @blackss_te,@blackss_te + 20; + next; + } + } else { 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.")) { + switch (select("Ask them what they need.:Have a brief conversation.:Ignore them.:Give items and run away.")) { case 1: + set @blackss_te,@blackss_te + 20; case 2: - set .@blackss_te,.@blackss_te+20; - break; - default: - break; + set @blackss_te,@blackss_te + 20; + case 3: + case 4: } mes "[Mitehmaeeuh]"; mes "2. In what village"; @@ -1485,30 +1979,34 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ 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; + 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; + 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; + 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; + if (select("STR :DEX:AGI :VIT ") == 2) { + set @blackss_te,@blackss_te + 20; + next; + } } mes "[Mitehmaeeuh]"; mes "Ah..."; @@ -1517,21 +2015,22 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ next; mes "[Mitehmaeeuh]"; mes "You earned"; - mes ""+ .@blackss_te +" points..."; - if (.@blackss_te > 70) { + 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; + mes "However, don't let your early success make you overconfident."; + mes "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!"; + mes "of Blacksmith and go back to the Einbroch Blacksmith Guild. Okay then? I wish you the best of luck!"; close; } mes "You failed! You better study up before coming back here."; @@ -1547,13 +2046,13 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ mes "when you are ready..."; close; } - else if (BSMITH_Q == 17) { + 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?"; + mes "Why don't you go back to Mr.Geschupenschte?"; next; mes "[Mitehmaeeuh]"; mes "Don't forget to bring the Hammer of Blacksmith with you!"; @@ -1562,22 +2061,20 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ 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; - } + 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,{ @@ -1593,16 +2090,16 @@ geffen_in,109,170,3 script Blacksmith Guildsman#gef 726,{ 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.")) { + 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."; + mes "Unlike the Rune-Midgarts Kingdom, the Schwaltzvalt 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."; + mes "In ^3131FF'Izlude'^000000, you can use ^3131FF'the international airship'^000000 which travels between ^3131FFIzlude and Juno in the 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."; @@ -1618,7 +2115,7 @@ geffen_in,109,170,3 script Blacksmith Guildsman#gef 726,{ mes "Excuse me, but you do not have enough money."; close; } - set zeny,zeny-600; + set Zeny, Zeny - 600; warp "izlude",94,103; end; case 3: @@ -1626,4 +2123,4 @@ geffen_in,109,170,3 script Blacksmith Guildsman#gef 726,{ mes "Please take care!"; close; } -} +} \ No newline at end of file diff --git a/npc/jobs/2-1/hunter.txt b/npc/jobs/2-1/hunter.txt index 1d7372ce8..721756b4e 100644 --- a/npc/jobs/2-1/hunter.txt +++ b/npc/jobs/2-1/hunter.txt @@ -1,63 +1,20 @@ //===== rAthena Script ======================================= -//= Hunter Job Quest +// Hunter Job change Quest //===== By: ================================================== -//= EREMES THE CANIVALIZER (Aegis)Translated by yoshiki (Aegis) -//= Converted by kobra_k88 -//= Further bugfixed and tested by Lupus +//= Masao +//= Credits: Muad_Dib //===== Current Version: ===================================== -//= 3.7 +//= 1.0 //===== Compatible With: ===================================== -//= rAthena SVN +//= Any rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job Change quest for Hunter class. +//= [Translated from the Official] +//= Job change Quest from Archer -> Hunter. //===== 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 3rd 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). +//= 1.0 Updated to latest available official file. [Masao] //============================================================ -// Notices in the old Hunter Guild. -//============================================================ -in_hunter,99,99,4 script Hunter Info#hnt::HntNotice 727,{ +in_hunter,99,99,4 script Hunter Info 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."; @@ -70,14 +27,27 @@ in_hunter,99,99,4 script Hunter Info#hnt::HntNotice 727,{ mes " "; mes " "; mes " "; - mes "I, the Falcon breeder have moved out as well."; + mes "I, the Falcon breeder has moved out as well."; close; } -pay_fild10,148,252,3 duplicate(HntNotice) Job Change Location#hu 857 +pay_fild10,148,252,3 script Hunter Info#hugel 857,{ + 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 ^ff0000the far upper right side of Hugel000000."; + next; + mes "^804000(You found a tiny line written at the end of the notice.)^000000"; + mes " "; + mes " "; + mes " "; + mes "I, the Falcon breeder has moved out as well."; + close; +} -// Actual Job quest start -//============================================================ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ if (Upper == 1) { mes "[Hunter Sherin]"; @@ -88,7 +58,7 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ mes "Oops! I'm sorry, I could have sworn that we've met before. Huh. How weird."; close; } - if (BaseJob == Job_Archer && JobLevel < 40) { + if ((Class == Job_Baby_Archer || Class == 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; @@ -99,51 +69,51 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ mes "See you next time~"; close; } - if (SkillPoint) { + if (SkillPoint != 0) { 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) { + if (Class == Job_Baby || Class == 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) { + if (Class == Job_Swordman || Class == Job_Knight || Class == Job_Crusader) { 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) { + if (Class == Job_Mage || Class == Job_Wizard || Class == Job_Sage) { 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) { + if (Class == Job_Acolyte || Class == Job_Priest || Class == Job_Monk) { 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) { + if (Class == Job_Merchant || Class == Job_Blacksmith || Class == Job_Alchemist) { mes "[Hunter Guildsman]"; mes "Oh..."; mes "How's your business coming along?"; close; } - else if (BaseClass == Job_Thief) { + if (Class == Job_Thief || Class == Job_Assassin || Class == Job_Rogue) { 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) { + if (Class == Job_Dancer || Class == 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) { + if (Class == Job_Baby_Hunter || Class == 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?"; @@ -152,13 +122,13 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ 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) { + if (Class == Job_Baby_Archer || Class == Job_Archer) { + if (SkillPoint != 0) { 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) { + 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; @@ -166,245 +136,259 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ 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) { + if ((HNTR_Q == 17) && (countitem(1007) > 0) && (JobLevel > 39)) { + if (JobLevel > 49) { + 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!!"; + if(Class == Job_Baby_Archer){ + jobchange Job_Baby_Hunter; + } else { + jobchange Job_Hunter; + } + set FJOB,Job_Ranger; + completequest 4013; + 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~"; + getitem 1718,1; //Hunter_Bow + close; + } mes "[Hunter Sherin]"; mes "Oh...?"; mes "You passed"; - mes "the job test?!"; + mes "the job test?!!"; mes "Congratulations~!!"; next; mes "[Hunter Sherin]"; mes "Well then,"; mes "I will now change"; - mes "your job to a Hunter~"; + 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; + if(Class == Job_Baby_Archer){ + jobchange Job_Baby_Hunter; + } else { + jobchange Job_Hunter; + } 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~"; + mes "Become a noble person and be a worthy representative of the 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 + getitem 1710,1; //CrossBow close; } - else if ((JobLevel > 39) && ((HNTR_Q == 0) || (HNTR_Q == 1))) { - if (HNTR_Q == 0) { + if ((JobLevel > 39) && (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 "Oh, you're an Archer! It seems as if you've trained enough as an Archer... You came here to become a Hunter, right?"; + mes "Hehe~"; + mes "I was right! Let me put you on the candidate list. Let's see~*"; 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~*"; + 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) { + 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; + set @knight_t, 0; + 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 1: + break; + case 2: + case 3: + set @knight_t, @knight_t + 10; + } + 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 Guildsman]"; - mes "Hmm... Let's start with the interview. Wait and relax a moment. No need to worry, I'll prepare everything~"; + 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 1: + break; + case 2: + case 3: + set @knight_t, @knight_t + 10; + } + 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 "^3355FF*Gathers and flips through papers*^000000"; + mes "[Hunter Sherin]"; + mes "How would you go"; + mes "about to make the"; + mes "Zeny that you need?"; next; - mes "^3355FF*Rummage rummage*^000000"; + switch (select("Beg here and there.:Sell items I do not need.:Hunt at a nearby field.")) { + case 1: + break; + case 2: + case 3: + set @knight_t, @knight_t + 10; + } + 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 Guildsman]"; - mes "Ah!"; - mes "Here they are: the interview questions~ First of all, my name is 'Sherin.' Nice to meet you!"; + 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 @knight_t, @knight_t + 10; + } mes "[Hunter Sherin]"; - mes "Well then,"; - mes "shall we begin?"; + 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 @knight_t, @knight_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 1: + break; + case 2: + case 3: + set @knight_t, @knight_t + 10; + } + 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.") == 3) { + set @knight_t, @knight_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 @knight_t, @knight_t + 10; + case 3: + } + 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("Yes~ Let's start now.:No, I'll be back later.") == 1) { - if(checkquest(4000) == -1) { - setquest 4000; - } + if (select("Watch, then attack when asked for help.:Attack and see what happens.:Just go back to town.") == 1) { + set @knight_t, @knight_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 1: + break; + case 2: + case 3: + set @knight_t, @knight_t + 10; + break; + } + mes "[Hunter Sherin]"; + mes "Okay, this is the end of the test!"; + next; + if (@knight_t == 100) { + set HNTR_Q,2; + setquest 4001; 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?"; + 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 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; + 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 (@knight_t == 90) { + set HNTR_Q,2; + setquest 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 "Okay..."; - mes "Come back"; - mes "when you're ready~"; + mes "Just remember to always keep basic etiquette in mind. Try harder in the following tests and make me happy, okay?"; 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; + set HNTR_Q,1; + setquest 4000; 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~"; + 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 "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."; + 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 "Just remember to always keep basic etiquette in mind. Try harder in the following tests and make me happy, okay?"; + 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; } - 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."; + mes "Okay..."; + mes "Come back"; + mes "when you're ready~"; close; case 2: mes "[Hunter Guildsman]"; @@ -425,7 +409,7 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ 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; + close; case 3: mes "[Hunter Guildsman]"; mes "Okay then,"; @@ -433,18 +417,182 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ close; } } - else if (HNTR_Q > 2 && HNTR_Q < 10) { + if ((JobLevel > 39) && (HNTR_Q == 1)) { 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~"; + mes "Welcome back...!"; + mes "Well, let's start with the interview. This time, carefully think about the answers to each question."; + next; + set @knight_t, 0; + 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 1: + break; + case 2: + case 3: + set @knight_t, @knight_t + 10; + } + 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 1: + break; + case 2: + case 3: + set @knight_t, @knight_t + 10; + } + 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 1: + break; + case 2: + case 3: + set @knight_t, @knight_t + 10; + } + 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 @knight_t, @knight_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 @knight_t, @knight_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 1: + break; + case 2: + case 3: + set @knight_t, @knight_t + 10; + } + 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.") == 3) { + set @knight_t, @knight_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 @knight_t, @knight_t + 10; + case 3: + } + 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; + switch (select("Watch, then attack when asked for help.:Attack and see what happens.:Just go back to town.") == 1) { + set @knight_t, @knight_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 1: + break; + case 2: + case 3: + set @knight_t, @knight_t + 10; + } + mes "[Hunter Sherin]"; + mes "Okay, this is"; + mes "the end of the test!"; next; + if (@knight_t == 100) { + set HNTR_Q,2; + setquest 4001; + mes "[Hunter Sherin]"; + mes "Well done! It seems you've got the right outlook on life. You definitely have what it takes to become a Hunter~"; + next; + mes "[Hunter Sherin]"; + mes "I'm happy to say you've passed the interview~ Now, go to that person in the corner and confirm which items are necessary for the job change test~"; + close; + } + if (@knight_t == 90) { + set HNTR_Q,2; + setquest 4001; + mes "[Hunter Sherin]"; + mes "Hmmm... Well, your score isn't exactly perfect, but I'll let you pass anyway. I'm not sure what our Guildmaster will think though..."; + next; + mes "[Hunter Sherin]"; + mes "Just remember to keep the basics of etiquette in mind. Try harder in the following tests, and make me happy, okay?"; + close; + } + if (HNTR_Q == 1){ + mes "[Hunter Sherin]"; + mes "Hmm..."; + mes "I'm sorry but you can't become a Hunter without knowing basic etiquette."; + next; + mes "[Hunter Sherin]"; + mes "Think about how you answered the questions once more. In order to be in tune with nature, you must first value your relationship with others."; + next; + mes "[Hunter Sherin]"; + mes "Well then..."; + mes "Come back"; + mes "when you're ready."; + close; + } + } + if ((HNTR_Q > 2) && (HNTR_Q < 10)) { mes "[Hunter Sherin]"; - if (sex) + mes "Just give the item to the Demon Hunter, the guy who's all the way to the left in this area~"; + next; + if (Sex == 1) { + mes "[Hunter Sherin]"; 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; + } + mes "[Hunter Sherin]"; + 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) { + if (HNTR_Q == 2) { mes "[Hunter Sherin]"; mes "????"; next; @@ -459,7 +607,7 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ 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?"; + mes "I heard he's at a building east of 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]"; @@ -475,112 +623,238 @@ hu_in01,382,382,4 script Guild Receptionist#hnt 732,{ 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) { + if (select("Yes, that is correct.:Nope~~(heeheehee)") == 1) { + 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 "Hey, stop messing around."; - mes "Your name is " + strcharinfo(0) + ", right?"; + mes "You see, we're having some financial problems. Let's see, we're short on these items..."; next; - if (select("Yes...:Hehehe. I keep telling you, it's not~~") == 1) { + set .@item_need, rand(1,7); + if (.@item_need == 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."; + mes "Hmm. ^6600005 Claw of Desert Wolf^000000 to use for arrow tips. ^6600005 Trunk^000000 to use here and there. And ^6600003 White Herb^000000 please."; + set HNTR_Q,3; + changequest 4001,4002; next; mes "[Demon Hunter]"; - mes "You see, right now we're having some financial problems. Let's see, we're short on these items..."; + mes "Oh right. Our Guildmaster has gone on an official trip to the Payon Central Palace. You have to go visit him since he's the one that administers the test."; + mes "You can find him in a building east of the Payon Central Palace."; next; + mes "[Demon Hunter]"; + mes "Alright then, come back to me when you have everything ready~"; + close; } - else { + if (.@item_need == 2) { 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 "Hmm. ^6600003 Bill of Birds^000000 to use for the arrow tips. ^6600005 Skel-bone^000000 to use here and there. And ^6600003 Green Herbs^000000. That should be enough."; + set HNTR_Q,4; + changequest 4001,4003; + 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 since he's the one that administers the test."; + mes "You can find him in a building east of the Payon Central Palace."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back to me when you have everything ready~"; + close; + } + if (.@item_need == 3) { + mes "[Demon Hunter]"; + mes "Mmm. ^6600003 Venom Canine^000000 to use as arrow tips. ^6600003 Animal Skin^000000 to use here and there. And ^6600005 Red Herb^000000. That should be enough."; + set HNTR_Q,5; + changequest 4001,4004; + 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 since he's the one that administers the test."; + mes "You can find him in a building east of the Payon Central Palace."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back to me when you have everything ready~"; + close; + } + if (.@item_need == 4) { + mes "[Demon Hunter]"; + mes "Mmm. ^6600003 Dokkaebi Horn^000000 to make the arrow tips. ^6600003 Piece of Egg Shell^000000 to use here and there. And ^66000010 Fluff^000000. That should be enough."; + set HNTR_Q,6; + changequest 4001,4005; + 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 since he's the one that administers the test."; + mes "You can find him in a building east of the Payon Central Palace."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back to me when you have everything ready~"; + close; + } + if (.@item_need == 5) { + mes "[Demon Hunter]"; + mes "Mmm. ^6600009 Shell^000000 to make the arrow tips. ^6600009 Worm Peeling^000000 to use here and there. And ^6600009 Yellow Herb^000000. That should be enough."; + set HNTR_Q,7; + changequest 4001,4006; + next; + mes "[Demon Hunter]"; + mes "By the way, a member of our Hunter Guild is at the Archer Guild on official business. I believe you have to go visit this person since he is in charge of the testing."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back when you have everything ready~"; + close; + } + if (.@item_need == 6) { + mes "[Demon Hunter]"; + mes "Mmm. ^6600003 Tooth of Bat^000000 to use for the arrow tips. ^6600001 Sticky Mucus^000000 to use as adhesive. And ^6600001 Bear's Footskin^000000 will do."; + set HNTR_Q,8; + changequest 4001,4007; + next; + mes "[Demon Hunter]"; + mes "By the way, a member of our Hunter Guild is at the Archer Guild on official business. I believe you have to go visit the person since he's in charge of the testing."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back when you have everything ready~"; + close; } - } - 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; - if(checkre(0)) set .@i,1; - switch(rand(1,7)) { - //Insect_Feeler/Claw_Of_Desert_Wolf, Wooden_Block, White_Herb - case 1: setarray .@items[0], (.@i?928:7030),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/Posionous_Canine, Animal's_Skin, Red_Herb - case 3: setarray .@items[0], (.@i?1013:937),3, 919,3, 507,5, 5; changequest 4001,4004; break; - //Horn/Dokkaebi_Horn, Poison_Spore/Piece_Of_Egg_Shell, Fluff - case 4: setarray .@items[0], (.@i?947:1021),3, (.@i?7033:7032),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]; + mes "Mmm. ^6600002 Porcupine Quill^000000 to use for the arrow tips. ^6600001 Yoyo Tail^000000 to help make the bow string. And ^6600001 Acorn^000000 please."; + set HNTR_Q,9; + changequest 4001,4008; 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."; + mes "Before I forget. A member of our Hunter Guild is at the Archer Guild for official business. I believe you have to go visit the person since he is in charge of the testing."; 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/Claw_Of_Desert_Wolf, Wooden_Block, White_Herb - case 3: setarray .@items[0], (.@i?928:7030),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/Posionous_Canine, Animal's_Skin, Red_Herb - case 5: setarray .@items[0], (.@i?1013:937),3, 919,3, 507,5, 10; break; - //Horn/Dokkaebi_Horn, Poison_Spore/Piece_Of_Egg_Shell, Fluff - case 6: setarray .@items[0], (.@i?947:1021),3, (.@i?7033:7032),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 "Alright then, come back when you have everything ready~"; } mes "[Demon Hunter]"; - mes "Hmm?"; + mes "Hey, stop messing around."; + mes "Your name is " + strcharinfo(0) + ", right?"; next; - if (countitem(.@items[0]) >= .@items[1] && countitem(.@items[2]) >= .@items[3] && countitem(.@items[4]) >= .@items[5]) { + if (select("Yes...:Hehehe. I keep telling you, it's not~~") == 1) { 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; + 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; + set .@item_need, rand(1,7); + if (.@item_need == 1) { + mes "[Demon Hunter]"; + mes "Hmm. 5 ^660000Claw of Desert Wolf^000000 to use for arrow tips. ^6600005 Trunk^000000 to use here and there. And ^6600003 White Herb^000000 please."; + set HNTR_Q,3; + changequest 4001,4002; + 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 since he's the one that administers the test."; + mes "You can find him in a building east of the Payon Central Palace."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back to me when you have everything ready~"; + close; } - else if(checkquest(4004) != -1) { - changequest 4004,4009; + if (.@item_need == 2) { + mes "[Demon Hunter]"; + mes "Hmm. ^6600003 Bill of Birds^000000 to use for the arrow tips. ^6600005 Skel-bone^000000 to use here and there. And ^6600003 Green Herbs^000000. That should be enough."; + set HNTR_Q,4; + changequest 4001,4003; + 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 since he's the one that administers the test."; + mes "You can find him in a building east of the Payon Central Palace."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back to me when you have everything ready~"; + close; } - else if(checkquest(4005) != -1) { - changequest 4005,4009; + if (.@item_need == 3) { + mes "[Demon Hunter]"; + mes "Mmm. ^6600003 Venom Canine^000000 to use as arrow tips. ^6600003 Animal Skin^000000 to use here and there. And ^6600005 Red Herb^000000. That should be enough."; + set HNTR_Q,5; + changequest 4001,4004; + 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 since he's the one that administers the test."; + mes "You can find him in a building east of the Payon Central Palace."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back to me when you have everything ready~"; + close; } - else if(checkquest(4006) != -1) { - changequest 4006,4010; + if (.@item_need == 4) { + mes "[Demon Hunter]"; + mes "Mmm. ^6600003 Dokkaebi Horn^000000 to make the arrow tips. ^6600003 Piece of Egg Shell^000000 to use here and there. And ^66000010 Fluff^000000. That should be enough."; + set HNTR_Q,6; + changequest 4001,4005; + 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 since he's the one that administers the test."; + mes "You can find him in a building east of the Payon Central Palace."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back to me when you have everything ready~"; + close; } - else if(checkquest(4007) != -1) { - changequest 4007,4010; + if (.@item_need == 5) { + mes "[Demon Hunter]"; + mes "Mmm. ^6600009 Shell^000000 to make the arrow tips. ^6600009 Worm Peeling^000000 to use here and there. And ^6600009 Yellow Herb^000000. That should be enough."; + set HNTR_Q,7; + changequest 4001,4006; + next; + mes "[Demon Hunter]"; + mes "By the way, a member of our Hunter Guild is at the Archer Guild on official business. I believe you have to go visit this person since he is in charge of the testing."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back when you have everything ready~"; + close; } - else { - changequest 4008,4010; + if (.@item_need == 6) { + mes "[Demon Hunter]"; + mes "Mmm. ^6600003 Tooth of Bat^000000 to use for the arrow tips. ^6600001 Sticky Mucus^000000 to use as adhesive. And ^6600001 Bear's Footskin^000000 will do."; + set HNTR_Q,8; + changequest 4001,4007; + next; + mes "[Demon Hunter]"; + mes "By the way, a member of our Hunter Guild is at the Archer Guild on official business. I believe you have to go visit the person since he's in charge of the testing."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back when you have everything ready~"; + close; } - delitem .@items[0],.@items[1]; - delitem .@items[2],.@items[3]; - delitem .@items[4],.@items[5]; + mes "[Demon Hunter]"; + mes "Mmm. ^6600002 Porcupine Quill^000000 to use for the arrow tips. ^6600001 Yoyo Tail^000000 to help make the bow string. And ^6600001 Acorn^000000 please."; + set HNTR_Q,9; + changequest 4001,4008; + next; + mes "[Demon Hunter]"; + mes "Before I forget. A member of our Hunter Guild is at the Archer Guild for official business. I believe you have to go visit the person since he is in charge of the testing."; + next; + mes "[Demon Hunter]"; + mes "Alright then, come back when you have everything ready~"; + close; + } + 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; + } + if (HNTR_Q == 3) { + mes "[Demon Hunter]"; + mes "Hmm?"; + next; + if ((countitem(7030) > 4) && (countitem(1019) > 4) && (countitem(509) > 2)) { + 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,10; + completequest 4002; + completequest 4003; + completequest 4004; + completequest 4005; + completequest 4006; + completequest 4007; + completequest 4008; + setquest 4009; + delitem 7030,5; //Claw_Of_Desert_Wolf + delitem 1019,5; //Wooden_Block + delitem 509,3; //White_Herb close; } mes "[Demon Hunter]"; @@ -589,70 +863,285 @@ hu_in01,382,382,4 script Guild Receptionist#hnt 732,{ 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 "^6600005 Claw of Desert Wolf^000000,"; + mes "^6600005 Trunk^000000 and"; + mes "^6600003 White Herb^000000."; mes "Come back once you have"; mes "gathered all the items."; close; } - else if (HNTR_Q > 9 && HNTR_Q < 17) { + if (HNTR_Q == 4) { 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."; + mes "Ah, you have returned."; + next; + if ((countitem(925) > 2) && (countitem(932) > 4) && (countitem(511) > 2)) { + mes "[Demon Hunter]"; + mes "You brought all the necessary materials... You can get directions to the testing area from our Guildmaster that is currently in the Payon Central Palace."; + set HNTR_Q,10; + completequest 4002; + completequest 4003; + completequest 4004; + completequest 4005; + completequest 4006; + completequest 4007; + completequest 4008; + setquest 4009; + delitem 925,3; //Bill_Of_Birds + delitem 932,5; //Skel_Bone + delitem 511,3; //Green_Herb + 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 "^6600003 Bill of Birds^000000,"; + mes "^6600005 Skel-bone^000000 and"; + mes "^6600003 Green Herb^000000."; + mes "Come back once you have"; + mes "gathered all the items."; close; } - else if (HNTR_Q == 17) { + if (HNTR_Q == 5) { mes "[Demon Hunter]"; - mes "Ooh. You passed the test. Congratulations~ You should go talk to Sherin now."; + mes "Hmm...let me see."; + next; + if ((countitem(937) > 2) && (countitem(919) > 2) && (countitem(507) > 4)) { + mes "[Demon Hunter]"; + mes "You brought all of the necessary materials... You can get directions to the testing area from our Guildmaster that is currently in the Payon Central Palace."; + set HNTR_Q,10; + completequest 4002; + completequest 4003; + completequest 4004; + completequest 4005; + completequest 4006; + completequest 4007; + completequest 4008; + setquest 4009; + delitem 937,3; //Posionous_Canine + delitem 919,3; //Animal's_Skin + delitem 507,5; //Red_Herb + 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 "^6600003 Venom Canine^000000,"; + mes "^6600003 Animal Skin^000000 and"; + mes "^6600005 Red Herb^000000."; + mes "Come back once you have"; + mes "gathered all of the items."; close; } - else { - mes "[Guild Receptionist]"; - mes "If you wish to change your job to a Hunter, you must register first."; + if (HNTR_Q == 6) { + mes "[Demon Hunter]"; + mes "Hmm? Let me see... "; + next; + if ((countitem(1021) > 2) && (countitem(7032) > 2) && (countitem(914) > 9)) { + mes "[Demon Hunter]"; + mes "You brought all of the necessary materials... You can get directions to the testing area from our Guildmaster that is currently in the Payon Central Palace."; + set HNTR_Q,10; + completequest 4002; + completequest 4003; + completequest 4004; + completequest 4005; + completequest 4006; + completequest 4007; + completequest 4008; + setquest 4009; + delitem 1021,3; //Dokkaebi_Horn + delitem 7032,3; //Piece_Of_Egg_Shell + delitem 914,10; //Fluff + 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 "^6600003 Dokkaebi Horn^000000,"; + mes "^6600003 Piece of Egg Shell^000000 and"; + mes "^66000010 Fluff^000000."; + mes "Come back once you have"; + mes "gathered all the items."; + close; + } + if (HNTR_Q == 7) { + mes "[Demon Hunter]"; + mes "Eh? Let me see..."; + next; + if ((countitem(935) > 8) && (countitem(955) > 8) && (countitem(508) > 8)) { + mes "[Demon Hunter]"; + mes "You brought all of the necessary materials... To get directions to the testing area, go talk to our Guildmaster who is at the Archer Guild."; + set HNTR_Q,11; + completequest 4002; + completequest 4003; + completequest 4004; + completequest 4005; + completequest 4006; + completequest 4007; + completequest 4008; + setquest 4010; + delitem 935,9; //Shell + delitem 955,9; //Worm_Peelings + delitem 508,9; //Yellow_Herb + 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 "^6600009 Shell^000000,"; + mes "^6600009 Worm Peeling^000000 and"; + mes "^6600009 Yellow Herb^000000."; + mes "Come back once you have"; + mes "gathered all the items."; close; } + if (HNTR_Q == 8) { + mes "[Demon Hunter]"; + mes "Huh? "; + next; + if ((countitem(913) > 2) && (countitem(938) > 0) && (countitem(948) > 0)) { + mes "[Demon Hunter]"; + mes "You brought all of the necessary materials... To get directions to the testing area, go talk to our Guildmaster who is at the Archer Guild."; + set HNTR_Q,11; + completequest 4002; + completequest 4003; + completequest 4004; + completequest 4005; + completequest 4006; + completequest 4007; + completequest 4008; + setquest 4010; + delitem 913,3; //Tooth_Of_Bat + delitem 938,1; //Sticky_Mucus + delitem 948,1; //Bear's_Foot + 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 "^6600003 Tooth of Bat^000000,"; + mes "^6600001 Sticky Mucus^000000 and"; + mes "^6600001 Bear's Footskin^000000."; + mes "Come back once you have"; + mes "gathered all the items."; + close; + } + if (HNTR_Q == 9) { + mes "[Demon Hunter]"; + mes "Huh? "; + next; + if ((countitem(1027) > 1) && (countitem(942) > 0) && (countitem(1026) > 0)) { + mes "[Demon Hunter]"; + mes "You brought all of the necessary materials... To get directions to the testing area, go talk to our Guildmaster who is at the Archer Guild."; + set HNTR_Q,11; + completequest 4002; + completequest 4003; + completequest 4004; + completequest 4005; + completequest 4006; + completequest 4007; + completequest 4008; + setquest 4010; + delitem 1027,2; //Porcupine_Spike + delitem 942,1; //Yoyo_Tail + delitem 1026,1; //Acorn + 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 "^6600002 Porcupine Quill^000000,"; + mes "^6600001 Yoyo Tail^000000 and"; + mes "^6600001 Acorn^000000."; + mes "Come back once you have"; + mes "gathered all the items."; + close; + } + 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; + } + if (HNTR_Q == 17) { + mes "[Demon Hunter]"; + mes "Ooh. You passed the test. Congratulations~ You should go talk to Sherin now."; + close; + } + 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?"; + set @a0,1; 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) { + while (1) { + switch (select("What is the test?:What are the passing requirements?:Any warnings?:Begin test.")) { + case 1: 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."; + 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."; + set @a0,@a0 + 1; + close2; + break; + 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."; + set @a0,@a0 + 1; + close2; + break; + 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."; + set @a0,@a0 + 1; + close2; + break; + case 4: + if (@a0 == 1) { + 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; + } + else { + mes "[Hunter Guildmaster]"; + mes "Okay. Best of luck."; + mes "I'll send you right now."; + next; + } + break; } - mes "[Hunter Guildmaster]"; - mes "Okay. Best of luck."; - mes "I'll send you right now."; - next; + break; } mes "[Hunter Guildmaster]"; mes "Well, then. Your arrows are probably still being made, so you can use mine to take the test."; @@ -663,7 +1152,7 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ warp "job_hunte",176,22; end; } - else if (HNTR_Q > 1 && HNTR_Q < 10) { + if ((HNTR_Q > 1) && (HNTR_Q < 10)) { mes "[Hunter Guildmaster]"; mes "Mmm...?"; mes "What is an Archer"; @@ -676,12 +1165,12 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ mes "Go gather the items for the test, and come back after you've visited the Hunter Guild."; close; } - else if (HNTR_Q == 11) { + 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) { + 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; @@ -689,33 +1178,43 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ 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; + while (1) { + 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."; + set @a0,@a0 + 1; + close2; + break; + 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."; + set @a0,@a0 + 1; + close2; + break; + 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."; + set @a0,@a0 + 1; + close2; + break; + case 4: + mes "[Hunter Guildmaster]"; + mes "Okay. Good luck."; + mes "I'll send you right now."; + next; + break; + } + break; } mes "[Hunter Guildmaster]"; mes "Eh? Why won't I give you Silver Arrows? Don't expect anything when you don't bring any materials."; @@ -729,6 +1228,7 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ mes "you will pass this time!"; close2; set HNTR_Q,12; + changequest 4009,4011; warp "job_hunte",176,22; end; } @@ -737,82 +1237,90 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ mes "all of your preparations."; close; } - else if (HNTR_Q == 16) { + 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; + changequest 4012,4013; 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) { + 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) { + next; + mes "[Hunter Guildmaster]"; + mes "Now, you should go back to the Hunter Guild~"; + close; + } + 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?"; + set @a0,1; + next; + while (1) { + 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 "...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."; + mes "This is to test your ability to move swiftly and locate targets in various situations."; + set @a0,@a0 + 1; + close2; + cutin "",255; + break; + 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."; + set @a0,@a0 + 1; + close2; + cutin "",255; + break; + 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."; + set @a0,@a0 + 1; + close2; + cutin "",255; + break; + case 4: + if (@a0 == 1) { + 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; + } + else { + mes "[Hunter Guildmaster]"; + mes "Okay, best of luck."; + mes "I'll send you right now."; + next; + } + break; } - mes "[Hunter Guildmaster]"; - mes "Okay, best of luck."; - mes "I'll send you right now."; - next; + break; } mes "[Hunter Guildmaster]"; mes "Well, your arrows are probably still being made, so you can use mine to take the test."; @@ -823,10 +1331,9 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ 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) { + if ((HNTR_Q > 1) && (HNTR_Q < 10)) { mes "[Hunter Guildmaster]"; mes "Mmm...?"; mes "Why is an Archer"; @@ -838,10 +1345,10 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "[Hunter Guildmaster]"; mes "Stop by once you have gathered all the items needed for the test."; close2; - cutin "job_huntermaster",255; + cutin "",255; end; } - else if (HNTR_Q == 10) { + if (HNTR_Q == 10) { mes "[Hunter]"; mes "Mmm?"; mes "Can I help you"; @@ -852,10 +1359,10 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ 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; + cutin "",255; end; } - else if (HNTR_Q > 11 && HNTR_Q < 16) { + 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; @@ -864,42 +1371,49 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ 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; + while (1) { + 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."; + set @a0,@a0 + 1; + close2; + cutin "",255; + break; + 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."; + set @a0,@a0 + 1; + close2; + cutin "",255; + break; + 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."; + set @a0,@a0 + 1; + close2; + cutin "",255; + break; + case 4: + mes "[Hunter Guildmaster]"; + mes "Okay, good luck."; + mes "I'll send you right now..."; + next; + break; + } + break; } 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."; @@ -915,8 +1429,9 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "Okay!! Now..."; mes "Pass this time!"; close2; - cutin "job_huntermaster",255; + cutin "",255; set HNTR_Q,12; + changequest 4010,4011; warp "job_hunte",176,22; end; } @@ -926,14 +1441,15 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "you're done with"; mes "your preparations."; close2; - cutin "job_huntermaster",255; + cutin "",255; end; } - else if (HNTR_Q == 16) { + 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; + changequest 4012,4013; savepoint "payon",104,99; getitem 1007,1; //Penetration next; @@ -942,10 +1458,10 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "There you go."; mes "Now hurry back to the Hunter Guild, and join us~"; close2; - cutin "job_huntermaster",255; + cutin "",255; end; } - else if (HNTR_Q == 17) { + 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; @@ -955,19 +1471,69 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "for you back"; mes "at the Hunter Guild."; close2; - cutin "job_huntermaster",255; + cutin "",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."; + 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 "",255; + end; +} + +job_hunte,178,32,1 script Guide#hnt 107,5,2,{ + + 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; + } + 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?"; + next; + if (select("Keep trying.:Resign.") == 1) { + mes "Okay. Do your best to become a great Hunter. Please enter the waiting room. If someone entered already, you must wait until that person is done."; + close; + } + mapannounce "job_hunte","" + strcharinfo(0) + "has resigned. Next person, please enter.",bc_map; + 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::OnReset"; close2; - cutin "job_huntermaster",255; + set HNTR_Q,13; + savepoint "payon",104,99; + warp "payon_in02",21,27; + end; + } + 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,32,1 script Guide#hnt 107,5,2,{ OnTouch: if (HNTR_Q == 12) { mes "[Guide]"; @@ -987,7 +1553,7 @@ OnTouch: savepoint "job_hunte",176,22; close; } - else if (HNTR_Q > 12 && HNTR_Q < 16) { + if ((HNTR_Q > 12) && (HNTR_Q < 16)) { mes "[Guide]"; mes "Hmm..."; mes "Did you mess up?"; @@ -998,33 +1564,32 @@ OnTouch: 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: + if (select("Keep trying.:Resign.") == 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; } + 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::OnReset"; + close2; + set HNTR_Q,13; + savepoint "payon",104,99; + warp "payon_in02",21,27; + end; } - else if (HNTR_Q > 15) { + 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; } - end; } -job_hunte,178,38,1 script Waiting Room#hnt 66,{ +job_hunte,176,38,1 script Waiting Room#hnt 66,{ end; OnInit: @@ -1033,93 +1598,58 @@ OnInit: end; OnStartArena: - warpwaitingpc "job_hunte", 90, 67; + warpwaitingpc "job_hunte",90,67; donpcevent "Manager#hnt::OnEnable"; + donpcevent "Manager#hnt2::OnEnable"; + donpcevent "switch#hnt::OnDisable"; + donpcevent "hnt_backers::OnDisable"; disablewaitingroomevent; end; -OnStart: +OnReset: enablewaitingroomevent; end; } job_hunte,1,1,1 script Manager#hnt 66,{ + end; + OnInit: - disablenpc "Manager#hnt"; + hideonnpc "Manager#hnt"; end; OnEnable: - donpcevent "Switch#hnt::OnDisable"; - enablenpc "Manager#hnt"; - set .MyMobs,6; - initnpctimer; - // Target Mosnters + hideoffnpc "Manager#hnt"; 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"; + initnpctimer; + end; + +OnReset: + killmonster "job_hunte","Manager#hnt::OnMyMobDead"; end; OnMyMobDead: - set .MyMobs,.MyMobs-1; - if (.MyMobs < 3) { + if (mobcount ("job_hunte","Manager#hnt::OnMyMobDead") < 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::OnReset"; + donpcevent "Manager#hnt2::OnReset"; donpcevent "Manager#hnt::OnDisable"; + donpcevent "Manager#hnt2::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"; + hideonnpc "Manager#hnt"; end; OnTimer1000: @@ -1195,610 +1725,1558 @@ OnTimer194000: end; OnTimer195000: - areawarp "job_hunte",50,64,129,143,"job_hunte",176,22; + donpcevent "hnt_backers::OnEnable"; + end; + +OnTimer196000: + donpcevent "hnt_backers::OnDisable"; + end; + +OnTimer196500: + donpcevent "hnt_backers::OnEnable"; end; OnTimer197000: + donpcevent "hnt_backers::OnDisable"; donpcevent "Manager#hnt::OnReset"; - donpcevent "Waiting Room#hnt::OnStart"; + donpcevent "Manager#hnt2::OnReset"; + donpcevent "Waiting Room#hnt::OnReset"; end; } -job_hunte,93,101,1 script Switch#hnt 723,1,1,{ +job_hunte,1,2,1 script Manager#hnt2 66,{ + end; + +OnInit: + hideonnpc "Manager#hnt2"; + end; + +OnEnable: + hideoffnpc "Manager#hnt2"; + monster "job_hunte",85,100,"Job Test Monster",1016,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",72,102,"Job Test Monster",1041,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",108,103,"Job Test Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",88,127,"Job Test Monster",1002,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",125,69,"Job Test Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",77,112,"Job Tester Monster",1016,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",53,106,"Job Tester Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",53,73,"Job Tester Monster",1002,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",125,70,"Job Tester Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",90,91,"Job Tester Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",67,80,"Hunter Change Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",77,112,"Hunter Change Monster",1016,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",53,106,"Hunter Change Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",53,73,"Hunter Change Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",125,70,"Hunter Change Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",90,91,"Job Transfer Monster",1041,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",85,100,"Job Transfer Monster",1002,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",72,102,"Job Transfer Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",108,103,"Job Transfer Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",77,112,"Job Transfer Monster",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",112,139,"Binnie",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",112,139,"Darrel",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",112,139,"Rex",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",112,139,"Anselmo",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",90,91,"Anolian",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",53,73,"Monster Sample",1002,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",53,106,"Not Me",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",77,112,"Help Me",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",72,102,"Do Not Hit Me",1015,1,"Manager#hnt2::OnMyMobDead"; + monster "job_hunte",108,103,"Attack Speed 184",1015,1,"Manager#hnt2::OnMyMobDead"; + end; + +OnReset: + killmonster "job_hunte","Manager#hnt2::OnMyMobDead"; + end; + +OnDisable: + hideonnpc "Manager#hnt2"; + end; + +OnMyMobDead: + mapannounce "job_hunte"," " + strcharinfo(0) + "!! You made a mistake...Please try again.",bc_map; + set HNTR_Q,13; + warp "job_hunte",176,22; + donpcevent "Waiting Room#hnt::OnReset"; + donpcevent "Manager#hnt::OnReset"; + donpcevent "Manager#hnt2::OnReset"; + donpcevent "Manager#hnt::OnDisable"; + donpcevent "Manager#hnt2::OnDisable"; + end; +} + +job_hunte,93,101,1 script switch#hnt 723,1,1,{ + + 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; + donpcevent "exit#hnttest::OnEnable"; + 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 "Waiting Room#hnt::OnReset"; + end; + } + OnTouch: mes "^3355FFThere are 3 buttons"; mes "on the escape switch.^000000"; set HNTR_Q,15; next; - switch(select("Escape:Cancel:Re-test")) { + 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"; + mapannounce "job_hunte"," ## Escape Warp Portal activation complete. ## ",bc_map; + donpcevent "exit#hnttest::OnEnable"; end; case 2: mes "^3355FFCanceling"; mes "Operation.^000000"; close2; - mapannounce "job_hunte"," !! Operation has been cancelled. !! ",bc_map; + mapannounce "job_hunte"," ## Operation has been cancelled. ## ",bc_map; end; case 3: - mapannounce "job_hunte"," !! Cancellation warp activating... !! ",bc_map; + 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"; + donpcevent "Waiting Room#hnt::OnReset"; end; } OnDisable: - disablenpc "exit#hnttest"; - disablenpc "Switch#hnt"; + donpcevent "exit#hnttest::OnDisable"; + hideonnpc "switch#hnt"; end; OnEnable: - enablenpc "Switch#hnt"; + hideoffnpc "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"; + donpcevent "Waiting Room#hnt::OnReset"; set HNTR_Q,16; changequest 4011,4012; savepoint "payon",104,99; - if (rand(1)) + set .@whe,rand(1,2); + if (.@whe == 1) { warp "payon_in02",21,27; - warp "payon_in03",128,7; + } + else { + warp "payon_in03",128,7; + } + end; + +OnInit: + hideonnpc "exit#hnttest"; + end; + +OnEnable: + hideoffnpc "exit#hnttest"; + end; + +OnDisable: + hideonnpc "exit#hnttest"; + end; } -// Hunter Job test traps. -//============================================================ -job_hunte,52,140,0 script 1-1::HntTrap -1,0,1,{ +job_hunte,89,103,0 script hnt_backers 139,42,42,{ + 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; - } + warp "job_hunte",176,22; set HNTR_Q,13; + end; + +OnInit: + hideonnpc "hnt_backers"; + end; + +OnEnable: + hideoffnpc "hnt_backers"; + end; + +OnDisable: + hideonnpc "hnt_backers"; + end; +} + +- script hnt_job_quest_test::hntjqt -1,{ + +OnTouch: + switch(rand(1,128)){ + 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 11: mapannounce "job_hunte"," " + strcharinfo(0) + "... aww~ Try again! You can do it!",bc_map; break; + case 12: mapannounce "job_hunte"," " + strcharinfo(0) + ", @#$%#^!@ and you wanna be a what? Hunter? Get back there!",bc_map; break; + case 13: mapannounce "job_hunte"," " + strcharinfo(0) + " was defeated by the forces of evil. Don't give up, hero!",bc_map; break; + case 14: mapannounce "job_hunte","I put a spell on you " + strcharinfo(0) + " and now you're mine! Go start over now.",bc_map; break; + case 15: 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 16: mapannounce "job_hunte","That's my nest " + strcharinfo(0) + "! dont step there, squawk~ Start over.",bc_map; break; + case 17: mapannounce "job_hunte"," " + strcharinfo(0) + ", another archer down. 3 more to go!",bc_map; break; + case 18: mapannounce "job_hunte"," " + strcharinfo(0) + ", have you got what it takes? Then try again.",bc_map; break; + case 19: 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 20: mapannounce "job_hunte"," " + strcharinfo(0) + " had too much prune juice to drink today. Back 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","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; + case 42: 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 43: 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 44: mapannounce "job_hunte"," " + strcharinfo(0) + " fell into a trap. Once again, for clarity's sake, the name is " + strcharinfo(0) + ".",bc_map; break; + case 45: mapannounce "job_hunte","Oy oy, " + strcharinfo(0) + ".. I've seen blind Porings get further! Go back to the starting point.",bc_map; break; + case 46: 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 47: 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 48: 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 49: 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 50: mapannounce "job_hunte"," " + strcharinfo(0) + ", do you have any idea where you're going? Start over *sigh*.",bc_map; break; + case 51: mapannounce "job_hunte"," " + strcharinfo(0) + ", do you like green tea ice cream? No? Go back to the starting point...*hmph*",bc_map; break; + case 52: mapannounce "job_hunte","Oh, no.. " + strcharinfo(0) + ", are you hurt? Come now, let's go back to the starting point.",bc_map; break; + case 53: 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 54: 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 55: 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 56: mapannounce "job_hunte","Oh, " + strcharinfo(0) + ".. You can do better. Try again!",bc_map; break; + case 57: 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 58: 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 59: mapannounce "job_hunte"," " + strcharinfo(0) + " faaaaaaaaaaaaaaaaailed.. Hehe, just kidding. You will be returned to the starting point so try again!",bc_map; break; + case 60: 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 61: mapannounce "job_hunte"," " + strcharinfo(0) + ", HAHAHAHAHAHA!!!! I can't believe you fell for that one!",bc_map; break; + case 62: 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 63: 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 64: 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 65: mapannounce "job_hunte"," " + strcharinfo(0) + ", OW...now that's gotta hurt. Back to the start~",bc_map; break; + case 66: mapannounce "job_hunte"," " + strcharinfo(0) + ", I find your lack of faith disturbing... Let's start over.",bc_map; break; + case 67: 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 68: 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 69: 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 70: mapannounce "job_hunte"," " + strcharinfo(0) + ", try not. Do or do not. There is no try.",bc_map; break; + case 71: mapannounce "job_hunte"," " + strcharinfo(0) + ", that is why you fail. Now try again!",bc_map; break; + case 72: 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 73: mapannounce "job_hunte"," " + strcharinfo(0) + ", you are beaten. It is useless to resist.",bc_map; break; + case 74: mapannounce "job_hunte"," " + strcharinfo(0) + ", I'm looking forward to completing your training. In time you will call me Master.",bc_map; break; + case 75: mapannounce "job_hunte"," " + strcharinfo(0) + ", your overconfidence is your weakness.",bc_map; break; + case 76: mapannounce "job_hunte"," " + strcharinfo(0) + ", watch your step. This place can be a little rough.",bc_map; break; + case 77: mapannounce "job_hunte"," " + strcharinfo(0) + ", oh I told you it was dangerous here.",bc_map; break; + case 78: mapannounce "job_hunte"," " + strcharinfo(0) + ", everything is proceeding as I have foreseen.",bc_map; break; + case 79: mapannounce "job_hunte"," " + strcharinfo(0) + ", you should have not come back.",bc_map; break; + case 80: mapannounce "job_hunte"," " + strcharinfo(0) + ", there are alternatives to fighting. But not to losing to this test. Now try again!",bc_map; break; + case 81: 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 82: mapannounce "job_hunte"," " + strcharinfo(0) + ", we do not train to be merciful here, mercy is for the weak!",bc_map; break; + case 83: mapannounce "job_hunte"," " + strcharinfo(0) + ", defeat does not exist here, does it?!",bc_map; break; + case 84: mapannounce "job_hunte"," " + strcharinfo(0) + ", concentrate. Focus your powers!",bc_map; break; + case 85: mapannounce "job_hunte"," " + strcharinfo(0) + ", am I going mad, or did the word -think- escape your lips?",bc_map; break; + case 86: mapannounce "job_hunte"," " + strcharinfo(0) + ", you're just stalling now.",bc_map; break; + case 87: mapannounce "job_hunte"," " + strcharinfo(0) + ", life isn't always fair.",bc_map; break; + case 88: mapannounce "job_hunte"," " + strcharinfo(0) + ".... Uhhh...it's not OUR fault....",bc_map; break; + case 89: mapannounce "job_hunte"," " + strcharinfo(0) + ", survivability takes priority.",bc_map; break; + case 90: mapannounce "job_hunte"," " + strcharinfo(0) + ", people have the strength to overcome their obstacles...everyone can.",bc_map; break; + case 91: 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 92: mapannounce "job_hunte"," " + strcharinfo(0) + ", some things are real and some things are false. Can't you tell the difference?",bc_map; break; + case 93: 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 94: mapannounce "job_hunte"," " + strcharinfo(0) + ", I'll give you just one piece of advice... dying hurts like hell.",bc_map; break; + case 95: mapannounce "job_hunte"," " + strcharinfo(0) + ", don't give up the spirit! Just be more careful...",bc_map; break; + case 96: 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 97: 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 98: 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 99: 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 100: 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 101: mapannounce "job_hunte"," " + strcharinfo(0) + ", ....Chii?",bc_map; break; + case 102: mapannounce "job_hunte"," " + strcharinfo(0) + ", Mine! Mine! Mine! Mine!",bc_map; break; + case 103: mapannounce "job_hunte"," " + strcharinfo(0) + ", it's time to duel!",bc_map; break; + case 104: mapannounce "job_hunte"," " + strcharinfo(0) + ", I choose you!...wait... uagh...not you!...",bc_map; break; + case 105: mapannounce "job_hunte"," " + strcharinfo(0) + ", this isn't the time to be complimenting it!",bc_map; break; + case 106: mapannounce "job_hunte"," " + strcharinfo(0) + "...Oh great, what else could go wrong today?",bc_map; break; + case 107: 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 108: 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 109: mapannounce "job_hunte"," " + strcharinfo(0) + ", don't worry about it. We're good at fighting losing battles, remember?",bc_map; break; + case 110: 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 111: mapannounce "job_hunte"," " + strcharinfo(0) + ", you must forget about your past for the sake of your own happiness.",bc_map; break; + case 112: mapannounce "job_hunte"," " + strcharinfo(0) + ", if you can fool your friends, you can fool your enemies.",bc_map; break; + case 113: mapannounce "job_hunte"," " + strcharinfo(0) + ", this world is made up of love and peace!",bc_map; break; + case 114: mapannounce "job_hunte"," " + strcharinfo(0) + ", if you fail, you must drink this.....*evil grin*",bc_map; break; + case 115: mapannounce "job_hunte"," " + strcharinfo(0) + ", don't say we didn't warn you!",bc_map; break; + case 116: 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 117: mapannounce "job_hunte"," " + strcharinfo(0) + ", STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!",bc_map; break; + case 118: mapannounce "job_hunte"," " + strcharinfo(0) + ", how you like me now? That's right, that was MY trap!",bc_map; break; + case 119: mapannounce "job_hunte"," " + strcharinfo(0) + "...brilliant...just absolutely...genius. Sorry, I was talking about all these crazy traps.",bc_map; break; + case 120: mapannounce "job_hunte"," " + strcharinfo(0) + ", it's time to bust out of that trap, Houdini-style! Hey, wait...come back!",bc_map; break; + case 121: 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 122: mapannounce "job_hunte"," " + strcharinfo(0) + "...not smooth, dude. Go for it again, one more time!",bc_map; break; + case 123: mapannounce "job_hunte"," " + strcharinfo(0) + ",it looks like you could really be in a pickle. Back to the starting point...",bc_map; break; + case 124: 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 125: 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 126: mapannounce "job_hunte"," " + strcharinfo(0) + ", don't give up! The world still needs you!",bc_map; break; + case 127: mapannounce "job_hunte"," " + strcharinfo(0) + ", it's okay to cry. Just not too loudly.",bc_map; break; + case 128: 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; + default: mapannounce "job_hunte"," " + strcharinfo(0) + ", you have fallen into a trap. You will be returned to the starting point.",bc_map; break; + } + set job_hunter,13; warp "job_hunte",176,22; + donpcevent "Waiting Room#hnt::OnReset"; donpcevent "Manager#hnt::OnReset"; - donpcevent "Waiting Room#hnt::OnStart"; + donpcevent "Manager#hnt2::OnReset"; + donpcevent "Manager#hnt::OnDisable"; + donpcevent "Manager#hnt2::OnDisable"; + end; + +OnEnable: + hideoffnpc "1-1"; + hideoffnpc "1-2"; + hideoffnpc "1-3"; + hideoffnpc "1-4"; + hideoffnpc "1-5"; + hideoffnpc "1-6"; + hideoffnpc "1-7"; + hideoffnpc "1-8"; + hideoffnpc "2-1"; + hideoffnpc "2-2"; + hideoffnpc "2-3"; + hideoffnpc "2-4"; + hideoffnpc "2-5"; + hideoffnpc "2-6"; + hideoffnpc "2-7"; + hideoffnpc "2-8"; + hideoffnpc "3-1"; + hideoffnpc "3-2"; + hideoffnpc "3-3"; + hideoffnpc "3-4"; + hideoffnpc "4-1"; + hideoffnpc "4-2"; + hideoffnpc "4-3"; + hideoffnpc "4-4"; + hideoffnpc "5-1"; + hideoffnpc "5-2"; + hideoffnpc "5-3"; + hideoffnpc "5-4"; + hideoffnpc "6-1"; + hideoffnpc "6-2"; + hideoffnpc "6-3"; + hideoffnpc "6-4"; + hideoffnpc "7-1"; + hideoffnpc "7-2"; + hideoffnpc "7-3"; + hideoffnpc "7-4"; + hideoffnpc "8-1"; + hideoffnpc "8-2"; + hideoffnpc "8-3"; + hideoffnpc "8-4"; + hideoffnpc "9-1"; + hideoffnpc "9-2"; + hideoffnpc "9-3"; + hideoffnpc "9-4"; + hideoffnpc "10-1"; + hideoffnpc "10-2"; + hideoffnpc "10-3"; + hideoffnpc "10-4"; + hideoffnpc "11-1"; + hideoffnpc "11-2"; + hideoffnpc "11-3"; + hideoffnpc "11-4"; + hideoffnpc "12-1"; + hideoffnpc "12-2"; + hideoffnpc "12-3"; + hideoffnpc "12-4"; + hideoffnpc "13-1"; + hideoffnpc "13-2"; + hideoffnpc "13-3"; + hideoffnpc "13-4"; + hideoffnpc "14-1"; + hideoffnpc "14-2"; + hideoffnpc "14-3"; + hideoffnpc "14-4"; + hideoffnpc "15-1"; + hideoffnpc "15-2"; + hideoffnpc "15-3"; + hideoffnpc "15-4"; + hideoffnpc "16-1"; + hideoffnpc "16-2"; + hideoffnpc "16-3"; + hideoffnpc "16-4"; + hideoffnpc "17-1"; + hideoffnpc "17-2"; + hideoffnpc "17-3"; + hideoffnpc "17-4"; + hideoffnpc "18-1"; + hideoffnpc "18-2"; + hideoffnpc "18-3"; + hideoffnpc "18-4"; + hideoffnpc "19-1"; + hideoffnpc "19-2"; + hideoffnpc "19-3"; + hideoffnpc "19-4"; + hideoffnpc "20-1"; + hideoffnpc "20-2"; + hideoffnpc "20-3"; + hideoffnpc "20-4"; + hideoffnpc "21-1"; + hideoffnpc "21-2"; + hideoffnpc "21-3"; + hideoffnpc "21-4"; + hideoffnpc "22-1"; + hideoffnpc "22-2"; + hideoffnpc "22-3"; + hideoffnpc "22-4"; + hideoffnpc "23-1"; + hideoffnpc "23-2"; + hideoffnpc "23-3"; + hideoffnpc "23-4"; + hideoffnpc "24-1"; + hideoffnpc "24-2"; + hideoffnpc "24-3"; + hideoffnpc "24-4"; + hideoffnpc "25-1"; + hideoffnpc "25-2"; + hideoffnpc "25-3"; + hideoffnpc "25-4"; + hideoffnpc "26-1"; + hideoffnpc "26-2"; + hideoffnpc "26-3"; + hideoffnpc "26-4"; + hideoffnpc "27-1"; + hideoffnpc "27-2"; + hideoffnpc "27-3"; + hideoffnpc "27-4"; + hideoffnpc "28-1"; + hideoffnpc "28-2"; + hideoffnpc "28-3"; + hideoffnpc "28-4"; + hideoffnpc "29-1"; + hideoffnpc "29-2"; + hideoffnpc "29-3"; + hideoffnpc "29-4"; + hideoffnpc "30-1"; + hideoffnpc "30-2"; + hideoffnpc "30-3"; + hideoffnpc "30-4"; + hideoffnpc "31-1"; + hideoffnpc "31-2"; + hideoffnpc "31-3"; + hideoffnpc "31-4"; + hideoffnpc "32-1"; + hideoffnpc "32-2"; + hideoffnpc "32-3"; + hideoffnpc "32-4"; + hideoffnpc "33-1"; + hideoffnpc "33-2"; + hideoffnpc "33-3"; + hideoffnpc "33-4"; + hideoffnpc "34-1"; + hideoffnpc "34-2"; + hideoffnpc "34-3"; + hideoffnpc "34-4"; + hideoffnpc "35-1"; + hideoffnpc "35-2"; + hideoffnpc "35-3"; + hideoffnpc "35-4"; + hideoffnpc "36-1"; + hideoffnpc "36-2"; + hideoffnpc "36-3"; + hideoffnpc "36-4"; + hideoffnpc "37-1"; + hideoffnpc "37-2"; + hideoffnpc "37-3"; + hideoffnpc "37-4"; + hideoffnpc "38-1"; + hideoffnpc "38-2"; + hideoffnpc "38-3"; + hideoffnpc "38-4"; + hideoffnpc "39-1"; + hideoffnpc "39-2"; + hideoffnpc "39-3"; + hideoffnpc "39-4"; + hideoffnpc "40-1"; + hideoffnpc "40-2"; + hideoffnpc "40-3"; + hideoffnpc "40-4"; + hideoffnpc "41-1"; + hideoffnpc "41-2"; + hideoffnpc "41-3"; + hideoffnpc "41-4"; + hideoffnpc "42-1"; + hideoffnpc "42-2"; + hideoffnpc "42-3"; + hideoffnpc "42-4"; + hideoffnpc "43-1"; + hideoffnpc "43-2"; + hideoffnpc "43-3"; + hideoffnpc "43-4"; + hideoffnpc "44-1"; + hideoffnpc "44-2"; + hideoffnpc "44-3"; + hideoffnpc "44-4"; + hideoffnpc "45-1"; + hideoffnpc "45-2"; + hideoffnpc "45-3"; + hideoffnpc "45-4"; + hideoffnpc "46-1"; + hideoffnpc "46-2"; + hideoffnpc "46-3"; + hideoffnpc "46-4"; + hideoffnpc "47-1"; + hideoffnpc "47-2"; + hideoffnpc "47-3"; + hideoffnpc "47-4"; + hideoffnpc "48-1"; + hideoffnpc "48-2"; + hideoffnpc "48-3"; + hideoffnpc "48-4"; + hideoffnpc "49-1"; + hideoffnpc "49-2"; + hideoffnpc "49-3"; + hideoffnpc "49-4"; + hideoffnpc "50-1"; + hideoffnpc "50-2"; + hideoffnpc "50-3"; + hideoffnpc "50-4"; + hideoffnpc "51-1"; + hideoffnpc "51-2"; + hideoffnpc "51-3"; + hideoffnpc "51-4"; + hideoffnpc "52-1"; + hideoffnpc "52-2"; + hideoffnpc "52-3"; + hideoffnpc "52-4"; + hideoffnpc "53-1"; + hideoffnpc "53-2"; + hideoffnpc "53-3"; + hideoffnpc "53-4"; + hideoffnpc "54-1"; + hideoffnpc "54-2"; + hideoffnpc "54-3"; + hideoffnpc "54-4"; + hideoffnpc "55-1"; + hideoffnpc "55-2"; + hideoffnpc "55-3"; + hideoffnpc "55-4"; + hideoffnpc "56-1"; + hideoffnpc "56-2"; + hideoffnpc "56-3"; + hideoffnpc "56-4"; + hideoffnpc "56-6"; + hideoffnpc "56-7"; + hideoffnpc "56-8"; + hideoffnpc "57-1"; + hideoffnpc "57-2"; + hideoffnpc "57-3"; + end; + +OnDisable: + hideonnpc "1-1"; + hideonnpc "1-2"; + hideonnpc "1-3"; + hideonnpc "1-4"; + hideonnpc "1-5"; + hideonnpc "1-6"; + hideonnpc "1-7"; + hideonnpc "1-8"; + hideonnpc "2-1"; + hideonnpc "2-2"; + hideonnpc "2-3"; + hideonnpc "2-4"; + hideonnpc "2-5"; + hideonnpc "2-6"; + hideonnpc "2-7"; + hideonnpc "2-8"; + hideonnpc "3-1"; + hideonnpc "3-2"; + hideonnpc "3-3"; + hideonnpc "3-4"; + hideonnpc "4-1"; + hideonnpc "4-2"; + hideonnpc "4-3"; + hideonnpc "4-4"; + hideonnpc "5-1"; + hideonnpc "5-2"; + hideonnpc "5-3"; + hideonnpc "5-4"; + hideonnpc "6-1"; + hideonnpc "6-2"; + hideonnpc "6-3"; + hideonnpc "6-4"; + hideonnpc "7-1"; + hideonnpc "7-2"; + hideonnpc "7-3"; + hideonnpc "7-4"; + hideonnpc "8-1"; + hideonnpc "8-2"; + hideonnpc "8-3"; + hideonnpc "8-4"; + hideonnpc "9-1"; + hideonnpc "9-2"; + hideonnpc "9-3"; + hideonnpc "9-4"; + hideonnpc "10-1"; + hideonnpc "10-2"; + hideonnpc "10-3"; + hideonnpc "10-4"; + hideonnpc "11-1"; + hideonnpc "11-2"; + hideonnpc "11-3"; + hideonnpc "11-4"; + hideonnpc "12-1"; + hideonnpc "12-2"; + hideonnpc "12-3"; + hideonnpc "12-4"; + hideonnpc "13-1"; + hideonnpc "13-2"; + hideonnpc "13-3"; + hideonnpc "13-4"; + hideonnpc "14-1"; + hideonnpc "14-2"; + hideonnpc "14-3"; + hideonnpc "14-4"; + hideonnpc "15-1"; + hideonnpc "15-2"; + hideonnpc "15-3"; + hideonnpc "15-4"; + hideonnpc "16-1"; + hideonnpc "16-2"; + hideonnpc "16-3"; + hideonnpc "16-4"; + hideonnpc "17-1"; + hideonnpc "17-2"; + hideonnpc "17-3"; + hideonnpc "17-4"; + hideonnpc "18-1"; + hideonnpc "18-2"; + hideonnpc "18-3"; + hideonnpc "18-4"; + hideonnpc "19-1"; + hideonnpc "19-2"; + hideonnpc "19-3"; + hideonnpc "19-4"; + hideonnpc "20-1"; + hideonnpc "20-2"; + hideonnpc "20-3"; + hideonnpc "20-4"; + hideonnpc "21-1"; + hideonnpc "21-2"; + hideonnpc "21-3"; + hideonnpc "21-4"; + hideonnpc "22-1"; + hideonnpc "22-2"; + hideonnpc "22-3"; + hideonnpc "22-4"; + hideonnpc "23-1"; + hideonnpc "23-2"; + hideonnpc "23-3"; + hideonnpc "23-4"; + hideonnpc "24-1"; + hideonnpc "24-2"; + hideonnpc "24-3"; + hideonnpc "24-4"; + hideonnpc "25-1"; + hideonnpc "25-2"; + hideonnpc "25-3"; + hideonnpc "25-4"; + hideonnpc "26-1"; + hideonnpc "26-2"; + hideonnpc "26-3"; + hideonnpc "26-4"; + hideonnpc "27-1"; + hideonnpc "27-2"; + hideonnpc "27-3"; + hideonnpc "27-4"; + hideonnpc "28-1"; + hideonnpc "28-2"; + hideonnpc "28-3"; + hideonnpc "28-4"; + hideonnpc "29-1"; + hideonnpc "29-2"; + hideonnpc "29-3"; + hideonnpc "29-4"; + hideonnpc "30-1"; + hideonnpc "30-2"; + hideonnpc "30-3"; + hideonnpc "30-4"; + hideonnpc "31-1"; + hideonnpc "31-2"; + hideonnpc "31-3"; + hideonnpc "31-4"; + hideonnpc "32-1"; + hideonnpc "32-2"; + hideonnpc "32-3"; + hideonnpc "32-4"; + hideonnpc "33-1"; + hideonnpc "33-2"; + hideonnpc "33-3"; + hideonnpc "33-4"; + hideonnpc "34-1"; + hideonnpc "34-2"; + hideonnpc "34-3"; + hideonnpc "34-4"; + hideonnpc "35-1"; + hideonnpc "35-2"; + hideonnpc "35-3"; + hideonnpc "35-4"; + hideonnpc "36-1"; + hideonnpc "36-2"; + hideonnpc "36-3"; + hideonnpc "36-4"; + hideonnpc "37-1"; + hideonnpc "37-2"; + hideonnpc "37-3"; + hideonnpc "37-4"; + hideonnpc "38-1"; + hideonnpc "38-2"; + hideonnpc "38-3"; + hideonnpc "38-4"; + hideonnpc "39-1"; + hideonnpc "39-2"; + hideonnpc "39-3"; + hideonnpc "39-4"; + hideonnpc "40-1"; + hideonnpc "40-2"; + hideonnpc "40-3"; + hideonnpc "40-4"; + hideonnpc "41-1"; + hideonnpc "41-2"; + hideonnpc "41-3"; + hideonnpc "41-4"; + hideonnpc "42-1"; + hideonnpc "42-2"; + hideonnpc "42-3"; + hideonnpc "42-4"; + hideonnpc "43-1"; + hideonnpc "43-2"; + hideonnpc "43-3"; + hideonnpc "43-4"; + hideonnpc "44-1"; + hideonnpc "44-2"; + hideonnpc "44-3"; + hideonnpc "44-4"; + hideonnpc "45-1"; + hideonnpc "45-2"; + hideonnpc "45-3"; + hideonnpc "45-4"; + hideonnpc "46-1"; + hideonnpc "46-2"; + hideonnpc "46-3"; + hideonnpc "46-4"; + hideonnpc "47-1"; + hideonnpc "47-2"; + hideonnpc "47-3"; + hideonnpc "47-4"; + hideonnpc "48-1"; + hideonnpc "48-2"; + hideonnpc "48-3"; + hideonnpc "48-4"; + hideonnpc "49-1"; + hideonnpc "49-2"; + hideonnpc "49-3"; + hideonnpc "49-4"; + hideonnpc "50-1"; + hideonnpc "50-2"; + hideonnpc "50-3"; + hideonnpc "50-4"; + hideonnpc "51-1"; + hideonnpc "51-2"; + hideonnpc "51-3"; + hideonnpc "51-4"; + hideonnpc "52-1"; + hideonnpc "52-2"; + hideonnpc "52-3"; + hideonnpc "52-4"; + hideonnpc "53-1"; + hideonnpc "53-2"; + hideonnpc "53-3"; + hideonnpc "53-4"; + hideonnpc "54-1"; + hideonnpc "54-2"; + hideonnpc "54-3"; + hideonnpc "54-4"; + hideonnpc "55-1"; + hideonnpc "55-2"; + hideonnpc "55-3"; + hideonnpc "55-4"; + hideonnpc "56-1"; + hideonnpc "56-2"; + hideonnpc "56-3"; + hideonnpc "56-4"; + hideonnpc "56-6"; + hideonnpc "56-7"; + hideonnpc "56-8"; + hideonnpc "57-1"; + hideonnpc "57-2"; + hideonnpc "57-3"; 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,{ +job_hunte,52,140,0 duplicate(hntjqt) 1-1 139,0,1 +job_hunte,53,140,0 duplicate(hntjqt) 1-2 139,0,1 +job_hunte,54,141,0 duplicate(hntjqt) 1-3 139 +job_hunte,55,141,0 duplicate(hntjqt) 1-4 139 +job_hunte,55,140,0 duplicate(hntjqt) 1-5 139 +job_hunte,54,140,0 duplicate(hntjqt) 1-6 139 +job_hunte,52,138,0 duplicate(hntjqt) 1-7 139 +job_hunte,53,138,0 duplicate(hntjqt) 1-8 139 +job_hunte,62,140,0 duplicate(hntjqt) 2-1 139,0,1 +job_hunte,63,140,0 duplicate(hntjqt) 2-2 139,0,1 +job_hunte,64,140,0 duplicate(hntjqt) 2-3 139 +job_hunte,64,141,0 duplicate(hntjqt) 2-4 139 +job_hunte,65,140,0 duplicate(hntjqt) 2-5 139 +job_hunte,65,141,0 duplicate(hntjqt) 2-6 139 +job_hunte,62,138,0 duplicate(hntjqt) 2-7 139 +job_hunte,63,138,0 duplicate(hntjqt) 2-8 139 +job_hunte,72,140,0 duplicate(hntjqt) 3-1 139,0,1 +job_hunte,73,140,0 duplicate(hntjqt) 3-2 139,0,1 +job_hunte,72,138,0 duplicate(hntjqt) 3-3 139 +job_hunte,72,138,0 duplicate(hntjqt) 3-4 139 +job_hunte,78,140,0 duplicate(hntjqt) 4-1 139 +job_hunte,78,141,0 duplicate(hntjqt) 4-2 139 +job_hunte,79,140,0 duplicate(hntjqt) 4-3 139 +job_hunte,79,141,0 duplicate(hntjqt) 4-4 139 +job_hunte,82,138,0 duplicate(hntjqt) 5-1 139 +job_hunte,82,139,0 duplicate(hntjqt) 5-2 139 +job_hunte,83,138,0 duplicate(hntjqt) 5-3 139 +job_hunte,83,139,0 duplicate(hntjqt) 5-4 139 +job_hunte,99,138,0 duplicate(hntjqt) 6-1 139,1,0 +job_hunte,99,139,0 duplicate(hntjqt) 6-2 139,1,0 +job_hunte,101,138,0 duplicate(hntjqt) 6-3 139 +job_hunte,101,139,0 duplicate(hntjqt) 6-4 139 +job_hunte,106,140,0 duplicate(hntjqt) 7-1 139,0,1 +job_hunte,107,140,0 duplicate(hntjqt) 7-2 139,0,1 +job_hunte,106,138,0 duplicate(hntjqt) 7-3 139 +job_hunte,107,138,0 duplicate(hntjqt) 7-4 139 +job_hunte,112,140,0 duplicate(hntjqt) 8-1 139 +job_hunte,112,141,0 duplicate(hntjqt) 8-2 139 +job_hunte,113,140,0 duplicate(hntjqt) 8-3 139 +job_hunte,113,141,0 duplicate(hntjqt) 8-4 139 +job_hunte,116,140,0 duplicate(hntjqt) 9-1 139 +job_hunte,116,141,0 duplicate(hntjqt) 9-2 139 +job_hunte,117,140,0 duplicate(hntjqt) 9-3 139 +job_hunte,117,141,0 duplicate(hntjqt) 9-4 139 +job_hunte,120,138,0 duplicate(hntjqt) 10-1 139 +job_hunte,120,139,0 duplicate(hntjqt) 10-2 139 +job_hunte,121,138,0 duplicate(hntjqt) 10-3 139 +job_hunte,121,139,0 duplicate(hntjqt) 10-4 139 +job_hunte,126,139,0 duplicate(hntjqt) 11-1 139,0,2 +job_hunte,127,139,0 duplicate(hntjqt) 11-2 139,0,2 +job_hunte,126,136,0 duplicate(hntjqt) 11-3 139 +job_hunte,127,136,0 duplicate(hntjqt) 11-4 139 +job_hunte,52,134,0 duplicate(hntjqt) 12-1 139,0,1 +job_hunte,53,134,0 duplicate(hntjqt) 12-2 139,0,1 +job_hunte,52,132,0 duplicate(hntjqt) 12-3 139 +job_hunte,53,132,0 duplicate(hntjqt) 12-4 139 +job_hunte,124,130,0 duplicate(hntjqt) 13-1 139 +job_hunte,124,131,0 duplicate(hntjqt) 13-2 139 +job_hunte,125,130,0 duplicate(hntjqt) 13-3 139 +job_hunte,125,131,0 duplicate(hntjqt) 13-4 139 +job_hunte,64,128,0 duplicate(hntjqt) 14-1 139 +job_hunte,64,129,0 duplicate(hntjqt) 14-2 139 +job_hunte,65,128,0 duplicate(hntjqt) 14-3 139 +job_hunte,65,129,0 duplicate(hntjqt) 14-4 139 +job_hunte,68,126,0 duplicate(hntjqt) 15-1 139 +job_hunte,68,127,0 duplicate(hntjqt) 15-2 139 +job_hunte,69,126,0 duplicate(hntjqt) 15-3 139 +job_hunte,69,127,0 duplicate(hntjqt) 15-4 139 +job_hunte,75,128,0 duplicate(hntjqt) 16-1 139,1,0 +job_hunte,75,129,0 duplicate(hntjqt) 16-2 139,1,0 +job_hunte,77,128,0 duplicate(hntjqt) 16-3 139 +job_hunte,77,129,0 duplicate(hntjqt) 16-4 139 +job_hunte,82,126,0 duplicate(hntjqt) 17-1 139 +job_hunte,82,127,0 duplicate(hntjqt) 17-2 139 +job_hunte,83,126,0 duplicate(hntjqt) 17-3 139 +job_hunte,83,127,0 duplicate(hntjqt) 17-4 139 +job_hunte,96,128,0 duplicate(hntjqt) 18-1 139 +job_hunte,96,129,0 duplicate(hntjqt) 18-2 139 +job_hunte,97,128,0 duplicate(hntjqt) 18-3 139 +job_hunte,97,129,0 duplicate(hntjqt) 18-4 139 +job_hunte,100,126,0 duplicate(hntjqt) 19-1 139 +job_hunte,100,127,0 duplicate(hntjqt) 19-2 139 +job_hunte,101,126,0 duplicate(hntjqt) 19-3 139 +job_hunte,101,127,0 duplicate(hntjqt) 19-4 139 +job_hunte,106,128,0 duplicate(hntjqt) 20-1 139 +job_hunte,106,129,0 duplicate(hntjqt) 20-2 139 +job_hunte,107,128,0 duplicate(hntjqt) 20-3 139 +job_hunte,107,129,0 duplicate(hntjqt) 20-4 139 +job_hunte,112,126,0 duplicate(hntjqt) 21-1 139 +job_hunte,112,127,0 duplicate(hntjqt) 21-2 139 +job_hunte,113,126,0 duplicate(hntjqt) 21-3 139 +job_hunte,113,127,0 duplicate(hntjqt) 21-4 139 +job_hunte,126,126,0 duplicate(hntjqt) 22-1 139 +job_hunte,126,127,0 duplicate(hntjqt) 22-2 139 +job_hunte,127,126,0 duplicate(hntjqt) 22-3 139 +job_hunte,127,127,0 duplicate(hntjqt) 22-4 139 +job_hunte,52,122,0 duplicate(hntjqt) 23-1 139,0,1 +job_hunte,52,122,0 duplicate(hntjqt) 23-2 139,0,1 +job_hunte,53,120,0 duplicate(hntjqt) 23-3 139,1,0 +job_hunte,54,121,0 duplicate(hntjqt) 23-4 139 +job_hunte,55,121,0 duplicate(hntjqt) 23-5 139 +job_hunte,55,120,0 duplicate(hntjqt) 23-6 139 +job_hunte,66,120,0 duplicate(hntjqt) 24-1 139 +job_hunte,66,121,0 duplicate(hntjqt) 24-2 139 +job_hunte,67,120,0 duplicate(hntjqt) 24-3 139 +job_hunte,67,121,0 duplicate(hntjqt) 24-4 139 +job_hunte,114,118,0 duplicate(hntjqt) 25-1 139 +job_hunte,114,119,0 duplicate(hntjqt) 25-2 139 +job_hunte,115,118,0 duplicate(hntjqt) 25-3 139 +job_hunte,115,119,0 duplicate(hntjqt) 25-4 139 +job_hunte,124,120,0 duplicate(hntjqt) 26-1 139,0,1 +job_hunte,125,120,0 duplicate(hntjqt) 26-2 139,0,1 +job_hunte,124,118,0 duplicate(hntjqt) 26-3 139 +job_hunte,125,118,0 duplicate(hntjqt) 26-4 139 +job_hunte,66,116,0 duplicate(hntjqt) 27-1 139 +job_hunte,66,117,0 duplicate(hntjqt) 27-2 139 +job_hunte,67,116,0 duplicate(hntjqt) 27-3 139 +job_hunte,67,117,0 duplicate(hntjqt) 27-4 139 +job_hunte,76,114,0 duplicate(hntjqt) 28-1 139 +job_hunte,76,115,0 duplicate(hntjqt) 28-2 139 +job_hunte,77,114,0 duplicate(hntjqt) 28-3 139 +job_hunte,77,115,0 duplicate(hntjqt) 28-4 139 +job_hunte,82,116,0 duplicate(hntjqt) 29-1 139 +job_hunte,82,117,0 duplicate(hntjqt) 29-2 139 +job_hunte,83,116,0 duplicate(hntjqt) 29-3 139 +job_hunte,83,117,0 duplicate(hntjqt) 29-4 139 +job_hunte,86,114,0 duplicate(hntjqt) 30-1 139 +job_hunte,86,115,0 duplicate(hntjqt) 30-2 139 +job_hunte,87,114,0 duplicate(hntjqt) 30-3 139 +job_hunte,87,115,0 duplicate(hntjqt) 30-4 139 +job_hunte,92,115,0 duplicate(hntjqt) 31-1 139,1,0 +job_hunte,92,114,0 duplicate(hntjqt) 31-2 139,1,0 +job_hunte,90,115,0 duplicate(hntjqt) 31-3 139 +job_hunte,102,116,0 duplicate(hntjqt) 32-1 139 +job_hunte,102,117,0 duplicate(hntjqt) 32-2 139 +job_hunte,103,116,0 duplicate(hntjqt) 32-3 139 +job_hunte,103,117,0 duplicate(hntjqt) 32-4 139 +job_hunte,114,114,0 duplicate(hntjqt) 33-1 139 +job_hunte,114,115,0 duplicate(hntjqt) 33-2 139 +job_hunte,115,114,0 duplicate(hntjqt) 33-3 139 +job_hunte,115,115,0 duplicate(hntjqt) 33-4 139 +job_hunte,54,110,0 duplicate(hntjqt) 34-1 139,0,1 +job_hunte,55,110,0 duplicate(hntjqt) 34-2 139,0,1 +job_hunte,54,108,0 duplicate(hntjqt) 34-3 139 +job_hunte,55,108,0 duplicate(hntjqt) 34-4 139 +job_hunte,64,112,0 duplicate(hntjqt) 35-1 139 +job_hunte,64,113,0 duplicate(hntjqt) 35-2 139 +job_hunte,65,112,0 duplicate(hntjqt) 35-3 139 +job_hunte,65,113,0 duplicate(hntjqt) 35-4 139 +job_hunte,80,110,0 duplicate(hntjqt) 36-1 139 +job_hunte,80,111,0 duplicate(hntjqt) 36-2 139 +job_hunte,81,110,0 duplicate(hntjqt) 36-3 139 +job_hunte,81,111,0 duplicate(hntjqt) 36-4 139 +job_hunte,90,108,0 duplicate(hntjqt) 37-1 139,0,6 +job_hunte,91,108,0 duplicate(hntjqt) 37-2 139,0,5 +job_hunte,91,102,0 duplicate(hntjqt) 37-3 139 +job_hunte,98,109,0 duplicate(hntjqt) 38-1 139,0,2 +job_hunte,99,109,0 duplicate(hntjqt) 38-2 139,0,2 +job_hunte,103,109,0 duplicate(hntjqt) 38-3 139,3,0 +job_hunte,103,108,0 duplicate(hntjqt) 38-4 139,3,0 +job_hunte,97,106,0 duplicate(hntjqt) 39-1 139,2,0 +job_hunte,96,107,0 duplicate(hntjqt) 39-2 139,1,0 +job_hunte,94,108,0 duplicate(hntjqt) 39-3 139,0,1 +job_hunte,95,109,0 duplicate(hntjqt) 39-4 139 +job_hunte,95,108,0 duplicate(hntjqt) 40-1 139 +job_hunte,94,106,0 duplicate(hntjqt) 40-2 139 +job_hunte,96,102,0 duplicate(hntjqt) 40-3 139,0,3 +job_hunte,97,102,0 duplicate(hntjqt) 40-4 139,0,3 +job_hunte,95,98,0 duplicate(hntjqt) 41-1 139,2,0 +job_hunte,94,99,0 duplicate(hntjqt) 42-1 139,1,0 +job_hunte,92,98,0 duplicate(hntjqt) 43-1 139 +job_hunte,112,110,0 duplicate(hntjqt) 44-1 139 +job_hunte,112,111,0 duplicate(hntjqt) 44-2 139 +job_hunte,113,110,0 duplicate(hntjqt) 44-3 139 +job_hunte,113,111,0 duplicate(hntjqt) 44-4 139 +job_hunte,126,108,0 duplicate(hntjqt) 45-1 139,0,1 +job_hunte,127,108,0 duplicate(hntjqt) 45-2 139,0,1 +job_hunte,126,106,0 duplicate(hntjqt) 45-3 139 +job_hunte,126,106,0 duplicate(hntjqt) 45-4 139 +job_hunte,53,102,0 duplicate(hntjqt) 46-1 139,1,1 +job_hunte,55,102,0 duplicate(hntjqt) 46-2 139,0,1 +job_hunte,53,100,0 duplicate(hntjqt) 46-3 139,1,0 +job_hunte,55,100,0 duplicate(hntjqt) 46-4 139 +job_hunte,64,106,0 duplicate(hntjqt) 47-1 139 +job_hunte,64,107,0 duplicate(hntjqt) 47-2 139 +job_hunte,65,106,0 duplicate(hntjqt) 47-3 139 +job_hunte,65,107,0 duplicate(hntjqt) 47-4 139 +job_hunte,66,100,0 duplicate(hntjqt) 48-1 139 +job_hunte,66,101,0 duplicate(hntjqt) 48-2 139 +job_hunte,67,100,0 duplicate(hntjqt) 48-3 139 +job_hunte,67,101,0 duplicate(hntjqt) 48-4 139 +job_hunte,86,106,0 duplicate(hntjqt) 49-1 139,0,1 +job_hunte,87,106,0 duplicate(hntjqt) 49-2 139,0,1 +job_hunte,82,104,0 duplicate(hntjqt) 49-3 139,5,0 +job_hunte,81,105,0 duplicate(hntjqt) 49-4 139,4,0 +job_hunte,76,105,0 duplicate(hntjqt) 50-1 139 +job_hunte,76,104,0 duplicate(hntjqt) 50-2 139 +job_hunte,78,101,0 duplicate(hntjqt) 50-3 139,0,2 +job_hunte,79,101,0 duplicate(hntjqt) 50-4 139,0,2 +job_hunte,76,99,0 duplicate(hntjqt) 51-1 139,1,0 +job_hunte,77,98,0 duplicate(hntjqt) 51-2 139,2,0 +job_hunte,74,99,0 duplicate(hntjqt) 51-3 139 +job_hunte,74,98,0 duplicate(hntjqt) 51-4 139 +job_hunte,82,100,0 duplicate(hntjqt) 53-1 139 +job_hunte,82,101,0 duplicate(hntjqt) 53-2 139 +job_hunte,83,100,0 duplicate(hntjqt) 53-3 139 +job_hunte,83,101,0 duplicate(hntjqt) 53-4 139 +job_hunte,106,104,0 duplicate(hntjqt) 54-1 139 +job_hunte,106,105,0 duplicate(hntjqt) 54-2 139 +job_hunte,107,104,0 duplicate(hntjqt) 54-3 139 +job_hunte,107,105,0 duplicate(hntjqt) 54-4 139 +job_hunte,112,104,0 duplicate(hntjqt) 55-1 139,0,1 +job_hunte,113,104,0 duplicate(hntjqt) 55-2 139,0,1 +job_hunte,112,102,0 duplicate(hntjqt) 55-3 139 +job_hunte,113,102,0 duplicate(hntjqt) 55-4 139 +job_hunte,54,92,0 duplicate(hntjqt) 56-1 139 +job_hunte,54,93,0 duplicate(hntjqt) 56-2 139 +job_hunte,55,92,0 duplicate(hntjqt) 56-3 139 +job_hunte,55,93,0 duplicate(hntjqt) 56-4 139 +job_hunte,52,90,0 duplicate(hntjqt) 56-5 139 +job_hunte,52,91,0 duplicate(hntjqt) 56-6 139 +job_hunte,53,90,0 duplicate(hntjqt) 56-7 139 +job_hunte,53,91,0 duplicate(hntjqt) 56-8 139 +job_hunte,64,92,0 duplicate(hntjqt) 57-1 139 +job_hunte,64,93,0 duplicate(hntjqt) 57-2 139 +job_hunte,65,92,0 duplicate(hntjqt) 57-3 139 + +- script hnt_job_quest_test2::hntjqt2 -1,{ + OnTouch: - mapannounce "job_hunte",strcharinfo(0) + ", has failed me! Go back to where you started!",bc_map; - set HNTR_Q,13; + mapannounce "job_hunte"," " + strcharinfo(0) + ", has failed me! Go back to where you started!",bc_map; + set job_hunter,13; warp "job_hunte",176,22; + donpcevent "Waiting Room#hnt::OnReset"; donpcevent "Manager#hnt::OnReset"; - donpcevent "Waiting Room#hnt::OnStart"; + donpcevent "Manager#hnt2::OnReset"; + donpcevent "Manager#hnt::OnDisable"; + donpcevent "Manager#hnt2::OnDisable"; + end; + +OnEnable: + hideoffnpc "57-4"; + hideoffnpc "58-1"; + hideoffnpc "58-2"; + hideoffnpc "58-3"; + hideoffnpc "58-4"; + hideoffnpc "59-1"; + hideoffnpc "59-2"; + hideoffnpc "59-3"; + hideoffnpc "59-4"; + hideoffnpc "60-1"; + hideoffnpc "60-2"; + hideoffnpc "60-3"; + hideoffnpc "60-4"; + hideoffnpc "61-1"; + hideoffnpc "61-2"; + hideoffnpc "61-3"; + hideoffnpc "61-4"; + hideoffnpc "62-1"; + hideoffnpc "62-2"; + hideoffnpc "62-3"; + hideoffnpc "62-4"; + hideoffnpc "63-1"; + hideoffnpc "63-2"; + hideoffnpc "63-3"; + hideoffnpc "63-4"; + hideoffnpc "64-1"; + hideoffnpc "64-2"; + hideoffnpc "64-3"; + hideoffnpc "64-4"; + hideoffnpc "65-1"; + hideoffnpc "65-2"; + hideoffnpc "65-3"; + hideoffnpc "65-4"; + hideoffnpc "66-1"; + hideoffnpc "66-2"; + hideoffnpc "66-3"; + hideoffnpc "66-4"; + hideoffnpc "67-1"; + hideoffnpc "67-2"; + hideoffnpc "67-3"; + hideoffnpc "67-4"; + hideoffnpc "68-1"; + hideoffnpc "68-2"; + hideoffnpc "68-3"; + hideoffnpc "68-4"; + hideoffnpc "69-1"; + hideoffnpc "69-2"; + hideoffnpc "69-3"; + hideoffnpc "69-4"; + hideoffnpc "70-1"; + hideoffnpc "70-2"; + hideoffnpc "70-3"; + hideoffnpc "70-4"; + hideoffnpc "71-1"; + hideoffnpc "71-2"; + hideoffnpc "71-3"; + hideoffnpc "71-4"; + hideoffnpc "72-1"; + hideoffnpc "72-2"; + hideoffnpc "72-3"; + hideoffnpc "72-4"; + hideoffnpc "73-1"; + hideoffnpc "73-2"; + hideoffnpc "73-3"; + hideoffnpc "73-4"; + hideoffnpc "74-1"; + hideoffnpc "74-2"; + hideoffnpc "74-3"; + hideoffnpc "74-4"; + hideoffnpc "75-1"; + hideoffnpc "75-2"; + hideoffnpc "75-3"; + hideoffnpc "75-4"; + hideoffnpc "76-1"; + hideoffnpc "76-2"; + hideoffnpc "76-3"; + hideoffnpc "76-4"; + hideoffnpc "77-1"; + hideoffnpc "77-2"; + hideoffnpc "77-3"; + hideoffnpc "77-4"; + hideoffnpc "78-1"; + hideoffnpc "78-2"; + hideoffnpc "78-3"; + hideoffnpc "78-4"; + hideoffnpc "79-1"; + hideoffnpc "79-2"; + hideoffnpc "79-3"; + hideoffnpc "79-4"; + hideoffnpc "80-1"; + hideoffnpc "80-2"; + hideoffnpc "80-3"; + hideoffnpc "80-4"; + hideoffnpc "81-1"; + hideoffnpc "81-2"; + hideoffnpc "81-3"; + hideoffnpc "81-4"; + hideoffnpc "82-1"; + hideoffnpc "82-2"; + hideoffnpc "82-3"; + hideoffnpc "82-4"; + hideoffnpc "83-1"; + hideoffnpc "83-2"; + hideoffnpc "83-3"; + hideoffnpc "83-4"; + hideoffnpc "84-1"; + hideoffnpc "84-2"; + hideoffnpc "84-3"; + hideoffnpc "84-4"; + hideoffnpc "85-1"; + hideoffnpc "85-2"; + hideoffnpc "85-3"; + hideoffnpc "85-4"; + hideoffnpc "86-1"; + hideoffnpc "86-2"; + hideoffnpc "86-3"; + hideoffnpc "86-4"; + hideoffnpc "87-1"; + hideoffnpc "87-2"; + hideoffnpc "87-3"; + hideoffnpc "87-4"; + hideoffnpc "88-1"; + hideoffnpc "88-2"; + hideoffnpc "88-3"; + hideoffnpc "88-4"; + hideoffnpc "89-1"; + hideoffnpc "89-2"; + hideoffnpc "89-3"; + hideoffnpc "89-4"; + hideoffnpc "90-1"; + hideoffnpc "90-2"; + hideoffnpc "90-3"; + hideoffnpc "90-4"; + hideoffnpc "91-1"; + hideoffnpc "91-2"; + hideoffnpc "91-3"; + hideoffnpc "91-4"; + hideoffnpc "92-1"; + hideoffnpc "92-2"; + hideoffnpc "92-3"; + hideoffnpc "92-4"; + hideoffnpc "93-1"; + hideoffnpc "93-2"; + hideoffnpc "93-3"; + hideoffnpc "93-4"; + hideoffnpc "94-1"; + hideoffnpc "94-2"; + hideoffnpc "94-3"; + hideoffnpc "94-4"; + hideoffnpc "95-1"; + hideoffnpc "95-2"; + hideoffnpc "95-3"; + hideoffnpc "95-4"; + hideoffnpc "96-1"; + hideoffnpc "96-2"; + hideoffnpc "96-3"; + hideoffnpc "96-4"; + hideoffnpc "97-1"; + hideoffnpc "97-2"; + hideoffnpc "97-3"; + hideoffnpc "97-4"; + end; + +OnDisable: + hideonnpc "57-4"; + hideonnpc "58-1"; + hideonnpc "58-2"; + hideonnpc "58-3"; + hideonnpc "58-4"; + hideonnpc "59-1"; + hideonnpc "59-2"; + hideonnpc "59-3"; + hideonnpc "59-4"; + hideonnpc "60-1"; + hideonnpc "60-2"; + hideonnpc "60-3"; + hideonnpc "60-4"; + hideonnpc "61-1"; + hideonnpc "61-2"; + hideonnpc "61-3"; + hideonnpc "61-4"; + hideonnpc "62-1"; + hideonnpc "62-2"; + hideonnpc "62-3"; + hideonnpc "62-4"; + hideonnpc "63-1"; + hideonnpc "63-2"; + hideonnpc "63-3"; + hideonnpc "63-4"; + hideonnpc "64-1"; + hideonnpc "64-2"; + hideonnpc "64-3"; + hideonnpc "64-4"; + hideonnpc "65-1"; + hideonnpc "65-2"; + hideonnpc "65-3"; + hideonnpc "65-4"; + hideonnpc "66-1"; + hideonnpc "66-2"; + hideonnpc "66-3"; + hideonnpc "66-4"; + hideonnpc "67-1"; + hideonnpc "67-2"; + hideonnpc "67-3"; + hideonnpc "67-4"; + hideonnpc "68-1"; + hideonnpc "68-2"; + hideonnpc "68-3"; + hideonnpc "68-4"; + hideonnpc "69-1"; + hideonnpc "69-2"; + hideonnpc "69-3"; + hideonnpc "69-4"; + hideonnpc "70-1"; + hideonnpc "70-2"; + hideonnpc "70-3"; + hideonnpc "70-4"; + hideonnpc "71-1"; + hideonnpc "71-2"; + hideonnpc "71-3"; + hideonnpc "71-4"; + hideonnpc "72-1"; + hideonnpc "72-2"; + hideonnpc "72-3"; + hideonnpc "72-4"; + hideonnpc "73-1"; + hideonnpc "73-2"; + hideonnpc "73-3"; + hideonnpc "73-4"; + hideonnpc "74-1"; + hideonnpc "74-2"; + hideonnpc "74-3"; + hideonnpc "74-4"; + hideonnpc "75-1"; + hideonnpc "75-2"; + hideonnpc "75-3"; + hideonnpc "75-4"; + hideonnpc "76-1"; + hideonnpc "76-2"; + hideonnpc "76-3"; + hideonnpc "76-4"; + hideonnpc "77-1"; + hideonnpc "77-2"; + hideonnpc "77-3"; + hideonnpc "77-4"; + hideonnpc "78-1"; + hideonnpc "78-2"; + hideonnpc "78-3"; + hideonnpc "78-4"; + hideonnpc "79-1"; + hideonnpc "79-2"; + hideonnpc "79-3"; + hideonnpc "79-4"; + hideonnpc "80-1"; + hideonnpc "80-2"; + hideonnpc "80-3"; + hideonnpc "80-4"; + hideonnpc "81-1"; + hideonnpc "81-2"; + hideonnpc "81-3"; + hideonnpc "81-4"; + hideonnpc "82-1"; + hideonnpc "82-2"; + hideonnpc "82-3"; + hideonnpc "82-4"; + hideonnpc "83-1"; + hideonnpc "83-2"; + hideonnpc "83-3"; + hideonnpc "83-4"; + hideonnpc "84-1"; + hideonnpc "84-2"; + hideonnpc "84-3"; + hideonnpc "84-4"; + hideonnpc "85-1"; + hideonnpc "85-2"; + hideonnpc "85-3"; + hideonnpc "85-4"; + hideonnpc "86-1"; + hideonnpc "86-2"; + hideonnpc "86-3"; + hideonnpc "86-4"; + hideonnpc "87-1"; + hideonnpc "87-2"; + hideonnpc "87-3"; + hideonnpc "87-4"; + hideonnpc "88-1"; + hideonnpc "88-2"; + hideonnpc "88-3"; + hideonnpc "88-4"; + hideonnpc "89-1"; + hideonnpc "89-2"; + hideonnpc "89-3"; + hideonnpc "89-4"; + hideonnpc "90-1"; + hideonnpc "90-2"; + hideonnpc "90-3"; + hideonnpc "90-4"; + hideonnpc "91-1"; + hideonnpc "91-2"; + hideonnpc "91-3"; + hideonnpc "91-4"; + hideonnpc "92-1"; + hideonnpc "92-2"; + hideonnpc "92-3"; + hideonnpc "92-4"; + hideonnpc "93-1"; + hideonnpc "93-2"; + hideonnpc "93-3"; + hideonnpc "93-4"; + hideonnpc "94-1"; + hideonnpc "94-2"; + hideonnpc "94-3"; + hideonnpc "94-4"; + hideonnpc "95-1"; + hideonnpc "95-2"; + hideonnpc "95-3"; + hideonnpc "95-4"; + hideonnpc "96-1"; + hideonnpc "96-2"; + hideonnpc "96-3"; + hideonnpc "96-4"; + hideonnpc "97-1"; + hideonnpc "97-2"; + hideonnpc "97-3"; + hideonnpc "97-4"; 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 +job_hunte,65,93,0 duplicate(hntjqt2) 57-4 139 +job_hunte,76,94,0 duplicate(hntjqt2) 58-1 139 +job_hunte,76,95,0 duplicate(hntjqt2) 58-2 139 +job_hunte,77,94,0 duplicate(hntjqt2) 58-3 139 +job_hunte,77,95,0 duplicate(hntjqt2) 58-4 139 +job_hunte,78,92,0 duplicate(hntjqt2) 59-1 139 +job_hunte,78,93,0 duplicate(hntjqt2) 59-2 139 +job_hunte,79,92,0 duplicate(hntjqt2) 59-3 139 +job_hunte,79,93,0 duplicate(hntjqt2) 59-4 139 +job_hunte,86,92,0 duplicate(hntjqt2) 60-1 139 +job_hunte,86,93,0 duplicate(hntjqt2) 60-2 139 +job_hunte,87,92,0 duplicate(hntjqt2) 60-3 139 +job_hunte,87,93,0 duplicate(hntjqt2) 60-4 139 +job_hunte,90,96,0 duplicate(hntjqt2) 61-1 139 +job_hunte,90,97,0 duplicate(hntjqt2) 61-2 139 +job_hunte,91,96,0 duplicate(hntjqt2) 61-3 139 +job_hunte,91,97,0 duplicate(hntjqt2) 61-4 139 +job_hunte,99,95,0 duplicate(hntjqt2) 62-1 139,1,0 +job_hunte,99,94,0 duplicate(hntjqt2) 62-2 139,1,0 +job_hunte,101,94,0 duplicate(hntjqt2) 62-3 139,0,1 +job_hunte,100,93,0 duplicate(hntjqt2) 62-4 139 +job_hunte,100,92,0 duplicate(hntjqt2) 63-1 139 +job_hunte,101,92,0 duplicate(hntjqt2) 63-2 139 +job_hunte,102,98,0 duplicate(hntjqt2) 64-1 139 +job_hunte,102,99,0 duplicate(hntjqt2) 64-2 139 +job_hunte,103,98,0 duplicate(hntjqt2) 64-3 139 +job_hunte,103,99,0 duplicate(hntjqt2) 64-4 139 +job_hunte,102,90,0 duplicate(hntjqt2) 65-1 139 +job_hunte,102,91,0 duplicate(hntjqt2) 65-2 139 +job_hunte,103,90,0 duplicate(hntjqt2) 65-3 139 +job_hunte,103,91,0 duplicate(hntjqt2) 65-4 139 +job_hunte,114,96,0 duplicate(hntjqt2) 66-1 139 +job_hunte,114,97,0 duplicate(hntjqt2) 66-2 139 +job_hunte,115,96,0 duplicate(hntjqt2) 66-3 139 +job_hunte,115,97,0 duplicate(hntjqt2) 66-4 139 +job_hunte,112,90,0 duplicate(hntjqt2) 67-1 139 +job_hunte,112,91,0 duplicate(hntjqt2) 67-2 139 +job_hunte,113,90,0 duplicate(hntjqt2) 67-3 139 +job_hunte,113,91,0 duplicate(hntjqt2) 67-4 139 +job_hunte,125,97,0 duplicate(hntjqt2) 68-1 139,1,0 +job_hunte,125,96,0 duplicate(hntjqt2) 68-2 139,1,0 +job_hunte,127,96,0 duplicate(hntjqt2) 68-3 139 +job_hunte,127,97,0 duplicate(hntjqt2) 68-4 139 +job_hunte,52,86,0 duplicate(hntjqt2) 69-1 139 +job_hunte,52,87,0 duplicate(hntjqt2) 69-2 139 +job_hunte,53,86,0 duplicate(hntjqt2) 69-3 139 +job_hunte,53,87,0 duplicate(hntjqt2) 69-4 139 +job_hunte,66,88,0 duplicate(hntjqt2) 70-1 139 +job_hunte,66,89,0 duplicate(hntjqt2) 70-2 139 +job_hunte,67,88,0 duplicate(hntjqt2) 70-3 139 +job_hunte,67,89,0 duplicate(hntjqt2) 70-4 139 +job_hunte,114,84,0 duplicate(hntjqt2) 71-1 139 +job_hunte,114,85,0 duplicate(hntjqt2) 71-2 139 +job_hunte,115,84,0 duplicate(hntjqt2) 71-3 139 +job_hunte,115,85,0 duplicate(hntjqt2) 71-4 139 +job_hunte,126,86,0 duplicate(hntjqt2) 72-1 139 +job_hunte,126,87,0 duplicate(hntjqt2) 72-2 139 +job_hunte,127,86,0 duplicate(hntjqt2) 72-3 139 +job_hunte,127,87,0 duplicate(hntjqt2) 72-4 139 +job_hunte,54,80,0 duplicate(hntjqt2) 73-1 139,0,1 +job_hunte,55,80,0 duplicate(hntjqt2) 73-2 139,0,1 +job_hunte,54,78,0 duplicate(hntjqt2) 73-3 139 +job_hunte,55,78,0 duplicate(hntjqt2) 73-4 139 +job_hunte,64,82,0 duplicate(hntjqt2) 74-1 139,0,1 +job_hunte,65,82,0 duplicate(hntjqt2) 74-2 139,0,1 +job_hunte,64,80,0 duplicate(hntjqt2) 74-3 139 +job_hunte,65,80,0 duplicate(hntjqt2) 74-4 139 +job_hunte,66,78,0 duplicate(hntjqt2) 75-1 139 +job_hunte,66,79,0 duplicate(hntjqt2) 75-2 139 +job_hunte,67,78,0 duplicate(hntjqt2) 75-3 139 +job_hunte,67,79,0 duplicate(hntjqt2) 75-4 139 +job_hunte,74,78,0 duplicate(hntjqt2) 76-1 139 +job_hunte,74,79,0 duplicate(hntjqt2) 76-2 139 +job_hunte,75,78,0 duplicate(hntjqt2) 76-3 139 +job_hunte,75,79,0 duplicate(hntjqt2) 76-4 139 +job_hunte,78,80,0 duplicate(hntjqt2) 77-1 139 +job_hunte,78,81,0 duplicate(hntjqt2) 77-2 139 +job_hunte,79,80,0 duplicate(hntjqt2) 77-3 139 +job_hunte,79,81,0 duplicate(hntjqt2) 77-4 139 +job_hunte,82,78,0 duplicate(hntjqt2) 78-1 139 +job_hunte,82,79,0 duplicate(hntjqt2) 78-2 139 +job_hunte,83,78,0 duplicate(hntjqt2) 78-3 139 +job_hunte,83,79,0 duplicate(hntjqt2) 78-4 139 +job_hunte,94,78,0 duplicate(hntjqt2) 79-1 139 +job_hunte,94,79,0 duplicate(hntjqt2) 79-2 139 +job_hunte,95,78,0 duplicate(hntjqt2) 79-3 139 +job_hunte,95,79,0 duplicate(hntjqt2) 79-4 139 +job_hunte,101,80,0 duplicate(hntjqt2) 80-1 139,1,0 +job_hunte,101,81,0 duplicate(hntjqt2) 80-2 139,1,0 +job_hunte,103,81,0 duplicate(hntjqt2) 80-3 139 +job_hunte,103,80,0 duplicate(hntjqt2) 80-4 139 +job_hunte,104,78,0 duplicate(hntjqt2) 81-1 139 +job_hunte,104,79,0 duplicate(hntjqt2) 81-2 139 +job_hunte,105,78,0 duplicate(hntjqt2) 81-3 139 +job_hunte,105,79,0 duplicate(hntjqt2) 81-4 139 +job_hunte,110,78,0 duplicate(hntjqt2) 82-1 139 +job_hunte,110,79,0 duplicate(hntjqt2) 82-2 139 +job_hunte,111,78,0 duplicate(hntjqt2) 82-3 139 +job_hunte,111,79,0 duplicate(hntjqt2) 82-4 139 +job_hunte,114,80,0 duplicate(hntjqt2) 83-1 139 +job_hunte,114,81,0 duplicate(hntjqt2) 83-2 139 +job_hunte,115,80,0 duplicate(hntjqt2) 83-3 139 +job_hunte,115,81,0 duplicate(hntjqt2) 83-4 139 +job_hunte,124,78,0 duplicate(hntjqt2) 84-1 139 +job_hunte,124,79,0 duplicate(hntjqt2) 84-2 139 +job_hunte,125,78,0 duplicate(hntjqt2) 84-3 139 +job_hunte,125,79,0 duplicate(hntjqt2) 84-4 139 +job_hunte,126,82,0 duplicate(hntjqt2) 85-1 139 +job_hunte,126,83,0 duplicate(hntjqt2) 85-2 139 +job_hunte,127,82,0 duplicate(hntjqt2) 85-3 139 +job_hunte,127,83,0 duplicate(hntjqt2) 85-4 139 +job_hunte,52,68,0 duplicate(hntjqt2) 86-1 139,0,1 +job_hunte,53,68,0 duplicate(hntjqt2) 86-2 139,0,1 +job_hunte,52,66,0 duplicate(hntjqt2) 86-3 139 +job_hunte,53,66,0 duplicate(hntjqt2) 86-4 139 +job_hunte,54,70,0 duplicate(hntjqt2) 87-1 139,0,1 +job_hunte,55,70,0 duplicate(hntjqt2) 87-2 139,0,1 +job_hunte,54,68,0 duplicate(hntjqt2) 87-3 139 +job_hunte,55,68,0 duplicate(hntjqt2) 87-4 139 +job_hunte,59,66,0 duplicate(hntjqt2) 88-1 139,1,0 +job_hunte,59,67,0 duplicate(hntjqt2) 88-2 139,1,0 +job_hunte,61,67,0 duplicate(hntjqt2) 88-3 139 +job_hunte,61,66,0 duplicate(hntjqt2) 88-4 139 +job_hunte,68,68,0 duplicate(hntjqt2) 89-1 139,0,1 +job_hunte,69,68,0 duplicate(hntjqt2) 89-2 139,0,1 +job_hunte,68,66,0 duplicate(hntjqt2) 89-3 139 +job_hunte,69,66,0 duplicate(hntjqt2) 89-4 139 +job_hunte,76,66,0 duplicate(hntjqt2) 90-1 139 +job_hunte,76,67,0 duplicate(hntjqt2) 90-2 139 +job_hunte,77,66,0 duplicate(hntjqt2) 90-3 139 +job_hunte,77,67,0 duplicate(hntjqt2) 90-4 139 +job_hunte,82,68,0 duplicate(hntjqt2) 91-1 139 +job_hunte,82,69,0 duplicate(hntjqt2) 91-2 139 +job_hunte,83,68,0 duplicate(hntjqt2) 91-3 139 +job_hunte,83,69,0 duplicate(hntjqt2) 91-4 139 +job_hunte,96,66,0 duplicate(hntjqt2) 92-1 139 +job_hunte,96,67,0 duplicate(hntjqt2) 92-2 139 +job_hunte,97,66,0 duplicate(hntjqt2) 92-3 139 +job_hunte,97,67,0 duplicate(hntjqt2) 92-4 139 +job_hunte,100,68,0 duplicate(hntjqt2) 93-1 139 +job_hunte,100,69,0 duplicate(hntjqt2) 93-2 139 +job_hunte,101,68,0 duplicate(hntjqt2) 93-3 139 +job_hunte,101,69,0 duplicate(hntjqt2) 93-4 139 +job_hunte,107,66,0 duplicate(hntjqt2) 94-1 139,1,0 +job_hunte,107,67,0 duplicate(hntjqt2) 94-2 139,1,0 +job_hunte,109,67,0 duplicate(hntjqt2) 94-3 139 +job_hunte,109,66,0 duplicate(hntjqt2) 94-4 139 +job_hunte,117,69,0 duplicate(hntjqt2) 95-1 139,1,0 +job_hunte,117,68,0 duplicate(hntjqt2) 95-2 139,1,0 +job_hunte,119,69,0 duplicate(hntjqt2) 95-3 139 +job_hunte,119,68,0 duplicate(hntjqt2) 95-4 139 +job_hunte,124,66,0 duplicate(hntjqt2) 96-1 139 +job_hunte,124,67,0 duplicate(hntjqt2) 96-2 139 +job_hunte,125,66,0 duplicate(hntjqt2) 96-3 139 +job_hunte,125,67,0 duplicate(hntjqt2) 96-4 139 +job_hunte,126,70,0 duplicate(hntjqt2) 97-1 139 +job_hunte,126,71,0 duplicate(hntjqt2) 97-2 139 +job_hunte,127,70,0 duplicate(hntjqt2) 97-3 139 +job_hunte,127,71,0 duplicate(hntjqt2) 97-4 139 \ No newline at end of file diff --git a/npc/jobs/2-1/knight.txt b/npc/jobs/2-1/knight.txt index f14da8d41..9beb42334 100644 --- a/npc/jobs/2-1/knight.txt +++ b/npc/jobs/2-1/knight.txt @@ -1,108 +1,118 @@ //===== rAthena Script ======================================= -//= Knight Job Quest +// Knight Job change Quest //===== By: ================================================== -//= PGRO TEAM (Aegis). -//= Converted by kobra_k88 -//= Further bugfixed and tested by Lupus +//= Masao +//= Credits: Muad_Dib //===== Current Version: ===================================== -//= 3.2 +//= 1.0 //===== Compatible With: ===================================== -//= rAthena SVN +//= Any rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job Change quest for Knight class. +//= [Translated from the Official] +//= Job change Quest from Swordman -> Knight. //===== 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] +//= 1.0 Updated to latest available official file. [Masao] //============================================================ -prt_in,88,101,4 script Chivalry Captain#knt 56,{ - mes "[Captain Herman]"; +prt_in,88,101,4 script Chivalry Captain 56,{ if (Upper == 1) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; 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; + close2; + cutin "",255; + end; } - if (BaseJob != Job_Swordman) { - if (BaseJob == Job_Knight) { + if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { + if (Class == Job_Baby_Knight || Class == Job_Knight) { + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; 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; + close2; + cutin "",255; + end; } - else if (BaseClass == Job_Novice) { + if (Class == Job_Baby || Class == Job_Novice) { + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; 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.")) { + 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!"; + if (Sex == 1) { + mes "I'm sorry, lad, but you've"; + mes "come to the wrong place!"; + } + else { + mes "I'm sorry, lass, but you've"; + mes "come to the wrong place!"; + } next; + cutin "job_knight_herman1",2; 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; + break; 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; + cutin "job_knight_herman1",2; 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; + break; case 3: + cutin "job_knight_herman1",2; 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; + break; } + next; + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; + mes "If you really wish to become a knight, please come back later."; + close2; + cutin "",255; + end; } - else { - mes "Welcome. We, the proud Knights of the Prontera Chivalry, will give our lives for king and country! Please enjoy your stay."; - close; - } + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; + mes "Welcome. We, the proud Knights of the Prontera Chivalry, will give our lives for king and country! Please enjoy your stay."; + close2; + cutin "",255; + end; } if (KNIGHT_Q == 0) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; 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) { + switch (select("I want to change my job to a Knight.:Just visiting.")) { + case 1: mes "[Captain Herman]"; - mes "Ohh..."; - mes "A young "+((Sex)?"man":"lady")+" who wishes"; - mes "to become a Knight!"; + if (Sex == 1) { + mes "Ohh..."; + mes "A young man who wishes"; + mes "to become a Knight!"; + } + else { + mes "Ohh..."; + mes "A young lady who wishes"; + mes "to become a Knight!"; + } mes "Our Prontera Chivalry"; mes "will assist you."; next; @@ -119,26 +129,34 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ 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]"; + switch (select("Yes, I would like to apply.:I'd like to think about it please.")) { + case 1: if (JobLevel < 40) { + mes "[Captain Herman]"; 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; + close2; + cutin "",255; + end; } - if (SkillPoint) { + if (SkillPoint != 0) { + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; 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; + close2; + cutin "",255; + end; } set KNIGHT_Q,1; setquest 9000; + mes "[Captain Herman]"; mes "Let me see..."; mes "Your name is"; - mes strcharinfo(0) + "..."; + mes "" + strcharinfo(0) + "..."; mes "Is that right?"; next; mes "[Captain Herman]"; @@ -155,32 +173,43 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ 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; + cutin "job_knight_herman1",2; 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; + close2; + break; + case 2: + cutin "job_knight_herman1",2; + 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."; + close2; + break; } + case 2: 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 "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."; + close2; + break; } - 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; + cutin "",255; + end; } - else if (KNIGHT_Q == 1) { + if (KNIGHT_Q == 1) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; mes "Mmm?"; - mes strcharinfo(0) + ","; + mes "" + strcharinfo(0) + ","; mes "what can I do for you?"; mes "Ah, you don't know"; mes "who to visit?"; @@ -191,14 +220,48 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ 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; + close2; + cutin "",255; + end; + } + if (KNIGHT_Q == 2) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "It may be difficult,"; + mes "but do your best."; + close2; + cutin "",255; + end; + } + if (KNIGHT_Q == 3) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "It may be difficult,"; + mes "but do your best."; + close2; + cutin "",255; + end; } - 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; + if (KNIGHT_Q == 4) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "Ah~ You do not know"; + mes "who to visit next?"; + next; + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; mes "It appears that you have finished one test. Let's see. Sir Andrew, who must this Swordman visit next?"; next; + cutin "job_knight_herman2",2; mes "[Sir Andrew]"; mes "I said to"; mes "visit Sir Siracuse."; @@ -208,11 +271,33 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ 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; + close2; + cutin "",255; + end; + } + if (KNIGHT_Q == 5) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "It may be difficult,"; + mes "but do your best."; + close2; + cutin "",255; + end; } - else if (KNIGHT_Q == 5) callsub L_Mission,0; - else if (KNIGHT_Q == 6) { - callsub L_Mission,1; + if (KNIGHT_Q == 6) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "Ah~ You do not know"; + mes "who to visit next?"; + next; + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; mes "Let's see..."; mes "You've completed two tests."; mes "Sir Siracuse, who must this Swordman visit next?"; @@ -222,14 +307,37 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "Um, who was next...?"; mes "Right! Sir Windsor!"; next; + cutin "job_knight_herman2",2; 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; + close2; + cutin "",255; + end; + } + if (KNIGHT_Q == 7) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "It may be difficult,"; + mes "but do your best."; + close2; + cutin "",255; + end; } - else if (KNIGHT_Q == 7) callsub L_Mission,0; - else if (KNIGHT_Q == 8) { - callsub L_Mission,1; + if (KNIGHT_Q == 8) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "Ah~ You do not know"; + mes "who to visit next?"; + next; + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; mes "Sir Windor...?"; mes "Who must this"; mes "Swordman visit"; @@ -245,14 +353,37 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "[Sir Windsor]"; mes "...Amy Beatrice."; next; + cutin "job_knight_herman2",2; 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; + close2; + cutin "",255; + end; + } + if (KNIGHT_Q == 9) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "It may be difficult,"; + mes "but do your best."; + close2; + cutin "",255; + end; } - else if (KNIGHT_Q == 9) callsub L_Mission,0; - else if (KNIGHT_Q == 10) { - callsub L_Mission,1; + if (KNIGHT_Q == 10) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "Ah~ You do not know"; + mes "who to visit next?"; + next; + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; mes "Let's see..."; mes "Lady Amy, who"; mes "must this Swordman"; @@ -264,16 +395,39 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "Sir Edmond!"; mes "Tee hee~"; next; + cutin "job_knight_herman2",2; mes "[Captain Herman]"; mes "Now, go and speak"; mes "to Sir Edmond. He will"; mes "be in charge of your"; mes "next test."; - close; + close2; + cutin "",255; + end; + } + if (KNIGHT_Q == 11) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "It may be difficult,"; + mes "but do your best."; + close2; + cutin "",255; + end; } - else if (KNIGHT_Q == 11) callsub L_Mission,0; - else if (KNIGHT_Q == 12) { - callsub L_Mission,1; + if (KNIGHT_Q == 12) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + mes "Mmm?"; + mes "Swordman " + strcharinfo(0) + "."; + mes "How are the tests?"; + mes "Ah~ You do not know"; + mes "who to visit next?"; + next; + cutin "job_knight_herman1",2; + mes "[Captain Herman]"; 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."; @@ -283,6 +437,7 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "to the law of cause and effect."; mes "All will be revealed in the end."; next; + cutin "job_knight_herman2",2; mes "[Captain Herman]"; mes "Be alert and do"; mes "your best, as this"; @@ -293,19 +448,43 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "after you have"; mes "completed the"; mes "final test."; - close; + close2; + cutin "",255; + end; } - else if (KNIGHT_Q == 13) { + if (KNIGHT_Q == 13) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; 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; + close2; + cutin "",255; + end; } - else if (KNIGHT_Q == 14) { - if (SkillPoint) { + if (KNIGHT_Q == 14) { + if (JobLevel < 40) { + set KNIGHT_Q,0; + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; + 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."; + close2; + cutin "",255; + end; + } + if (SkillPoint != 0) { + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; mes "Oh...!"; mes "You cannot change jobs if you have unused skill points remaining. Return once you have distributed all your skill points."; - close; + close2; + cutin "",255; + end; } + cutin "job_knight_herman2",2; + mes "[Captain Herman]"; mes "Oh, have you completed all the tests? But not everyone who completes the tests can"; mes "become a Knight."; next; @@ -321,8 +500,8 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "to everyone's thoughts!"; mes "Andrew, what do you think?"; next; - mes "[Sir Andrew]"; if (JobLevel == 50) { + mes "[Sir Andrew]"; mes "What can I say?"; mes "I approve!"; mes "Having lived as"; @@ -331,11 +510,17 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "is enough."; } else { + mes "[Sir Andrew]"; 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."; + if (Sex == 1) { + mes "I believe he will continue to be loyal after becoming a Knight."; + } + else { + mes "I believe she will continue to be loyal after becoming a Knight."; + } } next; mes "[Captain Herman]"; @@ -372,7 +557,7 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "to Amy's opinion."; next; mes "[Lady Amy]"; - if (sex) { + if (Sex == 1) { 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!"; } @@ -391,7 +576,7 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "your mind."; next; mes "[Sir Edmond]"; - if (sex) { + if (Sex == 1) { 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."; } @@ -406,7 +591,12 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ 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..."; + if (Sex == 1) { + mes "A young gentleman coming here with the determination to become a Knight is enough..."; + } + else { + mes "A young lady coming here with the determination to become a Knight is enough..."; + } next; mes "[Captain Herman]"; mes "Everyone"; @@ -415,6 +605,7 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "Then I shall tell"; mes "you my opinion."; next; + cutin "job_knight_herman1",2; mes "[Captain Herman]"; mes "My decision is..."; next; @@ -425,9 +616,15 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ mes "You may not have finished all the tests perfectly, but you have all the necessary qualities to become"; mes "a Knight."; next; + cutin "job_knight_herman2",2; + set KNIGHT_Q,0; completequest 9012; - callfunc "Job_Change",Job_Knight; - callfunc "F_ClearJobVar"; // Clears all job variables for the current player + if(Class == Job_Baby_Swordman){ + jobchange Job_Baby_Knight; + } else { + jobchange Job_Knight; + } + set FJOB,Job_Rune_Knight; mes "[Captain Herman]"; mes "I hereby declare"; mes "you a member of"; @@ -440,35 +637,23 @@ prt_in,88,101,4 script Chivalry Captain#knt 56,{ 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; + cutin "job_knight_herman1",2; 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; + close2; } + cutin "",255; + end; } -prt_in,75,107,4 script Sir Andrew#knt 65,{ - mes "[Sir Andrew]"; - if (BaseJob != Job_Swordman) { - if (BaseJob == Job_Knight) { +prt_in,75,107,4 script Sir Andrew 65,{ + if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { + if (Class == Job_Baby_Knight || Class == Job_Knight) { + mes "[Sir Andrew]"; mes "You must be"; mes "a member of"; mes "the Chivalry."; @@ -484,7 +669,8 @@ prt_in,75,107,4 script Sir Andrew#knt 65,{ mes "After all, we are Knights."; close; } - else if (BaseClass == Job_Novice) { + if (Class == Job_Baby || Class == Job_Novice) { + mes "[Sir Andrew]"; mes "Hey there,"; mes "little Novice."; mes "Welcome to the"; @@ -499,17 +685,17 @@ prt_in,75,107,4 script Sir Andrew#knt 65,{ 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; - } + mes "[Sir Andrew]"; + 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 "[Sir Andrew]"; mes "We, the members of the"; mes "Prontera Chivalry, are putting our best effort in protecting peace in this world."; next; @@ -518,18 +704,20 @@ prt_in,75,107,4 script Sir Andrew#knt 65,{ mes "a bright future that is to come."; close; } - else if (KNIGHT_Q == 1) { + if (KNIGHT_Q == 1) { + mes "[Sir Andrew]"; mes "Good day."; mes "May I help you"; mes "with something?"; next; - if (select("I would like to take the test.:Oh, nothing.") == 1) { + switch (select("I would like to take the test.:Oh, nothing.")) { + case 1: mes "[Sir Andrew]"; mes "Ah..."; mes "You wish"; mes "to become a Knight."; mes "Your name is"; - mes strcharinfo(0) + ","; + mes "" + strcharinfo(0) + ","; mes "correct?"; next; mes "[Sir Andrew]"; @@ -562,6 +750,8 @@ prt_in,75,107,4 script Sir Andrew#knt 65,{ 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; + changequest 9001,9003; + changequest 9002,9003; close; } mes "[Sir Andrew]"; @@ -571,22 +761,28 @@ prt_in,75,107,4 script Sir Andrew#knt 65,{ mes "Go and gather the"; mes "following items..."; next; + set .@knight_m1, rand(1,2); 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; + if (.@knight_m1 == 1) { + set KNIGHT_Q,2; + changequest 9000,9001; + mes "^236B8E5 Elder Pixie's Moustache^000000,"; + mes "^236B8E5 Wing of Red Bat^000000,"; + mes "^236B8E5 Orcish Voucher^000000,"; + mes "^236B8E5 Moth Dust^000000,"; + mes "^236B8E5 Reptile Tongue^000000 and"; + mes "^236B8E5 Mane^000000."; + } + else { + set KNIGHT_Q,3; + changequest 9000,9002; + mes "^236B8E5 Bug Leg^000000,"; + mes "^236B8E5 Heart of Mermaid^000000,"; + mes "^236B8E5 Maneater Blossom^000000,"; + mes "^236B8E5 Clam Flesh^000000,"; + mes "^236B8E5 Old Frying Pan^000000 and"; + mes "^236B8E5 Snail's Shell^000000."; } - 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"; @@ -595,39 +791,80 @@ prt_in,75,107,4 script Sir Andrew#knt 65,{ mes "items I've listed."; mes "See you soon~"; close; - } - else { + case 2: mes "[Sir Andrew]"; mes "Well, then..."; mes "Good day."; close; } } - else if (KNIGHT_Q == 2 || KNIGHT_Q == 3) { + if (KNIGHT_Q == 2) { + mes "[Sir Andrew]"; 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(1040) > 4) && (countitem(7006) > 4) && (countitem(931) > 4) && (countitem(1057) > 4) && (countitem(903) > 4) && (countitem(1028) > 4)) { + mes "[Sir Andrew]"; + mes "Excellent! We appreciate your effort in gathering these items. These will be used to support"; + mes "the Chivalry's finances."; + next; + delitem 1040,5; //Elder_Pixie's_Beard + delitem 7006,5; //Wing_Of_Red_Bat + delitem 931,5; //Orcish_Voucher + delitem 1057,5; //Moth_Dust + delitem 903,5; //Reptile_Tongue + delitem 1028,5; //Wild_Boar's_Mane + set KNIGHT_Q,4; + changequest 9001,9003; + changequest 9002,9003; + 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; } - 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 "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 "^236B8E5 Elder Pixie's Moustache^000000,"; + mes "^236B8E5 Wing of Red Bat^000000,"; + mes "^236B8E5 Orcish Voucher^000000,"; + mes "^236B8E5 Moth Dust^000000,"; + mes "^236B8E5 Reptile Tongue^000000 and"; + mes "^236B8E5 Mane^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; + } + if (KNIGHT_Q == 3) { + mes "[Sir Andrew]"; + mes "Welcome back~"; + mes "Did you gather"; + mes "all the items?"; + mes "Let's check and see..."; + next; + if ((countitem(1042) > 4) && (countitem(950) > 4) && (countitem(1032) > 4) && (countitem(966) > 4) && (countitem(7031) > 4) && (countitem(946) > 4)) { 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; + delitem 1042,5; //Short_Leg + delitem 950,5; //Heart_Of_Mermaid + delitem 1032,5; //Blossom_Of_Maneater + delitem 966,5; //Flesh_Of_Clam + delitem 7031,5; //Old_Frying_Pan + delitem 946,5; //Snail's_Shell set KNIGHT_Q,4; + changequest 9001,9003; + changequest 9002,9003; 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; @@ -641,12 +878,12 @@ prt_in,75,107,4 script Sir Andrew#knt 65,{ 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,"; + mes "^236B8E5 Bug Leg^000000,"; + mes "^236B8E5 Heart of Mermaid^000000,"; + mes "^236B8E5 Maneater Blossom^000000,"; + mes "^236B8E5 Clam Flesh^000000,"; + mes "^236B8E5 Old Frying Pan^000000 and"; + mes "^236B8E5 Snail's Shell^000000."; next; mes "[Sir Andrew]"; mes "Now, please take this test seriously and with sincerity."; @@ -654,25 +891,26 @@ prt_in,75,107,4 script Sir Andrew#knt 65,{ mes "to complete this task."; close; } - else if (KNIGHT_Q == 4) { + if (KNIGHT_Q == 4) { + mes "[Sir Andrew]"; 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) { + if (KNIGHT_Q == 14) { + mes "[Sir Andrew]"; 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; - } + mes "[Sir Andrew]"; + 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) { +prt_in,71,91,0 script Sir Siracuse 65,{ + if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { + if (Class == Job_Baby_Knight || Class == Job_Knight) { + mes "[Sir Siracuse]"; mes "Hey there!"; mes "How are you doing?"; mes "The Chivalry's been"; @@ -693,7 +931,8 @@ prt_in,71,91,0 script Sir Siracuse#knt 65,{ 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) { + if (Class == Job_Baby || Class == Job_Novice) { + mes "[Sir Siracuse]"; mes "Oh?"; mes "What is a Novice"; mes "doing here?"; @@ -709,22 +948,22 @@ prt_in,71,91,0 script Sir Siracuse#knt 65,{ 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; - } + mes "[Sir Siracuse]"; + 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 "[Sir Siracuse]"; mes "Offense and defense."; mes "Is there a way to have both without compromising one or the other?"; next; @@ -738,7 +977,8 @@ prt_in,71,91,0 script Sir Siracuse#knt 65,{ mes "would help Knights greatly..."; close; } - else if (KNIGHT_Q == 1) { + if (KNIGHT_Q == 1) { + mes "[Sir Siracuse]"; mes "Eh?"; mes "Do you have"; mes "something to"; @@ -749,13 +989,19 @@ prt_in,71,91,0 script Sir Siracuse#knt 65,{ 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?"; + if (Sex == 1) { + mes "you the guy that"; + mes "just applied?"; + } + else { + mes "you the girl that"; + mes "just applied?"; + } next; mes "[Sir Siracuse]"; mes "Let's see..."; mes "Your name was"; - mes strcharinfo(0) + "."; + mes "" + strcharinfo(0) + "."; next; mes "[Sir Siracuse]"; mes "But, before you come to me, you must visit the others. The way"; @@ -773,7 +1019,8 @@ prt_in,71,91,0 script Sir Siracuse#knt 65,{ mes "face."; close; } - else if (KNIGHT_Q == 2 || KNIGHT_Q == 3) { + if (KNIGHT_Q == 2) { + mes "[Sir Siracuse]"; mes "Eh?"; mes "Do you have"; mes "something to"; @@ -798,220 +1045,394 @@ prt_in,71,91,0 script Sir Siracuse#knt 65,{ 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?"; + if (KNIGHT_Q == 3) { + mes "[Sir Siracuse]"; + 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; + } + if (KNIGHT_Q == 4) { + mes "[Sir Siracuse]"; + mes "Oh?"; + mes "Do you have"; + mes "something to"; + mes "ask me?"; + next; + switch (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; + 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("Sir Andrew sent me to take your test.:Oh, nothing.") == 1) { + if (select("Katana:Slayer:Broadsword:Flamberge") != 4) { + set KNIGHT_Q,5; 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."; + 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 "This test will measure how much you know about Knighthood. More importantly, I want to know your thoughts about honor."; - next; + 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 "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?"; + 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 "Well then,"; - mes "let's begin."; - mes "Please answer"; - mes "promptly."; + 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; } - else { + 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 "Hmmm...?"; - mes "Alright."; - mes "It's just that"; - mes "you had that"; - mes "look on your"; - mes "face."; + mes "You better come back after you've learned a little more about Knights!"; close; } - } - else if (KNIGHT_Q == 5) { - mes "What..."; - mes "You again?"; + 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; - if (select("I wish to take the test again.:Oh, nothing.") == 1) { + 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 "Is that right?"; - mes "Are you sure you're"; - mes "prepared this time?"; + 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 "Alright then,"; - mes "here we go again..."; + 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; } - else { + 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 "Hmmm...?"; - mes "Alright."; - mes "It's just that"; - mes "you had that"; - mes "look on your"; - mes "face."; + 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; } - } - 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; + set KNIGHT_Q,6; + changequest 9003,9004; 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..."; + mes "Well then,"; + mes "this is the"; + mes "end of my test."; 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!"; + 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; } 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 "Hmmm...?"; + mes "Alright."; + mes "It's just that"; + mes "you had that"; + mes "look on your"; + mes "face."; + close; + } + if (KNIGHT_Q == 5) { 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?"; + mes "What..."; + mes "You again?"; next; - if (select("Pierce Lv.5:Spear Stab Lv.3:Spear Boomerang Lv.3:Peco Peco Ride Lv.1") != 3) { - set KNIGHT_Q,5; + if (select("I wish to take the test again.:Oh, nothing.") == 1) { 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?"; + mes "Is that right?"; + mes "Are you sure you're"; + mes "prepared this time?"; 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!"; + mes "Alright then,"; + mes "here we go again..."; 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 "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 "Wrong!"; - mes "Don't bother riding a Peco Peco if you don't know about Cavalier Mastery!"; + 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 "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 "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 "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."; + mes "Some Spears also have magical attributes, just like spells. Of the following, which can attack a Nightmare, which has the Ghost attribute?"; next; - break; - case 2: - set KNIGHT_Q,5; + 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 "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 "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 "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 "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 "That's it! Our strength and attacks are very important in a party. All Knights should engage in a battle with that mindset."; + 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; - 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 "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 "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 "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 "Right, above all else, Knights must be honorable! We live and die for honor! Always keep that in mind."; + mes "Lastly..."; + mes "what's the most"; + mes "important value"; + mes "a Knight must have?"; next; - break; - case 2: - set KNIGHT_Q,5; + 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; + } + changequest 9003,9004; + set KNIGHT_Q,6; 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 "Well then,"; + mes "this is the"; + mes "end of my test."; + next; 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!"; + 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; } - 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."; + mes "Hmmm...?"; + mes "Alright."; + mes "It's just that"; + mes "you had that"; + mes "look on your"; + mes "face."; close; } - else if (KNIGHT_Q == 6) { + if (KNIGHT_Q == 6) { + mes "[Sir Siracuse]"; mes "Oh?"; mes "Do you have"; mes "something to"; @@ -1032,7 +1453,8 @@ prt_in,71,91,0 script Sir Siracuse#knt 65,{ mes "face."; close; } - else if (KNIGHT_Q == 14) { + if (KNIGHT_Q == 14) { + mes "[Sir Siracuse]"; mes "Mmm...?"; mes "You finished"; mes "everyone else's"; @@ -1046,37 +1468,72 @@ prt_in,71,91,0 script Sir Siracuse#knt 65,{ 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; - } + mes "[Sir Siracuse]"; + 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) { +prt_in,79,94,4 script Sir Windsor 733,{ + if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { + if (Class == Job_Baby_Knight || Class == Job_Knight) { + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes "Protect."; + close; + } + if (Class == Job_Baby || Class == Job_Novice) { + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; mes "...Go play"; mes "outside."; + close; } - else mes "...Hmpf."; + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes "...Hmpf."; close; } if (KNIGHT_Q == 0) { + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; mes "...What?"; close; } - else if (KNIGHT_Q >= 1 && KNIGHT_Q <= 5) { + if ((KNIGHT_Q >= 1) && (KNIGHT_Q <= 5)) { + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; mes "...What?"; next; if (select("I would like to take the test to change jobs.:Oh, nothing.") == 1) { @@ -1095,39 +1552,59 @@ prt_in,79,94,4 script Sir Windsor#knt 733,{ 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?"; + if (KNIGHT_Q == 6) { + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; + mes ".....What?"; + next; + if (select("Sir Siracuse sent me to you.:Oh, nothing.") == 1) { + mes "[Sir Windsor]"; + mes "..."; next; - } - else { - set .@mes$,"I want to try again!:..."; + set KNIGHT_Q,7; + changequest 9004,9006; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; next; + mes "[Sir Windsor]"; + mes "...Follow me."; + close2; + warp "job_knt",89,101; + end; } - if (select(.@mes$) == 1) { + mes "[Sir Windsor]"; + mes "..."; + close; + } + if (KNIGHT_Q == 7) { + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + if (select("I want to try again!:...") == 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."; - } + mes "...Fine."; + next; + mes "[Sir Windsor]"; + mes "...This way."; close2; - if(checkquest(9006) == -1) changequest 9005,9006; warp "job_knt",89,101; end; } @@ -1135,21 +1612,19 @@ prt_in,79,94,4 script Sir Windsor#knt 733,{ mes "..."; close; } - else if (KNIGHT_Q == 14) { + if (KNIGHT_Q == 14) { + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; + next; + mes "[Sir Windsor]"; 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; @@ -1158,18 +1633,30 @@ job_knt,89,106,4 script Knight Windsor#knt 733,{ 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 "...You're"; + mes "done here."; + close; +} + +job_knt,89,106,4 script Knight Windsor 733,{ mes "[Sir Windsor]"; mes "..."; - if (.@i == 4) close; next; mes "[Sir Windsor]"; mes "..."; mes "......"; - switch(.@i) { + next; + mes "[Sir Windsor]"; + mes "...Question?"; + next; + switch (select("What kind of test is this?:How do I take the test?:I'd like to leave.:No.")) { case 1: + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; next; mes "[Sir Windsor]"; mes "...You fight monsters."; @@ -1192,6 +1679,12 @@ job_knt,89,106,4 script Knight Windsor#knt 733,{ mes ".........."; close; case 2: + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; next; mes "[Sir Windsor]"; mes "...Go in the"; @@ -1216,9 +1709,19 @@ job_knt,89,106,4 script Knight Windsor#knt 733,{ mes "..."; close; case 3: + mes "[Sir Windsor]"; + mes "..."; + next; + mes "[Sir Windsor]"; + mes "..."; + mes "......"; close2; warp "prt_in",80,100; end; + case 4: + mes "[Sir Windsor]"; + mes "..."; + close; } } @@ -1226,41 +1729,37 @@ job_knt,89,106,4 script Windsor Benedict#knt 733,{ end; OnInit: - disablenpc "Windsor Benedict#knt"; + hideonnpc "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: +OnEnable: enablewaitingroomevent; end; } -- script Knight1 -1,{ +job_knt,1,1,1 script Knight1 66,{ + end; + OnInit: - disablenpc "Knight1"; + hideonnpc "Knight1"; end; OnEnable: - enablenpc "Knight1"; + hideoffnpc "Knight1"; if (!checkre(0)) { - set .MyMobs,12; monster "job_knt",39,150,"Dustiness",1114,1,"Knight1::OnMyMobDead"; monster "job_knt",47,150,"Dustiness",1114,1,"Knight1::OnMyMobDead"; monster "job_knt",39,142,"Dustiness",1114,1,"Knight1::OnMyMobDead"; monster "job_knt",47,142,"Dustiness",1114,1,"Knight1::OnMyMobDead"; } - else - 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"; @@ -1272,22 +1771,25 @@ OnEnable: initnpctimer; end; +OnReset: + killmonster "job_knt","Knight1::OnMyMobDead"; + end; + OnDisable: - killmonster "job_knt", "Knight1::OnMyMobDead"; - disablenpc "Knight1"; + hideonnpc "Knight1"; end; OnMyMobDead: - set .MyMobs,.MyMobs-1; - if (.MyMobs < 1) { + if (mobcount ("job_knt","Knight1::OnMyMobDead") < 1) { mes "[Sir Windsor]"; mes "..."; - next; + close2; mes "[Sir Windsor]"; mes "...On to"; mes "the next level."; close2; warp "job_knt",43,52; + donpcevent "Knight1::OnReset"; donpcevent "Knight1::OnDisable"; donpcevent "Knight2::OnEnable"; stopnpctimer; @@ -1295,31 +1797,55 @@ OnMyMobDead: end; OnTimer180000: - donpcevent "Knight1::OnDisable"; + donpcevent "Knight1::OnReset"; end; OnTimer181000: - areawarp "job_knt", 24, 126, 63, 165, "prt_in",80,100; + donpcevent "Out1::OnEnable"; end; OnTimer182000: - stopnpctimer; + donpcevent "Out1::OnDisable"; donpcevent "Knight1::OnDisable"; - donpcevent "Windsor Benedict#knt::OnStart"; + donpcevent "Windsor Benedict#knt::OnEnable"; + end; +} + +job_knt,43,146,0 script Out1 139,22,22,{ + +OnTouch: + warp "prt_in",80,100; + end; + +OnInit: + hideonnpc "Out1"; + end; + +OnEnable: + hideoffnpc "Out1"; + end; + +OnDisable: + hideonnpc "Out1"; end; } -// Test 2 part 2 -//========================================================== -- script Knight2 -1,{ +job_knt,1,2,1 script Knight2 66,{ + end; + OnInit: - disablenpc "Knight2"; + hideonnpc "Knight2"; end; OnEnable: - enablenpc "Knight2"; + hideoffnpc "Knight2"; + 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"; if (!checkre(0)) { - set .MyMobs,12; monster "job_knt",43,42,"Desert Wolf",1106,1,"Knight2::OnMyMobDead"; monster "job_knt",43,62,"Desert Wolf",1106,1,"Knight2::OnMyMobDead"; monster "job_knt",60,68,"Anacondaq",1030,1,"Knight2::OnMyMobDead"; @@ -1327,32 +1853,27 @@ OnEnable: monster "job_knt",60,35,"Anacondaq",1030,1,"Knight2::OnMyMobDead"; monster "job_knt",27,35,"Anacondaq",1030,1,"Knight2::OnMyMobDead"; } - else - 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; +OnReset: + killmonster "job_knt","Knight2::OnMyMobDead"; + end; + OnDisable: - killmonster "job_knt", "Knight2::OnMyMobDead"; - disablenpc "Knight2"; + hideonnpc "Knight2"; end; OnMyMobDead: - set .MyMobs,.MyMobs-1; - if (.MyMobs < 1) { + if (mobcount ("job_knt","Knight2::OnMyMobDead") < 1) { mes "[Sir Windsor]"; mes "...Hmm."; - next; + close2; mes "[Sir Windsor]"; mes "...One stage left."; close2; warp "job_knt",143,152; + donpcevent "Knight2::OnReset"; donpcevent "Knight2::OnDisable"; donpcevent "Knight3::OnEnable"; stopnpctimer; @@ -1360,94 +1881,127 @@ OnMyMobDead: end; OnTimer180000: - donpcevent "Knight2::OnDisable"; + donpcevent "Knight2::OnReset"; end; OnTimer181000: - areawarp "job_knt", 24, 32, 63, 71, "prt_in",80,100; + donpcevent "Out2::OnEnable"; end; OnTimer182000: - stopnpctimer; + donpcevent "Out2::OnDisable"; donpcevent "Knight2::OnDisable"; - donpcevent "Windsor Benedict#knt::OnStart"; + donpcevent "Windsor Benedict#knt::OnEnable"; end; } -// Test 2 part 3 -//========================================================== -- script Knight3 -1,{ +job_knt,43,52,0 script Out2 139,22,22,{ + +OnTouch: + warp "prt_in",80,100; + end; + OnInit: - disablenpc "Knight3"; + hideonnpc "Out2"; end; OnEnable: - enablenpc "Knight3"; - if (!checkre(0)) { - set .MyMobs,7; - monster "job_knt",147,167,"Goblin Archer",1258,1,"Knight3::OnMyMobDead"; - monster "job_knt",136,158,"Steam Goblin",1280,1,"Knight3::OnMyMobDead"; - } - else - set .MyMobs,5; + hideoffnpc "Out2"; + end; + +OnDisable: + hideonnpc "Out2"; + end; +} + +job_knt,1,3,1 script Knight3 66,{ + end; + +OnInit: + hideonnpc "Knight3"; + end; + +OnEnable: + hideoffnpc "Knight3"; 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"; + if (!checkre(0)){ + monster "job_knt",147,167,"Goblin Archer",1258,1,"Knight3::OnMyMobDead"; + monster "job_knt",136,158,"Steam Goblin",1280,1,"Knight3::OnMyMobDead"; + } initnpctimer; end; +OnReset: + killmonster "job_knt","Knight3::OnMyMobDead"; + end; + OnDisable: - killmonster "job_knt", "Knight3::OnMyMobDead"; - disablenpc "Knight3"; + hideonnpc "Knight3"; end; OnMyMobDead: - set .MyMobs,.MyMobs-1; - if (.MyMobs < 1) { + if (mobcount ("job_knt","Knight3::OnMyMobDead") < 1) { mes "[Sir Windsor]"; mes "..."; - next; + close2; mes "[Sir Windsor]"; mes "...Very good."; - next; + close2; 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::OnReset"; donpcevent "Knight3::OnDisable"; - donpcevent "Windsor Benedict#knt::OnStart"; + donpcevent "Windsor Benedict#knt::OnEnable"; stopnpctimer; } end; OnTimer180000: - donpcevent "Knight3::OnDisable"; + donpcevent "Knight3::OnReset"; end; OnTimer181000: - areawarp "job_knt", 124, 132, 163, 171, "prt_in",80,100; + donpcevent "Out3::OnEnable"; end; OnTimer182000: - stopnpctimer; + donpcevent "Out3::OnDisable"; donpcevent "Knight3::OnDisable"; - donpcevent "Windsor Benedict#knt::OnStart"; + donpcevent "Windsor Benedict#knt::OnEnable"; 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) { +job_knt,143,152,0 script Out3 139,22,22,{ + +OnTouch: + warp "prt_in",80,100; + end; + +OnInit: + hideonnpc "Out3"; + end; + +OnEnable: + hideoffnpc "Out3"; + end; + +OnDisable: + hideonnpc "Out3"; + end; +} + +prt_in,69,107,6 script Lady Amy 728,{ + if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { + if (Class == Job_Baby_Knight || Class == Job_Knight) { + mes "[Lady Amy]"; mes "Oh...!"; mes "I wonder, why"; mes "have you come"; @@ -1463,9 +2017,10 @@ prt_in,69,107,6 script Lady Amy#knt 728,{ mes "Of course~"; mes "You're a member of"; mes "the Prontera Chivalry~"; - close; + close2; } - else if (BaseClass == Job_Novice) { + if (Class == Job_Baby || Class == Job_Novice) { + mes "[Lady Amy]"; mes "Aww~"; mes "What a cute"; mes "little Novice!"; @@ -1482,21 +2037,21 @@ prt_in,69,107,6 script Lady Amy#knt 728,{ 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; + close2; } + mes "[Lady Amy]"; + 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 "[Lady Amy]"; mes "Ooh, you're"; mes "a Swordsman...?"; mes "Did you come to"; @@ -1510,7 +2065,8 @@ prt_in,69,107,6 script Lady Amy#knt 728,{ mes "there. Hee hee~"; close; } - else if (KNIGHT_Q >= 1 && KNIGHT_Q <= 7) { + if ((KNIGHT_Q >= 1) && (KNIGHT_Q <= 7)) { + mes "[Lady Amy]"; mes "Hmmm?"; mes "Why did you"; mes "come to Amy?"; @@ -1538,216 +2094,430 @@ prt_in,69,107,6 script Lady Amy#knt 728,{ 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?"; + if (KNIGHT_Q == 8) { + mes "[Lady Amy]"; + mes "Hmmm?"; + mes "Why did you"; + mes "come to Amy?"; + next; + if (select("Sir Windsor told me to--:Oh, nothing.") == 1) { + changequest 9006,9008; + 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; - 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; + 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; + set @knight_t, 0; + mes "[Lady Amy]"; + mes "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; + switch (select("Shout out that you are looking for a party.:Open a chat room and wait.:Look for people seeking Knights.")) { + case 1: + break; + case 2: + case 3: + set @knight_t, @knight_t + 10; } - } - else if (KNIGHT_Q == 9) { - mes "Hmmm?"; - mes "Why did you"; - mes "come to Amy?"; + 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; - if (select("I would like to take the test to change jobs.:Oh, nothing.") == 1) { + 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; + switch (select("Check out the area and plan ahead.:Gather monsters for your party members.:Lead the party slowly at the front.")) { + case 1: + set @knight_t, @knight_t + 10; + case 2: + break; + case 3: + 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; + switch (select("Keep the monsters from reaching the party.:Defend while the party retreats.:Run away on your Peco Peco.")) { + case 1: + case 2: + set @knight_t, @knight_t + 10; + case 3: + break; + } + 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; + switch (select("Give it to who deserves it the most.:Pretend like nothing happened and keep it.:Decide with party who gets it.")) { + case 1: + set @knight_t, @knight_t + 10; + case 2: + break; + case 3: + 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; + switch (select("Shout out loud to everyone.:Open a chat room and wait.:Inquire if there is anyone that is interested.")) { + case 1: + break; + case 2: + case 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; + switch (select("Tell the person how to reach the exit.:Lead the person to the exit.:Give a Butterfly Wing.")) { + case 1: + case 2: + set @knight_t, @knight_t + 10; + case 3: + break; + } + 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; + switch (select("Pick it up and keep it.:Ask around to find the owner.:Simply walk by.")) { + case 1: + break; + case 2: + case 3: + set @knight_t, @knight_t + 10; + } + mes "[Lady Amy]"; + mes "Okay,"; + mes "that was the"; + mes "end of my test!"; + next; + if (@knight_t == 100) { + set KNIGHT_Q,10; 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!"; + 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 "So listen carefully"; - mes "and answer as if you"; - mes "are a Knight."; - mes "Well then,"; - mes "let's begin!"; - next; + mes "I'll have nice comments about you for the captain. Do well on the tests you have left, okay?"; + close; + } + if (@knight_t == 90) { + set KNIGHT_Q,10; + changequest 9008,9009; 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?"; + mes "Well, it wasn't perfect,"; + mes "but I think you know enough"; + mes "about etiquette to be"; + mes "a fine Knight."; next; - } - else { mes "[Lady Amy]"; - mes "Aww..."; - mes "Alright~"; + 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 "[Lady Amy]"; + 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; } - 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 "Aww..."; + mes "Alright~"; + close; + } + if (KNIGHT_Q == 9) { mes "[Lady Amy]"; - mes "Okay,"; - mes "that was the"; - mes "end of my test!"; + mes "Hmmm?"; + mes "Why did you"; + mes "come to Amy?"; 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~"; + 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 "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."; + mes "So listen carefully"; + mes "and answer as if you"; + mes "are a Knight."; + mes "Well then,"; + mes "let's begin!"; next; + set @knight_t,0; 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~"; + mes "You are a Knight and you are looking for a party in Morroc."; + mes "How would you go about doing so?"; + next; + switch (select("Shout out that you are looking for a party.:Open a chat room and wait.:Look for people seeking Knights.")) { + case 1: + break; + case 2: + case 3: + 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; + switch (select("Check out the area and plan ahead.:Gather monsters for your party members.:Lead the party slowly at the front.")) { + case 1: + set @knight_t, @knight_t + 10; + case 2: + break; + case 3: + 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; + switch (select("Keep the monsters from reaching the party.:Defend while the party retreats.:Run away on your Peco Peco.")) { + case 1: + case 2: + set @knight_t, @knight_t + 10; + case 3: + break; + } + 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; + switch (select("Give it to who deserves it the most.:Pretend like nothing happened and keep it.:Decide with party who gets it.")) { + case 1: + set @knight_t, @knight_t + 10; + case 2: + break; + case 3: + 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; + switch (select("Shout out loud to everyone.:Open a chat room and wait.:Inquire if there is anyone that is interested.")) { + case 1: + break; + case 2: + case 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; + switch (select("Tell the person how to reach the exit.:Lead the person to the exit.:Give a Butterfly Wing.")) { + case 1: + case 2: + set @knight_t, @knight_t + 10; + case 3: + break; + } + 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; + switch (select("Pick it up and keep it.:Ask around to find the owner.:Simply walk by.")) { + case 1: + break; + case 2: + case 3: + set @knight_t, @knight_t + 10; + } + mes "[Lady Amy]"; + mes "Okay,"; + mes "that was the"; + mes "end of my test!"; + next; + if (@knight_t == 100) { + set KNIGHT_Q,10; + mes "[Lady Amy]"; + 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; + } + if (@knight_t == 90) { + set KNIGHT_Q,10; + mes "[Lady Amy]"; + 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 "[Lady Amy]"; + 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; } - 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?"; + mes "Aww..."; + mes "Alright~"; close; } - else if (KNIGHT_Q == 10) { + if (KNIGHT_Q == 10) { + mes "[Lady Amy]"; mes "Hmmm?"; mes "Why did you"; mes "come to Amy?"; @@ -1758,7 +2528,8 @@ prt_in,69,107,6 script Lady Amy#knt 728,{ mes "next test, okay?"; close; } - else if (KNIGHT_Q == 14) { + if (KNIGHT_Q == 14) { + mes "[Lady Amy]"; mes "Wow~"; mes "Now it's time for"; mes "everyone to decide"; @@ -1771,89 +2542,338 @@ prt_in,69,107,6 script Lady Amy#knt 728,{ mes "be okay."; close; } - else { - mes "Hmmm?"; - mes "Why did you"; - mes "come to Amy?"; + mes "[Lady Amy]"; + 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; +} + +prt_in,70,99,6 script Sir Edmond 734,{ + if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { + if (Class == Job_Baby_Knight || Class == Job_Knight) { + mes "[Sir Edmond]"; + 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; + } + if (Class == Job_Baby || Class == Job_Novice) { + mes "[Sir Edmond]"; + 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; + } + mes "[Sir Edmond]"; + 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 "[Sir Edmond]"; + 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; + } + if (KNIGHT_Q == 1) { + mes "[Sir Edmond]"; + mes "What is it..."; + mes "Wandering Swordman?"; next; - mes "[Lady Amy]"; - mes "You still have"; - mes "other tests to take."; - mes "Hurry and finish~"; + 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; + } + if (KNIGHT_Q == 2) { + mes "[Sir Edmond]"; + 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 "The question of"; + mes "what came first:"; + mes "the chicken"; + mes "or the egg?"; + next; + mes "[Sir Edmond]"; + mes "Do you think"; + mes "you're prepared"; + mes "to discuss this?"; + next; + mes "[Sir Edmond]"; + mes "That's what"; + mes "I thought..."; + mes "Go to the"; + mes "others first."; + 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; + } + if (KNIGHT_Q == 3) { + mes "[Sir Edmond]"; + 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; + } + if (KNIGHT_Q == 4) { + mes "[Sir Edmond]"; + 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 "The question of"; + mes "what came first:"; + mes "the chicken"; + mes "or the egg?"; + next; + mes "[Sir Edmond]"; + mes "Do you think"; + mes "you're prepared"; + mes "to discuss this?"; + next; + mes "[Sir Edmond]"; + mes "That's what"; + mes "I thought..."; + mes "Go to the"; + mes "others first."; + 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; + } + if (KNIGHT_Q == 5) { + mes "[Sir Edmond]"; + 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 "The question of"; + mes "what came first:"; + mes "the chicken"; + mes "or the egg?"; + next; + mes "[Sir Edmond]"; + mes "Do you think"; + mes "you're prepared"; + mes "to discuss this?"; + next; + mes "[Sir Edmond]"; + mes "That's what"; + mes "I thought..."; + mes "Go to the"; + mes "others first."; + 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; } -} - -// 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."; + if (KNIGHT_Q == 6) { + mes "[Sir Edmond]"; + 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 "If a tree falls"; + mes "in the woods, does"; + mes "it make a sound?"; next; mes "[Sir Edmond]"; - mes "Flowing water"; - mes "avoids obstacles,"; - mes "going on its way..."; + mes "I think you need"; + mes "more time to think"; + mes "about this."; next; mes "[Sir Edmond]"; - mes "Knights must be"; - mes "able to pass things,"; - mes "like calm water, in"; - mes "any situation."; + mes "Go to the others"; + mes "first, so that you"; + mes "may find an answer..."; 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..."; + 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; + } + if (KNIGHT_Q == 7) { + mes "[Sir Edmond]"; + mes "What is it..."; + mes "Wandering Swordman?"; + next; + if (select("I would like to take the test to change jobs.:Oh, nothing.") == 2) { + mes "[Sir Edmond]"; + mes "Change will"; + mes "come when all is in"; + mes "readiness. Everything"; + mes "comes in its own"; + mes "good time."; next; mes "[Sir Edmond]"; - mes "Your future"; - mes "can even be"; - mes "decided now..."; + mes "The time has not"; + mes "yet come for me"; + mes "to test you yet."; + mes "Go to the others."; close; } - else { - mes "Everything in this world exists in harmony. Living without disrupting this harmony is the right way to live..."; + 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; + } + if (KNIGHT_Q == 8) { + mes "[Sir Edmond]"; + mes "Zzz..."; + mes "Zzz..."; + mes "^666666*snort*^000000"; + mes "Wah? Huh?"; + next; + if (select("I would like to take the test to change jobs.:Oh, nothing.") == 1) { + mes "[Sir Edmond]"; + mes "Is it my"; + mes "turn yet...?"; + mes "No... Not yet."; + next; + mes "[Sir Edmond]"; + mes "Sorry, it's"; + mes "not my turn yet,"; + mes "young one."; + next; + mes "[Sir Edmond]"; + mes "Go to the others"; + mes "first and complete"; + mes "their tasks..."; 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."; + mes "[Sir Edmond]"; + mes "You're almost"; + mes "there, don't"; + mes "give up..."; close; } - else if (KNIGHT_Q >= 1 && KNIGHT_Q <= 9) { + if (KNIGHT_Q == 9) { + mes "[Sir Edmond]"; 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..."; + mes "You are nearing the"; + mes "end of your journey..."; next; mes "[Sir Edmond]"; - mes "If not..."; - mes "The flower will"; - mes "be incomplete."; + mes "However, there are"; + mes "still the final steps"; + mes "you must take..."; next; mes "[Sir Edmond]"; - mes "Go to the others"; - mes "first, so that you"; - mes "may find your path..."; + mes "However,"; + mes "my time to test"; + mes "you has not come"; + mes "quite yet."; close; } mes "[Sir Edmond]"; - mes "The life that you"; + mes "You must still see"; + mes "one of the others..."; + mes "But 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) { + if (KNIGHT_Q == 10) { + mes "[Sir Edmond]"; mes "What is it..."; mes "Wandering Swordman."; next; @@ -1882,9 +2902,9 @@ prt_in,70,99,6 script Sir Edmond#knt 734,{ mes "Keep in mind"; mes "the quality of"; mes "reverence."; - close2; - set KNIGHT_Q,11; + set KNIGHT_Q,12; changequest 9009,9010; + close2; warp "job_knt",143,57; end; } @@ -1894,7 +2914,8 @@ prt_in,70,99,6 script Sir Edmond#knt 734,{ mes "your eyes."; close; } - else if (KNIGHT_Q == 11) { + if (KNIGHT_Q == 11) { + mes "[Sir Edmond]"; mes "What is it..."; mes "Wandering Swordman?"; next; @@ -1910,6 +2931,7 @@ prt_in,70,99,6 script Sir Edmond#knt 734,{ mes "shall begin."; mes "Show me your"; mes "patience..."; + set KNIGHT_Q,13; close2; warp "job_knt",143,57; end; @@ -1923,40 +2945,66 @@ prt_in,70,99,6 script Sir Edmond#knt 734,{ mes "order."; close; } - else if (KNIGHT_Q == 12 || KNIGHT_Q == 13) { + if (KNIGHT_Q == 12 || KNIGHT_Q == 13) { + mes "[Sir Edmond]"; 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; - } + mes "[Sir Edmond]"; + 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: +OnTimer60000: + donpcevent "Warp#knt::OnEnable"; + end; + +OnTimer60050: + donpcevent "Timer#knt::OnReset"; + end; + +OnTimer60100: donpcevent "Timer#knt::OnDisable"; - disablenpc "Warp#knt"; + donpcevent "Warp#knt::OnDisable"; end; -OnTimer301500: - stopnpctimer; +OnTimer60150: donpcevent "Timer#knt::OnEnable"; + stopnpctimer; end; OnInit: + hideoffnpc "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"; + monster "job_knt",167,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",167,57,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",120,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",120,57,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; + initnpctimer; + end; + OnEnable: - enablenpc "Timer#knt"; + hideoffnpc "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"; @@ -1969,18 +3017,19 @@ OnEnable: 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"; + monster "job_knt",167,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",167,57,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",120,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; + monster "job_knt",120,57,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; initnpctimer; end; -OnDisable: +OnReset: killmonster "job_knt","Timer#knt::OnMyMobDead"; - disablenpc "Timer#knt"; - disablenpc "Warp#knt"; + end; + +OnDisable: + hideonnpc "Timer#knt"; end; OnMyMobDead: @@ -1988,23 +3037,31 @@ OnMyMobDead: end; } -job_knt,145,57,1 script Warp#knt 107,22,22,{ -OnInit: - disablenpc "Warp#knt"; - end; +job_knt,143,57,0 script Warp#knt 139,22,22,{ + OnTouch: set KNIGHT_Q,12; changequest 9010,9011; warp "prt_in",80,100; end; + +OnInit: + hideonnpc "Warp#knt"; + end; + +OnEnable: + hideoffnpc "Warp#knt"; + end; + +OnDisable: + hideonnpc "Warp#knt"; + 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) { +prt_in,87,92,4 script Sir Gray 119,{ + if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { + if (Class == Job_Baby_Knight || Class == Job_Knight) { + mes "[Sir Gray]"; 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; @@ -2014,10 +3071,10 @@ prt_in,87,92,4 script Sir Gray#knt 119,{ mes "Every Knight"; mes "would want one!"; next; - switch(select("About ^3355FFClaymore^000000:Buy Claymore:End Conversation")) { + 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."; + mes "Claymore, one of the best among the famous swords you can attain in Rune-Midgarts 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."; @@ -2027,8 +3084,7 @@ prt_in,87,92,4 script Sir Gray#knt 119,{ 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) { + if ((MaxWeight - 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."; @@ -2039,85 +3095,85 @@ prt_in,87,92,4 script Sir Gray#knt 119,{ 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; - } + if ((Zeny > 73999) && (countitem(999) > 0) && (Class == Job_Baby_Knight || Class == Job_Knight || Class == Job_Baby_Swordman || Class == Job_Swordman)) { + 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 "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."; + 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 "Come back when"; - mes "you have everything"; - mes "ready. I shall be"; - mes "waiting..."; + 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; } + if (Class == Job_Baby || Class == Job_Novice) { + mes "[Sir Gray]"; + 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 "[Sir Gray]"; + 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 (BaseClass == Job_Novice) { - mes "Believe it"; - mes "or not, I was"; - mes "once a Novice"; - mes "as well."; + if (KNIGHT_Q == 0) { + mes "[Sir Gray]"; + mes "Young one,"; + mes "use your time"; + mes "wisely."; 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!"; + mes "No point in"; + mes "harboring regret"; + mes "once time has passed."; 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 "[Sir Gray]"; mes "Oh..."; mes "A young Swordman."; mes "Yes, what can"; @@ -2130,6 +3186,7 @@ prt_in,87,92,4 script Sir Gray#knt 119,{ mes "everyone else's"; mes "test?"; next; + set @knight_t, 0; mes "[Sir Gray]"; mes "Then shall"; mes "we begin mine?"; @@ -2137,24 +3194,297 @@ prt_in,87,92,4 script Sir Gray#knt 119,{ mes "a test though."; next; mes "[Sir Gray]"; - mes "Let's talk"; - mes "casually,"; - mes "shall we?"; + 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; + 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; + } + 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; + } + 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; + } + } + 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; + } + 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!"; + if (Sex == 1) { + mes "Always protect her..."; + mes "Even at the sacrifice"; + mes "of your own life!"; + } + else { + mes "Always protect 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; + } + 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; + } + } + 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; + } + 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; + } + if (@knight_t == 10) { + set KNIGHT_Q,14; + 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; + } + set KNIGHT_Q,13; + mes "[Sir Gray]"; + mes "Conversing"; + mes "with young ones"; + mes "is always enjoyable..."; next; mes "[Sir Gray]"; - mes "First..."; - mes "Why did you"; - mes "decide to become"; - mes "a Knight?"; + 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; - } - else { mes "[Sir Gray]"; - mes "Take care!"; + mes "If you truly wish to become a Knight, you must change your outlook first. Then, we shall see."; close; } + mes "[Sir Gray]"; + mes "Take care!"; + close; } - else if (KNIGHT_Q == 13) { + if (KNIGHT_Q == 13) { + mes "[Sir Gray]"; mes "Ah, you again."; mes "What brings you"; mes "to me?"; @@ -2165,6 +3495,7 @@ prt_in,87,92,4 script Sir Gray#knt 119,{ mes "I wonder if you"; mes "truly have..."; next; + set @knight_t, 0; mes "[Sir Gray]"; mes "Then..."; mes "Like last time,"; @@ -2176,306 +3507,303 @@ prt_in,87,92,4 script Sir Gray#knt 119,{ 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: + 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?"; + mes "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; + } + 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; + } + 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; + } + } 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."; + mes "I understand your thoughts,"; + mes "but there are those who wish to"; + mes "become Knights without thinking."; 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."; + mes "Those are the ones who instigate problems and shame the honor of Knights, bringing irreversible results."; 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."; + 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; - 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!"; + 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; + } + 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!"; + if (Sex == 1) { + mes "Always protect her..."; + mes "Even at the sacrifice"; + mes "of your own life!"; + } + else { + mes "Always protect 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; + } + 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; + } + } mes "[Sir Gray]"; - mes "Also..."; - mes "Love them forever."; - mes "Sincere affection"; - mes "is hard to find."; + mes "Oh no, we've been"; + mes "talking too much..."; + mes "I apologize for"; + mes "keeping you here"; + mes "for so long."; 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; + 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~"; + close2; + } + 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; + } + if (@knight_t == 10) { + set KNIGHT_Q,14; + 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; + } + set KNIGHT_Q,13; 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."; + mes "Conversing"; + mes "with young ones"; + mes "is always enjoyable..."; 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."; + 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; - 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; + mes "If you truly wish to become a Knight, you must change your outlook first. Then, we shall see."; + close; } - 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...!"; + mes "Take care!"; + mes "Health is"; + mes "every man's"; + mes "treasure!"; close; } - else { - set KNIGHT_Q,13; + if (KNIGHT_Q == 14) { mes "[Sir Gray]"; - mes "Conversing"; - mes "with young ones"; - mes "is always enjoyable..."; + mes "I told you"; + mes "to go to"; + mes "the captain."; 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."; + mes "Everyone will"; + mes "carefully make"; + mes "their decision,"; + mes "so go now!"; 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?"; @@ -2501,4 +3829,4 @@ prt_in,87,92,4 script Sir Gray#knt 119,{ mes "treasure!"; close; } -} +} \ No newline at end of file diff --git a/npc/jobs/2-1/priest.txt b/npc/jobs/2-1/priest.txt index 8aadc429b..d86ed1f9b 100644 --- a/npc/jobs/2-1/priest.txt +++ b/npc/jobs/2-1/priest.txt @@ -1,63 +1,44 @@ //===== rAthena Script ======================================= -//= Priest Quest +// Piest Job change Quest //===== By: ================================================== -//= Translated By: Pgro Team (OwNaGe)(Aegis) -//= Converted by: kobra_k88. -//= Further bugfixed and tested by Lupus +//= Masao +//= Credits: Muad_Dib //===== Current Version: ===================================== -//= 2.6 +//= 1.0 //===== Compatible With: ===================================== -//= rAthena SVN +//= Any rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job Change quest for Priest class. +//= [Translated from the Official] +//= Job change Quest from Acolyte -> Priest. //===== 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] -//========================================================== +//= 1.0 Updated to latest available official file. [Masao] +//============================================================ 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 (Upper == 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) { + if ((Class != Job_Baby_Acolyte) && (Class != Job_Acolyte)) { + if (Class == Job_Baby_Priest || Class == Job_Priest || Class == Job_High_Priest) { mes "[Bishop Paul]"; mes "Ah..."; - if (sex) + if (Sex == 1) { mes "It is good to see you again, Brother " + strcharinfo(0) + ". Once again, God's grace has caused our paths to cross."; - else + } + 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.")) { + 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."; @@ -103,30 +84,33 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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; + percentheal 90,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) + if (Class == Job_Baby || Class == Job_Novice) { + if (Sex == 1) { + mes "[Bishop Paul]"; + mes "May God be"; mes "with you, brother."; - else + } + else { + mes "[Bishop Paul]"; + mes "May God be"; 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.")) { + 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..."; @@ -147,18 +131,22 @@ prt_church,16,41,4 script High Bishop#prst 60,{ close; } else { - mes "[Bishop Paul]"; - mes "May God be"; - if (sex) + if (Sex == 1) { + mes "[Bishop Paul]"; + mes "May God be"; mes "with you, brother."; - else + } + else { + mes "[Bishop Paul]"; + mes "May God be"; mes "with you, sister."; + } next; mes "[Bishop Paul]"; mes "What brings you here"; mes "to Prontera Sanctuary?"; next; - switch(select("Information about Priests.:Nothing.")) { + switch (select("Information about Priests.:Nothing.")) { case 1: mes "[Bishop Paul]"; mes "Priests have the authority to perform and administer religious rites."; @@ -202,17 +190,21 @@ prt_church,16,41,4 script High Bishop#prst 60,{ } } if (PRIEST_Q == 0) { - mes "[Bishop Paul]"; - mes "May God bless"; - if (sex) + if (Sex == 1) { + mes "[Bishop Paul]"; + mes "May God bless"; mes "you, Brother."; - else + mes "What brings"; + mes "you to me?"; + } else { + mes "[Bishop Paul]"; + mes "May God bless"; mes "you, Sister."; - mes "What brings"; - mes "you to me?"; + mes "What brings"; + mes "you to me?"; + } next; - switch(select("I want to be a Priest.:How are you, Father?")) { - case 1: + if (select("I want to be a Priest.:How are you, Father?") == 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; @@ -235,19 +227,21 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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) { + if (SkillPoint != 0) { 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; + set PRIEST_Q, 1; setquest 8009; + if (Sex == 1) { 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 + } else { + mes "[Bishop Paul]"; 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."; @@ -271,7 +265,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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; + set PRIEST_Q, 5; changequest 8009,8011; mes "[Bishop Paul]"; mes "Well, are you ready for the Spiritual Training?"; @@ -313,35 +307,35 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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..."; + changequest 8009,8010; close; } + 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 == 1) { + 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) { + 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; @@ -375,7 +369,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "Well then, I shall pray for your safe journey. May God bless you..."; close; } - else if (PRIEST_Q == 2) { + 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; @@ -383,7 +377,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "For your next quest, you should meet Sister Mathilda. I shall be awaiting your safe return."; close; } - else if (PRIEST_Q == 3) { + 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; @@ -391,9 +385,8 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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; + if (PRIEST_Q == 4) { + set PRIEST_Q, 5; mes "[Bishop Paul]"; mes "You've accomplished"; mes "your pilgrimage."; @@ -410,6 +403,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "the spiritual training?"; next; if (select("I'm ready.:Give me a minute.") == 1) { + changequest 8010,8011; 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; @@ -424,11 +418,12 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "overcome your fears..."; close; } - else if (PRIEST_Q == 5) { + 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) { + changequest 8010,8011; 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; @@ -443,7 +438,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "overcome your fears..."; close; } - else if (PRIEST_Q == 6) { + 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; @@ -451,6 +446,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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) { + changequest 8010,8011; mes "[Bishop Paul]"; mes "Good. I will send you to the training ground. Please ask for help from Brother Peter."; next; @@ -465,7 +461,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "overcome your fears..."; close; } - else if (PRIEST_Q == 7) { + 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; @@ -481,7 +477,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "waiting for you."; close; } - else if (PRIEST_Q == 8) { + 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; @@ -489,8 +485,8 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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) { + if (PRIEST_Q == 9) { + if (SkillPoint != 0) { mes "[Bishop Paul]"; mes "You have remaining skills points. Please use these skill points to upgrade your skills, and then return to me."; close; @@ -500,52 +496,64 @@ prt_church,16,41,4 script High Bishop#prst 60,{ next; mes "[Bishop Paul]"; mes "God, grant your power to your servant standing before you."; - changequest 8015,8016; - if (sex) + if (Sex == 1) { mes "Let him send your message throughout the ends of the earth."; - else + } + 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 + set PRIEST_Q,0; + if(Class == Job_Baby_Acolyte){ + jobchange Job_Baby_Priest; + } else { + jobchange Job_Priest; + } + set FJOB,Job_Arch_Bishop; + changequest 8015,8016; 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 { + if (JobLevel == 50) { 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."; + } else { + getitem 1550,1; //Book } + mes "[Bishop Paul]"; + mes "And..."; + mes "This book is for you. I hope it will aid you in spreading God's message on earth."; 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..."; + completequest 8016; close; } } prt_church,27,24,1 script Sister Cecilia 79,{ - mes "[Sister Cecilia]"; - if (BaseJob != Job_Acolyte) { - if (BaseJob == Job_Priest) { - if (sex) + if ((Class != Job_Baby_Acolyte) && (Class != Job_Acolyte)) { + if (Class == Job_Baby_Priest || Class == Job_Priest) { + if (Sex == 1) { + mes "[Sister Cecilia]"; 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 + } + else { + mes "[Sister Cecilia]"; 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) + if (Class == Job_Baby || Class == Job_Novice) { + if (Sex == 1) { + mes "[Sister Cecilia]"; mes "May god bless you, brother."; - else + } + else { + mes "[Sister Cecilia]"; mes "May god bless you, sister."; + } mes "Prontera parish welcomes you."; next; mes "[Sister Cecilia]"; @@ -564,46 +572,54 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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?"; + if (Sex == 1) { + mes "[Sister Cecilia]"; + mes "May god bless you, brother."; + } else { + mes "[Sister Cecilia]"; + mes "May god bless you, sister."; + } + mes "Welcome to Prontera parish. How may I help you?"; + next; + switch (select("Tell me more about Priests.:Nothing.")) { + case 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; - if (select("Tell me more about Priests.:Nothing.") == 1) { + 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 (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + next; 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."; + 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 "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 "I believe he can give you specific requirement information about the Priest class. Yes, I think it's a good idea."; + next; } + break; + case 2: 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; + break; } + next; + mes "[Sister Cecilia]"; + mes "May God bless you..."; + close; } if (PRIEST_Q == 0) { - if (sex) + if (Sex == 1) { + mes "[Sister Cecilia]"; mes "May God bless you, brother."; - else + } + else { + mes "[Sister Cecilia]"; 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: + if (select("I wish to become a Priest.:Nothing.") == 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; @@ -622,13 +638,13 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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; } + 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) { + if (PRIEST_Q == 1) { + mes "[Sister Cecilia]"; mes "Ah, you've started your pilgrimage. Please do your best to accomplish this first trial."; next; mes "[Sister Cecilia]"; @@ -650,7 +666,8 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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) { + if (PRIEST_Q == 2) { + mes "[Sister Cecilia]"; 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]"; @@ -663,7 +680,8 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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) { + if (PRIEST_Q == 3) { + mes "[Sister Cecilia]"; 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]"; @@ -673,21 +691,25 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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) { + if (PRIEST_Q == 4) { + mes "[Sister Cecilia]"; 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) +"..."; + if (Sex == 1) { + 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) { + if (PRIEST_Q == 5) { + mes "[Sister Cecilia]"; mes "Oh, you haven't finished the spiritual training yet?"; next; mes "[Sister Cecilia]"; @@ -697,7 +719,8 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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) { + if (PRIEST_Q == 6) { + mes "[Sister Cecilia]"; 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]"; @@ -707,33 +730,27 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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."; - } + if (PRIEST_Q == 7) { + mes "[Sister Cecilia]"; + mes "Welcome! I'm so glad to see you've come back! Now, there is one last trial left for you to complete."; + changequest 8013,8014; next; mes "[Sister Cecilia]"; - if (sex) - mes "Brother "+ strcharinfo(0) +"..."; - else - mes "Sister "+ strcharinfo(0) +"..."; + if (Sex == 1) { + 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) +","; + if (Sex == 1) { + mes "Brother " + strcharinfo(0) + ","; + } + else { + mes "Sister " + strcharinfo(0) + ","; + } mes "Are you willing"; mes "to give your life to God?"; next; @@ -741,7 +758,7 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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; + 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; @@ -753,7 +770,7 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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; + 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; @@ -765,7 +782,7 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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; + 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; @@ -777,7 +794,7 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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; + 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; @@ -789,7 +806,7 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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; + 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,"; @@ -803,7 +820,7 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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; + 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; @@ -821,14 +838,17 @@ prt_church,27,24,1 script Sister Cecilia 79,{ close; } mes "[Sister Cecilia]"; - if (sex) - mes "Brother "+ strcharinfo(0) +"..."; - else - mes "Sister "+ strcharinfo(0) +"..."; + if (Sex == 1) { + 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; + changequest 8014,8015; mes "[Sister Cecilia]"; mes "Now, you have completed your oath of Priesthood and accomplished all three trials required to become a Priest."; next; @@ -844,14 +864,148 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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) { + if (PRIEST_Q == 8) { + mes "[Sister Cecilia]"; + 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 == 1) { + mes "Brother " + strcharinfo(0) + "..."; + } + else { + mes "Sister " + strcharinfo(0) + "..."; + } + mes "We will now begin your formal oath for the Priesthood. This time, listen closely to your heart..."; + next; + mes "[Sister Cecilia]"; + if (Sex == 1) { + 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; + 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; + 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; + 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; + 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; + 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; + switch (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; + 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; + 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 == 1) { + 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; + mes "[Sister Cecilia]"; + mes "You've come so far..."; + mes "Why would you want"; + mes "to throw this all away...?"; + close; + } + if (PRIEST_Q == 9) { + mes "[Sister Cecilia]"; mes "Congratulations."; mes "You've completed all three trials required for the Priesthood. Bishop Paul is now waiting for you."; next; @@ -861,16 +1015,16 @@ prt_church,27,24,1 script Sister Cecilia 79,{ } } -// 2nd Test -//========================================================== job_prist,24,187,4 script Peter S. Alberto 110,{ - mes "[Father Peter]"; - if (BaseJob == Job_Priest) { + if (Class == Job_Baby_Priest || Class == Job_Priest) { + mes "[Father Peter]"; mes "Welcome!"; - if (sex) - mes "Brother "+ strcharinfo(0) +"!"; - else - mes "Sister "+ strcharinfo(0) +"!"; + if (Sex == 1) { + mes "Brother " + strcharinfo(0) + "!"; + } + else { + mes "Sister " + strcharinfo(0) + "!"; + } mes "So good to see you again!"; next; mes "[Father Peter]"; @@ -886,7 +1040,7 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ mes "So..."; mes "Are you gonna help him right now?"; next; - switch(select("Yes, I am.:Give me a minute.:I changed my mind.")) { + 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."; @@ -911,6 +1065,7 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ } } if (PRIEST_Q == 5) { + mes "[Father Peter]"; mes "Welcome~!"; mes "I congratulate you"; mes "for passing the first trail."; @@ -928,7 +1083,7 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ 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...")) { + 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!"; @@ -956,7 +1111,7 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ 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.")) { + 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!"; @@ -965,9 +1120,8 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ mes "Now..."; mes "Go for it!"; close2; - changequest 8011,8012; warp "job_prist",24,44; - donpcevent "Zombie_Generator#prst::OnEnable"; + donpcevent "Zombie_Generator::OnEnable"; donpcevent "Peter S. Alberto::OnDisable"; donpcevent "Peter S. Alberto#2::OnEnable"; end; @@ -991,7 +1145,8 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ end; } } - else if (PRIEST_Q == 6) { + if (PRIEST_Q == 6) { + mes "[Father Peter]"; mes "Are you ready this time?"; mes "Complete this trial quickly,"; mes "and become a Priest!"; @@ -999,7 +1154,7 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ mes "[Father Peter]"; mes "Are you ready then?"; next; - switch(select("I'm ready.:Please hold on.:I want to go back.")) { + 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..."; @@ -1009,11 +1164,8 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ 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 "Zombie_Generator::OnEnable"; donpcevent "Peter S. Alberto::OnDisable"; donpcevent "Peter S. Alberto#2::OnEnable"; end; @@ -1035,30 +1187,31 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ end; } } - else { - mes "Go back!"; - close2; - warp "prontera",234,318; - end; - } + mes "[Father Peter]"; + mes "Go back!"; + close2; + warp "prontera",234,318; + end; OnEnable: - enablenpc "Peter S. Alberto"; + hideoffnpc "Peter S. Alberto"; end; OnDisable: - disablenpc "Peter S. Alberto"; + hideonnpc "Peter S. Alberto"; end; } job_prist,23,187,1 script Peter S. Alberto#2 110,{ - mes "[Father Peter]"; - if (BaseJob == Job_Priest) { + if (Class == Job_Baby_Priest || Class == Job_Priest) { + mes "[Father Peter]"; mes "Welcome!"; - if (sex) - mes "Brother "+ strcharinfo(0) +"!"; - else - mes "Sister "+ strcharinfo(0) +"!"; + if (Sex == 1) { + mes "Brother " + strcharinfo(0) + "!"; + } + else { + mes "Sister " + strcharinfo(0) + "!"; + } mes "So good to see you!"; next; mes "[Father Peter]"; @@ -1072,43 +1225,46 @@ job_prist,23,187,1 script Peter S. Alberto#2 110,{ close; } if (PRIEST_Q == 5) { + mes "[Father Peter]"; 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) { + if (PRIEST_Q == 6) { + mes "[Father Peter]"; 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; - } + mes "[Father Peter]"; + mes "Peace..."; + mes "Be with you."; + close2; + warp "prontera",234,318; + end; OnInit: - disablenpc "Peter S. Alberto#2"; + hideonnpc "Peter S. Alberto#2"; end; OnEnable: - enablenpc "Peter S. Alberto#2"; + hideoffnpc "Peter S. Alberto#2"; end; OnDisable: - disablenpc "Peter S. Alberto#2"; + hideonnpc "Peter S. Alberto#2"; end; } -- script Zombie_Generator#prst 110,{ +job_prist,1,1,1 script Zombie_Generator 110,{ + end; + OnInit: - disablenpc "Zombie_Generator#prst"; + hideonnpc "Zombie_Generator"; end; OnEnable: @@ -1120,50 +1276,63 @@ 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"; +OnM1: + monster "job_prist",24,52,"Theft",1015,1,"Zombie_Generator::OnMyMobDead"; + monster "job_prist",18,52,"Want of Virtue",1015,1,"Zombie_Generator::OnMyMobDead"; + monster "job_prist",30,52,"Jealousy",1015,1,"Zombie_Generator::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"; +OnM2: + monster "job_prist",21,62,"Fury",1015,1,"Zombie_Generator::OnMyMobDead"; + monster "job_prist",27,62,"Envy",1015,1,"Zombie_Generator::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"; +OnM3: + monster "job_prist",24,72,"Arrogance",1015,1,"Zombie_Generator::OnMyMobDead"; + monster "job_prist",18,72,"Lewdness",1015,1,"Zombie_Generator::OnMyMobDead"; + monster "job_prist",30,72,"Sloth",1015,1,"Zombie_Generator::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"; +OnM4: + monster "job_prist",21,82,"Gluttony",1015,1,"Zombie_Generator::OnMyMobDead"; + monster "job_prist",27,82,"Greed",1015,1,"Zombie_Generator::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"; +OnM5: + monster "job_prist",24,92,"Despair",1015,1,"Zombie_Generator::OnMyMobDead"; + monster "job_prist",18,92,"Distrust",1015,1,"Zombie_Generator::OnMyMobDead"; + monster "job_prist",30,92,"Fear",1015,1,"Zombie_Generator::OnMyMobDead"; + end; + +OnMyMobDead: + if (mobcount ("job_prist","Zombie_Generator::OnMyMobDead") < 1) { + donpcevent "prst1_2::OnEnable"; + } end; OnDisable: - disablenpc "Zombie_Generator#prst"; - killmonsterall "job_prist"; + hideonnpc "Zombie_Generator"; + end; + +OnReset: + killmonster "job_prist","Zombie_Generator::OnMyMobDead"; end; OnTimer300000: - areawarp "job_prist",8,34,39,109,"prontera",234,318; + donpcevent "Zombieo::OnEnable"; end; OnTimer300500: - donpcevent "Zombie_Generator#prst::OnDisable"; + donpcevent "Zombie_Generator::OnReset"; + end; + +OnTimer301000: + donpcevent "Zombieo::OnDisable"; + donpcevent "prst1_2::OnDisable"; end; OnTimer301500: - donpcevent "Zombie_Generator#prst::OnDisable"; + donpcevent "Zombie_Generator::OnDisable"; donpcevent "Peter S. Alberto#2::OnDisable"; donpcevent "Peter S. Alberto::OnEnable"; end; @@ -1173,17 +1342,10 @@ OnTimer302000: 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 139,1,1,{ -job_prist,24,44,0 script Zombie Info -1,1,1,{ OnTouch: - if (BaseJob == Job_Priest) { + if (Class == Job_Baby_Priest || Class == 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; @@ -1197,7 +1359,7 @@ OnTouch: mes "5 minutes. Best of luck~"; close; } - else if (BaseJob == Job_Acolyte){ + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { mes "[Father Peter]"; mes "I will give you exactly 5 minutes! You must proceed slowly and eliminate the Zombies."; next; @@ -1208,128 +1370,255 @@ OnTouch: end; } -job_prist,24,52,0 script Zombie1_1 -1,14,1,{ +job_prist,24,74,0 script Zombieo 139,14,40,{ + +OnTouch: + warp "prontera",234,318; + end; + OnInit: - disablenpc "Zombie1_1"; + hideonnpc "Zombieo"; + end; + +OnEnable: + hideoffnpc "Zombieo"; + end; + +OnDisable: + hideonnpc "Zombieo"; end; +} + +job_prist,24,52,0 script Zombie1_1 139,14,1,{ OnTouch: - if (BaseJob == Job_Acolyte) { - donpcevent "Zombie_Generator#prst::Onm1"; + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + donpcevent "Zombie_Generator::OnM1"; donpcevent "Zombie1_1::OnDisable"; } end; +OnInit: + hideonnpc "Zombie1_1"; + end; + OnEnable: - enablenpc "Zombie1_1"; + hideoffnpc "Zombie1_1"; + hideoffnpc "Zombie1_2"; + hideoffnpc "Zombie1_3"; end; OnDisable: - disablenpc "Zombie1_1"; + hideonnpc "Zombie1_1"; + hideonnpc "Zombie1_2"; + hideonnpc "Zombie1_3"; end; } -job_prist,21,62,0 script Zombie2_1 -1,17,1,{ +job_prist,18,52,0 script Zombie1_2 139,1,1,{ + end; + OnInit: - disablenpc "Zombie2_1"; + hideonnpc "Zombie1_2"; end; +} + +job_prist,30,52,0 script Zombie1_3 139,1,1,{ + end; + +OnInit: + hideonnpc "Zombie1_3"; + end; +} + +job_prist,21,62,0 script Zombie2_1 139,17,1,{ OnTouch: - if (BaseJob == Job_Acolyte) { - donpcevent "Zombie_Generator#prst::Onm2"; + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + donpcevent "Zombie_Generator::OnM2"; donpcevent "Zombie2_1::OnDisable"; } end; +OnInit: + hideonnpc "Zombie2_1"; + end; + OnEnable: - enablenpc "Zombie2_1"; + hideoffnpc "Zombie2_1"; + hideoffnpc "Zombie2_2"; end; OnDisable: - disablenpc "Zombie2_1"; + hideonnpc "Zombie2_1"; + hideonnpc "Zombie2_2"; end; } -job_prist,24,72,0 script Zombie3_1 -1,14,1,{ +job_prist,27,62,0 script Zombie2_2 139,1,1,{ + end; + OnInit: - disablenpc "Zombie3_1"; + hideonnpc "Zombie2_2"; end; +} + +job_prist,24,72,0 script Zombie3_1 139,14,1,{ OnTouch: - if (BaseJob == Job_Acolyte) { - donpcevent "Zombie_Generator#prst::Onm3"; + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + donpcevent "Zombie_Generator::OnM3"; donpcevent "Zombie3_1::OnDisable"; } end; +OnInit: + hideonnpc "Zombie3_1"; + end; + OnEnable: - enablenpc "Zombie3_1"; + hideoffnpc "Zombie3_1"; + hideoffnpc "Zombie3_2"; + hideoffnpc "Zombie3_3"; end; OnDisable: - disablenpc "Zombie3_1"; + hideonnpc "Zombie3_1"; + hideonnpc "Zombie3_2"; + hideonnpc "Zombie3_3"; + end; +} + +job_prist,18,72,0 script Zombie3_2 139,1,1,{ + end; + +OnInit: + hideonnpc "Zombie3_2"; end; } -job_prist,21,82,0 script Zombie4_1 -1,17,1,{ +job_prist,30,72,0 script Zombie3_3 139,1,1,{ + end; + OnInit: - disablenpc "Zombie4_1"; + hideonnpc "Zombie3_3"; end; +} + +job_prist,21,82,0 script Zombie4_1 139,17,1,{ + OnTouch: - if (BaseJob == Job_Acolyte) { - donpcevent "Zombie_Generator#prst::Onm4"; + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + donpcevent "Zombie_Generator::OnM4"; donpcevent "Zombie4_1::OnDisable"; } end; +OnInit: + hideonnpc "Zombie4_1"; + end; + OnEnable: - enablenpc "Zombie4_1"; + hideoffnpc "Zombie4_1"; + hideoffnpc "Zombie4_2"; end; OnDisable: - disablenpc "Zombie4_1"; + hideonnpc "Zombie4_1"; + hideonnpc "Zombie4_2"; + end; } -job_prist,24,92,0 script Zombie5_1 -1,14,1,{ +job_prist,27,82,0 script Zombie4_2 139,1,1,{ + end; + OnInit: - disablenpc "Zombie5_1"; + hideonnpc "Zombie4_2"; end; +} + +job_prist,24,92,0 script Zombie5_1 139,14,1,{ OnTouch: - if (BaseJob == Job_Acolyte) { - donpcevent "Zombie_Generator#prst::Onm5"; + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + donpcevent "Zombie_Generator::OnM5"; donpcevent "Zombie5_1::OnDisable"; } end; +OnInit: + hideonnpc "Zombie5_1"; + end; + OnEnable: - enablenpc "Zombie5_1"; + hideoffnpc "Zombie5_1"; + hideoffnpc "Zombie5_2"; + hideoffnpc "Zombie5_3"; end; OnDisable: - disablenpc "Zombie5_1"; + hideonnpc "Zombie5_1"; + hideonnpc "Zombie5_2"; + hideonnpc "Zombie5_3"; + end; +} + +job_prist,18,92,0 script Zombie5_2 139,1,1,{ + end; + +OnInit: + hideonnpc "Zombie5_2"; + end; +} + +job_prist,30,92,0 script Zombie5_3 139,1,1,{ + end; + +OnInit: + hideonnpc "Zombie5_3"; + end; } -job_prist,24,109,4 script prst1_1 45,3,3,{ +job_prist,24,109,0 script prst1_1 45,4,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) { + if (Class == Job_Baby_Priest || Class == Job_Priest) { warp "job_prist",168,17; - donpcevent "Zombie_Generator#prst::OnDisable"; + } + end; +} + +job_prist,24,109,0 script prst1_2 139,4,3,{ + +OnTouch: + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + warp "job_prist",168,17; + donpcevent "Zombie_Generator::OnReset"; donpcevent "Peter S. Alberto#2::OnDisable"; donpcevent "Peter S. Alberto::OnEnable"; - donpcevent "Zombie_Generator#prst::OnDisable"; + donpcevent "prst1_2::OnDisable"; + donpcevent "Zombie_Generator::OnDisable"; } end; + +OnInit: + hideonnpc "prst1_2"; + end; + +OnEnable: + hideoffnpc "prst1_2"; + end; + +OnDisable: + hideonnpc "prst1_2"; + end; } -// 3rd Test -//========================================================== -job_prist,168,45,4 script Deviruchi#prst 1109,8,1,{ +job_prist,168,45,4 script Deviruchi#prst 1928,8,1,{ + OnTouch: - if (BaseJob == Job_Priest) { + if (Class == Job_Baby_Priest || Class == Job_Priest) { mes "[Deviruchi]"; mes "Whaaaaat...?"; mes "What are you"; @@ -1347,7 +1636,7 @@ OnTouch: 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) { + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { mes "[Deviruchi]"; mes "Why..."; mes "Hello little Aco."; @@ -1378,7 +1667,6 @@ OnTouch: mes "[Deviruchi]"; mes "BWAHAHAHAHAHAH!"; mes "GET THE JOKE!?"; - close2; warp "c_tower2",168,33; end; } @@ -1428,9 +1716,10 @@ OnTouch: end; } -job_prist,168,80,4 script Doppelganger#prst 1046,8,1,{ +job_prist,168,80,4 script Doppelganger#prst 1966,8,1,{ + OnTouch: - if (BaseJob == Job_Priest) { + if (Class == Job_Baby_Priest || Class == Job_Priest) { mes "[Doppelganger]"; mes "What are you doing here? You've already made your choice, there's no going back... Priest."; next; @@ -1438,7 +1727,7 @@ OnTouch: 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) { + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { mes "[Doppelganger]"; mes "Hold on there, Acolyte."; mes "I'm not like Deviruchi,"; @@ -1473,16 +1762,16 @@ OnTouch: 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 "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"; @@ -1495,20 +1784,22 @@ OnTouch: mes "I assure you... You won't be happy at all to see me."; close; } + end; } job_prist,168,115,4 script Dark Lord#prst 1272,8,1,{ + OnTouch: - if (BaseJob == Job_Priest) { + if (Class == Job_Baby_Priest || Class == 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; + close2; } - else if (BaseClass == Job_Acolyte) { + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { mes "[Dark Lord]"; mes "^330033Halt, human."; mes "Who has granted"; @@ -1552,11 +1843,13 @@ OnTouch: mes "Mark my words...^000000"; close; } + end; } job_prist,168,150,4 script Baphomet#prst 736,8,1,{ + OnTouch: - if (BaseJob == Job_Priest) { + if (Class == Job_Baby_Priest || Class == Job_Priest) { mes "[Baphomet]"; mes "I hate"; mes "Priests..."; @@ -1565,12 +1858,12 @@ OnTouch: mes "I don't have any business with you, servant of God. Just pass through."; close; } - else if (BaseClass == Job_Acolyte) { + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { mes "[Baphomet]"; mes "Greetings."; next; mes "[Baphomet]"; - mes "..."+ strcharinfo(0) +"."; + mes "..." + strcharinfo(0) + "."; next; mes "[Baphomet]"; mes "Yes, human,"; @@ -1614,23 +1907,26 @@ OnTouch: 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; } + end; } -job_prist,168,180,4 script prst2_1 45,3,3,{ +job_prist,168,180,0 script prst2_1 45,4,3,{ + OnTouch: - if (BaseJob == Job_Priest) warp "job_prist",98,40; - else if (BaseClass == Job_Acolyte) { + if (Class == Job_Baby_Priest || Class == Job_Priest) { + warp "job_prist",98,40; + } else if (Class == Job_Baby_Acolyte || Class == 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,{ + end; + OnInit: - disablenpc "Mummy_Generator"; + hideonnpc "Mummy_Generator"; end; OnEnable: @@ -1639,244 +1935,137 @@ OnEnable: donpcevent "Mummy3_1::OnEnable"; end; -Onm1: +OnM1: monster "job_prist",90,55,"Khamoz",1041,1; monster "job_prist",105,55,"Amocsis",1041,1; end; -Onm2: +OnM2: monster "job_prist",90,70,"Mentuhoteph",1041,1; monster "job_prist",105,70,"Akenaten",1041,1; end; -Onm3: +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"; + hideonnpc "Mummy_Generator"; end; -} -job_prist,90,55,0 script Mummy1_1 -1,15,1,{ -OnInit: - disablenpc "Mummy1_1"; +OnReset: + killmonster "job_prist","Mummy_Generator::OnMyMobDead"; end; +} + +job_prist,90,55,0 script Mummy1_1 139,15,1,{ OnTouch: - if (BaseJob == Job_Acolyte) { - donpcevent "Mummy_Generator::Onm1"; + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + donpcevent "Mummy_Generator::OnM1"; donpcevent "Mummy1_1::OnDisable"; } end; +OnInit: + hideonnpc "Mummy1_1"; + end; + OnEnable: - enablenpc "Mummy1_1"; + hideoffnpc "Mummy1_1"; + hideoffnpc "Mummy1_2"; end; OnDisable: - disablenpc "Mummy1_1"; + hideonnpc "Mummy1_1"; + hideonnpc "Mummy1_2"; end; } -job_prist,90,70,0 script Mummy2_1 -1,15,1,{ +job_prist,105,55,0 script Mummy1_2 139,1,1,{ + end; + OnInit: - disablenpc "Mummy2_1"; + hideonnpc "Mummy1_2"; end; +} + +job_prist,90,70,0 script Mummy2_1 139,15,1,{ OnTouch: - if (BaseJob == Job_Acolyte) { - donpcevent "Mummy_Generator::Onm2"; + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + donpcevent "Mummy_Generator::OnM2"; donpcevent "Mummy2_1::OnDisable"; } end; +OnInit: + hideonnpc "Mummy2_1"; + end; + OnEnable: - enablenpc "Mummy2_1"; + hideoffnpc "Mummy2_1"; + hideoffnpc "Mummy2_2"; end; OnDisable: - disablenpc "Mummy2_1"; + hideonnpc "Mummy2_1"; + hideonnpc "Mummy2_2"; end; } -job_prist,90,85,0 script Mummy3_1 -1,15,1,{ +job_prist,105,70,0 script Mummy2_2 139,1,1,{ + end; + OnInit: - disablenpc "Mummy3_1"; + hideonnpc "Mummy2_2"; end; +} + +job_prist,90,85,0 script Mummy3_1 139,15,1,{ OnTouch: - if (BaseJob == Job_Acolyte) { - donpcevent "Mummy_Generator::Onm3"; + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + donpcevent "Mummy_Generator::OnM3"; donpcevent "Mummy3_1::OnDisable"; } end; +OnInit: + hideonnpc "Mummy3_1"; + end; + OnEnable: - enablenpc "Mummy3_1"; + hideoffnpc "Mummy3_1"; + hideoffnpc "Mummy3_2"; end; OnDisable: - disablenpc "Mummy3_1"; + hideonnpc "Mummy3_1"; + hideonnpc "Mummy3_2"; + end; +} + +job_prist,105,85,0 script Mummy3_2 139,1,1,{ + end; + +OnInit: + hideonnpc "Mummy3_2"; end; } -job_prist,98,105,4 script prst3_1 45,3,3,{ +job_prist,98,105,0 script prst3_1 45,4,3,{ + OnTouch: - if (BaseJob == Job_Priest) { + if (Class == Job_Baby_Priest || Class == Job_Priest) { warp "prt_church",15,36; - end; - } - else if (BaseClass == Job_Acolyte) { + } else if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + changequest 8012,8013; set PRIEST_Q,7; - if(checkquest(8012) != -1) { - changequest 8012,8013; - } warp "prt_church",16,37; + donpcevent "Mummy_Generator::OnReset"; 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; -} - +} \ No newline at end of file diff --git a/npc/jobs/2-1/wizard.txt b/npc/jobs/2-1/wizard.txt index 39cbdb204..eda277390 100644 --- a/npc/jobs/2-1/wizard.txt +++ b/npc/jobs/2-1/wizard.txt @@ -1,31 +1,17 @@ //===== rAthena Script ======================================= -//= Wizard Job Quest +// Wizard Job change Quest //===== By: ================================================== -//= (Aegis) Translated by yoshiki, converted by kobra_k88 -//= Further bugfixed and tested by Lupus +//= Masao +//= Credits: Muad_Dib //===== Current Version: ===================================== -//= 3.2 +//= 1.0 //===== Compatible With: ===================================== -//= rAthena SVN +//= Any rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job Change quest for Wizard class. +//= [Translated from the Official] +//= Job change Quest from Mage -> Wizard. //===== 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). +//= 1.0 Updated to latest available official file. [Masao] //============================================================ gef_tower,111,37,4 script Wizard Guildsman 70,{ @@ -39,20 +25,27 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ 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) + if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { + if (Class == Job_Wizard) { + if (Sex == 1) { + 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]"; mes "Well, If you intended to ask me on a date... I appreciate it...hohoho."; - else + } + else { + 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]"; mes "Well, if you fix me up with a cute guy... I'd appreciate it...hohoho!."; + } close; } - else if (BaseClass == Job_Novice) { + if (Class == Job_Baby || Class == 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."; @@ -109,7 +102,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "When I deem you're qualified, I will accept your application."; close; } - if (SkillPoint) { + if (SkillPoint != 0) { 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."; @@ -153,23 +146,23 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ 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); + set .@wizard_m1, rand(1,2); mes "[Catherine]"; mes "The items you must collect are..."; - if (rand(1)) { + if (.@wizard_m1 == 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,"; + setquest 9013; } 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,"; + setquest 9014; } mes "...is it too hard? No, any would be Wizard should be able to at least get these items."; next; @@ -188,12 +181,12 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "You have no business here, hope you don't mind, now off you go!"; close; } - else if (WIZ_Q == 1) { + 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) { + 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."; @@ -203,6 +196,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ delitem 715,10; //Yellow_Gemstone set WIZ_Q,3; changequest 9013,9015; + changequest 9014,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."; @@ -226,12 +220,12 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Don't forget this time, and bring all the items, ok?..."; close; } - else if (WIZ_Q == 2) { + 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) { + 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."; @@ -241,6 +235,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ delitem 990,5; //Boody_Red delitem 992,5; //Wind_Of_Verdure set WIZ_Q,3; + changequest 9013,9015; changequest 9014,9015; mes "[Catherine]"; mes "Good. You've passed the first test now."; @@ -266,7 +261,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Don't forget them this time and gather the correct ones, ok? See you soon..."; close; } - else if (WIZ_Q == 3) { + 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..."; @@ -276,7 +271,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "I'll be waiting, so go now."; close; } - else if (WIZ_Q == 4) { + 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?"; @@ -285,7 +280,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ 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!")) { + 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 @@ -347,6 +342,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ 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!"; + break; } next; mes "[Catherine]"; @@ -354,7 +350,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Hurry, he's waiting for you!"; close; } - else if (WIZ_Q == 5) { + 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..."; @@ -368,17 +364,18 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "He's waiting for you!"; close; } - else if (WIZ_Q == 6) { + 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) { + if (Sex == 1) { + mes "[Catherine]"; 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 "[Catherine]"; 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; @@ -392,7 +389,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "He's waiting!"; close; } - else if (WIZ_Q == 7) { + if (WIZ_Q == 7) { if (JobLevel < 40) { set WIZ_Q,0; mes "[Catherine]"; @@ -404,7 +401,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "When the time comes, I will welcome you with open arms."; close; } - if (SkillPoint) { + if (SkillPoint != 0) { 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."; @@ -417,9 +414,14 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "[Catherine]"; mes "Well, no need to wait, I congratulate you. I hearby deem you Wizard."; next; + set WIZ_Q,0; + if(Class == Job_Baby_Mage){ + jobchange Job_Baby_Wizard; + } else { + jobchange Job_Wizard; + } + set FJOB,Job_Warlock; 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."; @@ -448,21 +450,23 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ } gef_tower,102,24,2 script Gloomy Wizard 735,{ - if (BaseJob != Job_Mage) { - if (BaseJob == Job_Wizard) { + if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { + if (Class == Job_Baby_Wizard || Class == 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) { + if (Sex == 1) { + 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!"; 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 "[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!"; mes "So learn how to use magic properly, or you would just be better off giving up on using magic."; next; mes "[Raulel]"; @@ -471,7 +475,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ } close; } - else if (BaseJob == Job_Priest) { + if (Class == Job_Baby_Priest || Class == Job_Priest) { mes "[Raulel]"; mes "Go away, one who works for the Church!"; mes "Magic repels Holy power, jeez...your messing up my aura."; @@ -481,7 +485,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "Don't come any closer, just leave!"; close; } - else if (BaseClass == Job_Novice) { + if (Class == Job_Baby || Class == Job_Novice) { mes "[Raulel]"; mes "Why did a little one like you come here?!"; mes "Get lost! ~Hahahahaha"; @@ -504,7 +508,18 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "Go away! Get lost!"; close; } - else if (WIZ_Q == 1 || WIZ_Q == 2) { + if (WIZ_Q == 1) { + 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; + } + if (WIZ_Q == 2) { mes "[Raulel]"; mes "Hahahaha~ You're the one that wants to become a Wizard?!"; next; @@ -515,314 +530,533 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ 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) { + 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 "*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'."; + 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 "*sneeze* It's not too late yet, wouldn't you rather just go back to town and enjoy the peaceful life?"; + 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~"; + changequest 9015,9016; + 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!"; + next; + set .@wizard_m2,rand(1,3); + set @wizard_t,0; + mes "[Raulel]"; + mes "*Cough* *cough* Then here go the questions!"; + next; + if (.@wizard_m2 == 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 "Hahahaha~ You don't know how dangerous it is...to deal with Greater Magic."; + mes "2. Regaurdless of the previous attribute, what does the monster's attribute change to when you cast Frost Diver on it?"; 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; + if (select("Water:Earth:Fire:Wind") == 1) { + set @wizard_t, @wizard_t + 10; + } + mes "[Raulel]"; + mes "3. When you master Napalm Beat, what is the ratio of the increase in MATK using the spell?"; + next; + if (select("1.6 times:1.7 times:2 times:20 times") == 2) { + set @wizard_t, @wizard_t + 10; } 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!"; + 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 "*sneeze* Then let's begin the test!"; - mes "If you don't answer them all correctly, you fail. Hahahahahahahahaha~"; + 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 "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; + 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 the skill 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 "*Cough* *cough* Then here go the questions!"; + 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 for training in the Byalan Dungeon?"; + next; + if (select("Lightning Bolt:Fire Bolt:Cold Bolt:Sight") == 1) { + set @wizard_t, @wizard_t + 10; + } } - else if (WIZ_Q == 4) { + if (.@wizard_m2 == 2) { mes "[Raulel]"; - mes "Hahahaha~ Are you that desperate? *sneeze* What a pain in the arse..."; + mes "1. Which monster can you obtain a slotted Guard from?"; next; + if (select("Thief Bug:Peco Peco:Pupa:Kobold (Hammer)") == 3) { + set @wizard_t, @wizard_t + 10; + } mes "[Raulel]"; - mes "Since you don't want to settle for a stable and peaceful life, I'll give you another chance..."; + 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 "If you miss one single question, then just give up. You wouldn't have any talent in being a Wizard! ~Hahahahaha"; + mes "3. Which monster will not be affected by Stone Curse?"; 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; + if (select("Elder Willow:Evil Druid:Magnolia:Marc") == 2) { + set @wizard_t, @wizard_t + 10; } 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."; + 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 "Then let's begin the test!"; + 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 monsters 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 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; + } + } + else { + 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 the 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]"; + 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; - switch(rand(1,3)) { - case 1: + 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; + } + 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; + } + 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; + } + 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.")) { + 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!"; + mes "If you don't answer all of them correctly, you fail... ~Hahahahahha"; + next; + mes "[Raulel]"; + mes "I'll give you 10 questions so give me the correct answers."; + mes "If you get something wrong, I won't tell you what it is!"; + next; + set .@wizard_m2,rand(1,3); + set @wizard_t,0; + mes "[Raulel]"; + mes "*Cough* *cough* Then here go the questions."; + next; + if (.@wizard_m2 == 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; + 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?"; + mes "2. Regaurdless of the 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; + 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?"; + mes "3. When you master Napalm Beat, what is the ratio of the increase in MATK using the spell?"; next; - if (select("1.6 times:1.7 times:2 times:20 times") == 2) - set .@wizard_t,.@wizard_t+10; + 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; + 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; + 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; + 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?"; + mes "7. Using the skill 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; + 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?"; + 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; + 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; + 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?"; + mes "10. Which skill is most useful for 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: + if (select("Lightning Bolt:Fire Bolt:Cold Bolt:Sight") == 1) { + set @wizard_t, @wizard_t + 10; + } + } + if (.@wizard_m2 == 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; + if (select("Thief Bug:Peco Peco: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; + 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; + 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; + 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; + 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; + 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; + 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?"; + mes "8. Which of the following monsters has the highest defense?"; next; - if (select("Horn:Chonchon:Andre:Caramel") == 4) - set .@wizard_t,.@wizard_t+10; + 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."; + mes "9. Choose the monster that's a different species."; next; - if (select("Poring:Mastering:Ghostring:Spore") == 3) - set .@wizard_t,.@wizard_t+10; + 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: + if (select("Drake:Megalodon:Deviace:Khalitzburg") == 3) { + set @wizard_t, @wizard_t + 10; + } + } + else { 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; + 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; + 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; + 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?"; + mes "4. Which town is the home of the Mages?"; next; - if (select("Prontera:Morroc:Alberta:Geffen") == 4) - set .@wizard_t,.@wizard_t+10; + 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; + 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; + 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; + 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; + 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; + 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; + if (select("Marduk Card:Magnolia Card:Willow Card:Maya Card") == 2) { + set @wizard_t, @wizard_t + 10; } } - mes "Hmmm...Good job, you finished answering all the questions, go buy yourself some potions or something, thats IF you have the Zeny. Hahahahahahahah~"; + mes "[Raulel]"; + 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; + mes "Your score is... " + @wizard_t + "points....."; + if (@wizard_t == 100) { changequest 9016,9017; - mes "*cough* *Cough* Well done, you passed the second test."; + set WIZ_Q,5; + 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 "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~"; + 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) { + 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."; + 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 "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~"; + 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 { - 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."; + 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 "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!"; + 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; } + 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; } - else if (WIZ_Q == 5) { + if (WIZ_Q == 5) { mes "[Raulel]"; mes "Ok, hope you got plenty of rest. Hahahahahah~"; mes "Then let's begin the last test."; @@ -886,7 +1120,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ warp "geffen",120,110; end; } - else if (WIZ_Q == 6) { + if (WIZ_Q == 6) { if (WIZ_Q2 == 6) { mes "[Raulel]"; mes "Hahahahahaha~ I've never seen anyone so...sooo...*sneeze* tenacious as you."; @@ -904,7 +1138,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ warp "job_wiz",57,154; end; } - else if (WIZ_Q2 > 6) { + 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?"; @@ -926,12 +1160,14 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ next; set WIZ_Q2,0; set WIZ_Q,7; + changequest 9017,9018; 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; } } + set @wizard_t,0; 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?"; @@ -946,38 +1182,43 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ 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; + 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; + 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; + 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; + 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; + 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 "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) { + else if (@wizard_t == 80) { mes "Eh, soso..."; mes "I'll let you retake the test."; next; @@ -1042,7 +1283,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ warp "geffen",120,110; end; } - else if (WIZ_Q == 7) { + 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~"; @@ -1069,61 +1310,60 @@ job_wiz,50,165,4 script Arena Assistant 700,{ close; } -job_wiz,50,165,4 script Waiting Room#wiz 700,{ +job_wiz,50,165,2 script Waiting Room#wzrd 111,{ + end; + 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: +OnEnable: enablewaitingroomevent; end; } -// Water Room (Test 2 part 1) -//========================================================== job_wiz,1,1,1 script Room of Water 66,{ + end; + OnInit: - disablenpc "Room of Water"; + hideonnpc "Room of Water"; end; OnEnable: - enablenpc "Room of Water"; - if (!checkre(0)) { - set .MyMobs,8; - monster "job_wiz",129,170,"Obeaune",1044,1,"Room of Water::OnMyMobDead"; - } - else - set .MyMobs,7; + hideoffnpc "Room of Water"; 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",118,174,"Clam",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"; + if(!checkre(0)){ + monster "job_wiz",129,170,"Obeaune",1044,1,"Room of Water::OnMyMobDead"; + } initnpctimer; end; +OnReset: + killmonster "job_wiz","Room of Water::OnMyMobDead"; + end; + OnDisable: - killmonsterall "job_wiz"; - disablenpc "Room of Water"; + hideonnpc "Room of Water"; end; OnMyMobDead: - set .MyMobs,.MyMobs-1; - if (.MyMobs < 1) { + if (mobcount ("job_wiz","Room of Water::OnMyMobDead") < 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"; + mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map; + donpcevent "Room of Water#DK::OnEnable"; stopnpctimer; } end; @@ -1166,11 +1406,11 @@ OnTimer173000: OnTimer183000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Water::OnDisable"; + donpcevent "Room of Water::OnReset"; end; OnTimer184000: - enablenpc "Room of Water#Failed"; + donpcevent "Room of Water#Failed::OnEnable"; end; OnTimer185000: @@ -1178,41 +1418,45 @@ OnTimer185000: end; OnTimer186000: - disablenpc "Room of Water#Failed"; + donpcevent "Room of Water#Failed::OnDisable"; donpcevent "Room of Water::OnDisable"; - donpcevent "Waiting Room#wiz::OnStart"; + donpcevent "Waiting Room::OnEnable"; end; } -job_wiz,1,2,1 script Room of Water#Door 66,{ +job_wiz,1,2,1 script Room of Water#DK 66,{ + end; + OnInit: - disablenpc "Room of Water#Door"; + hideonnpc "Room of Water#DK"; end; OnEnable: - enablenpc "Room of Water#Door"; + hideoffnpc "Room of Water#DK"; + donpcevent "Room of Water::OnReset"; 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"; + monster "job_wiz",114,169,"Marine Sphere",1142,1,"Room of Water#DK::OnMyMobDead"; + monster "job_wiz",112,169,"Hydra",1068,1,"Room of Water#DK::OnMyMobDead"; + monster "job_wiz",116,169,"Hydra",1068,1,"Room of Water#DK::OnMyMobDead"; + monster "job_wiz",114,171,"Hydra",1068,1,"Room of Water#DK::OnMyMobDead"; + monster "job_wiz",114,167,"Hydra",1068,1,"Room of Water#DK::OnMyMobDead"; initnpctimer; end; +OnReset: + killmonster "job_wiz","Room of Water#DK::OnMyMobDead"; + end; + OnDisable: - killmonsterall "job_wiz"; - disablenpc "Room of Water#Door"; + hideonnpc "Room of Water#DK"; 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; + if (mobcount ("job_wiz","Room of Water#DK::OnMyMobDead") < 1) { + mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map; warp "job_wiz",116,97; - donpcevent "Room of Water#Door::OnDisable"; + donpcevent "Room of Water#DK::OnReset"; + donpcevent "Room of Water#DK::OnDisable"; donpcevent "Room of Earth::OnEnable"; stopnpctimer; } @@ -1232,11 +1476,11 @@ OnTimer50000: OnTimer60000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Water#Door::OnDisable"; + donpcevent "Room of Water#DK::OnReset"; end; OnTimer61000: - enablenpc "Room of Water#Failed"; + donpcevent "Room of Water#Failed::OnEnable"; end; OnTimer62000: @@ -1244,43 +1488,50 @@ OnTimer62000: end; OnTimer63000: - disablenpc "Room of Water#Failed"; - donpcevent "Room of Water#Door::OnDisable"; - donpcevent "Waiting Room#wiz::OnStart"; + donpcevent "Room of Water#Failed::OnDisable"; + donpcevent "Room of Water#DK::OnDisable"; + donpcevent "Waiting Room::OnEnable"; end; } -job_wiz,114,169,0 script Room of Water#Failed -1,16,16,{ -OnInit: - disablenpc "Room of Water#Failed"; - end; +job_wiz,114,169,0 script Room of Water#Failed 139,16,16,{ OnTouch: - mapannounce "job_wiz",strcharinfo(0)+" has not succeeded.",bc_map; + mapannounce "job_wiz","" + strcharinfo(0) + " has not succeeded.",bc_map; warp "geffen",120,110; end; + +OnInit: + hideonnpc "Room of Water#Failed"; + end; + +OnEnable: + hideoffnpc "Room of Water#Failed"; + end; + +OnDisable: + hideonnpc "Room of Water#Failed"; + end; } -// Earth Room (Test 2 part 2) -//========================================================== -job_wiz,1,3,1 script Room of Earth 66,{ +job_wiz,1,3,1 script Room of Earth 66,1,1,{ + end; + OnInit: - disablenpc "Room of Earth"; + hideonnpc "Room of Earth"; end; OnEnable: - enablenpc "Room of Earth"; - if (!checkre(0)) { - set .MyMobs,10; + hideoffnpc "Room of Earth"; + percentheal 100,100; + 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"; + if (!checkre(0)){ monster "job_wiz",120,102,"Hode",1127,1,"Room of Earth::OnMyMobDead"; monster "job_wiz",111,93,"Savage",1166,1,"Room of Earth::OnMyMobDead"; monster "job_wiz",127,86,"Mantis",1139,1,"Room of Earth::OnMyMobDead"; } - else - 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"; @@ -1288,16 +1539,18 @@ OnEnable: initnpctimer; end; +OnReset: + killmonster "job_wiz","Room of Earth::OnMyMobDead"; + end; + OnDisable: - killmonsterall "job_wiz"; - disablenpc "Room of Earth"; + hideonnpc "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"; + if (mobcount ("job_wiz","Room of Earth::OnMyMobDead") < 1) { + mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map; + donpcevent "Room of Earth#DK::OnEnable"; stopnpctimer; } end; @@ -1340,11 +1593,11 @@ OnTimer173000: OnTimer183000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Earth::OnDisable"; + donpcevent "Room of Earth::OnReset"; end; OnTimer184000: - enablenpc "Room of Earth#Failed"; + donpcevent "Room of Earth#Failed::OnEnable"; end; OnTimer185000: @@ -1352,47 +1605,50 @@ OnTimer185000: end; OnTimer186000: - disablenpc "Room of Earth#Failed"; + donpcevent "Room of Earth#Failed::OnDisable"; donpcevent "Room of Earth::OnDisable"; - donpcevent "Waiting Room#wiz::OnStart"; + donpcevent "Waiting Room::OnEnable"; end; } -job_wiz,1,4,1 script Room of Earth#Door 66,{ +job_wiz,1,4,1 script Room of Earth#DK 66,{ + end; + OnInit: - disablenpc "Room of Earth#Door"; + hideonnpc "Room of Earth#DK"; end; OnEnable: - enablenpc "Room of Earth#Door"; + hideoffnpc "Room of Earth#DK"; + donpcevent "Room of Earth::OnReset"; donpcevent "Room of Earth::OnDisable"; - if (!checkre(0)) { - set .MyMobs,7; - monster "job_wiz",116,97,"Flora",1118,1,"Room of Earth#Door::OnMyMobDead"; + if (!checkre(0)){ + monster "job_wiz",116,97,"Flora",1118,1,"Room of Earth#DK::OnMyMobDead"; } - else - 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"; + monster "job_wiz",114,95,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; + monster "job_wiz",118,95,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; + monster "job_wiz",114,99,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; + monster "job_wiz",118,99,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; + monster "job_wiz",116,94,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; + monster "job_wiz",116,100,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; initnpctimer; end; +OnReset: + killmonster "job_wiz","Room of Earth#DK::OnMyMobDead"; + end; + OnDisable: - killmonsterall "job_wiz"; - disablenpc "Room of Earth#Door"; + hideonnpc "Room of Earth#DK"; end; OnMyMobDead: - set .MyMobs,.MyMobs-1; - if (.MyMobs < 1) { - mapannounce "job_wiz",strcharinfo(0) + " has succeeded in eliminating the monster.",bc_map; + if (mobcount ("job_wiz","Room of Earth#DK::OnMyMobDead") < 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 Earth#DK::OnReset"; + donpcevent "Room of Earth#DK::OnDisable"; donpcevent "Room of Fire::OnEnable"; stopnpctimer; } @@ -1412,7 +1668,7 @@ OnTimer50000: OnTimer60000: mapannounce "job_wiz","End time.",bc_map; - donpcevent "Room of Earth#Door::OnDisable"; + donpcevent "Room of Earth#DK::OnReset"; end; OnTimer61000: @@ -1424,58 +1680,67 @@ OnTimer62000: end; OnTimer63000: - disablenpc "Room of Earth#Failed"; - donpcevent "Room of Earth#Door::OnDisable"; - donpcevent "Waiting Room#wiz::OnStart"; + donpcevent "Room of Earth#Failed::OnDisable"; + donpcevent "Room of Earth#DK::OnDisable"; + donpcevent "Waiting Room::OnEnable"; end; } -job_wiz,116,97,0 script Room of Earth#Failed -1,16,16,{ -OnInit: - disablenpc "Room of Earth#Failed"; - end; +job_wiz,116,97,0 script Room of Earth#Failed 139,16,16,{ OnTouch: - mapannounce "job_wiz",strcharinfo(0) + " has not succeeded.",bc_map; + mapannounce "job_wiz","" + strcharinfo(0) + " has not succeeded.",bc_map; warp "geffen",120,110; end; + +OnInit: + hideonnpc "Room of Earth#Failed"; + end; + +OnEnable: + hideoffnpc "Room of Earth#Failed"; + end; + +OnDisable: + hideonnpc "Room of Earth#Failed"; + end; } -// Fire Room (Test 2 part 3) -//========================================================== job_wiz,1,5,1 script Room of Fire 66,{ + end; + OnInit: - disablenpc "Room of Fire"; + hideonnpc "Room of Fire"; end; OnEnable: - enablenpc "Room of Fire"; - if (!checkre(0)) { - set .MyMobs,8; + hideoffnpc "Room of Fire"; + percentheal 100,100; + if (!checkre(0)){ monster "job_wiz",58,110,"Zerom",1178,1,"Room of Fire::OnMyMobDead"; monster "job_wiz",54,89,"Desert Wolf",1106,1,"Room of Fire::OnMyMobDead"; } - else - 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",40,92,"Peco Peco",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; +OnReset: + killmonster "job_wiz","Room of Fire::OnMyMobDead"; + end; + OnDisable: - killmonsterall "job_wiz"; - disablenpc "Room of Fire"; + hideonnpc "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"; + if (mobcount ("job_wiz","Room of Fire::OnMyMobDead") < 1) { + mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map; + donpcevent "Room of Fire#Door Keeper::OnEnable"; stopnpctimer; } end; @@ -1518,7 +1783,7 @@ OnTimer173000: OnTimer183000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Fire::OnDisable"; + donpcevent "Room of Fire::OnReset"; end; OnTimer184000: @@ -1530,46 +1795,47 @@ OnTimer185000: end; OnTimer186000: - disablenpc "Room of Fire#Failed"; + donpcevent "Room of Fire#Failed::OnDisable"; donpcevent "Room of Fire::OnDisable"; - donpcevent "Waiting Room#wiz::OnStart"; + donpcevent "Waiting Room::OnEnable"; end; } -job_wiz,1,6,1 script Room of Fire#Door 66,{ +job_wiz,1,6,1 script Room of Fire#Door Keeper 66,{ + end; + OnInit: - disablenpc "Room of Fire#Door"; + hideonnpc "Room of Fire#Door Keeper"; end; OnEnable: - enablenpc "Room of Fire#Door"; + hideoffnpc "Room of Fire#Door Keeper"; + donpcevent "Room of Fire::OnReset"; donpcevent "Room of Fire::OnDisable"; - set .MyMobs,3; - monster "job_wiz",44,99,"Greatest General",1277,1,"Room of Fire#Door::OnMyMobDead"; - if (checkre(0)) { - 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"; - } - else { - monster "job_wiz",43,99,"Horong",1129,1,"Room of Fire#Door::OnMyMobDead"; - monster "job_wiz",45,99,"Horong",1129,1,"Room of Fire#Door::OnMyMobDead"; + if (checkre(0)){ + monster "job_wiz",44,99,"Greatest General",1277,1,"Room of Fire#Door Keeper::OnMyMobDead"; } + monster "job_wiz",43,99,"Horong",1129,1,"Room of Fire#Door Keeper::OnMyMobDead"; + monster "job_wiz",45,99,"Horong",1129,1,"Room of Fire#Door Keeper::OnMyMobDead"; initnpctimer; end; +OnReset: + killmonster "job_wiz","Room of Fire#Door Keeper::OnMyMobDead"; + end; + OnDisable: - killmonsterall "job_wiz"; - disablenpc "Room of Fire#Door"; + hideonnpc "Room of Fire#Door Keeper"; end; OnMyMobDead: - set .MyMobs,.MyMobs-1; - if (.MyMobs < 1) { + if (mobcount ("job_wiz","Room of Fire#Door Keeper::OnMyMobDead") < 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"; + donpcevent "Room of Fire#Door Keeper::OnReset"; + donpcevent "Room of Fire#Door Keeper::OnDisable"; + donpcevent "Test Helper::OnEnable"; stopnpctimer; } end; @@ -1596,11 +1862,11 @@ OnTimer110000: OnTimer120000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Fire#Door::OnDisable"; + donpcevent "Room of Fire#Door Keeper::OnReset"; end; OnTimer121000: - enablenpc "Room of Fire#Failed"; + donpcevent "Room of Fire#Failed::OnEnable"; end; OnTimer122000: @@ -1608,26 +1874,57 @@ OnTimer122000: end; OnTimer123000: - disablenpc "Room of Fire#Failed"; - donpcevent "Room of Fire#Door::OnDisable"; - donpcevent "Waiting Room#wiz::OnStart"; + donpcevent "Room of Fire#Failed::OnDisable"; + donpcevent "Room of Fire#Door Keeper::OnDisable"; + donpcevent "Waiting Room::OnEnable"; + end; } -job_wiz,46,99,0 script Room of Fire#Failed -1,16,16,{ +job_wiz,46,99,0 script Room of Fire#Failed 139,16,16,{ + end; + OnInit: - disablenpc "Room of Fire#Failed"; + hideonnpc "Room of Fire#Failed"; end; OnTouch: warp "geffen",120,110; end; + +OnEnable: + hideoffnpc "Room of Fire#Failed"; + end; + +OnDisable: + hideonnpc "Room of Fire#Failed"; + end; } -job_wiz,1,7,1 script Test Helper#wiz 66,{ +job_wiz,46,99,0 script Succeed 139,16,16,{ end; OnInit: - disablenpc "Test Helper#wiz"; + hideonnpc "Succeed"; + end; + +OnTouch: + warp "gef_tower",110,30; + end; + +OnEnable: + hideoffnpc "Succeed"; + end; + +OnDisable: + hideonnpc "Succeed"; + end; +} + +job_wiz,1,7,1 script Test Helper 66,1,1,{ + end; + +OnInit: + hideonnpc "Test Helper"; end; OnEnable: @@ -1635,7 +1932,7 @@ OnEnable: end; OnDisable: - disablenpc "Test Helper#wiz"; + hideonnpc "Test Helper"; end; OnTimer2000: @@ -1647,7 +1944,11 @@ OnTimer4000: end; OnTimer5000: - areawarp "job_wiz",33,82,57,113,"gef_tower",110,30; + donpcevent "Succeed::OnEnable"; + end; + +OnTimer6000: + donpcevent "Succeed::OnDisable"; end; OnTimer7000: @@ -1655,25 +1956,25 @@ OnTimer7000: end; OnTimer9000: - donpcevent "Test Helper#wiz::OnDisable"; - donpcevent "Waiting Room#wiz::OnStart"; + donpcevent "Test Helper::OnDisable"; + donpcevent "Waiting Room::OnEnable"; stopnpctimer; end; } -gef_tower,107,36,4 script White Dog#wiz 81,{ - if (BaseJob != Job_Mage) { - if (BaseJob == Job_Wizard) { +gef_tower,107,36,4 script White Dog 81,{ + if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { + if (Class == Job_Baby_Wizard || Class == 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; + cutin "",255; end; } - else if (BaseClass == Job_Novice) { + if (Class == Job_Baby || Class == Job_Novice) { mes "[Dog]"; mes "What? Kiddo!"; mes "Is a Dog talking so amusing to you?"; @@ -1689,7 +1990,7 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ mes "*Bark* Get lost!"; mes "I don't have time for people like you!"; close2; - cutin "job_wizard_maria02",255; + cutin "",255; end; } if (WIZ_Q == 0) { @@ -1703,7 +2004,7 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ 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...")) { + 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?!"; @@ -1764,7 +2065,7 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ 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...")) { + switch (select("Yes, please! I would like that.:No, it's ok.:A talking dog...")) { case 1: cutin "job_wizard_maria01",2; mes "[Maria]"; @@ -1799,16 +2100,11 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ 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; + close; case 2: mes "[Maria]"; mes "Really? Ok, then go apply and do your best."; - close2; - cutin "job_wizard_maria01",255; - end; + close; case 3: cutin "job_wizard_maria02",2; mes "[Maria]"; @@ -1817,12 +2113,12 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ mes "[Maria]"; mes "Dang it! I hope you FAIL!! Go get lost!!"; close2; - cutin "job_wizard_maria01",255; + cutin "",255; warp "gef_dun00",116,102; end; } } - else if (WIZ_Q == 1) { + if (WIZ_Q == 1) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "You seem lost..."; @@ -1842,7 +2138,7 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ 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."; + mes "Condors, Pickies, and sometimes monsters like Golems drop them."; next; mes "[Maria]"; mes "And...*woof* to get Blue Gemstones. Try going to the Byalan Dungeons."; @@ -1856,10 +2152,10 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ mes "Anyways, try your best."; mes "This is the basics of being a Wizard."; close2; - cutin "job_wizard_maria01",255; + cutin "",255; end; } - else if (WIZ_Q == 2) { + if (WIZ_Q == 2) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "You seem lost..."; @@ -1893,19 +2189,19 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ mes "But anyways, always try your best."; mes "It's the basics of being a Wizard."; close2; - cutin "job_wizard_maria01",255; + cutin "",255; end; } - else if (WIZ_Q == 3) { + 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; + cutin "",255; end; } - else if (WIZ_Q == 4) { + if (WIZ_Q == 4) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "ZzzzZzzzZzzz..."; @@ -1914,10 +2210,10 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ mes "[Maria]"; mes "*wimper*...Blizadris...you suck...Zzz..."; close2; - cutin "job_wizard_maria02",255; + cutin "",255; end; } - else if (WIZ_Q == 5) { + if (WIZ_Q == 5) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "Oh, you're doing well aren't you?"; @@ -1926,10 +2222,10 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ mes "Well, try your best to the very end."; mes "Laurel is waiting."; close2; - cutin "job_wizard_maria01",255; + cutin "",255; end; } - else if (WIZ_Q == 6) { + if (WIZ_Q == 6) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "*BARK*...you gave up?"; @@ -1947,10 +2243,10 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ 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; + cutin "",255; end; } - else if (WIZ_Q == 7) { + 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*"; @@ -1959,27 +2255,7 @@ gef_tower,107,36,4 script White Dog#wiz 81,{ mes "[Maria]"; mes "Congratulations. Always give your best at everything, no matter what."; close2; - cutin "job_wizard_maria01",255; + cutin "",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] +} \ No newline at end of file diff --git a/npc/jobs/2-1a/AssassinCross.txt b/npc/jobs/2-1a/AssassinCross.txt index 0776825fb..ae3f68db5 100644 --- a/npc/jobs/2-1a/AssassinCross.txt +++ b/npc/jobs/2-1a/AssassinCross.txt @@ -16,7 +16,7 @@ //============================================================ valkyrie,44,58,5 script Assassin Cross#Valkyrie 725,{ - if (ADVJOB == 0 || Upper != 1) { + if (FJOB == 0 || Upper != 1) { set .@karma_d,rand(1,10); if (.@karma_d > 4) { mes "[Assassin Cross]"; @@ -43,7 +43,7 @@ valkyrie,44,58,5 script Assassin Cross#Valkyrie 725,{ mes "Nobody..."; close; } - else if (ADVJOB == Job_Assassin_Cross && Class == Job_Thief_High && JobLevel > 39) { + if ((FJOB == Job_Guillotine_Cross) && (Class == Job_Thief_High) && (JobLevel > 39)) { mes "[Assassin Cross]"; mes "The time has come."; mes "The world needs you..."; @@ -79,7 +79,7 @@ valkyrie,44,58,5 script Assassin Cross#Valkyrie 725,{ close; } jobchange Job_Assassin_Cross; - set ADVJOB,0; + set FJOB,0; mes "[Assassin Cross]"; mes "Congratulations."; mes "As an Assassin Cross,"; @@ -97,4 +97,4 @@ valkyrie,44,58,5 script Assassin Cross#Valkyrie 725,{ mes "while you are here."; mes "Honor to the warriors."; close; -} +} \ No newline at end of file diff --git a/npc/jobs/2-1a/HighPriest.txt b/npc/jobs/2-1a/HighPriest.txt index ae96a122e..f1d38802d 100644 --- a/npc/jobs/2-1a/HighPriest.txt +++ b/npc/jobs/2-1a/HighPriest.txt @@ -16,7 +16,7 @@ //============================================================ valkyrie,44,42,5 script High Priest#Valkyrie 60,{ - if (ADVJOB == 0 || Upper != 1) { + if (FJOB == 0 || Upper != 1) { set .@karma_d,rand(1,10); if (.@karma_d > 4) { mes "[High Priest]"; @@ -32,7 +32,7 @@ valkyrie,44,42,5 script High Priest#Valkyrie 60,{ mes "us from the forces of evil..."; close; } - else if (ADVJOB == Job_High_Priest && Class == Job_Acolyte_High && JobLevel > 39) { + if ((FJOB == Job_Arch_Bishop) && (Class == Job_Acolyte_High) && (JobLevel > 39)) { mes "[High Priest]"; mes "Our world is in"; mes "need of people of"; @@ -59,7 +59,7 @@ valkyrie,44,42,5 script High Priest#Valkyrie 60,{ close; } jobchange Job_High_Priest; - set ADVJOB,0; + set FJOB,0; mes "[High Priest]"; mes "Congratulations."; mes "As a High Priest,"; @@ -79,4 +79,4 @@ valkyrie,44,42,5 script High Priest#Valkyrie 60,{ mes "while you are here."; mes "Honor to the warriors!"; close; -} +} \ No newline at end of file diff --git a/npc/jobs/2-1a/HighWizard.txt b/npc/jobs/2-1a/HighWizard.txt index 58f1bfce8..3ba1a57d9 100644 --- a/npc/jobs/2-1a/HighWizard.txt +++ b/npc/jobs/2-1a/HighWizard.txt @@ -16,7 +16,7 @@ //============================================================ valkyrie,44,47,5 script High Wizard#Valkyrie 735,{ - if (ADVJOB == 0 || Upper != 1) { + if (FJOB == 0 || Upper != 1) { set .@karma_d,rand(1,10); if (.@karma_d > 4) { mes "[High Wizard]"; @@ -38,7 +38,7 @@ valkyrie,44,47,5 script High Wizard#Valkyrie 735,{ mes "was placed in the wrong hands?!"; close; } - else if (ADVJOB == Job_High_Wizard && Class == Job_Mage_High && JobLevel > 39) { + if ((FJOB == Job_Warlock) && (Class == Job_Mage_High) && (JobLevel > 39)) { mes "[High Wizard]"; mes "It is time."; mes "And Rune-Midgard has"; @@ -62,8 +62,8 @@ valkyrie,44,47,5 script High Wizard#Valkyrie 735,{ mes "all of your remaining Skill Points before returning to me."; close; } - jobchange Job_high_Wizard; - set ADVJOB,0; + jobchange Job_High_Wizard; + set FJOB,0; mes "[High Wizard]"; mes "Congratulations."; mes "As a High Wizard,"; @@ -83,4 +83,4 @@ valkyrie,44,47,5 script High Wizard#Valkyrie 735,{ mes "while you are here."; mes "Honor to the warriors!"; close; -} +} \ No newline at end of file diff --git a/npc/jobs/2-1a/LordKnight.txt b/npc/jobs/2-1a/LordKnight.txt index ba998483e..7ed54ba3e 100644 --- a/npc/jobs/2-1a/LordKnight.txt +++ b/npc/jobs/2-1a/LordKnight.txt @@ -16,7 +16,7 @@ //============================================================ valkyrie,44,39,5 script Lord Knight#Valkyrie 56,{ - if (ADVJOB == 0 || Upper != 1) { + if (FJOB == 0 || Upper != 1) { set .@karma_d,rand(1,10); if (.@karma_d > 4) { mes "[Lord Knight]"; @@ -36,7 +36,7 @@ valkyrie,44,39,5 script Lord Knight#Valkyrie 56,{ mes "well being of our comrades."; close; } - else if (ADVJOB == Job_Lord_Knight && Class == Job_Swordman_High && JobLevel > 39) { + if ((FJOB == Job_Rune_Knight) && (Class == Job_Swordman_High) && (JobLevel > 39)) { mes "[Lord Knight]"; mes "Your time has come!"; mes "The world still needs you."; @@ -61,7 +61,7 @@ valkyrie,44,39,5 script Lord Knight#Valkyrie 56,{ close; } jobchange Job_Lord_Knight; - set ADVJOB,0; + set FJOB,0; mes "[Lord Knight]"; mes "Congratulations!"; mes "As a Lord Knight,"; @@ -81,4 +81,4 @@ valkyrie,44,39,5 script Lord Knight#Valkyrie 56,{ mes "while you are here."; mes "Honor to the warriors!"; close; -} +} \ No newline at end of file diff --git a/npc/jobs/2-1a/Sniper.txt b/npc/jobs/2-1a/Sniper.txt index cf5f4881e..f5898ad87 100644 --- a/npc/jobs/2-1a/Sniper.txt +++ b/npc/jobs/2-1a/Sniper.txt @@ -16,7 +16,7 @@ //============================================================ valkyrie,44,55,5 script Sniper#Valkyrie 727,{ - if (ADVJOB == 0 || Upper != 1) { + if (FJOB == 0 || Upper != 1) { set .@karma_d,rand(1,10); if (.@karma_d > 4) { mes "[Sniper]"; @@ -33,7 +33,7 @@ valkyrie,44,55,5 script Sniper#Valkyrie 727,{ mes "of battling."; close; } - else if (ADVJOB == Job_Sniper && Class == Job_Archer_High && JobLevel > 39) { + if ((FJOB == Job_Ranger) && (Class == Job_Archer_High) && (JobLevel > 39)) { mes "[Sniper]"; mes "The world is in"; mes "need of mighty Bowmen"; @@ -59,7 +59,7 @@ valkyrie,44,55,5 script Sniper#Valkyrie 727,{ close; } jobchange Job_Sniper; - set ADVJOB,0; + set FJOB,0; mes "[Sniper]"; mes "Congratulations!"; mes "As a Sniper, I hope"; @@ -80,4 +80,4 @@ valkyrie,44,55,5 script Sniper#Valkyrie 727,{ mes "while you are here."; mes "Honor to the warriors!"; close; -} +} \ No newline at end of file diff --git a/npc/jobs/2-1a/WhiteSmith.txt b/npc/jobs/2-1a/WhiteSmith.txt index 42ac6164b..efc2fca35 100644 --- a/npc/jobs/2-1a/WhiteSmith.txt +++ b/npc/jobs/2-1a/WhiteSmith.txt @@ -16,7 +16,7 @@ //============================================================ valkyrie,44,50,5 script MasterSmith#Valkyrie 731,{ - if (ADVJOB == 0 || Upper != 1) { + if (FJOB == 0 || Upper != 1) { set .@karma_d,rand(1,10); if (.@karma_d > 4) { mes "[MasterSmith]"; @@ -40,7 +40,7 @@ valkyrie,44,50,5 script MasterSmith#Valkyrie 731,{ mes "crafting..."; close; } - else if (ADVJOB == Job_WhiteSmith && Class == Job_Merchant_High && JobLevel > 39) { + if ((FJOB == Job_Mechanic) && (Class == Job_Merchant_High) && (JobLevel > 39)) { mes "[MasterSmith]"; mes "The time has come!"; mes "Our world needs brave,"; @@ -65,7 +65,7 @@ valkyrie,44,50,5 script MasterSmith#Valkyrie 731,{ close; } jobchange Job_Whitesmith; - set ADVJOB,0; + set FJOB,0; mes "[MasterSmith]"; mes "Congratulations!"; mes "As a MasterSmith,"; @@ -85,4 +85,4 @@ valkyrie,44,50,5 script MasterSmith#Valkyrie 731,{ mes "while you are here."; mes "Honor to the warriors!"; close; -} +} \ No newline at end of file diff --git a/npc/jobs/2-2/alchemist.txt b/npc/jobs/2-2/alchemist.txt index fd0f077f5..f4af70e25 100644 --- a/npc/jobs/2-2/alchemist.txt +++ b/npc/jobs/2-2/alchemist.txt @@ -1,27 +1,22 @@ //===== rAthena Script ======================================= -//= Alchemist Job Quest -//===== By: ================================================== -//= nestor_zulueta (Fusion), converted by Darkchild +// Alchemist Job change Quest +//===== By: ================================================== +//= Masao +//= Credits: Muad_Dib //===== Current Version: ===================================== -//= 3.0 +//= 1.0 //===== Compatible With: ===================================== -//= rAthena SVN +//= Any rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job quest for Alchemist classes +//= [Translated from the Official] +//= Job change Quest from Merchant -> Alchemist. //===== 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] +//= 1.0 Updated to latest available official file. [Masao] //============================================================ -alde_alche,27,185,5 script Alchemist Guildsman#am 744,{ - mes "[Parmy Gianino]"; +alde_alche,27,185,5 script Alchemist Guildsman 744,{ if (Upper == 1) { + mes "[Parmy Gianino]"; mes "Welcome to the"; mes "Alchemist Unio--"; mes "I-Impossible! How c-can"; @@ -36,8 +31,9 @@ alde_alche,27,185,5 script Alchemist Guildsman#am 744,{ mes "feeling about you..."; close; } - if (BaseJob != Job_Merchant) { - if (BaseJob == Job_Alchemist) { + if ((Class != Job_Baby_Merchant) && (Class != Job_Merchant)) { + if (Class == Job_Baby_Alchemist || Class == Job_Alchemist) { + mes "[Parmy Gianino]"; mes "Welcome, " + strcharinfo(0) + "."; mes "The Alchemist Union"; mes "is busy today, like always."; @@ -50,7 +46,8 @@ alde_alche,27,185,5 script Alchemist Guildsman#am 744,{ 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) { + if (Class == Job_Baby || Class == Job_Novice) { + mes "[Parmy Gianino]"; mes "Welcome to the"; mes "Alchemist Union."; mes "We are recruiting"; @@ -67,6 +64,7 @@ alde_alche,27,185,5 script Alchemist Guildsman#am 744,{ mes "as a Merchant first."; close; } + mes "[Parmy Gianino]"; mes "Welcome to the"; mes "Alchemist Union."; mes "We are recruiting"; @@ -78,11 +76,12 @@ alde_alche,27,185,5 script Alchemist Guildsman#am 744,{ close; } if (ALCH_Q == 0) { + mes "[Parmy Gianino]"; 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.")) { + 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."; @@ -165,7 +164,7 @@ alde_alche,27,185,5 script Alchemist Guildsman#am 744,{ mes "Please sign"; mes "the application."; next; - select(strcharinfo(0)); + menu "",-; 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."; @@ -177,23 +176,21 @@ alde_alche,27,185,5 script Alchemist Guildsman#am 744,{ mes "Come back to me when you have 50,000 Zeny, otherwise we can't process your application."; close; } - set zeny,zeny-50000; + set Zeny, Zeny - 50000; mes "[Parmy Gianino]"; mes "Let's see."; - mes "" + strcharinfo(0); + mes "" + strcharinfo(0) + ""; mes "needs to bring..."; - switch(rand(1,3)) { - case 1: + set .@alche_m1, rand(1,3); + if (.@alche_m1 == 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: + } + else { set ALCH_Q,3; setquest 2030; mes "^551A8B7,500 Fire Arrows^000000."; @@ -220,8 +217,9 @@ alde_alche,27,185,5 script Alchemist Guildsman#am 744,{ close; } } - else if (ALCH_Q >= 1 && ALCH_Q <= 3) { - if (countitem(1006) > 0 && countitem(1005) > 0) { + if (ALCH_Q == 1) { + if ((countitem(1006) > 0) && (countitem(1005) > 0)) { + mes "[Parmy Gianino]"; mes "Well now~!"; mes "You've brought an"; mes "Old Magic Book and"; @@ -235,15 +233,7 @@ alde_alche,27,185,5 script Alchemist Guildsman#am 744,{ 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; - } + changequest 2028,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..."; @@ -252,31 +242,77 @@ alde_alche,27,185,5 script Alchemist Guildsman#am 744,{ 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(657) > 6) { + mes "[Parmy Gianino]"; + mes "Seems like"; + mes "you're all ready."; + mes "The Union will put"; + mes "these items to good use."; + next; + delitem 657,7; //Berserk_Potion + 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; + changequest 2028,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; } - if (countitem(.@items[0]) >= .@items[1]) { + mes "[Parmy Gianino]"; + mes "Aren't you ready?"; + mes "Like I said before,"; + mes "you must bring"; + mes "^551A8B7 Berserk Potions^000000."; + next; + mes "[Parmy Gianino]"; + mes "Come back when you"; + mes "have prepared the"; + mes "required items."; + close; + } + if (ALCH_Q == 2) { + if ((countitem(1006) > 0) && (countitem(1005) > 0)) { + mes "[Parmy Gianino]"; + 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; + changequest 2029,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; + } + if (countitem(612) > 99) { + mes "[Parmy Gianino]"; 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]; + delitem 612,100; //Portable_Furnace 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; - } + changequest 2029,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..."; @@ -285,10 +321,11 @@ alde_alche,27,185,5 script Alchemist Guildsman#am 744,{ 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 "[Parmy Gianino]"; mes "Aren't you ready?"; mes "Like I said before,"; mes "you must bring"; - mes "^551A8B"+.@items[1]+" "+getitemname(.@items[0])+"s^000000."; + mes "^551A8B100 Mini Furnaces^000000."; next; mes "[Parmy Gianino]"; mes "Come back when you"; @@ -296,7 +333,66 @@ alde_alche,27,185,5 script Alchemist Guildsman#am 744,{ mes "required items."; close; } - else if (ALCH_Q == 4) { + if (ALCH_Q == 3) { + if ((countitem(1006) > 0) && (countitem(1005) > 0)) { + mes "[Parmy Gianino]"; + 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; + 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; + } + if (countitem(1752) > 7499) { + mes "[Parmy Gianino]"; + mes "Seems like"; + mes "you're all ready."; + mes "The Union will put"; + mes "these items to good use."; + next; + delitem 1752,7500; //Fire_Arrow + 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; + 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 "[Parmy Gianino]"; + mes "Aren't you ready?"; + mes "Like I said before,"; + mes "you must bring"; + mes "^551A8B7500 Fire Arrows^000000."; + next; + mes "[Parmy Gianino]"; + mes "Come back when you"; + mes "have prepared the"; + mes "required items."; + close; + } + if (ALCH_Q == 4) { + mes "[Parmy Gianino]"; mes "Go and talk to"; mes "Mr. Raspuchin."; mes "He's involved in the"; @@ -309,23 +405,22 @@ alde_alche,27,185,5 script Alchemist Guildsman#am 744,{ 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; - } + mes "[Parmy Gianino]"; + 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) { +alde_alche,175,107,3 script Fastidious Alchemist 749,{ + if ((Class != Job_Baby_Merchant) && (Class != Job_Merchant)) { + if (Class == Job_Baby_Alchemist || Class == Job_Alchemist) { + mes "[Raspuchin Gregory]"; mes "Heeheehee"; mes "keheheh~!"; mes "Eh? What do you want?!"; @@ -342,7 +437,8 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 749,{ mes "Alchemist Union!"; close; } - else if (BaseClass == Job_Novice) { + if (Class == Job_Baby || Class == Job_Novice) { + mes "[Raspuchin Gregory]"; mes "Heeheehee"; mes "keheheh~!"; mes "How cute, you've come"; @@ -355,34 +451,34 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 749,{ 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; - } + mes "[Raspuchin Gregory]"; + 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 "[Raspuchin Gregory]"; mes "Heeheehee"; mes "keheheh~!"; mes "What do you"; @@ -398,7 +494,8 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 749,{ mes "dark enterprise!"; close; } - else if (ALCH_Q >= 1 && ALCH_Q <= 3) { + if ((ALCH_Q == 1) || (ALCH_Q == 2) || (ALCH_Q == 3)) { + mes "[Raspuchin Gregory]"; mes "Heeheehee"; mes "keheheh~!"; mes "What do you"; @@ -414,133 +511,469 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 749,{ 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?"; + if (ALCH_Q == 4) { + mes "[Raspuchin Gregory]"; + 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 "What...?"; - mes "Join the Union!?"; - mes "I don't like it..."; - mes "I just don't...!"; + 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 "Nowadays, anyone thinks they can"; - mes "be Alchemists just by knowing how to mix a few herbs. That's why my interview is necessary."; + 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 "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; + 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; + } + 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."; + next; + set .@alche_s, rand(1,3); + set @w_point,0; + if (.@alche_s == 1) { + mes "[Raspuchin Gregory]"; + mes "12 + 23 + 34 + 45 = ?"; + next; + input .@input; + if (.@input != 114) { + set @w_point,@w_point + 1; } - 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."; + 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; + } + } + if (.@alche_s == 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; + } + } + if (.@alche_s == 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 25% 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; } } - 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!"; + 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; + } + if (@w_point == 1) { mes "[Raspuchin Gregory]"; - mes "I don't like it..."; - mes "I don't like this!"; + mes "You got one wrong!"; + mes "But I'll let it slide."; + mes "You pass the interview!"; + 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 "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?"; + mes "Hm...?"; + mes "Did you get"; + mes "any right?"; next; mes "[Raspuchin Gregory]"; - mes "Now then,"; - mes "give me all the"; - mes "^551A8Bright^000000 answers"; - mes "this time."; + 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; - switch(rand(1,3)) { - case 1: + 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; + } + if (ALCH_Q == 5) { + mes "[Raspuchin Gregory]"; + 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; + set .@alche_s, rand(1,3); + set @w_point,0; + if (.@alche_s == 1) { mes "[Raspuchin Gregory]"; mes "12 + 23 + 34 + 45 = ?"; next; input .@input; - if (.@input != 114) set .@w_point,.@w_point+1; + 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; + 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; + 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; + 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; + 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; + if (.@input != 742) { + set @w_point,@w_point + 1; + } mes "[Raspuchin Gregory]"; mes "How much do"; mes "12 Red Potions,"; @@ -549,7 +982,9 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 749,{ mes "after a 24 % discount?"; next; input .@input; - if (.@input != 909) set .@w_point,.@w_point+1; + if (.@input != 909) { + set @w_point,@w_point + 1; + } mes "[Raspuchin Gregory]"; mes "What is the"; mes "total weight of"; @@ -557,7 +992,9 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 749,{ mes "and 1 Long Coat?"; next; input .@input; - if (.@input != 450) set .@w_point,.@w_point+1; + if (.@input != 450) { + set @w_point,@w_point + 1; + } mes "[Raspuchin Gregory]"; mes "What is the"; mes "total defense of"; @@ -567,53 +1004,71 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 749,{ mes "Ear Muffs?"; next; input .@input; - if (.@input != 20) set .@w_point,.@w_point+1; + 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 "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: + if (.@input != 8800) { + set @w_point,@w_point + 1; + } + } + if (.@alche_s == 2) { mes "[Raspuchin Gregory]"; mes "13 + 25 + 37 + 48 = ?"; next; input .@input; - if (.@input != 123) set .@w_point,.@w_point+1; + 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; + 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; + 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; + 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; + 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; + 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; + if (.@input != 742) { + set @w_point,@w_point + 1; + } mes "[Raspuchin Gregory]"; mes "What is the"; mes "total price of"; @@ -623,7 +1078,9 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 749,{ mes "a 24 % discount?"; next; input .@input; - if (.@input != 934) set .@w_point,.@w_point+1; + if (.@input != 934) { + set @w_point,@w_point + 1; + } mes "[Raspuchin Gregory]"; mes "What is the"; mes "total weight of"; @@ -631,7 +1088,9 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 749,{ mes "4 Caps, and 2 Boots?"; next; input .@input; - if (.@input != 550) set .@w_point,.@w_point+1; + if (.@input != 550) { + set @w_point,@w_point + 1; + } mes "[Raspuchin Gregory]"; mes "What is the"; mes "total defense of"; @@ -641,7 +1100,9 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 749,{ mes "and Glasses?"; next; input .@input; - if (.@input != 16) set .@w_point,.@w_point+1; + if (.@input != 16) { + set @w_point,@w_point + 1; + } mes "[Raspuchin Gregory]"; mes "How much profit do you"; mes "make if you buy Tights"; @@ -650,39 +1111,53 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 749,{ mes "the normal price?"; next; input .@input; - if (.@input != 8520) set .@w_point,.@w_point+1; - break; - case 3: + if (.@input != 8520) { + set @w_point,@w_point + 1; + } + } + if (.@alche_s == 3) { mes "[Raspuchin Gregory]"; mes "12 + 23 + 34 + 45 = ?"; next; input .@input; - if (.@input != 114) set .@w_point,.@w_point+1; + 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; + 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; + 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; + 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; + 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; + if (.@input != 742) { + set @w_point,@w_point + 1; + } mes "[Raspuchin Gregory]"; mes "What is the"; mes "total cost of"; @@ -692,7 +1167,9 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 749,{ mes "after a 24 % discount?"; next; input .@input; - if (.@input != 798) set .@w_point,.@w_point+1; + if (.@input != 798) { + set @w_point,@w_point + 1; + } mes "[Raspuchin Gregory]"; mes "What is the"; mes "total weight of"; @@ -700,25 +1177,31 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 749,{ mes "3 Caps, and 3 boots?"; next; input .@input; - if (.@input != 480) set .@w_point,.@w_point+1; + 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; + 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 "at a 25% 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 (.@input != 7680) { + set @w_point,@w_point + 1; + } } - if (.@w_point == 0) { + if (@w_point == 0) { mes "[Raspuchin Gregory]"; mes "Ooh..."; mes "Excellent! Great!"; @@ -726,14 +1209,14 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 749,{ mes "Keheheh, I have no choice but to acknowledge you..."; next; } - else if (.@w_point == 1) { + 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) { + if (@w_point == 2) { mes "[Raspuchin Gregory]"; mes "You've got serious"; mes "weaknesses in math,"; @@ -774,10 +1257,10 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 749,{ 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) { + if (ALCH_Q == 6) { + mes "[Raspuchin Gregory]"; mes "What are you doing?"; mes "Go and find Darwin now."; next; @@ -786,13 +1269,14 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 749,{ mes "Don't think this is the end of it!"; close; } + mes "[Raspuchin Gregory]"; 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) { +alde_alche,13,15,7 script Studying Man 750,{ + if (checkweight(1201,3) == 0) { mes "- Wait a minute! -"; mes "- Currently you are carrying -"; mes "- too many items with you. -"; @@ -800,9 +1284,9 @@ alde_alche,13,15,7 script Studying Man#am 750,{ mes "- after you store some items into kafra storage. -"; close; } - mes "[Darwin]"; - if (BaseJob != Job_Merchant) { - if (BaseJob == Job_Alchemist) { + if ((Class != Job_Baby_Merchant) && (Class != Job_Merchant)) { + if (Class == Job_Baby_Alchemist || Class == Job_Alchemist) { + mes "[Darwin]"; mes "Ah..."; mes "You..."; mes "You've become"; @@ -822,28 +1306,28 @@ alde_alche,13,15,7 script Studying Man#am 750,{ 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; - } + mes "[Darwin]"; + 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 "[Darwin]"; mes "..."; next; mes "[Darwin]"; @@ -856,7 +1340,7 @@ alde_alche,13,15,7 script Studying Man#am 750,{ mes "Who is it...?"; next; monster "alde_alche",13,15,"Wolf",1013,1; - killmonsterall "alde_alche"; + killmonster "alde_alche","Studying Man::OnMyMobDead"; mes "[Darwin]"; mes "A wolf?"; mes "Or a human?"; @@ -883,7 +1367,7 @@ alde_alche,13,15,7 script Studying Man#am 750,{ 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.")) { + switch (select("I want to learn how to experiment.:Tell me more about flowers.:Nothing.")) { case 1: mes "[Darwin]"; mes "You wish to"; @@ -975,7 +1459,8 @@ alde_alche,13,15,7 script Studying Man#am 750,{ close; } } - else if (ALCH_Q == 7) { + if (ALCH_Q == 7) { + mes "[Darwin]"; mes "..."; mes "......"; next; @@ -1092,9 +1577,10 @@ alde_alche,13,15,7 script Studying Man#am 750,{ mes "and cast away the last"; mes "vestiges of Merchant life!!"; set ALCH_Q,40; + changequest 2033,2034; close; } - else if (countitem(7134) > 2 && countitem(713) > 2 && countitem(507) > 0 && countitem(508) > 0 && countitem(509) > 0) { + 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; @@ -1121,27 +1607,27 @@ alde_alche,13,15,7 script Studying Man#am 750,{ mes "Now, make some medicine"; mes "using the simple procedure"; mes "I just explained to you."; - set w_point,0; + set @w_point,0; next; - switch(select("Prepare the Medicine Bowl.:Put the Medicine Bowl on your head.:Kick the Medicine Bowl.")) { + 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; + set @w_point,@w_point + 1; mes "[Darwin]"; mes "What...?"; next; break; case 3: - set .@w_point,.@w_point+1; + 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.")) { + 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; + set @w_point,@w_point + 1; mes "[Darwin]"; mes "...Eh!?"; mes "That's not"; @@ -1151,7 +1637,7 @@ alde_alche,13,15,7 script Studying Man#am 750,{ case 2: break; case 3: - set .@w_point,.@w_point+1; + set @w_point,@w_point + 1; mes "[Darwin]"; mes "A Harp?"; mes "And how would"; @@ -1159,18 +1645,18 @@ alde_alche,13,15,7 script Studying Man#am 750,{ next; break; } - switch(select("Crush the Herbs.:Crush the Medicine Bowl.:Crush Darwin's foot.")) { + switch (select("Crush the Herbs.:Crush the Medicine Bowl.:Crush Darwin's foot.")) { case 1: break; case 2: - set .@w_point,.@w_point+1; + 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; + set @w_point,@w_point + 1; mes "[Darwin]"; mes "Agh...!"; mes "What do you"; @@ -1179,16 +1665,16 @@ alde_alche,13,15,7 script Studying Man#am 750,{ next; break; } - switch(select("Spray clean water.:Drink clean water.:Pour clean water.")) { + switch (select("Spray clean water.:Drink clean water.:Pour clean water.")) { case 1: - set .@w_point,.@w_point+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; + set @w_point,@w_point + 1; mes "[Darwin]"; mes "W-wait..."; mes "Are you"; @@ -1198,11 +1684,11 @@ alde_alche,13,15,7 script Studying Man#am 750,{ case 3: break; } - switch(select("Continue crushing the Herbs.:Continue eating the Herbs.:Continue dancing and singing.")) { + 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; + set @w_point,@w_point + 1; mes "[Darwin]"; mes "Eat the Herbs?"; mes "I think you need"; @@ -1211,7 +1697,7 @@ alde_alche,13,15,7 script Studying Man#am 750,{ next; break; case 3: - set .@w_point,.@w_point+1; + set @w_point,@w_point + 1; mes "[Darwin]"; mes "Singing and"; mes "dancing? Alchemists"; @@ -1220,9 +1706,9 @@ alde_alche,13,15,7 script Studying Man#am 750,{ next; break; } - switch(select("Put noodles in and fry it.:Pour it in an empty bottle.:Hold the Medicine Bowl and drink it.")) { + 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; + set @w_point,@w_point + 1; mes "[Darwin]"; mes "We're Alchemists,"; mes "not restaurant chefs."; @@ -1231,14 +1717,14 @@ alde_alche,13,15,7 script Studying Man#am 750,{ case 2: break; case 3: - set .@w_point,.@w_point+1; + set @w_point,@w_point + 1; mes "[Darwin]"; mes "Huh..."; mes "Pretty sloppy..."; next; break; } - if (.@w_point > 0) { + if (@w_point > 0) { mes "[Darwin]"; mes "..."; mes "......"; @@ -1269,29 +1755,28 @@ alde_alche,13,15,7 script Studying Man#am 750,{ 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; - } + 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) { + if (ALCH_Q == 8) { + mes "[Darwin]"; mes "I said to go"; mes "to Van Helmont."; mes "I'd like to teach you"; @@ -1304,7 +1789,8 @@ alde_alche,13,15,7 script Studying Man#am 750,{ mes "withers as well.."; close; } - else if (ALCH_Q == 40) { + if (ALCH_Q == 40) { + mes "[Darwin]"; mes "I have already given you all of my knowledge and have nothing more"; mes "to teach you."; next; @@ -1313,32 +1799,31 @@ alde_alche,13,15,7 script Studying Man#am 750,{ 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; - } + mes "[Darwin]"; + 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) { +alde_alche,79,19,5 script Experiment Expert 748,{ + if ((Class != Job_Baby_Merchant) && (Class != Job_Merchant)) { + if (Class == Job_Baby_Alchemist || Class == Job_Alchemist) { + mes "[Van Helmont]"; mes "What do you want?"; mes "I'm busy!! Don't"; mes "bother me and get"; @@ -1353,25 +1838,25 @@ alde_alche,79,19,5 script Experiment Expert#am 748,{ 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; - } + mes "[Van Helmont]"; + 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 "[Van Helmont]"; 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; @@ -1464,7 +1949,8 @@ alde_alche,79,19,5 script Experiment Expert#am 748,{ mes "I going to do?!"; close; } - else if (ALCH_Q == 9) { + if (ALCH_Q == 9) { + mes "[Van Helmont]"; 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]"; @@ -1496,20 +1982,34 @@ alde_alche,79,19,5 script Experiment Expert#am 748,{ mes "check what you've"; mes "learned."; next; - if(MISC_QUEST & 4) { + set @w_point,0; + if (molgenstain == 3) { 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; + switch (select("Karvodailnirol:Detrimindexta:Alcohol")) { + case 1: + break; + case 2: + case 3: + 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) { + switch (select("Karvodailnirol:Detrimindexta:Alcohol")) { + case 1: + set @w_point,@w_point + 1; + case 2: + break; + case 3: + 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."; @@ -1544,12 +2044,14 @@ alde_alche,79,19,5 script Experiment Expert#am 748,{ mes "a Counteragent?"; next; select("Feather:Sticky Mucus:Animal Gore"); + set @w_point,@w_point + 1; mes "[Van Helmont]"; mes "What item do"; mes "you need to make"; mes "a Mixture?"; next; select("Monster Feed:Ancient Lips:Rotten Bandage"); + set @w_point,@w_point + 1; 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; @@ -1558,7 +2060,8 @@ alde_alche,79,19,5 script Experiment Expert#am 748,{ close; } } - else if (ALCH_Q == 20) { + if (ALCH_Q == 20) { + mes "[Van Helmont]"; mes "What...?"; mes "I thought I told you to"; mes "talk to Nicholas next door?"; @@ -1568,29 +2071,28 @@ alde_alche,79,19,5 script Experiment Expert#am 748,{ 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; - } + mes "[Van Helmont]"; + 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,{ +alde_alche,101,184,4 script Master Alchemist 122,{ cutin "job_alche_vincent",2; - mes "[Vincent Carsciallo]"; if (Upper == 1) { + mes "[Vincent Carsciallo]"; mes "You have transcended..."; mes "Excellent, excellent."; next; @@ -1601,8 +2103,9 @@ alde_alche,101,184,4 script Master Alchemist#am 122,{ cutin "",255; end; } - if (BaseJob != Job_Merchant) { - if (BaseJob == Job_Alchemist) { + if ((Class != Job_Baby_Merchant) && (Class != Job_Merchant)) { + if (Class == Job_Baby_Alchemist || Class == Job_Alchemist) { + mes "[Vincent Carsciallo]"; mes "Welcome!"; mes "So how is your"; mes "research coming along?"; @@ -1613,8 +2116,12 @@ alde_alche,101,184,4 script Master Alchemist#am 122,{ 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!"; + close2; + cutin "",255; + end; } - else if (BaseClass == Job_Novice) { + if (Class == Job_Baby || Class == Job_Novice) { + mes "[Vincent Carsciallo]"; mes "Hm..."; mes "A Novice?"; mes "You shouldn't be"; @@ -1624,24 +2131,27 @@ alde_alche,101,184,4 script Master Alchemist#am 122,{ 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."; + close2; + cutin "",255; + end; } - 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."; - } + mes "[Vincent Carsciallo]"; + 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 "[Vincent Carsciallo]"; mes "Hmm...?"; mes "A Merchant?"; mes "Are you interested"; @@ -1661,16 +2171,18 @@ alde_alche,101,184,4 script Master Alchemist#am 122,{ cutin "",255; end; } - else if (ALCH_Q == 40) { + if (ALCH_Q == 40) { if (JobLevel < 40) { set ALCH_Q,0; + mes "[Vincent Carsciallo]"; 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) { + if (SkillPoint != 0) { + mes "[Vincent Carsciallo]"; mes "Ah, you're almost"; mes "ready to become an"; mes "Alchemist, but you must"; @@ -1686,62 +2198,88 @@ alde_alche,101,184,4 script Master Alchemist#am 122,{ cutin "",255; end; } - if(checkquest(2039) != -1) { - changequest 2039,2040; - } + mes "[Vincent Carsciallo]"; mes "Ah, well done."; mes "I can see that you"; mes "have learned all of"; mes "the basics of Alchemy."; next; + if (JobLevel == 50) { + set ALCH_Q,0; + changequest 2034,2040; + changequest 2039,2040; + completequest 2040; + if(Class == Job_Baby_Merchant){ + jobchange Job_Baby_Alchemist; + } else { + jobchange Job_Alchemist; + } + set FJOB,Job_Genetic; + mes "[Vincent Carsciallo]"; + mes "Henceforth, you are"; + mes "now a member of our"; + mes "illustrious Union."; + mes "I hope you learn a lot..."; + next; + 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."; + 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; + } set ALCH_Q,0; + changequest 2034,2040; + changequest 2039,2040; completequest 2040; - set .@jlevel,JobLevel; - callfunc "Job_Change",Job_Alchemist; - callfunc "F_ClearJobVar"; + if(Class == Job_Baby_Merchant){ + jobchange Job_Baby_Alchemist; + } else { + jobchange Job_Alchemist; + } + set FJOB,Job_Genetic; 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."; + set .@alche_m2, rand(1,6); + if (.@alche_m2 == 1) { + getitem 7127,1; //Alcol_Create_Book + } + else if (.@alche_m2 == 2) { + getitem 7128,1; //FireBottle_Create_Book + } + else if (.@alche_m2 == 3) { + getitem 7129,1; //Acid_Create_Book + } + else if (.@alche_m2 == 4) { + getitem 7130,1; //Plant_Create_Book + } + else if (.@alche_m2 == 5) { + getitem 7131,1; //Mine_Create_Book } 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."; + 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"; @@ -1753,24 +2291,23 @@ alde_alche,101,184,4 script Master Alchemist#am 122,{ 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; - } + mes "[Vincent Carsciallo]"; + 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) { +alde_alche,145,19,1 script Chief Researcher 57,{ + if (checkweight(1201,3) == 0) { mes "- Wait a minute! -"; mes "- Currently you are carrying -"; mes "- too many items with you. -"; @@ -1778,7 +2315,7 @@ alde_alche,145,19,1 script Chief Researcher#am 57,{ mes "- after you store some items into kafra storage. -"; close; } - if (ALCH_Q > 19 && ALCH_Q < 22) { + if ((ALCH_Q > 19) && (ALCH_Q < 22)) { if (ALCH_Q == 20) { mes "[Nicholas Flamel]"; mes "Ooh..."; @@ -1806,54 +2343,80 @@ alde_alche,145,19,1 script Chief Researcher#am 57,{ mes "choose the word"; mes "that is ^551A8BIN^000000 the puzzle."; next; - switch(rand(1,3)) { - case 1: + set .@alche_puz, rand(1,3); + if (.@alche_puz == 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"; + set @alch_q, 0; + if (select("Brake:Brass:Bug:Broken:Brigan?") == 5) { + set @alch_q, @alch_q + 10; + } + mes "o n c u d 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; + if (select("vendor:storage:weapon:simple:streetshop") == 1) { + set @alch_q, @alch_q + 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; + if (select("molasses:party:leader:sweets:treacle") == 2) { + set @alch_q, @alch_q + 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: + if (select("partisan:partizan:pato:paros:pack") == 2) { + set @alch_q, @alch_q + 10; + } + } + else if (.@alche_puz == 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; + set @alch_q, 0; + if (select("packman:sunshine:ragnarok:wonderland:frost") == 1) { + set @alch_q, @alch_q + 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; + if (select("purple:smoker:ragnarok:bolt:burnt wood") == 3) { + set @alch_q, @alch_q + 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; + if (select("scab:kinship:donate:source:opening") == 5) { + set @alch_q, @alch_q + 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: + if (select("forgemerchant:potionmerchant:dcmerchant:vendingmerchant:battlemerchant") == 2) { + set @alch_q, @alch_q + 10; + } + } + else { 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; + set @alch_q, 0; + if (select("tiger:wolf:pumpkin:tripped:tore") == 1) { + set @alch_q, @alch_q + 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; + if (select("bash:provoke:endure:stun:abracadabra") == 3) { + set @alch_q, @alch_q + 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; + if (select("alberta:latifoliate:crimson:maple:evergreen") == 5) { + set @alch_q, @alch_q + 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; + if (select("forgemerchant:potionmerchant:dcmerchant:vendingmerchant:battlemerchant") == 2) { + set @alch_q, @alch_q + 10; + } } mes "[Nicholas Flamel]"; mes "Ah, you finished."; mes "Now, let's see..."; - if (.@alch_t > 30) { + if (@alch_q > 30) { set ALCH_Q,22; mes "Excellent job!"; next; @@ -1871,27 +2434,23 @@ alde_alche,145,19,1 script Chief Researcher#am 57,{ 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; - - } + 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) { + if (ALCH_Q == 22) { + if ((MaxWeight - Weight) < 1370) { mes "[Nicholas Flamel]"; mes "Whoa..."; mes "You're carrying too much stuff! First, put some of your things in Kafra Storage."; @@ -1932,7 +2491,7 @@ alde_alche,145,19,1 script Chief Researcher#am 57,{ mes "one piece."; close; } - else if (ALCH_Q == 23) { + if (ALCH_Q == 23) { mes "[Nicholas Flamel]"; mes "Didn't I say to"; mes "go to Juno and help"; @@ -1940,7 +2499,7 @@ alde_alche,145,19,1 script Chief Researcher#am 57,{ mes "their Alchemy research?"; close; } - else if (ALCH_Q == 24) { + if (ALCH_Q == 24) { set ALCH_Q,40; changequest 2038,2039; mes "[Nicholas Flamel]"; @@ -1959,44 +2518,24 @@ alde_alche,145,19,1 script Chief Researcher#am 57,{ 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) { + if ((ALCH_Q == 40) && (Class == Job_Baby_Merchant || Class == 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; - } + 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] +alde_alche,19,171,0 warp alche#3 1,1,aldebaran,68,56 +alde_alche,42,171,0 warp alche#4 1,1,aldebaran,56,68 \ No newline at end of file diff --git a/npc/jobs/2-2/bard.txt b/npc/jobs/2-2/bard.txt index a4b158ec8..790051cba 100644 --- a/npc/jobs/2-2/bard.txt +++ b/npc/jobs/2-2/bard.txt @@ -1,33 +1,21 @@ //===== rAthena Script ======================================= -//= Bard Job Quest -//===== By: ================================================== -//= Muad_Dib(The Prometheus Project), Lupus, Samuray22 +// Bard Job change Quest +//===== By: ================================================== +//= Masao +//= Credits: Muad_Dib //===== Current Version: ===================================== -//= 2.6 +//= 1.0 //===== Compatible With: ===================================== -//= rAthena SVN +//= Any 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] -//============================================================ +//= [Translated from the Official] +//= Job change Quest from Archer[M] -> Bard. +//===== Additional Comments: ================================= +//= 1.0 Updated to latest available official file. [Masao] +//============================================================ -//=============== Ayealo ============================ -comodo,226,123,5 script Wandering Bard 741,{ - if(Upper == 1) { +comodo,226,123,5 script Roaming Bard 741,{ + if (Upper == 1) { mes "[Lalo]"; mes "Chosen ones who are destined to become Gods"; mes "are so many in this era"; @@ -40,11 +28,11 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; + cutin "",255; end; } - else if(BaseJob != Job_Archer) { - if(BaseJob == Job_Bard) { + if ((Class != Job_Baby_Archer) && (Class != Job_Archer)) { + if (Class == Job_Baby_Bard || Class == Job_Bard) { mes "[Lalo]"; mes "Ooh hey! How's your singing these days?"; mes "I wonder if your voice got any better."; @@ -56,8 +44,11 @@ comodo,226,123,5 script Wandering Bard 741,{ 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."; + close2; + cutin "",255; + end; } - else if(Class == Job_Novice) { + if (Class == Job_Baby || Class == Job_Novice) { cutin "job_bard_aiolo01",2; mes "[Lalo]"; mes "The sadness that overcomes my heart.. "; @@ -73,43 +64,51 @@ comodo,226,123,5 script Wandering Bard 741,{ mes "[Lalo]"; mes "Heh... try asking someone else."; mes "I'm trying to compose a new song."; + close2; + cutin "",255; + end; + } + cutin "job_bard_aiolo01",2; + mes "[Lalo]"; + mes "Lalala, lalala. Beautiful Comodo."; + mes "Always full of happy moments~"; + next; + mes "[Lalo]"; + if (Sex == 1) { + mes "Forget about your worries~"; + mes "And enjoy everything~"; } 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~"; + mes "Cute lady, shall we dance~"; } + mes "Youth never repeats itself~"; close2; - cutin "job_bard_aiolo01",255; + cutin "",255; end; } - else if(BARD_Q == 0) { + if (BARD_Q == 0) { cutin "job_bard_aiolo01",2; mes "[Lalo]"; - if (sex) mes "Hi! Delightful Archer."; - else mes "Hello! Beautiful Archer Lady."; + if (Sex == 1) { + 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.")) { + 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."; + 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; - + close2; + cutin "",255; + end; case 2: mes "[Lalo]"; mes "A song... let's see."; @@ -146,30 +145,31 @@ comodo,226,123,5 script Wandering Bard 741,{ 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."; + mes "Thanks! If you enjoyed my song, it makes me happy, too."; next; - if (Sex == 1 && JobLevel > 39) { + 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; + cutin "",255; end; } mes "[Lalo]"; - mes "if you ever want to hear my song again, just ask."; + mes "If you ever want to hear my song again, just ask."; close2; - cutin "job_bard_aiolo01",255; + cutin "",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; - + close2; + cutin "",255; + end; case 3: cutin "job_bard_aiolo02",2; mes "[Lalo]"; @@ -179,19 +179,18 @@ comodo,226,123,5 script Wandering Bard 741,{ 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 "",255; + end; } - close2; - cutin "job_bard_aiolo02",255; - end; } - else if(BARD_Q == 1) { + 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.")) { + 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?"; @@ -212,7 +211,7 @@ comodo,226,123,5 script Wandering Bard 741,{ set BARD_Q,2; changequest 3000,3001; close2; - cutin "job_bard_aiolo01",255; + cutin "",255; end; } mes "[Lalo]"; @@ -222,8 +221,9 @@ comodo,226,123,5 script Wandering Bard 741,{ mes "[Lalo]"; mes "You have plenty of talent."; mes "Come again if you change your mind."; - break; - + close2; + cutin "",255; + end; case 2: mes "[Lalo]"; mes "Hmm... seems like you have some singing talents?"; @@ -232,8 +232,9 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; - + close2; + cutin "",255; + end; case 3: mes "[Lalo]"; mes "Hmm... I'm not sure what's what, but enjoy life."; @@ -241,30 +242,30 @@ comodo,226,123,5 script Wandering Bard 741,{ next; mes "[Lalo]"; mes "Well then~ Have a great time~"; - break; + close2; + cutin "",255; + end; } - close2; - cutin "job_bard_aiolo01",255; - end; } - else if(BARD_Q == 2) { + 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 "[Lalo]"; mes "Ooh! It's a Singing Flower!"; mes "It's full of my memories..."; next; - delitem 629,1; //Singing Flower + delitem 629,1; //Singing_Flower mes "[Lalo]"; mes "My friend Tchaikovsky used to like it."; mes "I wonder what he's doing now..."; + next; } - else if(countitem(703) > 0) { + if (countitem(703) > 0) { + mes "[Lalo]"; mes "Aah... the cute Hinelle..."; mes "It doesn't have a scent but it's a very moderate cute flower."; next; @@ -272,8 +273,10 @@ comodo,226,123,5 script Wandering Bard 741,{ mes "[Lalo]"; mes "The leaves gave me strength when I used to fall."; mes "I really like this flower, thank you."; + next; } - else if(countitem(704) > 0) { + else if (countitem(704) > 0) { + mes "[Lalo]"; mes "Aloe... This is a rare flower."; mes "How'd you get it? Rather skilled, eh?"; next; @@ -281,8 +284,10 @@ comodo,226,123,5 script Wandering Bard 741,{ 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."; + next; } - else if(countitem(708) > 0) { + if (countitem(708) > 0) { + mes "[Lalo]"; mes "Ment... You can forget about all your hardships with one of these."; mes "Nice to see it in such a long time!"; next; @@ -290,8 +295,10 @@ comodo,226,123,5 script Wandering Bard 741,{ mes "[Lalo]"; mes "I heard you can make Anodyne with it..."; mes "But that would be a slight waste.. thanks!"; + next; } - else if(countitem(709) > 0) { + if (countitem(709) > 0) { + mes "[Lalo]"; mes "Ooh, isn't this an Izidor?"; mes "It's a dangerous yet beautiful flower..."; next; @@ -299,8 +306,10 @@ comodo,226,123,5 script Wandering Bard 741,{ mes "[Lalo]"; mes "The deep purple charms a person.. "; mes "Thank you, I really like this flower."; + next; } - else if(countitem(748) > 0) { + if (countitem(748) > 0) { + mes "[Lalo]"; mes "Ooh, a Witherless Rose. The strong flower that doesn't wither."; mes "Great to give to a girlfriend."; next; @@ -308,8 +317,10 @@ comodo,226,123,5 script Wandering Bard 741,{ 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?"; + next; } - else if(countitem(749) > 0 ) { + if (countitem(749) > 0) { + mes "[Lalo]"; mes "Frozen Rose... you can't really call this a flower,"; mes "But it is still beautiful... a clear Rose."; next; @@ -317,8 +328,10 @@ comodo,226,123,5 script Wandering Bard 741,{ 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."; + next; } - else if(countitem(710) > 0) { + if (countitem(710) > 0) { + mes "[Lalo]"; mes "Oh, isn't this an Illusion Flower!?"; mes "Wow, how did you obtain such a rare flower!!"; next; @@ -326,10 +339,11 @@ comodo,226,123,5 script Wandering Bard 741,{ 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!"; + next; } - //Bad Flowers - else if(countitem(712) > 0) { + if (countitem(712) > 0) { cutin "job_bard_aiolo02",2; + mes "[Lalo]"; mes "Eh? This is just a normal flower."; mes "I like it... but it's not enough."; next; @@ -337,10 +351,11 @@ comodo,226,123,5 script Wandering Bard 741,{ mes "You can get this flower from the girl in Prontera."; mes "Please bring me a different flower."; close2; - cutin "job_bard_aiolo02",255; + cutin "",255; end; } - else if(countitem(744) > 0) { + if (countitem(744) > 0) { + mes "[Lalo]"; mes "Oh no, you brought a Bouquet?"; mes "You can't bring me something like this."; next; @@ -348,11 +363,12 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; + cutin "",255; end; } - else if(countitem(745) > 0) { + if (countitem(745) > 0) { cutin "job_bard_aiolo02",2; + mes "[Lalo]"; 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; @@ -360,10 +376,11 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; + cutin "",255; end; } - else if(countitem(2207) > 0) { + if (countitem(2207) > 0) { + mes "[Lalo]"; mes "Mmm... a Fancy Flower."; mes "It's nice... but this isn't good enough."; next; @@ -371,23 +388,25 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; + cutin "",255; end; } - else if(countitem(1032) > 0) { + if (countitem(1032) > 0) { cutin "job_bard_aiolo02",2; + mes "[Lalo]"; 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 "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; + cutin "",255; end; } else { cutin "job_bard_aiolo02",2; + mes "[Lalo]"; mes "Hmm? What... you didnt' bring anything."; mes "Didn't I ask you to bring a flower?"; next; @@ -395,10 +414,9 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; + cutin "",255; end; } - next; cutin "job_bard_aiolo01",2; mes "[Lalo]"; mes "As I promised, I'll help you become a Bard."; @@ -409,74 +427,39 @@ comodo,226,123,5 script Wandering Bard 741,{ 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 "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; + set BARD_Q2,1; mes "[Lalo]"; - mes "if you become friends with ^008800Jack Frost^000000, you will receive something."; + 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; + cutin "",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) { + if (BARD_Q == 3) { + if (BARD_Q2 > 10) { 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."; + 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; + changequest 3002,3003; mes "[Lalo]"; - mes "I'll sing one part..."; - mes "and you try it after."; + mes "Then, do you want to try singing...?"; + mes "I'll sing a short melody..."; + mes "and you try after."; next; mes "[Lalo]"; - mes "Here we go."; - mes "*Ehem*"; + mes "Here I go."; + mes "Ehem *clears throat*"; mes "1, 2, 3, 4"; next; - } - if (BARD_Q != 5) { set .@bard_s, rand(1,5); + set @w_point, 0; if (.@bard_s == 1) { mes "^3377FFThere was a man^000000"; mes "who was said to be immortal."; @@ -485,10 +468,10 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; - + input .@inputstr$; + if (.@inputstr$ != "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,"; @@ -496,10 +479,10 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; - + input .@inputstr$; + if (.@inputstr$ != "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"; @@ -507,10 +490,10 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; - + input .@inputstr$; + if (.@inputstr$ != "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,"; @@ -518,10 +501,10 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; - + input .@inputstr$; + if (.@inputstr$ != "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,"; @@ -529,10 +512,10 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; - + input .@inputstr$; + if (.@inputstr$ != "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,"; @@ -540,11 +523,12 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; + input .@inputstr$; + if (.@inputstr$ != "Turned into a dragon and ate him.") { + set @w_point, @w_point + 1; + } } - else if (.@bard_s == 2) { + 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."; @@ -552,10 +536,10 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; - + input .@inputstr$; + if (.@inputstr$ != "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."; @@ -563,10 +547,10 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; - + input .@inputstr$; + if (.@inputstr$ != "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"; @@ -574,10 +558,10 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; - + input .@inputstr$; + if (.@inputstr$ != "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."; @@ -585,10 +569,10 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; - + input .@inputstr$; + if (.@inputstr$ != "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."; @@ -596,10 +580,10 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; - + input .@inputstr$; + if (.@inputstr$ != "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."; @@ -607,89 +591,91 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; + input .@inputstr$; + if (.@inputstr$ != "Some say he sold Sweet Potatoes, too.") { + set @w_point, @w_point + 1; + } } - else if (.@bard_s == 3) { + if (.@bard_s == 3) { mes "^3377FFAll Gods never age.^000000"; - mes "The ever so Beautiful Goddess Eden,"; + 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; - + input .@inputstr$; + if (.@inputstr$ != "All Gods never age.") { + set @w_point, @w_point + 1; + } mes "^3377FFAll Gods never age."; - mes "The ever so Beautiful Goddess Eden,^000000"; + 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; - + input .@inputstr$; + if (.@inputstr$ != "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 "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; - + input .@inputstr$; + if (.@inputstr$ != "Beautiful and graceful Goddess Eden,") { + set @w_point, @w_point + 1; + } mes "^3377FFAll Gods never age."; - mes "The ever so Beautiful Goddess Eden,"; + 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; - + input .@inputstr$; + if (.@inputstr$ != "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 "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; - + input .@inputstr$; + if (.@inputstr$ != "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 "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; + input .@inputstr$; + if (.@inputstr$ != "All thanks to her sweet apples.") { + set @w_point, @w_point + 1; + } } - else if (.@bard_s == 4) { - mes "^3377FFBragi, Bragi,^000000"; + if (.@bard_s == 4) { + mes "^3377FFBragi, Bragi,z^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; - + input .@inputstr$; + if (.@inputstr$ != "Bragi, Bragi,") { + set @w_point, @w_point + 1; + } mes "^3377FFBragi, Bragi,"; mes "Forever call the poets name.^000000"; mes "My songs are his breath,"; @@ -697,10 +683,10 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; - + input .@inputstr$; + if (.@inputstr$ != "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"; @@ -708,10 +694,10 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; - + input .@inputstr$; + if (.@inputstr$ != "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,"; @@ -719,10 +705,10 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; - + input .@inputstr$; + if (.@inputstr$ != "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,"; @@ -730,10 +716,10 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; - + input .@inputstr$; + if (.@inputstr$ != " 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,"; @@ -741,9 +727,10 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; + input .@inputstr$; + if (.@inputstr$ != "And all praise shall go to him.") { + set @w_point, @w_point + 1; + } } else { mes "^3377FFLouder, louder, louder.^000000"; @@ -753,10 +740,10 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; - + input .@inputstr$; + if (.@inputstr$ != "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."; @@ -764,10 +751,10 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; - + input .@inputstr$; + if (.@inputstr$ != "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"; @@ -775,10 +762,10 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; - + input .@inputstr$; + if (.@inputstr$ != "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."; @@ -786,10 +773,10 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; - + input .@inputstr$; + if (.@inputstr$ != "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."; @@ -797,10 +784,10 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; - + input .@inputstr$; + if (.@inputstr$ != "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."; @@ -808,12 +795,12 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; + input .@inputstr$; + if (.@inputstr$ != "This day will never come again!") { + set @w_point, @w_point + 1; + } } - - if (.@w_point) { + if (@w_point > 0) { cutin "job_bard_aiolo02",2; mes "[Lalo]"; mes "Oy, You got the lyrics wrong!"; @@ -823,13 +810,14 @@ comodo,226,123,5 script Wandering Bard 741,{ mes "Your pronunciation is very unclear."; mes "Do a better job next time."; close2; - cutin "job_bard_aiolo02",255; + cutin "",255; end; } mes "[Lalo]"; mes ".........."; next; set BARD_Q,5; + changequest 3003,3004; mes "[Lalo]"; mes "Wonderful! Finished it in one try!"; mes "You can become a great Bard. "; @@ -842,10 +830,453 @@ comodo,226,123,5 script Wandering Bard 741,{ 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 (select("Just change my job please.:I'd be thankful for a present.") == 1) { + if (SkillPoint != 0) { + changequest 3003,3004; + 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 "",255; + end; + } + completequest 3004; + set BARD_Q,0; + if(Class == Job_Baby_Archer){ + jobchange Job_Baby_Bard; + } else { + jobchange Job_Bard; + } + set FJOB,Job_Minstrel; + 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 "",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 "",255; + end; + } + cutin "job_bard_aiolo01",2; + set BARD_Q2,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 "",255; + end; + } + 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; + set .@bard_s,rand(1,5); + set @w_point,0; + 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 .@inputstr$; + if (.@inputstr$ != "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 .@inputstr$; + if (.@inputstr$ != "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 .@inputstr$; + if (.@inputstr$ != "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 .@inputstr$; + if (.@inputstr$ != "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 .@inputstr$; + if (.@inputstr$ != "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 .@inputstr$; + if (.@inputstr$ != "Turned into a dragon and ate him.") { + set @w_point, @w_point + 1; + } + } + 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 .@inputstr$; + if (.@inputstr$ != "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 .@inputstr$; + if (.@inputstr$ != "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 .@inputstr$; + if (.@inputstr$ != "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 .@inputstr$; + if (.@inputstr$ != "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 .@inputstr$; + if (.@inputstr$ != "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 .@inputstr$; + if (.@inputstr$ != "Some say he sold Sweet Potatoes, too.") { + set @w_point, @w_point + 1; + } + } + 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 .@inputstr$; + if (.@inputstr$ != "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 .@inputstr$; + if (.@inputstr$ != "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 .@inputstr$; + if (.@inputstr$ != "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 .@inputstr$; + if (.@inputstr$ != "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 .@inputstr$; + if (.@inputstr$ != "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 .@inputstr$; + if (.@inputstr$ != "All thanks to her sweet apples.") { + set @w_point, @w_point + 1; + } } - if ((.@selection == 1) || (BARD_Q == 5)) { - if(SkillPoint) { + if (.@bard_s == 4) { + mes "^3377FFBragi, Bragi,z^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 .@inputstr$; + if (.@inputstr$ != "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 .@inputstr$; + if (.@inputstr$ != "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 .@inputstr$; + if (.@inputstr$ != "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 .@inputstr$; + if (.@inputstr$ != "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 .@inputstr$; + if (.@inputstr$ != " 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 .@inputstr$; + if (.@inputstr$ != "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 .@inputstr$; + if (.@inputstr$ != "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 .@inputstr$; + if (.@inputstr$ != "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 .@inputstr$; + if (.@inputstr$ != "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 .@inputstr$; + if (.@inputstr$ != "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 .@inputstr$; + if (.@inputstr$ != "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 .@inputstr$; + if (.@inputstr$ != "This day will never come again!") { + set @w_point, @w_point + 1; + } + } + if (@w_point > 0) { + 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 "",255; + end; + } + mes "[Lalo]"; + mes ".........."; + next; + set BARD_Q,5; + changequest 3003,3004; + mes "[Lalo]"; + mes "Wonderful! Although it was not in one try!"; + mes "Good enough to become a good 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; + if (select("Just change my job please.:I'd be thankful for a present.") == 1) { + if (SkillPoint != 0) { cutin "job_bard_aiolo01",2; mes "[Lalo]"; mes "Ah... Everything is good, but you still have some skill points left."; @@ -856,96 +1287,247 @@ comodo,226,123,5 script Wandering Bard 741,{ 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; + cutin "",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; - } + completequest 3004; + set BARD_Q,0; + if(Class == Job_Baby_Archer){ + jobchange Job_Baby_Bard; + } else { + jobchange Job_Bard; } + set FJOB,Job_Minstrel; + 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 "",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..."; + mes "Hmm... very well, bring some ^3355FFtrunks^000000."; + mes "It doesn't matter what kind, as long as they are 60 of the same sort..."; 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; + cutin "",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; + if (BARD_Q == 5) { + if (SkillPoint != 0) { + cutin "job_bard_aiolo01",2; + changequest 3003,3004; + 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 don't forget the trunks."; + mes "It doesn't matter what kind, as long as they are 60 of the same sort..."; + close2; + cutin "",255; + end; + } + if (countitem(1019) > 59) { + if(Class == Job_Baby_Archer){ + jobchange Job_Baby_Bard; + } else { + jobchange Job_Bard; + } + set FJOB,Job_Minstrel; + 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"; + next; + delitem 1019,60; //Wooden_Block + getitem 1901,1; //Violin + completequest 3004; + 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 "",255; + end; + } + if (countitem(1068) > 59) { + if(Class == Job_Baby_Archer){ + jobchange Job_Baby_Bard; + } else { + jobchange Job_Bard; + } + set FJOB,Job_Minstrel; + 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"; + next; + delitem 1068,60; //Tree_Of_Archer_3 + getitem 1903,1; //Mandolin + completequest 3004; + 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 "",255; + end; + } + if (countitem(1067) > 59) { + if(Class == Job_Baby_Archer){ + jobchange Job_Baby_Bard; + } else { + jobchange Job_Bard; + } + set FJOB,Job_Minstrel; + 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"; + next; + delitem 1067,60; //Tree_Of_Archer_2 + getitem 1903,1; //Mandolin + 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 "",255; + end; + } + if (countitem(1066) > 59) { + if (JobLevel > 49) { + if(Class == Job_Baby_Archer){ + jobchange Job_Baby_Bard; + } else { + jobchange Job_Bard; + } + set FJOB,Job_Minstrel; + 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"; + next; + delitem 1066,60; //Tree_Of_Archer_1 + getitem 1910,1; //Harp_ + completequest 3004; + 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 "",255; + } + if(Class == Job_Baby_Archer){ + jobchange Job_Baby_Bard; + } else { + jobchange Job_Bard; + } + set FJOB,Job_Minstrel; + 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"; + next; + delitem 1066,60; //Tree_Of_Archer_1 + getitem 1905,1; //Lute + completequest 3004; + 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 "",255; + end; + } + cutin "job_bard_aiolo01",2; mes "[Lalo]"; - mes "^3355FFScrape Scrape Tang Tang^000000"; - mes "^3355FFSqueak Squeak Scratch Scratch^000000"; - delitem getarg(0),60; - getitem getarg(1),1; + 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.") == 1) { + if (SkillPoint != 0) { + cutin "job_bard_aiolo01",2; + changequest 3003,3004; + mes "[Lalo]"; + mes "Ah... it's all good, but you still have some skill points left."; + mes "Let me know when you've used them all."; + next; + mes "[Lalo]"; + mes "Oh, and also I have a souvenir for you, too... "; + mes "So bring back some trunks."; + mes "Doesn't matter what kind, just 60 of the same sort..."; + close2; + cutin "",255; + end; + } + set BARD_Q,0; + if(Class == Job_Baby_Archer){ + jobchange Job_Baby_Bard; + } else { + jobchange Job_Bard; + } + set FJOB,Job_Minstrel; + completequest 3004; + mes "[Lalo]"; + mes "Wonderful! Sing happy enjoyable songs."; + mes "Live like the winds and clouds!"; + next; + mes "[Lalo]"; + mes "See you again next time!"; + close2; + cutin "",255; + end; + } + cutin "job_bard_aiolo01",2; mes "[Lalo]"; - mes "Here you go, a souvenir. It is useful when you sing."; - mes "Hope you sing happy songs."; + mes "Hmm... ok, bring some ^3355FFtrunks^000000."; + mes "Doesn't matter what kind, as long as they are 60 of the same sort."; next; mes "[Lalo]"; - mes "See you next time!"; + mes "I'll give you a present if you bring them."; + mes "Then see you soon."; close2; - cutin "job_bard_aiolo01",255; + cutin "",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] + } + cutin "job_bard_aiolo01",2; + mes "[Lalo]"; + mes "Whee~ whee~ whee~"; + close2; + cutin "",255; + end; +} \ No newline at end of file diff --git a/npc/jobs/2-2/crusader.txt b/npc/jobs/2-2/crusader.txt index 5f0cebf45..4c4edc091 100644 --- a/npc/jobs/2-2/crusader.txt +++ b/npc/jobs/2-2/crusader.txt @@ -1,60 +1,40 @@ //===== rAthena Script ======================================= -//= Crusader Quest +// Crusader Job change Quest //===== By: ================================================== -//= Made by: Black Dragon -//= Converted by: Shin +//= Masao +//= Credits: Muad_Dib //===== Current Version: ===================================== -//= 3.3 +//= 1.0 //===== Compatible With: ===================================== -//= rAthena SVN +//= Any rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job quest for Crusader classes +//= [Translated from the Official] +//= Job change Quest from Swordman -> Crusader. //===== 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============================ +//= 1.0 Updated to latest available official file. [Masao] +//============================================================ + 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 + if (Upper == 1) { + mes "[Michael Halig]"; 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."; + mes "Be adviced to continue practicing yourself."; close; - } - else if(BaseJob != Job_Swordman) { - if(BaseJob == Job_Crusader) { + } + if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { + if (Class == Job_Baby_Crusader || Class == Job_Crusader) { + mes "[Michael Halig]"; 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) { + if (Class == Job_Baby || Class == Job_Novice) { + mes "[Michael Halig]"; mes "We are Crusaders,"; mes "warriors preparing"; mes "to fight in the Holy War."; @@ -63,29 +43,17 @@ prt_castle,45,169,5 script Senior Crusader 752,{ mes "If you wish to join us, you must first learn the Swordsman discipline and train yourself thoroughly..."; close; } + mes "[Michael Halig]"; 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..."; + mes "As it happened one thousand years ago, evil forces will one day attacking in droves in an attempt to take over the world once again."; close; } - else if(CRUS_Q == 0) { + if (CRUS_Q == 0) { + mes "[Michael Halig]"; mes "We are Crusaders, warriors preparing for the Holy War."; mes "What brings you"; mes "to this place?"; @@ -101,7 +69,7 @@ prt_castle,45,169,5 script Senior Crusader 752,{ 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 "We recruit Swordsman that express exceptional faith, or those who were born as warriors"; mes "by Odin's will."; next; mes "[Michael Halig]"; @@ -115,7 +83,7 @@ prt_castle,45,169,5 script Senior Crusader 752,{ 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) { + if (JobLevel < 40) { mes "[Michael Halig]"; mes "Wait..."; mes "You're not ready yet."; @@ -126,8 +94,8 @@ prt_castle,45,169,5 script Senior Crusader 752,{ 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) { + } + if (SkillPoint != 0) { 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; @@ -141,7 +109,7 @@ prt_castle,45,169,5 script Senior Crusader 752,{ mes "" + strcharinfo(0) + "...?"; mes "Let's see..."; next; - if (countitem(1004) && countitem(1009)) { + if ((countitem(1004) > 0) && (countitem(1009) > 0)) { 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."; @@ -149,8 +117,8 @@ prt_castle,45,169,5 script Senior Crusader 752,{ 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; + delitem 1004,1; //Patriotism_Marks + delitem 1009,1; //Sacred_Marks set CRUS_Q,4; setquest 3009; mes "[Michael Halig]"; @@ -164,35 +132,41 @@ prt_castle,45,169,5 script Senior Crusader 752,{ 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; + 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"; + mes "[Michael Halig]"; + mes "^3355FF10 Decayed Nail^000000,"; + mes "^3355FF10 Stinky Scale^000000,"; + mes "^3355FF10 Worn-out Prison Uniform^000000 and"; + mes "^3355FF10 Daenggie^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; } - else if(.@cru_m1 == 2) { - set CRUS_Q, 2; + 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"; + mes "[Michael Halig]"; + mes "^3355FF10 Skel-Bone^000000,"; + mes "^3355FF10 Orc Claw^000000,"; + mes "^3355FF10 Manacles^000000 and"; + mes "^3355FF10 Short Daenggie^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; } + set CRUS_Q,3; + setquest 3008; + mes "[Michael Halig]"; + mes "^3355FF10 Horrendous Mouth^000000,"; + mes "^3355FF10 Rotten Bandage^000000,"; + mes "^3355FF10 Lantern^000000 and"; + mes "^3355FF10 Jack o' Pumpkin^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; @@ -207,34 +181,34 @@ prt_castle,45,169,5 script Senior Crusader 752,{ 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."; + if (Sex == 1) { + 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) { + if (CRUS_Q == 1) { + mes "[Michael Halig]"; 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(1004) > 0) && (countitem(1009) > 0)) { + 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 "[Micheal 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; //Patriotism_Marks + delitem 1009,1; //Sacred_Marks + set CRUS_Q,4; + changequest 3006,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; } - if (countitem(@item1) > 9 && countitem(@item2) > 9 && countitem(@item3) > 9 && countitem(@item4) > 9) { + if ((countitem(957) > 9) && (countitem(959) > 9) && (countitem(1099) > 9) && (countitem(901) > 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."; @@ -242,20 +216,63 @@ prt_castle,45,169,5 script Senior Crusader 752,{ 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; - } + delitem 957,10; //Decayed_Nail + delitem 959,10; //Rotten_Scale + delitem 1099,10; //Worn_Out_Prison_Uniform + delitem 901,10; //Danggie + set CRUS_Q,4; + changequest 3006,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 "^3355FF10 Decayed Nail^000000,"; + mes "^3355FF10 Stinky Scale^000000,"; + mes "^3355FF10 Worn-out Prison Uniform^000000 and"; + mes "^3355FF10 Daenggie^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; + } + if (CRUS_Q == 2) { + mes "[Michael Halig]"; + 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; + if ((countitem(1004) > 0) && (countitem(1009) > 0)) { + 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 "[Micheal 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; //Patriotism_Marks + delitem 1009,1; //Sacred_Marks + set CRUS_Q,4; + changequest 3007,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; + } + if ((countitem(932) > 9) && (countitem(1043) > 9) && (countitem(1098) > 9) && (countitem(1094) > 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 932,10; //Skel_Bone + delitem 1043,10; //Nail_Of_Orc + delitem 1098,10; //Manacles + delitem 1094,10; //Short_Daenggie + set CRUS_Q,4; + changequest 3007,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; @@ -264,42 +281,147 @@ prt_castle,45,169,5 script Senior Crusader 752,{ 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"; + mes "^3355FF10 Skel-Bone^000000,"; + mes "^3355FF10 Orc Claw^000000,"; + mes "^3355FF10 Manacles^000000 and"; + mes "^3355FF10 Short Daenggie^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) { + if (CRUS_Q == 3) { + mes "[Michael Halig]"; + 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; + if ((countitem(1004) > 0) && (countitem(1009) > 0)) { + 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 "[Micheal 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; //Patriotism_Marks + delitem 1009,1; //Sacred_Marks + set CRUS_Q,4; + 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; + } + if ((countitem(958) > 9) && (countitem(930) > 9) && (countitem(1041) > 9) && (countitem(1062) > 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 958,10; //Horrendous_Mouth + delitem 930,10; //Rotten_Bandage + delitem 1041,10; //Lantern + delitem 1062,10; //Pumpkin_Head + set CRUS_Q,4; + 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 "^3355FF10 Horrendous Mouth^000000,"; + mes "^3355FF10 Rotten Bandage^000000,"; + mes "^3355FF10 Lantern^000000 and"; + mes "^3355FF10 Jack o' Pumpkin^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; + } + if (CRUS_Q == 10) { + if (JobLevel < 40) { + set CRUS_Q,0; + mes "[Michael Halig]"; + mes "Wait ... You can not sign up."; + mes "You must reach job level 40 before you can apply."; + next; + mes "[Michael Halig]"; + mes "Train as a Swordsman and wait for the call of Odin."; + mes "I know your feelings, but you can not join us now..."; + close; + } + if (SkillPoint != 0) { + 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; } + if (JobLevel == 50) { + mes "[Michael Halig]"; + 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; + completequest 3015; + set CRUS_Q,0; + if(Class == Job_Baby_Swordman){ + jobchange Job_Baby_Crusader; + } else { + jobchange Job_Crusader; + } + set FJOB,Job_Royal_Guard; + 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 == 1) { + mes "...Brother."; + } + else { + mes "...Comrade."; + } + next; + getitem 504,12; //White_Potion + 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 "[Michael Halig]"; 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 + set CRUS_Q,0; + if(Class == Job_Baby_Swordman){ + jobchange Job_Baby_Crusader; + } else { + jobchange Job_Crusader; + } + set FJOB,Job_Royal_Guard; 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."; + mes "When the Holy War comes, we shall fight side by side against the forces of evil. Now you are one of us!"; + if (Sex == 1) { + mes "...Brother."; + } + else { + mes "...Comrade."; + } next; - if(.@JobLevel != 50) getitem 504, 6; - else getitem 504, 12; + getitem 504,6; //White_Potion mes "[Michael Halig]"; mes "And use this in times of dire peril. It will give you strength when your wounds are most grievous."; next; @@ -307,6 +429,7 @@ prt_castle,45,169,5 script Senior Crusader 752,{ 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 "[Michael Halig]"; 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]"; @@ -314,15 +437,15 @@ prt_castle,45,169,5 script Senior Crusader 752,{ 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) { + if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { + if (Class == Job_Baby_Crusader || Class == Job_Crusader) { + mes "[Murnak Mijoul]"; 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) { + if (Class == Job_Baby || Class == Job_Novice) { + mes "[Murnak Mijoul]"; mes "A Novice...?"; mes "So green, and yet,"; mes "so much potential."; @@ -331,10 +454,12 @@ prt_castle,164,32,1 script Man in Anguish 733,{ 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 "[Murnak Mijoul]"; 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) { + if (CRUS_Q == 0) { + mes "[Murnak Mijoul]"; 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..."; @@ -343,11 +468,46 @@ prt_castle,164,32,1 script Man in Anguish 733,{ 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) { + if (CRUS_Q == 1) { + mes "[Murnak Mijoul]"; + 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; + } + if (CRUS_Q == 2) { + mes "[Murnak Mijoul]"; + 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; + } + if (CRUS_Q == 3) { + mes "[Murnak Mijoul]"; + 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; + } + if (CRUS_Q == 4) { + mes "[Murnak Mijoul]"; 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?"; + if (Sex == 1) { + 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]"; @@ -359,7 +519,7 @@ prt_castle,164,32,1 script Man in Anguish 733,{ mes "Let me take"; mes "a look at your face."; next; - if(getequipid(7) != 2608 && getequipid(8) != 2608) { + if (!isequipped(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; @@ -391,7 +551,8 @@ prt_castle,164,32,1 script Man in Anguish 733,{ 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) { + if (CRUS_Q == 5) { + mes "[Murnak Mijoul]"; mes "What is it...?"; mes "You're the Swordman from before. What happened, did you fail?"; next; @@ -400,7 +561,7 @@ prt_castle,164,32,1 script Man in Anguish 733,{ 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) { + if (!isequipped(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."; @@ -426,6 +587,7 @@ prt_castle,164,32,1 script Man in Anguish 733,{ mes "Good luck."; close2; warp "job_cru",98,40; + end; } 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."; @@ -434,24 +596,26 @@ prt_castle,164,32,1 script Man in Anguish 733,{ 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) { + if (CRUS_Q == 6) { + mes "[Murnak Mijoul]"; mes "Hmm, seems like you did well. It shouldn't have been too hard. You no longer have any business"; mes "with me."; next; + changequest 3010,3011; 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 "[Murnak Mijoul]"; 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) { +prt_church,95,127,5 script Crusader 745,{ + if ((Class != Job_Baby_Swordmann) && (Class != Job_Swordman)) { + if (Class == Job_Baby_Crusader || Class == Job_Crusader) { + mes "[Gabriel Valentine]"; mes "Welcome, fellow Crusader."; mes "How is your training"; mes "coming along?"; @@ -460,7 +624,8 @@ prt_church,95,127,3 script Crusader 745,{ 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) { + if (Class == Job_Baby || Class == Job_Novice) { + mes "[Gabriel Valentine]"; mes "Welcome, I am a Crusader."; mes "I am preparing for the"; mes "foretold Holy War"; @@ -471,247 +636,481 @@ prt_church,95,127,3 script Crusader 745,{ 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; + close2; } + mes "[Gabriel Valentine]"; 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."; + mes "I hope you will train yourself in preparation for the future as well."; + close; + } + if (CRUS_Q == 0) { + mes "[Gabriel Valentine]"; + 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; + } + if (CRUS_Q == 6) { + mes "[Gabriel Valentine]"; + 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; + set .@cru_m, rand(1,3); + set @cru_t, 0; + mes "[Gabriel Valentine]"; + mes "I will give"; + mes "you 10 questions."; + mes "Answer them correctly."; + next; + 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%") == 2) { + 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 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 is a different size?"; + next; + if (select("Wraith:Khalitzburg:Drake:Evil Druid") == 3) { + set @cru_t, @cru_t + 10; + } + mes "[Gabriel Valentine]"; + mes "6. Which card is immune to undead 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 teh relationship between Munak and Bongun before they passed away?"; + next; + if (select("Big Brother and Little Sister:Neighborhood Older Sister and Younger Brother:Stepbrother and sister:Did not know each other") == 2) { + set @cru_t, @cru_t + 10; + } + mes "[Gabriel Valentine]"; + mes "8. Which monster is a different type of undead monster?"; + 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 a shield with a Munak Card?"; + 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 its article left at death?"; + next; + if (select("Munak:Ghoul:Mummy:Soldier Skeleton") == 1) { + set @cru_t, @cru_t + 10; + } + } + if (.@cru_m == 2) { + mes "[Gabriel Valentine]"; + mes "1. Which of the following monsters has a different attribute?"; + 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 does the Dokebi NOT drop?"; + 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?"; + next; + if (select("Ghostring:Whisper:Deviruchi:Baphomet Junior") == 1) { + set @cru_t, @cru_t + 10; + } + mes "[Gabriel Valentine]"; + mes "6. Which shield decreases attacks from 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("Yell out - Evil one go away!:Offer your soul and get a deal.:Put Holy Water on 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("Lv. 1:Lv. 2:Lv. 3:Lv. 4") == 3) { + set @cru_t, @cru_t + 10; + } + mes "[Gabriel Valentine]"; + mes "2. If your INT is 30 at level 55 (including the INT from equipment) how much HP does Lv. 5 Heal recover?"; + next; + if (select("396:440:484:528") == 2) { + set @cru_t, @cru_t + 10; + } + mes "[Gabriel Valentine]"; + mes "3. When using Divine Protection Lv. 7, how much does your defense increase by against Undead?"; + 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 the Nightmare with ghost attributes?"; + 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("Lv. 1:Lv. 2:Lv. 3:Lv. 4") == 2) { + set @cru_t, @cru_t + 10; + } + mes "[Gabriel Valentine]"; + mes "6. What is the attack speed with Cavalier Mastery Lv.3?"; + 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 a correction description of Demon Bane?"; + 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 Heal Lv. 7 use?"; + next; + if (select("30:31:33:35") == 2) { + set @cru_t, @cru_t + 10; + } + mes "[Gabriel Valentine]"; + mes "9. When can you cure with Cure?"; + 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 a cookie.:One preparing for the Holy War.:One preparing to drink.: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; + } + 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; + } + set CRUS_Q,7; + 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 == 0) { - mes "Welcome. We are Crusaders."; - mes "We are preparing for the"; - mes "foretold Holy War"; - mes "that is to come."; + if (CRUS_Q == 7) { + mes "[Gabriel Valentine]"; + mes "Welcome back~"; + mes "Did you prepare"; + mes "well for this test?"; + mes "Let's try again,"; + mes "shall we...?"; next; + set .@cru_m, rand(1,3); + set @cru_t, 0; 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); + mes "Once again, I'm going"; + mes "to give you 10 questions"; + mes "Listen carefully, and"; + mes "choose the correct answer."; + next; 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; - + 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?"; + 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; - + if (select("25%:50%:75%:100%") == 2) { + 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; - + 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?"; + mes "4. Which Undead monster has the highest HP?"; next; - if (select("Ghoul:Skeleton Prisoner:Wraith:Zombie Prisoner") == 4) - set .@cru_t,.@cru_t+10; - + 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?"; + mes "5. Which of the following is a different size?"; next; - if (select("Wraith:Khalitzburg:Drake:Evil Druid") == 3) - set .@cru_t,.@cru_t+10; - + 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?"; + mes "6. Which card is immune to undead attacks?"; next; - if (select("Orc Skeleton Card:Orc Zombie Card:Ghoul Card:Skel Worker Card") == 2) - set .@cru_t,.@cru_t+10; - + 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?"; + mes "7. What was teh 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; - + if (select("Big Brother and Little Sister:Neighborhood Older Sister and Younger Brother:Stepbrother and sister:Did not know each other") == 2) { + set @cru_t, @cru_t + 10; + } mes "[Gabriel Valentine]"; - mes "8. Which of the following monsters is not aggressive?"; + mes "8. Which monster is a different type of undead monster?"; next; - if (select("Soldier Skeleton:Orc Skeleton:Skeleton:Skel Worker") == 3) - set .@cru_t,.@cru_t+10; - + 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?"; + mes "9. What is the name of a shield with a Munak Card?"; next; - if (select("Atomic Shield:Amulet Shield:Hypnotic Shield:Homeroth Shield") == 2) - set .@cru_t,.@cru_t+10; - + 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?"; + mes "10. Which of the following monsters does not drop its article left at death?"; next; - if (select("Munak:Ghoul:Mummy:Soldier Skeleton") == 1) - set .@cru_t,.@cru_t+10; + if (select("Munak:Ghoul:Mummy:Soldier Skeleton") == 1) { + set @cru_t, @cru_t + 10; + } } - else if (.@cru_m == 2) { + if (.@cru_m == 2) { mes "[Gabriel Valentine]"; - mes "1. Which of the following monsters is a different attribute than the others?"; + mes "1. Which of the following monsters has a different attribute?"; next; - if (select("Carat:Wind Ghost:Isis:Wanderer") == 3) - set .@cru_t,.@cru_t+10; - + 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?"; + 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; - + 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?"; + mes "3. Which item does the Dokebi NOT drop?"; next; - if (select("Rough Elunium:Golden Hammer:Sword Mace:Mighty Staff") == 2) - set .@cru_t,.@cru_t+10; - + 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?"; + mes "4. Which demon monster has the most HP?"; next; - if (select("Giearth:Magnolia:Dokebi:Marionette") == 4) - set .@cru_t,.@cru_t+10; - + 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?"; + mes "5. Which demon monster is a different size?"; next; - if (select("Ghostring:Whisper:Deviruchi:Baphomet Junior") == 1) - set .@cru_t,.@cru_t+10; - + 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?"; + mes "6. Which shield decreases attacks from demon monsters?"; next; - if (select("Satanic Shield:Shield from Hell:Amulet Shield:Excellent Shield") == 2) - set .@cru_t,.@cru_t+10; - + 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; - + 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?"; + 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; - + 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; - + 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; + if (select("Yell out - Evil one go away!:Offer your soul and get a deal.:Put Holy Water on 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?'"; + 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; - + if (select("Lv. 1:Lv. 2:Lv. 3:Lv. 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?"; + mes "2. If your INT is 30 at level 55 (including the INT from equipment) how much HP does Lv. 5 Heal recover?"; next; - if (select("396:440:484:528") == 2) - set .@cru_t,.@cru_t+10; - + 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?"; + mes "3. When using Divine Protection Lv. 7, how much does your defense increase by against Undead?"; next; - if (select("21:22:23:24") == 1) - set .@cru_t,.@cru_t+10; - + 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?"; + mes "4. Which of the following spears can attack the Nightmare with ghost attributes?"; next; - if (select("Lance:Bill Guisarme:Cresent scythe:Zephyrus") == 4) - set .@cru_t,.@cru_t+10; - + 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?'"; + 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; - + if (select("Lv. 1:Lv. 2:Lv. 3:Lv. 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?"; + mes "6. What is the attack speed with Cavalier Mastery Lv.3?"; 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; - + 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?"; + mes "7. Which of the following is not a correction description of Demon Bane?"; 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; - + 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?"; + mes "8. How much SP does Heal Lv. 7 use?"; next; - if (select("30:31:33:35") == 2) - set .@cru_t,.@cru_t+10; - + 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?"; + mes "9. When can you cure with Cure?"; next; - if (select("Curse:Silence:Chaos:Blind") == 1) - set .@cru_t,.@cru_t+10; - + 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; - + if (select("One preparing a cookie.:One preparing for the Holy War.:One preparing to drink.:One preparing potions.") == 2) { + set @cru_t, @cru_t + 10; + } } mes "[Gabriel Valentine]"; mes "Good work~"; @@ -719,11 +1118,11 @@ prt_church,95,127,3 script Crusader 745,{ 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 "" + strcharinfo(0) + "'s score"; + mes "is " + @cru_t + " points..."; + if (@cru_t == 100) { + set CRUS_Q,8; + changequest 3012,3013; mes "Superb! Now, it's time for"; mes "you to take the next test."; next; @@ -734,9 +1133,9 @@ prt_church,95,127,3 script Crusader 745,{ mes "he will be testing you next."; close; } - else if(.@cru_t == 90) { - set CRUS_Q, 8; - changequest 3011,3013; + if (@cru_t == 90) { + set CRUS_Q,8; + changequest 3012,3013; mes "Well done~ Now, it's time for"; mes "you to take the next test."; next; @@ -747,9 +1146,9 @@ prt_church,95,127,3 script Crusader 745,{ mes "he will be testing you next."; close; } - else if (.@cru_t == 80 && CRUS_Q == 7) { + if (@cru_t == 80) { set CRUS_Q,8; - changequest 3011,3013; + changequest 3012,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; @@ -759,28 +1158,32 @@ prt_church,95,127,3 script Crusader 745,{ 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?"; + mes "Aww, what a pity. Come again after studying some more."; 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?"; + mes "I shall wait since there is a lot of preparation required."; + mes "Come back when you believe you are ready..."; close; - } - else if(CRUS_Q == 8 || CRUS_Q == 9) { + } + if (CRUS_Q == 8) { + mes "[Gabriel Valentine]"; + 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; + } + if (CRUS_Q == 9) { + mes "[Gabriel Valentine]"; 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) { + if (CRUS_Q == 10) { + mes "[Gabriel Valentine]"; 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 "[Gabriel Valentine]"; mes "Mmm...?"; mes "It seems that you're"; mes "an aspiring Crusader..."; @@ -795,20 +1198,21 @@ prt_church,95,127,3 script Crusader 745,{ 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) { +prt_castle,35,151,5 script Patron Kinght 751,{ + if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { + if (Class == Job_Baby_Crusader || Class == Job_Crusader) { + mes "[Bliant Piyord]"; + mes "Welcome."; 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; + close2; } - else if(BaseJob == Job_Novice) { + if (Class == Job_Baby || Class == Job_Novice) { + mes "[Bliant Piyord]"; + mes "Welcome."; mes "We are Crusaders,"; mes "warriors of holiness preparing for the great Holy War that is to come."; next; @@ -823,6 +1227,8 @@ prt_castle,35,151,5 script Patron Knight 751,{ 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 "[Bliant Piyord]"; + mes "Welcome."; mes "We are Crusaders,"; mes "warriors of holiness preparing for the great Holy War that is to come."; next; @@ -830,7 +1236,9 @@ prt_castle,35,151,5 script Patron Knight 751,{ 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) { + if (CRUS_Q == 0) { + mes "[Bliant Piyord]"; + mes "Welcome."; mes "We are Crusaders,"; mes "warriors of holiness preparing for the great Holy War that is to come."; next; @@ -849,43 +1257,99 @@ prt_castle,35,151,5 script Patron Knight 751,{ 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) { + if (CRUS_Q == 8) { + mes "[Bliant Piyord]"; + mes "Welcome. "; + 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."; + next; + mes "[Bliant Piyord]"; + mes "Well then..."; + mes "Shall we"; + mes "begin right away?"; + mes "Or do you need time"; + mes "to prepare yourself?"; + next; + if (select("I would like to begin.:Give me some time to prepare.") == 1) { + if (!isequipped(2608)) { + set CRUS_Q,9; changequest 3013,3014; + 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; } - next; + if (countitem(523) > 0) { + changequest 3013,3014; + set CRUS_Q,9; + 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; + } + set CRUS_Q,9; + changequest 3013,3014; 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?"; + 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 "Would you like to begin now, or do you still need time to make preparations?"; + mes "Come back and take"; + mes "the test after you"; + mes "have prepared"; + mes "1 Holy Water."; + mes "I shall be"; + mes "waiting."; + close; } + mes "[Bliant Piyord]"; + mes "Well then,"; + mes "take your time."; + mes "I shall be waiting."; + close; + } + if (CRUS_Q == 9) { + mes "[Bliant Piyord]"; + mes "Welcome."; + 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) { + if (!isequipped(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; @@ -895,50 +1359,48 @@ prt_castle,35,151,5 script Patron Knight 751,{ mes "have a Rosary."; close; } - else if(countitem(523) < 1) { + if (countitem(523) > 0) { + delitem 523,1; //Holy_Water mes "[Bliant Piyord]"; - mes "For the battle test, please prepare one ^3355FFHoly water^000000."; - mes "I told you just to purify the candidates."; + 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 "Get prepares and come back to here."; - mes "I will wait for you."; - close; + 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; } - 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."; + 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 "..............."; - 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 "Come back and take"; + mes "the test after you"; + mes "have prepared"; + mes "1 Holy Water."; + mes "I shall be"; + mes "waiting."; + close; } 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."; + mes "Well then,"; + mes "take your time."; + mes "I shall be waiting."; close; - } - else if(CRUS_Q == 10) { + } + if (CRUS_Q == 10) { + mes "[Bliant Piyord]"; mes "Congratulations."; mes "You have completed"; mes "all the tests to"; @@ -953,6 +1415,8 @@ prt_castle,35,151,5 script Patron Knight 751,{ mes "coming Holy War."; close; } + mes "[Bliant Piyord]"; + mes "Welcome."; mes "Are you not one of the ones in the process of becoming a Crusader?"; next; mes "[Bliant Piyord]"; @@ -968,245 +1432,247 @@ prt_castle,35,151,5 script Patron Knight 751,{ close; } +job_cru,1,1,1 script Summoner#1 107,{ + end; - -//=== Actual tests ======================================== -//=== Endurance Test ====================================== -job_cru,1,1,1 script Summoner#cr1 -1,{ OnTimer300000: - donpcevent "Summoner#cr1::OnReset"; + donpcevent "Summoner#1::OnReset"; end; OnTimer300500: - donpcevent "Summoner#cr1::OnEnd"; + donpcevent "Summoner#1::OnDisable"; end; OnTimer301000: - donpcevent "Summoner#cr1::OnStart"; + donpcevent "Summoner#1::OnEnable"; 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"; + hideoffnpc "Summoner#1"; + monster "job_cru",94,45,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; + monster "job_cru",94,55,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; + monster "job_cru",94,65,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; + monster "job_cru",94,75,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; + monster "job_cru",94,85,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; + monster "job_cru",94,95,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; + monster "job_cru",101,45,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; + monster "job_cru",101,55,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; + monster "job_cru",101,65,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; + monster "job_cru",101,75,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; + monster "job_cru",101,85,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; + monster "job_cru",101,95,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; 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"; +OnEnable: + hideoffnpc "Summoner#1"; + monster "job_cru",94,45,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; + monster "job_cru",94,55,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; + monster "job_cru",94,65,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; + monster "job_cru",94,75,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; + monster "job_cru",94,85,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; + monster "job_cru",94,95,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; + monster "job_cru",101,45,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; + monster "job_cru",101,55,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; + monster "job_cru",101,65,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; + monster "job_cru",101,75,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; + monster "job_cru",101,85,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; + monster "job_cru",101,95,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; initnpctimer; end; OnReset: - killmonster "job_cru","Summoner#cr1::OnDead"; + killmonster "job_cru","Summoner#1::OnMyMobDead"; end; -OnEnd: - disablenpc "Summoner#cr1"; +OnDisable: + hideonnpc "Summoner#1"; end; -OnDead: +OnMyMobDead: warp "prt_fild05",353,251; end; } -job_cru,1,2,1 script Summoner#cr2 -1,{ +job_cru,1,2,1 script Summoner#2 107,1,1,{ + end; + OnTimer345000: - donpcevent "Summoner#cr2::OnReset"; + donpcevent "Summoner#2::OnReset"; end; OnTimer345500: - donpcevent "Summoner#cr2::OnEnd"; + donpcevent "Summoner#2::OnDisable"; end; OnTimer346000: - donpcevent "Summoner#cr2::OnStart"; + donpcevent "Summoner#2::OnEnable"; 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"; + hideoffnpc "Summoner#2"; + monster "job_cru",98,50,"Flora",1118,1,"Summoner#2::OnMyMobDead"; + monster "job_cru",92,60,"Flora",1118,1,"Summoner#2::OnMyMobDead"; + monster "job_cru",104,60,"Flora",1118,1,"Summoner#2::OnMyMobDead"; + monster "job_cru",98,70,"Flora",1118,1,"Summoner#2::OnMyMobDead"; + monster "job_cru",92,80,"Flora",1118,1,"Summoner#2::OnMyMobDead"; + monster "job_cru",104,80,"Flora",1118,1,"Summoner#2::OnMyMobDead"; + monster "job_cru",98,90,"Flora",1118,1,"Summoner#2::OnMyMobDead"; 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"; +OnEnable: + hideoffnpc "Summoner#2"; + monster "job_cru",98,50,"Flora",1118,1,"Summoner#2::OnMyMobDead"; + monster "job_cru",92,60,"Flora",1118,1,"Summoner#2::OnMyMobDead"; + monster "job_cru",104,60,"Flora",1118,1,"Summoner#2::OnMyMobDead"; + monster "job_cru",98,70,"Flora",1118,1,"Summoner#2::OnMyMobDead"; + monster "job_cru",92,80,"Flora",1118,1,"Summoner#2::OnMyMobDead"; + monster "job_cru",104,80,"Flora",1118,1,"Summoner#2::OnMyMobDead"; + monster "job_cru",98,90,"Flora",1118,1,"Summoner#2::OnMyMobDead"; initnpctimer; end; OnReset: - killmonster "job_cru","Summoner#cr2::OnDead"; + killmonster "job_cru","Summoner#2::OnMyMobDead"; end; -OnEnd: - disablenpc "Summoner#cr2"; +OnDisable: + hideonnpc "Summoner#2"; end; -OnDead: +OnMyMobDead: warp "prt_fild05",353,251; end; } -job_cru,1,3,1 script Summoner#cr3 -1,{ +job_cru,1,3,1 script Summoner#3 107,1,1,{ + end; + OnTimer345000: - donpcevent "Summoner#cr3::OnReset"; + donpcevent "Summoner#3::OnReset"; end; OnTimer345500: - donpcevent "Summoner#cr3::OnEnd"; + donpcevent "Summoner#3::OnDisable"; end; OnTimer346000: - donpcevent "Summoner#cr3::OnStart"; + donpcevent "Summoner#3::OnEnable"; 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; + hideoffnpc "Summoner#3"; + monster "job_cru",92,50,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; + monster "job_cru",104,50,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; + monster "job_cru",98,60,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; + monster "job_cru",92,70,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; + monster "job_cru",104,70,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; + monster "job_cru",98,80,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; + monster "job_cru",92,90,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; + monster "job_cru",104,90,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; + initnpctimer; + end; + +OnEnable: + hideoffnpc "Summoner#3"; + monster "job_cru",90,50,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; + monster "job_cru",105,50,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; + monster "job_cru",98,60,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; + monster "job_cru",90,70,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; + monster "job_cru",105,70,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; + monster "job_cru",98,80,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; + monster "job_cru",90,90,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; + monster "job_cru",105,90,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; + initnpctimer; end; OnReset: - killmonster "job_cru","Summoner#cr3::OnDead"; + killmonster "job_cru","Summoner#3::OnMyMobDead"; end; -OnEnd: - disablenpc "Summoner#cr3"; +OnDisable: + hideonnpc "Summoner#3"; end; -OnDead: +OnMyMobDead: warp "prt_fild05",353,251; end; } -job_cru,1,4,1 script Summoner#cr4 -1,{ -OnTimer345000: - donpcevent "Summoner#cr4::OnReset"; +job_cru,1,3,1 script Summoner#4 107,1,1,{ end; -OnTimer345500: - donpcevent "Summoner#cr4::OnEnd"; +OnTimer185000: + donpcevent "Summoner#4::OnReset"; end; -OnTimer346000: - donpcevent "Summoner#cr4::OnStart"; +OnTimer185500: + donpcevent "Summoner#4::OnDisable"; + end; + +OnTimer186000: + donpcevent "Summoner#4::OnEnable"; 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"; + hideoffnpc "Summoner#4"; + monster "job_cru",98,50,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; + monster "job_cru",98,55,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; + monster "job_cru",98,60,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; + monster "job_cru",98,65,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; + monster "job_cru",98,70,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; + monster "job_cru",98,75,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; + monster "job_cru",98,80,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; + monster "job_cru",98,85,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; + monster "job_cru",98,90,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; + monster "job_cru",90,34,"Mushroom",1182,1,"Summoner#4::OnMyMobDead"; + monster "job_cru",105,34,"Mushroom",1182,1,"Summoner#4::OnMyMobDead"; 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"; +OnEnable: + hideoffnpc "Summoner#4"; + monster "job_cru",98,50,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; + monster "job_cru",98,55,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; + monster "job_cru",98,60,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; + monster "job_cru",98,65,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; + monster "job_cru",98,70,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; + monster "job_cru",98,75,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; + monster "job_cru",98,80,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; + monster "job_cru",98,85,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; + monster "job_cru",98,90,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; + monster "job_cru",90,34,"Mushroom",1182,1,"Summoner#4::OnMyMobDead"; + monster "job_cru",105,34,"Mushroom",1182,1,"Summoner#4::OnMyMobDead"; initnpctimer; end; OnReset: - killmonster "job_cru","Summoner#cr4::OnDead"; + killmonster "job_cru","Summoner#4::OnMyMobDead"; end; -OnEnd: - disablenpc "Summoner#cr4"; +OnDisable: + hideonnpc "Summoner#4"; end; -OnDead: +OnMyMobDead: warp "prt_fild05",353,251; end; } +job_cru,98,105,0 script Summoner#5 45,4,3,{ -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,{ +job_cru,24,187,4 script Patron Knight 751,{ mes "[Bliant Piyord]"; mes "Welcome."; mes "You will take"; @@ -1223,27 +1689,28 @@ job_cru,24,187,4 script Patron Knight#2 751,{ close; } -job_cru,24,187,2 script Waiting Room#cr1 700,{ +job_cru,24,187,2 script Waiting Room#1 700,{ end; OnInit: - disablenpc "Waiting Room#cr1"; - waitingroom "Waiting Room",20,"Waiting Room#cr1::OnStartArena",1; + hideonnpc "Waiting Room#1"; + waitingroom "Waiting Room",20,"Waiting Room#1::OnStartArena",1; enablewaitingroomevent; end; OnStartArena: - warpwaitingpc "job_cru",168,21; - donpcevent "Monster Summon#cr0::OnStart"; + warpwaitingpc "job_cru",168,17; + donpcevent "Monster Summon#0::OnEnable"; disablewaitingroomevent; end; -OnStart: +OnEnable: enablewaitingroomevent; end; } -job_cru,168,17,0 script Zombie Guide -1,2,2,{ +job_cru,168,17,0 script Zombie Guide 139,2,2,{ + OnTouch: mes "[Bliant Piyord]"; mes "Go forth and defeat all"; @@ -1255,202 +1722,218 @@ OnTouch: mes "You will be given"; mes "4 minutes. Go forth"; mes "and do your best..."; - close; + close2; + end; } -job_cru,2,1,1 script Monster Summon#cr0 -1,{ +job_cru,2,1,1 script Monster Summon#0 110,1,1,{ + end; + OnInit: - disablenpc "Monster Summon#cr0"; + hideonnpc "Monster Summon#0"; 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"; +OnEnable: + hideoffnpc "Monster Summon#0"; + donpcevent "Monster Summon#1::OnEnable"; + donpcevent "Monster Summon#2::OnEnable"; + donpcevent "Monster Summon#3::OnEnable"; + donpcevent "Monster Summon#4::OnEnable"; + donpcevent "Monster Summon#6::OnEnable"; 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"; +OnM1: + monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#0::OnMyMobDead"; + monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#0::OnMyMobDead"; + monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#0::OnMyMobDead"; + monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#0::OnMyMobDead"; + monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#0::OnMyMobDead"; + monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#0::OnMyMobDead"; 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"; +OnM2: + monster "job_cru",168,80,"Soldier Skeleton",1028,1,"Monster Summon#0::OnMyMobDead"; + monster "job_cru",168,80,"Soldier Skeleton",1028,1,"Monster Summon#0::OnMyMobDead"; + monster "job_cru",168,80,"Soldier Skeleton",1028,1,"Monster Summon#0::OnMyMobDead"; 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"; +OnM3: + monster "job_cru",168,115,"Mummy",1041,1,"Monster Summon#0::OnMyMobDead"; end; -OnDead: - set .MyMonsterCount,.MyMonsterCount+1; - if (.MyMonsterCount >= 10) { +OnMyMobDead: + if (mobcount ("job_cru","Monster Summon#0::OnMyMobDead") < 1) { set CRUS_Q,10; changequest 3014,3015; } end; -OnEnd: - disablenpc "Monster Summon#cr0"; +OnDisable: + hideonnpc "Monster Summon#0"; end; OnReset: - killmonster "job_cru","Monster Summon#cr0::OnDead"; + killmonster "job_cru","Monster Summon#0::OnMyMobDead"; end; } -job_cru,168,45,0 script Monster Summon#cr1 -1,15,1,{ -OnInit: - disablenpc "Monster Summon#cr1"; - end; +job_cru,168,45,0 script Monster Summon#1 139,15,1,{ OnTouch: - donpcevent "Monster Summon#cr0::OnMonster1"; - donpcevent "Monster Summon#cr1::OnEnd"; + donpcevent "Monster Summon#0::OnM1"; + donpcevent "Monster Summon#1::OnDisable"; end; -OnStart: - enablenpc "Monster Summon#cr1"; +OnInit: + hideonnpc "Monster Summon#1"; end; -OnEnd: - disablenpc "Monster Summon#cr1"; +OnEnable: + hideoffnpc "Monster Summon#1"; end; -} -job_cru,168,80,0 script Monster Summon#cr2 -1,15,1,{ -OnInit: - disablenpc "Monster Summon#cr2"; +OnDisable: + hideonnpc "Monster Summon#1"; end; +} + +job_cru,168,80,0 script Monster Summon#2 139,15,1,{ OnTouch: - donpcevent "Monster Summon#cr0::OnMonster2"; - donpcevent "Monster Summon#cr2::OnEnd"; + donpcevent "Monster Summon#0::OnM2"; + donpcevent "Monster Summon#2::OnDisable"; end; -OnStart: - enablenpc "Monster Summon#cr2"; +OnInit: + hideonnpc "Monster Summon#2"; end; -OnEnd: - disablenpc "Monster Summon#cr2"; +OnEnable: + hideoffnpc "Monster Summon#2"; end; -} -job_cru,165,115,0 script Monster Summon#cr3 -1,15,1,{ -OnInit: - disablenpc "Monster Summon#cr3"; +OnDisable: + hideonnpc "Monster Summon#2"; end; +} + +job_cru,168,115,0 script Monster Summon#3 139,15,1,{ OnTouch: - donpcevent "Monster Summon#cr0::OnMonster3"; - donpcevent "Monster Summon#cr3::OnEnd"; + monster "job_cru",168,110,"Archer Skeleton",1016,1; + donpcevent "Monster Summon#0::OnM3"; + donpcevent "Monster Summon#3::OnDisable"; + end; + +OnInit: + hideonnpc "Monster Summon#3"; end; -OnStart: - enablenpc "Monster Summon#cr3"; +OnEnable: + hideoffnpc "Monster Summon#3"; end; -OnEnd: - disablenpc "Monster Summon#cr3"; +OnDisable: + hideonnpc "Monster Summon#3"; end; } -job_cru,168,150,0 script Monster Summon#cr4 -1,15,1,{ -OnInit: - disablenpc "Monster Summon#cr4"; - end; +job_cru,168,150,0 script Monster Summon#4 139,15,1,{ OnTouch: - monster "job_cru",168,150,strcharinfo(0),1036,1,"Monster Summon#cr4-a::OnDead"; - donpcevent "Monster Summon#cr4::OnEnd"; + monster "job_cru",168,150,"Ghoul",1036,1; + donpcevent "Monster Summon#4::OnDisable"; end; -OnDead: - donpcevent "Monster Summon#cr5::OnStart"; +OnInit: + hideonnpc "Monster Summon#4"; end; -OnStart: - enablenpc "Monster Summon#cr4"; +OnMyMobDead: + donpcevent "Monster Summon#5::OnEnable"; end; -OnReset: - killmonster "job_cru","Monster Summon#cr4-a::OnDead"; +OnEnable: + hideoffnpc "Monster Summon#4"; end; -OnEnd: - disablenpc "Monster Summon#cr4"; +OnReset: + killmonster "job_cru","Monster Summon#4::OnMyMobDead"; end; -} - -job_cru,168,150,0 script Monster Summon#cr4-a -1,{ -OnDead: - donpcevent "Monster Summon#cr5::OnStart"; +OnDisable: + hideonnpc "Monster Summon#4"; end; } -job_cru,168,180,4 script Monster Summon#cr5 45,3,3,{ -OnInit: - disablenpc "Monster Summon#cr5"; - end; +job_cru,168,180,0 script Monster Summon#5 45,4,3,{ 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"; + donpcevent "Monster Summon#0::OnReset"; + donpcevent "Monster Summon#0::OnDisable"; + donpcevent "Monster Summon#6::OnStop"; + donpcevent "Monster Summon#6::OnDisable"; + donpcevent "Monster Summon#5::OnDisable"; + donpcevent "Waiting Room#1::OnEnable"; + end; + +OnInit: + hideonnpc "Monster Summon#5"; end; -OnStart: - enablenpc "Monster Summon#cr5"; +OnEnable: + hideoffnpc "Monster Summon#5"; end; -OnEnd: - disablenpc "Monster Summon#cr5"; +OnDisable: + hideonnpc "Monster Summon#5"; end; } -job_cru,2,2,1 script Monster Summon#cr6 -1,{ +job_cru,2,2,1 script Monster Summon#6 110,1,1,{ + end; + +OnTimer60000: + donpcevent "Monster Summon#8::OnEnable"; + end; + +OnTimer61000: + donpcevent "Monster Summon#8::OnDisable"; + end; + +OnTimer240000: + donpcevent "Monster Summon#7::OnEnable"; + end; + 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"; + donpcevent "Monster Summon#0::OnReset"; + donpcevent "Monster Summon#4::OnReset"; + end; + +OnTimer242000: + donpcevent "Monster Summon#0::OnDisable"; + donpcevent "Monster Summon#4::OnDisable"; + donpcevent "Monster Summon#7::OnDisable"; + end; + +OnTimer243000: + donpcevent "Monster Summon#6::OnDisable"; + donpcevent "Waiting Room#1::OnEnable"; + stopnpctimer; end; OnInit: - disablenpc "Monster Summon#cr6"; + hideonnpc "Monster Summon#6"; end; -OnStart: - enablenpc "Monster Summon#cr6"; +OnEnable: + hideoffnpc "Monster Summon#6"; initnpctimer; end; -OnEnd: - disablenpc "Monster Summon#cr6"; +OnDisable: + hideonnpc "Monster Summon#6"; end; OnStop: @@ -1458,28 +1941,40 @@ OnStop: end; } -//============================================================ -// mapflag -//============================================================ +job_cru,168,110,0 script Monster Summon#7 139,14,82,{ -//============================================================ -// 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 +OnTouch: + warp "prontera",234,318; + end; + +OnInit: + hideonnpc "Monster Summon#7"; + end; + +OnEnable: + hideoffnpc "Monster Summon#7"; + end; + +OnDisable: + hideonnpc "Monster Summon#7"; + end; +} + +job_cru,168,17,0 script Monster Summon#8 139,14,5,{ + +OnTouch: + warp "prontera",234,318; + end; + +OnInit: + hideonnpc "Monster Summon#8"; + end; + +OnEnable: + hideoffnpc "Monster Summon#8"; + end; + +OnDisable: + hideonnpc "Monster Summon#8"; + end; +} \ No newline at end of file diff --git a/npc/jobs/2-2/dancer.txt b/npc/jobs/2-2/dancer.txt index 285b7fa14..ef14e919c 100644 --- a/npc/jobs/2-2/dancer.txt +++ b/npc/jobs/2-2/dancer.txt @@ -1,25 +1,17 @@ -//===== rAthena Script ======================================= -//= Dancer Job Quest +//===== rAthena Script ======================================= +// Dancer Job change 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] +//= Masao +//= Credits: Muad_Dib +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= Any rAthena SVN +//===== Description: ========================================= +//= [Translated from the Official] +//= Job change Quest from Archer[F] -> Dancer. +//===== Additional Comments: ================================= +//= 1.0 Updated to latest available official file. [Masao] //============================================================ comodo,180,153,4 script Sonotora#1 90,{ @@ -75,7 +67,7 @@ comodo,193,151,4 script Bor Robin#1 86,{ close; } -job_duncer,43,93,4 script Aile#da 724,{ +job_duncer,43,93,4 script Aile 724,{ if (Upper == 1) { mes "[Aile]"; mes "One two three four,"; @@ -98,8 +90,8 @@ job_duncer,43,93,4 script Aile#da 724,{ cutin "",255; end; } - if (BaseJob != Job_Archer) { - if (BaseJob == Job_Bard) { + if ((Class != Job_Baby_Archer) && (Class != Job_Archer) && (Sex == 1)) { + if (Class == Job_Bard) { cutin "job_dancer_eir01",2; mes "[Aile]"; mes "Welcome~!"; @@ -109,8 +101,8 @@ job_duncer,43,93,4 script Aile#da 724,{ cutin "",255; end; } - else if (BaseJob == Job_Dancer) { - cutin "",2; + if (Class == Job_Baby_Dancer || Class == Job_Dancer) { + cutin "job_dancer_eir01",2; mes "[Aile]"; mes "Welcome~!"; mes "How are you"; @@ -132,7 +124,7 @@ job_duncer,43,93,4 script Aile#da 724,{ cutin "",255; end; } - if (DANC_Q == 0 && sex == 0 && BaseJob == Job_Archer) { + if ((DANC_Q == 0) && (Sex == 0) && (Class == Job_Archer)) { cutin "job_dancer_eir01",2; mes "[Aile]"; mes "Welcome~!"; @@ -168,7 +160,7 @@ job_duncer,43,93,4 script Aile#da 724,{ mes "..."; mes "......"; next; - mes "^3355FF*Shuffle Shuffle*^000000"; + mes "^3355FF * Shuffle Shuffle * ^000000"; next; cutin "job_dancer_eir01",2; mes "[Aile]"; @@ -181,22 +173,20 @@ job_duncer,43,93,4 script Aile#da 724,{ 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 "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]"; @@ -208,7 +198,7 @@ job_duncer,43,93,4 script Aile#da 724,{ cutin "",255; end; } - else if (sex == 1) { + if (Sex == 1) { cutin "job_dancer_eir03",2; mes "[Aile]"; mes "Welco--Mmm?"; @@ -222,7 +212,7 @@ job_duncer,43,93,4 script Aile#da 724,{ cutin "",255; end; } - else if (DANC_Q == 1) { + if (DANC_Q == 1) { cutin "job_dancer_eir01",2; mes "[Aile]"; mes "Good."; @@ -231,8 +221,8 @@ job_duncer,43,93,4 script Aile#da 724,{ 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 .@item_nd, rand(1,10); + if ((.@item_nd > 0) && (.@item_nd < 3)) { set DANC_Q,2; changequest 7000,7001; mes "[Aile]"; @@ -249,7 +239,7 @@ job_duncer,43,93,4 script Aile#da 724,{ mes "^CD68895 Red Potions^000000 and"; mes "^CD68891 Shoes^000000."; } - else if (.@item_nd == 4) { + if (.@item_nd == 4) { set DANC_Q,3; changequest 7000,7002; mes "[Aile]"; @@ -285,28 +275,8 @@ job_duncer,43,93,4 script Aile#da 724,{ 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 ) { + if (DANC_Q == 2) { + if ((Zeny > 9999) && (countitem(938) > 19) && (countitem(909) > 2) && (countitem(501) > 4) && (countitem(2403) > 0)) { cutin "job_dancer_eir02",2; mes "[Aile]"; mes "Oh...!"; @@ -317,59 +287,118 @@ job_duncer,43,93,4 script Aile#da 724,{ mes "tuition fee."; next; cutin "job_dancer_eir01",2; - set zeny,zeny-10000; + 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; - } + changequest 7001,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,"; + mes "^CD688920 Sticky Mucus^000000,"; + mes "^CD68893 Jellopy^000000,"; + mes "^CD68895 Red Potions^000000 and"; + mes "^CD68891 Shoes^000000."; + close2; + cutin "",255; + end; + } + if (DANC_Q == 3) { + if ((Zeny > 9999) && (countitem(1055) > 4) && (countitem(2405) > 0)) { + 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 "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."; + 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; + changequest 7002,7004; + close2; + cutin "",255; + end; + } + 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,"; + mes "^CD68895 Earthworm Peelings^000000 and "; + mes "^CD68891 Boots^000000."; + close; + cutin "",255; + end; + } + if (DANC_Q == 4) { + if ((Zeny > 9999) && (countitem(965) > 1) && (countitem(503) > 4) && (countitem(909) > 19) && (countitem(1020) > 9) && (countitem(2401) > 0)) { + 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 "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."; - } + mes "Next, go to ^CD6889'Bijou'^000000"; + mes "who is in charge of the interviews."; + mes "She has a couple of things to ask you."; + set DANC_Q,5; + changequest 7003,7004; close2; cutin "",255; end; } + 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 "^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."; + close2; + cutin "",255; + end; } - else if (DANC_Q == 5) { + if (DANC_Q == 5) { cutin "job_dancer_eir01",2; mes "[Aile]"; mes "Hmm...?"; @@ -383,7 +412,7 @@ job_duncer,43,93,4 script Aile#da 724,{ cutin "",255; end; } - else if (DANC_Q > 5) { + if (DANC_Q > 5) { cutin "job_dancer_eir01",2; mes "[Aile]"; mes "I'll be looking"; @@ -393,24 +422,22 @@ job_duncer,43,93,4 script Aile#da 724,{ 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; - } + 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) { +job_duncer,95,93,4 script Bijou 101,{ + if (SkillPoint != 0) { mes "[Bijou]"; mes "You can't change jobs"; mes "if you still have skill"; @@ -418,14 +445,14 @@ job_duncer,95,93,4 script Bijou#da 101,{ mes "and come back later."; close; } - if (BaseJob != Job_Archer) { - if (BaseJob == Job_Bard) { + if ((Class != Job_Baby_Archer) && (Class != Job_Archer)) { + if (Class == Job_Baby_Bard || Class == 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) { + if (Class == Job_Baby_Dancer || Class == Job_Dancer) { mes "[Bijou]"; mes "Oh my...!"; mes "Welcome back~"; @@ -447,7 +474,7 @@ job_duncer,95,93,4 script Bijou#da 101,{ 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) { + if (DANC_Q < 5) { mes "[Bijou]"; mes "Oh my~"; mes "You want to"; @@ -458,7 +485,7 @@ job_duncer,95,93,4 script Bijou#da 101,{ 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 > 4) && (DANC_Q < 7)) { if (DANC_Q == 5) { mes "[Bijou]"; mes "Oh my~"; @@ -498,49 +525,57 @@ job_duncer,95,93,4 script Bijou#da 101,{ mes "pass this time, okay?"; next; } - switch(rand(1,3)) { - case 1: + set .@dancer_q, rand(1,3); + set @da_score,0; + if (.@dancer_q == 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; + 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; + switch (select("Tango:Tap Dance:HIP-HOP:Hip Shaker:Lightning Bolt")) { + case 1: + case 2: + case 3: + case 4: + set @da_score,@da_score - 10; break; case 5: - set .@da_score,.@da_score+10; + 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; + 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; + 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; + 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")) { + switch (select("" + strcharinfo(0) + ":Bijou:Isis:Guton Tak")) { case 1: mes "[Bijou]"; mes "..."; @@ -549,13 +584,15 @@ job_duncer,95,93,4 script Bijou#da 101,{ mes "Didn't you see the"; mes "other choices?!"; mes "Minus points...!"; - set .@da_score,.@da_score-10; + set @da_score,@da_score - 100; next; break; case 2: - set .@da_score,.@da_score+10; + set @da_score,@da_score + 10; + break; + case 3: break; - default: + case 4: break; } mes "[Bijou]"; @@ -563,43 +600,49 @@ job_duncer,95,93,4 script Bijou#da 101,{ mes "who can perform together"; mes "with a Dancer?"; next; - if (select("Assassin:Bard:Alchemist:Sage") == 2) - set .@da_score,.@da_score+10; + 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; + 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; + 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: + if (select("Bijou:Aile:Athena:Sonotora") == 2) { + set @da_score,@da_score + 10; + } + } + if (.@dancer_q == 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; + 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; + 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"; @@ -607,33 +650,37 @@ job_duncer,95,93,4 script Bijou#da 101,{ 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; + 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; + 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; + 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; + 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")) { + switch (select("" + strcharinfo(0) + ":Bijou:Isis:Guton Tak")) { case 1: mes "[Bijou]"; mes "..."; @@ -642,13 +689,15 @@ job_duncer,95,93,4 script Bijou#da 101,{ mes "Didn't you see the"; mes "other choices?!"; mes "Minus points...!"; - set .@da_score,.@da_score-10; + set @da_score,@da_score - 100; next; break; case 2: - set .@da_score,.@da_score+10; + set @da_score,@da_score + 10; + break; + case 3: break; - default: + case 4: break; } mes "[Bijou]"; @@ -656,32 +705,30 @@ job_duncer,95,93,4 script Bijou#da 101,{ 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; + 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; + 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: + 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; + } + } + else { 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; + if (select("Increases INT:Increases the effect of dancing skills:Increase damage of Whip weapons.:Inflict Stun on a certain area around the caster.") == 3) { + set @da_score,@da_score + 10; } mes "[Bijou]"; mes "2. What dance uses shoes"; @@ -690,25 +737,28 @@ job_duncer,95,93,4 script Bijou#da 101,{ 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; + 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; + 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; + 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")) { + switch (select("" + strcharinfo(0) + ":Bijou:Isis:Guton Tak")) { case 1: mes "[Bijou]"; mes "..."; @@ -717,13 +767,14 @@ job_duncer,95,93,4 script Bijou#da 101,{ mes "Didn't you see the"; mes "other choices?!"; mes "Minus points...!"; - set .@da_score,.@da_score-10; + set @da_score,@da_score - 100; next; - break; case 2: - set .@da_score,.@da_score+10; + set @da_score,@da_score + 10; break; - default: + case 3: + break; + case 4: break; } mes "[Bijou]"; @@ -731,33 +782,37 @@ job_duncer,95,93,4 script Bijou#da 101,{ mes "better at than the other"; mes "job classes?"; next; - if (select("Health:Acting :Dancing :Magic ") == 3) - set .@da_score,.@da_score+10; + 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; + 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; + 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; + 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; + if (select("Art Blakey:Billie Holiday :Louis Armstrong :Bud Powell :Elder Willow ") == 5) { + set @da_score,@da_score + 10; + } } mes "[Bijou]"; mes "Good job~"; @@ -768,8 +823,8 @@ job_duncer,95,93,4 script Bijou#da 101,{ mes "[Bijou]"; mes "Let's see..."; mes "Your score is"; - mes "" + .@da_score + " points..."; - if (.@da_score == 100) { + mes "" + @da_score + " points..."; + if (@da_score == 100) { set DANC_Q,7; mes "Very well done!"; mes "A perfect score!"; @@ -782,22 +837,21 @@ job_duncer,95,93,4 script Bijou#da 101,{ 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) { + 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; - } + set DANC_Q,6; + mes "That's enough to pass!"; + mes "You.. You failed!"; + next; + mes "[Bijou]"; + mes "Was it too hard?"; + mes "When I was young, everyone knew at least enough to pass thet test. Go and study some more before coming back, okay?"; + close; } - else if (DANC_Q == 7) { + if (DANC_Q == 7) { mes "[Bijou]"; mes "Okay..."; mes "Are you ready"; @@ -831,13 +885,13 @@ job_duncer,95,93,4 script Bijou#da 101,{ mes "[Bijou]"; mes "Well then~"; mes "Good luck...!!"; - changequest 7004,7005; set DANC_Q,8; + changequest 7004,7005; close2; warp "job_duncer",105,109; end; } - else if (DANC_Q == 8) { + if (DANC_Q == 8) { mes "[Bijou]"; mes "Oh my..."; mes "Did you"; @@ -848,8 +902,8 @@ job_duncer,95,93,4 script Bijou#da 101,{ warp "job_duncer",105,109; end; } - else if (DANC_Q == 9) { - if (SkillPoint) { + if (DANC_Q == 9) { + if (SkillPoint != 0) { mes "[Bijou]"; mes "You can't change jobs"; mes "if you still have skill"; @@ -869,11 +923,20 @@ job_duncer,95,93,4 script Bijou#da 101,{ 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; + if (JobLevel == 50) { + set .@dancer_joblevel,2; + } + else { + set .@dancer_joblevel,1; + } mes "[Bijou]"; + if(Class == Job_Baby_Archer){ + jobchange Job_Baby_Dancer; + } else { + jobchange Job_Dancer; + } + set FJOB,Job_Wanderer; completequest 7006; - callfunc "Job_Change",Job_Dancer; - callfunc "F_ClearJobVar"; mes "Ooh...!"; mes "You look great"; mes "as a Dancer~"; @@ -884,16 +947,16 @@ job_duncer,95,93,4 script Bijou#da 101,{ mes "gift from me."; mes "Please take it."; mes "May your performances always bring joy to your audience~"; - if (.@jlevel == 50) + if (.@dancer_joblevel == 2) { getitem 1953,1; //Line_ - else + } + else { getitem 1950,1; //Rope + } close; } -} +} -// Waiting Room -//============================================================ job_duncer,32,154,1 script Waiting Room#dance 66,{ end; @@ -903,18 +966,18 @@ OnInit: end; OnStartArena: - disablenpc "dance#up"; - disablenpc "dance#down"; - disablenpc "dance#left"; - disablenpc "dance#right"; - disablenpc "dance#cen"; + donpcevent "dance#up::OnDisable"; + donpcevent "dance#down::OnDisable"; + donpcevent "dance#left::OnDisable"; + donpcevent "dance#right::OnDisable"; + donpcevent "dance#cen::OnDisable"; donpcevent "dance#return::OnDisable"; warpwaitingpc "job_duncer",69,110,1; donpcevent "Bijou#dance_timer::OnEnable"; disablewaitingroomevent; end; -OnEnable: +OnReset: enablewaitingroomevent; end; } @@ -931,17 +994,21 @@ job_duncer,32,154,1 script Waiting Room#click 66,{ mes "are curious about"; mes "the test can watch"; mes "backstage."; - close; + close2; + playBGM "Oops.wav"; + end; } -// Dance Timer -//============================================================ -job_duncer,69,105,0 script Bijou#dance_timer -1,{ +job_duncer,69,105,0 script Bijou#dance_timer 139,{ + end; + OnEnable: + playBGM "dancer_jun01.wav"; initnpctimer; end; OnDisable: + playBGM "dancer_jun01.wav"; stopnpctimer; end; @@ -954,83 +1021,83 @@ OnTimer5000: end; OnTimer7000: - disablenpc "dance#up"; - enablenpc "dance#down"; - enablenpc "dance#left"; - enablenpc "dance#right"; - enablenpc "dance#cen"; + donpcevent "dance#up::OnDisable"; + donpcevent "dance#down::OnEnable"; + donpcevent "dance#left::OnEnable"; + donpcevent "dance#right::OnEnable"; + donpcevent "dance#cen::OnEnable"; end; OnTimer8000: donpcevent "Backdancer#1::OnSmile"; - disablenpc "dance#up"; - disablenpc "dance#down"; - disablenpc "dance#left"; - disablenpc "dance#right"; - disablenpc "dance#cen"; + donpcevent "dance#up::OnDisable"; + donpcevent "dance#down::OnDisable"; + donpcevent "dance#left::OnDisable"; + donpcevent "dance#right::OnDisable"; + donpcevent "dance#cen::OnDisable"; mapannounce "job_duncer"," Down!",bc_map; end; OnTimer11000: - enablenpc "dance#up"; - disablenpc "dance#down"; - enablenpc "dance#left"; - enablenpc "dance#right"; - enablenpc "dance#cen"; + donpcevent "dance#up::OnEnable"; + donpcevent "dance#down::OnDisable"; + donpcevent "dance#left::OnEnable"; + donpcevent "dance#right::OnEnable"; + donpcevent "dance#cen::OnEnable"; end; OnTimer12000: donpcevent "Backdancer#1::OnSmile"; - disablenpc "dance#up"; - disablenpc "dance#down"; - disablenpc "dance#left"; - disablenpc "dance#right"; - disablenpc "dance#cen"; + donpcevent "dance#up::OnDisable"; + donpcevent "dance#down::OnDisable"; + donpcevent "dance#left::OnDisable"; + donpcevent "dance#right::OnDisable"; + donpcevent "dance#cen::OnDisable"; mapannounce "job_duncer"," Left~!",bc_map; end; OnTimer15000: - enablenpc "dance#up"; - enablenpc "dance#down"; - disablenpc "dance#left"; - enablenpc "dance#right"; - enablenpc "dance#cen"; + donpcevent "dance#up::OnEnable"; + donpcevent "dance#down::OnEnable"; + donpcevent "dance#left::OnDisable"; + donpcevent "dance#right::OnEnable"; + donpcevent "dance#cen::OnEnable"; end; OnTimer16000: donpcevent "Backdancer#1::OnSmile"; - disablenpc "dance#up"; - disablenpc "dance#down"; - disablenpc "dance#left"; - disablenpc "dance#right"; - disablenpc "dance#cen"; + donpcevent "dance#up::OnDisable"; + donpcevent "dance#down::OnDisable"; + donpcevent "dance#left::OnDisable"; + donpcevent "dance#right::OnDisable"; + donpcevent "dance#cen::OnDisable"; 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"; + donpcevent "dance#up::OnEnable"; + donpcevent "dance#down::OnEnable"; + donpcevent "dance#left::OnEnable"; + donpcevent "dance#right::OnDisable"; + donpcevent "dance#cen::OnEnable"; end; OnTimer20000: donpcevent "Backdancer#1::OnSmile"; - disablenpc "dance#up"; - disablenpc "dance#down"; - disablenpc "dance#left"; - disablenpc "dance#right"; - disablenpc "dance#cen"; + donpcevent "dance#up::OnDisable"; + donpcevent "dance#down::OnDisable"; + donpcevent "dance#left::OnDisable"; + donpcevent "dance#right::OnDisable"; + donpcevent "dance#cen::OnDisable"; 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"; + donpcevent "dance#up::OnEnable"; + donpcevent "dance#down::OnEnable"; + donpcevent "dance#left::OnEnable"; + donpcevent "dance#right::OnEnable"; + donpcevent "dance#cen::OnDisable"; end; OnTimer23500: @@ -1049,29 +1116,29 @@ OnTimer28500: OnTimer30000: donpcevent "Backdancer#1::OnSmile"; - disablenpc "dance#up"; - disablenpc "dance#down"; - disablenpc "dance#left"; - disablenpc "dance#right"; - disablenpc "dance#cen"; + donpcevent "dance#up::OnDisable"; + donpcevent "dance#down::OnDisable"; + donpcevent "dance#left::OnDisable"; + donpcevent "dance#right::OnDisable"; + donpcevent "dance#cen::OnDisable"; mapannounce "job_duncer"," Left!",bc_map; end; OnTimer34000: - enablenpc "dance#up"; - enablenpc "dance#down"; - disablenpc "dance#left"; - enablenpc "dance#right"; - enablenpc "dance#cen"; + donpcevent "dance#up::OnEnable"; + donpcevent "dance#down::OnEnable"; + donpcevent "dance#left::OnDisable"; + donpcevent "dance#right::OnEnable"; + donpcevent "dance#cen::OnEnable"; end; OnTimer35000: donpcevent "Backdancer#1::OnSmile"; - disablenpc "dance#up"; - disablenpc "dance#down"; - disablenpc "dance#left"; - disablenpc "dance#right"; - disablenpc "dance#cen"; + donpcevent "dance#up::OnDisable"; + donpcevent "dance#down::OnDisable"; + donpcevent "dance#left::OnDisable"; + donpcevent "dance#right::OnDisable"; + donpcevent "dance#cen::OnDisable"; mapannounce "job_duncer"," Down!",bc_map; end; @@ -1080,161 +1147,164 @@ OnTimer38500: end; OnTimer40000: - enablenpc "dance#up"; - enablenpc "dance#down"; - enablenpc "dance#left"; - disablenpc "dance#right"; - enablenpc "dance#cen"; - mapannounce "job_duncer"," Hold it~",bc_map; + donpcevent "dance#up::OnEnable"; + donpcevent "dance#down::OnEnable"; + donpcevent "dance#left::OnEnable"; + donpcevent "dance#right::OnDisable"; + donpcevent "dance#cen::OnEnable"; + 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"; + donpcevent "dance#up::OnDisable"; + donpcevent "dance#down::OnDisable"; + donpcevent "dance#left::OnDisable"; + donpcevent "dance#right::OnDisable"; + donpcevent "dance#cen::OnDisable"; 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"; + donpcevent "dance#up::OnDisable"; + donpcevent "dance#down::OnEnable"; + donpcevent "dance#left::OnEnable"; + donpcevent "dance#right::OnEnable"; + donpcevent "dance#cen::OnEnable"; end; OnTimer50000: donpcevent "Backdancer#1::OnSmile"; - disablenpc "dance#up"; - disablenpc "dance#down"; - disablenpc "dance#left"; - disablenpc "dance#right"; - disablenpc "dance#cen"; + donpcevent "dance#up::OnDisable"; + donpcevent "dance#down::OnDisable"; + donpcevent "dance#left::OnDisable"; + donpcevent "dance#right::OnDisable"; + donpcevent "dance#cen::OnDisable"; mapannounce "job_duncer"," Right!",bc_map; end; OnTimer53000: - enablenpc "dance#up"; - enablenpc "dance#down"; - enablenpc "dance#left"; - disablenpc "dance#right"; - enablenpc "dance#cen"; + donpcevent "dance#up::OnEnable"; + donpcevent "dance#down::OnEnable"; + donpcevent "dance#left::OnEnable"; + donpcevent "dance#right::OnDisable"; + donpcevent "dance#cen::OnEnable"; end; OnTimer54000: donpcevent "Backdancer#1::OnSmile"; - disablenpc "dance#up"; - disablenpc "dance#down"; - disablenpc "dance#left"; - disablenpc "dance#right"; - disablenpc "dance#cen"; + donpcevent "dance#up::OnDisable"; + donpcevent "dance#down::OnDisable"; + donpcevent "dance#left::OnDisable"; + donpcevent "dance#right::OnDisable"; + donpcevent "dance#cen::OnDisable"; 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"; + donpcevent "dance#up::OnDisable"; + donpcevent "dance#down::OnEnable"; + donpcevent "dance#left::OnEnable"; + donpcevent "dance#right::OnEnable"; + donpcevent "dance#cen::OnEnable"; end; OnTimer61000: donpcevent "Backdancer#1::OnSmile"; - disablenpc "dance#up"; - disablenpc "dance#down"; - disablenpc "dance#left"; - disablenpc "dance#right"; - disablenpc "dance#cen"; + donpcevent "dance#up::OnDisable"; + donpcevent "dance#down::OnDisable"; + donpcevent "dance#left::OnDisable"; + donpcevent "dance#right::OnDisable"; + donpcevent "dance#cen::OnDisable"; 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"; + donpcevent "dance#up::OnDisable"; + donpcevent "dance#down::OnEnable"; + donpcevent "dance#left::OnEnable"; + donpcevent "dance#right::OnEnable"; + donpcevent "dance#cen::OnEnable"; end; OnTimer67000: donpcevent "Backdancer#1::OnSmile"; - disablenpc "dance#up"; - disablenpc "dance#down"; - disablenpc "dance#left"; - disablenpc "dance#right"; - disablenpc "dance#cen"; + donpcevent "dance#up::OnDisable"; + donpcevent "dance#down::OnDisable"; + donpcevent "dance#left::OnDisable"; + donpcevent "dance#right::OnDisable"; + donpcevent "dance#cen::OnDisable"; mapannounce "job_duncer"," Down~!",bc_map; end; OnTimer69000: - enablenpc "dance#up"; - disablenpc "dance#down"; - enablenpc "dance#left"; - enablenpc "dance#right"; - enablenpc "dance#cen"; + donpcevent "dance#up::OnEnable"; + donpcevent "dance#down::OnDisable"; + donpcevent "dance#left::OnEnable"; + donpcevent "dance#right::OnEnable"; + donpcevent "dance#cen::OnEnable"; end; OnTimer70000: donpcevent "Backdancer#1::OnSmile"; - disablenpc "dance#up"; - disablenpc "dance#down"; - disablenpc "dance#left"; - disablenpc "dance#right"; - disablenpc "dance#cen"; + donpcevent "dance#up::OnDisable"; + donpcevent "dance#down::OnDisable"; + donpcevent "dance#left::OnDisable"; + donpcevent "dance#right::OnDisable"; + donpcevent "dance#cen::OnDisable"; mapannounce "job_duncer"," Left!",bc_map; end; OnTimer74000: - enablenpc "dance#up"; - enablenpc "dance#down"; - disablenpc "dance#left"; - enablenpc "dance#right"; - enablenpc "dance#cen"; + donpcevent "dance#up::OnEnable"; + donpcevent "dance#down::OnEnable"; + donpcevent "dance#left::OnDisable"; + donpcevent "dance#right::OnEnable"; + donpcevent "dance#cen::OnEnable"; end; OnTimer75000: donpcevent "Backdancer#1::OnSmile"; - disablenpc "dance#up"; - disablenpc "dance#down"; - disablenpc "dance#left"; - disablenpc "dance#right"; - disablenpc "dance#cen"; + donpcevent "dance#up::OnDisable"; + donpcevent "dance#down::OnDisable"; + donpcevent "dance#left::OnDisable"; + donpcevent "dance#right::OnDisable"; + donpcevent "dance#cen::OnDisable"; mapannounce "job_duncer"," Center!",bc_map; end; OnTimer80000: - enablenpc "dance#up"; - enablenpc "dance#down"; - enablenpc "dance#left"; - enablenpc "dance#right"; - disablenpc "dance#cen"; + donpcevent "dance#up::OnEnable"; + donpcevent "dance#down::OnEnable"; + donpcevent "dance#left::OnEnable"; + donpcevent "dance#right::OnEnable"; + donpcevent "dance#cen::OnDisable"; end; OnTimer81000: donpcevent "Backdancer#1::OnSmile"; - disablenpc "dance#up"; - disablenpc "dance#down"; - disablenpc "dance#left"; - disablenpc "dance#right"; - disablenpc "dance#cen"; + donpcevent "dance#up::OnDisable"; + donpcevent "dance#down::OnDisable"; + donpcevent "dance#left::OnDisable"; + donpcevent "dance#right::OnDisable"; + donpcevent "dance#cen::OnDisable"; mapannounce "job_duncer"," Okay, Finish~ 'Arrow Shower!'",bc_map; end; OnTimer82000: + playBGM "dancer_jun01.wav"; donpcevent "dance#poring::OnEnable"; end; OnTimer89000: - donpcevent "dance#poring::OnDisable"; donpcevent "dance#return::OnEnable"; + donpcevent "dance#poring::OnReset"; + stopnpctimer; end; } -job_duncer,69,110,0 script dance#return -1,1,4,{ +job_duncer,69,110,0 script dance#return 139,1,4,{ + OnTouch: mapannounce "job_duncer","Good! Well done! Go back to Bijou!",bc_map; set DANC_Q,9; @@ -1243,70 +1313,151 @@ OnTouch: end; OnDisable: - disablenpc "dance#return"; + hideonnpc "dance#return"; donpcevent "dance#return#2::OnDisable"; donpcevent "dance#return#3::OnDisable"; end; OnEnable: - enablenpc "dance#return"; + hideoffnpc "dance#return"; donpcevent "dance#return#2::OnEnable"; end; } -job_duncer,66,110,0 script dance#return#2 -1,1,1,{ +job_duncer,66,110,0 script dance#return#2 139,1,1,{ + OnTouch: set DANC_Q,9; + changequest 7005,7006; warp "comodo",188,162; end; OnDisable: - disablenpc "dance#return#2"; + hideonnpc "dance#return#2"; end; OnEnable: - enablenpc "dance#return#2"; + hideoffnpc "dance#return#2"; donpcevent "dance#return#3::OnEnable"; end; } -job_duncer,72,110,0 script dance#return#3 -1,1,1,{ +job_duncer,72,110,0 script dance#return#3 139,1,1,{ + OnTouch: set DANC_Q,9; + changequest 7005,7006; warp "comodo",188,162; end; OnDisable: - disablenpc "dance#return#3"; + hideonnpc "dance#return#3"; end; OnEnable: - enablenpc "dance#return#3"; - donpcevent "Bijou#dance_timer::OnDisable"; - donpcevent "Waiting Room#dance::OnEnable"; + hideoffnpc "dance#return#3"; + donpcevent "Waiting Room#dance::OnReset"; end; } -// Dance Move Triggers -//============================================================ -- script dancestep::StepTrigger -1,1,1,{ +job_duncer,69,113,0 script dance#up 139,1,1,{ + OnTouch: - donpcevent "Backdancer#1::OnOmg"; + donpcevent "Backdancer#1::OnHuk"; 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"; + donpcevent "Waiting Room#dance::OnReset"; warp "comodo",188,162; end; + +OnDisable: + hideonnpc "dance#up"; + end; + +OnEnable: + hideoffnpc "dance#up"; + 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,69,107,0 script dance#down 139,1,1,{ + +OnTouch: + donpcevent "Backdancer#1::OnHuk"; + mapannounce "job_duncer"," " + strcharinfo(0) + ", you lack rhythm... Your timing was too late!",bc_map; + set DANC_Q,8; + donpcevent "Waiting Room#dance::OnReset"; + warp "comodo",188,162; + end; + +OnDisable: + hideonnpc "dance#down"; + end; + +OnEnable: + hideoffnpc "dance#down"; + end; +} + +job_duncer,66,110,0 script dance#left 139,1,1,{ + +OnTouch: + donpcevent "Backdancer#1::OnHuk"; + mapannounce "job_duncer"," " + strcharinfo(0) + ", you lack rhythm... Your timing was too late!",bc_map; + set DANC_Q,8; + donpcevent "Waiting Room#dance::OnReset"; + warp "comodo",188,162; + end; + +OnDisable: + hideonnpc "dance#left"; + end; + +OnEnable: + hideoffnpc "dance#left"; + end; +} + +job_duncer,72,110,0 script dance#right 139,1,1,{ + +OnTouch: + donpcevent "Backdancer#1::OnHuk"; + mapannounce "job_duncer"," " + strcharinfo(0) + ", you lack rhythm... Your timing was too late!",bc_map; + set DANC_Q,8; + donpcevent "Waiting Room#dance::OnReset"; + warp "comodo",188,162; + end; + +OnDisable: + hideonnpc "dance#right"; + end; + +OnEnable: + hideoffnpc "dance#right"; + end; +} + +job_duncer,69,110,0 script dance#cen 139,1,1,{ + +OnTouch: + donpcevent "Backdancer#1::OnHuk"; + mapannounce "job_duncer"," " + strcharinfo(0) + ", you lack rhythm... Your timing was too late!",bc_map; + set DANC_Q,8; + donpcevent "Waiting Room#dance::OnReset"; + warp "comodo",188,162; + end; + +OnDisable: + hideonnpc "dance#cen"; + end; + +OnEnable: + hideoffnpc "dance#cen"; + end; +} + +job_duncer,10,10,0 script dance#poring 139,{ + end; -job_duncer,10,10,0 script dance#poring -1,{ OnEnable: monster "job_duncer",69,106,"Poring",1002,1,"dance#poring::OnMyMobDead"; end; @@ -1315,29 +1466,26 @@ OnMyMobDead: mapannounce "job_duncer"," Good! Well done! ",bc_map; end; -OnDisable: - killmonsterall "job_duncer"; +OnReset: + killmonster "job_duncer","dance#poring::OnMyMobDead"; end; - } -// Backup Dancers -//============================================================ -job_duncer,63,110,4 script Backdancer#1::BackDancer 724,{ +job_duncer,63,110,4 script Backdancer#1 724,{ end; OnSmile: - Emotion e_no1; + 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"; +OnHuk: + emotion e_omg; + donpcevent "Backdancer#2::OnHuk"; + donpcevent "Backdancer#3::OnHuk"; + donpcevent "Backdancer#4::OnHuk"; end; } @@ -1345,11 +1493,11 @@ job_duncer,66,113,4 script Backdancer#2 724,{ end; OnSmile: - Emotion e_no1; + emotion e_no1; end; -OnOmg: - Emotion e_omg; +OnHuk: + emotion e_omg; end; } @@ -1357,11 +1505,11 @@ job_duncer,72,113,4 script Backdancer#3 724,{ end; OnSmile: - Emotion e_no1; + emotion e_no1; end; -OnOmg: - Emotion e_omg; +OnHuk: + emotion e_omg; end; } @@ -1369,34 +1517,12 @@ job_duncer,75,110,4 script Backdancer#4 724,{ end; OnSmile: - Emotion e_no1; + emotion e_no1; end; -OnOmg: - Emotion e_omg; +OnHuk: + 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] +job_duncer,69,43,0 warp warp_dance 1,1,comodo,185,156 \ No newline at end of file diff --git a/npc/jobs/2-2/monk.txt b/npc/jobs/2-2/monk.txt index 869011f09..1713fb5a9 100644 --- a/npc/jobs/2-2/monk.txt +++ b/npc/jobs/2-2/monk.txt @@ -1,29 +1,25 @@ //===== rAthena Script ======================================= -//= Monk Job Quest -//===== By: ================================================== -//= Dino9021, Edited / Translated by Celest +// Monk Job change Quest +//===== By: ================================================== +//= Masao +//= Credits: Muad_Dib //===== Current Version: ===================================== -//= 2.5 +//= 1.0 //===== Compatible With: ===================================== -//= rAthena SVN +//= Any rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job quest for Monk classes +//= [Translated from the Official] +//= Job change Quest from Acolyte -> Monk. //===== 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] +//= 1.0 Updated to latest available official file. [Masao] //============================================================ -prt_monk,59,247,1 script Guarding Monk#mk 120,6,2,{ +prt_monk,59,247,1 script Guarding Monk 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!"; + mes "Hmm? What business do you have"; + mes "here? If you wish to enter this"; + mes "sacred area, you must give me your name and job level!"; next; mes "[Tohobu]"; mes "....Eh?"; @@ -37,7 +33,7 @@ prt_monk,59,247,1 script Guarding Monk#mk 120,6,2,{ mes "It is odd...I never misunderstand people...oh, well. Have a good day."; close; } - if (BaseJob == Job_Acolyte && MONK_Q == 0) { + if ((Class == Job_Baby_Acolyte || Class == Job_Acolyte) && (MONK_Q == 0)) { mes "[Tohobu]"; mes "Hmm? What business do you have here?"; mes "If you wish to enter this sacred area,"; @@ -62,7 +58,7 @@ prt_monk,59,247,1 script Guarding Monk#mk 120,6,2,{ 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...")) { + 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..."; @@ -72,7 +68,7 @@ prt_monk,59,247,1 script Guarding Monk#mk 120,6,2,{ set MONK_Q,1; close; case 2: - if (BaseJob == Job_Acolyte && JobLevel > 39) { + if ((Class == 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."; @@ -81,7 +77,7 @@ prt_monk,59,247,1 script Guarding Monk#mk 120,6,2,{ setquest 3016; close; } - else if (BaseJob == Job_Acolyte && JobLevel < 40) { + if ((Class == 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,"; @@ -99,11 +95,9 @@ prt_monk,59,247,1 script Guarding Monk#mk 120,6,2,{ set MONK_Q,1; close; } - else { - mes "[Tohobu]"; - mes "Hahahha that was a good joke!"; - close; - } + 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..."; @@ -120,177 +114,169 @@ prt_monk,59,247,1 script Guarding Monk#mk 120,6,2,{ close; } } - else { - if (MONK_Q == 1 && BaseJob == Job_Acolyte) { + if ((MONK_Q == 1) && (Class == Job_Baby_Acolyte || Class == 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 "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 "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 ((Class == Job_Baby_Acolyte || Class == Job_Acolyte) && (JobLevel > 39)) { 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; + 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; - 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: + } + if ((Class == Job_Baby_Acolyte || Class == 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 "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."; + 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 become energized"; - mes "when observing our brothers in their"; - mes "pursuit of spiritual enlightenment."; - mes "I hope you reach it too."; + 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; } - } - 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 "Hahahha that was a good joke!"; + close; + case 3: mes "[Tohobu]"; - mes "Now, please tell me your name as well as your job level!"; + 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; - 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 "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 "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 "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 ((Class == Job_Baby_Acolyte || Class == Job_Acolyte) && (JobLevel > 39)) { 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; + 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; - 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: + } + if ((Class == Job_Baby_Acolyte || Class == 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 "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."; + 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 become energized"; - mes "when observing our brothers in their"; - mes "pursuit of spiritual enlightenment."; - mes "I hope you reach it too."; + 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 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'."; + mes "Hahahha that was a good joke!"; close; - } - else if (BaseJob == Job_Acolyte && MONK_Q > 2) { + case 3: mes "[Tohobu]"; - mes "I hope you do well in your training and I look forward to seeing you again."; - close; - } - else { + 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 "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."; + 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 == 1) { + mes "[Tohobu]"; + mes "Listen carefully on your journey."; + mes "There is much to learn."; + close; + } + if ((Class == Job_Baby_Acolyte || Class == 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; + } + if ((Class == Job_Baby_Acolyte || Class == 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; + } + 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) { @@ -309,13 +295,13 @@ OnTouch: mes "You may learn something..."; close; } - if (BaseJob == Job_Acolyte && MONK_Q == 2) { + if ((Class == Job_Baby_Acolyte || Class == 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) { + if ((Class == Job_Baby_Acolyte || Class == Job_Acolyte) && (MONK_Q > 2)) { mes "[Tohobu]"; mes "I look forward to seeing you become a monk and joining us."; close; @@ -323,18 +309,24 @@ OnTouch: end; } -monk_in,99,58,1 script Sensei Moohae#mk 60,{ +monk_in,99,58,1 script Sensei Moohae 60,{ + if (Upper == 1) { + mes "[Sensei Moohae]"; + mes "I hope you find god here in the nature ...!!"; + mes "Come here and relax a little, you who have been here before."; + close; + } 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) { + if (SkillPoint != 0) { 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) { + if ((Class == Job_Baby_Acolyte || Class == Job_Acolyte) && (MONK_Q == 2) && (JobLevel > 39)) { mes "[Sensei Moohae]"; mes "I sense a fighting spirit, do you wish to become a monk? "; next; @@ -347,10 +339,11 @@ monk_in,99,58,1 script Sensei Moohae#mk 60,{ } mes "[Sensei Moohae]"; mes "There are still those who wish to follow the old ways."; - if (Sex) + if (Sex == 1) { mes "A strong young man. I am pleased of your will to join us."; - else + } 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..."; @@ -379,32 +372,125 @@ monk_in,99,58,1 script Sensei Moohae#mk 60,{ 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; + set .@item_need,rand(1,7); + if (.@item_need == 1) { + mes "[Sensei Moohae]"; + mes "5 Sticky Mucus,"; + mes "10 Earthworm Peeling,"; + mes "20 Green Herb."; + mes "Find these items and return to me."; + set MONK_Q,3; + changequest 3016,3017; + next; + mes "[Sensei Moohae]"; + mes "Why the face? This is a test of your abilities."; + 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; + } + if (.@item_need == 2) { + mes "[Sensei Moohae]"; + mes "20 Yoyo Tail,"; + mes "5 Iron Ore,"; + mes "3 Blue Herb."; + mes "Find these items and return to me."; + set MONK_Q,4; + changequest 3016,3018; + next; + mes "[Sensei Moohae]"; + mes "What's wrong? This is a test of your abilities."; + 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; + } + if (.@item_need == 3) { + mes "[Sensei Moohae]"; + mes "30 Stem,"; + mes "5 Jellopy,"; + mes "10 Worm Peelings."; + mes "Find these items and return to me."; + set MONK_Q,5; + changequest 3016,3019; + next; + mes "[Sensei Moohae]"; + mes "You do understand don't you? This is a test of your abilities."; + 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; + } + if (.@item_need == 4) { + mes "[Sensei Moohae]"; + mes "5 Solid Shell,"; + mes "20 Shell,"; + mes "5 Zargon."; + mes "Find these items and return to me"; + set MONK_Q,6; + changequest 3016,3020; + next; + mes "[Sensei Moohae]"; + mes "Don't look at me like that. This is a test of your abilities."; + 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; + } + if (.@item_need == 5) { + mes "[Sensei Moohae]"; + mes "5 Cyfar,"; + mes "10 White Herb,"; + mes "10 Yellow Herb."; + mes "Find these items and return to me"; + set MONK_Q,7; + changequest 3016,3021; + next; + mes "[Sensei Moohae]"; + mes "You don't seem concerned, this is a test of your abilities You should take this seriously."; + 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; + } + if (.@item_need == 6) { + mes "[Sensei Moohae]"; + mes "10 Tooth of Bat,"; + mes "5 Bear's Footskin,"; + mes "20 Poison Spore."; + mes "Find these items and return to me"; + set MONK_Q,8; + changequest 3016,3022; + next; + mes "[Sensei Moohae]"; + mes "It is a test of your abilities so make sure you acquire these on your own."; + 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; } 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]; + mes "5 Porcupine Quill."; + mes "20 Cobweb,"; + mes "10 Bug Leg."; + mes "Find these items and return to me"; + set MONK_Q,9; + changequest 3016,3023; 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; - } + mes "Don't be concerned, I believe you can do it. This is only to test your abilities."; next; mes "[Sensei Moohae]"; mes "If you are unable to return with these items, you are not yet ready to become a monk."; @@ -412,11 +498,11 @@ monk_in,99,58,1 script Sensei Moohae#mk 60,{ mes "May God be with you."; close; } - else if (MONK_Q == 3) { + 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) { + 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."; @@ -432,22 +518,20 @@ monk_in,99,58,1 script Sensei Moohae#mk 60,{ 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; - } + 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) { + if (MONK_Q == 4) { mes "[Sensei Moohae]"; mes "...eh?"; next; - if (countitem(942) > 19 && countitem(1002) > 4 && countitem(510) > 2) { + 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."; @@ -463,22 +547,20 @@ monk_in,99,58,1 script Sensei Moohae#mk 60,{ 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; - } + 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) { + if (MONK_Q == 5) { mes "[Sensei Moohae]"; mes "Hmm?"; next; - if (countitem(905) > 29 && countitem(909) > 4 && countitem(955) > 9) { + 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."; @@ -494,22 +576,20 @@ monk_in,99,58,1 script Sensei Moohae#mk 60,{ 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; - } + 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) { + 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) { + 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."; @@ -525,22 +605,20 @@ monk_in,99,58,1 script Sensei Moohae#mk 60,{ 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; - } + 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) { + if (MONK_Q == 7) { mes "[Sensei Moohae]"; mes "Hello again. Back so soon?"; next; - if (countitem(7053) > 4 && countitem(509) > 9 && countitem(508) > 9) { + 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."; @@ -556,22 +634,20 @@ monk_in,99,58,1 script Sensei Moohae#mk 60,{ 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; - } + 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) { + if (MONK_Q == 8) { mes "[Sensei Moohae]"; mes "Hmm?"; next; - if (countitem(913) > 9 && countitem(948) > 4 && countitem(7033) > 19) { + 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."; @@ -587,22 +663,20 @@ monk_in,99,58,1 script Sensei Moohae#mk 60,{ 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; - } + 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) { + if (MONK_Q == 9) { mes "[Sensei Moohae]"; mes "Welcome back."; next; - if (countitem(1027) > 4 && countitem(1025) > 19 && countitem(1042) > 9) { + 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."; @@ -618,49 +692,48 @@ monk_in,99,58,1 script Sensei Moohae#mk 60,{ 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; - } + 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) { + 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) { + 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) { + 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) { + if ((MONK_Q == 27) && (Class == Job_Baby_Acolyte || Class == 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 ((MONK_Q == 28) && (Class == Job_Baby_Acolyte || Class == 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."; + close; } - else if (countitem(506) == 0) { + 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?"; @@ -673,7 +746,7 @@ monk_in,99,58,1 script Sensei Moohae#mk 60,{ 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) { + switch (select("Yes.:No.") == 2) { mes "[Sensei Moohae]"; mes "....with that kind of reply..."; mes "Have you not enough heart to become a monk?"; @@ -728,7 +801,7 @@ monk_in,99,58,1 script Sensei Moohae#mk 60,{ mes "[Sensei Moohae]"; mes "Will you assist your comrades by gathering monsters to follow you?"; next; - if (select("Yes.:No.") == 1) { + if (select("Yes.:No.") == 2) { 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."; @@ -773,10 +846,12 @@ monk_in,99,58,1 script Sensei Moohae#mk 60,{ next; mes "[Sensei Moohae]"; mes "Then your training isn't completed."; - if (Sex) + if (Sex == 1) { mes "You will not be accepted as a monk my boy."; - else + } + 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...."; @@ -785,25 +860,29 @@ monk_in,99,58,1 script Sensei Moohae#mk 60,{ mes "Come back later when you're ready..."; next; mes "[Sensei Moohae]"; - if (Sex) + if (Sex == 1) { mes "I hope that you are able to realize what you are to become soon my boy..."; - else + } + 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) + if (Sex == 1) { mes "We welcome you brother, in our holy battle against evil!"; - else + } else { mes "We welcome you sister, in our holy battle against evil!"; + } next; mes "[Sensei Moohae]"; - if (Sex) + if (Sex == 1) { mes "My brother, your oath has been heard by all around us."; - else + } 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..."; @@ -817,10 +896,10 @@ monk_in,99,58,1 script Sensei Moohae#mk 60,{ mes "[Sensei Moohae]"; mes "And relax your body......."; next; - mes "["+ strcharinfo(0) +"]"; + mes "[" + strcharinfo(0) + "]"; mes "^00CCCC- You breathe in deeply -^000000"; next; - mes "["+ strcharinfo(0) +"]"; + mes "[" + strcharinfo(0) + "]"; mes "^CC0000- You feel fingers poking you all over your body with swiftness -^000000"; next; mes "[Sensei Moohae]"; @@ -841,10 +920,12 @@ monk_in,99,58,1 script Sensei Moohae#mk 60,{ 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"; + if(Class == Job_Baby_Acolyte){ + jobchange Job_Baby_Monk; + } else { + jobchange Job_Monk; + } + set FJOB,Job_Sura; mes "[Sensei Moohae]"; mes "....You are a monk."; next; @@ -867,21 +948,24 @@ monk_in,99,58,1 script Sensei Moohae#mk 60,{ 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) + completequest 3032; + if (JobLevel > 49) { getitem 1804,1; //Knuckle_Duster_ - else + } + else { getitem 1801,1; //Waghnakh + } + close; } - close; } - else if (BaseJob == Job_Acolyte) { + if (Class == Job_Baby_Acolyte || Class == 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) { + if (Class == Job_Baby_Monk || Class == Job_Monk) { mes "[Sensei Moohae]"; mes "How's your practice going?"; mes "I hope you are still training and keeping your vows."; @@ -895,59 +979,50 @@ monk_in,99,58,1 script Sensei Moohae#mk 60,{ 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; - } + 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 { +prt_monk,251,255,1 script Touha 79,{ + 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 "Now, pay attention this time..."; - next; + mes "Please come back when you're ready."; + close; } mes "[Touha]"; - set .@rand,rand(1,3); - if ((.@rand == 1) || (MONK_Q == 11)) { + mes "Ok...then."; + next; + mes "[Touha]"; + mes "Please repeat after me."; + next; + set .@poem, rand(1,3); + if (.@poem == 1) { set MONK_Q,11; + changequest 3024,3025; + mes "[Touha]"; mes "I seek the path"; next; mes "[Touha]"; @@ -976,9 +1051,12 @@ prt_monk,251,255,1 script Touha#mk 79,{ next; mes "[Touha]"; mes "et Spiritus Sancti."; + next; } - else if ((.@rand == 2) || (MONK_Q == 12)) { + if (.@poem == 2) { set MONK_Q,12; + changequest 3024,3025; + mes "[Touha]"; mes "I commit myself to"; next; mes "[Touha]"; @@ -1007,9 +1085,11 @@ prt_monk,251,255,1 script Touha#mk 79,{ next; mes "[Touha]"; mes "et Spiritus Sancti."; + next; } - else if ((.@rand == 3) || (MONK_Q == 13)) { + else { set MONK_Q,13; + mes "[Touha]"; mes "And shepherds we shall be,"; next; mes "[Touha]"; @@ -1038,16 +1118,50 @@ prt_monk,251,255,1 script Touha#mk 79,{ next; mes "[Touha]"; mes "et Spiritus Sancti."; + next; } - next; - if (MONK_Q == 10) { + mes "[Touha]"; + mes "Ok, that is all. Now repeat what I have spoken."; + set @monk_t,0; + if (MONK_Q == 11) { + mes "[Touha]"; + 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."; + next; + mes "[Touha]"; + mes "Ok, that is the end."; + set @monk_t,0; + next; 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.")) { + 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"; @@ -1073,7 +1187,7 @@ prt_monk,251,255,1 script Touha#mk 79,{ mes "to what we believe"; break; case 7: - set .@monk_t,.@monk_t+10; + set @monk_t,@monk_t + 10; mes "[" + strcharinfo(0) + "]"; mes "I seek the path"; break; @@ -1090,25 +1204,25 @@ prt_monk,251,255,1 script Touha#mk 79,{ 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.")) { + 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; + set @monk_t,@monk_t + 10; mes "of enlightenment."; break; - case 6: mes "and will help protect others"; 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.")) { + 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; + set @monk_t,@monk_t + 10; mes "We monks"; break; case 3: mes "I seek the path"; break; @@ -1120,14 +1234,13 @@ prt_monk,251,255,1 script Touha#mk 79,{ 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")) { + 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; + 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 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; @@ -1136,7 +1249,7 @@ prt_monk,251,255,1 script Touha#mk 79,{ 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.")) { + 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; @@ -1146,16 +1259,16 @@ prt_monk,251,255,1 script Touha#mk 79,{ 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; + 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.")) { + 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; + set @monk_t,@monk_t + 10; mes "and will help protect others"; break; case 4: mes "of enlightenment."; break; @@ -1166,7 +1279,7 @@ prt_monk,251,255,1 script Touha#mk 79,{ 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")) { + 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; @@ -1177,13 +1290,13 @@ prt_monk,251,255,1 script Touha#mk 79,{ case 8: mes "shall hold true"; break; case 9: mes "and will help protect others"; break; case 10: - set .@monk_t,.@monk_t+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.")) { + 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; + set @monk_t,@monk_t + 10; mes "we learn through our lives."; break; case 2: mes "In nomine Patris, et Filii"; break; @@ -1196,7 +1309,7 @@ prt_monk,251,255,1 script Touha#mk 79,{ 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")) { + 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; @@ -1207,11 +1320,11 @@ prt_monk,251,255,1 script Touha#mk 79,{ case 8: mes "through the teachings"; break; case 9: mes "we learn through our lives."; break; case 10: - set .@monk_t,.@monk_t+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.")) { + 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; @@ -1222,13 +1335,757 @@ prt_monk,251,255,1 script Touha#mk 79,{ 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; + 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.")) { + if (MONK_Q == 12) { + mes "[Touha]"; + 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."; + next; + mes "[Touha]"; + mes "That's it... were you paying attention?."; + set @monk_t,0; + next; + mes "[Touha]"; + mes "" + strcharinfo(0) + ", your turn."; + next; + 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; + } + } + if (MONK_Q == 13) { + mes "[Touha]"; + 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; + mes "[Touha]"; + mes "I hope you were paying attention this time. This is a sacred family prayer."; + set @monk_t,0; + next; + mes "[Touha]"; + mes "Now repeat it " + strcharinfo(0) + "."; + next; + 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: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 "so our feet may swiftly carry"; + 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 "out thy command. And we shall"; + 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:out thy command. And we shall:so our feet may swiftly carry: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 "out thy command. And we shall"; break; + case 9: mes "so our feet may swiftly carry"; 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:out thy command. And we shall:from the hand:flow a river forth to thee and:so our feet may swiftly carry: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 "out thy command. And we shall"; 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 "so our feet may swiftly carry"; 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:out thy command. And we shall: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 "out thy command. And we shall"; 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:out thy command. And we shall:so our feet may swiftly carry: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 "out thy command. And we shall"; break; + case 8: mes "so our feet may swiftly carry"; 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:so our feet may swiftly carry:out thy command. And we shall: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 "so our feet may swiftly carry"; break; + case 6: mes "out thy command. And we shall"; 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 "I can see you really tried this time."; + 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; + } + 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; + } + if ((MONK_Q > 10) && (MONK_Q < 14)) { + mes "[Touha]"; + mes "Now, pay attention this time..."; + if (MONK_Q == 11) { + mes "[Touha]"; + 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."; + next; + mes "[Touha]"; + mes "Ok, that is the end."; + set @monk_t,0; + next; + mes "[Touha]"; + mes "" + strcharinfo(0) + ", your turn."; + next; + 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; + } + } + if (MONK_Q == 12) { + mes "[Touha]"; + 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."; + next; + mes "[Touha]"; + mes "That's it... were you paying attention?."; + set @monk_t,0; + next; + mes "[Touha]"; + mes "" + strcharinfo(0) + ", your turn."; + next; + 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"; @@ -1243,7 +2100,7 @@ prt_monk,251,255,1 script Touha#mk 79,{ break; case 4: mes "[" + strcharinfo(0) + "]"; - set .@monk_t,.@monk_t+10; + set @monk_t,@monk_t + 10; mes "I commit myself to"; break; case 5: @@ -1271,7 +2128,7 @@ prt_monk,251,255,1 script Touha#mk 79,{ 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")) { + 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; @@ -1281,14 +2138,14 @@ prt_monk,251,255,1 script Touha#mk 79,{ case 7: mes "et Spiritus Sancti."; break; case 8: mes "I commit myself to"; break; case 9: - set .@monk_t,.@monk_t+10; + 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.")) { + 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; + set @monk_t,@monk_t + 10; mes "I will follow my path"; break; case 2: mes "veritas and aequitas."; break; @@ -1301,14 +2158,14 @@ prt_monk,251,255,1 script Touha#mk 79,{ 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")) { + 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; + set @monk_t,@monk_t + 10; mes "to enlightenment and purity."; break; case 7: mes "brothers with my life."; break; @@ -1316,7 +2173,7 @@ prt_monk,251,255,1 script Touha#mk 79,{ 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")) { + 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; @@ -1327,17 +2184,19 @@ prt_monk,251,255,1 script Touha#mk 79,{ case 8: mes "I will follow my path"; break; case 9: mes "veritas and aequitas."; break; case 10: - set .@monk_t,.@monk_t+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; + 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; + set @monk_t,@monk_t + 10; mes "brothers with my life."; break; case 6: mes "I will protect my"; break; @@ -1346,10 +2205,10 @@ prt_monk,251,255,1 script Touha#mk 79,{ 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")) { + 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; + set @monk_t,@monk_t + 10; mes "Evil shall never be"; break; case 3: mes "brothers with my life."; break; @@ -1361,9 +2220,9 @@ prt_monk,251,255,1 script Touha#mk 79,{ 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.")) { + 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; + set @monk_t,@monk_t + 10; mes "victorious while I breathe."; break; case 2: mes "to enlightenment and purity."; break; @@ -1376,7 +2235,7 @@ prt_monk,251,255,1 script Touha#mk 79,{ 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.")) { + 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; @@ -1385,13 +2244,13 @@ prt_monk,251,255,1 script Touha#mk 79,{ case 6: mes "brothers with my life."; break; case 7: mes "Evil shall never be"; break; case 8: - set .@monk_t,.@monk_t+10; + 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.")) { + 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; @@ -1402,20 +2261,57 @@ prt_monk,251,255,1 script Touha#mk 79,{ 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; + 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")) { + if (MONK_Q == 13) { + mes "[Touha]"; + 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; + mes "[Touha]"; + mes "I hope you were paying attention this time. This is a sacred family prayer."; + set @monk_t,0; + next; + mes "[Touha]"; + mes "Now repeat it " + strcharinfo(0) + "."; + next; + 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: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; + set @monk_t,@monk_t + 10; mes "And shepherds we shall be,"; break; case 3: @@ -1424,7 +2320,7 @@ prt_monk,251,255,1 script Touha#mk 79,{ break; case 4: mes "[" + strcharinfo(0) + "]"; - mes "out thy command. And we shall"; + mes "so our feet may swiftly carry"; break; case 5: mes "[" + strcharinfo(0) + "]"; @@ -1436,7 +2332,7 @@ prt_monk,251,255,1 script Touha#mk 79,{ break; case 7: mes "[" + strcharinfo(0) + "]"; - mes "so our feet may swiftly carry"; + mes "out thy command. And we shall"; break; case 8: mes "[" + strcharinfo(0) + "]"; @@ -1451,7 +2347,7 @@ prt_monk,251,255,1 script Touha#mk 79,{ 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")) { + 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; @@ -1460,58 +2356,58 @@ prt_monk,251,255,1 script Touha#mk 79,{ 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; + 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")) { + 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:out thy command. And we shall:so our feet may swiftly carry: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; + 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 8: mes "out thy command. And we shall"; break; + case 9: mes "so our feet may swiftly carry"; 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.")) { + 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: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 4: mes "out thy command. And we shall"; break; case 5: - set .@monk_t,.@monk_t+10; + 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 7: mes "so our feet may swiftly carry"; 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.")) { + 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:out thy command. And we shall: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; + 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 6: mes "out thy command. And we shall"; 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.")) { + 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; @@ -1519,18 +2415,18 @@ prt_monk,251,255,1 script Touha#mk 79,{ 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; + 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")) { + 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; + set @monk_t,@monk_t + 10; mes "flow a river forth to thee and"; break; case 4: mes "In nomine Patris, et Filii"; break; @@ -1541,9 +2437,9 @@ prt_monk,251,255,1 script Touha#mk 79,{ 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.")) { + 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:out thy command. And we shall:so our feet may swiftly carry:flow a river forth to thee and:et Spiritus Sancti.")) { case 1: - set .@monk_t,.@monk_t+10; + set @monk_t,@monk_t + 10; mes "teeming with souls shall it ever be"; break; case 2: mes "In nomine Patris, et Filii"; break; @@ -1551,17 +2447,17 @@ prt_monk,251,255,1 script Touha#mk 79,{ 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 7: mes "out thy command. And we shall"; break; + case 8: mes "so our feet may swiftly carry"; 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.")) { + 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; + set @monk_t,@monk_t + 10; mes "In nomine Patris, et Filii"; break; case 5: mes "so our feet may swiftly carry"; break; @@ -1571,25 +2467,25 @@ prt_monk,251,255,1 script Touha#mk 79,{ 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.")) { + switch (select("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: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 5: mes "so our feet may swiftly carry"; break; + case 6: mes "out thy command. And we shall"; 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; + set @monk_t,@monk_t + 10; mes "et Spiritus Sancti."; break; } } next; mes "[Touha]"; - mes "..."; + mes "I can see you really tried this time."; next; mes "[Touha]"; mes "Hmm..."; @@ -1624,66 +2520,62 @@ prt_monk,251,255,1 script Touha#mk 79,{ 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?"; + mes "I see you did not pay attention.. If you wish to become a monk, you must take this seriously."; next; mes "[Touha]"; - mes "I wonder about your abilities if you cannot remember such a simple thing."; + 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 "...are you testing my patience?"; + mes "I will give you yet another chance."; 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."; + 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 { - mes "[Touha]"; - mes "Never shall innocent blood be shed."; - next; + if (MONK_Q == 14) { mes "[Touha]"; - mes "Yet the blood of the wicked shall flow like a river."; + mes "Hmm... did you forget who to visit?"; next; mes "[Touha]"; - mes "We shall spread our blackened wings and be the vengeful striking hammer of god."; + mes "I wonder about your abilities if you cannot remember such a simple thing."; next; mes "[Touha]"; - mes "We shall flow a river forth to thee, and teeming with souls shall it ever be."; + mes "...are you testing my patience?"; next; mes "[Touha]"; - mes "In nomine Patris, et Filii, et Spiritus Sancti."; - next; + mes "You wear my patience thin..."; + mes "... go visit Boohae."; + close; + } + if ((MONK_Q > 14) && (Class == Job_Baby_Acolyte || Class == Job_Acolyte)) { mes "[Touha]"; - mes "...You don't have to be afraid of me..."; + mes "...do your best for the final test."; close; } + 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) { +prt_monk,57,179,1 script Boohae 110,{ + if ((MONK_Q == 14) && (Class == Job_Baby_Acolyte || Class == Job_Acolyte)) { mes "[Boohae]"; mes "..."; next; @@ -1728,7 +2620,7 @@ prt_monk,57,179,1 script Boohae#mk 110,{ 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.")) { + 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"; @@ -1740,7 +2632,7 @@ prt_monk,57,179,1 script Boohae#mk 110,{ 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.")) { + 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"; @@ -1762,9 +2654,7 @@ prt_monk,57,179,1 script Boohae#mk 110,{ 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...?"; @@ -1832,20 +2722,18 @@ prt_monk,57,179,1 script Boohae#mk 110,{ mes "'Tomoon' is staying in a deepest place inside a building near this abbey."; close; } - if (MONK_Q > 17 && MONK_Q < 24) { + 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; - } + mes "[Boohae]"; + mes "Hmmmm....!!"; + next; + mes "-He seems to be in meditation.-"; + close; } prt_monk,199,169,3 script Door Keeper#mk 746,{ @@ -1861,7 +2749,7 @@ prt_monk,199,169,3 script Door Keeper#mk 746,{ 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) { + if ((MONK_Q > 14) && (MONK_Q < 25)) { mes "[Keeper Chorip]"; mes "Is your name " + strcharinfo(0) + "?"; next; @@ -1874,15 +2762,15 @@ prt_monk,199,169,3 script Door Keeper#mk 746,{ 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; - } + 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) { +prt_monk,192,172,0 warp monktotest 1,1,monk_test,329,50 + +monk_test,329,61,3 script Bashu 753,{ + if ((MONK_Q > 14) && (MONK_Q < 25)) { if (MONK_Q == 15) { mes "[Bashu]"; mes "So, which test do you want to do...?"; @@ -1891,7 +2779,7 @@ monk_test,329,61,3 script Bashu#mk 753,{ mes "From what I've heard, you chose the mushroom test..."; mes "Oh well, it's still your choice."; } - else if (MONK_Q == 16) { + if (MONK_Q == 16) { mes "[Bashu]"; mes "Which test hall do you wish to enter?"; next; @@ -1903,13 +2791,12 @@ monk_test,329,61,3 script Bashu#mk 753,{ 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; + warp "MONK_Q",226,175; end; } mes "You have decided to take the test of self control by taking a ^FF0000marathon^000000."; @@ -1917,22 +2804,20 @@ monk_test,329,61,3 script Bashu#mk 753,{ 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; - } + 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,{ +monk_test,386,388,4 script Apprentice Monk 110,{ mes "[Monk Apprentice]"; mes "W... welcome!"; mes "Th... this place is for testing the tolerance of monk candidates!"; @@ -1954,10 +2839,9 @@ monk_test,386,388,4 script Apprentice Monk#mk 110,{ 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; + 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; warp "prt_monk",194,168; end; } @@ -1968,86 +2852,134 @@ monk_test,386,388,4 script Apprentice Monk#mk 110,{ } monk_test,387,350,0 script Supervisor#race_monk 45,2,2,{ + end; + OnTouch: - if (MONK_Q >= 15 && MONK_Q <= 23) { - set MONK_Q,MONK_Q+1; + if (MONK_Q == 15) { + set MONK_Q,16; + warp "monk_test",385,388; + end; + } + if (MONK_Q == 16) { + set MONK_Q,17; + warp "monk_test",385,388; + end; + } + if (MONK_Q == 17) { + set MONK_Q,18; + warp "monk_test",385,388; + end; + } + if (MONK_Q == 18) { + set MONK_Q,19; + warp "monk_test",385,388; + end; + } + if (MONK_Q == 19) { + set MONK_Q,20; + warp "monk_test",385,388; + end; + } + if (MONK_Q == 20) { + set MONK_Q,21; + warp "monk_test",385,388; + end; + } + if (MONK_Q == 21) { + set MONK_Q,22; + warp "monk_test",385,388; + end; + } + if (MONK_Q == 22) { + set MONK_Q,23; + warp "monk_test",385,388; + end; + } + if (MONK_Q == 23) { + set MONK_Q,24; warp "monk_test",385,388; end; } - else if (MONK_Q == 24) { + 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) { + 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; + mapannounce "monk_test","Congratulations! " + strcharinfo(0) + "!! You completed the marathon!",bc_map; + changequest 3028,3029; close2; warp "prt_monk",194,168; end; } + end; } -monk_test,82,384,0 script Trap#t_monk1_1::MonkTrap -1,{ +- script Trap#t_monk1::MonkTrap -1,{ + end; + OnTouch: - mapannounce "monk_test",""+ strcharinfo(0) + ", you're trapped. You will be returned.",bc_map; + 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)) { +monk_test,82,384,0 duplicate(MonkTrap) Trap#t_monk1_1 139 +monk_test,83,384,0 duplicate(MonkTrap) Trap#t_monk1_2 139 +monk_test,82,385,0 duplicate(MonkTrap) Trap#t_monk1_3 139 +monk_test,83,385,0 duplicate(MonkTrap) Trap#t_monk1_4 139 +monk_test,38,388,0 duplicate(MonkTrap) Trap#t_monk2_1 139,0,1 +monk_test,39,388,0 duplicate(MonkTrap) Trap#t_monk2_2 139,0,1 +monk_test,38,386,0 duplicate(MonkTrap) Trap#t_monk2_3 139 +monk_test,39,386,0 duplicate(MonkTrap) Trap#t_monk2_4 139 +monk_test,11,158,0 duplicate(MonkTrap) Trap#t_monk3_1 139,1,0 +monk_test,11,159,0 duplicate(MonkTrap) Trap#t_monk3_2 139,1,0 +monk_test,13,159,0 duplicate(MonkTrap) Trap#t_monk3_3 139 +monk_test,13,158,0 duplicate(MonkTrap) Trap#t_monk3_4 139 +monk_test,11,30,0 duplicate(MonkTrap) Trap#t_monk4_1 139,3,0 +monk_test,11,31,0 duplicate(MonkTrap) Trap#t_monk4_2 139,3,0 +monk_test,15,30,0 duplicate(MonkTrap) Trap#t_monk4_3 139 +monk_test,15,31,0 duplicate(MonkTrap) Trap#t_monk4_4 139 +monk_test,70,12,0 duplicate(MonkTrap) Trap#t_monk5_1 139,0,1 +monk_test,71,12,0 duplicate(MonkTrap) Trap#t_monk5_2 139,0,1 +monk_test,70,10,0 duplicate(MonkTrap) Trap#t_monk5_3 139 +monk_test,71,10,0 duplicate(MonkTrap) Trap#t_monk5_4 139 +monk_test,186,11,0 duplicate(MonkTrap) Trap#t_monk6_1 139,2,3 +monk_test,189,11,0 duplicate(MonkTrap) Trap#t_monk6_2 139,0,3 +monk_test,387,43,0 duplicate(MonkTrap) Trap#t_monk7_1 139,1,0 +monk_test,387,42,0 duplicate(MonkTrap) Trap#t_monk7_2 139,1,0 +monk_test,389,43,0 duplicate(MonkTrap) Trap#t_monk7_3 139 +monk_test,389,42,0 duplicate(MonkTrap) Trap#t_monk7_4 139 + +job_monk,0,0,0 monster Thief Mushroom 1182,70,0,0,0 +job_monk,0,0,0 monster Thief Bug 1051,20,0,0,0 + +job_monk,225,180,1 script Hyunmoo 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) { + 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; + mapannounce "job_monk","" + strcharinfo(0) + ", has quit his testing to become a monk.",bc_map; warp "prt_monk",194,168; end; } - else if (MONK_Q > 14 && MONK_Q < 25 && (countitem(1069) == 0 || countitem(1070) == 0)) { + 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; @@ -2086,14 +3018,13 @@ job_monk,225,180,1 script Hyunmoo#mk 89,{ 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 + set MONK_Q,16; 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)) { + if ((MONK_Q > 14) && (MONK_Q < 25) && (countitem(1069) > 29 || countitem(1070) > 29)) { mes "[Hyunmoo]"; mes "...hmm... not bad."; mes "Ok, you passed."; @@ -2109,7 +3040,7 @@ job_monk,225,180,1 script Hyunmoo#mk 89,{ warp "prt_monk",194,168; end; } - else if (MONK_Q > 24) { + 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."; @@ -2117,7 +3048,7 @@ job_monk,225,180,1 script Hyunmoo#mk 89,{ } } -prt_monk,225,180,1 script Hyunmoo#mk2 89,{ +prt_monk,225,180,1 script Hyunmoo#2 89,{ if (MONK_Q < 25) { mes "[Hyunmoo]"; mes "As I see vegetables growing, I feel myself growing within."; @@ -2134,31 +3065,29 @@ prt_monk,225,180,1 script Hyunmoo#mk2 89,{ mes "Don't forget to thank them as you go by for their hard work."; close; } - else if (MONK_Q > 24 && BaseJob == Job_Acolyte) { + if ((MONK_Q > 24) && (Class == 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; - } + 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,{ +monk_test,319,139,1 script Tomoon 52,{ if (MONK_Q == 25) { mes "[Tomoon]"; mes "Welcome young one."; @@ -2188,7 +3117,7 @@ monk_test,319,139,1 script Tomoon#mk 52,{ warp "monk_test",88,74; end; } - else if (MONK_Q == 26) { + if (MONK_Q == 26) { mes "[Tomoon]"; mes "Hmm... you failed?"; mes "Cheer up! Failure is but a process to success!"; @@ -2197,7 +3126,7 @@ monk_test,319,139,1 script Tomoon#mk 52,{ warp "monk_test",88,74; end; } - else if (MONK_Q == 27) { + if (MONK_Q == 27) { mes "[Tomoon]"; mes "Excellent job!!"; mes "I knew you'd make it through!"; @@ -2210,30 +3139,28 @@ monk_test,319,139,1 script Tomoon#mk 52,{ changequest 3031,3032; close; } - else if (MONK_Q == 28) { + 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; - } + 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."; + close2; } -monk_test,82,85,1 script Proctor#mk 95,{ +monk_test,82,85,1 script Proctor 95,{ mes "[Proctor]"; mes "So, are you ready to undergo the spiritual training?"; next; - switch(select("Yes!:No.:What do I have to do?")) { + 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."; @@ -2261,7 +3188,8 @@ monk_test,82,85,1 script Proctor#mk 95,{ } } -monk_test,144,277,0 script mob_monk#1_1 -1,1,1,{ +monk_test,144,277,0 script mob_monk#1_1 139,1,1,{ + OnTouch: monster "monk_test",144,277,"Zombie",1015,1; monster "monk_test",144,277,"Zombie",1015,1; @@ -2269,12 +3197,13 @@ OnTouch: monster "monk_test",144,277,"Zombie",1015,1; end; -OnDisable: - killmonsterall "monk_test"; +OnReset: + killmonster "monk_test","mob_monk#1_1::OnMyMobDead"; end; } -monk_test,134,291,0 script mob_monk#1_2 -1,1,1,{ +monk_test,134,291,0 script mob_monk#1_2 139,1,1,{ + OnTouch: monster "monk_test",134,291,"Zombie",1015,1; monster "monk_test",134,291,"Zombie",1015,1; @@ -2282,32 +3211,35 @@ OnTouch: monster "monk_test",134,291,"Zombie",1015,1; end; -OnDisable: - killmonsterall "monk_test"; +OnReset: + killmonster "monk_test","mob_monk#1_2::OnMyMobDead"; end; } -monk_test,157,284,0 script mob_monk#1_3 -1,1,1,{ +monk_test,157,284,0 script mob_monk#1_3 139,1,1,{ + OnTouch: monster "monk_test",157,284,"Mummy",1041,1; end; -OnDisable: - killmonsterall "monk_test"; +OnReset: + killmonster "monk_test","mob_monk#1_3::OnMyMobDead"; end; } -monk_test,156,261,0 script mob_monk#1_4 -1,1,1,{ +monk_test,156,261,0 script mob_monk#1_4 139,1,1,{ + OnTouch: monster "monk_test",156,261,"Mummy",1041,1; end; -OnDisable: - killmonsterall "monk_test"; +OnReset: + killmonster "monk_test","mob_monk#1_4::OnMyMobDead"; end; } -monk_test,149,268,0 script mob_monk#1_5 -1,1,1,{ +monk_test,149,268,0 script mob_monk#1_5 139,1,1,{ + OnTouch: monster "monk_test",149,268,"Zombie",1015,1; monster "monk_test",149,268,"Zombie",1015,1; @@ -2316,31 +3248,32 @@ OnTouch: monster "monk_test",149,268,"Zombie",1015,1; end; -OnDisable: - killmonsterall "monk_test"; +OnReset: + killmonster "monk_test","mob_monk#1_5::OnMyMobDead"; 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"; + donpcevent "mob_monk#1_5::OnReset"; + donpcevent "mob_monk#1_4::OnReset"; + donpcevent "mob_monk#1_3::OnReset"; + donpcevent "mob_monk#1_2::OnReset"; + donpcevent "mob_monk#1_1::OnReset"; close2; warp "prt_monk",196,168; end; } -monk_test,88,91,1 script Proctor#mk2 52,{ +monk_test,88,91,1 script Proctor#mk 52,{ mes "[Proctor]"; mes "So, are you ready to undergo this spiritual training?"; next; - switch(select("Yes!:No.:Check the caution for the test.")) { + 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."; @@ -2368,7 +3301,8 @@ monk_test,88,91,1 script Proctor#mk2 52,{ } } -monk_test,140,181,0 script mob_monk#2_1 -1,1,1,{ +monk_test,140,181,0 script mob_monk#2_1 139,1,1,{ + OnTouch: monster "monk_test",140,181,"Zombie",1015,1; monster "monk_test",140,181,"Zombie",1015,1; @@ -2376,12 +3310,13 @@ OnTouch: monster "monk_test",140,181,"Zombie",1015,1; end; -OnDisable: - killmonsterall "monk_test"; +OnReset: + killmonster "monk_test","mob_monk#2_1::OnMyMobDead"; end; } -monk_test,150,164,0 script mob_monk#2_2 -1,1,1,{ +monk_test,150,164,0 script mob_monk#2_2 139,1,1,{ + OnTouch: monster "monk_test",150,164,"Zombie",1015,1; monster "monk_test",150,164,"Zombie",1015,1; @@ -2389,32 +3324,35 @@ OnTouch: monster "monk_test",150,164,"Zombie",1015,1; end; -OnDisable: - killmonsterall "monk_test"; +OnReset: + killmonster "monk_test","mob_monk#2_2::OnMyMobDead"; end; } -monk_test,158,192,0 script mob_monk#2_3 -1,1,1,{ +monk_test,158,192,0 script mob_monk#2_3 139,1,1,{ + OnTouch: monster "monk_test",158,192,"Mummy",1041,1; end; -OnDisable: - killmonsterall "monk_test"; +OnReset: + killmonster "monk_test","mob_monk#2_3::OnMyMobDead"; end; } -monk_test,165,186,0 script mob_monk#2_4 -1,1,1,{ +monk_test,165,186,0 script mob_monk#2_4 139,1,1,{ + OnTouch: monster "monk_test",165,186,"Mummy",1041,1; end; -OnDisable: - killmonsterall "monk_test"; +OnReset: + killmonster "monk_test","mob_monk#2_4::OnMyMobDead"; end; } -monk_test,162,182,0 script mob_monk#2_5 -1,1,1,{ +monk_test,162,182,0 script mob_monk#2_5 139,1,1,{ + OnTouch: monster "monk_test",162,182,"Zombie",1015,1; monster "monk_test",162,182,"Zombie",1015,1; @@ -2423,21 +3361,22 @@ OnTouch: monster "monk_test",162,182,"Zombie",1015,1; end; -OnDisable: - killmonsterall "monk_test"; +OnReset: + killmonster "monk_test","mob_monk#2_5::OnMyMobDead"; 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"; + donpcevent "mob_monk#2_5::OnReset"; + donpcevent "mob_monk#2_4::OnReset"; + donpcevent "mob_monk#2_3::OnReset"; + donpcevent "mob_monk#2_2::OnReset"; + donpcevent "mob_monk#2_1::OnReset"; close2; warp "prt_monk",196,168; end; @@ -2447,7 +3386,7 @@ 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.")) { + 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."; @@ -2475,7 +3414,8 @@ monk_test,95,85,1 script Proctor#btl#3 79,{ } } -monk_test,249,277,0 script mob_monk#3_1 -1,1,1,{ +monk_test,249,277,0 script mob_monk#3_1 139,1,1,{ + OnTouch: monster "monk_test",249,277,"Zombie",1015,1; monster "monk_test",249,277,"Zombie",1015,1; @@ -2483,11 +3423,13 @@ OnTouch: monster "monk_test",249,277,"Zombie",1015,1; end; -OnDisable: - killmonsterall "monk_test"; +OnReset: + killmonster "monk_test","mob_monk#3_1::OnMyMobDead"; + end; } -monk_test,231,296,0 script mob_monk#3_2 -1,1,1,{ +monk_test,231,296,0 script mob_monk#3_2 139,1,1,{ + OnTouch: monster "monk_test",231,296,"Zombie",1015,1; monster "monk_test",231,296,"Zombie",1015,1; @@ -2495,32 +3437,35 @@ OnTouch: monster "monk_test",231,296,"Zombie",1015,1; end; -OnDisable: - killmonsterall "monk_test"; +OnReset: + killmonster "monk_test","mob_monk#3_2::OnMyMobDead"; end; } -monk_test,264,292,0 script mob_monk#3_3 -1,1,1,{ +monk_test,264,292,0 script mob_monk#3_3 139,1,1,{ + OnTouch: monster "monk_test",264,292,"Mummy",1041,1; end; -OnDisable: - killmonsterall "monk_test"; +OnReset: + killmonster "monk_test","mob_monk#3_3::OnMyMobDead"; end; } -monk_test,252,284,0 script mob_monk#3_4 -1,1,1,{ +monk_test,252,284,0 script mob_monk#3_4 139,1,1,{ + OnTouch: monster "monk_test",252,284,"Mummy",1041,1; end; -OnDisable: - killmonsterall "monk_test"; +OnReset: + killmonster "monk_test","mob_monk#3_4::OnMyMobDead"; end; } -monk_test,257,285,0 script mob_monk#3_5 -1,1,1,{ +monk_test,257,285,0 script mob_monk#3_5 139,1,1,{ + OnTouch: monster "monk_test",257,285,"Zombie",1015,1; monster "monk_test",257,285,"Zombie",1015,1; @@ -2530,99 +3475,87 @@ OnTouch: monster "monk_test",257,285,"Zombie",1015,1; end; -OnDisable: - killmonsterall "monk_test"; +OnReset: + killmonster "monk_test","mob_monk#3_5::OnMyMobDead"; 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"; + donpcevent "mob_monk#3_5::OnReset"; + donpcevent "mob_monk#3_4::OnReset"; + donpcevent "mob_monk#3_3::OnReset"; + donpcevent "mob_monk#3_2::OnReset"; + donpcevent "mob_monk#3_1::OnReset"; close2; warp "prt_monk",196,168; end; } -monk_test,3,3,0 script resetter#monk -1,{ +monk_test,3,3,0 script resetter#monk 139,{ + end; + 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"; + donpcevent "mob_monk#1_1::OnReset"; + donpcevent "mob_monk#1_2::OnReset"; + donpcevent "mob_monk#1_3::OnReset"; + donpcevent "mob_monk#1_4::OnReset"; + donpcevent "mob_monk#1_5::OnReset"; + donpcevent "mob_monk#2_1::OnReset"; + donpcevent "mob_monk#2_2::OnReset"; + donpcevent "mob_monk#2_3::OnReset"; + donpcevent "mob_monk#2_4::OnReset"; + donpcevent "mob_monk#2_5::OnReset"; + donpcevent "mob_monk#3_1::OnReset"; + donpcevent "mob_monk#3_2::OnReset"; + donpcevent "mob_monk#3_3::OnReset"; + donpcevent "mob_monk#3_4::OnReset"; + donpcevent "mob_monk#3_5::OnReset"; 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"; +OnInit: donpcevent "resetter#monk::OnEnable"; - close; + end; } -//============================================================ -// 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 +monk_test,329,47,0 warp test_to_prtmonk 1,1,prt_monk,193,166 +monk_test,329,76,0 warp way_to_stair 1,1,monk_test,259,118 +monk_test,259,115,0 warp stair_to_#1 1,1,monk_test,329,71 +monk_test,272,125,0 warp way_to_last 1,1,monk_test,301,127 +monk_test,298,127,0 warp last_to_st 1,1,monk_test,268,125 -//============================================================ -// mapflag -//============================================================ +monk_test,137,338,1 script switchreset#monkmonk 79,{ -//============================================================ -// 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] + if(getgmlevel() == 99){ + mes "Grrrr..."; + mes "All monsters in the monk job chance place have been reset."; + mes "Timer's activated."; + donpcevent "mob_monk#1_1::OnReset"; + donpcevent "mob_monk#1_2::OnReset"; + donpcevent "mob_monk#1_3::OnReset"; + donpcevent "mob_monk#1_4::OnReset"; + donpcevent "mob_monk#1_5::OnReset"; + donpcevent "mob_monk#2_1::OnReset"; + donpcevent "mob_monk#2_2::OnReset"; + donpcevent "mob_monk#2_3::OnReset"; + donpcevent "mob_monk#2_4::OnReset"; + donpcevent "mob_monk#2_5::OnReset"; + donpcevent "mob_monk#3_1::OnReset"; + donpcevent "mob_monk#3_2::OnReset"; + donpcevent "mob_monk#3_3::OnReset"; + donpcevent "mob_monk#3_4::OnReset"; + donpcevent "mob_monk#3_5::OnReset"; + donpcevent "resetter#monk::OnEnable"; + close; + } + end; +} \ No newline at end of file diff --git a/npc/jobs/2-2/rogue.txt b/npc/jobs/2-2/rogue.txt index 6d9ffe14f..402f9e97d 100644 --- a/npc/jobs/2-2/rogue.txt +++ b/npc/jobs/2-2/rogue.txt @@ -1,29 +1,20 @@ //===== rAthena Script ======================================= -//= Rogue Job Quest +// Rogue Job change Quest //===== By: ================================================== -//= kobra_k88 +//= Masao +//= Credits: Muad_Dib //===== Current Version: ===================================== -//= 2.9 +//= 1.0 //===== Compatible With: ===================================== -//= rAthena SVN +//= Any rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job quest for Rogue classes +//= [Translated from the Official] +//= Job change Quest from Thief -> Rogue. //===== 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] +//= 1.0 Updated to latest available official file. [Masao] //============================================================ -moc_ruins,86,103,1 script Thug#rg 118,{ +morocc,100,104,1 script Thug 118,{ mes "[Thug]"; mes "*Sigh...*"; mes "What is life?"; @@ -54,7 +45,7 @@ moc_ruins,86,103,1 script Thug#rg 118,{ close; } -in_rogue,363,122,4 script Rogue Guildsman#rg 747,{ +in_rogue,363,122,4 script Rogue Guildsman 747,{ if (Upper == 1) { mes "[Markie]"; mes "Eh? You...you...?!"; @@ -72,8 +63,8 @@ in_rogue,363,122,4 script Rogue Guildsman#rg 747,{ mes "I never misunderstand people...oh well, be safe anyway!"; close; } - if (BaseJob == Job_Thief) { - if (SkillPoint) { + if (Class == Job_Baby_Thief || Class == Job_Thief) { + if (SkillPoint != 0) { 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."; @@ -84,15 +75,16 @@ in_rogue,363,122,4 script Rogue Guildsman#rg 747,{ mes "[Rogue Guildsman]"; mes "So what's a kid"; mes "like you doin' here?"; - if (sex == 1) { + if (Sex == 1) { mes "Oh, I get it now..."; mes "The widdle boy wants"; + mes "to be a ^800000Rogue^000000."; } else { mes "Oh, I see..."; mes "Lil' cutie wants "; + mes "to be a ^800000Rogue^000000."; } - 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?"; @@ -108,7 +100,7 @@ in_rogue,363,122,4 script Rogue Guildsman#rg 747,{ 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 "Rule number 1 for Rouges..."; 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]"; @@ -119,14 +111,14 @@ in_rogue,363,122,4 script Rogue Guildsman#rg 747,{ mes "Let's get started!"; next; } - else if (ROGUE_Q == 1) { + 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) { + 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; @@ -135,7 +127,7 @@ in_rogue,363,122,4 script Rogue Guildsman#rg 747,{ 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) { + if ((ROGUE_Q > 2) && (ROGUE_Q < 16)) { mes "[Markie]"; mes "Hey yo..."; mes "Do your best."; @@ -146,33 +138,58 @@ in_rogue,363,122,4 script Rogue Guildsman#rg 747,{ 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) { + if (ROGUE_Q == 17) { + mes "[Markie]"; + 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~"; + if(Class == Job_Baby_Thief){ + jobchange Job_Baby_Rogue; + } else { + jobchange Job_Rogue; + } + set FJOB,Job_Shadow_Chaser; changequest 2026,2027; + completequest 2027; + next; + mes "[Markie]"; + mes "Now..."; + mes "It's time"; + mes "for me to make"; + mes "a speech~ *Ahem*"; + next; 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!"; + 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."; + if (JobLevel == 50) { + getitem 1220,1; //Gladius_ + } else { + getitem 1219,1; //Gladius } - 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~"; + close; + } + if (ROGUE_Q == 16) { + mes "[Markie]"; + 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!"; + if(Class == Job_Baby_Thief){ + jobchange Job_Baby_Rogue; + } else { + jobchange Job_Rogue; } - set .@jlevel,JobLevel; - callfunc "Job_Change",Job_Rogue; - callfunc "F_ClearJobVar"; + set FJOB,Job_Shadow_Chaser; + changequest 2026,2027; completequest 2027; next; mes "[Markie]"; @@ -183,13 +200,12 @@ in_rogue,363,122,4 script Rogue Guildsman#rg 747,{ 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) { + if (JobLevel == 50) { getitem 1220,1; //Gladius_ } else { getitem 1219,1; //Gladius } - end; + close; } if (select("I'm ready.:Hold on, I need to get ready!") == 2) { mes "[Markie]"; @@ -202,214 +218,214 @@ in_rogue,363,122,4 script Rogue Guildsman#rg 747,{ close; } next; + set .@assassin_quiz, rand(1,3); + set @assassin_t,0; 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: + if (.@assassin_quiz == 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; - + 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; - + 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; - + 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; - + 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; - + 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; - + 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; - + 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; - + 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; - + 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: + if (select("Wind Main-Gauche:Ice Main-Gauche:Earth Main-Gauche:Fire Main-Gauche") == 1) { + set @assassin_t,@assassin_t + 10; + } + } + if (.@assassin_quiz == 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; - + 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; - + 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; - + 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; - + 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; - + 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; - + 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; - + 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; - + 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: + switch (select("Green Plant:Yellow Plant:Blue Plant:Shining Plant")) { + case 1: + case 2: break; case 3: - set .@assassin_t,.@assassin_t+10; + set @assassin_t,@assassin_t + 10; break; case 4: - set .@assassin_t,.@assassin_t+10; + 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: + if (select("Zombie:Megalodon:Familiar:Khalitzburg") == 3) { + set @assassin_t,@assassin_t + 10; + } + } + else { 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; - + 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; - + 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; - + 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; - + 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; - + 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; - + 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: + switch (select("At job Level 30:At job Level 35:At Job Level 40:At Job Level 50")) { + case 1: + case 2: break; case 3: - set .@assassin_t,.@assassin_t+10; + set @assassin_t,@assassin_t + 10; break; case 4: - set .@assassin_t,.@assassin_t+10; + 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; - + 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; + if (select("Orange Gooey Mushroom:Red Hairy Mushroom:Orange Net Mushroom:Orange Sticky Mushroom") == 3) { + set @assassin_t,@assassin_t + 10; } 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; + if (select("Whisper Card:Elder Willow Card:Zerom Card:Matyr Card") == 2) { + set @assassin_t,@assassin_t + 10; + } } mes "[Markie]"; mes "*Whew~*"; @@ -419,8 +435,8 @@ in_rogue,363,122,4 script Rogue Guildsman#rg 747,{ mes "[Markie]"; mes "Let's see."; mes "You got..."; - mes "" + .@assassin_t + " points."; - if (.@assassin_t > 80) { + mes "" + @assassin_t + " points."; + if (@assassin_t > 80) { set ROGUE_Q,2; setquest 2017; mes "Good. You passed."; @@ -435,28 +451,26 @@ in_rogue,363,122,4 script Rogue Guildsman#rg 747,{ 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; - } + 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) { + 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) { + if (Class == 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?"; @@ -468,7 +482,7 @@ in_rogue,363,122,4 script Rogue Guildsman#rg 747,{ 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) { + if (Class == ROGUE_Q) { mes "[Markie]"; mes "Hey hey~"; mes "Long time no see."; @@ -478,18 +492,16 @@ in_rogue,363,122,4 script Rogue Guildsman#rg 747,{ 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; - } + 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,{ +in_rogue,376,23,1 script Mr. Smith 57,{ if (ROGUE_Q == 2) { mes "[Mr. Smith]"; mes "Welcome to"; @@ -508,11 +520,98 @@ in_rogue,376,23,1 script Mr. Smith#rg 57,{ 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) { + set .@item_need, rand(1,15); + if ((.@item_need > 0) && (.@item_need < 6)) { + 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 "^FF000010 Skel-bone^000000,"; + mes "^FF00006 Blue Herb^000000,"; + mes "^FF000010 Decayed Nail^000000, and"; + mes "^FF000010 Horrendous Mouth^000000."; + set ROGUE_Q,3; + changequest 2017,2018; + 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; + } + if ((.@item_need > 5) && (.@item_need < 11)) { + 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 "^FF000010 Green Herb^000000,"; + mes "^FF000010 Crab Shell^000000,"; + mes "^FF000010 Snake Scale^000000 and"; + mes "^FF000010 Garlet^000000."; + set ROGUE_Q,4; + changequest 2017,2019; + 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; + } + if ((.@item_need > 10) && (.@item_need < 15)) { + 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 "^FF000010 Yellow Herb^000000,"; + mes "^FF000010 Shell^000000,"; + mes "^FF000010 Grasshopper's Leg^000000 and"; + mes "^FF000010 Bear's Footskin^000000."; + set ROGUE_Q,5; + 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; + } + if (.@item_need == 15) { mes "[Mr. Smith]"; mes "I will let you know..."; set ROGUE_Q,6; @@ -632,7 +731,7 @@ in_rogue,376,23,1 script Mr. Smith#rg 57,{ close; } } - else if (ROGUE_Q < 2) { + 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; @@ -651,19 +750,121 @@ in_rogue,376,23,1 script Mr. Smith#rg 57,{ 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) { + if (ROGUE_Q > 2) { + if (ROGUE_Q == 3) { + if ((Zeny > 9999) && (countitem(932) > 9) && (countitem(510) > 5) && (countitem(957) > 9) && (countitem(958) > 9)) { + mes "[Mr. Smith]"; + mes "Okay, we've got the application fee, ^FF000010,000 zeny^000000, 10 Skel-Bone, 6 Blue Herb, 10 Decayed Nail and 10 Horrendous Mouth..."; + set Zeny, Zeny - 10000; + delitem 932,10; //Skel_Bone + delitem 510,6; //Blue_Herb + delitem 957,10; //Decayed_Nail + delitem 958,10; //Horrendous_Mouth + set ROGUE_Q,7; + next; + mes "[Mr. Smith]"; + mes "Great, great..."; + mes "I think you"; + mes "brought everything."; + 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 "^FF000010 Skel-bone^000000,"; + mes "^FF00006 Blue Herb^000000,"; + mes "^FF000010 Decayed Nail^000000, and"; + mes "^FF000010 Horrendous Mouth^000000."; + mes "You got it this time?"; + close; + } + if (ROGUE_Q == 4) { + if ((Zeny > 9999) && (countitem(511) > 9) && (countitem(964) > 9) && (countitem(926) > 9) && (countitem(910) > 9)) { + mes "[Mr. Smith]"; + mes "Okay, we've got the application fee, 10 Green Herb, 10 Crab Shell, 10 Snake Scale and 10 Garlet."; + set Zeny, Zeny - 10000; + delitem 511,10; //Green_Herb + delitem 964,10; //Crap_Shell + delitem 926,10; //Scale_Of_Snakes + delitem 910,10; //Garlet + set ROGUE_Q,7; + next; + mes "[Mr. Smith]"; + mes "Great, great..."; + mes "I think you"; + mes "brought everything."; + next; + mes "[Mr. Smith]"; + mes "Alright, wait just a moment while 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 "^FF000010 Green Herb^000000,"; + mes "^FF000010 Crab Shell^000000,"; + mes "^FF000010 Snake Scale^000000 and"; + mes "^FF000010 Garlet^000000."; + mes "Don't forget this time!"; + close; + } + if (ROGUE_Q == 5) { + if ((Zeny > 9999) && (countitem(508) > 9) && (countitem(935) > 9) && (countitem(940) > 9) && (countitem(948) > 9)) { + mes "[Mr. Smith]"; + mes "Let's see, you've brought the application fee, 10 Yellow Herb, 10 Shell, 10 Grasshopper's Leg and 10 Bear's Footskin..."; + set Zeny, Zeny - 10000; + delitem 508,10; //Yellow_Herb + delitem 935,10; //Shell + delitem 940,10; //Grasshopper's_Leg + delitem 948,10; //Bear's_Foot + set ROGUE_Q,7; + next; + mes "[Mr. Smith]"; + mes "Great, great..."; + mes "I think you"; + mes "brought everything."; + next; + mes "[Mr. Smith]"; + mes "Alright, wait just a moment while 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 "^FF000010 Yellow Herb^000000,"; + mes "^FF000010 Shell^000000,"; + mes "^FF000010 Grasshopper's Leg^000000 and"; + mes "^FF000010 Bear's Footskin^000000."; + mes "Got it? Don't forget this time!"; + close; + } + 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; + set Zeny, Zeny - 10000; delitem 915,5; //Chrysalis delitem 713,5; //Empty_Bottle delitem 1002,5; //Iron_Ore @@ -688,8 +889,6 @@ in_rogue,376,23,1 script Mr. Smith#rg 57,{ 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."; @@ -751,23 +950,17 @@ in_rogue,376,23,1 script Mr. Smith#rg 57,{ 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: + if (ROGUE_Q == 7) { + set .@ro_q, rand(1,3); + if (.@ro_q == 1) { + mes "[Mr. Smith]"; + mes "Let me see..."; + mes "Who would should"; + mes "I send you to...?"; set ROGUE_Q,9; - if(checkquest(2018) != -1) { - changequest 2018,2022; - } - else if(checkquest(2019) != -1) { - changequest 2019,2022; - } - else { - changequest 2020,2022; - } + changequest 2018,2022; + changequest 2019,2022; + changequest 2020,2022; next; mes "[Mr. Smith]"; mes "Right! I know"; @@ -794,17 +987,16 @@ in_rogue,376,23,1 script Mr. Smith#rg 57,{ 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: + } + if (.@ro_q == 2) { + mes "[Mr. Smith]"; + mes "Let me see..."; + mes "Who would should"; + mes "I send you to...?"; set ROGUE_Q,10; - if(checkquest(2018) != -1) { - changequest 2018,2023; - } - else if(checkquest(2019) != -1) { - changequest 2019,2023; - } - else { - changequest 2020,2023; - } + changequest 2018,2023; + changequest 2019,2023; + changequest 2020,2023; next; mes "[Mr. Smith]"; mes "Hmm..."; @@ -830,52 +1022,50 @@ in_rogue,376,23,1 script Mr. Smith#rg 57,{ 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; } + mes "[Mr. Smith]"; + mes "Let me see..."; + mes "Who would should"; + mes "I send you to...?"; + set ROGUE_Q,11; + changequest 2018,2024; + changequest 2019,2024; + 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 have 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) { + 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."; + mes "Go and find Hermanthorn Junior, who is living near ^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."; + changequest 2021,2025; close; } - else if (ROGUE_Q == 9) { + if (ROGUE_Q == 9) { mes "[Mr. Smith]"; mes "What...?"; mes "Did you just"; @@ -889,7 +1079,7 @@ in_rogue,376,23,1 script Mr. Smith#rg 57,{ mes "The password is ^0000FFAragham never hoarded upgrade items^000000."; close; } - else if (ROGUE_Q == 10) { + if (ROGUE_Q == 10) { mes "[Mr. Smith]"; mes "What...?"; mes "Did you just"; @@ -907,7 +1097,7 @@ in_rogue,376,23,1 script Mr. Smith#rg 57,{ mes "The password is ^0000FF'Antonio doesn't enjoy destroying upgrade items'^000000."; close; } - else if (ROGUE_Q == 11) { + if (ROGUE_Q == 11) { mes "[Mr. Smith]"; mes "What...?"; mes "Did you just"; @@ -921,7 +1111,7 @@ in_rogue,376,23,1 script Mr. Smith#rg 57,{ mes "The password is ^0000FFMy father never hoarded upgrade items^000000."; close; } - else if (ROGUE_Q > 11) { + if (ROGUE_Q > 11) { mes "[Mr. Smith]"; mes "Hmmm...?"; mes "Don't you have"; @@ -931,94 +1121,23 @@ in_rogue,376,23,1 script Mr. Smith#rg 57,{ 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: + if (ROGUE_Q < 8){ + mes"The door is locked."; + mes "Do this later."; + close; + } mes "[???]"; mes "Who's there?!"; mes "Who would dare"; mes "intrude my territory?"; next; - switch(select("My father:Aragham:Aragon:Legolas")) { + set @rogue_t,0; + switch (select("My father:Aragham:Aragon:Legolas")) { case 1: mes "[" + strcharinfo(0) + "]"; mes "My father"; @@ -1026,7 +1145,7 @@ OnTouch: case 2: mes "[" + strcharinfo(0) + "]"; mes "Aragham"; - set .@rogue_t,.@rogue_t+10; + set @rogue_t,@rogue_t + 10; break; case 3: mes "[" + strcharinfo(0) + "]"; @@ -1037,62 +1156,87 @@ OnTouch: mes "Legolas"; break; } - switch(select("did not:didn't:never:ever")) { - case 1: mes "did not"; break; - case 2: mes "didn't"; 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; + set @rogue_t,@rogue_t + 10; + break; + case 4: + mes "ever"; break; - case 4: mes "ever"; break; } - switch(select("hoard:hoarded:hide:took:take")) { - case 1: mes "hoard"; break; + switch (select("hoard:hoarded:hide:took:take")) { + case 1: + mes "hoard"; + break; case 2: mes "hoarded"; - set .@rogue_t,.@rogue_t+10; + set @rogue_t,@rogue_t + 10; + break; + case 3: + mes "hide"; + break; + case 4: + mes "took"; + break; + case 5: + mes "take"; 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.")) { + switch (select("upgrade items.:forging items.:refining item.:upgrade item.")) { case 1: mes "upgrade items."; - set .@rogue_t,.@rogue_t+10; + 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; - case 2: mes "forging items."; break; - case 3: mes "refining item."; break; - case 4: mes "upgrade item."; break; } next; - if (.@rogue_t > 30) { + 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; - } + mes "[???]"; + mes "What the...?"; + mes "Get lost!"; + close; } cmd_fild09,335,143,0 script Warp#2 45,1,1,{ + OnTouch: + if (ROGUE_Q < 8){ + mes"The door is locked."; + mes "Do this later."; + close; + } mes "[???]"; mes "Who's there?!"; mes "Who would dare"; mes "intrude my territory?"; next; - switch(select("My father:Aragham:Aragon:Legolas")) { + set @rogue_t,0; + switch (select("My father:Aragham:Aragon:Legolas")) { case 1: mes "[" + strcharinfo(0) + "]"; mes "My father"; - set .@rogue_t,.@rogue_t+10; + set @rogue_t,@rogue_t + 10; break; case 2: mes "[" + strcharinfo(0) + "]"; @@ -1107,58 +1251,83 @@ OnTouch: mes "Legolas"; break; } - switch(select("did not:didn't:never:ever")) { - case 1: mes "did not"; break; - case 2: mes "didn't"; 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; + set @rogue_t,@rogue_t + 10; + break; + case 4: + mes "ever"; 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; + 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; + set @rogue_t,@rogue_t + 10; break; } - switch(select("upgrade items.:forging items.:refining item.:upgrade item.")) { + switch (select("upgrade items.:forging items.:refining item.:upgrade item.")) { case 1: mes "upgrade items."; - set .@rogue_t,.@rogue_t+10; + 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; - case 2: mes "forging items."; break; - case 3: mes "refining item."; break; - case 4: mes "upgrade item."; break; } next; - if (.@rogue_t > 30) { + 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; - } + mes "[???]"; + mes "What the...?"; + mes "Get lost!"; + close; } cmd_fild04,304,180,0 script Warp#3 45,1,1,{ + OnTouch: + if (ROGUE_Q < 8){ + mes"The door is locked."; + mes "Do this later."; + close; + } mes "[???]"; mes "Who's there?!"; mes "Who would dare"; mes "intrude my territory?"; next; - switch(select("Anntonio:Aragham:Antonio:Hollgrehenn")) { + set @rogue_t,0; + switch (select("Anntonio:Aragham:Antonio:Hollgrehenn")) { case 1: mes "[" + strcharinfo(0) + "]"; mes "Anntonio"; @@ -1170,60 +1339,82 @@ OnTouch: case 3: mes "[" + strcharinfo(0) + "]"; mes "Antonio"; - set .@rogue_t,.@rogue_t+10; + set @rogue_t,@rogue_t + 10; break; case 4: mes "[" + strcharinfo(0) + "]"; - mes "Hollgrehenn"; + mes "Hollgrehenn"; break; } - switch(select("enjoys:doesn't enjoy:likes:doesn't like")) { - case 1: mes "enjoys"; 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; + set @rogue_t,@rogue_t + 10; + break; + case 3: + mes "likes"; + break; + case 4: + mes "doesn't like"; break; - case 3: mes "likes"; break; - case 4: mes "doesn't like"; break; } - switch(select("damaging:destroying:fixing:forging")) { - case 1: mes "damaging"; break; + switch (select("damaging:destroying:fixing:forging")) { + case 1: + mes "damaging"; + break; case 2: mes "destroying"; - set .@rogue_t,.@rogue_t+10; + set @rogue_t,@rogue_t + 10; + break; + case 3: + mes "fixing"; + break; + case 4: + mes "forging"; 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; + 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; + 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; - case 4: mes "refined items."; break; - case 5: mes "upgraded items."; break; - case 6: mes "forged items."; break; } next; - if (.@rogue_t > 30) { + 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; - } + mes "[???]"; + mes ".....Get lost!"; + close; } -in_rogue,272,135,1 script Hermanthorn Jr#rg 85,{ +cmd_fild07,355,286,0 warp warp_nervrogue 1,1,in_rogue,247,126 + +in_rogue,272,135,1 script Hermanthorn Jr 85,{ if (ROGUE_Q == 8) { - mes "[HermanthornJr.]"; + mes "[Hermanthorn Jr.]"; mes "I see..."; mes "You must be from"; mes "the Rogue guild."; @@ -1231,60 +1422,56 @@ in_rogue,272,135,1 script Hermanthorn Jr#rg 85,{ mes "ones Mr. Smith wasn't"; mes "too happy with..."; next; - mes "[HermanthornJr.]"; + mes "[Hermanthorn Jr.]"; 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 "[Hermanthorn Jr.]"; mes "I suppose he suckered you into gathering those items, and then passed you on to me. Sad, really."; next; - mes "[HermanthornJr.]"; + mes "[Hermanthorn Jr.]"; 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 "[Hermanthorn Jr.]"; 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 "[Hermanthorn Jr.]"; mes "There is one thing I should tell you, though. You might want to be careful inside, alright?"; next; - mes "[HermanthornJr.]"; + mes "[Hermanthorn Jr.]"; mes "A bunch of pricks have been throwing Dead Branches and casting Hocus Pocus all over the place..."; next; - mes "[HermanthornJr.]"; + mes "[Hermanthorn Jr.]"; 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; + close2; } - else if (ROGUE_Q == 12) { - mes "[HermanthornJr.]"; + if (ROGUE_Q == 12) { + mes "[Hermanthorn Jr.]"; 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; - } + mes "[Hermanthorn Jr.]"; + 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,{ +in_rogue,270,130,0 script he_to_rogue 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) + if (ROGUE_Q == 12) { + 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) { 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) { + close; + } + if (.@input == 3019) { mes "^3355FFThe door"; mes "has opened.^000000"; close2; @@ -1292,99 +1479,100 @@ OnTouch: 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; } + mes "^3355FFThe door is locked. It seems a four number combination is required to open it.^000000"; + next; + input .@input; + if (.@input < 1 || .@input > 10000) { + mes "^3355FFPlease enter a combination of four numbers.^000000"; + close; + } + if (.@input == 3019) { + mes "[Hermanthorn Jr.]"; + mes "Well..."; + mes "Didn't I tell you"; + mes "that I changed the"; + mes "password? *Wink Wink*"; + close; + } + mes "^3355FFThe door"; + mes "is still locked.^000000"; + close; } -in_rogue,200,389,0 script gen_ro#1 -1,3,3,{ +in_rogue,200,389,0 script gen_ro#1 139,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"; + if (Class == Job_Baby_Thief || Class == Job_Thief) { + monster "in_rogue",200,389,"Zombie",1015,1; + monster "in_rogue",201,389,"Zombie",1015,1; donpcevent "gen_ro#2::OnDisable"; donpcevent "gen_ro#3::OnDisable"; donpcevent "gen_ro#4::OnDisable"; - } - else + } 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,{ +in_rogue,100,389,0 script gen_ro#2 139,3,3,{ + OnTouch: - if (BaseJob == Job_Thief) { - monster "in_rogue",100,389,"Mummy",1041,1,"gen_ro#2::OnMyMobDead"; + if (Class == Job_Baby_Thief || Class == Job_Thief) { + monster "in_rogue",100,389,"Mummy",1041,1; donpcevent "gen_ro#1::OnDisable"; - } - else + } 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,{ +in_rogue,150,389,0 script gen_ro#3 139,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"; + if (Class == Job_Baby_Thief || Class == Job_Thief) { + monster "in_rogue",145,389,"Zombie",1015,1; + monster "in_rogue",143,389,"Mummy",1041,1; donpcevent "gen_ro#2::OnDisable"; - } - else + } 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,{ +in_rogue,250,389,0 script gen_ro#4 139,3,3,{ + OnTouch: - if (BaseJob == Job_Thief) { - monster "in_rogue",200,389,"Abysmal Knight",1219,1,"gen_ro#4::OnMyMobDead"; + if (Class == Job_Baby_Thief || Class == Job_Thief) { + monster "in_rogue",200,389,"Abysmal Knight",1219,1; donpcevent "gen_ro#3::OnDisable"; - } - else + } 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; @@ -1392,7 +1580,7 @@ OnTouch: end; } -in_rogue,244,39,1 script Aragham Junior#rg 99,{ +in_rogue,244,39,1 script Aragham Junior 99,{ if (ROGUE_Q == 9) { mes "[Aragham Jr.]"; mes "Oh, you must be"; @@ -1420,13 +1608,13 @@ in_rogue,244,39,1 script Aragham Junior#rg 99,{ 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) { + changequest 2022,2026; 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.]"; @@ -1436,7 +1624,7 @@ in_rogue,244,39,1 script Aragham Junior#rg 99,{ mes "when you're ready."; close; } - else if (ROGUE_Q == 13) { + 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..."; @@ -1455,7 +1643,7 @@ in_rogue,244,39,1 script Aragham Junior#rg 99,{ mes "when you're ready."; close; } - else if (BaseJob != Job_Rogue) { + if (Class != ROGUE_Q) { mes "[Aragham Jr.]"; mes "Huh...?"; mes "Who are you?!"; @@ -1466,19 +1654,19 @@ in_rogue,244,39,1 script Aragham Junior#rg 99,{ 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; - } + 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,{ +in_rogue,244,21,0 warp out#01 1,1,cmd_fild09,106,191 + +in_rogue,160,34,1 script Hollgrehenn Junior 85,{ if (ROGUE_Q == 11) { mes "[Hollgrehenn Jr.]"; mes "Huh..."; @@ -1502,12 +1690,12 @@ in_rogue,160,34,1 script Hollgrehenn junior#rg 85,{ 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) { + changequest 2024,2026; mes "[Hollgrehenn Jr.]"; mes "Good luck."; close2; warp "in_rogue",15,105; set ROGUE_Q,15; - changequest 2024,2026; end; } mes "[Hollgrehenn Jr.]"; @@ -1516,7 +1704,7 @@ in_rogue,160,34,1 script Hollgrehenn junior#rg 85,{ mes "when you're ready."; close; } - else if (ROGUE_Q == 15) { + if (ROGUE_Q == 15) { mes "[Hollgrehenn Jr.]"; mes "Huh."; mes "You failed."; @@ -1535,7 +1723,7 @@ in_rogue,160,34,1 script Hollgrehenn junior#rg 85,{ mes "when you're ready."; close; } - else if (BaseJob != Job_Rogue) { + if (Class != ROGUE_Q) { mes "[Hollgrehenn Jr.]"; mes "Huh...?"; mes "You're not from"; @@ -1554,17 +1742,17 @@ in_rogue,160,34,1 script Hollgrehenn junior#rg 85,{ mes "about killing you."; close; } - else { - mes "[Hollgrehenn Jr.]"; - mes "Hey..."; - mes "Come to visit?"; - mes "We Rogues gotta"; - mes "stick together, huh?"; - close; - } + 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,{ +in_rogue,172,34,0 warp out#02 1,1,cmd_fild09,341,143 + +in_rogue,177,109,1 script Antonio Junior 88,{ if (ROGUE_Q == 10) { mes "[Antonio Jr.]"; mes "You're from"; @@ -1591,10 +1779,10 @@ in_rogue,177,109,1 script Antonio junior#rg 88,{ mes "not fail this test"; mes "You can only become"; mes "a Rogue if you pass..."; + changequest 2023,2026; close2; warp "in_rogue",15,105; set ROGUE_Q,14; - changequest 2023,2026; end; } mes "[Antonio Jr.]"; @@ -1605,14 +1793,15 @@ in_rogue,177,109,1 script Antonio junior#rg 88,{ mes "the test."; close; } - else if (ROGUE_Q == 14) { + 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) { + switch (select("Re-test:Cancel")) { + case 1: mes "[Antonio Jr.]"; mes "Remember, I'm doing"; mes "you a favor here..."; @@ -1621,16 +1810,17 @@ in_rogue,177,109,1 script Antonio junior#rg 88,{ close2; warp "in_rogue",15,105; end; + case 2: + 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; } - 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) { + if (Class != ROGUE_Q) { mes "Huh...?"; mes "Who are you?!"; mes "You're not from"; @@ -1640,344 +1830,327 @@ in_rogue,177,109,1 script Antonio junior#rg 88,{ 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; - } + mes "[Antonio Jr.]"; + mes "Hey, how's it goin'?"; + mes "Take it easy, and just"; + mes "relax before you leave."; + close; } +in_rogue,161,103,0 warp out#1 1,1,cmd_fild04,302,177 + in_rogue,370,320,0 script quest_out 45,1,1,{ + OnTouch: set ROGUE_Q,16; + changequest 2026,2027; warp "in_rogue",378,113; end; } -in_rogue,15,184,0 script mob_rogue#1 -1,8,1,{ +in_rogue,15,184,0 script mob_rogue#1 139,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 + if (Class == Job_Baby_Thief || Class == Job_Thief) { + monster "in_rogue",14,187,"Zombie",1015,1; + monster "in_rogue",15,188,"Zombie",1015,1; + monster "in_rogue",16,189,"Zombie",1015,1; + monster "in_rogue",17,187,"Zombie",1015,1; + monster "in_rogue",18,188,"Zombie",1015,1; + monster "in_rogue",19,189,"Zombie",1015,1; + } else { warp "mag_dun02",181,176; + } end; -OnDisable: +OnReset: killmonster "in_rogue","mob_rogue#1::OnMyMobDead"; end; - -OnMyMobDead: - end; } -in_rogue,15,273,0 script mob_rogue#2 -1,8,1,{ +in_rogue,15,273,0 script mob_rogue#2 139,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 + if (Class == Job_Baby_Thief || Class == Job_Thief) { + monster "in_rogue",15,276,"Mummy",1041,1; + monster "in_rogue",13,276,"Mummy",1041,1; + monster "in_rogue",11,276,"Mummy",1041,1; + } else { warp "mag_dun02",181,176; + } end; -OnDisable: +OnReset: killmonster "in_rogue","mob_rogue#2::OnMyMobDead"; end; - -OnMyMobDead: - end; } -in_rogue,15,333,0 script mob_rogue#3 -1,8,1,{ +in_rogue,15,333,0 script mob_rogue#3 139,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 + if (Class == Job_Baby_Thief || Class == Job_Thief) { + monster "in_rogue",15,336,"Zombie",1015,1; + monster "in_rogue",15,336,"Zombie",1015,1; + monster "in_rogue",15,336,"Zombie",1015,1; + monster "in_rogue",15,336,"Zombie",1015,1; + donpcevent "mob_rogue#4::OnReset"; + donpcevent "mob_rogue#7::OnReset"; + donpcevent "mob_rogue#8::OnReset"; + } else { warp "mag_dun02",181,176; + } end; -OnDisable: - killmonster "in_rogue","mob_rogue#3::OnMyMObDead"; - end; - -OnMyMobDead: +OnReset: + killmonster "in_rogue","mob_rogue#3::OnMyMobDead"; end; } -in_rogue,39,341,0 script mob_rogue#4 -1,1,8,{ +in_rogue,39,341,0 script mob_rogue#4 139,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 + if (Class == Job_Baby_Thief || Class == Job_Thief) { + monster "in_rogue",39,341,"Mummy",1041,1; + monster "in_rogue",40,341,"Ghoul",1036,1; + monster "in_rogue",41,341,"Abysmal Knight",1219,1; + monster "in_rogue",42,341,"Mummy",1041,1; + } else { warp "mag_dun02",181,176; + } end; -OnDisable: +OnReset: killmonster "in_rogue","mob_rogue#4::OnMyMobDead"; end; - -OnMyMobDead: - end; } -in_rogue,102,334,0 script mob_rogue#5 -1,1,4,{ +in_rogue,102,334,0 script mob_rogue#5 139,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 + if (Class == Job_Baby_Thief || Class == Job_Thief) { + monster "in_rogue",92,334,"Khalitzburg",1132,1; + donpcevent "mob_rogue#1::OnReset"; + donpcevent "mob_rogue#2::OnReset"; + donpcevent "mob_rogue#3::OnReset"; + } else { warp "mag_dun02",181,176; + } end; -OnDisable: +OnReset: killmonster "in_rogue","mob_rogue#5::OnMyMobDead"; end; - -OnMyMobDead: - end; } -in_rogue,58,309,0 script mob_rogue#6 -1,4,1,{ +in_rogue,58,309,0 script mob_rogue#6 139,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 + if (Class == Job_Baby_Thief || Class == Job_Thief) { + monster "in_rogue",57,301,"Khalitzburg",1132,1; + donpcevent "mob_rogue#1::OnReset"; + donpcevent "mob_rogue#2::OnReset"; + donpcevent "mob_rogue#3::OnReset"; + } else { warp "mag_dun02",181,176; + } end; -OnDisable: +OnReset: killmonster "in_rogue","mob_rogue#6::OnMyMobDead"; end; - -OnMyMobDead: - end; } -in_rogue,101,264,0 script mob_rogue#7 -1,5,5,{ +in_rogue,101,264,0 script mob_rogue#7 139,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 + if (Class == Job_Baby_Thief || Class == Job_Thief) { + monster "in_rogue",101,264,"Abysmal Knight",1219,1; + monster "in_rogue",102,264,"Abysmal Knight",1219,1; + } else { warp "mag_dun02",181,176; + } end; -OnDisable: +OnReset: killmonster "in_rogue","mob_rogue#7::OnMyMobDead"; end; - -OnMyMobDead: - end; } -in_rogue,140,312,0 script mob_rogue#8 -1,5,5,{ +in_rogue,140,312,0 script mob_rogue#8 139,5,5,{ + OnTouch: - if (BaseJob == Job_Thief) - monster "in_rogue",140,312,"Abysmal Knight",1219,1,"mob_rogue#8::OnMyMobDead"; - else + if (Class == Job_Baby_Thief || Class == Job_Thief) { + monster "in_rogue",140,312,"Abysmal Knight",1219,1; + } else { warp "mag_dun02",181,176; + } end; -OnDisable: +OnReset: killmonster "in_rogue","mob_rogue#8::OnMyMobDead"; end; - -OnMyMobDead: - end; } -in_rogue,139,246,0 script mob_rogue#9 -1,4,4,{ +in_rogue,139,246,0 script mob_rogue#9 139,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 + if (Class == Job_Baby_Thief || Class == Job_Thief) { + monster "in_rogue",139,246,"Zombie",1015,1; + monster "in_rogue",149,246,"Zombie",1015,1; + monster "in_rogue",140,246,"Zombie",1015,1; + monster "in_rogue",141,246,"Zombie",1015,1; + monster "in_rogue",150,246,"Zombie",1015,1; + monster "in_rogue",151,246,"Zombie",1015,1; + } else { warp "mag_dun02",181,176; + } end; -OnDisable: +OnReset: killmonster "in_rogue","mob_rogue#9::OnMyMobDead"; end; - -OnMyMobDead: - end; } -in_rogue,197,249,0 script mob_rogue#10 -1,1,8,{ +in_rogue,197,249,0 script mob_rogue#10 139,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 + if (Class == Job_Baby_Thief || Class == Job_Thief) { + monster "in_rogue",176,211,"Ghoul",1036,1; + monster "in_rogue",176,212,"Zombie",1015,1; + monster "in_rogue",176,213,"Zombie",1015,1; + monster "in_rogue",177,214,"Abysmal Knight",1219,1; + monster "in_rogue",177,211,"Zombie",1015,1; + monster "in_rogue",177,212,"Zombie",1015,1; + monster "in_rogue",177,213,"Zombie",1015,1; + monster "in_rogue",177,214,"Zombie",1015,1; + monster "in_rogue",178,211,"Zombie",1015,1; + monster "in_rogue",178,212,"Zombie",1015,1; + monster "in_rogue",178,213,"Zombie",1015,1; + monster "in_rogue",178,214,"Archer Skeleton",1016,1; + monster "in_rogue",179,211,"Zombie",1015,1; + monster "in_rogue",179,212,"Zombie",1015,1; + monster "in_rogue",179,213,"Zombie",1015,1; + monster "in_rogue",179,214,"Zombie",1015,1; + donpcevent "mob_rogue#4::OnReset"; + donpcevent "mob_rogue#5::OnReset"; + donpcevent "mob_rogue#6::OnReset"; + } else { warp "mag_dun02",181,176; + } end; -OnDisable: +OnReset: killmonster "in_rogue","mob_rogue#10::OnMyMobDead"; end; - -OnMyMobDead: - end; } -in_rogue,96,205,0 script mob_rogue#11 -1,1,8,{ +in_rogue,96,205,0 script mob_rogue#11 139,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 + if (Class == Job_Baby_Thief || Class == Job_Thief) { + donpcevent "mob_rogue#7::OnReset"; + donpcevent "mob_rogue#8::OnReset"; + donpcevent "mob_rogue#9::OnReset"; + donpcevent "mob_rogue#10::OnReset"; + } else { warp "mag_dun02",181,176; + } end; } -in_rogue,86,187,0 script mob_rogue#12 -1,1,8,{ +in_rogue,86,187,0 script mob_rogue#12 139,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 + if (Class == Job_Baby_Thief || Class == Job_Thief) { + monster "in_rogue",90,187,"Mummy",1041,1; + monster "in_rogue",90,183,"Mummy",1041,1; + monster "in_rogue",90,190,"Mummy",1041,1; + } else { warp "mag_dun02",181,176; + } end; - -OnDisable: +OnReset: killmonster "in_rogue","mob_rogue#12::OnMyMobDead"; end; - -OnMyMobDead: - end; } -in_rogue,223,187,0 script mob_rogue#13 -1,1,8,{ +in_rogue,223,187,0 script mob_rogue#13 139,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 + if (Class == Job_Baby_Thief || Class == Job_Thief) { + monster "in_rogue",236,186,"Abysmal Knight",1219,1; + monster "in_rogue",238,186,"Abysmal Knight",1219,1; + monster "in_rogue",234,186,"Abysmal Knight",1219,1; + donpcevent "mob_rogue#12::OnReset"; + } else { warp "mag_dun02",181,176; + } end; -OnDisable: +OnReset: killmonster "in_rogue","mob_rogue#13::OnMyMobDead"; end; - -OnMyMobDead: - end; } -in_rogue,233,207,0 script mob_rogue#14 -1,8,3,{ +in_rogue,233,207,0 script mob_rogue#14 139,8,3,{ + OnTouch: - if (BaseJob == Job_Thief) - donpcevent "mob_rogue#13::OnDisable"; - else + if (Class == Job_Baby_Thief || Class == Job_Thief) { + donpcevent "mob_rogue#13::OnReset"; + } else { warp "mag_dun02",181,176; + } end; } -in_rogue,244,319,0 script mob_rogue#15 -1,1,8,{ +in_rogue,244,319,0 script mob_rogue#15 139,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 + if (Class == Job_Baby_Thief || Class == Job_Thief) { + monster "in_rogue",240,319,"Mummy",1041,1; + monster "in_rogue",259,319,"Archer Skeleton",1016,1; + monster "in_rogue",259,320,"Ghoul",1036,1; + monster "in_rogue",240,319,"Mummy",1041,1; + monster "in_rogue",259,319,"Archer Skeleton",1016,1; + monster "in_rogue",259,320,"Ghoul",1036,1; + } else { warp "mag_dun02",181,176; + } end; -OnDisable: +OnReset: killmonster "in_rogue","mob_rogue#15::OnMyMobDead"; end; - -OnMyMobDead: - end; } -in_rogue,334,319,0 script mob_rogue#16 -1,8,8,{ +in_rogue,334,319,0 script mob_rogue#16 139,8,8,{ + OnTouch: - if (BaseJob == Job_Thief) - donpcevent "mob_rogue#15::OnDisable"; - else + if (Class == Job_Baby_Thief || Class == Job_Thief) { + donpcevent "mob_rogue#15::OnReset"; + } else { warp "mag_dun02",181,176; + } end; } -in_rogue,3,3,0 script resetter#rogue -1,{ +in_rogue,3,3,0 script resetter#rogue 139,{ + end; + 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"; + donpcevent "mob_rogue#1::OnReset"; + donpcevent "mob_rogue#2::OnReset"; + donpcevent "mob_rogue#3::OnReset"; + donpcevent "mob_rogue#4::OnReset"; + donpcevent "mob_rogue#5::OnReset"; + donpcevent "mob_rogue#6::OnReset"; + donpcevent "mob_rogue#7::OnReset"; + donpcevent "mob_rogue#8::OnReset"; + donpcevent "mob_rogue#9::OnReset"; + donpcevent "mob_rogue#10::OnReset"; + donpcevent "mob_rogue#12::OnReset"; + donpcevent "mob_rogue#13::OnReset"; + donpcevent "mob_rogue#15::OnReset"; initnpctimer; end; @@ -1990,45 +2163,34 @@ OnInit: 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; -} +in_rogue,375,33,0 warp warp_rogue#1 1,1,in_rogue,380,125 +in_rogue,375,125,0 warp warp_rogue#2 1,1,in_rogue,379,33 +in_rogue,375,46,0 warp warp_rogue#3 1,1,cmd_fild07,196,117 +cmd_fild07,193,117,0 warp warp_rogue#4 1,1,in_rogue,379,46 +in_rogue,247,122,0 warp cmd=fild07 1,1,cmd_fild07,349,285 -//============================================================ -// mapflag -//============================================================ +in_rogue,399,286,1 script switch#rogreset 88,{ -//============================================================ -// 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] + if(getgmlevel() == 99){ + mes "^F08080Tah dah~"; + mes "Monsters for the"; + mes "Rogue Job Change"; + mes "have been reset^000000."; + donpcevent "mob_rogue#1::OnReset"; + donpcevent "mob_rogue#2::OnReset"; + donpcevent "mob_rogue#3::OnReset"; + donpcevent "mob_rogue#4::OnReset"; + donpcevent "mob_rogue#5::OnReset"; + donpcevent "mob_rogue#6::OnReset"; + donpcevent "mob_rogue#7::OnReset"; + donpcevent "mob_rogue#8::OnReset"; + donpcevent "mob_rogue#9::OnReset"; + donpcevent "mob_rogue#10::OnReset"; + donpcevent "mob_rogue#12::OnReset"; + donpcevent "mob_rogue#13::OnReset"; + donpcevent "mob_rogue#15::OnReset"; + donpcevent "resetter#rogue::OnEnable"; + close; + } + end; +} \ No newline at end of file diff --git a/npc/jobs/2-2/sage.txt b/npc/jobs/2-2/sage.txt index 481392c60..6667a1e38 100644 --- a/npc/jobs/2-2/sage.txt +++ b/npc/jobs/2-2/sage.txt @@ -1,38 +1,23 @@ //===== rAthena Script ======================================= -//= Sage Job Quest -//===== By: ================================================== -//= jAthena (0.9) - I guess -//= Unknown Translator (1.0) -//= Darkchild (1.2) +// Sage Job change Quest +//===== By: ================================================== +//= Masao +//= Credits: Muad_Dib //===== Current Version: ===================================== -//= 2.8 +//= 1.0 //===== Compatible With: ===================================== -//= rAthena SVN +//= Any rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job quest for Sage classes +//= [Translated from the Official] +//= Job change Quest from Mage -> Sage. //===== 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] +//= 1.0 Updated to latest available official file. [Masao] //============================================================ -yuno_in02,38,61,5 script Dean of the Academy#sa 743,{ - cutin "job_sage_kayron",2; - mes "[Kayron Grik]"; +yuno_in02,38,61,5 script Dean of the Academy 743,{ if (Upper == 1) { + cutin "job_sage_kayron",2; + mes "[Kayron Grik]"; mes "Haha, I have seen many people"; mes "but it seems you possess special power and abilities."; next; @@ -40,44 +25,55 @@ yuno_in02,38,61,5 script Dean of the Academy#sa 743,{ 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; + cutin "",255; end; } - if (BaseJob != Job_Mage) { - if (BaseJob == Job_Sage) { + if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { + if (Class == Job_Baby_Sage || Class == Job_Sage) { + cutin "job_sage_kayron",2; + mes "[Kayron Grik]"; 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."; + close2; + cutin "",255; + end; } - else if (BaseJob == Job_Novice) { + if (Class == Baby || Class == Job_Novice) { + cutin "job_sage_kayron",2; + mes "[Kayron Grik]"; 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."; + close2; + cutin "",255; + end; } - 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..."; - } + cutin "job_sage_kayron",2; + mes "[Kayron Grik]"; + 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; + cutin "",255; end; } if (SAGE_Q == 0) { cutin "job_sage_kayron",2; + mes "[Kayron Grik]"; 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.")) { + 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?"; @@ -90,7 +86,9 @@ yuno_in02,38,61,5 script Dean of the Academy#sa 743,{ 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; + close2; + cutin "",255; + end; case 2: mes "[Kayron Grik]"; mes "Sage job change...hmm...an interesting turn of phrase, I must say."; @@ -111,7 +109,9 @@ yuno_in02,38,61,5 script Dean of the Academy#sa 743,{ mes "[Kayron Grik]"; mes "Please visit the Schweicherbil Magic Academy."; mes "A young Sage named Metheus Sylphe will accept your application."; - break; + close2; + cutin "",255; + end; 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."; @@ -120,28 +120,34 @@ yuno_in02,38,61,5 script Dean of the Academy#sa 743,{ 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 "",255; + end; } - close2; - cutin "job_sage_kayron",255; - end; } - else if (SAGE_Q == 15) { + if (SAGE_Q == 15) { if (countitem(1550) > 0) { if (JobLevel < 40) { set SAGE_Q,0; + cutin "job_sage_kayron",2; + mes "[Kayron Grik]"; 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; + cutin "",255; end; } - if (SkillPoint) { + if (SkillPoint != 0) { + cutin "job_sage_kayron",2; + mes "[Kayron Grik]"; mes "You possess remaining skill points..."; mes "Before you submit your dissertation, please take care this matter first."; close2; - cutin "job_sage_kayron",255; + cutin "",255; end; } + cutin "job_sage_kayron",2; + mes "[Kayron Grik]"; mes "Ho~ So? Did you finally complete your dissertation? Well done."; mes "Let me see."; next; @@ -158,9 +164,14 @@ yuno_in02,38,61,5 script Dean of the Academy#sa 743,{ mes "Although it's roughly written, it's well done for a beginner."; mes "Ah yes...you seem to be proficient in studying."; next; + set SAGE_Q,0; + if(Class == Job_Baby_Mage){ + jobchange Job_Baby_Sage; + } else { + jobchange Job_Sage; + } + set FJOB,Job_Sorcerer; 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."; @@ -172,32 +183,37 @@ yuno_in02,38,61,5 script Dean of the Academy#sa 743,{ mes "[Kayron Grik]"; mes "Well then...May God fill your path with knowledge."; mes "Study with diligence!!"; + close2; + cutin "",255; + end; } - 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..."; + cutin "job_sage_kayron",2; + mes "[Kayron Grik]"; + 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 "Study diligently, and return when you finish your dissertation."; - mes "Until then, farewell!"; + 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."; + close2; + cutin "",255; + end; } + mes "[Kayron Grik]"; + 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]"; +yuno_in03,154,35,4 script Staff of the Academy 742,{ if (Upper == 1) { + mes "[Metheus Sylphe]"; mes "Welcome to the"; mes "Schweicherbil Magic"; mes "Academy. W-wait a second..."; @@ -211,8 +227,9 @@ yuno_in03,154,35,4 script Staff of the Academy#a 742,{ mes "have a good day, adventurer~"; close; } - if (BaseJob != Job_Mage) { - if (BaseJob == Job_Sage) { + if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { + if (Class == Job_Baby_Sage || Class == Job_Sage) { + mes "[Metheus Sylphe]"; mes "Oh nice to meet you again, long time no see."; mes "So how's it going with the studying?"; next; @@ -223,8 +240,10 @@ yuno_in03,154,35,4 script Staff of the Academy#a 742,{ 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."; + close; } - else if (BaseJob == Job_Novice) { + if (Class == Job_Novice) { + mes "[Metheus Sylphe]"; mes "Welcome to the Schweicherbil Magic Academy."; next; mes "[Metheus Sylphe]"; @@ -238,25 +257,26 @@ yuno_in03,154,35,4 script Staff of the Academy#a 742,{ mes "[Metheus Sylphe]"; mes "If you're interested in the Sage class, please come again."; mes "And have a good day."; + close; } - 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."; - } + mes "[Metheus Sylphe]"; + 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 "[Metheus Sylphe]"; 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.")) { + 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?"; @@ -301,7 +321,7 @@ yuno_in03,154,35,4 script Staff of the Academy#a 742,{ 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.")) { + switch (select("Yes, I do.:The fee is much too expensive.:I will come back later.")) { case 1: if (JobLevel < 40) { mes "[Metheus Sylphe]"; @@ -309,7 +329,7 @@ yuno_in03,154,35,4 script Staff of the Academy#a 742,{ mes "Please go study more and reach Mage job level 40 first."; close; } - if (SkillPoint) { + if (SkillPoint != 0) { 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."; @@ -319,7 +339,7 @@ yuno_in03,154,35,4 script Staff of the Academy#a 742,{ mes "Very well. Let's complete your application form."; mes "Please put your signature here."; next; - select(strcharinfo(0)); + select(""); mes "[Metheus Sylphe]"; mes "Your name is ... " + strcharinfo(0) + ". It's a very nice name."; next; @@ -345,7 +365,7 @@ yuno_in03,154,35,4 script Staff of the Academy#a 742,{ next; if (select("Pay 70,000 zeny.:Give him Old Magicbook and Necklace of Wisdom.") == 1) { if (Zeny > 69999) { - set zeny,zeny-70000; + set Zeny, Zeny - 70000; mes "[Metheus Sylphe]"; mes "Thank you, your application has been accepted."; mes "Next, you will take an entrance test."; @@ -362,7 +382,7 @@ yuno_in03,154,35,4 script Staff of the Academy#a 742,{ mes "Please make sure you have at least 70,000 zeny to enroll in classes."; close; } - if (countitem(1006) > 0 && countitem(1007) > 0) { + if ((countitem(1006) > 0) && (countitem(1007) > 0)) { delitem 1006,1; //Old_Magic_Book delitem 1007,1; //Penetration mes "[Metheus Sylphe]"; @@ -400,7 +420,7 @@ yuno_in03,154,35,4 script Staff of the Academy#a 742,{ mes "Okay, let's complete the application form."; mes "Please put your signature here."; next; - select(strcharinfo(0)); + select(""); mes "[Metheus Sylphe]"; mes "Your name is ... " + strcharinfo(0) + ". It's a very nice name."; next; @@ -428,54 +448,27 @@ yuno_in03,154,35,4 script Staff of the Academy#a 742,{ 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 "Oh, I guess you don't have enough money?"; - mes "Under the existing provisions, you must pay 70,000 zeny for the application..."; + 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; - if (select("Please...is there any way?:Ok, I will come back later.") == 1) { + set .@sage_m1, rand(1,3); + if (.@sage_m1 == 1) { + set SAGE_Q,1; + setquest 2043; 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."; + mes "Please gather the following items."; + mes "50 ^3355FFFeather of Birds^000000"; + mes "50 ^3355FFFluff^000000"; + mes "25 ^3355FFIron Ore^000000"; 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 "[Metheus Sylphe]"; + mes "If you bring those items, your tuition will be 30,000 zeny, in lieu of the original 70,000 zeny fee."; mes "I am sure it's a very reasonable option for you."; next; mes "[Metheus Sylphe]"; @@ -487,11 +480,54 @@ yuno_in03,154,35,4 script Staff of the Academy#a 742,{ mes "Goodbye, and have a good day."; close; } + if (.@sage_m1 == 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."; + mes "I am sure it's a very reasonable option for you."; + next; + mes "[Metheus Sylphe]"; + mes "Ah yes, before you gather all of those items, if you happen to have 70,000 zeny, I will be more than happy to receive the full payment."; + mes "This is, after all, our original policy."; + next; + mes "[Metheus Sylphe]"; + mes "Or, you can bring me ^3355FFOld Magicbook^000000 and ^3355FFNecklace of Wisdom^000000."; + mes "Goodbye, and have a good day."; + close; + } + 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 "Ah yes, take your time..."; + 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 you gather all of those items, if you happen to have 70,000 zeny, I will be more than happy to receive the full payment."; + mes "It 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..."; @@ -505,55 +541,31 @@ yuno_in03,154,35,4 script Staff of the Academy#a 742,{ close; } } - else if (SAGE_Q >= 1 && SAGE_Q <= 3) { + if (SAGE_Q == 1) { + mes "[Metheus Sylphe]"; mes "Welcome, once again."; next; - if (countitem(1006) > 0 && countitem(1007) > 0) { + if ((countitem(1006) > 0) && (countitem(1007) > 0) && (Zeny > 69999)) { delitem 1006,1; //Old_Magic_Book delitem 1007,1; //Penetration + set Zeny, Zeny - 70000; 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; + if ((countitem(916) > 49) && (countitem(914) > 49) && (countitem(1002) > 24)) { + if (Zeny > 29999) { + delitem 916,50; //Feather_Of_Birds + delitem 914,50; //Fluff + delitem 1002,25; //Iron_Ore + set Zeny, Zeny - 30000; + mes "[Metheus Sylphe]"; + mes "Well done. Let me proceed with your application request."; + set SAGE_Q,4; + next; } - 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; - } + else { 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."; @@ -563,64 +575,192 @@ yuno_in03,154,35,4 script Staff of the Academy#a 742,{ mes "Please make sure that you have the required items and money."; close; } - else { + } + 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 "50 ^3355FFFeather of Birds^000000"; + mes "50 ^3355FFFluff^000000"; + mes "25 ^3355FFIron Ore^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(""); + mes "[Metheus Sylphe]"; + mes "Your name is ... " + strcharinfo(0) + ". It's a very nice name."; + next; + mes "[Metheus Sylphe]"; + mes "Ah yes, everything is in readiness."; + mes "Next, you will take an entrance test."; + set SAGE_Q,4; + next; + mes "[Metheus Sylphe]"; + mes "Please visit Professor Claytos."; + mes "He's in the left room."; + changequest 2043,2041; + close; + } + if (SAGE_Q == 2) { + mes "[Metheus Sylphe]"; + mes "Welcome, once again."; + next; + if ((countitem(1006) > 0) && (countitem(1007) > 0) && (Zeny > 69999)) { + delitem 1006,1; //Old_Magic_Book + delitem 1007,1; //Penetration + set Zeny, Zeny - 70000; + mes "[Metheus Sylphe]"; + mes "Well done. Let me proceed with your application request."; + set SAGE_Q,4; + next; + } + if ((countitem(705) > 49) && (countitem(949) > 49) && (countitem(1024) > 24)) { + if (Zeny > 29999) { + delitem 705,50; //Clover + delitem 949,50; //Feather + delitem 1024,25; //Chinese_Ink + set Zeny, Zeny - 30000; 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."; + mes "Well done. Let me proceed with your application request."; + set SAGE_Q,4; next; + } + else { 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"; + mes "I am sorry to say that you are not yet ready."; + mes "Although you brought all of the required items, your funds are not sufficient enough to pay the 30,000 zeny fee."; 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."; + mes "As I told you before, you must bring all those items, together with the 30,000 zeny."; + mes "Please make sure that you bring all of the 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 "Let me remind you which items to bring, in case you have forgotten."; + next; + mes "[Metheus Sylphe]"; + mes "Please bring the following items to me."; + mes "50 ^3355FFClover^000000"; + mes "50 ^3355FFFeather^000000"; + mes "25 ^3355FFSquid Ink^000000"; + next; + mes "[Metheus Sylphe]"; + mes "If you bring all of these items, your tuition fee will be 30,000 zeny, rather than the original amount of 70,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)); + select(""); 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; - } + mes "Your name is ... " + strcharinfo(0) + ". It sounds very sagacious."; next; mes "[Metheus Sylphe]"; - mes "Ah yes, everything is in readiness."; - mes "Next, you will take an entrance test."; + mes "Ah yes, all is in readiness."; + mes "Next, you will take the entrance test."; set SAGE_Q,4; - if(checkquest(2043) != -1) { - changequest 2043,2041; - } - else if(checkquest(2044) != -1) { - changequest 2044,2041; + next; + mes "[Metheus Sylphe]"; + mes "Please visit Professor Claytos."; + mes "He's in the left room."; + changequest 2044,2041; + close; + } + if (SAGE_Q == 3) { + mes "[Metheus Sylphe]"; + mes "Welcome again."; + next; + if ((countitem(1006) > 0) && (countitem(1007) > 0) && (Zeny > 69999)) { + delitem 1006,1; //Old_Magic_Book + delitem 1007,1; //Penetration + set Zeny, Zeny - 70000; + mes "[Metheus Sylphe]"; + mes "Well done. Let me proceed with your application request."; + set SAGE_Q,4; + next; } - else if(checkquest(2045) != -1) { - changequest 2045,2041; + if ((countitem(916) > 49) && (countitem(914) > 49) && (countitem(705) > 49) && (countitem(949) > 49)) { + if (Zeny > 29999) { + delitem 916,50; //Feather_Of_Birds + delitem 914,50; //Fluff + delitem 705,50; //Clover + delitem 949,50; //Feather + set Zeny, Zeny - 30000; + mes "[Metheus Sylphe]"; + mes "Well done. Let me proceed with your application request."; + set SAGE_Q,4; + next; + } + else { + mes "[Metheus Sylphe]"; + mes "I am sorry to say that you are not yet ready."; + mes "Although you brought all of the required items, it seems that you cannot afford to pay the 30,000 zeny tuition fee."; + next; + mes "[Metheus Sylphe]"; + mes "As I told you before, you must bring all of those items, together with the 30,000 zeny."; + mes "Please make sure you bring the items and money as required."; + close; + } } else { - setquest 2041; + mes "[Metheus Sylphe]"; + mes "I am sorry to say that it seems you didn't bring all of the required items."; + mes "Let me remind you which items to bring, in case you have forgotten."; + next; + mes "[Metheus Sylphe]"; + mes "Please bring the following items to me."; + 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 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(""); + mes "[Metheus Sylphe]"; + mes "Your name is ... " + strcharinfo(0) + ". Interesting name."; + next; + mes "[Metheus Sylphe]"; + mes "Yes, everything seems to be in readiness."; + mes "Next, you will take the entrance test."; + set SAGE_Q,4; next; mes "[Metheus Sylphe]"; mes "Please visit Professor Claytos."; mes "He's in the left room."; + changequest 2045,2041; close; } - else if (SAGE_Q == 4) { + if (SAGE_Q == 4) { + mes "[Metheus Sylphe]"; 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) { + if (SAGE_Q == 15) { + mes "[Metheus Sylphe]"; mes "Oh, are you done with the dissertation?"; mes "Sure, you can submit it to Dean Kayron."; next; @@ -629,17 +769,16 @@ yuno_in03,154,35,4 script Staff of the Academy#a 742,{ 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; - } + mes "[Metheus Sylphe]"; + 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) { +yuno_in03,105,177,5 script Written Test Professor 754,{ + if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { + if (Class == Job_Baby_Sage || Class == Job_Sage) { + mes "[Claytos Verdo]"; mes "Eh? What? Why are you back here?"; mes "Do you want to enter the school again?"; next; @@ -650,34 +789,39 @@ yuno_in03,105,177,5 script Written Test Professor#s 754,{ 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."; + close; } - else if (BaseJob == Job_Novice) { + if (Class == Baby || Class == Job_Novice) { + mes "[Claytos Verdo]"; 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!!"; + close; } - else if (Class == Job_Wizard) { + if (Class == Job_Baby_Wizard || Class == Job_Wizard) { + mes "[Claytos Verdo]"; 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."; + close; } - 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."; - } + mes "[Claytos Verdo]"; + 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 "[Claytos Verdo]"; + mes "What, do you want to be a sage?"; mes "I can tell by your eyes, hungering for wisdom."; next; mes "[Claytos Verdo]"; @@ -685,7 +829,8 @@ yuno_in03,105,177,5 script Written Test Professor#s 754,{ mes "Apply for enrollment, and then come again."; close; } - else if (SAGE_Q == 1 || SAGE_Q == 2 || SAGE_Q == 3) { + if (SAGE_Q == 1 || SAGE_Q == 2 || SAGE_Q == 3) { + mes "[Claytos Verdo]"; mes "Hah! You didn't even finish the application process!?"; mes "I see...did Metheus tell you something?"; next; @@ -694,7 +839,8 @@ yuno_in03,105,177,5 script Written Test Professor#s 754,{ mes "Come again when you finish the application."; close; } - else if (SAGE_Q == 4) { + if (SAGE_Q == 4) { + mes "[Claytos Verdo]"; mes "Welcome to the Schweicherbil Magic Academy."; mes "You applied for this test already, didn't you?"; next; @@ -706,287 +852,340 @@ yuno_in03,105,177,5 script Written Test Professor#s 754,{ 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; + set .@sage_m2,rand(1,3); + set @sage_t,0; 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: + set SAGE_Q,5; next; - switch(rand(1,3)) { - case 1: + if (.@sage_m2 == 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + switch (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; + 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; + 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; + 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; + 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; + 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; + 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; + 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?"; + 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; + 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: + if (select("Odin:Loki:Thor:Venadin") == 1) { + set @sage_t,@sage_t + 5; + } + } + if (.@sage_m2 == 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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: + if (select("Yggdrasil:Iggdrassil:Mastella:Dead Branch") == 1) { + set @sage_t,@sage_t + 5; + } + } + else { 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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."; - } + mes "Well, you answered all 20 of the questions."; + mes "Okay, let me check your answers and add up your score."; 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!"; + mes "You got " + @sage_t + " points."; + if (@sage_t == 100) { set SAGE_Q,6; changequest 2041,2046; + mes "Excellent! You seem fully qualified to become a Sage!"; next; mes "[Claytos Verdo]"; mes "You have passed the written test."; mes "Go visit Professor Hermes for the practical examination."; + close; } - else if (.@sage_t >= 80) { + if ((@sage_t >= 80) && (@sage_t <= 95)) { 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."; @@ -994,27 +1193,17 @@ L_AskQuestions: mes "[Claytos Verdo]"; mes "You passed the written test."; mes "Go visit Professor Hermes for the practical examination."; + close; } - 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."; - } - } + 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."; close; } - else if (SAGE_Q == 5) { + if (SAGE_Q == 5) { + mes "[Claytos Verdo]"; mes "Welcome back."; mes "So, did you study harder this time?"; next; @@ -1022,15 +1211,358 @@ L_AskQuestions: 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); + set .@sage_m2, rand(1,3); + set @sage_t,0; 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; + next; + if (.@sage_m2 == 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; + switch (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; + } + } + if (.@sage_m2 == 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; + } + } + else { + 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]"; + 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 scored " + @sage_t + " points."; + if (@sage_t == 100) { + set SAGE_Q,6; + changequest 2041,2046; + mes "Excellent! You must have studed really hard for this test!"; + next; + mes "[Claytos Verdo]"; + mes "Now that you have passed the written test,"; + mes "Go visit Professor Hermes for the practical examination."; + close; + } + if ((@sage_t >= 80) && (@sage_t <= 95)) { + set SAGE_Q,6; + changequest 2041,2046; + mes "Yes, not bad. I assume that you can at least understand what you will learn in the classes."; + next; + mes "[Claytos Verdo]"; + mes "Now that you have passed the written test,"; + mes "Go visit Professor Hermes for the practical examination."; + close; + } + mes "Oh what a shame: You failed."; + next; + mes "[Claytos Verdo]"; + mes "But I'll give you another chance,"; + mes "Go study even harder and come back."; + close; } - else if (SAGE_Q == 6) { + if (SAGE_Q == 6) { + mes "[Claytos Verdo]"; mes "What else do you want?! Do you want to take this test again?"; mes "You've already passed!"; next; @@ -1039,7 +1571,8 @@ L_AskQuestions: mes "Move!"; close; } - else if (SAGE_Q == 15) { + if (SAGE_Q == 15) { + mes "[Claytos Verdo]"; 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; @@ -1048,18 +1581,16 @@ L_AskQuestions: 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; - } + mes "[Claytos Verdo]"; + 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) { +yuno_in03,169,180,3 script P. Examination Professor 755,{ + if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { + if (Class == Job_Baby_sage || Class == Job_Sage) { + mes "[Hermes Tris]"; 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; @@ -1070,12 +1601,14 @@ yuno_in03,169,180,3 script Practical Examination P 755,{ 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."; + close; } - else if (BaseJob == Job_Novice) { + if (Class == Job_Baby || Class == Job_Novice) { + mes "[Hermes Tris]"; 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 "In this continent of Rune-Midgard, 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]"; @@ -1085,21 +1618,22 @@ yuno_in03,169,180,3 script Practical Examination P 755,{ mes "[Hermes Tris]"; mes "If by chance you do decide to do that, we'll meet again."; mes "Take care, kiddy."; + close; } - 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..."; - } + mes "[Hermes Tris]"; + 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) { + if ((SAGE_Q >= 0) && (SAGE_Q <= 3)) { + mes "[Hermes Tris]"; mes "I am Professor Hermes, in charge of practical examinations."; mes "Are you a candidate for the Sage class?"; next; @@ -1107,8 +1641,9 @@ yuno_in03,169,180,3 script Practical Examination P 755,{ 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."; + if (SAGE_Q == 4 || SAGE_Q == 5) { + mes "[Hermes Tris]"; + mes "I am Professor Hermes, in charge of practical examinations."; mes "Are you a candidate for the Sage class?"; next; mes "[Hermes Tris]"; @@ -1116,7 +1651,8 @@ yuno_in03,169,180,3 script Practical Examination P 755,{ mes "Then I will take care of you."; close; } - else if (SAGE_Q == 6) { + if (SAGE_Q == 6) { + mes "[Hermes Tris]"; mes "Welcome, you just passed the written test, didn't you?"; mes "Now it's time for the practical examination."; next; @@ -1142,7 +1678,8 @@ yuno_in03,169,180,3 script Practical Examination P 755,{ mes "Yes, you don't need to hurry... take your time and come back."; close; } - else if (SAGE_Q == 7) { + if (SAGE_Q == 7) { + mes "[Hermes Tris]"; 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; @@ -1150,6 +1687,7 @@ yuno_in03,169,180,3 script Practical Examination P 755,{ mes "Are you ready?"; 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!"; @@ -1157,11 +1695,13 @@ yuno_in03,169,180,3 script Practical Examination P 755,{ 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 == 8) { + if (SAGE_Q == 8) { + mes "[Hermes Tris]"; mes "Good job~ Since you passed the practical examination as well..."; mes "I'll accept your admission."; next; @@ -1173,8 +1713,8 @@ yuno_in03,169,180,3 script Practical Examination P 755,{ mes "Hmm, hmm... I see."; mes "Well... I think you're okay."; next; - switch(rand(1,3)) { - case 1: + set .@sage_m3, rand(1,3); + if (.@sage_m3 == 1) { set SAGE_Q,9; changequest 2046,2047; mes "[Hermes Tris]"; @@ -1188,7 +1728,8 @@ yuno_in03,169,180,3 script Practical Examination P 755,{ mes "[Hermes Tris]"; mes "I wish you luck."; close; - case 2: + } + if (.@sage_m3 == 2) { set SAGE_Q,11; changequest 2046,2048; mes "[Hermes Tris]"; @@ -1202,23 +1743,23 @@ yuno_in03,169,180,3 script Practical Examination P 755,{ 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; } + 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) { + if (SAGE_Q == 9) { + mes "[Hermes Tris]"; mes "Huh? Didn't you understand what I said?"; mes "I told you to study Yggdrasil."; next; @@ -1226,7 +1767,8 @@ yuno_in03,169,180,3 script Practical Examination P 755,{ mes "Go ask for help from Professor Saphien. He's in the Lecture Room."; close; } - else if (SAGE_Q == 11) { + if (SAGE_Q == 11) { + mes "[Hermes Tris]"; mes "Huh? Didn't you understand what I said?"; mes "I told you to study monsters."; next; @@ -1234,7 +1776,8 @@ yuno_in03,169,180,3 script Practical Examination P 755,{ mes "Go ask for help from Professor Lucius. He's in the Monster Museum."; close; } - else if (SAGE_Q == 13) { + if (SAGE_Q == 13) { + mes "[Hermes Tris]"; mes "Huh? Didn't you understand what I said?"; mes "I told you to study magic spells that possess certain properties."; next; @@ -1242,7 +1785,8 @@ yuno_in03,169,180,3 script Practical Examination P 755,{ mes "Go ask a help from Professor Aebecee. He's in the Somatology Laboratory."; close; } - else if (SAGE_Q == 15) { + if (SAGE_Q == 15) { + mes "[Hermes Tris]"; 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; @@ -1250,17 +1794,16 @@ yuno_in03,169,180,3 script Practical Examination P 755,{ 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; - } + mes "[Hermes Tris]"; + 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) { +yuno_in03,62,176,2 script History Professor 109,{ + if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { + if (Class == Job_Baby_Sage || Class == Job_Sage) { + mes "[Saphien Layless]"; 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; @@ -1271,8 +1814,10 @@ yuno_in03,62,176,2 script History Professor#sa 109,{ 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."; + close; } - else if (BaseJob == Job_Novice) { + if (Class == Job_Baby || Class == Job_Novice) { + mes "[Saphien Layless]"; mes "A Novice? Why is a novice here?"; next; mes "[Saphien Layless]"; @@ -1282,22 +1827,23 @@ yuno_in03,62,176,2 script History Professor#sa 109,{ 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..."; + close; } - 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..."; - } + mes "[Saphien Layless]"; + 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 "[Saphien Layless]"; 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; @@ -1305,13 +1851,13 @@ yuno_in03,62,176,2 script History Professor#sa 109,{ 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.")) { + 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.")) { + 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."; @@ -1331,15 +1877,13 @@ yuno_in03,62,176,2 script History Professor#sa 109,{ 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; } + next; mes "[Saphien Layless]"; mes "Before we start the class, I'll need some reserve items."; mes "It's for better understanding of Yggdrasil."; @@ -1355,140 +1899,140 @@ yuno_in03,62,176,2 script History Professor#sa 109,{ 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; + if (countitem(607) > 0) { 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."; + mes "Oh, did you bring them with you? Excellent!"; + mes "You brought Yggdrasilberry!"; 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."; + mes "Okay, now I am starting the class."; + mes "Listen carefully, I will not accept dozing off in the middle of class."; next; + } + if (countitem(608) > 0) { 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."; + mes "Hmm, did you prepare for class? Let's see..."; + mes "Oh! So you brought me the Yggdrasil Seed?"; 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."; + mes "Very well. Now I am starting the class.."; + mes "Listen carefully, I will not accept dozing off in the middle of class."; next; + } + if (countitem(610) > 0) { 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."; + mes "Hmm, did you prepare for class? Let's see..."; + mes "Yggdrasil Leaf..."; 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."; + 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 "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."; + 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 "In the next class, you will write a thesis about Yggdrasil..."; - mes "Please bring the following items to prepare for class."; + mes "Huh? You're not ready for this class yet!"; + mes "I told you to bring me any items related to Yggdrasil."; 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."; + 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-Midgard 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-Midgard 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) { + if (SAGE_Q == 10) { + set @w_point,0; + 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 "[Saphien Layless]"; mes "Now, you're writing your thesis."; mes "I will assist you with your writing."; next; @@ -1500,78 +2044,78 @@ yuno_in03,62,176,2 script History Professor#sa 109,{ 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.")) { + 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; + 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; + set @w_point,@w_point + 1; mes "A giant turtle and elephants."; break; case 4: - set .@w_point,.@w_point+1; + 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,")) { + 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; + set @w_point,@w_point + 1; mes "Mt.Mjolnir where spiders live,"; break; case 2: - set .@w_point,.@w_point+1; + 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; + 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,")) { + 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,"; + mes "Midgard, where humans live,"; break; case 2: - set .@w_point,.@w_point+1; + set @w_point,@w_point + 1; mes "Rune-Midgarts, where humans live,"; break; case 3: - set .@w_point,.@w_point+1; + set @w_point,@w_point + 1; mes "Tritonia, where mermaids live,"; break; case 4: - set .@w_point,.@w_point+1; + 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.")) { + switch (select("Abguard, where gods live.:Asgard, where gods live.:Schwaltzvalt, where citizens live.:Prontera, the capital of Rune-Midgarts.")) { case 1: - set .@w_point,.@w_point+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."; + set @w_point,@w_point + 1; + mes "Schwaltzvalt, where citizens live."; break; case 4: - set .@w_point,.@w_point+1; + 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) { + 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!"; @@ -1583,35 +2127,35 @@ yuno_in03,62,176,2 script History Professor#sa 109,{ } 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.")) { + 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; + set @w_point,@w_point + 1; mes "A fabulous Mastella tree."; break; case 3: - set .@w_point,.@w_point+1; + set @w_point,@w_point + 1; mes "A giant willow."; break; case 4: - set .@w_point,.@w_point+1; + 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.")) { + switch (select("Schwaltzvalt, Jotunnheim, Niflheim.:Midgard, Jotunnheim, Naffleheim.:Asgard, Jotunnheim, Naffleheim.:Asgard, Jotunnheim, Niflheim.")) { case 1: - set .@w_point,.@w_point+1; - mes "Schwarzwald, Jotunnheim, Niflheim."; + set @w_point,@w_point + 1; + mes "Schwaltzvalt, Jotunnheim, Niflheim."; break; case 2: - set .@w_point,.@w_point+1; + set @w_point,@w_point + 1; mes "Midgard, Jotunnheim, Naffleheim."; break; case 3: - set .@w_point,.@w_point+1; + set @w_point,@w_point + 1; mes "Asgard, Jotunnheim, Naffleheim."; break; case 4: @@ -1619,25 +2163,25 @@ yuno_in03,62,176,2 script History Professor#sa 109,{ 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.")) { + 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; + set @w_point,@w_point + 1; mes "can be cured from all the abnormal statuses."; break; case 2: - set .@w_point,.@w_point+1; + 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; + set @w_point,@w_point + 1; mes "can be cured from Silence, Curse and Chaos."; break; } next; - if (.@w_point > 0) { + 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!"; @@ -1665,24 +2209,24 @@ yuno_in03,62,176,2 script History Professor#sa 109,{ 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; - } + mes "[Saphien Layless]"; + 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) { + if (SAGE_Q == 15) { + mes "[Saphien Layless]"; 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; @@ -1691,17 +2235,17 @@ yuno_in03,62,176,2 script History Professor#sa 109,{ 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; - } + mes "[Saphien Layless]"; + 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) { +yuno_in03,32,102,1 script Biology Professor 755,{ + + if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { + if (Class == Job_Baby_Sage || Class == Job_Sage) { + mes "[Lucius Celsus]"; mes "What is your business with me?"; mes "You must make a reservation a week in advance if you have any questions."; next; @@ -1712,29 +2256,32 @@ yuno_in03,32,102,1 script Biology Professor#sa 755,{ 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."; + close; } - else if (BaseJob == Job_Novice) { + if (Class == Job_Baby ||Class == Job_Novice) { + mes "[Lucius Celsus]"; 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."; + close; } - 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."; - } + mes "[Lucius Celsus]"; + 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 "[Lucius Celsus]"; 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; @@ -1742,7 +2289,7 @@ yuno_in03,32,102,1 script Biology Professor#sa 755,{ 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)); + select(""); mes "[Lucius Celsus]"; mes "A fine name. It's nice to meet you."; mes "So, are you aware of the subject you're studying?"; @@ -1751,21 +2298,25 @@ yuno_in03,32,102,1 script Biology Professor#sa 755,{ 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) { + switch (select("Well, I can't even count.:A few times, I guess...")) { + case 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."; + break; + case 2: + 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."; + break; } - 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); + 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) { + if (@sage_m4 == 1) { set SAGE_Q2,1; changequest 2048,2053; mes "[Lucius Celsus]"; @@ -1773,8 +2324,13 @@ yuno_in03,32,102,1 script Biology Professor#sa 755,{ mes "5 ^3355FFTentacle^000000,"; mes "5 ^3355FFSingle Cell^000000,"; mes "5 ^3355FFFish Tail^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_m4 == 2) { + if (@sage_m4 == 2) { set SAGE_Q2,2; changequest 2048,2054; mes "[Lucius Celsus]"; @@ -1782,31 +2338,29 @@ yuno_in03,32,102,1 script Biology Professor#sa 755,{ mes "5 ^3355FFNipper^000000,"; mes "5 ^3355FFClam Flesh^000000,"; mes "5 ^3355FFHeart of Mermaid^000000."; - } - else { - set SAGE_Q2,3; - changequest 2048,2054; + next; mes "[Lucius Celsus]"; - mes "Go bring following items to me."; - mes "5 ^3355FFTendon^000000,"; - mes "5 ^3355FFNipper^000000,"; - mes "5 ^3355FFSharp Scale^000000."; + mes "I will proceed with the class when you bring those to me."; + mes "Have fun."; + close; } + set SAGE_Q2,3; + changequest 2048,2055; + 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) { + if (SAGE_Q2 == 1) { + set @sage_m4,rand(1,3); + if ((countitem(962) > 4) && (countitem(1052) > 4) && (countitem(1023) > 4)) { + mes "[Lucius Celsus]"; 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; @@ -1814,7 +2368,7 @@ yuno_in03,32,102,1 script Biology Professor#sa 755,{ 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.")) { + 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."; @@ -1826,7 +2380,7 @@ yuno_in03,32,102,1 script Biology Professor#sa 755,{ mes "Most fish class monsters live underwater, so they are attributed with the water property."; break; case 3: - set sage_m4,4; + 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?"; @@ -1836,7 +2390,7 @@ yuno_in03,32,102,1 script Biology Professor#sa 755,{ mes "They are all fishes and possess water property."; break; case 4: - set sage_m4,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."; @@ -1847,14 +2401,14 @@ yuno_in03,32,102,1 script Biology Professor#sa 755,{ 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.")) { + 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; + 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?"; @@ -1865,7 +2419,7 @@ yuno_in03,32,102,1 script Biology Professor#sa 755,{ mes "However, you will be in trouble if you use the spell in a poorly chosen spot."; break; case 4: - set sage_m4,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!"; @@ -1880,103 +2434,535 @@ yuno_in03,32,102,1 script Biology Professor#sa 755,{ mes "Okay, let me teach you about insect monsters."; mes "Let's see... hmm... hmm..."; next; - switch(rand(1,4)) { - case 1: + if (@sage_m4 == 1) { set SAGE_Q2,4; - if(checkquest(2053) != -1) { - changequest 2053,2056; - } - else if(checkquest(2054) != -1) { - changequest 2054,2056; - } - else { - changequest 2055,2056; - } + changequest 2053,2056; + mes "[Lucius Celsus]"; + mes "Bring the following items this time."; mes "5 ^3355FFCobweb^000000,"; mes "5 ^3355FFShell^000000,"; mes "5 ^3355FFInsect Feeler^000000."; - break; - case 2: + next; + mes "[Lucius Celsus]"; + mes "I will proceed with the class when you bring those to me."; + mes "Have fun."; + close; + } + if (@sage_m4 == 2) { set SAGE_Q2,5; - if(checkquest(2053) != -1) { - changequest 2053,2057; - } - else if(checkquest(2054) != -1) { - changequest 2054,2057; - } - else { - changequest 2055,2057; - } + changequest 2053,2057; + mes "[Lucius Celsus]"; + mes "Bring the following items this time."; mes "5 ^3355FFHorn^000000,"; mes "5 ^3355FFSnail's Shell^000000,"; mes "5 ^3355FFMoth Dust^000000."; - break; - case 3: + next; + mes "[Lucius Celsus]"; + mes "I will proceed with the class when you bring those to me."; + mes "Have fun."; + close; + } + if (@sage_m4 == 3) { + changequest 2053,2058; set SAGE_Q2,6; - if(checkquest(2053) != -1) { - changequest 2053,2058; - } - else if(checkquest(2054) != -1) { - changequest 2054,2058; - } - else { - changequest 2055,2058; - } + mes "[Lucius Celsus]"; + mes "Bring the following items this time."; 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; + } + set SAGE_Q2,7; + changequest 2053,2059; + mes "[Lucius Celsus]"; + mes "Bring the following items this time."; + 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 "[Lucius Celsus]"; + mes "What, you already forgot what I told you just a minute before?"; + mes "What a nuisance... listen carefully this time."; + next; + mes "[Lucius Celsus]"; + mes "5 ^3355FFTentacle^000000,"; + mes "5 ^3355FFSingle Cell^000000,"; + mes "5 ^3355FFFish Tail^000000."; + close; + } + if (SAGE_Q2 == 2) { + set @sage_m4,rand(1,3); + if ((countitem(960) > 4) && (countitem(966) > 4) && (countitem(950) > 4)) { + mes "[Lucius Celsus]"; + mes "You showed great effort to gather all of those items."; + 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 the similarity is?"; + next; + switch (select("They possess water property.:They are all 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 attributed with the water property."; + break; + case 3: + set @sage_m4,4; + mes "[Lucius Celsus]"; + mes "...I didn't know Clams are aggressive nowadays?"; + mes "Or do Vadons and Crabs threaten you?"; + next; + mes "[Lucius Celsus]"; + mes "All the monsters from which you obtained these items are not aggressive... get a grip."; + mes "They are all fishes and possess the water property."; + break; + case 4: + set @sage_m4, 4; + mes "[Lucius Celsus]"; + mes "What are you here for?! You are here to study about specific monsters, you dolt!"; + mes "*Sigh*...they are all fishes and possess water property."; + break; + } + next; + mes "[Lucius Celsus]"; + mes "Not all fish class monsters possess the water property, but most of them do."; + mes "Which kind of magic works 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 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 dunce!"; + mes "Most fishes possess water property, therefore, they are weak to wind property magic spells. Don't you see?"; + break; + case 3: + mes "[Lucius Celsus]"; + mes "Yeah, the 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 "What a moron! This question asks you to choose a property that can counter the water property! Don't you get it?"; + mes "Logically, any magic spell that possesses water property cannot beat water property 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, from here on, I'll lecture on insects."; + mes "Let's see... hmm... hmm..."; + next; + if (@sage_m4 == 1) { + set SAGE_Q2,4; + changequest 2054,2056; + mes "[Lucius Celsus]"; + mes "Bring following the items this time."; + mes "5 ^3355FFCobweb^000000,"; + mes "5 ^3355FFShell^000000,"; + mes "5 ^3355FFInsect Feeler^000000."; + next; + mes "[Lucius Celsus]"; + mes "I will proceed with the class when you bring those to me."; + mes "Have fun."; + close; + } + if (@sage_m4 == 2) { + set SAGE_Q2,5; + changequest 2054,2057; + mes "[Lucius Celsus]"; + mes "Bring the following items this time."; + mes "5 ^3355FFHorn^000000,"; + mes "5 ^3355FFSnail's Shell^000000,"; + mes "5 ^3355FFMoth Dust^000000."; + next; + mes "[Lucius Celsus]"; + mes "I will proceed with the class when you bring those to me."; + mes "Have fun."; + close; + } + if (@sage_m4 == 3) { + set SAGE_Q2,6; + changequest 2054,2058; + mes "[Lucius Celsus]"; + mes "Bring the following items this time."; + mes "5 ^3355FFMantis Scythe^000000,"; + mes "5 ^3355FFWorm Peeling^000000,"; + mes "5 ^3355FFRainbow Shell^000000."; + next; + mes "[Lucius Celsus]"; + mes "I will proceed with the class when you bring those to me."; + mes "Have fun."; + close; + } + set SAGE_Q2,7; + changequest 2054,2059; + mes "[Lucius Celsus]"; + mes "Bring the following items this time."; + 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 "[Lucius Celsus]"; + mes "What, you already forgot what I told you just a minute before?"; + mes "What a pain... listen carefully this time."; + next; + mes "[Lucius Celsus]"; + mes "5 ^3355FFNipper^000000,"; + mes "5 ^3355FFClam Flesh^000000,"; + mes "5 ^3355FFHeart of Mermaid^000000."; + close; + } + if (SAGE_Q2 == 3) { + set @sage_m4,rand(1,3); + if ((countitem(1050) > 4) && (countitem(960) > 4) && (countitem(963) > 4)) { + mes "[Lucius Celsus]"; + mes "You showed great effort to gather all of those items."; + mes "Then again, 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 what the similarity is?"; + next; + switch (select("They possess water property.:They are all fishes.:They are aggressive.:They are 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 and are fish class monsters."; + 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 Clams are aggressive nowadays?"; + mes "Or do Vadons and Crabs threaten you?"; + next; + mes "[Lucius Celsus]"; + mes "All the monsters from which you got 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, you moron!"; + mes "*Sigh*...they are all fishes and possess water property."; + break; + } + next; + mes "All fish class monsters do not possess the water property, but most of them do."; + mes "Which kind of magic works 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 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 moron!"; + mes "Most fish possess the water property. Therefore, they are weak to wind property magic spells. Don't you see?"; + 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 poor chosen spot."; + break; + case 4: + set @sage_m4,4; + mes "[Lucius Celsus]"; + mes "What a doofus! This question asks you to choose a property that is can counter the water property. Don't you get it?"; + mes "Any magic spell possessing the water property cannot beat the water property!"; + break; + } + next; + mes "[Lucius Celsus]"; + mes "By the way, although some monsters such as Penomena or Aster are considered to be fish class, "; + mes "they have a different property than the others. You better be careful with them."; + next; + mes "[Lucius Celsus]"; + mes "Ok, let's learn abou the insects from now on."; + mes "Let's see... hmm... hmm..."; + next; + if (@sage_m4 == 1) { + set SAGE_Q2,4; + changequest 2055,2056; + mes "[Lucius Celsus]"; + mes "Bring the following items this time."; + mes "5 ^3355FFCobweb^000000,"; + mes "5 ^3355FFShell^000000,"; + mes "5 ^3355FFInsect Feeler^000000."; + next; + mes "[Lucius Celsus]"; + mes "I will proceed with the class when you bring those to me."; + mes "Have fun."; + close; + } + if (@sage_m4 == 2) { + set SAGE_Q2,5; + changequest 2055,2057; + mes "[Lucius Celsus]"; + mes "Bring the following items this time."; + mes "5 ^3355FFHorn^000000,"; + mes "5 ^3355FFSnail's Shell^000000,"; + mes "5 ^3355FFMoth Dust^000000."; + next; + mes "[Lucius Celsus]"; + mes "I will proceed with the class when you bring those to me."; + mes "Have fun."; + close; + } + if (@sage_m4 == 3) { + set SAGE_Q2,6; + changequest 2055,2058; + mes "[Lucius Celsus]"; + mes "Bring the following items this time."; + mes "5 ^3355FFMantis Scythe^000000,"; + mes "5 ^3355FFWorm Peeling^000000,"; + mes "5 ^3355FFRainbow Shell^000000."; + next; + mes "[Lucius Celsus]"; + mes "I will proceed with the class when you bring those to me."; + mes "Have fun."; + close; + } + set SAGE_Q2,7; + changequest 2055,2059; + mes "[Lucius Celsus]"; + mes "Bring the following items this time."; + mes "5 ^3355FFCobweb^000000,"; + mes "5 ^3355FFMantis Scythe^000000,"; + mes "5 ^3355FFSolid Shell^000000."; + next; + mes "[Lucius Celsus]"; + mes "I will proceed the class when you bring those to me."; + mes "Have fun."; + close; + } + mes "[Lucius Celsus]"; + mes "What, you already forgot what I told you just a minute before?"; + mes "What a nuisance... listen carefully this time."; + next; + mes "[Lucius Celsus]"; + mes "5 ^3355FFTendon^000000,"; + mes "5 ^3355FFNipper^000000,"; + mes "5 ^3355FFSharp Scale^000000."; + close; + } + if (SAGE_Q2 == 4) { + if ((countitem(1025) > 4) && (countitem(935) > 4) && (countitem(928) > 4)) { + mes "[Lucius Celsus]"; + 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; + changequest 2056,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 "[Lucius Celsus]"; + mes "What, you already forgot what I told you?"; + mes "What a nuisance...listen carefully this time."; + next; + mes "[Lucius Celsus]"; + mes "5 ^3355FFCobweb^000000,"; + mes "5 ^3355FFShell^000000,"; + mes "5 ^3355FFInsect Feeler^000000."; + close; + } + if (SAGE_Q2 == 5) { + if ((countitem(947) > 4) && (countitem(946) > 4) && (countitem(1057) > 4)) { + mes "[Lucius Celsus]"; + 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 Hiding or Cloaking 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; + changequest 2057,2051; + mes "[Lucius Celsus]"; + mes "I will help you in writing the thesis when you bring all those items."; + mes "You're almost there. Isn't learning easy?"; + close; + } + mes "[Lucius Celsus]"; + mes "What, you already forgot what I told you?"; + mes "What a nuisance...listen carefully this time."; + next; + mes "[Lucius Celsus]"; + mes "5 ^3355FFHorn^000000,"; + mes "5 ^3355FFSnail's Shell^000000,"; + mes "5 ^3355FFMoth Dust^000000."; + close; + } + if (SAGE_Q2 == 6) { + if ((countitem(1031) > 4) && (countitem(955) > 4) && (countitem(1013) > 4)) { + mes "[Lucius Celsus]"; + 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 Hiding or Cloaking 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 "I will proceed with the class when you bring those to me."; - mes "Have fun."; + 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; + changequest 2058,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 just a minute before?"; - mes "What a nusance... listen carefully this time."; + mes "[Lucius Celsus]"; + 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,"; + mes "5 ^3355FFMantis Scythe^000000,"; + mes "5 ^3355FFWorm Peeling^000000,"; + mes "5 ^3355FFRainbow Shell^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?"; + if (SAGE_Q2 == 7) { + if ((countitem(1025) > 4) && (countitem(1031) > 4) && (countitem(943) > 4)) { + mes "[Lucius Celsus]"; + 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 "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."; + mes "Therefore, any hiding skill such as Hiding or Cloaking will not work on insect monsters."; next; mes "[Lucius Celsus]"; mes "Some insects form a group and live together."; @@ -1993,53 +2979,45 @@ yuno_in03,32,102,1 script Biology Professor#sa 755,{ 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."; + mes "Bring me the 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."; + mes "^3355FF1 Empty Bottle^000000 which will be used for holding squid ink within."; 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; - } + 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 "[Lucius Celsus]"; 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,"; + mes "5 ^3355FFCobweb^000000,"; + mes "5 ^3355FFMantis Scythe^000000,"; + mes "5 ^3355FFSolid Shell^000000."; close; } + mes "[Lucius Celsus]"; 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) { + 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 "[Lucius Celsus]"; mes "Hmph. Lucky brat brought all of the items."; mes "Well, I don't expect you to write an outrageously great thesis though..."; next; @@ -2088,24 +3066,24 @@ yuno_in03,32,102,1 script Biology Professor#sa 755,{ 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; - } + mes "[Lucius Celsus]"; + 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) { + if (SAGE_Q == 15) { + mes "[Lucius Celsus]"; mes "What are you doing here, Go show your thesis to the dean!"; mes "Don't wasn't any more time here."; next; @@ -2114,21 +3092,20 @@ yuno_in03,32,102,1 script Biology Professor#sa 755,{ 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; - } + mes "[Lucius Celsus]"; + 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) { +yuno_in03,244,31,3 script Physics Professor 120,{ + if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { + if (Class ==Job_Baby_Sage || Class == Job_Sage) { + mes "[Aebecee George]"; 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; @@ -2139,8 +3116,10 @@ yuno_in03,244,31,3 script Physics Professor#sa 120,{ 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?"; + close; } - else if (BaseJob == Job_Novice) { + if (Class == Job_Baby || Class == Job_Novice) { + mes "[Aebecee George]"; mes "Well, aren't you the cutest little Novice~"; next; mes "[Aebecee George]"; @@ -2150,22 +3129,23 @@ yuno_in03,244,31,3 script Physics Professor#sa 120,{ mes "[Aebecee George]"; mes "Oh gosh...Sorry, I thought I had some..."; mes "But I've got other treats, you catch my drift?"; + close; } - 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~!"; - } + mes "[Aebecee George]"; + 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 "[Aebecee George]"; mes "Hello~? Nice to meet you, tee hee."; mes "Did you come to see me? Oh, you're a student!"; next; @@ -2188,8 +3168,9 @@ yuno_in03,244,31,3 script Physics Professor#sa 120,{ mes "We'll start the class when you bring me those stones~ Tee hee~"; close; } - else if (SAGE_Q2 == 1) { + if (SAGE_Q2 == 1) { if (countitem(7049) > 29) { + mes "[Aebecee George]"; 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; @@ -2211,14 +3192,14 @@ yuno_in03,244,31,3 script Physics Professor#sa 120,{ 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; + set SAGE_Q2,2; getitem 991,1; //Crystal_Blue getitem 993,1; //Yellow_Live getitem 992,1; //Wind_Of_Verdure + changequest 2060,2061; 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~"; @@ -2231,18 +3212,18 @@ yuno_in03,244,31,3 script Physics Professor#sa 120,{ 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; - } + mes "[Aebecee George]"; + 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) { + if (SAGE_Q2 == 2) { + if ((countitem(1754) > 49) && (countitem(1756) > 49) && (countitem(1755) > 49)) { + mes "[Aebecee George]"; mes "Oh~ how sweet! You brought them all~ Oh thank you~"; mes "Well now, let's get down to business. Tee hee~"; next; @@ -2280,20 +3261,20 @@ yuno_in03,244,31,3 script Physics Professor#sa 120,{ 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; - } + mes "[Aebecee George]"; + 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 (SAGE_Q2 == 3) { if (countitem(523) > 0) { + mes "[Aebecee George]"; mes "Oh~ how sweet! You brought some Holy Water~ thanks honey~"; mes "Oh righty, we should start class. Tee hee~"; next; @@ -2341,28 +3322,28 @@ yuno_in03,244,31,3 script Physics Professor#sa 120,{ 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!"; + mes "[Aebecee George]"; + 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; } + mes "[Aebecee George]"; + 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) { + if (SAGE_Q == 14) { + set @w_point,0; + 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 "[Aebecee George]"; 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; @@ -2373,118 +3354,58 @@ yuno_in03,244,31,3 script Physics Professor#sa 120,{ 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; + 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; + 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("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; + 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("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("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("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("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("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; + 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 ".........."; @@ -2505,43 +3426,42 @@ yuno_in03,244,31,3 script Physics Professor#sa 120,{ 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~"; + mes "[Aebecee George]"; + 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 "I know, I know...you wanna play with little ol' me. But you should become a Sage first."; - mes "Please hurry up, 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 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 { - mes "Well well...what do we have here?"; - next; + if (SAGE_Q == 15) { 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..."; + 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 "...PLEASURE. Wait, where are you going, hon?"; + 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; } + mes "[Aebecee George]"; + 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,{ @@ -2559,11 +3479,11 @@ job_sage,50,165,4 script Test Helper#talk 700,{ close; } -job_sage,50,165,4 script Waiting Room#sg 700,{ +job_sage,50,165,2 script Waiting Room#sg 700,{ end; OnInit: - disablenpc "Waiting Room#sg"; + hideonnpc "Waiting Room#sg"; waitingroom "Waiting Room",20,"Waiting Room#sg::OnStartArena",1; enablewaitingroomevent; end; @@ -2579,14 +3499,15 @@ OnEnable: end; } -- script Arena#1 66,{ +job_sage,1,2,1 script Arena#1 66,{ + end; + OnInit: - disablenpc "Arena#1"; + hideonnpc "Arena#1"; end; OnEnable: - enablenpc "Arena#1"; - set .MyMobs,16; + hideoffnpc "Arena#1"; 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"; @@ -2607,12 +3528,15 @@ OnEnable: end; OnReset: - killmonsterall "job_sage"; + killmonster "job_sage","Arena#1::OnMyMobDead"; + end; + +OnDisable: + hideonnpc "Arena#1"; end; OnMyMobDead: - set .MyMobs,.MyMobs-1; - if (.MyMobs < 1) { + if (mobcount ("job_sage","Arena#1::OnMyMobDead") < 1) { mapannounce "job_sage"," " + strcharinfo(0) + ", successfully defeat all the monsters.",bc_map; donpcevent "Arena#2::OnEnable"; stopnpctimer; @@ -2661,7 +3585,7 @@ OnTimer183000: end; OnTimer184000: - areawarp "job_sage",100,82,131,113,"yuno",324,258; + donpcevent "Arena#Fail::OnEnable"; end; OnTimer185000: @@ -2669,22 +3593,23 @@ OnTimer185000: end; OnTimer186000: - disablenpc "Arena#1"; + donpcevent "Arena#Fail::OnDisable"; + donpcevent "Arena#1::OnDisable"; donpcevent "Waiting Room#sg::OnEnable"; - stopnpctimer; end; } -- script Arena#2 -1,{ +job_sage,1,3,1 script Arena#2 66,{ + end; + OnInit: - disablenpc "Arena#2"; + hideonnpc "Arena#2"; end; OnEnable: - enablenpc "Arena#2"; + hideoffnpc "Arena#2"; donpcevent "Arena#1::OnReset"; - disablenpc "Arena#1"; - set .MyMobs,24; + donpcevent "Arena#1::OnDisable"; 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"; @@ -2713,12 +3638,15 @@ OnEnable: end; OnReset: - killmonsterall "job_sage"; + killmonster "job_sage","Arena#2::OnMyMobDead"; + end; + +OnDisable: + hideonnpc "Arena#2"; end; OnMyMobDead: - set .MyMobs,.MyMobs-1; - if (.MyMobs < 1) { + if (mobcount ("job_sage","Arena#2::OnMyMobDead") < 1) { mapannounce "job_sage"," " + strcharinfo(0) + ", successfully defeat all the monsters.",bc_map; donpcevent "Arena#Doorkeeper::OnEnable"; donpcevent "Arena#3::OnEnable"; @@ -2764,7 +3692,7 @@ OnTimer183000: end; OnTimer184000: - areawarp "job_sage",100,82,131,113,"yuno",324,258; + donpcevent "Arena#Fail::OnEnable"; end; OnTimer185000: @@ -2772,42 +3700,44 @@ OnTimer185000: end; OnTimer186000: - disablenpc "Arena#2"; + donpcevent "Arena#Fail::OnDisable"; + donpcevent "Arena#2::OnDisable"; donpcevent "Waiting Room#sg::OnEnable"; - stopnpctimer; end; } -- script Arena#Doorkeeper -1,{ +job_sage,1,4,1 script Arena#Doorkeeper 66,{ + end; + OnInit: - disablenpc "Arena#Doorkeeper"; + hideonnpc "Arena#Doorkeeper"; end; OnEnable: - enablenpc "Arena#Doorkeeper"; + hideoffnpc "Arena#Doorkeeper"; donpcevent "Arena#2::OnReset"; - disablenpc "Arena#2"; - set .MyMobs,1; + donpcevent "Arena#2::OnDisable"; monster "job_sage",116,97,"Academic Probation",1179,1,"Arena#Doorkeeper::OnMyMobDead"; initnpctimer; end; OnReset: - killmonsterall "job_sage"; + donpcevent "Arena#3::OnReset"; + killmonster "job_sage","Arena#Doorkeeper::OnMyMobDead"; end; OnDisable: - disablenpc "Arena#3"; - disablenpc "Arena#Doorkeeper"; + donpcevent "Arena#3::OnDisable"; + hideonnpc "Arena#Doorkeeper"; end; OnMyMobDead: - set .MyMobs,.MyMobs-1; - if (.MyMobs < 1) { + if (mobcount ("job_sage","Arena#Doorkeeper::OnMyMobDead") < 1) { mapannounce "job_sage","Congratulations, " + strcharinfo(0) + ". You passed the test.",bc_map; set SAGE_Q,8; + donpcevent "Arena#Doorkeeper::OnReset"; + donpcevent "Arena#Doorkeeper::OnDisable"; donpcevent "Test Helper#sg::OnEnable"; - disablenpc "Arena#Doorkeeper"; stopnpctimer; } end; @@ -2830,7 +3760,7 @@ OnTimer60000: end; OnTimer61000: - areawarp "job_sage",100,82,131,113,"yuno",324,258; + donpcevent "Arena#Fail::OnEnable"; end; OnTimer62000: @@ -2838,15 +3768,37 @@ OnTimer62000: end; OnTimer63000: - disablenpc "Arena#Doorkeeper"; + donpcevent "Arena#Fail::OnDisable"; + donpcevent "Arena#Doorkeeper::OnDisable"; donpcevent "Waiting Room#sg::OnEnable"; - stopnpctimer; end; } -- script Arena#3 -1,{ +job_sage,116,97,0 script Arena#Fail 139,16,16,{ + +OnTouch: + mapannounce "job_sage"," " + strcharinfo(0) + " has failed the test.",bc_map; + warp "yuno",324,258; + end; + +OnInit: + hideonnpc "Arena#Fail"; + end; + +OnEnable: + hideoffnpc "Arena#Fail"; + end; + +OnDisable: + hideonnpc "Arena#Fail"; + end; +} + +job_sage,1,4,1 script Arena#3 66,{ + end; + OnInit: - disablenpc "Arena#3"; + hideonnpc "Arena#3"; end; OnEnable: @@ -2856,20 +3808,49 @@ OnEnable: monster "job_sage",124,89,"Cheating 4 times",1185,1; end; +OnReset: + killmonster "job_sage","Arena#3::OnMyMobDead"; + end; + +OnDisable: + hideonnpc "Arena#3"; + end; +} + +job_sage,116,97,0 script SageSucceeded 139,16,16,{ + +OnTouch: + warp "yuno_in03",163,180; + end; + +OnInit: + hideonnpc "SageSucceeded"; + end; + +OnEnable: + hideoffnpc "SageSucceeded"; + end; + OnDisable: - killmonsterall "job_sage"; + hideonnpc "SageSucceeded"; end; } -- script Test Helper#sg -1,{ +job_sage,1,6,1 script Test Helper#sg 66,{ + end; + OnInit: - disablenpc "Test Helper#sg"; + hideonnpc "Test Helper#sg"; end; OnEnable: initnpctimer; end; +OnDisable: + hideonnpc "Test Helper#sg"; + 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; @@ -2879,7 +3860,11 @@ OnTimer4000: end; OnTimer5000: - areawarp "job_sage",100,82,131,113,"yuno_in03",163,180; + donpcevent "SageSucceeded::OnEnable"; + end; + +OnTimer6000: + donpcevent "SageSucceeded::OnDisable"; end; OnTimer7000: @@ -2887,28 +3872,8 @@ OnTimer7000: end; OnTimer9000: - disablenpc "Test Helper#sg"; + donpcevent "Test Helper#sg::OnDisable"; 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 +} \ No newline at end of file diff --git a/npc/jobs/2-2a/Champion.txt b/npc/jobs/2-2a/Champion.txt index 28cd5a9e0..1d60bb8f8 100644 --- a/npc/jobs/2-2a/Champion.txt +++ b/npc/jobs/2-2a/Champion.txt @@ -16,7 +16,7 @@ //============================================================ valkyrie,53,42,3 script Champion#Valkyrie 52,{ - if (ADVJOB == 0 || Upper != 1) { + if (FJOB == 0 || Upper != 1) { set .@karma_d,rand(1,10); if (.@karma_d > 4) { mes "[Champion]"; @@ -38,7 +38,7 @@ valkyrie,53,42,3 script Champion#Valkyrie 52,{ mes "so much in life..."; close; } - else if (ADVJOB == Job_Champion && Class == Job_Acolyte_High && JobLevel > 39) { + if ((FJOB == Job_Sura) && (Class == Job_Acolyte_High) && (JobLevel > 39)) { mes "[Champion]"; mes "It's time."; mes "Time for great heroes"; @@ -64,7 +64,7 @@ valkyrie,53,42,3 script Champion#Valkyrie 52,{ close; } jobchange Job_Champion; - set ADVJOB,0; + set FJOB,0; mes "[Champion]"; mes "Congratulations!"; mes "Live as a Champion,"; @@ -84,4 +84,4 @@ valkyrie,53,42,3 script Champion#Valkyrie 52,{ mes "while you are here."; mes "Honor to the warriors!"; close; -} +} \ No newline at end of file diff --git a/npc/jobs/2-2a/Clown.txt b/npc/jobs/2-2a/Clown.txt index 656557647..10b897d6d 100644 --- a/npc/jobs/2-2a/Clown.txt +++ b/npc/jobs/2-2a/Clown.txt @@ -18,7 +18,7 @@ //============================================================ valkyrie,53,54,3 script Minstrel#Valkyrie 741,{ - if (ADVJOB == 0 || Upper != 1) { + if (FJOB == 0 || Upper != 1) { set .@karma_d,rand(1,10); if (.@karma_d > 4) { mes "[Minstrel]"; @@ -32,7 +32,7 @@ valkyrie,53,54,3 script Minstrel#Valkyrie 741,{ mes "Sha la la la la~"; close; } - else if (ADVJOB == Job_Clown && Class == Job_Archer_High && JobLevel > 39) { + if ((FJOB == Job_Minstrell) && (Class == Job_Archer_High) && (JobLevel > 39)) { mes "[Minstrel]"; mes "The dreary world"; mes "of mortals is in need"; @@ -60,7 +60,7 @@ valkyrie,53,54,3 script Minstrel#Valkyrie 741,{ close; } jobchange Job_Clown; - set ADVJOB,0; + set FJOB,0; mes "[Minstrel]"; mes "Congratulations!"; mes "As a Minstrel, your"; @@ -80,4 +80,4 @@ valkyrie,53,54,3 script Minstrel#Valkyrie 741,{ mes "while you are here."; mes "Honor to the warriors!"; close; -} +} \ No newline at end of file diff --git a/npc/jobs/2-2a/Creator.txt b/npc/jobs/2-2a/Creator.txt index 3b85907e9..1353c8ab7 100644 --- a/npc/jobs/2-2a/Creator.txt +++ b/npc/jobs/2-2a/Creator.txt @@ -16,7 +16,7 @@ //============================================================ valkyrie,53,50,3 script Biochemist#Valkyrie 122,{ - if (ADVJOB == 0 || Upper != 1) { + if (FJOB == 0 || Upper != 1) { set .@karma_d,rand(1,10); if (.@karma_d > 4) { mes "[Biochemist]"; @@ -40,7 +40,7 @@ valkyrie,53,50,3 script Biochemist#Valkyrie 122,{ mes "a place in Valhalla..."; close; } - else if (ADVJOB == Job_Creator && Class == Job_Merchant_High && JobLevel > 39) { + if ((FJOB == Job_Genetic) && (Class == Job_Merchant_High) && (JobLevel > 39)) { mes "[Biochemist]"; mes "Yes..."; mes "It's about time."; @@ -65,7 +65,7 @@ valkyrie,53,50,3 script Biochemist#Valkyrie 122,{ close; } jobchange Job_Creator; - set ADVJOB,0; + set FJOB,0; mes "[Biochemist]"; mes "Congratulations!"; mes "As a Biochemist,"; @@ -74,63 +74,60 @@ valkyrie,53,50,3 script Biochemist#Valkyrie 122,{ mes "right purposes."; close; } - else { - if (Class == Job_Creator && MISC_QUEST & 64 && getskilllv("AM_BIOETHICS") == 0) { + 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 "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..."; + 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; - 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; - } + skill 238,1,0; 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..."; + 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 "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!"; + 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; +} \ No newline at end of file diff --git a/npc/jobs/2-2a/Gypsy.txt b/npc/jobs/2-2a/Gypsy.txt index 95503a1ba..fdd65e526 100644 --- a/npc/jobs/2-2a/Gypsy.txt +++ b/npc/jobs/2-2a/Gypsy.txt @@ -16,7 +16,7 @@ //============================================================ valkyrie,53,56,3 script Gypsy#Valkyrie 101,{ - if (ADVJOB == 0 || Upper != 1) { + if (FJOB == 0 || Upper != 1) { set .@karma_d,rand(1,10); if (.@karma_d > 4) { mes "[Gypsy]"; @@ -33,7 +33,7 @@ valkyrie,53,56,3 script Gypsy#Valkyrie 101,{ mes "For me, it's a way of life~"; close; } - else if (ADVJOB == Job_Gypsy && Class == Job_Archer_High && JobLevel > 39) { + if ((FJOB == Job_Wanderer) && (Class == Job_Archer_High) && (JobLevel > 39)) { mes "[Gypsy]"; mes "The land of Rune-Midgard"; mes "is in need of talented women"; @@ -60,7 +60,7 @@ valkyrie,53,56,3 script Gypsy#Valkyrie 101,{ close; } jobchange Job_Gypsy; - set ADVJOB,0; + set FJOB,0; mes "[Gypsy]"; mes "Congratulations!"; mes "As a Gypsy, I know"; @@ -80,4 +80,4 @@ valkyrie,53,56,3 script Gypsy#Valkyrie 101,{ mes "while you are here."; mes "Honor to the warriors!"; close; -} +} \ No newline at end of file diff --git a/npc/jobs/2-2a/Paladin.txt b/npc/jobs/2-2a/Paladin.txt index 7589ff3f6..d7a6906ea 100644 --- a/npc/jobs/2-2a/Paladin.txt +++ b/npc/jobs/2-2a/Paladin.txt @@ -16,7 +16,7 @@ //============================================================ valkyrie,53,39,3 script Paladin#Valkyrie 752,{ - if (ADVJOB == 0 || Upper != 1) { + if (FJOB == 0 || Upper != 1) { set .@karma_d,rand(1,10); if (.@karma_d > 4) { mes "[Paladin]"; @@ -33,7 +33,7 @@ valkyrie,53,39,3 script Paladin#Valkyrie 752,{ mes "always brighten our path!"; close; } - else if (ADVJOB == Job_Paladin && Class == Job_Swordman_High && JobLevel > 39) { + if ((FJOB == Job_Royal_Guard) && (Class == Job_Swordman_High) && (JobLevel > 39)) { mes "[Paladin]"; mes "The Holy War will"; mes "be upon us before we"; @@ -61,7 +61,7 @@ valkyrie,53,39,3 script Paladin#Valkyrie 752,{ close; } jobchange Job_Paladin; - set ADVJOB,0; + set FJOB,0; mes "[Paladin]"; mes "Congratulations."; mes "As a Paladin, I hope"; @@ -82,4 +82,4 @@ valkyrie,53,39,3 script Paladin#Valkyrie 752,{ mes "while you are here."; mes "Honor to the warriors!"; close; -} +} \ No newline at end of file diff --git a/npc/jobs/2-2a/Professor.txt b/npc/jobs/2-2a/Professor.txt index b6b38afdc..6b8b0e300 100644 --- a/npc/jobs/2-2a/Professor.txt +++ b/npc/jobs/2-2a/Professor.txt @@ -16,7 +16,7 @@ //============================================================ valkyrie,53,47,3 script Scholar#Valkyrie 743,{ - if (ADVJOB == 0 || Upper != 1) { + if (FJOB == 0 || Upper != 1) { set .@karma_d,rand(1,10); if (.@karma_d > 4) { mes "[Scholar]"; @@ -40,7 +40,7 @@ valkyrie,53,47,3 script Scholar#Valkyrie 743,{ mes "process of learning..."; close; } - else if (ADVJOB == Job_Professor && Class == Job_Mage_High && JobLevel > 39) { + if ((FJOB == Job_Sorcerer) && (Class == Job_Mage_High) && (JobLevel > 39)) { mes "[Scholar]"; mes "Rune-Midgard doesn't"; mes "have enough Scholars to"; @@ -68,7 +68,7 @@ valkyrie,53,47,3 script Scholar#Valkyrie 743,{ close; } jobchange Job_Professor; - set ADVJOB,0; + set FJOB,0; mes "[Scholar]"; mes "Congratulations!"; mes "As a Professor, I hope"; @@ -89,5 +89,4 @@ valkyrie,53,47,3 script Scholar#Valkyrie 743,{ mes "while you are here."; mes "Honor to the warriors!"; close; -} - +} \ No newline at end of file diff --git a/npc/jobs/2-2a/Stalker.txt b/npc/jobs/2-2a/Stalker.txt index a2a26e135..aa94e8501 100644 --- a/npc/jobs/2-2a/Stalker.txt +++ b/npc/jobs/2-2a/Stalker.txt @@ -16,7 +16,7 @@ //============================================================ valkyrie,53,58,3 script Stalker#Valkyrie 747,{ - if (ADVJOB == 0 || Upper != 1) { + if (FJOB == 0 || Upper != 1) { set .@karma_d,rand(1,10); if (.@karma_d > 4) { mes "[Stalker]"; @@ -41,7 +41,7 @@ valkyrie,53,58,3 script Stalker#Valkyrie 747,{ mes "they need me."; close; } - else if (ADVJOB == Job_Stalker && Class == Job_Thief_High && JobLevel > 39) { + if ((FJOB == Job_Shadow_Chaser) && (Class == Job_Thief_High) && (JobLevel > 39)) { mes "[Stalker]"; mes "This world needs"; mes "more heroes who are"; @@ -69,7 +69,7 @@ valkyrie,53,58,3 script Stalker#Valkyrie 747,{ close; } jobchange Job_Stalker; - set ADVJOB,0; + set FJOB,0; mes "[Stalker]"; mes "Congratulations!"; mes "As a Stalker, I hope"; @@ -90,4 +90,4 @@ valkyrie,53,58,3 script Stalker#Valkyrie 747,{ mes "while you are here."; mes "Honor to the warriors!"; close; -} +} \ No newline at end of file diff --git a/npc/jobs/valkyrie.txt b/npc/jobs/valkyrie.txt index bf6aa5cb3..178acd4bc 100644 --- a/npc/jobs/valkyrie.txt +++ b/npc/jobs/valkyrie.txt @@ -40,7 +40,7 @@ //============================================================ valkyrie,48,86,4 script Valkyrie# 811,{ - if (ADVJOB != 0 || Upper == 1) { + if (FJOB != 0 || Upper == 1) { mes "[Valkyrie]"; mes "Welcome"; mes "to Valhalla,"; @@ -53,7 +53,7 @@ valkyrie,48,86,4 script Valkyrie# 811,{ mes "Honor to the warriors!"; close; } - else if (Baselevel > 98 && JobLevel > 49 && Class >= Job_Knight && Class <= Job_Crusader2) { + if ((Baselevel > 98) && (JobLevel > 49) && ((Class >= Job_Knight) && (Class <= Job_Crusader2))) { mes "[Valkyrie]"; mes "Welcome"; mes "to Valhalla,"; @@ -144,9 +144,6 @@ valkyrie,48,86,4 script Valkyrie# 811,{ 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 @@ -169,25 +166,25 @@ valkyrie,48,86,4 script Valkyrie# 811,{ 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: + switch (FJOB) { + case 4054: + case 4066: warp "izlude",94,103; break; - case 4009: - case 4016: + case 4057: + case 4070: warp "prontera",273,354; break; - case 4010: - case 4017: + case 4055: + case 4067: warp "geffen",120,60; break; - case 4011: - case 4019: + case 4058: + case 4071: warp "alberta",116,57; break; - case 4012: - case 4020: - case 4021: + case 4056: + case 4068: + case 4069: warp "payon",69,100; break; - case 4013: - case 4018: + case 4059: + case 4072: warp "morocc",154,50; break; default: warp "yuno_in02",93,205; break; @@ -195,22 +192,20 @@ valkyrie,48,86,4 script Valkyrie# 811,{ 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; - } + 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 ((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."; @@ -257,7 +252,7 @@ yuno_in02,88,164,5 script Metheus Sylphe#Library 742,{ } yuno_in02,93,207,1 script Book of Ymir 111,{ - if (ADVJOB != 0 || Upper == 1) { + if (FJOB != 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; @@ -275,7 +270,7 @@ yuno_in02,93,207,1 script Book of Ymir 111,{ warp "valkyrie",48,8; end; } - else if (Baselevel > 98 && JobLevel > 49 && Class >= Job_Knight && Class <= Job_Crusader2) { + 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"; @@ -343,7 +338,7 @@ yuno_in02,93,207,1 script Book of Ymir 111,{ } yuno_in05,49,43,1 script Heart of Ymir 111,{ - if (Baselevel > 98 && JobLevel > 49 && Class >= Job_Knight && Class <= Job_Crusader2) { + if ((Baselevel > 98) && (JobLevel > 49) && ((Class >= Job_Knight) && (Class <= Job_Crusader2))) { if (valkyrie_Q == 2) warp "valkyrie",48,8; } end; @@ -365,23 +360,22 @@ valkyrie,44,33,5 script Teleporter 124,{ 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; - } + 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."; @@ -394,5 +388,4 @@ S_WarpChar: // 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 - +valkyrie,48,66,0 warp valk01#2 1,1,valkyrie,48,75 \ No newline at end of file diff --git a/npc/pre-re/jobs/1-1/acolyte.txt b/npc/pre-re/jobs/1-1/acolyte.txt index 0eb0ec061..0c8307cbb 100644 --- a/npc/pre-re/jobs/1-1/acolyte.txt +++ b/npc/pre-re/jobs/1-1/acolyte.txt @@ -1,38 +1,21 @@ //===== rAthena Script ======================================= -//= Acolyte Job Quest +//= Renewal Acolyte Job Change //===== By: ================================================== -//= kobra_k88; L0ne_W0lf +//= Kisuka //===== Current Version: ===================================== -//= 2.2 +//= 1.2 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job quest for Acolyte classes +//= Job Change to Acolyte Class //===== Additional Comments: ================================= -//= v1.0 Fully working. -//= v1.1 Added function calls for Priest Quest. -//= v1.2 Fixed Marthilda, Yosuke bugs. [Lupus] -//= v1.2a Added instant job change for High Novice [Lupus] -//= v1.3 Added Baby Class support [Lupus] -//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] -//= 1.5 Now saves/restores all quest skills [Lupus] -//= 1.6 Merged back JFunc [Lupus] -//= 1.7 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] -//= No longer uses function "F_ToHigh" -//= Proper dialog for Priest job quest is unused (for now.) -//= 1.7a Functions now make use of proper priest quest dialog [L0ne_W0lf] -//= 1.8 Removed an Unnecessary "set job_acolyte_q,0;" [Samuray22] -//= 1.8a More bug fixes care of Crashy. [L0ne_W0lf] -//= 1.9 Changed Marthilda to Mathilda. [L0ne_W0llf] -//= 2.0 Fixed High Acolytesnot being given holy light. [L0ne_W0lf] -//= 2.1 Added Quest Log commands. [L0ne_W0lf] -//= 2.2 Fixed an issue with completequest by adding checkquest. [Kisuka] +//= 1.0 First Version. [Kisuka] +//= 1.1 Added back the npcs used for the priest quest. +//= 1.2 Added Baby job change support. [Masao] //============================================================ - prt_church,184,41,4 script Cleric#aco 60,{ if (Upper == 1) { - if (ADVJOB == Job_High_Priest || ADVJOB == Job_Champion) { + if (FJOB == Job_Arch_Bishop || FJOB == Job_Sura) { if (Class == Job_Novice_High) { mes "[Father Mareusis]"; mes "Ah, I sense you have endured"; @@ -56,143 +39,65 @@ prt_church,184,41,4 script Cleric#aco 60,{ mes "wish you luck on your"; mes "new life's journey."; next; - skill 143,0,0; + skill 143,0,1; 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."; + mes "Now, venture forth to seek people who need your help. May God enlighten your way."; close; } + 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("Father, I want to be a Acolyte.:Acolyte Requirements.:Just looking around.")) { + switch (select("Father, I want to be a Acolyte.:Acolyte Requirements.:Just looking around.")) { case 1: - mes "[Father Mareusis]"; - if (BaseJob == Job_Acolyte) { + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + mes "[Father Mareusis]"; 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?"; close; } - else if (BaseJob != Job_Novice) { - mes "I'm sorry, but we can only accept Novices as applicants for the job change to Acolyte."; - close; - } - if (job_acolyte_q == 0) { - mes "Do you truly"; - mes "wish to become"; - mes "a servant of God?"; - next; - if (select("Yes Father, I do.:Nope, I lied.") == 1) { - mes "[Father Mareusis]"; - mes "Good. I accept " + strcharinfo(0) + "'s will to become an Acolyte. You understand that you must do penance before you can become a servant of God, right?"; - next; - mes "[Father Mareusis]"; - mes "Well, I will"; - mes "give you a mission..."; - switch(rand(3)) { - default: - set job_acolyte_q,2; - mes "Please visit ^000077Father Rubalkabara^000000, a member of the Prontera Parish, and return here. He has been practicing asceticism in the ^000077Relics NorthEast of Prontera City^000000."; - setquest 1001; - break; - case 1: - set job_acolyte_q,3; - mes "Please visit ^000077Mother Mathilda^000000 and then return to me. She has been practicing asceticism near ^000077Morroc Town, SouthWest of Prontera City^000000."; - setquest 1002; - break; - case 2: - set job_acolyte_q,4; - mes "Please visit ^000077Father Yosuke^000000 and return here. He has been practicing asceticism around ^000077a bridge somewhere NorthWest of Prontera^000000."; - setquest 1003; - break; - } - next; - mes "[Father Mareusis]"; - mes "May the grace of God light your path and guide you during your journey of penance."; - close; - } + if ((Class != Job_Baby) && (Class != Job_Novice)) { mes "[Father Mareusis]"; - mes "You lied?"; - mes "It is good that you"; - mes "have confessed your"; - mes "wrongdoing. Go in"; - mes "peace, my son."; + mes "I'm sorry, but we can only accept Novices as applicants for the job change to Acolyte."; close; } - mes "Oh, you've come back. Let me check and see if you are ready to serve God. Let's see..."; - next; 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 "Good Lord! Haven't you accomplished the Basic Training yet?! It's important that you finish that!"; next; mes "[Father Mareusis]"; mes "You should have trained more! Go back and make sure you reach Novice Job Level 9 and learn all of the Basic Skills!"; close; } - if (job_acolyte_q < 5) { - mes "Oh? I can't find your name on the Registration List."; - next; - switch(job_acolyte_q) { - case 2: - mes "[Father Mareusis]"; - mes "Please visit ^000077Father Rubalkabara^000000, a member of the Prontera Parish, and return here."; - next; - mes "[Father Mareusis]"; - mes "He has been practicing asceticism in the ^000077Relics at the NorthEast of Prontera City^000000."; - break; - case 3: - mes "[Father Mareusis]"; - mes "Please Visit ^000077Mother Mathilda^000000 and return here to me."; - next; - mes "[Father Mareusis]"; - mes "She has been practicing asceticism near ^000077Morroc Town, located SouthWest of Prontera City^000000."; - break; - case 4: - mes "[Father Mareusis]"; - mes "Please visit ^000077 Father Yosuke ^000000 and return here to me."; - next; - mes "[Father Mareusis]"; - mes "He has been practicing asceticism near a ^000077bridge somewhere to the NorthWest of Prontera^000000."; - break; - } - next; - mes "[Father Mareusis]"; - mes "May the grace of God brighten your path and guide you on your journey of penance."; - close; - } - mes "Hmm..."; - mes "Your name is on the list and you've proven your qualification."; + mes "[Father Mareusis]"; + mes "Hmm... your job level is high enough and you've proven your qualification."; next; mes "[Father Mareusis]"; mes "I am proud to say that you are now ready to become an Acolyte!"; next; - skill 143,0,0; - callfunc "Job_Change",Job_Acolyte; - callfunc "F_ClearJobVar"; - if(checkquest(1001) != -1) { - completequest 1001; - } - else if(checkquest(1002) != -1) { - completequest 1002; - } - else { - completequest 1003; + skill 143,0,1; + if(Class == Job_Baby){ + jobchange Job_Baby_Acolyte; + } else { + jobchange Job_Acolyte; } + set ACO_Q,0; + getitem 1545,1; //N_Mace mes "[Father Mareusis]"; mes "Always remember to be thankful to God, who is taking care of us all the time."; next; @@ -204,43 +109,15 @@ prt_church,184,41,4 script Cleric#aco 60,{ close; case 2: mes "[Father Mareusis]"; - mes "Do you wish to become an Acolyte? You must fulfill two requirements."; - next; - mes "[Father Mareusis]"; - mes "First, you have to reach at least Novice Job Level 9 and learn all of the Basic Skills. Second, you will be given a trial of penance to overcome."; + 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]"; - if (job_acolyte_q != 0) { - switch(job_acolyte_q) { - case 2: - mes "For your trial, please visit ^000077Father Rubalkabara ^000000 and then return here to me."; - next; - mes "[Father Mareusis]"; - mes "He is practicing asceticism in the ^000077Relics at the NorthEast of Prontera City^000000."; - break; - case 3: - mes "For your trial, please visit ^000077Mother Mathilda^000000 and return here to me."; - next; - mes "[Father Mareusis]"; - mes "She has been practicing asceticism near ^000077Morroc, located to the SouthWest of Prontera City^000000."; - break; - default: - mes "For your trial, please visit ^000077Father Yosuke^000000 and return here to me."; - next; - mes "[Father Mareusis]"; - mes "He has been practicing asceticism around a bridge somewhere ^000077NorthWest of Prontera^000000."; - break; - } - next; - mes "[Father Mareusis]"; - mes "May the grace of God light your path and guide you on your journey of penance."; - } - else { - mes "The destination for this trial will be decided once you fill the application form."; - } + 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 "Please come back after fulfilling the two requirements I've asked of you. As long as your desire to serve God and others is sincere, you will be able to make it."; + mes "When you think you fulfilled this requirement I've asked of you. As long as your desire to serve God and others is sincere, you will be able to make it."; close; case 3: close; @@ -248,17 +125,18 @@ prt_church,184,41,4 script Cleric#aco 60,{ } prt_fild03,365,255,2 script Ascetic#aco 89,{ - mes "[Father Rubalkabara]"; - if (BaseJob == Job_Novice) { - if (job_acolyte_q == 6) { + if (Class == Job_Novice) { + if (ACO_Q== 6) { + mes "[Father Rubalkabara]"; 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) { + if (ACO_Q!= 0) { + if (ACO_Q== 2) { + mes "[Father Rubalkabara]"; 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]"; @@ -278,133 +156,207 @@ prt_fild03,365,255,2 script Ascetic#aco 89,{ next; mes "[Father Rubalkabara]"; mes "Farewell."; - close2; savepoint "prt_fild03",361,255; - set job_acolyte_q,6; - end; + set ACO_Q,6; + close; } - else { - mes "Oh..."; - mes "Are you one of the"; - mes "Acolyte applicants...?"; - mes "Let's see..."; + mes "[Father Rubalkabara]"; + 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; + } + mes "[Father Rubalkabara]"; + mes "Huh? What brings you here? This is a very dangerous place for a Novice like yourself!"; + close; + } + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + if (PRST_Q != 0) { + if (PRST_Q == 1) { + mes "[Father Rubalkabara]"; + 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 "Your name is " + strcharinfo(0) + "?"; - mes "I don't think your name"; - mes "is on my list. Hmmm..."; + 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 "Why don't you go back to the Prontera Sanctuary and check again?"; + mes "Well then, please head to your next destination for your pilgrimage. Be safe in your travels."; + savepoint "prt_fild03",361,255; + set PRST_Q,2; + close; + } + if (PRST_Q == 2) { + mes "[Father Rubalkabara]"; + mes "Please be hurry to the next destination for your pilgrimage. I hope you become a Priest soon."; 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."; + mes "May I ask why you have returned? Please go back and continue your religious practice."; close; } + mes "[Father Rubalkabara]"; + mes "I have no idea what brought you here, but please excuse me."; + close; } + if (Class == Job_Baby_Priest || Class == Job_Priest) { + mes "[Father Rubalkabara]"; + 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; + } + mes "[Father Rubalkabara]"; + 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) { +moc_fild07,41,355,4 script Ascetic#2 95,{ + if (Class == Job_Novice) { + if (ACO_Q== 6) { + mes "[Mother Marthilda]"; 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 "[Mother Marthilda]"; 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) { + if (ACO_Q!= 0) { + if (ACO_Q== 3) { + mes "[Mother Marthilda]"; mes "Ah, you must be one of the Acolyte applicants. I sincerely welcome you."; next; - mes "[Mother Mathilda]"; + mes "[Mother Marthilda]"; mes "What is your name? " + strcharinfo(0) + "? Let's see... Ah, you're on my list."; next; - mes "[Mother Mathilda]"; + mes "[Mother Marthilda]"; 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 "[Mother Marthilda]"; 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; + set ACO_Q,7; + close; } - else { - mes "Ah...!"; - mes "You must be one"; - mes "of the Acolyte applicants."; - mes "I sincerely welcome you."; + mes "[Mother Marthilda]"; + mes "Ah...!"; + mes "You must be one"; + mes "of the Acolyte applicants."; + mes "I sincerely welcome you."; + next; + mes "[Mother Marthilda]"; + mes "Now, what is your name?"; + mes "" + strcharinfo(0) + "? Let's see..."; + next; + mes "[Mother Marthilda]"; + mes "Hmm..."; + mes "It seems your name"; + mes "is not on my list..."; + next; + mes "[Mother Marthilda]"; + mes "Perhaps you should return to the Prontera Sanctuary and check the destination for your penance trial once again."; + close; + } + mes "[Mother Marthilda]"; + mes "..."; + close; + } + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + if (PRST_Q != 0) { + if (PRST_Q == 1) { + mes "[Mother Marthilda]"; + mes "Hmm..."; + mes "It seems you're"; + mes "training to become"; + mes "a Priest."; next; - mes "[Mother Mathilda]"; - mes "Now, what is your name?"; - mes "" + strcharinfo(0) + "? Let's see..."; + mes "[Mother Marthilda]"; + mes "However, at this point in your pilgrimage, I am not the person that you should be visiting."; next; - mes "[Mother Mathilda]"; - mes "Hmm..."; - mes "It seems your name"; - mes "is not on my list..."; + mes "[Mother Marthilda]"; + mes "Perhaps you should ask Bishop Paul or Sister Cecilia once again. Well, may God be with you..."; + close; + } + if (PRST_Q == 2) { + mes "[Mother Marthilda]"; + mes "Ah, are you"; + mes "a Priest trainee...?"; + mes "Welcome!"; next; - mes "[Mother Mathilda]"; - mes "Perhaps you should return to the Prontera Sanctuary and check the destination for your penance trial once again."; + mes "[Mother Marthilda]"; + mes "We Priests are obliged to spread the message of God to"; + mes "the peoples of the Earth."; + next; + mes "[Mother Marthilda]"; + 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 Marthilda]"; + mes "Well then..."; + mes "I shall pray to"; + mes "God for safety"; + mes "on your journey."; + savepoint "moc_fild07",35,355; + set PRST_Q,3; close; } - } - else { - mes "..."; + if (PRST_Q == 3) { + mes "[Mother Marthilda]"; + mes "Please leave soon, and"; + mes "continue your training."; + close; + } + mes "[Mother Marthilda]"; + mes "May I ask you the reason you came back? Please continue your training."; close; } + mes "[Mother Marthilda]"; + mes "May God"; + mes "be with you..."; + 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; - } + if (Class == Job_Baby_Priest || Class == Job_Priest) { + mes "[Mother Marthilda]"; + mes "Hello there~"; + next; + mes "[Mother Marthilda]"; + mes "How is your practice coming along? I certainly hope you're enjoying living in the grace of God."; + close; } + mes "[Mother Marthilda]"; + 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) { +prt_fild00,208,218,6 script Ascetic#3 98,{ + if (Class == Job_Novice) { + if (ACO_Q== 8) { + mes "[Father Yosuke]"; 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) { + if (ACO_Q!= 0) { + if (ACO_Q== 4) { + mes "[Father Yosuke]"; mes "Hey."; mes "Whatever you are,"; mes "you look like an"; @@ -423,48 +375,104 @@ prt_fild00,208,218,6 script Ascetic#3aco 98,{ 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; + set ACO_Q,8; + close; } - else { - mes "Hey."; - mes "You look like an Acolyte Applicant. Am I right?"; + mes "[Father Yosuke]"; + 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; + } + mes "[Father Yosuke]"; + mes "You..."; + mes "Novice."; + mes "There something"; + mes "you wanna tell me?"; + close; + } + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + if (PRST_Q != 0) { + if (PRST_Q == 1) { + mes "[Father Yosuke]"; + mes "Hmm..."; + mes "A Priest trainee, eh?"; 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?"; + 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 "" + strcharinfo(0) + ", huh? Why isn't your name on my list?"; + mes "But that's your own fault."; + mes "Now, go back to Church, kid."; + close; + } + if (PRST_Q == 2) { + mes "[Father Yosuke]"; + 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 "You probably made a mistake. Go back to the Santuary, and check with the Bishop."; + mes "But that's your own fault. Go back to Church."; + close; + } + if (PRST_Q == 3) { + mes "[Father Yosuke]"; + 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."; + savepoint "prt_fild00",206,230; + set PRST_Q,4; + close; + } + if (PRST_Q == 4) { + mes "[Father Yosuke]"; + 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; } - } - 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."; + mes "Just go be a Priest. This isn't a playground for kids."; close; } + mes "[Father Yosuke]"; + mes "...Acolyte, you don't have any business with me here."; + close; } -} - + if (Class == Job_Baby_Priest || Class == Job_Priest) { + mes "[Father Yosuke]"; + 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; + } + mes "[Father Yosuke]"; + mes "Do you have anything to say? Because unfortunately for you,"; + mes "I don't any replies."; + close; +} \ No newline at end of file diff --git a/npc/pre-re/jobs/1-1/archer.txt b/npc/pre-re/jobs/1-1/archer.txt index 754d874cf..c51a080bd 100644 --- a/npc/pre-re/jobs/1-1/archer.txt +++ b/npc/pre-re/jobs/1-1/archer.txt @@ -1,36 +1,22 @@ //===== rAthena Script ======================================= -//= Archer Job Quest +//= Renewal Archer Job Change //===== By: ================================================== -//= kobra_k88; L0ne_W0lf +//= Kisuka //===== Current Version: ===================================== -//= 1.9 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job quest for Archer classes +//= Job Change to Archer Class //===== Additional Comments: ================================= -//= Fully working -//= v1.1 Added instant job change for High Novice [Lupus] -//= v1.3 Added Baby Class support [Lupus] -//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] -//= 1.5 Now saves/restores all quest skills [Lupus] -//= 1.6 Merged back JFunc [Lupus] -//= 1.7 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] -//= Arrow reward is now equal to the type sof trunks brought. -//= No longer uses function "F_ToHigh" -//= 1.7a Fixed minor dialogue bug at Grade==25 [Lupus] -//= 1.8 Fixed mistake in condition check. [L0ne_W0lf] -//= 1.9 Added Quest Log commands. [L0ne_W0lf] +//= 1.0 First Version. [Kisuka] +//= 1.1 Added Baby job change support. [Masao] //============================================================ - -payon_in02,64,71,4 script Archer Guildsman#archer 85,{ +payon_in02,64,71,4 script Archer Guildsman 85,{ if (Upper == 1) { - if (Class == Job_Novice_High && (ADVJOB == Job_Sniper || ADVJOB == Job_Clown || ADVJOB == Job_Gypsy)) { + if ((Class == Job_Novice_High) && (FJOB == Job_Ranger || FJOB == Job_Minstrel || FJOB == Job_Wanderer)) { 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"; @@ -51,7 +37,7 @@ payon_in02,64,71,4 script Archer Guildsman#archer 85,{ mes "need to say anything else."; mes "I know you'll make a great Archer..."; next; - skill 143,0,0; + skill 143,0,1; jobchange Job_Archer_high; skill 147,1,0; skill 148,1,0; @@ -60,187 +46,96 @@ payon_in02,64,71,4 script Archer Guildsman#archer 85,{ 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 "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 "Good day. How may I help you?"; + 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.")) { + switch (select("I want to be an Archer.:I need the requirements, please.:Nothing, thanks.")) { case 1: - if (BaseJob == Job_Archer) { - mes "[Archer Guildsman]"; - mes "You've already become an Archer..."; - close; - } - else if (BaseJob != Job_Archer && BaseJob != Job_Novice) { - mes "[Archer Guildsman]"; - mes "Hmm..."; - mes "You don't look much like a Novice at all..."; - next; - mes "[Archer Guildsman]"; - mes "Anyway, whatever you are, you can't choose a job as an Archer because you have a job already."; - close; - } - if (job_archer_q == 0) { + if (Class == Job_Baby || Class == Job_Novice) { mes "[Archer Guildsman]"; - mes "Do you want to be an Archer?"; - mes "If so, you need to fill out this application form."; + mes "You are..." + strcharinfo(0) + " right?"; next; - if (select("Apply.:Cancel") == 1) { - set job_archer_q,1; - setquest 1004; + if (getskilllv("NV_BASIC") < 9) { mes "[Archer Guildsman]"; - mes "Okay, sign here. Alright, um, I'll promote you once you meet the requirements."; + mes "Well, you don't have the right skill level. "; + mes "Your job level must be at least ^4d4dff10^000000"; + mes "and your Basic Skill level should reach ^4d4dfflevel 9^000000"; next; mes "[Archer Guildsman]"; - mes "If you think you've met them already, we can check that now."; - mes "Are you ready?"; - next; - if (select("Yes, I am.:No, not yet.") == 1) { - mes "[Archer Guildsman]"; - mes "Alright, let me check."; - next; - } - else { - mes "[Archer Guildsman]"; - mes "I understand. Be my guest if you want to look at the requirements."; - close; - } + mes "Because an Archer needs"; + mes "extremely high concentration,"; + mes "so we do not accept "; + mes "those who have little patience."; + close2; } mes "[Archer Guildsman]"; - mes "Well, alright."; - mes "See you next time."; - close; - } - mes "[Archer Guildsman]"; - mes "Are you..." + strcharinfo(0) + "?"; - next; - if (getskilllv("NV_BASIC") < 9) { + mes "You seem to have learned the basic skills.."; + mes "....Hm~~ you are now ready to become an Archer. I will take the step right away."; + next; + skill 143,0,1; + if(Class == Job_Baby){ + jobchange Job_Baby_Archer; + } else { + jobchange Job_Archer; + } mes "[Archer Guildsman]"; - mes "Well, you're not at the right job level. Please check the requirements again."; + 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!"; + 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 "Your job level must be at least 10, and don't forget you should learn all of the Basic Skills. Once you've done that, come back."; + mes "Having a bow and arrows, now you've become a real Archer."; + mes "If you open the arrow quiver, there will be arrows in it that you can equip."; + mes "Well, I expect to hear good news from you. It's time to say goodbye. Bye."; close; } - if (job_archer_q == 1) { - set .@archer_item1,countitem(1066) * 5; - set .@archer_item2,countitem(1067) * 3; - set .@archer_item3,countitem(1068) * 2; - set .@archer_item4,countitem(1019); - set .@total_archer,.@archer_item1 + .@archer_item2 + .@archer_item3 + .@archer_item4; - set .@total_archer2,(((.@archer_item2 + .@archer_item3) * 2) + .@archer_item4); - mes "[Archer Guildsman]"; - mes "Excellent!"; - mes "Now then,"; - mes "let's see..."; - next; + if (Class == Job_Baby_Archer || Class == Job_Archer || Class == Job_Archer_High) { mes "[Archer Guildsman]"; - mes "I will appraise the value of the various types of Trunks, needed to produce a Bow, that you've brought."; - next; - if (countitem(1066) == 0 && countitem(1067) == 0 && countitem(1068) == 0 && countitem(1019) == 0) { - mes "[Archer Guildsman]"; - mes "Um..."; - mes "Unfortunately you didn't bring any of the required items. There's nothing for me to appraise."; - close; - } - mes "[Archer Guildsman]"; - if (countitem(1066) != 0) mes " Grade S : " + countitem(1066) + " ea, Grade: " + .@archer_item1 + " . "; - if (countitem(1067) != 0) mes " Grade A : " + countitem(1067) + " ea, Grade : " + .@archer_item2 + " . "; - if (countitem(1068) != 0) mes " Grade B : " + countitem(1068) + " ea, Grade : " + .@archer_item3 + " . "; - if (countitem(1019) != 0) mes " Grade C : " + countitem(1019) + " ea, Grade : " + .@archer_item4 + " . "; - if (.@total_archer < 25) { - mes "Total Grades: ^FF0000" + .@total_archer + "^000000 / 40"; - next; - mes "[Archer Guildsman]"; - mes "Less than 25!? You have to get a grade of at least 25! Come on, try harder!"; - close; - } - else { - mes "Total Grades: ^0000FF" + .@total_archer + "^000000 / 40"; - next; - mes "[Archer Guildsman]"; - if (.@total_archer > 40) { - mes "Wow! More than 40!"; - mes "Excellent! Congratulations!"; - } - else if (.@total_archer > 30) { - mes "More than 30! Nice job!"; - mes "Congratulations!"; - } - else { - mes "*Sigh* Well, you just barely passed... Anyway, well done."; - } - } - next; - mes "[Archer Guildsman]"; - mes "I'll transfer these Trunks to our Bow Production Department. Now that you've met the requirements, let me promote you right away!"; - if (countitem(1066) != 0) delitem 1066,countitem(1066); //Tree_Of_Archer_1 - if (countitem(1067) != 0) delitem 1067,countitem(1067); //Tree_Of_Archer_2 - if (countitem(1068) != 0) delitem 1068,countitem(1068); //Tree_Of_Archer_3 - if (countitem(1019) != 0) delitem 1019,countitem(1019); //Wooden_Block + mes "Haha, you are kidding me.."; + close; } - next; - callfunc "Job_Change",Job_Archer; - callfunc "F_ClearJobVar"; - completequest 1004; - mes "[Archer Guildsman]"; - mes "Congratulations!"; - mes "You are now an Archer!"; - next; mes "[Archer Guildsman]"; - mes "Of course, we expect that you will help contribute towards the future of the Archer Guild with your efforts."; - next; - mes "[Archer Guildsman]"; - mes "Ah, your bow has arrived from the Bow Production Department. Here, take it! It's yours~"; - getitem 1702,1; //Bow_ - getitem 1750,.@total_archer2; //Arrow - next; - mes "[Archer Guildsman]"; - mes "Now, off you go. Hunt with pride, knowing you were trained by one of the best!"; + mes "Wait a second. You've chosen a different job already. You don't need to know this~"; close; case 2: mes "[Archer Guildsman]"; - mes "I will explain the requirements for being an Archer."; - if (BaseJob != Job_Novice) { - if (BaseJob == Job_Archer) { - next; - mes "[Archer Guildsman]"; - mes "But..."; - mes "You're already an Archer. You should know these already..."; - } - else { - next; - mes "[Archer Guildsman]"; - mes "Wait a second. You've chosen a different job already. You don't need to know this~"; - } - mes "So...Yeah...no real reason to tell you the requirements..."; - } - next; - mes "[Archer Guildsman]"; - mes "First of all, you have to the Job Level 9 as a Novice, and know all of the Basic Skills."; + 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 "An Archer needs extremely high concentration and reflexes, so we do not accept those who have little patience."; + mes "Although an Archer has weaker HP,"; + mes "he or she can shoot enemies"; + mes "at a long range,"; + mes "so an Archer is safer in a real battle."; next; mes "[Archer Guildsman]"; - mes "You also have to gather ^FF0000Trunks^000000. There are 4 different types of Trunks, each of differing quality. You'll be given different grades for your Trunks, depending on their quality."; + mes "Although an Archer in Ragnarok has lower HP,"; + mes "he or she has high accuracy and attack rate"; + mes "so that the archer can kill monsters"; + mes "before they get close to an Archer."; next; mes "[Archer Guildsman]"; - mes "In order to become an Archer, you must receive a grade of at least ^0000FF25^000000 points out of 40. You can get Trunks from 'Willow,' the tree. Be careful, though. They can be tough monsters."; + mes "^8E2323An Archer can change"; + mes "^8E2323jobs to a Hunter."; + mes "^8E2323Other than Hunter, if you are a man, you can change your job to Bard"; + mes "^8E2323and 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; } -} - +} \ No newline at end of file diff --git a/npc/pre-re/jobs/1-1/mage.txt b/npc/pre-re/jobs/1-1/mage.txt index f44adfe57..47fc79400 100644 --- a/npc/pre-re/jobs/1-1/mage.txt +++ b/npc/pre-re/jobs/1-1/mage.txt @@ -1,32 +1,20 @@ //===== rAthena Script ======================================= -//= Mage Job Quest +//= Renewal Mage Job Change //===== By: ================================================== -//= kobra_k88; L0ne_W0lf +//= Kisuka //===== Current Version: ===================================== -//= 1.9 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job quest for Mage classes +//= Job Change to Mage Class //===== Additional Comments: ================================= -//= Fully working -//= 1.1 Fixed input ingridients bug [Lupus] -//= v1.2 Added instant job change for High Novice [Lupus] -//= 1.3 Added Baby Class support [Lupus] -//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] -//= 1.5 Now saves/restores all quest skills [Lupus] -//= 1.6 Merged back JFunc, CHANGED NUMBERS TO CONSTANTS [Lupus] -//= 1.7 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] -//= No longer uses function "F_ToHigh" -//= 1.7a Fixed a "If" in the quest. (bugreport:489) [Samuray22] -//= 1.8 Added Quest Log commands. [L0ne_W0lf] -//= 1.9 Fixed an issue with completequest by adding checkquest. [Kisuka] +//= 1.0 First Version. [Kisuka] +//= 1.1 Added Baby job change support. [Masao] //============================================================ - geffen_in,164,124,4 script Mage Guildsman 123,{ if (Upper == 1) { - if (ADVJOB == Job_High_Wizard || ADVJOB == Job_Professor) { + if (FJOB == Job_Warlock || FJOB == Job_Sorcerer) { if (Class == Job_Novice_High) { mes "[Mage Guildsman]"; mes "Whoa, long time no see! But weren't you supposed to be dead?"; @@ -52,547 +40,120 @@ geffen_in,164,124,4 script Mage Guildsman 123,{ 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."; + 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; } + 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; } - mes "[Mage Guildsman]"; - mes "Yo. What's up?"; - next; - switch(select("I want to be a Mage.:Tell me the Requirements.:Pretty much nothing.")) { - case 1: + if (Class == Job_Baby_Mage || Class == Job_Mage) { + mes "[Mage Guildsman]"; + mes "Hey, haven't you realized? You're aleady a Mage, silly!"; + next; + mes "[Mage Guildsman]"; + mes "One of these days you'll realize the power inside of you when you can make Fire with your mind!"; + close; + } + if ((Class != Job_Baby_Mage) && (Class != Job_Mage) && (Class != Job_Novice)) { mes "[Mage Guildsman]"; - if (BaseJob == Job_Mage) { - mes "Hey, haven't you realized? You're aleady a Mage, silly!"; + mes "Hey~ C'mon. Quit playing games. You can't be a Mage because you already have another Job."; + close; + } + if (Class == Job_Baby || Class == Job_Novice) { + mes "[Mage Guildsman]"; + mes "Hey?"; + next; + switch (select("I want to be a Mage.:Tell me the Requirements.:Pretty much nothing.")) { + case 1: + mes "[Mage Guildsman]"; + mes "Wanna be a Mage, eh?"; next; mes "[Mage Guildsman]"; - mes "One of these days you'll realize the power inside of you when you can make Fire with your mind!"; - close; - } - if (BaseJob != Job_Novice) { - mes "Hey~ C'mon. Quit playing games. You can't be a Mage because you already have another Job."; - close; - } - if (job_magician_q == 0) { - mes "Wanna be a Mage, eh...?"; - if (sex) + if (Sex == 1) { 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; - mes "[Mage Guildsman]"; - mes "Right, you said that you wanna be a Mage? Alright then, please sign the Mage Application."; - next; - if (select("Sign Up.:Quit.") == 1) { + if (select("I want to be a Mage.:Pretty much nothing.") == 1) { + if (getskilllv("NV_BASIC") < 9) { + mes "[Mage Guildman]"; + mes "Oh, what a bummer. You haven't met the requirements yet."; + next; + mes "[Mage Guildman]"; + mes "Go back and reach Novice Job level 9 first. Don't forget that you also have to learn all of the Basic Skills before you come back."; + close; + } mes "[Mage Guildsman]"; - mes "Okay. Sign right there. Oh, you're very good at spelling. Alright. So your name is... " + strcharinfo(0) + "."; + mes "Okay. Sign right there. Oh, you're very good at spelling."; + mes "So your name is... " + strcharinfo(0) + "."; next; mes "[Mage Guildsman]"; - mes "Now it's time for"; - mes "me to give you the test."; - switch(rand(3)) { - case 1: - mes "Make me a ^3355FFMixed Solution No. 1^000000"; - mes "and bring it back to me."; - set job_magician_q,1; - break; - case 2: - mes "Make me a ^3355FFMixed Solution No. 2^000000"; - mes "and bring it back to me."; - set job_magician_q,2; - break; - case 3: - mes "Make me a ^3355FFMixed Solution No. 3^000000"; - mes "and bring it back to me."; - set job_magician_q,3; - break; - default: - mes "Make me a ^3355FFMixed Solution No. 4^000000"; - mes "and bring it back to me."; - set job_magician_q,4; - } + mes "Hmm I can see that you've worked very hard on your own."; + mes "Good! Always sticking to the basics is the best! I will transform you right away."; + next; + mes "[Mage Guildsman]"; + mes "*Ahem*"; + mes "Congratulations!"; + mes "You are now a Mage!"; next; - getitem 1092,1; //Empty_Cylinder + skill 143,0,1; + if(Class == Job_Baby){ + jobchange Job_Baby_Mage; + } else { + jobchange Job_Mage; + } + getitem 1639,1; //N_Rod + set Zeny, Zeny + 50; mes "[Mage Guildsman]"; - mes "You can find the neccessary ingredients inside the Guide Book in this Guild. So you better look up what you need before you go."; + mes "'Welcome to My World~'"; + mes "Heh heh, I just wanted to say that. You know, it's a quote from a well-known movie~"; next; mes "[Mage Guildsman]"; - mes "Once you collect all the ingredients you, use the machine in the center of the room to mix the solution. Good luck!"; + mes "Now that you're a Mage just like us, let's be friends, okay?"; close; } 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 "Yeah? Ready...?"; - if (getskilllv("NV_BASIC") < 9) { - mes "Oh, what a bummer. You haven't met the requirements yet."; - next; + case 2: mes "[Mage Guildsman]"; - mes "Go back and reach Novice Job level 9 first. Don't forget that you also have to learn all of the Basic Skills before you come back."; - close; - } - mes "" + strcharinfo(0) + "'s test was..."; - if (job_magician_q == 1) - mes "Making Mixed Solution No. 1."; - else if (job_magician_q == 2) - mes "Making Mixed Solution No. 2."; - else if (job_magician_q == 3) - mes "Making Mixed Solution No. 3."; - else - mes "Making Mixed Solution No. 4."; - next; - mes "[Mage Guildsman]"; - mes "Okay, let me"; - mes "check if you made your"; - mes "solution accurately..."; - next; - mes "[Mage Guildsman]"; - if (countitem(1071) == 0 && countitem(1085) == 0 && countitem(1086) == 0 && countitem(1087) == 0 && countitem(1090) == 0) { - mes "Hey, where's the Solution"; - mes "I asked for...? I can't check it if you don't show it to me, right?"; - close; - } - else { - if ((job_magician_q == 1 && countitem(1071) == 0) || (job_magician_q == 2 && countitem(1085) == 0) || (job_magician_q == 3 && countitem(1086) == 0) || (job_magician_q == 4 && countitem(1087) == 0)) { - mes "Wait."; - mes "This isn't the"; - mes "Solution I asked for!"; - next; - mes "[Mage Guildsman]"; - if (job_magician_q == 1) - mes "You're supposed to make Mixed Solution No. 1 and bring it back to me. Now go and try it again."; - else if (job_magician_q == 2) - mes "You're supposed to make Mixed Solution No. 2 and bring it back to me. Now go and try it again."; - else if (job_magician_q == 3) - mes "You're supposed to make Mixed Solution No. 3 and bring it back to me. Now go and try it again."; - else - mes "You're supposed to make Mixed Solution No. 4 and bring it back to me. Now go and try it again."; - - if (countitem(1071) != 0) delitem 1071,1; //Mage_Test_1 - else if (countitem(1085) != 0) delitem 1085,1; //Mage_Test_2 - else if (countitem(1086) != 0) delitem 1086,1; //Mage_Test_3 - else if (countitem(1087) != 0) delitem 1087,1; //Mage_Test_4 - else delitem 1090,1; //Mage_Test_Etc - close; + mes "Wanna be a Mage, eh?"; + if (Sex == 1) { + mes "For a cutie like you, I'd be happy to explain the requirements!"; } - } - if (countitem(1071) != 0) delitem 1071,1; //Mage_Test_1 - else if (countitem(1085) != 0) delitem 1085,1; //Mage_Test_2 - else if (countitem(1086) != 0) delitem 1086,1; //Mage_Test_3 - else if (countitem(1087) != 0) delitem 1087,1; //Mage_Test_4 - else delitem 1090,1; //Mage_Test_Etc - mes "Hmm. I can see that you tried really hard. For a beginner's attempt, this is really good."; - mes "Great work!"; - next; - mes "[Mage Guildsman]"; - mes "Alright! I'm pleased to say that you've passed the Mage Test. I will transform you right away!"; - next; - mes "[Mage Guildsman]"; - mes "*Ahem*"; - mes "Congratulations!"; - mes "You are now a Mage!"; - next; - callfunc "Job_Change",Job_Mage; - callfunc "F_ClearJobVar"; - set Zeny,Zeny+50; - if(checkquest(1005) != -1) { - completequest 1005; - } - else if(checkquest(1006) != -1) { - completequest 1006; - } - else if(checkquest(1007) != -1) { - completequest 1007; - } - else { - completequest 1008; - } - mes "[Mage Guildsman]"; - mes "'Welcome to My World~'"; - mes "Heh heh, I just wanted to say that. You know, it's a quote from a well-known movie~"; - next; - mes "[Mage Guildsman]"; - mes "Now that you're a Mage just like us, let's be friends, okay?"; - close; - case 2: - mes "[Mage Guildsman]"; - mes "Wanna be a Mage, eh?"; - if (sex) - mes "For a cutie like you, I'd be happy to explain the requirements!"; - else - 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. Then, you'll have to pass the Mage Test."; - next; - if (job_magician_q != 0) { - mes "[Mage Guildsman]"; - mes "Your test is to"; - switch(job_magician_q) { - case 1: - mes "make me a"; - mes "^3355FFMixed Solution No. 1^000000"; - mes "and bring it back to me."; - setquest 1005; - break; - case 2: - mes "make me a"; - mes "^3355FFMixed Solution No. 2^000000"; - mes "and bring it back to me."; - setquest 1006; - break; - case 3: - mes "make me a"; - mes "^3355FFMixed Solution No. 3^000000"; - mes "and bring it back to me."; - setquest 1007; - break; - default: - mes "make me a"; - mes "^3355FFMixed Solution No. 4^000000"; - mes "and bring it back to me."; - setquest 1008; + else { + mes "I'd be happy to explain the requirements for a pretty girl like you!"; } next; mes "[Mage Guildsman]"; - mes "You can look up the ingredients you'll need to make the Solution inside the Guide Book in this Guild."; - } - else { + 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 mixing test. Because of that hard test, we slowly started to lose aplicants."; + mes "So, we decided to accept all aplicants who have the basic requirements."; + next; + mes "[Mage Guildsman]"; + mes "Let me know when you are ready to become a Mage, alright?"; + close; + case 3: mes "[Mage Guildsman]"; - mes "You will be informed as to which Mixed Solution you will need to create after signing the application form."; + mes "Nothing...?"; + close; } - next; - mes "[Mage Guildsman]"; - mes "Let me know when you are ready to become a Mage, alright?"; - close; - case 3: - mes "[Mage Guildsman]"; - mes "Nothing...?"; - close; } } -geffen_in,164,112,4 script Mixing Machine 111,{ - mes "[Mixing Machine]"; - mes "This machine is the property of the Geffen Mage Guild and is used only for mixing solutions for magic purposes."; - next; - if (select("Use Machine.:Cancel.") == 1) { - mes "[Mixing Machine]"; - mes "Choose the"; - mes "Solvent for"; - mes "the Solution."; - next; - switch(select("Payon Solution.:Morroc Solution.:No Solvent.")) { - case 1: - if (countitem(1089) == 0) { - mes "[Mixing Machine]"; - mes "Error."; - mes "Cannot find the item."; - mes "Please check again."; - mes "Process Halting."; - close; - } - set .@mixitem2,1; - break; - case 2: - if (countitem(1088) == 0) { - mes "[Mixing Machine]"; - mes "Error."; - mes "Cannot find the item."; - mes "Please check again."; - mes "Process Halting."; - close; - } - set .@mixitem2,2; - break; - case 3: - set .@mixitem2,0; - break; - } - while (1) { - if (.@progress == 2) { - mes "[Mixing Machine]"; - if (.@mixitem1_1 != 0) mes "Jellopy: " + .@mixitem1_1 + " ea."; - if (.@mixitem1_2 != 0) mes "Fluff: " + .@mixitem1_2 + " ea."; - if (.@mixitem1_3 != 0) mes "Milk: " + .@mixitem1_3 + " ea."; - if (.@mixitem2 == 0) mes "Solvent: None."; - if (.@mixitem2 == 1) mes "Solvent: Payon Solution."; - if (.@mixitem2 == 2) mes "Solvent: Morroc Solution."; - next; - mes "[Mixing Machine]"; - mes "Please choose if you wish to begin mixing, or to re-enter the number of items to be mixed."; - next; - switch(select("Begin Mixing.:Re-Enter Number of Items.:Reset.")) { - case 1: - mes "[Mixing Machine]"; - mes "Please place the items into the Mixing Receptacle. Make sure the item amounts are correct."; - next; - mes "[Mixing Machine]"; - mes "You cannot adjust or restore items once they are placed into the Mixing Receptacle."; - next; - mes "[Mixing Machine]"; - mes "If everything is correct, press the 'Mix' button when you are ready. Otherwise, press the 'Cancel' button."; - next; - if (select("Press 'Mix' Button.:Press 'Cancel' Button.") == 1) { - mes "[Mixing Machine]"; - mes "Place items into the Mixing Receptacle now. Please wait."; - next; - mes "[Mixing Machine]"; - if (countitem(909) < .@mixitem1_1) { - mes "Insufficient Jellopy."; - mes "Please Check again."; - mes "Process Halted."; - close; - } - else if (countitem(914) < .@mixitem1_2) { - mes "Insufficient Fluff."; - mes "Please Check again."; - mes "Process Halted."; - close; - } - else if (countitem(519) < .@mixitem1_3) { - mes "Insufficient Milk."; - mes "Please Check again."; - mes "Process Halted."; - close; - } - else if (.@mixitem2 == 1 || .@mixitem2 == 2) { - if (countitem(1089) == 0 && countitem(1088) == 0) { - mes "Solution not found."; - mes "Please Check again."; - mes "Process Halted."; - close; - } - } - if (.@mixitem1_1 != 0) delitem 909,.@mixitem1_1; //Jellopy - if (.@mixitem1_2 != 0) delitem 914,.@mixitem1_2; //Fluff - if (.@mixitem1_3 != 0) delitem 519,.@mixitem1_3; //Milk - if (.@mixitem2 == 1) delitem 1089,1; //Payon_Potion - if (.@mixitem2 == 2) delitem 1088,1; //Morocc_Potion - mes "Items are Ready."; - mes "Close the Lid."; - set .@progress,3; - next; - } - break; - case 2: - set .@continue,0; - next; - break; - case 3: - set .@mixitem1_1,0; - set .@mixitem1_2,0; - set .@mixitem1_3,0; - set .@progress,0; - set .@continue,0; - mes "[Mixing Machine]"; - mes "Reset Complete."; - mes "Initiate again?"; - next; - if (select("Yes.:No.") == 1) - break; - mes "[Mixing Machine]"; - mes "Process Halted."; - mes "Thank you."; - close; - } - if (.@progress == 3) break; - } - else if (.@progress == 1) { - mes "[Mixing Machine]"; - mes "Nothing found."; - next; - } - mes "[Mixing Machine]"; - mes "Select items to mix."; - while(1) { - switch(select("Jellopy.:Fluff.:Milk.:Ready to Mix.")) { - case 1: - while(1) { - input .@input; - if (.@input > 10000) { - next; - mes "[Mixing Machine]"; - mes "Error: Item limit exceeded. Please enter values less than 10,000 try again."; - next; - } - else { - if (countitem(909) > 0) set .@mixitem1_1,.@mixitem1_1 + .@input; - set .@progress,2; - break; - } - } - break; - case 2: - while(1) { - input .@input; - if (.@input > 10000) { - next; - mes "[Mixing Machine]"; - mes "Error: Item limit exceeded. Please enter values less than 10,000 try again."; - next; - } - else { - if (countitem(914) > 0) set .@mixitem1_2,.@mixitem1_2 + .@input; - set .@progress,2; - break; - } - } - break; - case 3: - while(1) { - input .@input; - if (.@input > 10000) { - next; - mes "[Mixing Machine]"; - mes "Error: Item limit exceeded. Please enter values less than 10,000 try again."; - next; - } - else { - if (countitem(519) > 0) set .@mixitem1_3,.@mixitem1_3 + .@input; - set .@progress,2; - break; - } - } - break; - - case 4: - if (.@progress != 2) - set .@progress,1; - set .@continue,1; - next; - } - if (.@continue) break; - } - } - mes "[Mixing Machine]"; - mes "Please enter the "; - mes "Serial Number of"; - mes "the Magic Powder."; - next; - while(1) { - input .@input; - if (.@input < 1000 || .@input > 9999) { - mes "[Mixing Machine]"; - if (.@input == 0) { - mes "Do you want to skip this Menu?"; - next; - if (select("Yes.:No.") == 1) { - break; - } - } - else { - mes "Invalid Serial Number."; - mes "Please try again."; - next; - } - } - else { - mes "[Mixing Machine]"; - mes "The Serial Number is #" + .@input + ", correct?"; - next; - if (select("Confirm.:Cancel.") == 1) { - if (.@input == 8472) - set .@magic_powder,1; - else if (.@input == 3735) - set .@magic_powder,2; - else if (.@input == 2750) - set .@magic_powder,3; - else if (.@input == 5429) - set .@magic_powder,4; - else - set .@magic_powder,5; - } - break; - } - } - mes "[Mixing Machine]"; - mes "Choose a"; - mes "Catalyst Stone."; - next; - switch(select("Yellow Gemstone.:Red Gemstone.:Blue Gemstone.:1carat Diamond.:Skip.")) { - case 1: set .@mixitem3,1; break; - case 2: set .@mixitem3,2; break; - case 3: set .@mixitem3,3; break; - case 4: set .@mixitem3,4; break; - case 5: break; - } - mes "[Mixing Machine]"; - mes "All Set."; - mes "Initiating"; - mes "Mixing process."; - mes "Please Wait."; - next; - mes "[Mixing Machine]"; - mes "- Proverb of the Day -"; - switch(rand(1,5)) { - case 1: - mes "An Eye for an Eye: When you take from a person, you must replace or repay in some way."; - break; - case 2: - mes "Credibility is a Man's Currency: There's a value in genuine trust that cannot be measured."; - break; - case 3: - mes "What Goes Around Comes Around: Ultimately, you will be treated in the way you treat others."; - mes "It means 'When you harm Another you will be harmed by him in an unavoidable situation'."; - break; - case 4: - mes "A good neighbor is better than a distant brother: When you need help, you can count on those close to you."; - break; - default: - mes "Birds of a Feather Flock Together: You can look at a person's friends as an indicator of their character."; - } - next; - if (.@mixitem1_1 == 2 && .@mixitem1_2 == 3 && .@mixitem1_3 == 1 && .@mixitem2 == 1 && .@mixitem3 == 1 && .@magic_powder == 1) { - mes "[Mixing Machine]"; - mes "Mage Test Solution No. 1."; - getitem 1071,1; //Mage_Test_1 - next; - } - else if (.@mixitem1_1 == 3 && .@mixitem1_2 == 1 && .@mixitem1_3 == 1 && .@mixitem2 == 0 && .@mixitem3 == 2 && .@magic_powder == 2) { - mes "[Mixing Machine]"; - mes "Mage Test Solution No. 2."; - getitem 1085,1; //Mage_Test_2 - next; - } - else if (.@mixitem1_1 == 6 && .@mixitem1_2 == 1 && .@mixitem1_3 == 0 && .@mixitem2 == 1 && .@mixitem3 == 3 && .@magic_powder == 3) { - mes "[Mixing Machine]"; - mes "Mage Test Solution No. 3."; - getitem 1086,1; //Mage_Test_3 - next; - } - else if (.@mixitem1_1 == 2 && .@mixitem1_2 == 3 && .@mixitem1_3 == 0 && .@mixitem2 == 2 && .@mixitem3 == 4 && .@magic_powder == 4) { - mes "[Mixing Machine]"; - mes "Mage Test Solution No. 4."; - getitem 1087,1; //Mage_Test_4 - next; - } - else { - mes "[Mixing Machine]"; - mes "Unexpected"; - mes "Error Occurred."; - getitem 1090,1; //Mage_Test_Etc - next; - } - mes "[Mixing Machine]"; - mes "Mixing Complete."; - mes "Thank you."; - close; - } +geffen_in,164,112,4 script Mixing machine 111,{ + mes "- Out of Order !! -"; close; } @@ -611,8 +172,9 @@ pay_arche,122,100,0 script Dollshoi 88,{ close; } delitem 1092,1; //Empty_Cylinder - set zeny,zeny-50; + set Zeny, Zeny - 50; getitem 1089,1; //Payon_Potion + close; } close; } @@ -622,8 +184,9 @@ moc_ruins,91,150,0 script Ponka-Hontas 93,{ mes "Would you like a Solution? Then please give me 50 Zeny and at least 1 Empty Testtube."; next; if (select("Alright, Deal.:Nah, forget it.") == 1) { + case 1: mes "[Mage Guildsman]"; - if (zeny < 50) { + if (Zeny < 50) { mes "I'm sorry, but you don't have enough money to cover the 50 Zeny fee."; close; } @@ -632,8 +195,9 @@ moc_ruins,91,150,0 script Ponka-Hontas 93,{ close; } delitem 1092,1; //Empty_Cylinder - set zeny,zeny-50; + set Zeny, Zeny - 50; getitem 1088,1; //Morocc_Potion + close; } close; } @@ -642,7 +206,7 @@ geffen_in,177,112,4 script Bookshelf 111,{ mes "[Guide Book]"; mes "This Guide Book is the property of the Geffen Mage Association. Please handle with care."; next; - switch(select("Solution No. 1.:Solution No. 2.:Solution No. 3.:Solution No. 4.:Close.")) { + switch (select("Solution No. 1.:Solution No. 2.:Solution No. 3.:Solution No. 4.:Close.")) { case 1: mes "[Mage Test Solution No. 1]"; mes "* Ingredients List *"; @@ -732,5 +296,4 @@ geffen_in,177,112,4 script Bookshelf 111,{ mes "Mixing Machine)"; close; } - close; -} +} \ No newline at end of file diff --git a/npc/pre-re/jobs/1-1/merchant.txt b/npc/pre-re/jobs/1-1/merchant.txt index e5fd17c84..5b0b3557c 100644 --- a/npc/pre-re/jobs/1-1/merchant.txt +++ b/npc/pre-re/jobs/1-1/merchant.txt @@ -1,38 +1,20 @@ //===== rAthena Script ======================================= -//= Merchant Job Quest +//= Renewal Merchant Job Change //===== By: ================================================== -//= kobra_k88; L0ne_W0lf +//= Kisuka //===== Current Version: ===================================== -//= 2.3 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job quest for Merchant classes +//= Job Change to Merchant Class //===== Additional Comments: ================================= -//= Fully working -//= v1.1 Added instant job change for High Novice [Lupus] -//= v1.3 Added Baby Class support [Lupus] -//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] -//= 1.5 Changed Prontera->Izlude teleport price to 600 [Lupus] -//= 1.5.1 Removed Duplicates [Silent] -//= 1.5.2 Now saves/restores all quest skills [Lupus] -//= 1.6 Merged back JFunc, CHANGED NUMBERS TO CONSTANTS [Lupus] -//= 1.7 Updated to use Free Ticket for Kafra [Lupus] -//= 1.8 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] -//= No longer uses function "F_ToHigh" -//= 1.9 Bugfixes, thanks to Barron-Monster. [L0ne_W0lf] -//= 1.9a Added a missing next; (Barron-Monster) [L0ne_W0lf] -//= 1.9b Typo. "nextl" -> "next;" (Barron-Monster) [L0ne_W0lf] -//= 2.0 Should "fix" the problem with the Biliban Kafra. [L0ne_W0lf] -//= 2.1 Fixed mistake in condition check. [L0ne_W0lf] -//= 2.2 Added Quest Log commands. [L0ne_W0lf] -//= 2.3 Fixed an issue with completequest by adding checkquest. [Kisuka] +//= 1.0 First Version. [Kisuka] +//= 1.1 Added Baby job change support. [Masao] //============================================================ - alberta_in,53,43,6 script Merchant#mer 86,{ if (Upper == 1) { - if (Class == Job_Novice_High && (ADVJOB == Job_Whitesmith || ADVJOB == Job_Creator)) { + if ((Class == Job_Novice_High) && (FJOB == Job_Mechanic || FJOB == Job_Genetic)) { mes "[Chief Mahnsoo]"; mes "Long time no see!"; mes "Hey, you didn't quit"; @@ -55,7 +37,7 @@ alberta_in,53,43,6 script Merchant#mer 86,{ 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; + skill 143,0,1; jobchange Job_Merchant_High; skill 153,1,0; skill 154,1,0; @@ -64,1109 +46,169 @@ alberta_in,53,43,6 script Merchant#mer 86,{ 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; - } - } - if (BaseJob == Job_Merchant) { - mes "[Chief Mahnsoo]"; - mes "Hello there!"; - mes "How do you like"; - mes "being a Merchant?"; - next; - mes "[Chief Mahnsoo]"; - mes "Having a way with"; - mes "money certainly"; - mes "has its perks,"; - mes "does it not?"; - close; - } - else if (BaseJob != Job_Merchant && BaseJob != Job_Novice) { mes "[Chief Mahnsoo]"; - mes "We Merchants hate people who are two faced. It's bad for business."; - next; - mes "[Chief Mahnsoo]"; - mes "People who always try to take advantage of other people by selling things at a ridiculous price just so they can make money that they'll waste are the worst."; - next; - mes "[Chief Mahnsoo]"; - mes "Well, in any case, we only accept Novices for job changes to the Merchant class. But I appreciate your interest in what we do."; + mes "^333333*Sigh*^000000"; + mes "I'm so bored..."; + mes "When will I hear from my lovely Blossom?"; close; } - else if (job_merchant_q == 9) { - mes "[Chief Mahnsoo]"; - mes "Hello there,"; - mes ""+ strcharinfo(0) +"."; - set job_merchant_q,0; - set job_merchant_q2,0; - set quest_alb_01,0; - mes "Unfortunately, you failed to earn your Merchant License this time."; - next; - mes "[Chief Mahnsoo]"; - mes "I'll erase your records, so come back anytime when you want to reapply."; - close; - } - else if (job_merchant_q == 8 || job_merchant_q == 7) { - mes "[Chief Mahnsoo]"; - mes "Hello there,"; - mes ""+ strcharinfo(0) +"."; - mes "I'm pleased to tell you"; - mes "that I have good news!"; - next; - mes "[Chief Mahnsoo]"; - mes "The Merchant Guild accepted your application. You've proven that you are fully qualified to become a Merchant."; - if (job_merchant_q == 7) { + mes "[Chief Mahnsoo]"; + mes "So, what brings you to"; + mes "the Merchant Association?"; + mes "Is there anything"; + mes "I can help you with?"; + next; + switch (select("I want to be a Merchant.:Tell me about Merchants.:Tell me the requirements.:Nope.")) { + case 1: + if (Class == Job_Baby || Class == Job_Novice) { + mes "[Guildsman Mahnsoo]"; + mes "Want to be a merchant? Hmm..."; next; - mes "[Chief Mahnsoo]"; - mes "The only thing to take care of is your Membership Fee."; - mes "Are you ready?"; + 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?"; + close2; + } + 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; - switch(select("Pay the rest of the 500 Zeny:Quit")) { - case 1: - mes "[Chief Mahnsoo]"; - if (Zeny < 500) { - mes "Hmmm..."; - mes "I suppose you currently don't have enough zeny to pay the rest of your Membership fee right now."; - next; - mes "[Chief Mahnsoo]"; - mes "Please return when you have earned the 500 zeny that you need to become a Merchant."; - close; - } - set zeny,zeny-500; - mes "Ah yes...!"; - mes "Now your"; - mes "membership"; - mes "is paid in full."; - break; - case 2: - mes "[Chief Mahnsoo]"; - mes "I suppose you need some time to gather some zeny to pay your membership fee. Please come"; - mes "back as soon as you're ready."; - close; + mes "[Guildsman Mahnsoo]"; + mes "Congratulations on becoming a merchant!"; + next; + skill 143,0,1; + if(Class == Job_Baby){ + jobchange Job_Baby_Merchant; + } else { + jobchange Job_Merchant; } + set MERCNT_Q,0; + set MERCNT_Q2,0; + getitem 1381,1; //N_Battle_Axe + mes "[Guildsman Mahnsoo]"; + mes "Congratulations again for being a member of the merchant guild and one of our colleagues. I expect your active participation from now on!"; + 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; } - next; - mes "[Chief Mahnsoo]"; - mes "Congratulations!"; - callfunc "Job_Change",Job_Merchant; - callfunc "F_ClearJobVar"; - if(checkquest(1009) != -1) { - completequest 1009; - } - else if(checkquest(1010) != -1) { - completequest 1010; - } - else if(checkquest(1011) != -1) { - completequest 1011; - } - else { - completequest 1012; - } - mes "I'm very pleased that you are joining the Merchant Guild and hope that you will play an active part in Rune-Midgarts' economy."; - next; - if (quest_alb_01 == 1) { + if (Class == Job_Baby_Merchant || Class == Job_Merchant || Class == Job_Merchant_High) { mes "[Chief Mahnsoo]"; - mes "*Ahem* Aaaaand let me give you a little bit of money for delivering that message to Blossom for me."; - mes "I hope you'll help me again next time~"; - set zeny,zeny+200; - set quest_alb_01,2; - } - else { + mes "Hello there!"; + mes "How do you like"; + mes "being a Merchant?"; + next; mes "[Chief Mahnsoo]"; - mes "The message you were supposed to deliver as per my request? You've forgotten about that? Oh well. Good work!"; + mes "Having a way with"; + mes "money certainly"; + mes "has its perks,"; + mes "does it not?"; + close; } + mes "[Chief Mahnsoo]"; + mes "We Merchants hate people who are two faced. It's bad for business."; next; mes "[Chief Mahnsoo]"; - mes "Our goal is to control 20 % of the world's income! We're going to need young, eager people like you!"; + mes "People who always try to take advantage of other people by selling things at a ridiculous price just so they can make money that they'll waste are the worst."; next; mes "[Chief Mahnsoo]"; - mes "But overall, we'll also be happy just to make loads of money."; - mes "But we all know that~"; + mes "Well, in any case, we only accept Novices for job changes to the Merchant class. But I appreciate your interest in what we do."; close; - } - else if (job_merchant_q <= 6 && job_merchant_q != 0) { + case 2: mes "[Chief Mahnsoo]"; - if (job_merchant_q2 == 1 || job_merchant_q2 == 2) { - mes "First, get the delivery package from the storehouse, and then take it to the former Swordman's Association in Prontera."; - next; - mes "[Chief Mahnsoo]"; - mes "When you get there, give the package to the Kafra Employee stationed near there. Her name is Blossom. Did you get all that?"; - next; - if (job_merchant_q2 == 1) { - mes "[Chief Mahnsoo]"; - mes "Remember, the Serial Number of the package is ^3355FF2485741^000000."; - setquest 1009; - } - else { - mes "[Chief Mahnsoo]"; - mes "Remember, the Serial Number of the package is ^3355FF2328137^000000."; - setquest 1009; - } - } - else if (job_merchant_q2 == 3 || job_merchant_q2 == 4) { - mes "First, get the delivery package from the storehouse, and then take it to the Mage Guild in Geffen."; - next; - if (job_merchant_q2 == 3) { - mes "[Chief Mahnsoo]"; - mes "When you get there, give the package to the Mage Guildsman in charge. Remember, the packages Serial Number is ^3355FF2989396^000000."; - setquest 1010; - } - else { - mes "[Chief Mahnsoo]"; - mes "When you get there, give the package to the Mage Guildsman in charge. Remember, the packages Serial Number is ^3355FF2191737^000000."; - setquest 1010; - } - } - else if (job_merchant_q2 == 5 || job_merchant_q2 == 6) { - mes "First, get the delivery package from the storehouse, and then take it to Morroc."; - next; - mes "[Chief Mahnsoo]"; - mes "You'll have to find Java Dullihan, the Dyemaker, so that you can deliver the product he ordered."; - next; - if (job_merchant_q2 == 5) { - mes "[Chief Mahnsoo]"; - mes "But he's a little forgetful, so give it to one of his students. Remember, the package's Serial Number is ^3355FF3012685^000000."; - setquest 1011; - } - else { - mes "[Chief Mahnsoo]"; - mes "But he's a little forgetful, give it to one of his students. Remember, the package's Serial Number is ^3355FF3487372^000000."; - setquest 1011; - } - } - else if (job_merchant_q2 == 7 || job_merchant_q2 == 8) { - mes "First, get the package from the storehouse, and then give it to the Kafra Employee stationed on Byalan Island. Her name is Blossom."; - next; - if (job_merchant_q2 == 7) { - mes "[Chief Mahnsoo]"; - mes "Remember, the package's Serial Number is ^3355FF3318702^000000."; - setquest 1012; - } - else { - mes "[Chief Mahnsoo]"; - mes "Remember, the package's Serial Number is ^3355FF3543625^000000."; - setquest 1012; - } - } - if (job_merchant_q2 == 7 || job_merchant_q2 == 8) { - next; - mes "[Chief Mahnsoo]"; - mes "Aaaannnnd..."; - mes "Don't forget to deliver that message for me~"; - } + mes "Merchant?"; + mes "Well, we basically sell goods to make money. That is the way"; + mes "of the Merchant."; next; mes "[Chief Mahnsoo]"; - mes "Don't forget your destination and the package's Serial Number."; - mes "You'll need to tell them"; - mes "to the storekeeper."; + mes "I guess we may not be the best at fighting, and we don't have many special attacks. We've got no healing skills..."; next; mes "[Chief Mahnsoo]"; - mes "The storehouse is in the room"; - mes "to my right. There, you can talk"; - mes "to the storekeeper, and he'll"; - mes "help you out."; + mes "But we can buy goods at lower prices from NPC shops and sell them at a higher price to other people~"; next; mes "[Chief Mahnsoo]"; - mes "After you make the delivery, return to the storehouse and give the receipt to the storekeeper."; - mes "Then, come back"; - mes "and see me."; + mes "Our ultimate attack skill is 'Mammonite.' The strength of Mammonite comes from the anger"; + mes "when we're forced to throw away perfectly good zeny."; next; mes "[Chief Mahnsoo]"; - mes "Is that clear?"; - mes "Alright, that's"; - mes "the spirit."; - mes "Take care!"; - close; - } - else if (job_merchant_q == 0) { + mes "Throwing away zeny like that"; + mes "causes a deadly rage to well up in the heart of any Merchant!"; + mes "Just thinking about it"; + mes "makes my blood boil!"; + next; mes "[Chief Mahnsoo]"; - mes "So, what brings you to"; - mes "the Merchant Association?"; - mes "Is there anything"; - mes "I can help you with?"; + mes "Anyway, we can use most"; + mes "weapons except Bows, Rods, and Two-Handed Swords. But we can always sell those."; next; - switch(select("I want to be a Merchant.:Tell me about Merchants.:Tell me the requirements.:Nope.")) { - case 1: - mes "[Chief Mahnsoo]"; - mes "Do you want to"; - mes "be a Merchant?"; - mes "Well..."; - next; - if (getskilllv("NV_BASIC") < 9) { - mes "[Chief Mahnsoo]"; - mes "First, you have to be a Novice with Job Level 10. Once you do that, make sure you learn all of the Basic Skills."; - next; - mes "[Chief Mahnsoo]"; - mes "We're not just"; - mes "simple money makers!"; - mes "We pride ourselves on having standards and only accepting qualified applicants!"; - close; - } - mes "[Chief Mahnsoo]"; - mes "Alright, you'll need to fill out this application and prepare 1,000 Zeny for your Membership Fee."; - next; - mes "[Chief Mahnsoo]"; - mes "Oh...!"; - mes "If you don't have all the money,"; - mes "I can just take 500 Zeny now."; - mes "You can pay the rest after you"; - mes "pass the test and earn your"; - mes "Merchant Guild License."; - next; - mes "[Chief Mahnsoo]"; - mes "So what do you think?"; - mes "Are you ready to join now?"; - next; - if (select("Yes, I will.:Ummm, maybe later...") ==1 ) { - mes "[Chief Mahnsoo]"; - mes "Let me check if you"; - mes "filled out everything"; - mes "on your application form..."; - next; - mes "[Chief Mahnsoo]"; - mes "Hmm... "; - mes "" + strcharinfo(0) + "..."; - mes "That's a nice name."; - next; - mes "[Chief Mahnsoo]"; - mes "This application will"; - mes "only be registered once"; - mes "the Membership Fee is paid."; - mes "How do you wish to"; - mes "handle the fee?"; - next; - switch(select("Pay all 1,000 Zeny now!:Two payments of 500 Zeny.:Quit")) { - case 1: - mes "[Chief Mahnsoo]"; - if (Zeny >= 1000) { - set job_merchant_q,2; - set zeny,zeny-1000; - mes "Alright~"; - mes "That's 1,000 zeny."; - mes "Excellent, excellent."; - } - else { - mes "It seems don't have enough zeny to pay all of the fee right now. Why don't you just pay 500 zeny now? Think about it."; - close; - } - break; - case 2: - mes "[Chief Mahnsoo]"; - if (Zeny >= 500) { - set job_merchant_q,1; - set zeny,zeny-500; - mes "Let's see..."; - mes "That's 500 Zeny. Although I don't think splitting payment is a good idea for any Merchant, it's alright since you're still learning."; - } - else { - mes "Hmm..."; - mes "It seems you don't have the funds to pay half of the membership fee. Please come back once you collect the zeny that you need."; - close; - } - break; - case 3: - mes "[Chief Mahnsoo]"; - mes "Feel free to return anytime"; - mes "when you are ready, alright?"; - close; - } - } - else { - mes "[Chief Mahnsoo]"; - mes "You don't have enough zeny now? That's no problem. Take your time and come back when you're"; - mes "ready, okay?"; - close; - } - next; - mes "[Chief Mahnsoo]"; - mes "Alright, you're now on the list of applicants. Ah, before I get started let me say just one thing."; - next; - mes "[Chief Mahnsoo]"; - mes "There are some dumb and greedy people out there who do not know what it means to be a Merchant."; - mes "I hope you won't turn out to be like them, will you?"; - next; - mes "[Chief Mahnsoo]"; - mes "Now, let me"; - mes "explain what you"; - mes "need to do for the"; - mes "Merchant License Test."; - next; - mes "[Chief Mahnsoo]"; - switch(rand(1,4)) { - case 1: - mes "First, get the delivery package from the storehouse, then go to the former Swordman's Association in Prontera."; - next; - mes "[Chief Mahnsoo]"; - mes "When you get there, visit the Kafra Employee stationed there. Her name is Blossom. Did you get"; - mes "all of that?"; - callsub S_GiveSerial,2485741,1,2328137,2; - break; - case 2: - mes "First, get the delivery package from the storehouse, and then go to the Mage Guild in Geffen. When you get there, visit the Mage Guildsman in charge."; - callsub S_GiveSerial,2989396,3,2191737,4; - break; - case 3: - mes "First, get the delivery package from the storehouse, and then go to Morroc. There you must find Java Dullihan, the dyemaker."; - next; - mes "[Chief Mahnsoo]"; - mes "He's a bit forgetful, so you should probably give the package to one of his students."; - callsub S_GiveSerial,3012685,5,3487372,6; - break; - case 4: - mes "First, get the delivery package from the storehouse, and then give it to the Kafra Employee stationed on Byalan Island."; - callsub S_GiveSerial,3318702,7,3543625,8; - next; - mes "[Chief Mahnsoo]"; - mes "Ummmm..."; - mes "And I also have"; - mes "a bit of a personal"; - mes "request for you."; - next; - mes "[Chief Mahnsoo]"; - mes "Would you please give her this message when you deliver the package? Please~"; - getitem 1072,1; //Delivery_Message - break; - } - next; - mes "[Chief Mahnsoo]"; - mes "Don't forget your destination and the package's Serial Number. You will need to tell those to the storekeeper in the storehouse to the right of me."; - next; - mes "[Chief Mahnsoo]"; - mes "After the delivery, give the receipt to the storekeeper, and then come back and see me."; - next; - mes "[Chief Mahnsoo]"; - mes "Is that clear?"; - mes "Alright, that's"; - mes "the spirit."; - mes "Take care!"; - close; - case 2: - mes "[Chief Mahnsoo]"; - mes "Merchant?"; - mes "Well, we basically sell goods to make money. That is the way"; - mes "of the Merchant."; - next; - mes "[Chief Mahnsoo]"; - mes "I guess we may not be the best at fighting, and we don't have many special attacks. We've got no healing skills..."; - next; - mes "[Chief Mahnsoo]"; - mes "But we can buy goods at lower prices from NPC shops and sell them at a higher price to other people~"; - next; - mes "[Chief Mahnsoo]"; - mes "Our ultimate attack skill is 'Mammonite.' The strength of Mammonite comes from the anger"; - mes "when we're forced to throw away perfectly good zeny."; - next; - mes "[Chief Mahnsoo]"; - mes "Throwing away zeny like that"; - mes "causes a deadly rage to well up in the heart of any Merchant!"; - mes "Just thinking about it"; - mes "makes my blood boil!"; - next; - mes "[Chief Mahnsoo]"; - mes "Anyway, we can use most"; - mes "weapons except Bows, Rods, and Two-Handed Swords. But we can always sell those."; - next; - mes "[Chief Mahnsoo]"; - mes "Yes..."; - mes "We Merchants generally"; - mes "have money on our minds..."; - close; - case 3: - mes "[Chief Mahnsoo]"; - mes "There are three conditions that must be fulfilled before you can become a Merchant."; - next; - mes "[Chief Mahnsoo]"; - mes "First, You have to be a Novice with Job Level 10, and have learned all of the Basic Skills."; - next; - mes "[Chief Mahnsoo]"; - mes "Second, You have to pay a 1,000 Zeny Membership Fee. I believe any Merchant candidate should be able to earn 1,000 Zeny with ease."; - next; - mes "[Chief Mahnsoo]"; - mes "Third, there is a License Test to test your physical strength and sense of direction. You will deliver a package to a specific person in a specific location."; - close; - case 4: - close; - } - } - -S_GiveSerial: - next; - mes "[Chief Mahnsoo]"; - mes "Remember..."; - if (rand(1)) { - mes "The package's"; - mes "Serial Number is"; - mes "^3355FF"+getarg(0)+"^000000."; - set job_merchant_q2,getarg(1); - } - else { - mes "The package's"; - mes "Serial Number is"; - mes "^3355FF"+getarg(2)+"^000000."; - set job_merchant_q2,getarg(3); - } - return; -} - -alberta_in,28,29,2 script Merchant Guildsman#mer 83,{ - if (BaseJob == Job_Merchant) { - mes "[Union Staff Kay]"; - mes "Heya pal."; - mes "How ya doin'?"; - close; - } - else if (BaseJob != Job_Merchant && BaseJob != Job_Novice) { - mes "[Union Staff Kay]"; - mes "Hey you. We don't have any open positions for part time work. If you wanna earn some zeny, you'll hafta look elsewhere."; - close; - } - else if (job_merchant_q == 9) { - mes "[Union Staff Kay]"; - mes "Hey you. Yeah, you."; - mes "If you wanna restart the test, go visit Mahnsoo in the other room. Then we can talk."; - close; - } - else if (job_merchant_q == 8 || job_merchant_q == 7) { - mes "[Union Staff Kay]"; - mes "Alright! Everything looks perfect! I'll report your success to the guildmaster. Now go talk to Chief Mahnsoo, yeah?"; + mes "[Chief Mahnsoo]"; + mes "Yes..."; + mes "We Merchants generally"; + mes "have money on our minds..."; close; - } - else if (job_merchant_q == 6 || job_merchant_q == 5) { - mes " [Union Staff Kay] "; - mes "Oh, yeah? Okay, lemme check. Your name is " + strcharinfo(0) + "? Alright, your destination was..."; + case 3: + mes "[Guildsman Mahnsoo]"; + mes "To become a Merchant,"; + mes "although just selling and receiving money is our job,"; + mes "you will need to learn all Basic Skills."; next; - mes "[Union Staff Kay]"; - if (job_merchant_q2 == 1 || job_merchant_q2 == 2) - mes "Wow! You met the Kafra babe in Prontera?! Lucky you~ ...Receipt?"; - else if (job_merchant_q2 == 3 || job_merchant_q2 == 4) - mes "Geffen Magic Academy. Okay, receipt?"; - else if (job_merchant_q2 == 5 || job_merchant_q2 == 6) - mes "The dyemaker in Morroc. Not bad. Receipt?"; - else if (job_merchant_q2 == 7 || job_merchant_q2 == 8) - mes "Oh hohohoho~! The Kafra Babe on Byalan Island?! Awesome! Anyway, did you bring the receipt?"; - - if (job_merchant_q2 == 1 && countitem(1073) != 0) - delitem 1073,1; //Merchant_Voucher_1 - else if (job_merchant_q2 == 2 && countitem(1074) != 0) - delitem 1074,1; //Merchant_Voucher_2 - else if (job_merchant_q2 == 3 && countitem(1075) != 0) - delitem 1075,1; //Merchant_Voucher_3 - else if (job_merchant_q2 == 4 && countitem(1076) != 0) - delitem 1076,1; //Merchant_Voucher_4 - else if (job_merchant_q2 == 5 && countitem(1077) != 0) - delitem 1077,1; //Merchant_Voucher_5 - else if (job_merchant_q2 == 6 && countitem(1078) != 0) - delitem 1078,1; //Merchant_Voucher_6 - else if (job_merchant_q2 == 7 && countitem(1079) != 0) - delitem 1079,1; //Merchant_Voucher_7 - else if (job_merchant_q2 == 8 && countitem(1080) != 0) - delitem 1080,1; //Merchant_Voucher_8 - else { - next; - set job_merchant_q,9; - mes " [Union Staff Kay] "; - mes "Wait a sec."; - mes "Where's the receipt?"; - mes "What happened?"; - next; - mes " [Union Staff Kay] "; - mes "If you don't have the receipt, you fail the test! You better talk to Mahnsoo if you wanna retake it, alright? Pay attention next time!"; - close; - } - next; - mes " [Union Staff Kay] "; - mes "...Great! Everything's perfect! I'll report your success to the Guildmaster. You should talk to Chief Mahnsoo now, alright?"; - close2; - if (job_merchant_q == 6) - set job_merchant_q,8; - else if (job_merchant_q == 5) - set job_merchant_q,7; - end; - } - else if (job_merchant_q == 4 || job_merchant_q == 3 && countitem(1081) == 0 && countitem(1082) == 0 && countitem(1091) == 0) { - mes " [Union Staff Kay] "; - mes "Huh?"; - mes "You're back?"; - mes "So how did"; - mes "the delivery go?"; + mes "[Guildsman Mahnsoo]"; + mes "Well, we used to receive a Membership Fee. But was it so hard to make that money?"; + mes "There were too many people who couldn't gather that money and kept crying."; next; - if (select("*Sob* I lost the package.:Fine.") == 1) { - set job_merchant_q,9; - mes "[Union Staff Kay]"; - mes "Are you kidding me? You'll fail the test if you lose the package!"; - next; - mes "[Union Staff Kay]"; - mes "Awwww man. Well, if you wanna restart the test, talk to Mahnsoo, okay? You're lucky you're getting another chance!"; - close; - } - mes "[Union Staff Kay]"; - mes "Huh..."; - mes "Okay..."; + mes "[Guildsman Mahnsoo]"; + mes "So recently, we decided to allow any Novice who wants to be a Merchant become one."; + mes "Because staying alive or not, it all rests on your own ability."; close; - } - else if (job_merchant_q == 4 || job_merchant_q == 3 && countitem(1081) != 0 || countitem(1082) != 0 || countitem(1091) != 0) { - mes "[Union Staff Kay]"; - mes "Hey, what are you still doing here? Shouldn't you be on your way already?"; - next; - if (select("I need a new package.:Oh, yeah. You're right!") == 1) { - if (countitem(1081) == 0 && countitem(1082) == 0 && countitem(1083) == 0 && countitem(1091) == 0) { - mes "[Union Staff Kay]"; - mes "Wha--?"; - mes "So where did"; - mes "the package go?"; - mes "Where is it?!"; - next; - if (select("*Sob* I lost it!:I have it right here.") == 1) { - set job_merchant_q,9; - mes "[Union Staff Kay]"; - mes "You..."; - mes "Lost it?!"; - mes "You failed the test!"; - next; - mes "[Union Staff Kay]"; - mes "*Sigh* If you want to restart the test, go visit Mahnsoo in the other room, alright?"; - close; - } - mes "[Union Staff Kay]"; - mes "Huh."; - mes "I thought"; - mes "you lost it."; - mes "You don't"; - mes "need a new one."; - close; - } - mes "[Union Staff Kay]"; - mes "*Sigh* Man, you're starting to become a pain in the ass. Hold on, lemme cancel your record..."; - if (countitem(1081) != 0) - delitem 1081,1; //Merchant_Box_1 - else if (countitem(1082) != 0) - delitem 1082,1; //Merchant_Box_2 - else if (countitem(1091) != 0) - delitem 1091,1; //Merchant_Box_Etc - if (job_merchant_q == 4) - set job_merchant_q,2; - else if (job_merchant_q == 3) - set job_merchant_q,1; - next; - mes "[Union Staff Kay]"; - mes "I need some time to get everything in order, so come back later."; - close; - } - mes "[Union Staff Kay]"; - mes "What a bummer..."; + case 4: close; } - else if ((job_merchant_q == 0 || job_merchant_q == 1 || job_merchant_q == 2)) { - set where_village,0; +} + +alberta_in,28,29,2 script Merchant Guildsman 83,{ + if (MERCNT_Q == 0 || MERCNT_Q == 1 || MERCNT_Q == 2) { mes "[Union Staff Kay]"; - mes "Hey there."; - mes "what brings"; - mes "you here?"; - next; - switch(select("My Merchant License test.:I'm looking for part time work.:Nothing.")) { - case 1: - mes "[Union Staff Kay]"; - mes "I see."; - mes "Alright."; - mes "So what's"; - mes "your name?"; - mes "" + strcharinfo(0) + "...?"; - next; - if (job_merchant_q == 0) { - mes "[Union Staff Kay]"; - mes "Huh. Your name's not on my list. Did you apply for the job change quest or what?"; - next; - mes "[Union Staff Kay]"; - mes "You gotta apply first by talking to Chief Mahnsoo in the center"; - mes "of this building, okay?"; - close; - } - mes "[Union Staff Kay]"; - mes "Alright, there you go. Lemme give you the package. Now, choose the destination of the delivery."; - next; - switch(select("Prontera.:Geffen.:Morocc.:Byalan Island.")) { - case 1: set .@where_village,1; break; - case 2: set .@where_village,2; break; - case 3: set .@where_village,3; break; - case 4: set .@where_village,4; break; - } - mes "[Union Staff Kay]"; - mes "Okay, now you need to give me the package's Serial Number. If you wanna cancel, just enter '0', alright?"; - next; - while(1) { - while(1) { - input .@input; - if (.@input == 0) { - mes "[Union Staff Kay]"; - mes "Are you sure that you wanna cancel?"; - if (select("Yes.:Let me try again.") == 1) { - mes "Alright, we'll cancel for now."; - close; - } - next; - } - else if (.@input < 1000000 || .@input > 5000000) { - mes "[Union Staff Kay]"; - mes "Hey hey. That number's not valid! Enter a value from 1000000 to 5000000. got it?"; - next; - } - else - break; - } - mes "[Union Staff Kay]"; - if (.@where_village == 1) - mes "Destination is Prontera. The Serial Number is " + .@input + ". Are you positive?"; - else if (.@where_village == 2) - mes "Destination is Geffen. Phew! That's really far! The Serial Number is " + .@input + ". Are you positive?"; - else if (.@where_village == 3) - mes "Destination is Morocc. That's pretty far away! The Serial Number is " + .@input + ". Are you positive?"; - else - mes "Lucky you! Your destination is Byalan Island. The Serial Number is " + .@input + ". Are you positive?"; - next; - if (select("Positive.:Whoops! Wrong number!") == 1) { - break; - } - } - if (.@where_village == 1) { - if (job_merchant_q2 == 1 && .@input == 2485741) - getitem 1081,1; //Merchant_Box_1 - else if (job_merchant_q2 == 2 && .@input == 2328137) - getitem 1082,1; //Merchant_Box_2 - else - getitem 1091,1; //Merchant_Box_Etc - } - else if (.@where_village == 2) { - if (job_merchant_q2 == 3 && .@input == 2989396) - getitem 1081,1; //Merchant_Box_1 - else if (job_merchant_q2 == 4 && .@input == 2191737) - getitem 1082,1; //Merchant_Box_2 - else - getitem 1091,1; //Merchant_Box_Etc - } - else if (.@where_village == 3) { - if (job_merchant_q2 == 5 && .@input == 3012685) - getitem 1081,1; //Merchant_Box_1 - else if (job_merchant_q2 == 6 && .@input == 3487372) - getitem 1082,1; //Merchant_Box_2 - else - getitem 1091,1; //Merchant_Box_Etc - } - else { - if (job_merchant_q2 == 7 && .@input == 3318702) - getitem 1081,1; //Merchant_Box_1 - else if (job_merchant_q2 == 8 && .@input == 3543625) - getitem 1082,1; //Merchant_Box_2 - else - getitem 1091,1; //Merchant_Box_Etc - } - if (job_merchant_q == 2) - set job_merchant_q,4; - else if (job_merchant_q == 1) - set job_merchant_q,3; - mes "[Union Staff Kay]"; - mes "Alright. Take this package and guard it with your life until it's safely delivered to the customer. Don't lose this thing, got it?"; - next; - mes "[Union Staff Kay]"; - mes "Well then, I wish you luck. Remember, you gotta bring me"; - mes "a receipt once you finish the delivery, okay?"; - close; - case 2: - mes "[Union Staff Kay]"; - mes "Part time job? Sorry pal, no jobs yet. The Paymaster's department can never balance our budget..."; - close; - case 3: - mes "[Union Staff Kay]"; - mes "Nothing, eh?"; - mes "I guess you enjoy"; - mes "bothering people for"; - mes "no reason then, yeah?"; - close; - } + mes "I am sorry, but we don't make deliveries anymore."; + mes "Didn't Chief Mahnsoo tell you?"; + close; } + mes "[Union Staff Kay]"; + mes "Ah, we don't make deliveries anymore."; + mes "Too many people cried and kept whining that it's too difficult."; + next; + mes "[Union Staff Kay]"; + mes "Well, maybe we will have a few deliveries later."; + mes "Anyway, I don't have any work now..."; + close; } morocc_in,140,102,4 script Student#mer 86,{ - if ((job_merchant_q == 4) || (job_merchant_q == 3)) { - mes "[Dyer's Student]"; - mes "You're from"; - mes "the Merchant Guild?"; - mes "Yes! You've come to"; - mes "the right place."; - next; - mes "[Dyer's Student]"; - if (countitem(1081) == 1 || countitem(1082) == 1 || countitem(1091) == 1) { - mes "Okay~"; - mes "Please set the"; - mes "package down"; - mes "over there."; - } - else { - mes "But..."; - mes "Where's the"; - mes "package I ordered?"; - mes "That's strange..."; - close; - } - next; + if (MERCNT_Q == 4 || MERCNT_Q == 3) { mes "[Dyer's Student]"; - mes "Let me check the Serial Number of the package so I can give you the receipt, okay?"; - next; - mes "[Dyer's Student]"; - if (job_merchant_q2 == 5 && countitem(1081) != 0) { - mes "3012685..."; - mes "That's right."; - mes "Here's your"; - mes "receipt."; - delitem 1081,1; //Merchant_Box_1 - getitem 1077,1; //Merchant_Voucher_5 - } - else if (job_merchant_q2 == 6 && countitem(1082) != 0) { - mes "3487372..."; - mes "That's right."; - mes "Here's your"; - mes "receipt."; - delitem 1082,1; //Merchant_Box_2 - getitem 1078,1; //Merchant_Voucher_6 - } - else { - mes "Excuse me, but..."; - if (job_merchant_q2 == 5) - mes "I don't think this is the package we ordered. The Serial Number should be 3012685. See?"; - else if (job_merchant_q2 == 6) - mes "I don't think this is the package we ordered. The Serial Number should be 3487372. See?"; - else - mes "I don't think this is the package we ordered. The Serial Number should be 3012685 or 3487372. Well, one of those two..."; - close; - } - if (job_merchant_q == 4) - set job_merchant_q,6; - else if (job_merchant_q == 3) - set job_merchant_q,5; - next; - mes "[Dyer's Student]"; - mes "Thanks a lot!"; - mes "See you again"; - mes "sometime!"; - close; - } - else if (job_merchant_q == 6 || job_merchant_q == 5 && job_merchant_q2 == 6 || job_merchant_q2 == 5) { - mes "[Dyer's Student]"; - mes "Oh..."; - mes "You're gonna"; - mes "go back? Okay"; - mes "then, take care!"; - close; - } - else { - mes "[Dyer's Student]"; - mes "Mr. Java Dullihan is the one and only, the best dye maker on the Rune-Midgard continent."; - next; - mes "[Dyer's Student]"; - mes "Aaaand I'm proud to say that I'm his student! Someday, I'll be able to make really beautiful dyes too!"; - next; - mes "[Dyer's Student]"; - mes "Of course, I'm still learning the basics right now, but someday..."; + mes "I am sorry, but the Merchant Guild no longer makes deliveries to us anymore."; close; } + mes "[Dyer's Student]"; + mes "Mr. Java Dullihan is the one and only, the best dye maker on the Rune-Midgard continent."; + next; + mes "[Dyer's Student]"; + mes "Aaaand I'm proud to say that I'm his student! Someday, I'll be able to make really beautiful dyes too!"; + next; + mes "[Dyer's Student]"; + mes "Of course, I'm still learning the basics right now, but someday..."; + close; } -geffen_in,155,122,4 script Guild Staff#mer 47,{ - if (job_merchant_q == 4 || job_merchant_q == 3) { +geffen_in,155,122,4 script Guild Staff 47,{ + if (MERCNT_Q == 4 || MERCNT_Q == 3) { mes "[Guild Staff]"; - mes "Ah, you must be with the Merchant Guild. Finally, my package has arrived! Alright...!"; - next; - mes "[Guild Staff]"; - if (countitem(1081) == 1 || countitem(1082) == 1 || countitem(1091) == 1) { - mes "You must be very tired"; - mes "from having to travel"; - mes "in this kind"; - mes "of weather..."; - } - else { - mes "Wait..."; - mes "Where's the"; - mes "package?"; - close; - } - next; - mes "[Guild Staff]"; - mes "Alright, let me"; - mes "check the Serial Number..."; - if (job_merchant_q2 == 3 && countitem(1081) != 0) { - mes "2989396. Yes, this is what we ordered. Here is your receipt."; - delitem 1081,1; //Merchant_Box_1 - getitem 1075,1; //Merchant_Voucher_3 - } - else if (job_merchant_q2 == 4 && countitem(1082) != 0) { - mes "2191737. Yes, this is what we ordered. Here is your receipt."; - delitem 1082,1; //Merchant_Box_2 - getitem 1076,1; //Merchant_Voucher_4 - } - else { - mes "Uh oh, this is the wrong number. This isn't what we ordered..."; - next; - mes "[Guild Staff]"; - if (job_merchant_q2 == 3) { - mes "The Serial Number"; - mes "should be 2989396."; - } - else if (job_merchant_q2 == 4) { - mes "The Serial Number"; - mes "should be 2191737."; - } - else { - mes "The Serial Number"; - mes "should be 2989396"; - mes "or 2191737, one of"; - mes "those two."; - } - mes "Look here!"; - mes "Don't you see"; - mes "something"; - mes "is wrong?"; - close; - } - if (job_merchant_q == 4) - set job_merchant_q,6; - else if (job_merchant_q == 3) - set job_merchant_q,5; - next; - mes "[Guild Staff]"; - mes "Heh heh~"; - mes "Thank you!"; - mes "Bye bye!"; + mes "I am sorry, but the Merchant Guild no longer makes deliveries to us anymore."; close; } - else if (job_merchant_q == 6 || job_merchant_q == 5 && job_merchant_q2 == 4 || job_merchant_q2 == 3) { - mes "[Guild Staff]"; - mes "Hello,"; - mes "Merchant Guildsman~"; - mes "I give you my thanks."; - close; - } - else { - mes "[Guild Staff]"; - mes "My package should have arrived by now. Huh. I guess the Merchant Guild might be running a little late..."; - close; - } -} - -prontera,248,42,0 script Kafra Employee#mer 116,{ - cutin "kafra_02",2; - if (job_merchant_q == 6 || job_merchant_q == 5) && (job_merchant_q2 == 2 || job_merchant_q2 == 1) { - mes "[Kafra Employee]"; - mes "Oh! Thank you for"; - mes "traveling such a long"; - mes "way to come over here~"; - close2; - cutin "",255; - end; - } - else if (job_merchant_q == 4 || job_merchant_q == 3) { - mes "[Kafra Employee]"; - mes "A delivery from"; - mes "the Merchant Guild?"; - mes "Oh, yes, please set"; - mes "it down right over there..."; - if (countitem(1081) == 1 || countitem(1082) == 1 || countitem(1091) == 1) { - mes "You must be really tired"; - mes "after carrying it for so long!"; - } - else { - mes "W-wait. Didn't you bring it?"; - mes "Where's the package?"; - close2; - cutin "",255; - end; - } - next; - mes "[Kafra Employee]"; - mes "Now, let me check"; - mes "the serial number..."; - if (job_merchant_q2 == 1 && countitem(1081) != 0) { - mes "2485741. Right, this is"; - mes "the one we ordered. Oh,"; - mes "and don't forget this receipt!"; - next; - delitem 1081,1; //Merchant_Box_1 - getitem 1073,1; //Merchant_Voucher_1 - } - else if (job_merchant_q2 == 2 && countitem(1082) != 0) { - mes "2328137. Right, this is"; - mes "the one we ordered. Oh,"; - mes "and don't forget this receipt!"; - next; - delitem 1082,1; //Merchant_Box_2 - getitem 1074,1; //Merchant_Voucher_2 - } - else { - mes "Mmmm? Hold on. This is"; - mes "the wrong package. What we"; - if (job_merchant_q2 == 1) - mes "ordered had the serial number 2485741. I'm sure it's not this."; - else if (job_merchant_q2 == 2) - mes "ordered had the serial number 2328137. I'm sure it's not this."; - else - mes "ordered had the serial number 2328137 or 2328137."; - next; - mes "[Kafra Employee]"; - mes "I'm afraid there"; - mes "must be some kind"; - mes "of mistake. Perhaps"; - mes "you should go back to"; - mes "the Merchant Guild to"; - mes "clear up this situation?"; - close2; - cutin "",255; - end; - } - if (job_merchant_q == 4) - set job_merchant_q,6; - else if (job_merchant_q == 3) - set job_merchant_q,5; - mes "[Kafra Employee]"; - mes "Thanks again"; - mes "for going through"; - mes "all of that trouble~"; - close2; - cutin "",255; - end; - } - else { - mes "[Kafra Employee]"; - mes "Welcome to the"; - mes "Kafra Corportation,"; - mes "where the service is"; - mes "always on your side~"; - next; - mes "[Kafra Employee]"; - mes "As you can see, the"; - mes "Swordman Assocation"; - mes "has moved to Izlude, a"; - mes "satellite city of Prontera."; - mes "Currently, we offer a Teleport"; - mes "Service to Izlude for 600 zeny."; - next; - if (select("Use:Cancel") == 1) { - if (Zeny < 600) { - mes "[Kafra Employee]"; - mes "I'm sorry, but you"; - mes "don't have enough zeny"; - mes "for this Teleport Service."; - close2; - cutin "",255; - end; - } - set zeny,zeny-600; - set RESRVPTS, RESRVPTS + 37; - cutin "",255; - warp "izlude",94,103; - end; - } - close2; - cutin "",255; - end; - } -} - -//izlu2dun,106,58,4 script Kafra Employee#mer 116,{ -function script F_MercKafra { - if ((job_merchant_q == 6 || job_merchant_q == 5) && (job_merchant_q2 == 8 || job_merchant_q2 == 7)) { - mes "[Kafra Employee]"; - mes "Oh hello~"; - mes "Um, is there"; - mes "some special reason"; - mes "as to why you're here?"; - close2; - cutin "",255; - end; - } - else if (job_merchant_q == 4 || job_merchant_q == 3) { - mes "[Kafra Employee]"; - mes "A delivery from"; - mes "the Merchant Guild?"; - mes "Oh, yes, please set"; - mes "it down right over there..."; - if (countitem(1081) == 1 || countitem(1082) == 1 || countitem(1091) == 1) { - mes "You must be really tired"; - mes "after carrying it for so long!"; - } - else { - mes "W-wait. Didn't you bring it?"; - mes "Where's the package?"; - close2; - cutin "",255; - end; - } - next; - mes "[Kafra Employee]"; - mes "Now, let me check"; - mes "the serial number..."; - if (job_merchant_q2 == 7 && countitem(1081) != 0) { - mes "3318702. Right, this is"; - mes "the one we ordered. Oh,"; - mes "and don't forget this receipt!"; - delitem 1081,1; //Merchant_Box_1 - getitem 1079,1; //Merchant_Voucher_7 - } - else if (job_merchant_q2 == 8 && countitem(1082) != 0) { - mes "3543625. Right, this is"; - mes "the one we ordered. Oh,"; - mes "and don't forget this receipt!"; - delitem 1082,1; //Merchant_Box_2 - getitem 1080,1; //Merchant_Voucher_8 - } - else { - mes "Mmmm? Hold on. This is"; - mes "the wrong package. What we"; - if (job_merchant_q2 == 7) - mes "ordered had the serial number 3318702. I'm sure it's not this."; - else if (job_merchant_q2 == 8) - mes "ordered had the serial number 3543625. I'm sure it's not this."; - else - mes "ordered had the serial number 3318702 or 3543625."; - close2; - cutin "",255; - end; - } - if (job_merchant_q == 4) - set job_merchant_q,6; - else if (job_merchant_q == 3) - set job_merchant_q,5; - next; - if (countitem(1072) != 0 && quest_alb_01 == 0) { - select("This is from Chief Mahnsoo of the Merchant Guild..."); - delitem 1072,1; //Delivery_Message - set quest_alb_01,1; - mes "[Kafra Employee]"; - mes "Oh~! A letter from"; - mes "Mahnsoo! Thank you"; - mes "so much, I've been dying"; - mes "to hear from him. How is"; - mes "he doing, is he alright?"; - mes "I can't wait to read it..."; - next; - mes "[Kafra Employee]"; - mes "Oh, thank you for"; - mes "going through all the"; - mes "trouble of delivering all"; - mes "of this. This isn't anything"; - mes "special, but please take it."; - mes "Well, see you again~"; - getitem 513,3; //Banana - } - else { - mes "[Kafra Employee]"; - mes "Thanks again"; - mes "for going through"; - mes "all of that trouble~"; - } - close2; - cutin "",255; - end; - } - return; -} + mes "[Guild Staff]"; + mes "My package should have arrived by now. Huh. I guess the Merchant Guild might be running a little late..."; + close; +} \ No newline at end of file diff --git a/npc/pre-re/jobs/1-1/swordman.txt b/npc/pre-re/jobs/1-1/swordman.txt index df6d15662..61ecdc253 100644 --- a/npc/pre-re/jobs/1-1/swordman.txt +++ b/npc/pre-re/jobs/1-1/swordman.txt @@ -1,643 +1,139 @@ //===== rAthena Script ======================================= -//= Swordsman Job Quest +//= Renewal Swordman Job Change //===== By: ================================================== -//= kobra_k88; L0ne_W0lf +//= Kisuka //===== Current Version: ===================================== -//= 2.3 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job quest for Swordman classes -//= Uses Job_sword1 as opposed to sword_1-1 -> sword_3-1. -//= EXPLOITABLE in a sense because while the sword_x-1 maps -//= are marked as "inside" by the client, job_sword1 is not. -//= giving players FREE camera rotation while doing the job quest. +//= Job Change to Swordman Class //===== Additional Comments: ================================= -//= Fully working. I have created a custom warp to get into the test room so disable -//= the one in your warp script or scripts. It is this warp: "izlude_in",40,170. -//= 1.1 Added instant job change for High Novice [Lupus] -//= 1.3 Added Baby Class support [Lupus] -//= 1.4 Changed the timing system to initnpctimer, now you do get warnings about time -//= and are limited to 7min to complete the quest [Fredzilla] -//= 1.5 Optimised and moved first checker to Jfunc1-1 [massdriller] -//= 1.5.1 Fixed possible EXP abuse [Lupus] -//= 1.5.2 Now saves/restores all quest skills [Lupus] -//= 1.5.3 Removed Duplicates [Silent] -//= 1.6 Merged back JFunc, CHANGED NUMBERS TO CONSTANTS [Lupus] -//= 1.7 changed location from its clone to the original [Lupus] -//= 1.7.1 Fixed warp on timeout [KarLaeda] -//= 1.8 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] -//= Removed "green" traps, quest is no longer timed. -//= No longer uses function "F_ToHigh" -//= 1.9 Dialog is official, but the Script is now custom as far as maps go. [L0ne_W0lf] -//= 1.9b Fixed usage of wrong jobchange func messing up baby classes [ultramage] -//= 2.0 Corrected NPC names to fall within proper resctrictions. [L0ne_W0lf] -//= 2.1 Fixed mistake in condition check. [L0ne_W0lf] -//= 2.2 Warp portals dont end with ; [Yommy] -//= 2.3 Added Quest Log commands. [L0ne_W0lf] +//= 1.0 First Version. [Kisuka] +//= 1.1 Added Baby job change support. [Masao] //============================================================ - -izlude_in,74,172,4 script Swordman#swd_1 119,{ +izlude_in,74,172,4 script Swordman 119,{ if (Upper == 1) { - if (Class == Job_Novice_High && (ADVJOB == Job_Lord_Knight || ADVJOB == Job_Paladin)) { - mes "[Swordman]"; + if ((Class == Job_Novice_High) && (FJOB == Job_Rune_Knight || FJOB == Job_Royal_Guard)) { + mes "[Swordman Guildsman]"; mes "It..."; mes "Can't be..."; mes "You've been reborn, haven't you?"; next; - mes "[Swordman]"; + mes "[Swordman Guildsman]"; 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 "[Swordman Guildsman]"; mes "Hmm? Ah, you must first master the Basic Skills before you are ready to become a Swordman."; next; - mes "[Swordman]"; + mes "[Swordman Guildsman]"; mes "Come back to me when you have finished learning the Basic Novice Skills."; close; } - mes "[Swordman]"; + mes "[Swordman Guildsman]"; mes "Excellent! Let me promote you to a Swordman right away!"; next; - skill 143,0,0; + skill 143,0,1; jobchange Job_Swordman_High; skill 144,1,0; skill 145,1,0; skill 146,1,0; - mes "[Swordman]"; + mes "[Swordman Guildsman]"; 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 "Hm...?"; + mes "You're a reborn"; + mes "warrior, aren't you?"; + next; + mes "[Swordman Guildsman]"; + 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]"; + mes "[Swordman Guildsman]"; mes "Welcome to the"; mes "Swordman Association!"; next; - mes "[Swordman]"; + mes "[Swordman Guildsman]"; mes "So..."; mes "What business"; mes "brings you to us?"; next; - switch(select("Job Change:About Swordman.:About the Job requirements.:Cancel.")) { + switch (select("Tell me about being a Swordman.:I want to be a Swordman.:Cancel.")) { case 1: - if (BaseJob == Job_Swordman) { - mes "[Swordman]"; - mes "Job change? Muhahaha! But you're already a Swordman! Be proud and be strong!"; - close; - } - else if (BaseJob != Job_Novice) { - mes "[Swordman]"; - mes "Haha! Oh boy. I'm flattered, but you already have another job! Still, I can't blame you..."; - close; - } - if (job_sword_q == 0) { - mes "[Swordman]"; - mes "So you wish to become a proud Swordman? By all means, please sign up!"; - next; - if (select("Sign up.:Cancel.") == 1) { - savepoint "izlude_in",65,165; - set job_sword_q,1; - setquest 1014; - mes "[Swordman]"; - mes "Ah, yes. Your application will be reviewed as soon as possible."; - next; - mes "[Swordman]"; - mes "If you have already met the requirements, you can take an interview right now. Would you like to?"; - next; - if (select("Yes.:No.") == 1) { - mes "[Swordman]"; - mes "Good, good."; - mes "Now, let's see..."; - next; - } - else { - mes "[Swordman]"; - mes "Alright then. Feel free to come back whenever you are ready. All you ahve to do now is meet our requirements. Good luck to you."; - close; - } - } - else { - mes "[Swordman]"; - mes "Hm? Alright, come back whenever you change your mind. The world can always use another Swordman!"; - close; - } - } - mes "[Swordman]"; - if (getskilllv("NV_BASIC") < 9) { - mes "Hm, you still haven't learned all of the Basic Skills. You need to do that before you can become a Swordman."; - next; - mes "[Swordman]"; - mes "Check the requirements for job change again, and come back when you are ready."; - close; - } - else if (job_sword_q <= 3) { - mes "Hm, you've learned all of the Basic Skills but didn't take the test yet. You must first pass the exam before you can change your job to Swordman."; - next; - mes "[Swordman]"; - mes "Enter the room to my right so that you can take the test. You'll need to speak to my right so you can enter the examination area."; - close; - } - else if (job_sword_q == 4) { - mes "Hahaha! Congratulations! Now you are fully qualified to be a real Swordman! I will transform you right away!"; - next; - callfunc "Job_Change",Job_Swordman; - set job_sword_q,0; - completequest 1014; - mes "[Swordman]"; - mes "Once again, congratulations. I expect that you will be a good representative of the Swordman Association."; - close; - } - case 2: - mes "[Swordman]"; + mes "[Swordman Guildsman]"; mes "So you wish to know more about the mighty Swordman job? Well, then..."; next; - mes "[Swordman]"; + mes "[Swordman Guildsman]"; mes "Amongst the First Class jobs, the Swordman is the best melee fighter for three reasons."; mes "There are 3 reasons why Swordy is the best to approch a fight!"; next; - mes "[Swordman]"; + mes "[Swordman Guildsman]"; mes "First, Swordman has the benefit of additional HP. Second, Swordman generally have access to a wider selection fo weapons than the other First Class jobs."; next; - mes "[Swordman]"; + mes "[Swordman Guildsman]"; mes "And third, most of the Swordman skills are crushing physical attacks! In my opinion, being a Swordman is the best job ever!"; close; - case 3: - mes "[Swordman]"; - mes "Hmmm..."; - if (BaseJob != Job_Novice) { - if (BaseJob == Job_Swordman) - mes "But there's no need to tell you the requirements. You've met them and already became a Swordman! Well, anyway..."; - else - mes "It's too late for you to become a Swordman. You already have another job. Still, there's no harm in telling you..."; + case 2: + if (Class == Job_Baby || Class == Job_Novice) { + 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 ^4d4dffJob Level 10^000000."; + mes "and ^4d4dffBasic 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; + switch (select("Yes, I do.:I'll consider it again.")) { + case 1: + mes "[Swordman Guildsman]"; + mes "Congratulations! From now on, you are going to live a Swordman's life!"; + mes "I will transform you right away!"; + next; + skill 143,0,1; + if(Class == Job_Baby){ + jobchange Job_Baby_Swordman; + } else { + jobchange Job_Swordman; + } + set job_sword_q,0; + getitem 13415,1; //N_Falchion + mes "[Swordman Guildsman]"; + mes "Congratulations again for becomming a Swordman and I hope that you participate in many activities for the revival of our guild."; + close; + case 2: + mes "[Swordman Guildsman]"; + mes "Yeah. Careful consideration is needed for choosing a job."; + mes "But I feel sorry... that you'll have to consider it again after all the trials...."; + close; + } } - next; - mes "[Swordman]"; - mes "First, you must learn all 9 of the Basic Skills. If you can't complete this requirement, you won't be able to change to any job."; - next; - mes "[Swordman]"; - mes "Second, you must pass the Swordman Test. Inquire the Test Manager located in the waiting room of the Swordman Test."; - next; - mes "[Swordman]"; - mes "If you can complete these 2 requirements, you can change to a Swordman anytime you want."; + if (Class == Job_Baby_Swordman || Class == Job_Swordman || Class == Job_Swordman) { + mes "[Swordman Guildsman]"; + mes "You are already an excellent Swordman, aren't you?"; + mes "Just devote yourself to be a great Swordman."; + close; + } + mes "[Swordman Guildsman]"; + mes "Haha! Oh boy. I'm flattered, but you already have another job! Still, I can't blame you..."; close; - case 4: - mes "[Swordman]"; + case 3: + mes "[Swordman Guildsman]"; mes "Ha ha ha!"; mes "Ah, youth!"; close; } -} - -izlude_in,62,170,6 script Swordman#swd_2 85,{ - mes "[Swordman]"; - if (BaseJob == Job_Swordman) { - mes "Sorry guy, but I can only allow Novices to enter the Test Hall."; - close; - } - else if (BaseJob != Job_Novice) { - mes "Who the hell are you?! Nobody, other than Novices, is permitted to come in here!"; - close; - } - else if (getskilllv("NV_BASIC") < 9) { - mes "Stop! I can't let you in until you learn all of the Basic Skills. The Test Hall isn't for goofing off!"; - close; - } - else if (job_sword_q == 4) { - mes "Hey. You need to talk to the Swordman in the center of the room, not me."; - close; - } - else if (job_sword_q == 0) { - mes "Stop! If you want to take the Swordman Test, you'll need to fill out an application first."; - next; - mes "[Swordman]"; - mes "The Swordman in the center of the room can help you with that, got it?"; - close; - } - else { - savepoint "izlude_in",65,165; - warp "izlude_in",39,170; - end; - } -} - -izlude_in,30,175,4 script Swordman#swd_3 92,{ - mes "[Swordman]"; - mes "I will tell you about the Test! Listen carefully, I won't repeat myself."; - next; - mes "[Swordman]"; - mes "The purpose of this test is to confirm whether or not you are qualified to be a Swordman. As you know, a Swordman needs physical strength and spirit!"; - next; - mes "[Swordman]"; - mes "Without those, you won't be able to become a Swordman. Now, the conditions for completing this test are very simple."; - next; - mes "[Swordman]"; - mes "You will travel through three courses and must reach the final checkpoint within ^FF000010 minutes^000000."; - next; - mes "[Swordman]"; - mes "If you choose to 'Surrender,' or if you run out of time, you will not pass the test."; - next; - mes "[Swordman]"; - mes "If you find that you are not strong enough to pass the test, head to the entrance of the course and talk to the checkpoint manager."; - next; - mes "[Swordman]"; - mes "As you travel through the three courses, you may fall to a random, underground area. The course is designed so that you can still find your way back."; - next; - mes "[Swordman]"; - mes "However, be careful, as this will waste your time! Godspeed to you."; - close; -} - -izlude_in,30,163,0 script Test Hall Staff#swd_1 105,{ - mes "[Test Hall Staff]"; - if (BaseJob == Job_Swordman) { - mes "Hm? How did you get inside? You're not supposed to be in here, so please leave now."; - close2; - warp "izlude_in",66,170; - end; - } - else if (BaseJob != Job_Novice) { - mes "Who are you?! This place is for the Swordman Test! You're not allowed to be in here! Leave now!"; - close2; - warp "izlude_in",66,170; - end; - } - if (job_sword_q == 1) { - mes "So are you the one who wants to be a Swordman? Alright! You look reliable!"; - next; - mes "[Test Hall Staff]"; - mes "Try to relax and do your best. This course isn't so difficult."; - set job_sword_q,2; - } - else if (job_sword_q == 2) { - mes "Retesting? Try not to worry about it. It's good that you don't back down from a challenge! Here, take these and cheer up!"; - getitem 512,5; //Apple - set job_sword_q,3; - } - else if (job_sword_q == 3) - mes "Don't ever give up! Now retesting!"; - close2; - warp "job_sword1",10,245; - end; -} - -// Examination Courses NPCs -//============================================================ -// 1-1 -job_sword1,230,245,2 script Medic#swd_1 105,{ - callfunc "F_JobSwdMedic","1st"; -} -job_sword1,230,242,2 script Test Hall Staff#swd_2 105,{ - callfunc "F_JobSwdStaff",1; -} -job_sword1,230,207,2 script Medic#2swd_2 105,{ - callfunc "F_JobSwdMedic","2nd"; -} -job_sword1,230,204,2 script Test Hall Staff#2swd_3 105,{ - callfunc "F_JobSwdStaff",1; -} -job_sword1,223,167,2 script Mae#swd_1_success 92,{ - mapannounce "job_sword1","Applicant " + strcharinfo(0) + ". You successfully passed the test.",bc_map; - set job_sword_q,4; - mes "[Mae]"; - mes "I sencerely congratulate you for passing the test!"; - mes "I already sent your test result to the Job Department.Please inquire at the Officer in Centre.Thank you."; - close2; - warp "izlude_in",66,173; - end; -} - -// Examination Course Functions -//============================================================ -function script F_JobSwdMedic { - percentheal 100,0; - mes "[Medic]"; - mes "This is the "+getarg(0)+" check point!Cheer up!"; - close; -} - -function script F_JobSwdStaff { - mes "[Test Hall Staff]"; - mes "Do you surrender?"; - next; - if (select("Yes.:No.") == 1) { - mapannounce "job_sword1","Applicant " + strcharinfo(0) + " quit the test.",bc_map; - warp "izlude_in",65,165; - end; - } - mes "[Test Hall Staff]"; - mes "Bravo! Go for it again!"; - close; -} - -function script F_JobSwdTestStaff { -OnTouch: - mes "[Test Hall Staff]"; - mes "Applicant " + strcharinfo(0) + ". Do you surrender??"; - next; - if (select("Yes.:No.") == 1) { - mapannounce "job_sword1","Applicant " + strcharinfo(0) + " quit the test..",bc_map; - warp "izlude_in",65,165; - end; - } - warp "job_sword1",getarg(0),getarg(1); - end; -} - -function script F_JobSwdTestStaff2 { -OnTouch: - mapannounce "job_sword1","Applicant " + strcharinfo(0) + ". Pass the "+getarg(0)+" course.",bc_map; - warp "job_sword1",getarg(1),getarg(2); - end; -} - -// Examination Course 1 -//============================================================ -job_sword1,223,243,0 warp checkp1-2#swd_1 1,1,job_sword1,11,206 -job_sword1,223,205,0 warp checkp2-3#swd_1 1,1,job_sword1,11,168 - -job_sword1,7,245,0 script Test Hall Staff#swd_4 45,1,3,{ - callfunc "F_JobSwdTestStaff",10,245; -} - -job_sword1,8,207,0 script Test Hall Staff#swd_5 45,1,6,{ - callfunc "F_JobSwdTestStaff",11,207; -} - -job_sword1,8,169,0 script Test Hall Staff#swd_6 45,1,6,{ - callfunc "F_JobSwdTestStaff",11,169; -} - -job_sword1,192,244,0 script Test Hall Staff#swd_7 45,1,3,{ - callfunc "F_JobSwdTestStaff2","1st",215,244; -} - -job_sword1,193,207,0 script Test Hall Staff#swd_8 45,1,3,{ - callfunc "F_JobSwdTestStaff2","2nd",215,205; - warp "job_sword1",215,205; -} - -job_sword1,193,168,0 script Test Hall Staff#swd_9 45,1,3,{ - callfunc "F_JobSwdTestStaff2","3rd",215,167; -} - -// Pitfalls (Set 1) -//============================================================ -job_sword1,65,117,0 warp pitfall01-01 1,1,job_sword1,10,245 -job_sword1,98,27,0 warp pitfall02-01 1,1,job_sword1,11,207 -job_sword1,161,27,0 warp pitfall02-02 1,1,job_sword1,11,207 -job_sword1,239,117,0 warp pitfall03-01 1,1,job_sword1,11,169 - -job_sword1,16,251,0 script 1_blank_1_a::SwdTrap1 -1,0,1,{ -OnTouch: - switch(rand(1,5)) { - case 1: warp "job_sword1",65,56; end; - case 2: warp "job_sword1",29,26; end; - case 3: warp "job_sword1",43,16; end; - case 4: warp "job_sword1",23,112; end; - case 5: warp "job_sword1",58,83; end; - } -} -job_sword1,19,251,0 duplicate(SwdTrap1) 1_blank_1_b -1,0,1 -job_sword1,17,250,0 duplicate(SwdTrap1) 1_blank_1_c -1,1,0 -job_sword1,16,238,0 duplicate(SwdTrap1) 1_blank_2_a -1,0,1 -job_sword1,19,238,0 duplicate(SwdTrap1) 1_blank_2_b -1,0,1 -job_sword1,17,239,0 duplicate(SwdTrap1) 1_blank_2_c -1,0,1 -job_sword1,28,247,0 duplicate(SwdTrap1) 1_blank_3_a -1,4,0 -job_sword1,33,245,0 duplicate(SwdTrap1) 1_blank_3_b -1,0,2 -job_sword1,29,242,0 duplicate(SwdTrap1) 1_blank_3_c -1,4,0 -job_sword1,24,244,0 duplicate(SwdTrap1) 1_blank_3_d -1,0,2 -job_sword1,38,251,0 duplicate(SwdTrap1) 1_blank_4_a -1,0,1 -job_sword1,41,251,0 duplicate(SwdTrap1) 1_blank_4_b -1,0,1 -job_sword1,39,250,0 duplicate(SwdTrap1) 1_blank_4_c -1,1,0 -job_sword1,38,238,0 duplicate(SwdTrap1) 1_blank_5_a -1,0,1 -job_sword1,41,238,0 duplicate(SwdTrap1) 1_blank_5_b -1,0,1 -job_sword1,39,239,0 duplicate(SwdTrap1) 1_blank_5_c -1,1,0 -job_sword1,54,251,0 duplicate(SwdTrap1) 1_blank_6_a -1,0,1 -job_sword1,71,251,0 duplicate(SwdTrap1) 1_blank_6_b -1,0,1 -job_sword1,62,250,0 duplicate(SwdTrap1) 1_blank_6_c -1,9,0 -job_sword1,62,247,0 duplicate(SwdTrap1) 1_blank_7_a -1,8,0 -job_sword1,71,244,0 duplicate(SwdTrap1) 1_blank_7_b -1,0,2 -job_sword1,63,242,0 duplicate(SwdTrap1) 1_blank_7_c -1,8,0 -job_sword1,54,244,0 duplicate(SwdTrap1) 1_blank_7_d -1,0,2 -job_sword1,54,238,0 duplicate(SwdTrap1) 1_blank_8_a -1,0,1 -job_sword1,71,238,0 duplicate(SwdTrap1) 1_blank_8_b -1,0,1 -job_sword1,62,239,0 duplicate(SwdTrap1) 1_blank_8_c -1,9,0 -job_sword1,102,247,0 duplicate(SwdTrap1) 1_blank_9_a -1,2,0 -job_sword1,105,245,0 duplicate(SwdTrap1) 1_blank_9_b -1,0,2 -job_sword1,103,242,0 duplicate(SwdTrap1) 1_blank_9_c -1,2,0 -job_sword1,100,244,0 duplicate(SwdTrap1) 1_blank_9_d -1,0,2 -job_sword1,156,249,0 duplicate(SwdTrap1) 1_blank_10_a -1,14,0 -job_sword1,156,248,0 duplicate(SwdTrap1) 1_blank_10_b -1,14,0 -job_sword1,170,249,0 duplicate(SwdTrap1) 1_blank_10_c -1,1,0 -job_sword1,170,248,0 duplicate(SwdTrap1) 1_blank_10_d -1,1,0 -job_sword1,156,245,0 duplicate(SwdTrap1) 1_blank_11_a -1,14,0 -job_sword1,156,244,0 duplicate(SwdTrap1) 1_blank_11_b -1,14,0 -job_sword1,170,245,0 duplicate(SwdTrap1) 1_blank_11_c -1,1,0 -job_sword1,170,244,0 duplicate(SwdTrap1) 1_blank_11_d -1,1,0 -job_sword1,156,241,0 duplicate(SwdTrap1) 1_blank_12_a -1,14,0 -job_sword1,156,240,0 duplicate(SwdTrap1) 1_blank_12_b -1,14,0 -job_sword1,170,241,0 duplicate(SwdTrap1) 1_blank_12_c -1,1,0 -job_sword1,170,240,0 duplicate(SwdTrap1) 1_blank_12_d -1,1,0 -job_sword1,180,251,0 duplicate(SwdTrap1) 1_blank_13_a -1,0,1 -job_sword1,183,251,0 duplicate(SwdTrap1) 1_blank_13_b -1,0,1 -job_sword1,181,250,0 duplicate(SwdTrap1) 1_blank_13_c -1,1,0 -job_sword1,180,238,0 duplicate(SwdTrap1) 1_blank_14_a -1,0,1 -job_sword1,183,238,0 duplicate(SwdTrap1) 1_blank_14_b -1,0,1 -job_sword1,181,239,0 duplicate(SwdTrap1) 1_blank_14_c -1,1,0 - -job_sword1,193,245,0 warp 1_rest 1,3,job_sword1,215,244 - -// Pitfalls (Set 2) -//============================================================ -job_sword1,56,212,0 script 2_blank_1_a::SwdTrap2 -1,40,0,{ -OnTouch: - switch(rand(1,5)) { - case 1: warp "job_sword1",162,120; end; - case 2: warp "job_sword1",94,120; end; - case 3: warp "job_sword1",94,85; end; - case 4: warp "job_sword1",162,85; end; - case 5: warp "job_sword1",130,47; end; - } -} - -job_sword1,95,212,0 duplicate(SwdTrap2) 2_blank_1_b -1,2,0 -job_sword1,56,210,0 duplicate(SwdTrap2) 2_blank_2_a -1,40,0 -job_sword1,95,210,0 duplicate(SwdTrap2) 2_blank_2_b -1,2,0 -job_sword1,16,206,0 duplicate(SwdTrap2) 2_blank_2_c -1,0,3 -job_sword1,97,206,0 duplicate(SwdTrap2) 2_blank_2_d -1,0,3 -job_sword1,56,203,0 duplicate(SwdTrap2) 2_blank_2_e -1,40,0 -job_sword1,95,203,0 duplicate(SwdTrap2) 2_blank_2_f -1,2,0 -job_sword1,56,201,0 duplicate(SwdTrap2) 2_blank_3_a -1,40,0 -job_sword1,95,201,0 duplicate(SwdTrap2) 2_blank_3_b -1,2,0 - -job_sword1,113,212,0 duplicate(SwdTrap2) 2_blank_4_a -1,14,0 -job_sword1,125,212,0 duplicate(SwdTrap2) 2_blank_4_b -1,2,0 -job_sword1,113,210,0 duplicate(SwdTrap2) 2_blank_5_a -1,14,0 -job_sword1,125,210,0 duplicate(SwdTrap2) 2_blank_5_b -1,2,0 -job_sword1,100,206,0 duplicate(SwdTrap2) 2_blank_5_c -1,0,3 -job_sword1,127,206,0 duplicate(SwdTrap2) 2_blank_5_d -1,0,3 -job_sword1,113,203,0 duplicate(SwdTrap2) 2_blank_5_e -1,14,0 -job_sword1,125,210,0 duplicate(SwdTrap2) 2_blank_5_f -1,2,0 -job_sword1,113,201,0 duplicate(SwdTrap2) 2_blank_6_a -1,14,0 -job_sword1,113,201,0 duplicate(SwdTrap2) 2_blank_6_b -1,2,0 - -job_sword1,155,212,0 duplicate(SwdTrap2) 2_blank_7_a -1,21,0 -job_sword1,181,212,0 duplicate(SwdTrap2) 2_blank_7_b -1,2,0 -job_sword1,155,210,0 duplicate(SwdTrap2) 2_blank_8_a -1,21,0 -job_sword1,181,210,0 duplicate(SwdTrap2) 2_blank_8_b -1,2,0 -job_sword1,130,206,0 duplicate(SwdTrap2) 2_blank_8_c -1,0,3 -job_sword1,183,206,0 duplicate(SwdTrap2) 2_blank_8_d -1,0,3 -job_sword1,155,203,0 duplicate(SwdTrap2) 2_blank_8_e -1,21,0 -job_sword1,181,203,0 duplicate(SwdTrap2) 2_blank_8_f -1,2,0 -job_sword1,155,201,0 duplicate(SwdTrap2) 2_blank_9_a -1,40,0 -job_sword1,181,201,0 duplicate(SwdTrap2) 2_blank_9_b -1,2,0 - -// Pitfalls (Set 3) -//============================================================ -job_sword1,17,174,0 script 3_blank_1_a::SwdTrap3 -1,2,0,{ -OnTouch: - switch(rand(1,5)) { - case 1: warp "job_sword1",195,15; end; - case 2: warp "job_sword1",195,38; end; - case 3: warp "job_sword1",231,30; end; - case 4: warp "job_sword1",198,65; end; - case 5: warp "job_sword1",196,116; end; - } -} - -job_sword1,17,163,0 duplicate(SwdTrap3) 3_blank_2_a -1,2,0 -job_sword1,29,171,0 duplicate(SwdTrap3) 3_blank_3_a -1,2,0 -job_sword1,31,168,0 duplicate(SwdTrap3) 3_blank_3_b -1,0,2 -job_sword1,28,166,0 duplicate(SwdTrap3) 3_blank_3_c -1,2,0 -job_sword1,26,168,0 duplicate(SwdTrap3) 3_blank_3_d -1,0,2 -job_sword1,36,169,0 duplicate(SwdTrap3) 3_blank_4_a -1,0,0 -job_sword1,37,169,0 duplicate(SwdTrap3) 3_blank_4_b -1,0,0 -job_sword1,37,168,0 duplicate(SwdTrap3) 3_blank_4_c -1,0,0 -job_sword1,36,168,0 duplicate(SwdTrap3) 3_blank_4_c2 -1,0,0 -job_sword1,40,175,0 duplicate(SwdTrap3) 3_blank_5_a -1,0,1 -job_sword1,41,175,0 duplicate(SwdTrap3) 3_blank_5_b -1,0,1 -job_sword1,41,171,0 duplicate(SwdTrap3) 3_blank_6_a -1,1,0 -job_sword1,41,170,0 duplicate(SwdTrap3) 3_blank_6_b -1,1,0 -job_sword1,41,167,0 duplicate(SwdTrap3) 3_blank_6_c -1,1,0 -job_sword1,41,166,0 duplicate(SwdTrap3) 3_blank_6_d -1,1,0 -job_sword1,42,169,0 duplicate(SwdTrap3) 3_blank_6_e -1,0,1 -job_sword1,43,170,0 duplicate(SwdTrap3) 3_blank_6_f -1,0,1 -job_sword1,43,167,0 duplicate(SwdTrap3) 3_blank_6_g -1,0,1 -job_sword1,40,162,0 duplicate(SwdTrap3) 3_blank_7_a -1,0,1 -job_sword1,41,162,0 duplicate(SwdTrap3) 3_blank_7_b -1,0,1 -job_sword1,46,175,0 duplicate(SwdTrap3) 3_blank_8_a -1,0,1 -job_sword1,51,175,0 duplicate(SwdTrap3) 3_blank_8_b -1,0,1 -job_sword1,47,174,0 duplicate(SwdTrap3) 3_blank_8_c -1,1,0 -job_sword1,50,174,0 duplicate(SwdTrap3) 3_blank_8_d -1,1,0 -job_sword1,48,173,0 duplicate(SwdTrap3) 3_blank_8_e -1,0,1 -job_sword1,49,173,0 duplicate(SwdTrap3) 3_blank_8_f -1,0,1 -job_sword1,46,162,0 duplicate(SwdTrap3) 3_blank_9_a -1,0,1 -job_sword1,51,162,0 duplicate(SwdTrap3) 3_blank_9_b -1,0,1 -job_sword1,47,163,0 duplicate(SwdTrap3) 3_blank_9_c -1,1,0 -job_sword1,50,163,0 duplicate(SwdTrap3) 3_blank_9_d -1,1,0 -job_sword1,48,164,0 duplicate(SwdTrap3) 3_blank_9_e -1,0,1 -job_sword1,49,164,0 duplicate(SwdTrap3) 3_blank_9_f -1,0,1 -job_sword1,54,170,0 duplicate(SwdTrap3) 3_blank_10_a -1,0,1 -job_sword1,55,170,0 duplicate(SwdTrap3) 3_blank_10_b -1,0,1 -job_sword1,54,167,0 duplicate(SwdTrap3) 3_blank_10_c -1,0,1 -job_sword1,55,167,0 duplicate(SwdTrap3) 3_blank_10_d -1,0,1 -job_sword1,53,169,0 duplicate(SwdTrap3) 3_blank_10_e -1,1,0 -job_sword1,53,168,0 duplicate(SwdTrap3) 3_blank_10_f -1,1,0 -job_sword1,56,169,0 duplicate(SwdTrap3) 3_blank_10_g -1,1,0 -job_sword1,56,168,0 duplicate(SwdTrap3) 3_blank_10_h -1,1,0 -job_sword1,58,175,0 duplicate(SwdTrap3) 3_blank_11_a -1,0,1 -job_sword1,59,174,0 duplicate(SwdTrap3) 3_blank_11_b -1,1,0 -job_sword1,60,173,0 duplicate(SwdTrap3) 3_blank_11_c -1,0,1 -job_sword1,61,172,0 duplicate(SwdTrap3) 3_blank_11_d -1,1,0 -job_sword1,58,162,0 duplicate(SwdTrap3) 3_blank_12_a -1,0,1 -job_sword1,59,163,0 duplicate(SwdTrap3) 3_blank_12_b -1,1,0 -job_sword1,60,164,0 duplicate(SwdTrap3) 3_blank_12_c -1,0,1 -job_sword1,61,165,0 duplicate(SwdTrap3) 3_blank_12_d -1,1,0 -job_sword1,76,172,0 duplicate(SwdTrap3) 3_blank_13_a -1,1,0 -job_sword1,77,173,0 duplicate(SwdTrap3) 3_blank_13_b -1,0,1 -job_sword1,78,174,0 duplicate(SwdTrap3) 3_blank_13_c -1,1,0 -job_sword1,79,175,0 duplicate(SwdTrap3) 3_blank_13_d -1,0,1 -job_sword1,76,165,0 duplicate(SwdTrap3) 3_blank_14_a -1,1,0 -job_sword1,77,164,0 duplicate(SwdTrap3) 3_blank_14_b -1,0,1 -job_sword1,78,163,0 duplicate(SwdTrap3) 3_blank_14_c -1,1,0 -job_sword1,79,162,0 duplicate(SwdTrap3) 3_blank_14_d -1,0,1 -job_sword1,94,175,0 duplicate(SwdTrap3) 3_blank_15_a -1,0,1 -job_sword1,95,174,0 duplicate(SwdTrap3) 3_blank_15_b -1,1,0 -job_sword1,98,174,0 duplicate(SwdTrap3) 3_blank_15_c -1,1,0 -job_sword1,99,175,0 duplicate(SwdTrap3) 3_blank_16_d -1,0,1 -job_sword1,96,169,0 duplicate(SwdTrap3) 3_blank_17_a -1,0,0 -job_sword1,97,169,0 duplicate(SwdTrap3) 3_blank_17_b -1,0,0 -job_sword1,97,168,0 duplicate(SwdTrap3) 3_blank_17_c -1,0,0 -job_sword1,96,168,0 duplicate(SwdTrap3) 3_blank_17_d -1,0,0 -job_sword1,94,162,0 duplicate(SwdTrap3) 3_blank_18_a -1,0,1 -job_sword1,95,163,0 duplicate(SwdTrap3) 3_blank_18_b -1,1,0 -job_sword1,98,163,0 duplicate(SwdTrap3) 3_blank_18_c -1,1,0 -job_sword1,99,162,0 duplicate(SwdTrap3) 3_blank_18_d -1,0,1 -job_sword1,114,175,0 duplicate(SwdTrap3) 3_blank_19_a -1,0,1 -job_sword1,115,175,0 duplicate(SwdTrap3) 3_blank_19_b -1,0,1 -job_sword1,114,162,0 duplicate(SwdTrap3) 3_blank_20_a -1,0,1 -job_sword1,115,162,0 duplicate(SwdTrap3) 3_blank_20_b -1,0,1 -job_sword1,126,175,0 duplicate(SwdTrap3) 3_blank_21_a -1,0,1 -job_sword1,127,175,0 duplicate(SwdTrap3) 3_blank_21_b -1,0,1 -job_sword1,126,162,0 duplicate(SwdTrap3) 3_blank_23_a -1,0,1 -job_sword1,127,162,0 duplicate(SwdTrap3) 3_blank_23_b -1,0,1 -job_sword1,160,174,0 duplicate(SwdTrap3) 3_blank_24_a -1,0,2 -job_sword1,161,174,0 duplicate(SwdTrap3) 3_blank_24_b -1,0,2 -job_sword1,160,163,0 duplicate(SwdTrap3) 3_blank_25_a -1,0,2 -job_sword1,161,163,0 duplicate(SwdTrap3) 3_blank_25_b -1,0,2 -job_sword1,168,175,0 duplicate(SwdTrap3) 3_blank_26_a -1,0,2 -job_sword1,169,175,0 duplicate(SwdTrap3) 3_blank_26_b -1,0,2 -job_sword1,168,162,0 duplicate(SwdTrap3) 3_blank_27_a -1,0,2 -job_sword1,169,162,0 duplicate(SwdTrap3) 3_blank_27_b -1,0,2 -job_sword1,176,174,0 duplicate(SwdTrap3) 3_blank_28_a -1,0,2 -job_sword1,177,174,0 duplicate(SwdTrap3) 3_blank_28_b -1,0,2 -job_sword1,178,173,0 duplicate(SwdTrap3) 3_blank_28_c -1,1,0 -job_sword1,178,172,0 duplicate(SwdTrap3) 3_blank_28_d -1,1,0 -job_sword1,181,174,0 duplicate(SwdTrap3) 3_blank_28_e -1,2,0 -job_sword1,179,169,0 duplicate(SwdTrap3) 3_blank_29_a -1,3,0 -job_sword1,179,168,0 duplicate(SwdTrap3) 3_blank_29_b -1,3,0 -job_sword1,182,169,0 duplicate(SwdTrap3) 3_blank_29_c -1,0,2 -job_sword1,183,169,0 duplicate(SwdTrap3) 3_blank_29_d -1,0,2 -job_sword1,181,167,0 duplicate(SwdTrap3) 3_blank_29_e -1,1,0 -job_sword1,181,166,0 duplicate(SwdTrap3) 3_blank_29_f -1,1,0 -job_sword1,183,167,0 duplicate(SwdTrap3) 3_blank_29_g -1,0,1 -job_sword1,176,163,0 duplicate(SwdTrap3) 3_blank_30_a -1,0,2 -job_sword1,177,163,0 duplicate(SwdTrap3) 3_blank_30_b -1,0,2 -job_sword1,181,163,0 duplicate(SwdTrap3) 3_blank_30_c -1,2,0 - -// Monsters (all three courses) -//============================================================ -job_sword1,0,0,0,0 monster Chonchon 1183,20,0,0,0 -job_sword1,35,79,0,0 monster Fabre 1184,3,60000,30000,0 -job_sword1,50,108,0,0 monster Fabre 1184,3,60000,30000,0 -job_sword1,61,28,0,0 monster Fabre 1184,3,60000,30000,0 -job_sword1,61,92,0,0 monster Fabre 1184,3,60000,30000,0 -job_sword1,110,112,0,0 monster Fabre 1184,2,60000,30000,0 -job_sword1,161,94,0,0 monster Fabre 1184,2,60000,30000,0 -job_sword1,130,76,0,0 monster Fabre 1184,2,60000,30000,0 -job_sword1,103,58,0,0 monster Fabre 1184,2,60000,30000,0 -job_sword1,130,24,0,0 monster Fabre 1184,5,60000,30000,0 -job_sword1,201,36,0,0 monster Fabre 1184,2,60000,30000,0 -job_sword1,201,16,0,0 monster Fabre 1184,2,60000,30000,0 -job_sword1,239,44,0,0 monster Fabre 1184,3,60000,30000,0 -job_sword1,239,76,0,0 monster Fabre 1184,2,60000,30000,0 -job_sword1,231,101,0,0 monster Fabre 1184,2,60000,30000,0 -job_sword1,234,117,0,0 monster Fabre 1184,2,60000,30000,0 -job_sword1,198,91,0,0 monster Fabre 1184,2,60000,30000,0 -job_sword1,200,63,0,0 monster Fabre 1184,2,60000,30000,0 +} \ No newline at end of file diff --git a/npc/pre-re/jobs/1-1/thief.txt b/npc/pre-re/jobs/1-1/thief.txt index 4ee8832f9..956b5c277 100644 --- a/npc/pre-re/jobs/1-1/thief.txt +++ b/npc/pre-re/jobs/1-1/thief.txt @@ -1,43 +1,33 @@ -//===== rAthena Script ======================================= -//= Thief Job Quest -//===== By: ================================================== -//= rAthena dev team -//===== Current Version: ===================================== -//= 1.8 -//===== Compatible With: ===================================== +//===== rAthena Script ======================================= +//= Renewal Thief Job Change +//===== By: ================================================== +//= Kisuka +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== //= rAthena SVN -//===== Description: ========================================= -//= [Aegis Conversion] -//= Job quest for Thief classes -//===== Additional Comments: ================================= -//= Fully working -//= v1.1 Added instant job change for High Novice [Lupus] -//= 1.3 Added Baby Class support [Lupus] -//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] -//= Fixed possible EXP abuse [Lupus] -//= 1.5 Now saves/restores all quest skills [Lupus] -//= 1.6 Merged back JFunc [Lupus] 1.6a typos -//= 1.7 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] -//= No longer uses function "F_ToHigh" -//= 1.8 Added Quest Log commands. [L0ne_W0lf] -//============================================================ - -moc_prydb1,39,129,2 script Thief Guide 69,{ +//===== Description: ========================================= +//= Job Change to Thief Class +//===== Additional Comments: ================================= +//= 1.0 First Version. [Kisuka] +//= 1.1 Added Baby job change support. [Masao] +//============================================================ +moc_prydb1,39,129,2 script Thief Guildsman 69,{ if (Upper == 1) { - if (ADVJOB == Job_Assassin_Cross || ADVJOB == Job_Stalker) { + if (FJOB == Job_Guillotine_Cross || FJOB == Job_Shadow_Chaser) { if (Class == Job_Novice_High) { - mes "[Thief Guide]"; + mes "[Thief Guildsman]"; 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 "[Thief Guildsman]"; 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 "[Thief Guildsman]"; mes "Take your time and learn all the Basic Skills, will you? Well then, see you later~!"; close; } - mes "[Thief Guide]"; + mes "[Thief Guildsman]"; 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; @@ -46,315 +36,202 @@ moc_prydb1,39,129,2 script Thief Guide 69,{ skill 150,1,0; skill 151,1,0; skill 152,1,0; - mes "[Thief Guide]"; + mes "[Thief Guildsman]"; 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 "[Thief Guildsman]"; + if (Sex == 1) { 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!"; + } else { + mes "Hey, baby~"; + } close; } + mes "[Thief Guildsman]"; + if (Sex == 1) { + 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 (BaseJob == Job_Thief) { - mes "[Thief Guide]"; - mes "If you have a problem, feel free to speak to me anytime, alright?"; + if (Class == Job_Baby_Thief || Class == Job_Thief || Class == Job_Thief_High) { + mes "[Thief Guildsman]"; + mes "Hey~ if you have any trouble, get it out to me anytime, huh?"; close; } - else if (BaseJob != Job_Novice && BaseJob != Job_Thief) { - mes "[Thief Guide]"; + if ((Class != Job_Baby) && (Class != Job_Novice) && (Class != Job_Baby_Thief) && (Class != Job_Thief)) { + mes "[Thief Guildsman]"; mes "What the heck...?"; - switch(Class) { - case 1: + switch (Class) { + case Job_Swordman: mes "Huh."; mes "Now, that's"; mes "a big sword."; next; - mes "[Thief Guide]"; + mes "[Thief Guildsman]"; mes "So..."; mes "Trying to make"; mes "up for something"; mes "...Buddy?"; - break; - case 2: + close; + case Job_Mage: mes "What's a Mage doin' here? Shouldn't you be doing card tricks elsewhere? Oh well, it's a free country..."; next; - mes "[Thief Guide]"; + mes "[Thief Guildsman]"; mes "Oh wait,"; mes "it's not..."; mes "Get outta here!"; - break; - case 3: + close; + case Job_Archer: mes "Man, shouldn't you"; mes "Archers be playing"; mes "in the forest"; mes "or something?"; - break; - case 4: - mes "You know we all steal for a living, right? What are you doing in this kinda place, Acolyte?"; - break; - case 5: + close; + case Job_Merchant: mes "You're a Merchant,"; mes "right? Why are you"; mes "walking into a den"; mes "of Thieves?!"; next; - mes "[Thief Guide]"; + mes "[Thief Guildsman]"; mes "It's like you're begging"; mes "us to steal from you!"; mes "Come on, hurry and"; mes "get outta here~"; - break; - case 8: - mes "Oh my God..."; - mes "Am I dying?"; - next; - mes "[Thief Guide]"; - mes "Why else would a Priest come here? I guess I better start confessing all of my misdeeds."; close; - case 12: + case Job_Acolyte: + mes "You know we all steal for a living, right? What are you doing in this kinda place, Acolyte?"; + close; + case Job_Assassin: mes "Didn't you use to be one of us?! Man, you changed. You seem real dangerous now..."; close; - case 17: + close; + case Job_Rogue: mes "Man, you got real cool all of a sudden! You must have some skills I can only dream of!"; close; - } - next; - mes "[Thief Guide]"; - mes "*Sigh* Look, there's really no need for you to be in this kind of place. You oughta go where you ought to go."; - close; - } - if (job_thief_q == 3 && countitem(1069) > 0 || countitem(1070) > 0) { - mes "[Thief Guide]"; - mes "Hmmm?"; - mes "You gathered Mushrooms for"; - mes "the Thief test, right?"; - next; - mes "[Thief Guide]"; - mes "Here, talk to the other guy right next to me. He's the one in charge of checking your Mushrooms."; - close; - } - else if (job_thief_q == 3) { - mes "[Thief Guide]"; - mes "So how was the"; - mes "Mushroom Farm?"; - mes "Have any fun?"; - next; - if (select("Yeah, kinda Cool.:It was horrible.") == 1) { - mes "[Thief Guide]"; - mes "Heh heh! That's a good attitude. In our line of work, you gotta enjoy getting your hands dirty, one way or another."; close; - } - mes "[Thief Guide]"; - mes "Yeah? I've been there too, so I can see why that place isn't everyone's cup of tea. Still, being a Thief isn't all glamour and trendy night life."; - close; - } - if (job_thief_q == 2) { - mes "[Thief Guide]"; - mes "Hey, whaddya doin' here? Aren't you supposed to be gathering Mushrooms? Or did you need it explained to you again?"; - next; - if (select("Yes.:No, that's okay.") == 1) { - mes "[Thief Guide]"; - mes "*Sigh* Well, there's always one in the bunch. Alright, listen carefully."; - next; - mes "[Thief Guide]"; - mes "Alright, for your test, you gotta steal Mushrooms from a farm. Don't worry, the guy who owns the farm deserves to be robbed."; - next; - mes "[Thief Guide]"; - mes "Anyway, you gotta gather two kinds of Mushrooms: ^0000FFOrange Net Mushrooms^000000 and ^0000FFOrange Gooey Mushrooms^000000."; - next; - mes "[Thief Guide]"; - mes "Be careful, since there are monsters are the farm that are there to protect the Mushrooms. So this will be no walk in the park."; - next; - mes "[Thief Guide]"; - mes "When you come back here after gathering Mushrooms, you'll be graded on the Mushrooms you've collected."; - next; - mes "[Thief Guide]"; - mes "Each Orange Net Mushroom gets you 3 points, and you get 1 point for each Orange Gooey Mushroom. You need a total of 25 points to pass the test."; - next; - mes "[Thief Guide]"; - mes "Go outside and keep going ahead toward the Eastern Field of the Pyramids. Then you will see one of our comrades between two columns."; - next; - mes "[Thief Guide]"; - mes "Speak to that guy, and he'll take you to the farm through the backdoor."; + case Job_Priest: + mes "Oh my God..."; + mes "Am I dying?"; next; - mes "[Thief Guide]"; - mes "On that field, I think his coordinates are '^FF0000141, 125^000000.' Just type ^3355FF/where^000000 in the right side of your chat box to check your present coordinates."; + mes "[Thief Guildsman]"; + mes "Why else would a Priest come here? I guess I better start confessing all of my misdeeds."; close; } - mes "[Thief Guide]"; - mes "Huh. For a second there, I thought you had something really important to tell me."; + next; + if (Sex == 1) { + 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; } - mes "[Thief Guide]"; - if (job_thief_q == 0) { - mes "What brings you down"; - mes "here to this rathole?"; - } - else { - mes "Ah..."; - mes "You came back."; - mes "Are you sure you're"; - mes "ready to try again?"; - } - next; - if (select("Hey, I came here to be a Thief!:Nah, I'm just looking around.") == 1) { - if (job_thief_q == 0) { - mes "[Thief Guide]"; - mes "Heh, I like your confidence. Still, you know being a Thief isn't all what it's cracked up to be."; - next; - mes "[Thief Guide]"; - mes "Still..."; - mes "Do you really"; - mes "want to be"; - mes "a Thief?"; - next; - switch(select("Yeah.:No, just wasting your time.:Why did you become a Thief?")) { - case 1: - mes "[Thief Guide]"; - mes "Really..."; - break; - case 2: - mes "[Thief Guide]"; - mes "Yeah..."; - mes "I can see that."; - break; - case 3: - mes "[Thief Guide]"; - mes "Me...?"; - mes "I had no choice at the time. It was either steal or starve. But it's not like I need to give you my life story."; - break; - } - next; - mes "[Thief Guide]"; - mes "So do you want to"; - mes "apply to become"; - mes "a Thief or not?"; - next; - switch(select("Yes, I will.:I'm too scared to be a Thief!")) { - case 1: - mes "[Thief Guide]"; - mes "Alright, tell"; - mes "me your name."; - next; - mes "[Thief Guide]"; - mes "" + strcharinfo(0) + "?"; - mes "What kind of name is " + strcharinfo(0) + "? Anyway, give me a second."; - set job_thief_q,1; + if (Class == Job_Baby || Class == Job_Novice) { + mes "[Thief Guildsman]"; + if (Sex == 1) { + mes "Ehh... Seems like a beloved son of a rich family, but why are you here in this dirty place?"; + } + else { + mes "Ehh... Seems like a beloved daughter of a rich family, but why are you here in this dirty place?"; + } + next; + switch (select("I want to be a Thief.:Nothing.")) { + case 1: + if (THF_Q == 0) { + mes "[Thief Guildsman]"; + mes "Well, are you that proud of it? 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 Guide]"; - mes "Alright, your registration has been processed. Okay, you can begin your test if you're ready."; + mes "[Thief Guildsman]"; + mes "Do you want to be a thief so badly?"; next; - switch(select("Yeah, I'm ready.:No, I'm not ready yet.")) { + switch (select("Yes.:No.:How about you?")) { case 1: + mes "[Thief Guildsman]"; + mes "Well, are you that proud of it? 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; break; case 2: - mes "[Thief Guide]"; - mes "Not ready?"; - mes "How can you"; - mes "not be ready?!"; + 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.") == 1) { + mes "[Thief Guildsman]"; + mes "Alright, tell me your name. Huh? What?"; + mes "" + strcharinfo(0) + ". " + 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? So go and reach at least Basic Skill Level 9."; + close; + } + mes "[Thief Guildsman]"; + mes "Alright. I looked at your Felony Record, and you seem to have a very interesting history. You might have what it takes to be a Thief."; + mes "" + strcharinfo(0) + ". I now decree that you have passed this interview. Good work!"; + set THF_Q,1; + 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."; close; } - break; - case 2: - mes "[Thief Guide]"; - mes "Too scared?!?"; - mes "Hahahahahahah!"; - mes "Oh, please...!"; - mes "That's hilarious!"; + mes "[Thief Guildsman]"; + mes "Well... do what you want to do~ Go your way~"; close; } - } - else { - mes "[Thief Guide]"; - mes "Okay..."; - mes "Give me"; - mes "one second."; + if (THF_Q == 1) { + 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; + } + mes "[Thief Guildsman]"; + mes "Oh, before I let you go... ...did you take any mushrooms?"; + mes "... ...It was a joke."; + mes "You don't need to do a test, and if you want to jobchange, you can do it directly."; next; - } - mes "[Thief Guide]"; - mes "Your name is..."; - mes strcharinfo(0) + "? Um, where is it? Ah, here it is. Let's see..."; - next; - mes "[Thief Guide]"; - if (getskilllv("NV_BASIC") < 9) { - mes "Isn't that cute? I can see you're ambitious, but you gotta learn all of the Basic Skills before you can become a Thief."; + mes "[Thief Guildsman]"; + mes "In short it was just a joke."; + mes "Ha ha ha ha ha!!"; close; - } - mes "Alright. I looked at your Felony Record, and you seem to have a very interesting history. You might have what it takes to be a Thief."; - next; - mes "[Thief Guide]"; - mes "Because I feel like it, I now decree that you have passed this interview. Good work!"; - set job_thief_q,2; - setquest 1013; - next; - mes "[Thief Guide]"; - mes "Now, your actual abilities will need to be tested. Do you know anything about the test?"; - next; - switch(select("Yes, I do.:Sorry, I don't.")) { - case 1: - mes "[Thief Guide]"; - mes "Oh yeah? Well, this makes things a lot easier."; - break; case 2: - mes "[Thief Guide]"; - mes "Alright, let me inform you then. Listen carefully. This test decides if you are worthy of becoming a Thief."; - next; - mes "[Thief Guide]"; - mes "You will be sneaking to Shibu's Farm. He is the worst Merchant, in terms of character, in Morroc."; - next; - mes "[Thief Guide]"; - mes "Alright, for your test, you gotta steal Mushrooms from his farm. Don't worry, that guy deserves to be robbed."; - next; - mes "[Thief Guide]"; - mes "Anyway, you gotta gather two kinds of Mushrooms: ^0000FFOrange Net Mushrooms^000000 and ^0000FFOrange Gooey Mushrooms^000000."; - next; - mes "[Thief Guide]"; - mes "Be careful, since there are monsters are the farm that are there to protect the Mushrooms. So this will be no walk in the park."; - next; - mes "[Thief Guide]"; - mes "When you come back here after gathering Mushrooms, you'll be graded on the Mushrooms you've collected."; - next; - mes "[Thief Guide]"; - mes "Each Orange Net Mushroom gets you 3 points, and you get 1 point for each Orange Gooey Mushroom. You need a total of 25 points to pass the test."; - next; - mes "[Thief Guide]"; - mes "Go outside and keep going ahead toward the Eastern Field of the Pyramids. Then you will see one of our comrades between two columns."; - next; - mes "[Thief Guide]"; - mes "Speak to that guy, and he'll take you to the farm through the backdoor."; - next; - mes "[Thief Guide]"; - mes "On that field, I think his coordinates are '^FF0000141, 125^000000.' Just type ^3355FF/where^000000 in the right side of your chat box to check your present coordinates."; + mes "[Thief Guildsman]"; + mes "You know you cannot be a thief without an application....."; + mes "What's on your mind..?"; + close; } - next; - mes "[Thief Guide]"; - mes "Don't forget to make plans and prepare yourself before you go inside the Mushroom Farm. Move as quickly as you can and try not to get killed, alright?"; - close; } - close; } moc_prydb1,42,133,2 script Comrade 118,{ - if (BaseJob == Job_Thief) { + if (Class == Job_Baby_Thief || Class == Job_Thief || Class == Job_Thief_High) { mes "[Brad]"; - mes "We don't have any special events yet. Come some other time when there's news, alright?"; + mes "I don't have any special events now. So go on your way and come back later."; close; } - else if (BaseJob != Job_Novice && BaseJob != Job_Thief) { + if ((Class != Job_Baby) && (Class != Job_Novice) && (Class != Job_Baby_Thief) && (Class != Job_Thief)) { mes "[Comrade]"; mes "Um..."; mes "You don't look"; @@ -365,156 +242,81 @@ moc_prydb1,42,133,2 script Comrade 118,{ mes "you doing here anyway?"; close; } - if (job_thief_q == 0 || job_thief_q == 1) { + if (THF_Q == 0) { mes "[Comrade]"; - mes "What's the matter? If you want to be a Thief, speak to the girl beside me."; + mes "What's the matter? If you want to be a Thief, speak to the woman beside me."; close; } - else if (job_thief_q == 2) { - mes "[Comrade]"; - mes "Did you pass the interview?"; - mes "Then what are you waiting for?"; - close; - } - else if (job_thief_q == 3) { - mes "[Comrade]"; - mes "Ah, the guide told me about you. So, let me check your mushrooms..."; - if (countitem(1069) == 0 && countitem(1070) == 0) { - next; - mes "[Comrade]"; - mes "What the hell..."; - mes "You don't have any Mushrooms at all! Go back and get them. Otherwise, you won't pass the test and become a Thief!"; - close; - } - next; - set .@thief_item1,countitem(1069) * 3; - set .@thief_item2,countitem(1070); - set .@total_thief,.@thief_item1 + .@thief_item2; - set .@money_thief,((.@thief_item1 * 5) + (.@thief_item2 * 2)) + 200; - mes "[Comrade]"; - if (countitem(1069) != 0) { - mes "First, let me check the Orange Net Mushrooms you got."; - mes "Huh, " + countitem(1069) + " of them."; - } - if (countitem(1070) != 0) - mes "Now I'll just check your Orange Gooey Mushrooms. That's " + countitem(1070) + " you gathered."; - next; - mes "[Comrade]"; - mes "So that would"; - mes "bring your total to..."; - next; - mes "[Comrade]"; - mes "Hmmm. " + .@total_thief + " degrees, multiplied by the speed of light, divided by the integral of pi times height plus the absolute value of politics..."; - next; - mes "[Comrade]"; - mes "Okay!"; - mes "I got it."; + if (THF_Q == 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 "[Comrade]"; - if (.@total_thief > 25) { - mes "You got more"; - mes "than 25 points!"; - mes "Awesome!"; - } - else if (.@total_thief == 25) { - mes "Exactly 25 points!"; - mes "You did it! Badass!"; - } - else { - mes "Definitely less than the 25 points you need to pass. Go out there and get me more Mushrooms!"; - close; + mes "[Leader of Thief Guild 'E']"; + mes "" + strcharinfo(0) + "..."; + mes "'For those who are ready, the moonlight shall open the way. You are now one of us.'"; + skill 143,0,1; + if(Class == Job_Baby){ + jobchange Job_Baby_Thief; + } else { + jobchange Job_Thief; } + getitem 13041,1; //N_Main_Gauche + erasequest 1013; next; - mes "[Comrade]"; - mes strcharinfo(0) + "..."; - mes "You have passed the official Thief Test. You are now one of us."; - if (countitem(1069) != 0) delitem 1069,countitem(1069); //Mushroom_Of_Thief_1 - if (countitem(1070) != 0) delitem 1070,countitem(1070); //Mushroom_Of_Thief_2 - callfunc "Job_Change",Job_Thief; - callfunc "F_ClearJobVar"; - completequest 1013; - next; - mes "[Comrade]"; - mes "Congratulations on becoming a Thief! From now, be an honorable representative of the Thief's Guild."; - next; - mes "[Comrade]"; - mes "If you bring disgrace to our guild, you will be killed. I expect you to bring our comrades pride."; + mes "[Leader of Thief Guild 'E']"; + mes "'Congratulations on becoming a Thief!'"; + mes "'From now, be an honorable representative of the Thief's Guild.'"; + mes "'If you bring disgrace to our guild, you will be killed.'"; + mes "'Anyway, I expect you to be a great Thief.'"; next; mes "[Brad]"; - mes "*Ahem* Welcome to the Guild, comrade! I'm Brad, and I'm in charge of human resources here."; + mes "*Ahem* Welcome to the Guild, comrade!"; + mes "I'm Brad, and 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 "Here is a small subsidy for a Newbie like you. Spend it whereever you want. Alright then, I'll see you around~"; - set zeny,zeny+.@money_thief; + mes "Okay, I've done what I can do to you, so go on your way. I'm a quite busy man."; + mes "Alright then, I'll see you around~"; close; } } moc_ruins,141,125,3 script Mr. Irrelevant 83,{ - if (BaseJob == Job_Thief) { + if (Class == Job_Baby_Thief || Class == Job_Thief) { mes "[Mr. Irrelevant]"; mes "Ah, I see that you are now a Thief. I always knew you'd join us."; next; mes "[Mr. Irrelevant]"; - mes "Stealing from a Mushroom farm is too easy for you now. You should build up your skills and master our craft."; + mes "Why don't you leave this place?"; close; } - else if (BaseJob != Job_Novice && BaseJob != Job_Thief) { - mes "[Mr. Irrelevant]"; - switch(rand(4)) { + if ((Class != Job_Baby) && (Class != Job_Novice) && (Class != Job_Baby_Thief) && (Class != Job_Thief)) { + set .@rand,rand(1,5); + switch(.@rand){ + mes "[Mr. Irrelevant]"; case 1: - mes "I could use a good, hard drink."; + mes "Today looks like a good day to go to the pyramids and hunt with some of my friends."; close; case 2: + mes "I could use a good, hard drink."; + close; + case 3: mes "Gimme your money."; next; mes "[Mr. Irrelevant]"; mes "Kidding, I'm off the clock."; close; - case 3: + case 4: mes "WHO YOU CALLING A PSYCHO?!?!"; close; - case 4: + case 5: mes "I've got nothing to say to you. Would you mind leaving me alone?"; close; - default: - mes "Today looks like a good day to go to the pyramids and hunt with some of my friends."; - close; - } - } - if (job_thief_q == 3) { - mes "[Mr. Irrelevant]"; - mes "Hahahahaha~!"; - mes "You haven't"; - mes "passed the test yet?"; - mes "Alright, I'll let you in..."; - close2; - switch(rand(5)) { - case 1: warp "job_thief1",228,106; end; - case 2: warp "job_thief1",38,50; end; - case 3: warp "job_thief1",66,331; end; - case 4: warp "job_thief1",196,331; end; - default: warp "job_thief1",309,234; end; } } - else if (job_thief_q == 2) { - mes "[Mr. Irrelevant]"; - mes "Hmm..."; - mes "You've come to take the test, right? I can see in your eyes that you know something."; - next; - mes "[Mr. Irrelevant]"; - mes "Your name is " + strcharinfo(0) + "? Ah, it's on the list. Alright, I'll let you into the Mushroom Farm , but I can't guarantee your safety..."; - close2; - set job_thief_q,3; - switch(rand(5)) { - case 1: warp "job_thief1",228,106; end; - case 2: warp "job_thief1",38,50; end; - case 3: warp "job_thief1",66,331; end; - case 4: warp "job_thief1",196,331; end; - default: warp "job_thief1",309,234; end; - } - } - else if (job_thief_q == 1) { + if (THF_Q == 1) { mes "[Mr. Irrelevant]"; mes "There is this strange smell coming from... You. Now why would that be?"; close; @@ -525,15 +327,4 @@ moc_ruins,141,125,3 script Mr. Irrelevant 83,{ mes "[Mr. Irrelevant]"; mes "You can get more information in the Underground Room in the Pyramid 1 BF."; close; -} - -// Monsters -//============================================================ -job_thief1,0,0,0,0 monster Orange Mushroom 1182,180,0,0,0 -job_thief1,0,0,0,0 monster Fabre 1184,50,0,0,0 -job_thief1,0,0,0,0 monster Chonchon 1183,50,0,0,0 -job_thief1,0,0,0,0 monster Spore 1014,30,0,0,0 - -//============================================================ -// mapflag -//============================================================ +} \ No newline at end of file diff --git a/npc/re/jobs/1-1/acolyte.txt b/npc/re/jobs/1-1/acolyte.txt index a200ec514..0c8307cbb 100644 --- a/npc/re/jobs/1-1/acolyte.txt +++ b/npc/re/jobs/1-1/acolyte.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.1 +//= 1.2 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -11,10 +11,11 @@ //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] //= 1.1 Added back the npcs used for the priest quest. +//= 1.2 Added Baby job change support. [Masao] //============================================================ prt_church,184,41,4 script Cleric#aco 60,{ if (Upper == 1) { - if (ADVJOB == Job_High_Priest || ADVJOB == Job_Champion) { + if (FJOB == Job_Arch_Bishop || FJOB == Job_Sura) { if (Class == Job_Novice_High) { mes "[Father Mareusis]"; mes "Ah, I sense you have endured"; @@ -38,62 +39,74 @@ prt_church,184,41,4 script Cleric#aco 60,{ mes "wish you luck on your"; mes "new life's journey."; next; - skill 143,0,0; + skill 143,0,1; 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."; + mes "Now, venture forth to seek people who need your help. May God enlighten your way."; close; } + 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.")) { + switch (select("Father, I want to be a Acolyte.:Acolyte Requirements.:Just looking around.")) { case 1: - if(Class != Job_Novice) { + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { 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?"; - } + 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?"; 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; - } + } + if ((Class != Job_Baby) && (Class != Job_Novice)) { 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 "I'm sorry, but we can only accept Novices as applicants for the job change to Acolyte."; + close; + } + 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 "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 + mes "Good Lord! Haven't you accomplished the Basic Training yet?! It's important that you finish that!"; next; mes "[Father Mareusis]"; - mes "Lastly, I want to sincerely congratulate you on persevering through your trial of penance."; + mes "You should have trained more! Go back and make sure you reach Novice Job Level 9 and learn all of the Basic Skills!"; close; } + mes "[Father Mareusis]"; + mes "Hmm... your job level is high enough and you've proven your qualification."; + next; + mes "[Father Mareusis]"; + mes "I am proud to say that you are now ready to become an Acolyte!"; + next; + skill 143,0,1; + if(Class == Job_Baby){ + jobchange Job_Baby_Acolyte; + } else { + jobchange Job_Acolyte; + } + set ACO_Q,0; + getitem 1545,1; //N_Mace + mes "[Father Mareusis]"; + mes "Always remember to be thankful to God, who is taking care of us all the time."; + next; + mes "[Father Mareusis]"; + mes "Always use your gifts to serve Him by helping others. In chaos and times of difficulty, face your hardships with unwavering faith."; + 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?"; @@ -104,7 +117,7 @@ prt_church,184,41,4 script Cleric#aco 60,{ 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."; + mes "When you think you fulfilled this requirement I've asked of you. As long as your desire to serve God and others is sincere, you will be able to make it."; close; case 3: close; @@ -112,17 +125,18 @@ prt_church,184,41,4 script Cleric#aco 60,{ } prt_fild03,365,255,2 script Ascetic#aco 89,{ - mes "[Father Rubalkabara]"; - if (BaseJob == Job_Novice) { - if (job_acolyte_q == 6) { + if (Class == Job_Novice) { + if (ACO_Q== 6) { + mes "[Father Rubalkabara]"; 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) { + if (ACO_Q!= 0) { + if (ACO_Q== 2) { + mes "[Father Rubalkabara]"; 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]"; @@ -142,133 +156,207 @@ prt_fild03,365,255,2 script Ascetic#aco 89,{ next; mes "[Father Rubalkabara]"; mes "Farewell."; - close2; savepoint "prt_fild03",361,255; - set job_acolyte_q,6; - end; + set ACO_Q,6; + close; } - else { - mes "Oh..."; - mes "Are you one of the"; - mes "Acolyte applicants...?"; - mes "Let's see..."; + mes "[Father Rubalkabara]"; + 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; + } + mes "[Father Rubalkabara]"; + mes "Huh? What brings you here? This is a very dangerous place for a Novice like yourself!"; + close; + } + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + if (PRST_Q != 0) { + if (PRST_Q == 1) { + mes "[Father Rubalkabara]"; + mes "Ah yes, so you're the young Acolyte who wishes to become a Priest."; next; mes "[Father Rubalkabara]"; - mes "Your name is " + strcharinfo(0) + "?"; - mes "I don't think your name"; - mes "is on my list. Hmmm..."; + 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 "Why don't you go back to the Prontera Sanctuary and check again?"; + 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."; + savepoint "prt_fild03",361,255; + set PRST_Q,2; + close; + } + if (PRST_Q == 2) { + mes "[Father Rubalkabara]"; + mes "Please be hurry to the next destination for your pilgrimage. I hope you become a Priest soon."; 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."; + mes "May I ask why you have returned? Please go back and continue your religious practice."; close; } + mes "[Father Rubalkabara]"; + mes "I have no idea what brought you here, but please excuse me."; + close; } + if (Class == Job_Baby_Priest || Class == Job_Priest) { + mes "[Father Rubalkabara]"; + 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; + } + mes "[Father Rubalkabara]"; + 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) { +moc_fild07,41,355,4 script Ascetic#2 95,{ + if (Class == Job_Novice) { + if (ACO_Q== 6) { + mes "[Mother Marthilda]"; 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 "[Mother Marthilda]"; 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) { + if (ACO_Q!= 0) { + if (ACO_Q== 3) { + mes "[Mother Marthilda]"; mes "Ah, you must be one of the Acolyte applicants. I sincerely welcome you."; next; - mes "[Mother Mathilda]"; + mes "[Mother Marthilda]"; mes "What is your name? " + strcharinfo(0) + "? Let's see... Ah, you're on my list."; next; - mes "[Mother Mathilda]"; + mes "[Mother Marthilda]"; 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 "[Mother Marthilda]"; 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; + set ACO_Q,7; + close; + } + mes "[Mother Marthilda]"; + mes "Ah...!"; + mes "You must be one"; + mes "of the Acolyte applicants."; + mes "I sincerely welcome you."; + next; + mes "[Mother Marthilda]"; + mes "Now, what is your name?"; + mes "" + strcharinfo(0) + "? Let's see..."; + next; + mes "[Mother Marthilda]"; + mes "Hmm..."; + mes "It seems your name"; + mes "is not on my list..."; + next; + mes "[Mother Marthilda]"; + mes "Perhaps you should return to the Prontera Sanctuary and check the destination for your penance trial once again."; + close; + } + mes "[Mother Marthilda]"; + mes "..."; + close; + } + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + if (PRST_Q != 0) { + if (PRST_Q == 1) { + mes "[Mother Marthilda]"; + mes "Hmm..."; + mes "It seems you're"; + mes "training to become"; + mes "a Priest."; + next; + mes "[Mother Marthilda]"; + mes "However, at this point in your pilgrimage, I am not the person that you should be visiting."; + next; + mes "[Mother Marthilda]"; + mes "Perhaps you should ask Bishop Paul or Sister Cecilia once again. Well, may God be with you..."; + close; } - else { - mes "Ah...!"; - mes "You must be one"; - mes "of the Acolyte applicants."; - mes "I sincerely welcome you."; + if (PRST_Q == 2) { + mes "[Mother Marthilda]"; + mes "Ah, are you"; + mes "a Priest trainee...?"; + mes "Welcome!"; next; - mes "[Mother Mathilda]"; - mes "Now, what is your name?"; - mes "" + strcharinfo(0) + "? Let's see..."; + mes "[Mother Marthilda]"; + mes "We Priests are obliged to spread the message of God to"; + mes "the peoples of the Earth."; next; - mes "[Mother Mathilda]"; - mes "Hmm..."; - mes "It seems your name"; - mes "is not on my list..."; + mes "[Mother Marthilda]"; + 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 "Perhaps you should return to the Prontera Sanctuary and check the destination for your penance trial once again."; + mes "[Mother Marthilda]"; + mes "Well then..."; + mes "I shall pray to"; + mes "God for safety"; + mes "on your journey."; + savepoint "moc_fild07",35,355; + set PRST_Q,3; close; } - } - else { - mes "..."; + if (PRST_Q == 3) { + mes "[Mother Marthilda]"; + mes "Please leave soon, and"; + mes "continue your training."; + close; + } + mes "[Mother Marthilda]"; + mes "May I ask you the reason you came back? Please continue your training."; close; } + mes "[Mother Marthilda]"; + mes "May God"; + mes "be with you..."; + 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; - } + if (Class == Job_Baby_Priest || Class == Job_Priest) { + mes "[Mother Marthilda]"; + mes "Hello there~"; + next; + mes "[Mother Marthilda]"; + mes "How is your practice coming along? I certainly hope you're enjoying living in the grace of God."; + close; } + mes "[Mother Marthilda]"; + 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) { +prt_fild00,208,218,6 script Ascetic#3 98,{ + if (Class == Job_Novice) { + if (ACO_Q== 8) { + mes "[Father Yosuke]"; 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) { + if (ACO_Q!= 0) { + if (ACO_Q== 4) { + mes "[Father Yosuke]"; mes "Hey."; mes "Whatever you are,"; mes "you look like an"; @@ -287,48 +375,104 @@ prt_fild00,208,218,6 script Ascetic#3aco 98,{ 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; + set ACO_Q,8; + close; } - else { - mes "Hey."; - mes "You look like an Acolyte Applicant. Am I right?"; + mes "[Father Yosuke]"; + 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; + } + mes "[Father Yosuke]"; + mes "You..."; + mes "Novice."; + mes "There something"; + mes "you wanna tell me?"; + close; + } + if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + if (PRST_Q != 0) { + if (PRST_Q == 1) { + mes "[Father Yosuke]"; + mes "Hmm..."; + mes "A Priest trainee, eh?"; 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?"; + 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; + } + if (PRST_Q == 2) { + mes "[Father Yosuke]"; + mes "Hmm..."; + mes "A Priest trainee, eh?"; next; mes "[Father Yosuke]"; - mes "" + strcharinfo(0) + ", huh? Why isn't your name on my list?"; + 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 "You probably made a mistake. Go back to the Santuary, and check with the Bishop."; + mes "But that's your own fault. Go back to Church."; + close; + } + if (PRST_Q == 3) { + mes "[Father Yosuke]"; + 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."; + savepoint "prt_fild00",206,230; + set PRST_Q,4; + close; + } + if (PRST_Q == 4) { + mes "[Father Yosuke]"; + 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; } - } - 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."; + mes "Just go be a Priest. This isn't a playground for kids."; close; } + mes "[Father Yosuke]"; + mes "...Acolyte, you don't have any business with me here."; + close; } -} - + if (Class == Job_Baby_Priest || Class == Job_Priest) { + mes "[Father Yosuke]"; + 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; + } + mes "[Father Yosuke]"; + mes "Do you have anything to say? Because unfortunately for you,"; + mes "I don't any replies."; + close; +} \ No newline at end of file diff --git a/npc/re/jobs/1-1/archer.txt b/npc/re/jobs/1-1/archer.txt index 46325309c..c51a080bd 100644 --- a/npc/re/jobs/1-1/archer.txt +++ b/npc/re/jobs/1-1/archer.txt @@ -3,21 +3,20 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.0 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Archer Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] +//= 1.1 Added Baby job change support. [Masao] //============================================================ -payon_in02,64,71,4 script Archer Guildsman#archer 85,{ +payon_in02,64,71,4 script Archer Guildsman 85,{ if (Upper == 1) { - if (Class == Job_Novice_High && (ADVJOB == Job_Sniper || ADVJOB == Job_Clown || ADVJOB == Job_Gypsy)) { + if ((Class == Job_Novice_High) && (FJOB == Job_Ranger || FJOB == Job_Minstrel || FJOB == Job_Wanderer)) { 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"; @@ -38,7 +37,7 @@ payon_in02,64,71,4 script Archer Guildsman#archer 85,{ mes "need to say anything else."; mes "I know you'll make a great Archer..."; next; - skill 143,0,0; + skill 143,0,1; jobchange Job_Archer_high; skill 147,1,0; skill 148,1,0; @@ -46,84 +45,97 @@ payon_in02,64,71,4 script Archer Guildsman#archer 85,{ 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 "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.")) { + 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{ + if (Class == Job_Baby || Class == Job_Novice) { mes "[Archer Guildsman]"; - mes "You are... "+strcharinfo(0)+". right?"; + 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"; + mes "Well, you don't have the right skill level. "; + mes "Your job level must be at least ^4d4dff10^000000"; + mes "and your Basic Skill level should reach ^4d4dfflevel 9^000000"; next; mes "[Archer Guildsman]"; - mes "Because an Archer needs extremely high concentration, so we do not accept those who have little patience."; - close; + mes "Because an Archer needs"; + mes "extremely high concentration,"; + mes "so we do not accept "; + mes "those who have little patience."; + close2; } 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."; + mes "You seem to have learned the basic skills.."; + mes "....Hm~~ you are now ready to become an Archer. I will take the step right away."; next; + skill 143,0,1; + if(Class == Job_Baby){ + jobchange Job_Baby_Archer; + } else { + jobchange Job_Archer; + } 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 + 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."; + mes "Having a bow and arrows, now you've become a real Archer."; + mes "If you open the arrow quiver, there will be arrows in it that you can equip."; + mes "Well, I expect to hear good news from you. It's time to say goodbye. Bye."; close; } + if (Class == Job_Baby_Archer || Class == Job_Archer || Class == Job_Archer_High) { + mes "[Archer Guildsman]"; + mes "Haha, you are kidding me.."; + close; + } + mes "[Archer Guildsman]"; + mes "Wait a second. You've chosen a different job already. You don't need to know this~"; + 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 "Although an Archer has weaker HP,"; + mes "he or she can shoot enemies"; + mes "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."; + mes "Although an Archer in Ragnarok has lower HP,"; + mes "he or she has high accuracy and attack rate"; + mes "so that the archer can kill monsters"; + mes "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"; + mes "^8E2323An Archer can change"; + mes "^8E2323jobs to a Hunter."; + mes "^8E2323Other than Hunter, if you are a man, you can change your job to Bard"; + mes "^8E2323and 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; } -} +} \ No newline at end of file diff --git a/npc/re/jobs/1-1/mage.txt b/npc/re/jobs/1-1/mage.txt index 99cca81c4..47fc79400 100644 --- a/npc/re/jobs/1-1/mage.txt +++ b/npc/re/jobs/1-1/mage.txt @@ -3,17 +3,18 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.0 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Mage Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] +//= 1.1 Added Baby job change support. [Masao] //============================================================ -geffen_in,164,124,4 script Mage Guildsman#mage 123,{ +geffen_in,164,124,4 script Mage Guildsman 123,{ if (Upper == 1) { - if (ADVJOB == Job_High_Wizard || ADVJOB == Job_Professor) { + if (FJOB == Job_Warlock || FJOB == Job_Sorcerer) { if (Class == Job_Novice_High) { mes "[Mage Guildsman]"; mes "Whoa, long time no see! But weren't you supposed to be dead?"; @@ -38,89 +39,110 @@ geffen_in,164,124,4 script Mage Guildsman#mage 123,{ 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."; + 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; } + 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) { + if (Class == Job_Baby_Mage || Class == Job_Mage) { 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."; - } + mes "Hey, haven't you realized? You're aleady a Mage, silly!"; + next; + mes "[Mage Guildsman]"; + mes "One of these days you'll realize the power inside of you when you can make Fire with your mind!"; close; - }else{ + } + if ((Class != Job_Baby_Mage) && (Class != Job_Mage) && (Class != Job_Novice)) { + mes "[Mage Guildsman]"; + mes "Hey~ C'mon. Quit playing games. You can't be a Mage because you already have another Job."; + close; + } + if (Class == Job_Baby || Class == Job_Novice) { mes "[Mage Guildsman]"; mes "Hey?"; next; - switch(select("I want to be a Mage:What are the requirements to be a Mage?:Nothing, thanks.")) { + switch (select("I want to be a Mage.:Tell me the Requirements.:Pretty much nothing.")) { case 1: mes "[Mage Guildsman]"; - mes "Wanna be a Mage? Eh..."; + mes "Wanna be a Mage, eh?"; next; mes "[Mage Guildsman]"; - if (Sex) { + if (Sex == 1) { mes "Hey, look at you! You're kinda cute~! Not my type though..."; - }else{ + } + 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) { + if (select("I want to be a Mage.:Pretty much nothing.") == 1) { + if (getskilllv("NV_BASIC") < 9) { + mes "[Mage Guildman]"; + mes "Oh, what a bummer. You haven't met the requirements yet."; + next; + mes "[Mage Guildman]"; + mes "Go back and reach Novice Job level 9 first. Don't forget that you also have to learn all of the Basic Skills before you come back."; + close; + } 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."; + mes "Okay. Sign right there. Oh, you're very good at spelling."; + mes "So your name is... " + strcharinfo(0) + "."; + next; + mes "[Mage Guildsman]"; + mes "Hmm I can see that you've worked very hard on your own."; + mes "Good! Always sticking to the basics is the best! I will transform you right away."; + next; + mes "[Mage Guildsman]"; + mes "*Ahem*"; + mes "Congratulations!"; + mes "You are now a Mage!"; + next; + skill 143,0,1; + if(Class == Job_Baby){ + jobchange Job_Baby_Mage; + } else { + jobchange Job_Mage; + } + getitem 1639,1; //N_Rod + set Zeny, Zeny + 50; + mes "[Mage Guildsman]"; + mes "'Welcome to My World~'"; + mes "Heh heh, I just wanted to say that. You know, it's a quote from a well-known movie~"; + next; + mes "[Mage Guildsman]"; + mes "Now that you're a Mage just like us, let's be friends, okay?"; 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 + mes "Whaaaaat~?! Right after you tell me that you wanna become a Mage, you change your mind?! Be a bit more decisive!"; 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!"; + if (Sex == 1) { + mes "For a cutie like you, I'd be happy to explain the requirements!"; + } + else { + 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."; + 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."; + mes "In the past, there was a complicated potion mixing test. Because of that hard test, we slowly started to lose aplicants."; + mes "So, we decided to accept all aplicants who have the basic requirements."; next; mes "[Mage Guildsman]"; - mes "Don't hesitate. Just be a magician!"; + mes "Let me know when you are ready to become a Mage, alright?"; close; case 3: mes "[Mage Guildsman]"; @@ -129,3 +151,149 @@ geffen_in,164,124,4 script Mage Guildsman#mage 123,{ } } } + +geffen_in,164,112,4 script Mixing machine 111,{ + mes "- Out of Order !! -"; + close; +} + +pay_arche,122,100,0 script Dollshoi 88,{ + mes "[Mage Guildsman]"; + mes "You want a Solution? Hmm, give me 50 Zeny and at least 1 Empty Test Tube."; + next; + if (select("Alright, Deal.:Nah, forget it.") == 1) { + mes "[Mage Guildsman]"; + if (Zeny < 50) { + mes "Hey! You don't have enough money to cover my 50 Zeny charge."; + close; + } + if (countitem(1092) == 0) { + mes "You can't carry solutions without a bottle! Bring me an Empty Test Tube."; + close; + } + delitem 1092,1; //Empty_Cylinder + set Zeny, Zeny - 50; + getitem 1089,1; //Payon_Potion + close; + } + close; +} + +moc_ruins,91,150,0 script Ponka-Hontas 93,{ + mes "[Mage Guildsman]"; + mes "Would you like a Solution? Then please give me 50 Zeny and at least 1 Empty Testtube."; + next; + if (select("Alright, Deal.:Nah, forget it.") == 1) { + case 1: + mes "[Mage Guildsman]"; + if (Zeny < 50) { + mes "I'm sorry, but you don't have enough money to cover the 50 Zeny fee."; + close; + } + if (countitem(1092) == 0) { + mes "You can't carry liquids without using a bottle. Bring an Empty Test Tube the next time you see me."; + close; + } + delitem 1092,1; //Empty_Cylinder + set Zeny, Zeny - 50; + getitem 1088,1; //Morocc_Potion + close; + } + close; +} + +geffen_in,177,112,4 script Bookshelf 111,{ + mes "[Guide Book]"; + mes "This Guide Book is the property of the Geffen Mage Association. Please handle with care."; + next; + switch (select("Solution No. 1.:Solution No. 2.:Solution No. 3.:Solution No. 4.:Close.")) { + case 1: + mes "[Mage Test Solution No. 1]"; + mes "* Ingredients List *"; + mes "2 Jellopy"; + mes "3 Fluff"; + mes "1 Milk"; + next; + mes "[Mage Test Solution No. 1]"; + mes "* Solvent Agent *"; + mes "Payon Solution"; + mes "Where to Find:"; + mes "A small spring in Payon, the Archer Village."; + next; + mes "[Mage Test Solution No. 1]"; + mes "* Magic Power Serial Code *"; + mes "8472"; + next; + mes "[Mage Test Solution No. 1]"; + mes "* Catalyst *"; + mes "Yellow Gemstone"; + mes "(Provided by"; + mes "Mixing Machine)"; + close; + case 2: + mes "[Mage Test Solution No. 2]"; + mes "* Ingredients List *"; + mes "3 Jellopy"; + mes "1 Fluff"; + mes "1 Milk"; + next; + mes "[Mage Test Solution No. 2]"; + mes "* Solvent Agent *"; + mes "None"; + next; + mes "[Mage Test Solution No. 2]"; + mes "* Magic Power Serial Code *"; + mes "3735"; + next; + mes "[Mage Test Solution No. 2]"; + mes "* Catalyst *"; + mes "Red Gemstone"; + mes "(Provided by"; + mes "Mixing Machine)"; + close; + case 3: + mes "[Mage Test Solution No. 3]"; + mes "* Ingredients List *"; + mes "6 Jellopy"; + mes "1 Fluff"; + next; + mes "[Mage Test Solution No. 3]"; + mes "* Solvent Agent *"; + mes "Payon Solution"; + mes "Where to Find:"; + mes "A small spring in Payon, the Archer Village."; + next; + mes "[Mage Test Solution No. 3]"; + mes "* Magic Power Serial Code *"; + mes "2750"; + next; + mes "[Mage Test Solution No. 3]"; + mes "* Catalyst *"; + mes "Blue Gemstone"; + mes "(Provided by"; + mes "Mixing Machine)"; + close; + case 4: + mes "[Mage Test Solution No. 4]"; + mes "* Ingredients List *"; + mes "2 Jellopy"; + mes "3 Fluff"; + next; + mes "[Mage Test Solution No. 4]"; + mes "* Solvent Agent *"; + mes "Morroc Solution"; + mes "Where to Find:"; + mes "A small spring near entrance of pyramid in Morroc."; + next; + mes "[Mage Test Solution No. 4]"; + mes "* Magic Power Serial Code *"; + mes "5429"; + next; + mes "[Mage Test Solution No. 4]"; + mes "* Catalyst *"; + mes "1 carat Diamond"; + mes "(Provided by"; + mes "Mixing Machine)"; + close; + } +} \ No newline at end of file diff --git a/npc/re/jobs/1-1/merchant.txt b/npc/re/jobs/1-1/merchant.txt index 4b7e091f0..5b0b3557c 100644 --- a/npc/re/jobs/1-1/merchant.txt +++ b/npc/re/jobs/1-1/merchant.txt @@ -3,17 +3,18 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.0 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Merchant Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] +//= 1.1 Added Baby job change support. [Masao] //============================================================ alberta_in,53,43,6 script Merchant#mer 86,{ if (Upper == 1) { - if (Class == Job_Novice_High && (ADVJOB == Job_Whitesmith || ADVJOB == Job_Creator)) { + if ((Class == Job_Novice_High) && (FJOB == Job_Mechanic || FJOB == Job_Genetic)) { mes "[Chief Mahnsoo]"; mes "Long time no see!"; mes "Hey, you didn't quit"; @@ -36,7 +37,7 @@ alberta_in,53,43,6 script Merchant#mer 86,{ 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; + skill 143,0,1; jobchange Job_Merchant_High; skill 153,1,0; skill 154,1,0; @@ -44,34 +45,22 @@ alberta_in,53,43,6 script Merchant#mer 86,{ 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 "[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?"; + mes "[Chief Mahnsoo]"; + mes "So, what brings you to"; + mes "the Merchant Association?"; + mes "Is there anything"; + mes "I can help you with?"; 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.")) { + switch (select("I want to be a Merchant.:Tell me about Merchants.:Tell me the requirements.:Nope.")) { 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{ + if (Class == Job_Baby || Class == Job_Novice) { mes "[Guildsman Mahnsoo]"; mes "Want to be a merchant? Hmm..."; next; @@ -81,7 +70,7 @@ alberta_in,53,43,6 script Merchant#mer 86,{ next; mes "[Guildsman Mahnsoo]"; mes "Don't you think we need to learn some basic skills although we just deal with money?"; - close; + close2; } mes "[Guildsman Mahnsoo]"; mes "Good, I think you're fully ready for it seeing that your basic skill level is fulfilled."; @@ -89,37 +78,137 @@ alberta_in,53,43,6 script Merchant#mer 86,{ next; mes "[Guildsman Mahnsoo]"; mes "Congratulations on becoming a merchant!"; + next; + skill 143,0,1; + if(Class == Job_Baby){ + jobchange Job_Baby_Merchant; + } else { + jobchange Job_Merchant; + } + set MERCNT_Q,0; + set MERCNT_Q2,0; + getitem 1381,1; //N_Battle_Axe + mes "[Guildsman Mahnsoo]"; 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~"; + 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; } + if (Class == Job_Baby_Merchant || Class == Job_Merchant || Class == Job_Merchant_High) { + mes "[Chief Mahnsoo]"; + mes "Hello there!"; + mes "How do you like"; + mes "being a Merchant?"; + next; + mes "[Chief Mahnsoo]"; + mes "Having a way with"; + mes "money certainly"; + mes "has its perks,"; + mes "does it not?"; + close; + } + mes "[Chief Mahnsoo]"; + mes "We Merchants hate people who are two faced. It's bad for business."; + next; + mes "[Chief Mahnsoo]"; + mes "People who always try to take advantage of other people by selling things at a ridiculous price just so they can make money that they'll waste are the worst."; + next; + mes "[Chief Mahnsoo]"; + mes "Well, in any case, we only accept Novices for job changes to the Merchant class. But I appreciate your interest in what we do."; + 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."; + mes "[Chief Mahnsoo]"; + mes "Merchant?"; + mes "Well, we basically sell goods to make money. That is the way"; + mes "of the Merchant."; 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?"; + mes "[Chief Mahnsoo]"; + mes "I guess we may not be the best at fighting, and we don't have many special attacks. We've got no healing skills..."; + next; + mes "[Chief Mahnsoo]"; + mes "But we can buy goods at lower prices from NPC shops and sell them at a higher price to other people~"; + next; + mes "[Chief Mahnsoo]"; + mes "Our ultimate attack skill is 'Mammonite.' The strength of Mammonite comes from the anger"; + mes "when we're forced to throw away perfectly good zeny."; + next; + mes "[Chief Mahnsoo]"; + mes "Throwing away zeny like that"; + mes "causes a deadly rage to well up in the heart of any Merchant!"; + mes "Just thinking about it"; + mes "makes my blood boil!"; + next; + mes "[Chief Mahnsoo]"; + mes "Anyway, we can use most"; + mes "weapons except Bows, Rods, and Two-Handed Swords. But we can always sell those."; + next; + mes "[Chief Mahnsoo]"; + mes "Yes..."; + mes "We Merchants generally"; + mes "have money on our minds..."; 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."; + mes "To become a Merchant,"; + mes "although just selling and receiving money is our job,"; + mes "you will need to learn all Basic Skills."; next; mes "[Guildsman Mahnsoo]"; - mes "Well, we used to receive a start-up fee before. Wasn't it hard to make that money?"; + mes "Well, we used to receive a Membership Fee. But was it so 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."; + mes "So recently, we decided to allow any Novice who wants to be a Merchant become one."; + mes "Because staying alive or not, it all rests on your own ability."; close; case 4: close; } } + +alberta_in,28,29,2 script Merchant Guildsman 83,{ + if (MERCNT_Q == 0 || MERCNT_Q == 1 || MERCNT_Q == 2) { + mes "[Union Staff Kay]"; + mes "I am sorry, but we don't make deliveries anymore."; + mes "Didn't Chief Mahnsoo tell you?"; + close; + } + mes "[Union Staff Kay]"; + mes "Ah, we don't make deliveries anymore."; + mes "Too many people cried and kept whining that it's too difficult."; + next; + mes "[Union Staff Kay]"; + mes "Well, maybe we will have a few deliveries later."; + mes "Anyway, I don't have any work now..."; + close; +} + +morocc_in,140,102,4 script Student#mer 86,{ + if (MERCNT_Q == 4 || MERCNT_Q == 3) { + mes "[Dyer's Student]"; + mes "I am sorry, but the Merchant Guild no longer makes deliveries to us anymore."; + close; + } + mes "[Dyer's Student]"; + mes "Mr. Java Dullihan is the one and only, the best dye maker on the Rune-Midgard continent."; + next; + mes "[Dyer's Student]"; + mes "Aaaand I'm proud to say that I'm his student! Someday, I'll be able to make really beautiful dyes too!"; + next; + mes "[Dyer's Student]"; + mes "Of course, I'm still learning the basics right now, but someday..."; + close; +} + +geffen_in,155,122,4 script Guild Staff 47,{ + if (MERCNT_Q == 4 || MERCNT_Q == 3) { + mes "[Guild Staff]"; + mes "I am sorry, but the Merchant Guild no longer makes deliveries to us anymore."; + close; + } + mes "[Guild Staff]"; + mes "My package should have arrived by now. Huh. I guess the Merchant Guild might be running a little late..."; + close; +} \ No newline at end of file diff --git a/npc/re/jobs/1-1/swordman.txt b/npc/re/jobs/1-1/swordman.txt index 6942c170b..61ecdc253 100644 --- a/npc/re/jobs/1-1/swordman.txt +++ b/npc/re/jobs/1-1/swordman.txt @@ -3,98 +3,90 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.0 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Swordman Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] +//= 1.1 Added Baby job change support. [Masao] //============================================================ -izlude_in,74,172,4 script Swordman#swd 119,{ +izlude_in,74,172,4 script Swordman 119,{ if (Upper == 1) { - if (Class == Job_Novice_High && (ADVJOB == Job_Lord_Knight || ADVJOB == Job_Paladin)) { - mes "[Swordman]"; + if ((Class == Job_Novice_High) && (FJOB == Job_Rune_Knight || FJOB == Job_Royal_Guard)) { + mes "[Swordman Guildsman]"; mes "It..."; mes "Can't be..."; mes "You've been reborn, haven't you?"; next; - mes "[Swordman]"; + mes "[Swordman Guildsman]"; 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 "[Swordman Guildsman]"; mes "Hmm? Ah, you must first master the Basic Skills before you are ready to become a Swordman."; next; - mes "[Swordman]"; + mes "[Swordman Guildsman]"; mes "Come back to me when you have finished learning the Basic Novice Skills."; close; } - mes "[Swordman]"; + mes "[Swordman Guildsman]"; mes "Excellent! Let me promote you to a Swordman right away!"; next; - skill 143,0,0; + skill 143,0,1; jobchange Job_Swordman_High; skill 144,1,0; skill 145,1,0; skill 146,1,0; - mes "[Swordman]"; + mes "[Swordman Guildsman]"; 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 "Hm...?"; + mes "You're a reborn"; + mes "warrior, aren't you?"; + next; + mes "[Swordman Guildsman]"; + 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?"; + mes "Welcome to the"; + mes "Swordman Association!"; + next; + mes "[Swordman Guildsman]"; + mes "So..."; + mes "What business"; + mes "brings you to us?"; next; - switch(select("Tell me about being a Swordman.:I want to be a Swordman.:Nothing.")) { + switch (select("Tell me about being a Swordman.:I want to be a Swordman.:Cancel.")) { case 1: mes "[Swordman Guildsman]"; - mes "So you wish to know more about the mighty Swordman? Okay!"; + mes "So you wish to know more about the mighty Swordman job? Well, then..."; 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!"; + mes "Amongst the First Class jobs, the Swordman is the best melee fighter for three reasons."; + mes "There are 3 reasons why Swordy is the best to approch a fight!"; 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."; + mes "First, Swordman has the benefit of additional HP. Second, Swordman generally have access to a wider selection fo weapons than the other First Class jobs."; 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!"; + mes "And third, most of the Swordman skills are crushing physical attacks! In my opinion, being a 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 (Class == Job_Baby || Class == Job_Novice) { 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."; + mes "I'm sorry to tell you this but to be a Swordman, you must reach at least ^4d4dffJob Level 10^000000."; + mes "and ^4d4dffBasic Skill Level 9^000000."; next; mes "[Swordman Guildsman]"; mes "Want to be a Swordman without having the minimum requirement?"; @@ -105,23 +97,43 @@ izlude_in,74,172,4 script Swordman#swd 119,{ 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) { + switch (select("Yes, I do.:I'll consider it again.")) { + case 1: + mes "[Swordman Guildsman]"; + mes "Congratulations! From now on, you are going to live a Swordman's life!"; + mes "I will transform you right away!"; + next; + skill 143,0,1; + if(Class == Job_Baby){ + jobchange Job_Baby_Swordman; + } else { + jobchange Job_Swordman; + } + set job_sword_q,0; + getitem 13415,1; //N_Falchion + mes "[Swordman Guildsman]"; + mes "Congratulations again for becomming a Swordman and I hope that you participate in many activities for the revival of our guild."; + close; + case 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...."; + mes "Yeah. Careful consideration is needed for choosing a job."; + mes "But I feel sorry... that you'll have to consider it again after all the trials...."; close; } + } + if (Class == Job_Baby_Swordman || Class == Job_Swordman || Class == Job_Swordman) { 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 + mes "You are already an excellent Swordman, aren't you?"; + mes "Just devote yourself to be a great Swordman."; close; } + mes "[Swordman Guildsman]"; + mes "Haha! Oh boy. I'm flattered, but you already have another job! Still, I can't blame you..."; + close; case 3: + mes "[Swordman Guildsman]"; + mes "Ha ha ha!"; + mes "Ah, youth!"; close; } -} +} \ No newline at end of file diff --git a/npc/re/jobs/1-1/thief.txt b/npc/re/jobs/1-1/thief.txt index 8d7e452f3..956b5c277 100644 --- a/npc/re/jobs/1-1/thief.txt +++ b/npc/re/jobs/1-1/thief.txt @@ -3,30 +3,31 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.0 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Thief Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] +//= 1.1 Added Baby job change support. [Masao] //============================================================ -moc_prydb1,39,129,2 script Thief Guide#thief 69,{ +moc_prydb1,39,129,2 script Thief Guildsman 69,{ if (Upper == 1) { - if (ADVJOB == Job_Assassin_Cross || ADVJOB == Job_Stalker) { + if (FJOB == Job_Guillotine_Cross || FJOB == Job_Shadow_Chaser) { if (Class == Job_Novice_High) { - mes "[Thief Guide]"; + mes "[Thief Guildsman]"; 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 "[Thief Guildsman]"; 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 "[Thief Guildsman]"; mes "Take your time and learn all the Basic Skills, will you? Well then, see you later~!"; close; } - mes "[Thief Guide]"; + mes "[Thief Guildsman]"; 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; @@ -35,173 +36,295 @@ moc_prydb1,39,129,2 script Thief Guide#thief 69,{ skill 150,1,0; skill 151,1,0; skill 152,1,0; - mes "[Thief Guide]"; + mes "[Thief Guildsman]"; 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 "[Thief Guildsman]"; + if (Sex == 1) { 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!"; + } else { + mes "Hey, baby~"; + } 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; + if (Sex == 1) { + 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 (Class == Job_Baby_Thief || Class == Job_Thief || Class == Job_Thief_High) { 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."; + mes "Hey~ if you have any trouble, get it out to me anytime, huh?"; close; } - if(Class != Job_Novice) { - if(Class == Job_Thief) { + if ((Class != Job_Baby) && (Class != Job_Novice) && (Class != Job_Baby_Thief) && (Class != Job_Thief)) { + mes "[Thief Guildsman]"; + mes "What the heck...?"; + switch (Class) { + case Job_Swordman: + mes "Huh."; + mes "Now, that's"; + mes "a big sword."; + next; + mes "[Thief Guildsman]"; + mes "So..."; + mes "Trying to make"; + mes "up for something"; + mes "...Buddy?"; + close; + case Job_Mage: + mes "What's a Mage doin' here? Shouldn't you be doing card tricks elsewhere? Oh well, it's a free country..."; + next; + mes "[Thief Guildsman]"; + mes "Oh wait,"; + mes "it's not..."; + mes "Get outta here!"; + close; + case Job_Archer: + mes "Man, shouldn't you"; + mes "Archers be playing"; + mes "in the forest"; + mes "or something?"; + close; + case Job_Merchant: + mes "You're a Merchant,"; + mes "right? Why are you"; + mes "walking into a den"; + mes "of Thieves?!"; + next; + mes "[Thief Guildsman]"; + mes "It's like you're begging"; + mes "us to steal from you!"; + mes "Come on, hurry and"; + mes "get outta here~"; + close; + case Job_Acolyte: + mes "You know we all steal for a living, right? What are you doing in this kinda place, Acolyte?"; + close; + case Job_Assassin: + mes "Didn't you use to be one of us?! Man, you changed. You seem real dangerous now..."; + close; + close; + case Job_Rogue: + mes "Man, you got real cool all of a sudden! You must have some skills I can only dream of!"; + close; + close; + case Job_Priest: + mes "Oh my God..."; + mes "Am I dying?"; + next; mes "[Thief Guildsman]"; - mes "Hey~ if you have any trouble, get it out to me anytime, huh?"; + mes "Why else would a Priest come here? I guess I better start confessing all of my misdeeds."; close; - }else{ - if(Sex) { + } + next; + if (Sex == 1) { + 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 (Class == Job_Baby || Class == Job_Novice) { + mes "[Thief Guildsman]"; + if (Sex == 1) { + mes "Ehh... Seems like a beloved son of a rich family, but why are you here in this dirty place?"; + } + else { + mes "Ehh... Seems like a beloved daughter of a rich family, but why are you here in this dirty place?"; + } + next; + switch (select("I want to be a Thief.:Nothing.")) { + case 1: + if (THF_Q == 0) { mes "[Thief Guildsman]"; - mes "What the heck...?"; - mes "Huh.. you are a "+jobname(Class)+" blockhead...!"; + mes "Well, are you that proud of it? 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 "Hey, brother."; - mes "Why are you here? Go back to your place~ go back~~"; - close; - }else{ + mes "Do you want to be a thief so badly?"; + next; + switch (select("Yes.:No.:How about you?")) { + case 1: + mes "[Thief Guildsman]"; + mes "Well, are you that proud of it? 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; + 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 "What the heck...?"; + mes "Anyway, in the outside world, never say that you want to be a Thief!!"; next; mes "[Thief Guildsman]"; - mes "Hey, lady."; - mes "Why are you here? Go back to your place~ go back~~"; + mes "So, do you want to apply for being a Thief?"; + next; + if (select("Yes, I do.:No.") == 1) { + mes "[Thief Guildsman]"; + mes "Alright, tell me your name. Huh? What?"; + mes "" + strcharinfo(0) + ". " + 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? So go and reach at least Basic Skill Level 9."; + close; + } + mes "[Thief Guildsman]"; + mes "Alright. I looked at your Felony Record, and you seem to have a very interesting history. You might have what it takes to be a Thief."; + mes "" + strcharinfo(0) + ". I now decree that you have passed this interview. Good work!"; + set THF_Q,1; + 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."; + close; + } + mes "[Thief Guildsman]"; + mes "Well... do what you want to do~ Go your way~"; close; } + if (THF_Q == 1) { + 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; + } + mes "[Thief Guildsman]"; + mes "Oh, before I let you go... ...did you take any mushrooms?"; + mes "... ...It was a joke."; + mes "You don't need to do a test, and if you want to jobchange, you can do it directly."; + next; + mes "[Thief Guildsman]"; + mes "In short it was just a joke."; + mes "Ha ha ha ha ha!!"; + close; + case 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 "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..?"; +} + +moc_prydb1,42,133,2 script Comrade 118,{ + if (Class == Job_Baby_Thief || Class == Job_Thief || Class == Job_Thief_High) { + mes "[Brad]"; + mes "I don't have any special events now. So go on your way and come back later."; 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?"; + if ((Class != Job_Baby) && (Class != Job_Novice) && (Class != Job_Baby_Thief) && (Class != Job_Thief)) { + mes "[Comrade]"; + mes "Um..."; + mes "You don't look"; + mes "like a Thief."; 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~"; + mes "[Comrade]"; + mes "What the heck are"; + mes "you doing here anyway?"; 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."; + if (THF_Q == 0) { + mes "[Comrade]"; + mes "What's the matter? If you want to be a Thief, speak to the woman beside me."; 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) { + if (THF_Q == 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 + mes "[Leader of Thief Guild 'E']"; + mes "" + strcharinfo(0) + "..."; + mes "'For those who are ready, the moonlight shall open the way. You are now one of us.'"; + skill 143,0,1; + if(Class == Job_Baby){ + jobchange Job_Baby_Thief; + } else { + jobchange Job_Thief; + } + getitem 13041,1; //N_Main_Gauche + erasequest 1013; 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.'"; + mes "[Leader of Thief Guild 'E']"; + mes "'Congratulations on becoming a Thief!'"; + mes "'From now, be an honorable representative of the Thief's Guild.'"; + mes "'If you bring disgrace to our guild, you will be killed.'"; + 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 "*Ahem* Welcome to the Guild, comrade!"; + mes "I'm Brad, and 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."; + mes "Okay, I've done what I can do to you, so go on your way. I'm a quite busy man."; + mes "Alright then, I'll see you around~"; 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~"; +} + +moc_ruins,141,125,3 script Mr. Irrelevant 83,{ + if (Class == Job_Baby_Thief || Class == Job_Thief) { + mes "[Mr. Irrelevant]"; + mes "Ah, I see that you are now a Thief. I always knew you'd join us."; + next; + mes "[Mr. Irrelevant]"; + mes "Why don't you leave this place?"; + close; + } + if ((Class != Job_Baby) && (Class != Job_Novice) && (Class != Job_Baby_Thief) && (Class != Job_Thief)) { + set .@rand,rand(1,5); + switch(.@rand){ + mes "[Mr. Irrelevant]"; + case 1: + mes "Today looks like a good day to go to the pyramids and hunt with some of my friends."; + close; + case 2: + mes "I could use a good, hard drink."; + close; + case 3: + mes "Gimme your money."; + next; + mes "[Mr. Irrelevant]"; + mes "Kidding, I'm off the clock."; + close; + case 4: + mes "WHO YOU CALLING A PSYCHO?!?!"; + close; + case 5: + mes "I've got nothing to say to you. Would you mind leaving me alone?"; + close; } + } + if (THF_Q == 1) { + mes "[Mr. Irrelevant]"; + mes "There is this strange smell coming from... You. Now why would that be?"; 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."; + mes "[Mr. Irrelevant]"; + mes "Hey Novice! Why don't you join the ranks of the Thief Guild? You newbies are always welcome to join us and our selfish cause."; + next; + mes "[Mr. Irrelevant]"; + mes "You can get more information in the Underground Room in the Pyramid 1 BF."; close; -} +} \ No newline at end of file -- cgit v1.2.3-70-g09d2 From 8c748978945b24f2b508d54c6068c7ee69a862ad Mon Sep 17 00:00:00 2001 From: masao87 Date: Sun, 5 Aug 2012 11:19:56 +0000 Subject: - Some little adjustments to the job change quests, also reverted some variables to the old job change files. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16582 54d463be-8e91-2dee-dedb-b68131a5f0ec --- npc/jobs/2-1/assassin.txt | 1 - npc/jobs/2-1/blacksmith.txt | 1 - npc/jobs/2-1/hunter.txt | 1 - npc/jobs/2-1/knight.txt | 1 - npc/jobs/2-1/priest.txt | 1 - npc/jobs/2-1/wizard.txt | 1 - npc/jobs/2-1a/AssassinCross.txt | 6 +- npc/jobs/2-1a/HighPriest.txt | 6 +- npc/jobs/2-1a/HighWizard.txt | 6 +- npc/jobs/2-1a/LordKnight.txt | 6 +- npc/jobs/2-1a/Sniper.txt | 6 +- npc/jobs/2-1a/WhiteSmith.txt | 6 +- npc/jobs/2-2/alchemist.txt | 2 - npc/jobs/2-2/bard.txt | 8 -- npc/jobs/2-2/crusader.txt | 2 - npc/jobs/2-2/dancer.txt | 1 - npc/jobs/2-2/monk.txt | 1 - npc/jobs/2-2/rogue.txt | 2 - npc/jobs/2-2/sage.txt | 1 - npc/jobs/2-2a/Champion.txt | 6 +- npc/jobs/2-2a/Clown.txt | 6 +- npc/jobs/2-2a/Creator.txt | 6 +- npc/jobs/2-2a/Gypsy.txt | 6 +- npc/jobs/2-2a/Paladin.txt | 6 +- npc/jobs/2-2a/Professor.txt | 6 +- npc/jobs/2-2a/Stalker.txt | 6 +- npc/jobs/valkyrie.txt | 219 ++++++++++++++++++++------------------- npc/pre-re/jobs/1-1/acolyte.txt | 56 +++++----- npc/pre-re/jobs/1-1/archer.txt | 4 +- npc/pre-re/jobs/1-1/mage.txt | 2 +- npc/pre-re/jobs/1-1/merchant.txt | 6 +- npc/pre-re/jobs/1-1/swordman.txt | 7 +- npc/pre-re/jobs/1-1/thief.txt | 2 +- npc/re/jobs/1-1/acolyte.txt | 56 +++++----- npc/re/jobs/1-1/archer.txt | 4 +- npc/re/jobs/1-1/mage.txt | 2 +- npc/re/jobs/1-1/merchant.txt | 6 +- npc/re/jobs/1-1/swordman.txt | 7 +- npc/re/jobs/1-1/thief.txt | 2 +- 39 files changed, 225 insertions(+), 249 deletions(-) (limited to 'npc/re/jobs/1-1/swordman.txt') diff --git a/npc/jobs/2-1/assassin.txt b/npc/jobs/2-1/assassin.txt index 740c53ab4..a20493a47 100644 --- a/npc/jobs/2-1/assassin.txt +++ b/npc/jobs/2-1/assassin.txt @@ -110,7 +110,6 @@ in_moc_16,19,33,1 script Guildsman 55,{ } else { jobchange Job_Assassin; } - set FJOB,Job_Guillotine_Cross; changequest 8007,8008; completequest 8008; mes "[Assassin Expert 'Huey']"; diff --git a/npc/jobs/2-1/blacksmith.txt b/npc/jobs/2-1/blacksmith.txt index bfcf40601..f96a41a25 100644 --- a/npc/jobs/2-1/blacksmith.txt +++ b/npc/jobs/2-1/blacksmith.txt @@ -219,7 +219,6 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ } else { jobchange Job_Blacksmith; } - set FJOB,Job_Mechanic; 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."; diff --git a/npc/jobs/2-1/hunter.txt b/npc/jobs/2-1/hunter.txt index 721756b4e..e0552351b 100644 --- a/npc/jobs/2-1/hunter.txt +++ b/npc/jobs/2-1/hunter.txt @@ -158,7 +158,6 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ } else { jobchange Job_Hunter; } - set FJOB,Job_Ranger; completequest 4013; next; mes "[Hunter Sherin]"; diff --git a/npc/jobs/2-1/knight.txt b/npc/jobs/2-1/knight.txt index 9beb42334..2bb88ec18 100644 --- a/npc/jobs/2-1/knight.txt +++ b/npc/jobs/2-1/knight.txt @@ -624,7 +624,6 @@ prt_in,88,101,4 script Chivalry Captain 56,{ } else { jobchange Job_Knight; } - set FJOB,Job_Rune_Knight; mes "[Captain Herman]"; mes "I hereby declare"; mes "you a member of"; diff --git a/npc/jobs/2-1/priest.txt b/npc/jobs/2-1/priest.txt index d86ed1f9b..b1af76b1a 100644 --- a/npc/jobs/2-1/priest.txt +++ b/npc/jobs/2-1/priest.txt @@ -512,7 +512,6 @@ prt_church,16,41,4 script High Bishop#prst 60,{ } else { jobchange Job_Priest; } - set FJOB,Job_Arch_Bishop; changequest 8015,8016; 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."; diff --git a/npc/jobs/2-1/wizard.txt b/npc/jobs/2-1/wizard.txt index b8c74d40d..b5fef11e8 100644 --- a/npc/jobs/2-1/wizard.txt +++ b/npc/jobs/2-1/wizard.txt @@ -420,7 +420,6 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ } else { jobchange Job_Wizard; } - set FJOB,Job_Warlock; completequest 9018; mes "[Catherine]"; mes "Since you're a Wizard now, act like a Wizard, got it?"; diff --git a/npc/jobs/2-1a/AssassinCross.txt b/npc/jobs/2-1a/AssassinCross.txt index ae3f68db5..0ed46590c 100644 --- a/npc/jobs/2-1a/AssassinCross.txt +++ b/npc/jobs/2-1a/AssassinCross.txt @@ -16,7 +16,7 @@ //============================================================ valkyrie,44,58,5 script Assassin Cross#Valkyrie 725,{ - if (FJOB == 0 || Upper != 1) { + if (ADVJOB == 0 || Upper != 1) { set .@karma_d,rand(1,10); if (.@karma_d > 4) { mes "[Assassin Cross]"; @@ -43,7 +43,7 @@ valkyrie,44,58,5 script Assassin Cross#Valkyrie 725,{ mes "Nobody..."; close; } - if ((FJOB == Job_Guillotine_Cross) && (Class == Job_Thief_High) && (JobLevel > 39)) { + if ((ADVJOB == Job_Assassin_Cross) && (Class == Job_Thief_High) && (JobLevel > 39)) { mes "[Assassin Cross]"; mes "The time has come."; mes "The world needs you..."; @@ -79,7 +79,7 @@ valkyrie,44,58,5 script Assassin Cross#Valkyrie 725,{ close; } jobchange Job_Assassin_Cross; - set FJOB,0; + set ADVJOB,0; mes "[Assassin Cross]"; mes "Congratulations."; mes "As an Assassin Cross,"; diff --git a/npc/jobs/2-1a/HighPriest.txt b/npc/jobs/2-1a/HighPriest.txt index f1d38802d..2235ad60e 100644 --- a/npc/jobs/2-1a/HighPriest.txt +++ b/npc/jobs/2-1a/HighPriest.txt @@ -16,7 +16,7 @@ //============================================================ valkyrie,44,42,5 script High Priest#Valkyrie 60,{ - if (FJOB == 0 || Upper != 1) { + if (ADVJOB == 0 || Upper != 1) { set .@karma_d,rand(1,10); if (.@karma_d > 4) { mes "[High Priest]"; @@ -32,7 +32,7 @@ valkyrie,44,42,5 script High Priest#Valkyrie 60,{ mes "us from the forces of evil..."; close; } - if ((FJOB == Job_Arch_Bishop) && (Class == Job_Acolyte_High) && (JobLevel > 39)) { + if ((ADVJOB == Job_High_Priest) && (Class == Job_Acolyte_High) && (JobLevel > 39)) { mes "[High Priest]"; mes "Our world is in"; mes "need of people of"; @@ -59,7 +59,7 @@ valkyrie,44,42,5 script High Priest#Valkyrie 60,{ close; } jobchange Job_High_Priest; - set FJOB,0; + set ADVJOB,0; mes "[High Priest]"; mes "Congratulations."; mes "As a High Priest,"; diff --git a/npc/jobs/2-1a/HighWizard.txt b/npc/jobs/2-1a/HighWizard.txt index 3ba1a57d9..320b1db0d 100644 --- a/npc/jobs/2-1a/HighWizard.txt +++ b/npc/jobs/2-1a/HighWizard.txt @@ -16,7 +16,7 @@ //============================================================ valkyrie,44,47,5 script High Wizard#Valkyrie 735,{ - if (FJOB == 0 || Upper != 1) { + if (ADVJOB == 0 || Upper != 1) { set .@karma_d,rand(1,10); if (.@karma_d > 4) { mes "[High Wizard]"; @@ -38,7 +38,7 @@ valkyrie,44,47,5 script High Wizard#Valkyrie 735,{ mes "was placed in the wrong hands?!"; close; } - if ((FJOB == Job_Warlock) && (Class == Job_Mage_High) && (JobLevel > 39)) { + if ((ADVJOB == Job_High_Wizard) && (Class == Job_Mage_High) && (JobLevel > 39)) { mes "[High Wizard]"; mes "It is time."; mes "And Rune-Midgard has"; @@ -63,7 +63,7 @@ valkyrie,44,47,5 script High Wizard#Valkyrie 735,{ close; } jobchange Job_High_Wizard; - set FJOB,0; + set ADVJOB,0; mes "[High Wizard]"; mes "Congratulations."; mes "As a High Wizard,"; diff --git a/npc/jobs/2-1a/LordKnight.txt b/npc/jobs/2-1a/LordKnight.txt index 7ed54ba3e..73ed005e2 100644 --- a/npc/jobs/2-1a/LordKnight.txt +++ b/npc/jobs/2-1a/LordKnight.txt @@ -16,7 +16,7 @@ //============================================================ valkyrie,44,39,5 script Lord Knight#Valkyrie 56,{ - if (FJOB == 0 || Upper != 1) { + if (ADVJOB == 0 || Upper != 1) { set .@karma_d,rand(1,10); if (.@karma_d > 4) { mes "[Lord Knight]"; @@ -36,7 +36,7 @@ valkyrie,44,39,5 script Lord Knight#Valkyrie 56,{ mes "well being of our comrades."; close; } - if ((FJOB == Job_Rune_Knight) && (Class == Job_Swordman_High) && (JobLevel > 39)) { + 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."; @@ -61,7 +61,7 @@ valkyrie,44,39,5 script Lord Knight#Valkyrie 56,{ close; } jobchange Job_Lord_Knight; - set FJOB,0; + set ADVJOB,0; mes "[Lord Knight]"; mes "Congratulations!"; mes "As a Lord Knight,"; diff --git a/npc/jobs/2-1a/Sniper.txt b/npc/jobs/2-1a/Sniper.txt index f5898ad87..963df71f9 100644 --- a/npc/jobs/2-1a/Sniper.txt +++ b/npc/jobs/2-1a/Sniper.txt @@ -16,7 +16,7 @@ //============================================================ valkyrie,44,55,5 script Sniper#Valkyrie 727,{ - if (FJOB == 0 || Upper != 1) { + if (ADVJOB == 0 || Upper != 1) { set .@karma_d,rand(1,10); if (.@karma_d > 4) { mes "[Sniper]"; @@ -33,7 +33,7 @@ valkyrie,44,55,5 script Sniper#Valkyrie 727,{ mes "of battling."; close; } - if ((FJOB == Job_Ranger) && (Class == Job_Archer_High) && (JobLevel > 39)) { + if ((ADVJOB == Job_Sniper) && (Class == Job_Archer_High) && (JobLevel > 39)) { mes "[Sniper]"; mes "The world is in"; mes "need of mighty Bowmen"; @@ -59,7 +59,7 @@ valkyrie,44,55,5 script Sniper#Valkyrie 727,{ close; } jobchange Job_Sniper; - set FJOB,0; + set ADVJOB,0; mes "[Sniper]"; mes "Congratulations!"; mes "As a Sniper, I hope"; diff --git a/npc/jobs/2-1a/WhiteSmith.txt b/npc/jobs/2-1a/WhiteSmith.txt index efc2fca35..3100a043d 100644 --- a/npc/jobs/2-1a/WhiteSmith.txt +++ b/npc/jobs/2-1a/WhiteSmith.txt @@ -16,7 +16,7 @@ //============================================================ valkyrie,44,50,5 script MasterSmith#Valkyrie 731,{ - if (FJOB == 0 || Upper != 1) { + if (ADVJOB == 0 || Upper != 1) { set .@karma_d,rand(1,10); if (.@karma_d > 4) { mes "[MasterSmith]"; @@ -40,7 +40,7 @@ valkyrie,44,50,5 script MasterSmith#Valkyrie 731,{ mes "crafting..."; close; } - if ((FJOB == Job_Mechanic) && (Class == Job_Merchant_High) && (JobLevel > 39)) { + if ((ADVJOB == Job_WhiteSmith) && (Class == Job_Merchant_High) && (JobLevel > 39)) { mes "[MasterSmith]"; mes "The time has come!"; mes "Our world needs brave,"; @@ -65,7 +65,7 @@ valkyrie,44,50,5 script MasterSmith#Valkyrie 731,{ close; } jobchange Job_Whitesmith; - set FJOB,0; + set ADVJOB,0; mes "[MasterSmith]"; mes "Congratulations!"; mes "As a MasterSmith,"; diff --git a/npc/jobs/2-2/alchemist.txt b/npc/jobs/2-2/alchemist.txt index f4af70e25..1503ce948 100644 --- a/npc/jobs/2-2/alchemist.txt +++ b/npc/jobs/2-2/alchemist.txt @@ -2214,7 +2214,6 @@ alde_alche,101,184,4 script Master Alchemist 122,{ } else { jobchange Job_Alchemist; } - set FJOB,Job_Genetic; mes "[Vincent Carsciallo]"; mes "Henceforth, you are"; mes "now a member of our"; @@ -2248,7 +2247,6 @@ alde_alche,101,184,4 script Master Alchemist 122,{ } else { jobchange Job_Alchemist; } - set FJOB,Job_Genetic; mes "[Vincent Carsciallo]"; mes "Henceforth, you are"; mes "now a member of our"; diff --git a/npc/jobs/2-2/bard.txt b/npc/jobs/2-2/bard.txt index 790051cba..4dd34568c 100644 --- a/npc/jobs/2-2/bard.txt +++ b/npc/jobs/2-2/bard.txt @@ -853,7 +853,6 @@ comodo,226,123,5 script Roaming Bard 741,{ } else { jobchange Job_Bard; } - set FJOB,Job_Minstrel; mes "[Lalo]"; mes "Very well! Hope you sing happy enjoyable songs."; mes "Live like the wind and the clouds!"; @@ -1297,7 +1296,6 @@ comodo,226,123,5 script Roaming Bard 741,{ } else { jobchange Job_Bard; } - set FJOB,Job_Minstrel; mes "[Lalo]"; mes "Very well! Hope you sing happy enjoyable songs."; mes "Live like the wind and the clouds!"; @@ -1341,7 +1339,6 @@ comodo,226,123,5 script Roaming Bard 741,{ } else { jobchange Job_Bard; } - set FJOB,Job_Minstrel; mes "[Lalo]"; mes "Good job. I will make you a job change souvenir with this."; mes "Wait just a moment."; @@ -1369,7 +1366,6 @@ comodo,226,123,5 script Roaming Bard 741,{ } else { jobchange Job_Bard; } - set FJOB,Job_Minstrel; mes "[Lalo]"; mes "Good job. I will make you a job change souvenir with this."; mes "Wait just a moment."; @@ -1397,7 +1393,6 @@ comodo,226,123,5 script Roaming Bard 741,{ } else { jobchange Job_Bard; } - set FJOB,Job_Minstrel; mes "[Lalo]"; mes "Good job. I will make you a job change souvenir with this."; mes "Wait just a moment."; @@ -1425,7 +1420,6 @@ comodo,226,123,5 script Roaming Bard 741,{ } else { jobchange Job_Bard; } - set FJOB,Job_Minstrel; mes "[Lalo]"; mes "Good job. I will make you a job change souvenir with this."; mes "Wait just a moment."; @@ -1451,7 +1445,6 @@ comodo,226,123,5 script Roaming Bard 741,{ } else { jobchange Job_Bard; } - set FJOB,Job_Minstrel; mes "[Lalo]"; mes "Good job. I will make you a job change souvenir with this."; mes "Wait just a moment."; @@ -1500,7 +1493,6 @@ comodo,226,123,5 script Roaming Bard 741,{ } else { jobchange Job_Bard; } - set FJOB,Job_Minstrel; completequest 3004; mes "[Lalo]"; mes "Wonderful! Sing happy enjoyable songs."; diff --git a/npc/jobs/2-2/crusader.txt b/npc/jobs/2-2/crusader.txt index 4c4edc091..880ab7889 100644 --- a/npc/jobs/2-2/crusader.txt +++ b/npc/jobs/2-2/crusader.txt @@ -372,7 +372,6 @@ prt_castle,45,169,5 script Senior Crusader 752,{ } else { jobchange Job_Crusader; } - set FJOB,Job_Royal_Guard; mes "[Michael Halig]"; mes "Behold...!"; mes "You are now a Crusader!"; @@ -409,7 +408,6 @@ prt_castle,45,169,5 script Senior Crusader 752,{ } else { jobchange Job_Crusader; } - set FJOB,Job_Royal_Guard; mes "[Michael Halig]"; mes "Behold...!"; mes "You are now a Crusader!"; diff --git a/npc/jobs/2-2/dancer.txt b/npc/jobs/2-2/dancer.txt index 619b26a60..f64fbe00f 100644 --- a/npc/jobs/2-2/dancer.txt +++ b/npc/jobs/2-2/dancer.txt @@ -935,7 +935,6 @@ job_duncer,95,93,4 script Bijou 101,{ } else { jobchange Job_Dancer; } - set FJOB,Job_Wanderer; completequest 7006; mes "Ooh...!"; mes "You look great"; diff --git a/npc/jobs/2-2/monk.txt b/npc/jobs/2-2/monk.txt index af2e08edb..08a7c9af8 100644 --- a/npc/jobs/2-2/monk.txt +++ b/npc/jobs/2-2/monk.txt @@ -925,7 +925,6 @@ monk_in,99,58,1 script Sensei Moohae 60,{ } else { jobchange Job_Monk; } - set FJOB,Job_Sura; mes "[Sensei Moohae]"; mes "....You are a monk."; next; diff --git a/npc/jobs/2-2/rogue.txt b/npc/jobs/2-2/rogue.txt index 6006952cb..5310fbb9c 100644 --- a/npc/jobs/2-2/rogue.txt +++ b/npc/jobs/2-2/rogue.txt @@ -153,7 +153,6 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ } else { jobchange Job_Rogue; } - set FJOB,Job_Shadow_Chaser; changequest 2026,2027; completequest 2027; next; @@ -188,7 +187,6 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ } else { jobchange Job_Rogue; } - set FJOB,Job_Shadow_Chaser; changequest 2026,2027; completequest 2027; next; diff --git a/npc/jobs/2-2/sage.txt b/npc/jobs/2-2/sage.txt index 9aa41ab5e..71718fed2 100644 --- a/npc/jobs/2-2/sage.txt +++ b/npc/jobs/2-2/sage.txt @@ -170,7 +170,6 @@ yuno_in02,38,61,5 script Dean of the Academy 743,{ } else { jobchange Job_Sage; } - set FJOB,Job_Sorcerer; completequest 2052; mes "[Kayron Grik]"; mes "Congratulations! You have now become a Sage."; diff --git a/npc/jobs/2-2a/Champion.txt b/npc/jobs/2-2a/Champion.txt index 1d60bb8f8..1e0df577b 100644 --- a/npc/jobs/2-2a/Champion.txt +++ b/npc/jobs/2-2a/Champion.txt @@ -16,7 +16,7 @@ //============================================================ valkyrie,53,42,3 script Champion#Valkyrie 52,{ - if (FJOB == 0 || Upper != 1) { + if (ADVJOB == 0 || Upper != 1) { set .@karma_d,rand(1,10); if (.@karma_d > 4) { mes "[Champion]"; @@ -38,7 +38,7 @@ valkyrie,53,42,3 script Champion#Valkyrie 52,{ mes "so much in life..."; close; } - if ((FJOB == Job_Sura) && (Class == Job_Acolyte_High) && (JobLevel > 39)) { + if ((ADVJOB == Job_Champion) && (Class == Job_Acolyte_High) && (JobLevel > 39)) { mes "[Champion]"; mes "It's time."; mes "Time for great heroes"; @@ -64,7 +64,7 @@ valkyrie,53,42,3 script Champion#Valkyrie 52,{ close; } jobchange Job_Champion; - set FJOB,0; + set ADVJOB,0; mes "[Champion]"; mes "Congratulations!"; mes "Live as a Champion,"; diff --git a/npc/jobs/2-2a/Clown.txt b/npc/jobs/2-2a/Clown.txt index 10b897d6d..b9c0d90b9 100644 --- a/npc/jobs/2-2a/Clown.txt +++ b/npc/jobs/2-2a/Clown.txt @@ -18,7 +18,7 @@ //============================================================ valkyrie,53,54,3 script Minstrel#Valkyrie 741,{ - if (FJOB == 0 || Upper != 1) { + if (ADVJOB == 0 || Upper != 1) { set .@karma_d,rand(1,10); if (.@karma_d > 4) { mes "[Minstrel]"; @@ -32,7 +32,7 @@ valkyrie,53,54,3 script Minstrel#Valkyrie 741,{ mes "Sha la la la la~"; close; } - if ((FJOB == Job_Minstrell) && (Class == Job_Archer_High) && (JobLevel > 39)) { + if ((ADVJOB == Job_Clown) &&( Class == Job_Archer_High) && (JobLevel > 39)) { mes "[Minstrel]"; mes "The dreary world"; mes "of mortals is in need"; @@ -60,7 +60,7 @@ valkyrie,53,54,3 script Minstrel#Valkyrie 741,{ close; } jobchange Job_Clown; - set FJOB,0; + set ADVJOB,0; mes "[Minstrel]"; mes "Congratulations!"; mes "As a Minstrel, your"; diff --git a/npc/jobs/2-2a/Creator.txt b/npc/jobs/2-2a/Creator.txt index 1353c8ab7..6f9b2ed2d 100644 --- a/npc/jobs/2-2a/Creator.txt +++ b/npc/jobs/2-2a/Creator.txt @@ -16,7 +16,7 @@ //============================================================ valkyrie,53,50,3 script Biochemist#Valkyrie 122,{ - if (FJOB == 0 || Upper != 1) { + if (ADVJOB == 0 || Upper != 1) { set .@karma_d,rand(1,10); if (.@karma_d > 4) { mes "[Biochemist]"; @@ -40,7 +40,7 @@ valkyrie,53,50,3 script Biochemist#Valkyrie 122,{ mes "a place in Valhalla..."; close; } - if ((FJOB == Job_Genetic) && (Class == Job_Merchant_High) && (JobLevel > 39)) { + if ((ADVJOB == Job_Creator) && (Class == Job_Merchant_High) && (JobLevel > 39)) { mes "[Biochemist]"; mes "Yes..."; mes "It's about time."; @@ -65,7 +65,7 @@ valkyrie,53,50,3 script Biochemist#Valkyrie 122,{ close; } jobchange Job_Creator; - set FJOB,0; + set ADVJOB,0; mes "[Biochemist]"; mes "Congratulations!"; mes "As a Biochemist,"; diff --git a/npc/jobs/2-2a/Gypsy.txt b/npc/jobs/2-2a/Gypsy.txt index fdd65e526..5ab1730a4 100644 --- a/npc/jobs/2-2a/Gypsy.txt +++ b/npc/jobs/2-2a/Gypsy.txt @@ -16,7 +16,7 @@ //============================================================ valkyrie,53,56,3 script Gypsy#Valkyrie 101,{ - if (FJOB == 0 || Upper != 1) { + if (ADVJOB == 0 || Upper != 1) { set .@karma_d,rand(1,10); if (.@karma_d > 4) { mes "[Gypsy]"; @@ -33,7 +33,7 @@ valkyrie,53,56,3 script Gypsy#Valkyrie 101,{ mes "For me, it's a way of life~"; close; } - if ((FJOB == Job_Wanderer) && (Class == Job_Archer_High) && (JobLevel > 39)) { + 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"; @@ -60,7 +60,7 @@ valkyrie,53,56,3 script Gypsy#Valkyrie 101,{ close; } jobchange Job_Gypsy; - set FJOB,0; + set ADVJOB,0; mes "[Gypsy]"; mes "Congratulations!"; mes "As a Gypsy, I know"; diff --git a/npc/jobs/2-2a/Paladin.txt b/npc/jobs/2-2a/Paladin.txt index d7a6906ea..179f4caf1 100644 --- a/npc/jobs/2-2a/Paladin.txt +++ b/npc/jobs/2-2a/Paladin.txt @@ -16,7 +16,7 @@ //============================================================ valkyrie,53,39,3 script Paladin#Valkyrie 752,{ - if (FJOB == 0 || Upper != 1) { + if (ADVJOB == 0 || Upper != 1) { set .@karma_d,rand(1,10); if (.@karma_d > 4) { mes "[Paladin]"; @@ -33,7 +33,7 @@ valkyrie,53,39,3 script Paladin#Valkyrie 752,{ mes "always brighten our path!"; close; } - if ((FJOB == Job_Royal_Guard) && (Class == Job_Swordman_High) && (JobLevel > 39)) { + if ((ADVJOB == Job_Paladin) && (Class == Job_Swordman_High) && (JobLevel > 39)) { mes "[Paladin]"; mes "The Holy War will"; mes "be upon us before we"; @@ -61,7 +61,7 @@ valkyrie,53,39,3 script Paladin#Valkyrie 752,{ close; } jobchange Job_Paladin; - set FJOB,0; + set ADVJOB,0; mes "[Paladin]"; mes "Congratulations."; mes "As a Paladin, I hope"; diff --git a/npc/jobs/2-2a/Professor.txt b/npc/jobs/2-2a/Professor.txt index 6b8b0e300..a28d695e6 100644 --- a/npc/jobs/2-2a/Professor.txt +++ b/npc/jobs/2-2a/Professor.txt @@ -16,7 +16,7 @@ //============================================================ valkyrie,53,47,3 script Scholar#Valkyrie 743,{ - if (FJOB == 0 || Upper != 1) { + if (ADVJOB == 0 || Upper != 1) { set .@karma_d,rand(1,10); if (.@karma_d > 4) { mes "[Scholar]"; @@ -40,7 +40,7 @@ valkyrie,53,47,3 script Scholar#Valkyrie 743,{ mes "process of learning..."; close; } - if ((FJOB == Job_Sorcerer) && (Class == Job_Mage_High) && (JobLevel > 39)) { + if ((ADVJOB == Job_Professor) && (Class == Job_Mage_High) && (JobLevel > 39)) { mes "[Scholar]"; mes "Rune-Midgard doesn't"; mes "have enough Scholars to"; @@ -68,7 +68,7 @@ valkyrie,53,47,3 script Scholar#Valkyrie 743,{ close; } jobchange Job_Professor; - set FJOB,0; + set ADVJOB,0; mes "[Scholar]"; mes "Congratulations!"; mes "As a Professor, I hope"; diff --git a/npc/jobs/2-2a/Stalker.txt b/npc/jobs/2-2a/Stalker.txt index aa94e8501..e6ee9522c 100644 --- a/npc/jobs/2-2a/Stalker.txt +++ b/npc/jobs/2-2a/Stalker.txt @@ -16,7 +16,7 @@ //============================================================ valkyrie,53,58,3 script Stalker#Valkyrie 747,{ - if (FJOB == 0 || Upper != 1) { + if (ADVJOB == 0 || Upper != 1) { set .@karma_d,rand(1,10); if (.@karma_d > 4) { mes "[Stalker]"; @@ -41,7 +41,7 @@ valkyrie,53,58,3 script Stalker#Valkyrie 747,{ mes "they need me."; close; } - if ((FJOB == Job_Shadow_Chaser) && (Class == Job_Thief_High) && (JobLevel > 39)) { + if ((ADVJOB == Job_Stalker) && (Class == Job_Thief_High) && (JobLevel > 39)) { mes "[Stalker]"; mes "This world needs"; mes "more heroes who are"; @@ -69,7 +69,7 @@ valkyrie,53,58,3 script Stalker#Valkyrie 747,{ close; } jobchange Job_Stalker; - set FJOB,0; + set ADVJOB,0; mes "[Stalker]"; mes "Congratulations!"; mes "As a Stalker, I hope"; diff --git a/npc/jobs/valkyrie.txt b/npc/jobs/valkyrie.txt index 178acd4bc..0569d9c80 100644 --- a/npc/jobs/valkyrie.txt +++ b/npc/jobs/valkyrie.txt @@ -40,7 +40,7 @@ //============================================================ valkyrie,48,86,4 script Valkyrie# 811,{ - if (FJOB != 0 || Upper == 1) { + if (ADVJOB != 0 || Upper == 1) { mes "[Valkyrie]"; mes "Welcome"; mes "to Valhalla,"; @@ -53,7 +53,7 @@ valkyrie,48,86,4 script Valkyrie# 811,{ mes "Honor to the warriors!"; close; } - if ((Baselevel > 98) && (JobLevel > 49) && ((Class >= Job_Knight) && (Class <= Job_Crusader2))) { + if ((Baselevel > 98) && (JobLevel > 49) && (Class >= Job_Knight) && (Class <= Job_Crusader2)) { mes "[Valkyrie]"; mes "Welcome"; mes "to Valhalla,"; @@ -84,113 +84,114 @@ valkyrie,48,86,4 script Valkyrie# 811,{ 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."; - 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 "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 "And I pray that the new life to which the goddess Skuld will guide you will be even more honorable than your last."; + 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; - switch (FJOB) { - case 4054: - case 4066: - warp "izlude",94,103; break; - case 4057: - case 4070: - warp "prontera",273,354; break; - case 4055: - case 4067: - warp "geffen",120,60; break; - case 4058: - case 4071: - warp "alberta",116,57; break; - case 4056: - case 4068: - case 4069: - warp "payon",69,100; break; - case 4059: - case 4072: - warp "morocc",154,50; break; - default: - warp "yuno_in02",93,205; break; - } + 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; } mes "[Valkyrie]"; mes "Welcome"; @@ -205,7 +206,7 @@ valkyrie,48,86,4 script Valkyrie# 811,{ } yuno_in02,88,164,5 script Metheus Sylphe#Library 742,{ - if ((Baselevel > 98) && (JobLevel > 49) && ((Class >= Job_Knight) && (Class <= Job_Crusader2))) { + 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."; @@ -252,7 +253,7 @@ yuno_in02,88,164,5 script Metheus Sylphe#Library 742,{ } yuno_in02,93,207,1 script Book of Ymir 111,{ - if (FJOB != 0 || Upper == 1) { + 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; @@ -270,7 +271,7 @@ yuno_in02,93,207,1 script Book of Ymir 111,{ warp "valkyrie",48,8; end; } - if ((Baselevel > 98) && (JobLevel > 49) && ((Class >= Job_Knight) && (Class <= Job_Crusader2))) { + 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"; @@ -338,7 +339,7 @@ yuno_in02,93,207,1 script Book of Ymir 111,{ } yuno_in05,49,43,1 script Heart of Ymir 111,{ - if ((Baselevel > 98) && (JobLevel > 49) && ((Class >= Job_Knight) && (Class <= Job_Crusader2))) { + if ((Baselevel > 98) && (JobLevel > 49) && (Class >= Job_Knight) && (Class <= Job_Crusader2)) { if (valkyrie_Q == 2) warp "valkyrie",48,8; } end; diff --git a/npc/pre-re/jobs/1-1/acolyte.txt b/npc/pre-re/jobs/1-1/acolyte.txt index 0c8307cbb..20c1f50f3 100644 --- a/npc/pre-re/jobs/1-1/acolyte.txt +++ b/npc/pre-re/jobs/1-1/acolyte.txt @@ -15,7 +15,7 @@ //============================================================ prt_church,184,41,4 script Cleric#aco 60,{ if (Upper == 1) { - if (FJOB == Job_Arch_Bishop || FJOB == Job_Sura) { + if (ADVJOB == Job_High_Priest || ADVJOB == Job_Champion) { if (Class == Job_Novice_High) { mes "[Father Mareusis]"; mes "Ah, I sense you have endured"; @@ -125,8 +125,8 @@ prt_church,184,41,4 script Cleric#aco 60,{ } prt_fild03,365,255,2 script Ascetic#aco 89,{ - if (Class == Job_Novice) { - if (ACO_Q== 6) { + if (Class == Job_Baby || Class == Job_Novice) { + if (ACO_Q == 6) { mes "[Father Rubalkabara]"; mes "Please take care. They should know that you've met me by the time you arrive at the Prontera Sanctuary."; next; @@ -134,8 +134,8 @@ prt_fild03,365,255,2 script Ascetic#aco 89,{ mes "I've sent a carrier pigeon with a message. I hope it will arrive there safely..."; close; } - if (ACO_Q!= 0) { - if (ACO_Q== 2) { + if (ACO_Q != 0) { + if (ACO_Q == 2) { mes "[Father Rubalkabara]"; 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; @@ -180,8 +180,8 @@ prt_fild03,365,255,2 script Ascetic#aco 89,{ close; } if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - if (PRST_Q != 0) { - if (PRST_Q == 1) { + if (ACO_Q2 != 0) { + if (ACO_Q2 == 1) { mes "[Father Rubalkabara]"; mes "Ah yes, so you're the young Acolyte who wishes to become a Priest."; next; @@ -194,10 +194,10 @@ prt_fild03,365,255,2 script Ascetic#aco 89,{ mes "[Father Rubalkabara]"; mes "Well then, please head to your next destination for your pilgrimage. Be safe in your travels."; savepoint "prt_fild03",361,255; - set PRST_Q,2; + set ACO_Q2,2; close; } - if (PRST_Q == 2) { + if (ACO_Q2 == 2) { mes "[Father Rubalkabara]"; mes "Please be hurry to the next destination for your pilgrimage. I hope you become a Priest soon."; close; @@ -228,8 +228,8 @@ prt_fild03,365,255,2 script Ascetic#aco 89,{ } moc_fild07,41,355,4 script Ascetic#2 95,{ - if (Class == Job_Novice) { - if (ACO_Q== 6) { + if (Class == Job_Baby || Class == Job_Novice) { + if (ACO_Q == 6) { mes "[Mother Marthilda]"; mes "I will send a carrier pigeon to the Prontera Sanctuary. When you return, the Priest there should already have received my message."; next; @@ -237,8 +237,8 @@ moc_fild07,41,355,4 script Ascetic#2 95,{ mes "I will pray to God, and hope that you become an Acolyte soon."; close; } - if (ACO_Q!= 0) { - if (ACO_Q== 3) { + if (ACO_Q != 0) { + if (ACO_Q == 3) { mes "[Mother Marthilda]"; mes "Ah, you must be one of the Acolyte applicants. I sincerely welcome you."; next; @@ -278,8 +278,8 @@ moc_fild07,41,355,4 script Ascetic#2 95,{ close; } if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - if (PRST_Q != 0) { - if (PRST_Q == 1) { + if (ACO_Q2 != 0) { + if (ACO_Q2 == 1) { mes "[Mother Marthilda]"; mes "Hmm..."; mes "It seems you're"; @@ -293,7 +293,7 @@ moc_fild07,41,355,4 script Ascetic#2 95,{ mes "Perhaps you should ask Bishop Paul or Sister Cecilia once again. Well, may God be with you..."; close; } - if (PRST_Q == 2) { + if (ACO_Q2 == 2) { mes "[Mother Marthilda]"; mes "Ah, are you"; mes "a Priest trainee...?"; @@ -312,10 +312,10 @@ moc_fild07,41,355,4 script Ascetic#2 95,{ mes "God for safety"; mes "on your journey."; savepoint "moc_fild07",35,355; - set PRST_Q,3; + set ACO_Q2,3; close; } - if (PRST_Q == 3) { + if (ACO_Q2 == 3) { mes "[Mother Marthilda]"; mes "Please leave soon, and"; mes "continue your training."; @@ -345,8 +345,8 @@ moc_fild07,41,355,4 script Ascetic#2 95,{ } prt_fild00,208,218,6 script Ascetic#3 98,{ - if (Class == Job_Novice) { - if (ACO_Q== 8) { + if (Class == Job_Baby || Class == Job_Novice) { + if (ACO_Q == 8) { mes "[Father Yosuke]"; mes "What?"; next; @@ -354,8 +354,8 @@ prt_fild00,208,218,6 script Ascetic#3 98,{ mes "Have you any more business with me?! You don't! Go back to the Sanctuary now!"; close; } - if (ACO_Q!= 0) { - if (ACO_Q== 4) { + if (ACO_Q != 0) { + if (ACO_Q == 4) { mes "[Father Yosuke]"; mes "Hey."; mes "Whatever you are,"; @@ -401,8 +401,8 @@ prt_fild00,208,218,6 script Ascetic#3 98,{ close; } if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - if (PRST_Q != 0) { - if (PRST_Q == 1) { + if (ACO_Q2 != 0) { + if (ACO_Q2 == 1) { mes "[Father Yosuke]"; mes "Hmm..."; mes "A Priest trainee, eh?"; @@ -415,7 +415,7 @@ prt_fild00,208,218,6 script Ascetic#3 98,{ mes "Now, go back to Church, kid."; close; } - if (PRST_Q == 2) { + if (ACO_Q2 == 2) { mes "[Father Yosuke]"; mes "Hmm..."; mes "A Priest trainee, eh?"; @@ -427,7 +427,7 @@ prt_fild00,208,218,6 script Ascetic#3 98,{ mes "But that's your own fault. Go back to Church."; close; } - if (PRST_Q == 3) { + if (ACO_Q2 == 3) { mes "[Father Yosuke]"; mes "Hmm."; mes "A Priest"; @@ -446,10 +446,10 @@ prt_fild00,208,218,6 script Ascetic#3 98,{ mes "your trials is now"; mes "completed."; savepoint "prt_fild00",206,230; - set PRST_Q,4; + set ACO_Q2,4; close; } - if (PRST_Q == 4) { + if (ACO_Q2 == 4) { mes "[Father Yosuke]"; 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...?"; diff --git a/npc/pre-re/jobs/1-1/archer.txt b/npc/pre-re/jobs/1-1/archer.txt index c51a080bd..985b6c0f8 100644 --- a/npc/pre-re/jobs/1-1/archer.txt +++ b/npc/pre-re/jobs/1-1/archer.txt @@ -14,7 +14,7 @@ //============================================================ payon_in02,64,71,4 script Archer Guildsman 85,{ if (Upper == 1) { - if ((Class == Job_Novice_High) && (FJOB == Job_Ranger || FJOB == Job_Minstrel || FJOB == Job_Wanderer)) { + if ((Class == Job_Novice_High) && (ADVJOB == Job_Sniper || ADVJOB == Job_Clown || ADVJOB == Job_Gypsy)) { mes "[Archer Guildsman]"; mes "Hey, I know you."; next; @@ -76,7 +76,7 @@ payon_in02,64,71,4 script Archer Guildsman 85,{ mes "extremely high concentration,"; mes "so we do not accept "; mes "those who have little patience."; - close2; + close; } mes "[Archer Guildsman]"; mes "You seem to have learned the basic skills.."; diff --git a/npc/pre-re/jobs/1-1/mage.txt b/npc/pre-re/jobs/1-1/mage.txt index 03b850049..51d4dbe27 100644 --- a/npc/pre-re/jobs/1-1/mage.txt +++ b/npc/pre-re/jobs/1-1/mage.txt @@ -14,7 +14,7 @@ //============================================================ geffen_in,164,124,4 script Mage Guildsman 123,{ if (Upper == 1) { - if (FJOB == Job_Warlock || FJOB == Job_Sorcerer) { + if ((Class == Job_Novice_High) && (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?"; diff --git a/npc/pre-re/jobs/1-1/merchant.txt b/npc/pre-re/jobs/1-1/merchant.txt index 5b0b3557c..c9ad936fd 100644 --- a/npc/pre-re/jobs/1-1/merchant.txt +++ b/npc/pre-re/jobs/1-1/merchant.txt @@ -14,7 +14,7 @@ //============================================================ alberta_in,53,43,6 script Merchant#mer 86,{ if (Upper == 1) { - if ((Class == Job_Novice_High) && (FJOB == Job_Mechanic || FJOB == Job_Genetic)) { + 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"; @@ -70,7 +70,7 @@ alberta_in,53,43,6 script Merchant#mer 86,{ next; mes "[Guildsman Mahnsoo]"; mes "Don't you think we need to learn some basic skills although we just deal with money?"; - close2; + close; } mes "[Guildsman Mahnsoo]"; mes "Good, I think you're fully ready for it seeing that your basic skill level is fulfilled."; @@ -169,7 +169,7 @@ alberta_in,53,43,6 script Merchant#mer 86,{ } alberta_in,28,29,2 script Merchant Guildsman 83,{ - if (MERCNT_Q == 0 || MERCNT_Q == 1 || MERCNT_Q == 2) { + if ((MERCNT_Q >= 0) && (MERCNT_Q <= 2)) { mes "[Union Staff Kay]"; mes "I am sorry, but we don't make deliveries anymore."; mes "Didn't Chief Mahnsoo tell you?"; diff --git a/npc/pre-re/jobs/1-1/swordman.txt b/npc/pre-re/jobs/1-1/swordman.txt index 61ecdc253..15521250d 100644 --- a/npc/pre-re/jobs/1-1/swordman.txt +++ b/npc/pre-re/jobs/1-1/swordman.txt @@ -14,7 +14,7 @@ //============================================================ izlude_in,74,172,4 script Swordman 119,{ if (Upper == 1) { - if ((Class == Job_Novice_High) && (FJOB == Job_Rune_Knight || FJOB == Job_Royal_Guard)) { + if ((Class == Job_Novice_High) && (ADVJOB == Job_Lord_Knight || ADVJOB == Job_Paladin)) { mes "[Swordman Guildsman]"; mes "It..."; mes "Can't be..."; @@ -85,7 +85,7 @@ izlude_in,74,172,4 script Swordman 119,{ if (Class == Job_Baby || Class == Job_Novice) { 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 ^4d4dffJob Level 10^000000."; + mes "I'm sorry to tell you this but to be a Swordman, you must reach at least ^4d4dffJOB Level 10^000000."; mes "and ^4d4dffBasic Skill Level 9^000000."; next; mes "[Swordman Guildsman]"; @@ -109,7 +109,6 @@ izlude_in,74,172,4 script Swordman 119,{ } else { jobchange Job_Swordman; } - set job_sword_q,0; getitem 13415,1; //N_Falchion mes "[Swordman Guildsman]"; mes "Congratulations again for becomming a Swordman and I hope that you participate in many activities for the revival of our guild."; @@ -121,7 +120,7 @@ izlude_in,74,172,4 script Swordman 119,{ close; } } - if (Class == Job_Baby_Swordman || Class == Job_Swordman || Class == Job_Swordman) { + if (Class == Job_Baby_Swordman || Class == Job_Swordman) { mes "[Swordman Guildsman]"; mes "You are already an excellent Swordman, aren't you?"; mes "Just devote yourself to be a great Swordman."; diff --git a/npc/pre-re/jobs/1-1/thief.txt b/npc/pre-re/jobs/1-1/thief.txt index 956b5c277..8f90b16d4 100644 --- a/npc/pre-re/jobs/1-1/thief.txt +++ b/npc/pre-re/jobs/1-1/thief.txt @@ -14,7 +14,7 @@ //============================================================ moc_prydb1,39,129,2 script Thief Guildsman 69,{ if (Upper == 1) { - if (FJOB == Job_Guillotine_Cross || FJOB == Job_Shadow_Chaser) { + if ((Class == Job_Novice_High) && (ADVJOB == Job_Assassin_Cross || ADVJOB == Job_Stalker)) { if (Class == Job_Novice_High) { mes "[Thief Guildsman]"; mes "Huh? Do I know you? It's creepy that you seem so familiar. You don't have a twin, do you?"; diff --git a/npc/re/jobs/1-1/acolyte.txt b/npc/re/jobs/1-1/acolyte.txt index 0c8307cbb..20c1f50f3 100644 --- a/npc/re/jobs/1-1/acolyte.txt +++ b/npc/re/jobs/1-1/acolyte.txt @@ -15,7 +15,7 @@ //============================================================ prt_church,184,41,4 script Cleric#aco 60,{ if (Upper == 1) { - if (FJOB == Job_Arch_Bishop || FJOB == Job_Sura) { + if (ADVJOB == Job_High_Priest || ADVJOB == Job_Champion) { if (Class == Job_Novice_High) { mes "[Father Mareusis]"; mes "Ah, I sense you have endured"; @@ -125,8 +125,8 @@ prt_church,184,41,4 script Cleric#aco 60,{ } prt_fild03,365,255,2 script Ascetic#aco 89,{ - if (Class == Job_Novice) { - if (ACO_Q== 6) { + if (Class == Job_Baby || Class == Job_Novice) { + if (ACO_Q == 6) { mes "[Father Rubalkabara]"; mes "Please take care. They should know that you've met me by the time you arrive at the Prontera Sanctuary."; next; @@ -134,8 +134,8 @@ prt_fild03,365,255,2 script Ascetic#aco 89,{ mes "I've sent a carrier pigeon with a message. I hope it will arrive there safely..."; close; } - if (ACO_Q!= 0) { - if (ACO_Q== 2) { + if (ACO_Q != 0) { + if (ACO_Q == 2) { mes "[Father Rubalkabara]"; 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; @@ -180,8 +180,8 @@ prt_fild03,365,255,2 script Ascetic#aco 89,{ close; } if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - if (PRST_Q != 0) { - if (PRST_Q == 1) { + if (ACO_Q2 != 0) { + if (ACO_Q2 == 1) { mes "[Father Rubalkabara]"; mes "Ah yes, so you're the young Acolyte who wishes to become a Priest."; next; @@ -194,10 +194,10 @@ prt_fild03,365,255,2 script Ascetic#aco 89,{ mes "[Father Rubalkabara]"; mes "Well then, please head to your next destination for your pilgrimage. Be safe in your travels."; savepoint "prt_fild03",361,255; - set PRST_Q,2; + set ACO_Q2,2; close; } - if (PRST_Q == 2) { + if (ACO_Q2 == 2) { mes "[Father Rubalkabara]"; mes "Please be hurry to the next destination for your pilgrimage. I hope you become a Priest soon."; close; @@ -228,8 +228,8 @@ prt_fild03,365,255,2 script Ascetic#aco 89,{ } moc_fild07,41,355,4 script Ascetic#2 95,{ - if (Class == Job_Novice) { - if (ACO_Q== 6) { + if (Class == Job_Baby || Class == Job_Novice) { + if (ACO_Q == 6) { mes "[Mother Marthilda]"; mes "I will send a carrier pigeon to the Prontera Sanctuary. When you return, the Priest there should already have received my message."; next; @@ -237,8 +237,8 @@ moc_fild07,41,355,4 script Ascetic#2 95,{ mes "I will pray to God, and hope that you become an Acolyte soon."; close; } - if (ACO_Q!= 0) { - if (ACO_Q== 3) { + if (ACO_Q != 0) { + if (ACO_Q == 3) { mes "[Mother Marthilda]"; mes "Ah, you must be one of the Acolyte applicants. I sincerely welcome you."; next; @@ -278,8 +278,8 @@ moc_fild07,41,355,4 script Ascetic#2 95,{ close; } if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - if (PRST_Q != 0) { - if (PRST_Q == 1) { + if (ACO_Q2 != 0) { + if (ACO_Q2 == 1) { mes "[Mother Marthilda]"; mes "Hmm..."; mes "It seems you're"; @@ -293,7 +293,7 @@ moc_fild07,41,355,4 script Ascetic#2 95,{ mes "Perhaps you should ask Bishop Paul or Sister Cecilia once again. Well, may God be with you..."; close; } - if (PRST_Q == 2) { + if (ACO_Q2 == 2) { mes "[Mother Marthilda]"; mes "Ah, are you"; mes "a Priest trainee...?"; @@ -312,10 +312,10 @@ moc_fild07,41,355,4 script Ascetic#2 95,{ mes "God for safety"; mes "on your journey."; savepoint "moc_fild07",35,355; - set PRST_Q,3; + set ACO_Q2,3; close; } - if (PRST_Q == 3) { + if (ACO_Q2 == 3) { mes "[Mother Marthilda]"; mes "Please leave soon, and"; mes "continue your training."; @@ -345,8 +345,8 @@ moc_fild07,41,355,4 script Ascetic#2 95,{ } prt_fild00,208,218,6 script Ascetic#3 98,{ - if (Class == Job_Novice) { - if (ACO_Q== 8) { + if (Class == Job_Baby || Class == Job_Novice) { + if (ACO_Q == 8) { mes "[Father Yosuke]"; mes "What?"; next; @@ -354,8 +354,8 @@ prt_fild00,208,218,6 script Ascetic#3 98,{ mes "Have you any more business with me?! You don't! Go back to the Sanctuary now!"; close; } - if (ACO_Q!= 0) { - if (ACO_Q== 4) { + if (ACO_Q != 0) { + if (ACO_Q == 4) { mes "[Father Yosuke]"; mes "Hey."; mes "Whatever you are,"; @@ -401,8 +401,8 @@ prt_fild00,208,218,6 script Ascetic#3 98,{ close; } if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - if (PRST_Q != 0) { - if (PRST_Q == 1) { + if (ACO_Q2 != 0) { + if (ACO_Q2 == 1) { mes "[Father Yosuke]"; mes "Hmm..."; mes "A Priest trainee, eh?"; @@ -415,7 +415,7 @@ prt_fild00,208,218,6 script Ascetic#3 98,{ mes "Now, go back to Church, kid."; close; } - if (PRST_Q == 2) { + if (ACO_Q2 == 2) { mes "[Father Yosuke]"; mes "Hmm..."; mes "A Priest trainee, eh?"; @@ -427,7 +427,7 @@ prt_fild00,208,218,6 script Ascetic#3 98,{ mes "But that's your own fault. Go back to Church."; close; } - if (PRST_Q == 3) { + if (ACO_Q2 == 3) { mes "[Father Yosuke]"; mes "Hmm."; mes "A Priest"; @@ -446,10 +446,10 @@ prt_fild00,208,218,6 script Ascetic#3 98,{ mes "your trials is now"; mes "completed."; savepoint "prt_fild00",206,230; - set PRST_Q,4; + set ACO_Q2,4; close; } - if (PRST_Q == 4) { + if (ACO_Q2 == 4) { mes "[Father Yosuke]"; 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...?"; diff --git a/npc/re/jobs/1-1/archer.txt b/npc/re/jobs/1-1/archer.txt index c51a080bd..985b6c0f8 100644 --- a/npc/re/jobs/1-1/archer.txt +++ b/npc/re/jobs/1-1/archer.txt @@ -14,7 +14,7 @@ //============================================================ payon_in02,64,71,4 script Archer Guildsman 85,{ if (Upper == 1) { - if ((Class == Job_Novice_High) && (FJOB == Job_Ranger || FJOB == Job_Minstrel || FJOB == Job_Wanderer)) { + if ((Class == Job_Novice_High) && (ADVJOB == Job_Sniper || ADVJOB == Job_Clown || ADVJOB == Job_Gypsy)) { mes "[Archer Guildsman]"; mes "Hey, I know you."; next; @@ -76,7 +76,7 @@ payon_in02,64,71,4 script Archer Guildsman 85,{ mes "extremely high concentration,"; mes "so we do not accept "; mes "those who have little patience."; - close2; + close; } mes "[Archer Guildsman]"; mes "You seem to have learned the basic skills.."; diff --git a/npc/re/jobs/1-1/mage.txt b/npc/re/jobs/1-1/mage.txt index 03b850049..51d4dbe27 100644 --- a/npc/re/jobs/1-1/mage.txt +++ b/npc/re/jobs/1-1/mage.txt @@ -14,7 +14,7 @@ //============================================================ geffen_in,164,124,4 script Mage Guildsman 123,{ if (Upper == 1) { - if (FJOB == Job_Warlock || FJOB == Job_Sorcerer) { + if ((Class == Job_Novice_High) && (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?"; diff --git a/npc/re/jobs/1-1/merchant.txt b/npc/re/jobs/1-1/merchant.txt index 5b0b3557c..c9ad936fd 100644 --- a/npc/re/jobs/1-1/merchant.txt +++ b/npc/re/jobs/1-1/merchant.txt @@ -14,7 +14,7 @@ //============================================================ alberta_in,53,43,6 script Merchant#mer 86,{ if (Upper == 1) { - if ((Class == Job_Novice_High) && (FJOB == Job_Mechanic || FJOB == Job_Genetic)) { + 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"; @@ -70,7 +70,7 @@ alberta_in,53,43,6 script Merchant#mer 86,{ next; mes "[Guildsman Mahnsoo]"; mes "Don't you think we need to learn some basic skills although we just deal with money?"; - close2; + close; } mes "[Guildsman Mahnsoo]"; mes "Good, I think you're fully ready for it seeing that your basic skill level is fulfilled."; @@ -169,7 +169,7 @@ alberta_in,53,43,6 script Merchant#mer 86,{ } alberta_in,28,29,2 script Merchant Guildsman 83,{ - if (MERCNT_Q == 0 || MERCNT_Q == 1 || MERCNT_Q == 2) { + if ((MERCNT_Q >= 0) && (MERCNT_Q <= 2)) { mes "[Union Staff Kay]"; mes "I am sorry, but we don't make deliveries anymore."; mes "Didn't Chief Mahnsoo tell you?"; diff --git a/npc/re/jobs/1-1/swordman.txt b/npc/re/jobs/1-1/swordman.txt index 61ecdc253..15521250d 100644 --- a/npc/re/jobs/1-1/swordman.txt +++ b/npc/re/jobs/1-1/swordman.txt @@ -14,7 +14,7 @@ //============================================================ izlude_in,74,172,4 script Swordman 119,{ if (Upper == 1) { - if ((Class == Job_Novice_High) && (FJOB == Job_Rune_Knight || FJOB == Job_Royal_Guard)) { + if ((Class == Job_Novice_High) && (ADVJOB == Job_Lord_Knight || ADVJOB == Job_Paladin)) { mes "[Swordman Guildsman]"; mes "It..."; mes "Can't be..."; @@ -85,7 +85,7 @@ izlude_in,74,172,4 script Swordman 119,{ if (Class == Job_Baby || Class == Job_Novice) { 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 ^4d4dffJob Level 10^000000."; + mes "I'm sorry to tell you this but to be a Swordman, you must reach at least ^4d4dffJOB Level 10^000000."; mes "and ^4d4dffBasic Skill Level 9^000000."; next; mes "[Swordman Guildsman]"; @@ -109,7 +109,6 @@ izlude_in,74,172,4 script Swordman 119,{ } else { jobchange Job_Swordman; } - set job_sword_q,0; getitem 13415,1; //N_Falchion mes "[Swordman Guildsman]"; mes "Congratulations again for becomming a Swordman and I hope that you participate in many activities for the revival of our guild."; @@ -121,7 +120,7 @@ izlude_in,74,172,4 script Swordman 119,{ close; } } - if (Class == Job_Baby_Swordman || Class == Job_Swordman || Class == Job_Swordman) { + if (Class == Job_Baby_Swordman || Class == Job_Swordman) { mes "[Swordman Guildsman]"; mes "You are already an excellent Swordman, aren't you?"; mes "Just devote yourself to be a great Swordman."; diff --git a/npc/re/jobs/1-1/thief.txt b/npc/re/jobs/1-1/thief.txt index 956b5c277..8f90b16d4 100644 --- a/npc/re/jobs/1-1/thief.txt +++ b/npc/re/jobs/1-1/thief.txt @@ -14,7 +14,7 @@ //============================================================ moc_prydb1,39,129,2 script Thief Guildsman 69,{ if (Upper == 1) { - if (FJOB == Job_Guillotine_Cross || FJOB == Job_Shadow_Chaser) { + if ((Class == Job_Novice_High) && (ADVJOB == Job_Assassin_Cross || ADVJOB == Job_Stalker)) { if (Class == Job_Novice_High) { mes "[Thief Guildsman]"; mes "Huh? Do I know you? It's creepy that you seem so familiar. You don't have a twin, do you?"; -- cgit v1.2.3-70-g09d2 From f569968e15e9c89222713c7c3a61b8240df36db8 Mon Sep 17 00:00:00 2001 From: masao87 Date: Sun, 5 Aug 2012 15:26:07 +0000 Subject: - This should fix all job quests which didn't work after the update. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16584 54d463be-8e91-2dee-dedb-b68131a5f0ec --- npc/jobs/2-1/assassin.txt | 499 ++++++------ npc/jobs/2-1/hunter.txt | 1624 +++++++++++++++++++------------------- npc/jobs/2-1/knight.txt | 1200 ++++++++++------------------ npc/jobs/2-1/priest.txt | 422 ++++------ npc/jobs/2-1/wizard.txt | 370 ++++----- npc/jobs/2-2/alchemist.txt | 5 +- npc/jobs/2-2/crusader.txt | 89 ++- npc/jobs/2-2/dancer.txt | 40 +- npc/jobs/2-2/monk.txt | 18 + npc/jobs/2-2/rogue.txt | 26 + npc/jobs/2-2/sage.txt | 46 +- npc/jobs/valkyrie.txt | 8 +- npc/pre-re/jobs/1-1/acolyte.txt | 2 +- npc/pre-re/jobs/1-1/swordman.txt | 2 +- npc/re/jobs/1-1/acolyte.txt | 2 +- npc/re/jobs/1-1/swordman.txt | 2 +- 16 files changed, 1944 insertions(+), 2411 deletions(-) (limited to 'npc/re/jobs/1-1/swordman.txt') diff --git a/npc/jobs/2-1/assassin.txt b/npc/jobs/2-1/assassin.txt index a20493a47..c18d1d819 100644 --- a/npc/jobs/2-1/assassin.txt +++ b/npc/jobs/2-1/assassin.txt @@ -686,8 +686,7 @@ OnTouch: mes "I am not necessarily cruel. Before we proceed, is there anything you wish to know?"; next; } - set ASSIN_Q3,0; - while (1) { + while(ASSIN_Q3 < 3) { switch (select("...Skills?:...Stats?:Hmpf, I know it all.")) { case 1: mes "[The Anonymous One]"; @@ -773,11 +772,10 @@ OnTouch: set ASSIN_Q3,3; changequest 8001,8002; next; - break; } else { set ASSIN_Q3,3; changequest 8001,8002; - break; + next; } break; } @@ -959,7 +957,7 @@ OnTouch: mes "[The Anonymous One]"; mes "6. Choose the correct specialty of the Assassin class."; next; - select("Excellent singing talent:Excellent reading talent:Excellent dancing talent:Excellent dodge ability"); + 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."; @@ -1312,7 +1310,7 @@ OnInit: OnStartArena: warpwaitingpc "in_moc_16",66,151; attachrid($@warpwaitingpc[0]); - if(ASSIN_Q2<5) { + if(ASSIN_Q3 < 5) { warpchar "in_moc_16",20,145,getcharid(0); end; } @@ -1412,11 +1410,11 @@ in_moc_16,1,1,0 script Beholder#ASNTEST 139,{ end; OnInit: - hideonnpc "Beholder#ASNTEST"; + disablenpc "Beholder#ASNTEST"; end; OnEnable: - hideoffnpc "Beholder#ASNTEST"; + enablenpc "Beholder#ASNTEST"; 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"; @@ -1455,7 +1453,7 @@ OnMyMobDead: end; OnDisable: - hideonnpc "Beholder#ASNTEST"; + disablenpc "Beholder#ASNTEST"; end; OnTimer1000: @@ -1538,16 +1536,16 @@ OnTouch: end; OnInit: - hideonnpc "backers#ASN"; + disablenpc "backers#ASN"; end; OnEnable: donpcevent "job_asn_test::OnDisable"; - hideoffnpc "backers#ASN"; + enablenpc "backers#ASN"; end; OnDisable: - hideonnpc "backers#ASN"; + disablenpc "backers#ASN"; end; } @@ -1563,7 +1561,7 @@ in_moc_16,2,1,0 script Beholder#ASNTEST2 139,{ end; OnInit: - hideonnpc "Beholder#ASNTEST2"; + disablenpc "Beholder#ASNTEST2"; end; OnReset: @@ -1571,11 +1569,11 @@ OnReset: end; OnDisable: - hideonnpc "Beholder#ASNTEST2"; + disablenpc "Beholder#ASNTEST2"; end; OnEnable: - hideoffnpc "Beholder#ASNTEST2"; + enablenpc "Beholder#ASNTEST2"; monster "in_moc_16",62,161,"Job change creature",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; monster "in_moc_16",85,169,"Job change creature",1031,1,"Beholder#ASNTEST2::OnMyMobDead"; monster "in_moc_16",79,174,"Job change creature",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; @@ -1636,177 +1634,177 @@ OnTouch: end; OnEnable: - hideoffnpc "01_1"; - hideoffnpc "01_2"; - hideoffnpc "01_3"; - hideoffnpc "01_4"; - hideoffnpc "02_1"; - hideoffnpc "02_2"; - hideoffnpc "02_3"; - hideoffnpc "02_4"; - hideoffnpc "03_1"; - hideoffnpc "03_2"; - hideoffnpc "03_3"; - hideoffnpc "03_4"; - hideoffnpc "04_1"; - hideoffnpc "04_2"; - hideoffnpc "04_3"; - hideoffnpc "04_4"; - hideoffnpc "05_1"; - hideoffnpc "05_2"; - hideoffnpc "05_3"; - hideoffnpc "05_4"; - hideoffnpc "06_1"; - hideoffnpc "06_2"; - hideoffnpc "06_3"; - hideoffnpc "06_4"; - hideoffnpc "07_1"; - hideoffnpc "07_2"; - hideoffnpc "07_3"; - hideoffnpc "07_4"; - hideoffnpc "08_1"; - hideoffnpc "08_2"; - hideoffnpc "08_3"; - hideoffnpc "08_4"; - hideoffnpc "09_1"; - hideoffnpc "09_2"; - hideoffnpc "09_3"; - hideoffnpc "09_4"; - hideoffnpc "10_1"; - hideoffnpc "10_2"; - hideoffnpc "10_3"; - hideoffnpc "10_4"; - hideoffnpc "10_5"; - hideoffnpc "10_6"; - hideoffnpc "10_7"; - hideoffnpc "10_8"; - hideoffnpc "11_1"; - hideoffnpc "11_2"; - hideoffnpc "11_3"; - hideoffnpc "11_4"; - hideoffnpc "12_1"; - hideoffnpc "12_2"; - hideoffnpc "12_3"; - hideoffnpc "12_4"; - hideoffnpc "13_1"; - hideoffnpc "13_2"; - hideoffnpc "13_3"; - hideoffnpc "13_4"; - hideoffnpc "14_1"; - hideoffnpc "14_2"; - hideoffnpc "14_3"; - hideoffnpc "14_4"; - hideoffnpc "14_5"; - hideoffnpc "14_6"; - hideoffnpc "14_7"; - hideoffnpc "14_8"; - hideoffnpc "14_9"; - hideoffnpc "14_10"; - hideoffnpc "14_11"; - hideoffnpc "14_12"; - hideoffnpc "15_1"; - hideoffnpc "15_2"; - hideoffnpc "15_3"; - hideoffnpc "15_4"; - hideoffnpc "16_1"; - hideoffnpc "16_2"; - hideoffnpc "16_3"; - hideoffnpc "16_4"; - hideoffnpc "17_1"; - hideoffnpc "17_2"; - hideoffnpc "17_3"; - hideoffnpc "17_4"; - hideoffnpc "18_1"; - hideoffnpc "18_2"; - hideoffnpc "18_3"; - hideoffnpc "18_4"; + enablenpc "01_1"; + enablenpc "01_2"; + enablenpc "01_3"; + enablenpc "01_4"; + enablenpc "02_1"; + enablenpc "02_2"; + enablenpc "02_3"; + enablenpc "02_4"; + enablenpc "03_1"; + enablenpc "03_2"; + enablenpc "03_3"; + enablenpc "03_4"; + enablenpc "04_1"; + enablenpc "04_2"; + enablenpc "04_3"; + enablenpc "04_4"; + enablenpc "05_1"; + enablenpc "05_2"; + enablenpc "05_3"; + enablenpc "05_4"; + enablenpc "06_1"; + enablenpc "06_2"; + enablenpc "06_3"; + enablenpc "06_4"; + enablenpc "07_1"; + enablenpc "07_2"; + enablenpc "07_3"; + enablenpc "07_4"; + enablenpc "08_1"; + enablenpc "08_2"; + enablenpc "08_3"; + enablenpc "08_4"; + enablenpc "09_1"; + enablenpc "09_2"; + enablenpc "09_3"; + enablenpc "09_4"; + enablenpc "10_1"; + enablenpc "10_2"; + enablenpc "10_3"; + enablenpc "10_4"; + enablenpc "10_5"; + enablenpc "10_6"; + enablenpc "10_7"; + enablenpc "10_8"; + enablenpc "11_1"; + enablenpc "11_2"; + enablenpc "11_3"; + enablenpc "11_4"; + enablenpc "12_1"; + enablenpc "12_2"; + enablenpc "12_3"; + enablenpc "12_4"; + enablenpc "13_1"; + enablenpc "13_2"; + enablenpc "13_3"; + enablenpc "13_4"; + enablenpc "14_1"; + enablenpc "14_2"; + enablenpc "14_3"; + enablenpc "14_4"; + enablenpc "14_5"; + enablenpc "14_6"; + enablenpc "14_7"; + enablenpc "14_8"; + enablenpc "14_9"; + enablenpc "14_10"; + enablenpc "14_11"; + enablenpc "14_12"; + enablenpc "15_1"; + enablenpc "15_2"; + enablenpc "15_3"; + enablenpc "15_4"; + enablenpc "16_1"; + enablenpc "16_2"; + enablenpc "16_3"; + enablenpc "16_4"; + enablenpc "17_1"; + enablenpc "17_2"; + enablenpc "17_3"; + enablenpc "17_4"; + enablenpc "18_1"; + enablenpc "18_2"; + enablenpc "18_3"; + enablenpc "18_4"; end; OnDisable: - hideonnpc "01_1"; - hideonnpc "01_2"; - hideonnpc "01_3"; - hideonnpc "01_4"; - hideonnpc "02_1"; - hideonnpc "02_2"; - hideonnpc "02_3"; - hideonnpc "02_4"; - hideonnpc "03_1"; - hideonnpc "03_2"; - hideonnpc "03_3"; - hideonnpc "03_4"; - hideonnpc "04_1"; - hideonnpc "04_2"; - hideonnpc "04_3"; - hideonnpc "04_4"; - hideonnpc "05_1"; - hideonnpc "05_2"; - hideonnpc "05_3"; - hideonnpc "05_4"; - hideonnpc "06_1"; - hideonnpc "06_2"; - hideonnpc "06_3"; - hideonnpc "06_4"; - hideonnpc "07_1"; - hideonnpc "07_2"; - hideonnpc "07_3"; - hideonnpc "07_4"; - hideonnpc "08_1"; - hideonnpc "08_2"; - hideonnpc "08_3"; - hideonnpc "08_4"; - hideonnpc "09_1"; - hideonnpc "09_2"; - hideonnpc "09_3"; - hideonnpc "09_4"; - hideonnpc "10_1"; - hideonnpc "10_2"; - hideonnpc "10_3"; - hideonnpc "10_4"; - hideonnpc "10_5"; - hideonnpc "10_6"; - hideonnpc "10_7"; - hideonnpc "10_8"; - hideonnpc "11_1"; - hideonnpc "11_2"; - hideonnpc "11_3"; - hideonnpc "11_4"; - hideonnpc "12_1"; - hideonnpc "12_2"; - hideonnpc "12_3"; - hideonnpc "12_4"; - hideonnpc "13_1"; - hideonnpc "13_2"; - hideonnpc "13_3"; - hideonnpc "13_4"; - hideonnpc "14_1"; - hideonnpc "14_2"; - hideonnpc "14_3"; - hideonnpc "14_4"; - hideonnpc "14_5"; - hideonnpc "14_6"; - hideonnpc "14_7"; - hideonnpc "14_8"; - hideonnpc "14_9"; - hideonnpc "14_10"; - hideonnpc "14_11"; - hideonnpc "14_12"; - hideonnpc "15_1"; - hideonnpc "15_2"; - hideonnpc "15_3"; - hideonnpc "15_4"; - hideonnpc "16_1"; - hideonnpc "16_2"; - hideonnpc "16_3"; - hideonnpc "16_4"; - hideonnpc "17_1"; - hideonnpc "17_2"; - hideonnpc "17_3"; - hideonnpc "17_4"; - hideonnpc "18_1"; - hideonnpc "18_2"; - hideonnpc "18_3"; - hideonnpc "18_4"; + disablenpc "01_1"; + disablenpc "01_2"; + disablenpc "01_3"; + disablenpc "01_4"; + disablenpc "02_1"; + disablenpc "02_2"; + disablenpc "02_3"; + disablenpc "02_4"; + disablenpc "03_1"; + disablenpc "03_2"; + disablenpc "03_3"; + disablenpc "03_4"; + disablenpc "04_1"; + disablenpc "04_2"; + disablenpc "04_3"; + disablenpc "04_4"; + disablenpc "05_1"; + disablenpc "05_2"; + disablenpc "05_3"; + disablenpc "05_4"; + disablenpc "06_1"; + disablenpc "06_2"; + disablenpc "06_3"; + disablenpc "06_4"; + disablenpc "07_1"; + disablenpc "07_2"; + disablenpc "07_3"; + disablenpc "07_4"; + disablenpc "08_1"; + disablenpc "08_2"; + disablenpc "08_3"; + disablenpc "08_4"; + disablenpc "09_1"; + disablenpc "09_2"; + disablenpc "09_3"; + disablenpc "09_4"; + disablenpc "10_1"; + disablenpc "10_2"; + disablenpc "10_3"; + disablenpc "10_4"; + disablenpc "10_5"; + disablenpc "10_6"; + disablenpc "10_7"; + disablenpc "10_8"; + disablenpc "11_1"; + disablenpc "11_2"; + disablenpc "11_3"; + disablenpc "11_4"; + disablenpc "12_1"; + disablenpc "12_2"; + disablenpc "12_3"; + disablenpc "12_4"; + disablenpc "13_1"; + disablenpc "13_2"; + disablenpc "13_3"; + disablenpc "13_4"; + disablenpc "14_1"; + disablenpc "14_2"; + disablenpc "14_3"; + disablenpc "14_4"; + disablenpc "14_5"; + disablenpc "14_6"; + disablenpc "14_7"; + disablenpc "14_8"; + disablenpc "14_9"; + disablenpc "14_10"; + disablenpc "14_11"; + disablenpc "14_12"; + disablenpc "15_1"; + disablenpc "15_2"; + disablenpc "15_3"; + disablenpc "15_4"; + disablenpc "16_1"; + disablenpc "16_2"; + disablenpc "16_3"; + disablenpc "16_4"; + disablenpc "17_1"; + disablenpc "17_2"; + disablenpc "17_3"; + disablenpc "17_4"; + disablenpc "18_1"; + disablenpc "18_2"; + disablenpc "18_3"; + disablenpc "18_4"; end; } @@ -1911,15 +1909,15 @@ OnTouch: OnEnable: mapannounce "in_moc_16","The door to the next room, at coordinates 87 137, has opened.",bc_map; - hideoffnpc "Keeper of the Door#ASN"; + enablenpc "Keeper of the Door#ASN"; end; OnDisable: - hideonnpc "Keeper of the Door#ASN"; + disablenpc "Keeper of the Door#ASN"; end; OnInit: - hideonnpc "Keeper of the Door#ASN"; + disablenpc "Keeper of the Door#ASN"; end; } @@ -1953,33 +1951,31 @@ OnTouch: 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: + if (select("I'm gonna try it again!:I... I quit!") == 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; - donpcevent "Standby Room#ASNTEST::OnReset"; - set ASSIN_Q,0; - set ASSIN_Q2,0; - set ASSIN_Q3,0; - erasequest 8000; - erasequest 8001; - erasequest 8002; - erasequest 8003; - erasequest 8004; - savepoint "in_moc_16",18,14; - warp "in_moc_16",18,14; } + 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; + donpcevent "Standby Room#ASNTEST::OnReset"; + set ASSIN_Q,0; + set ASSIN_Q2,0; + set ASSIN_Q3,0; + erasequest 8000; + erasequest 8001; + erasequest 8002; + erasequest 8003; + erasequest 8004; + savepoint "in_moc_16",18,14; + warp "in_moc_16",18,14; } else { 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?"; @@ -2160,7 +2156,7 @@ OnTouch: mes "[Guildmaster]"; mes "Being an Assassin means"; mes "to abandon the ego."; - next; + break; case 2: set ASSIN_Q,9; mes "[Guildmaster]"; @@ -2170,7 +2166,7 @@ OnTouch: mes "Being an Assassin means"; mes "to abandon such worldly"; mes "attachments..."; - next; + break; case 3: set ASSIN_Q,10; mes "[Guildmaster]"; @@ -2181,7 +2177,7 @@ OnTouch: next; mes "[Guildmaster]"; mes "In a way, being an Assassin is to live life in loneliness..."; - next; + break; } case 2: mes "[Guildmaster]"; @@ -2211,12 +2207,12 @@ OnTouch: 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]"; @@ -2228,7 +2224,7 @@ OnTouch: 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; } case 3: mes "[Guildmaster]"; @@ -2247,7 +2243,7 @@ OnTouch: 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]"; @@ -2260,7 +2256,7 @@ OnTouch: 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]"; @@ -2269,7 +2265,7 @@ OnTouch: next; mes "[Guildmaster]"; mes "I hope you're not a hypocrite. Spiritual discipline is the best way for you to survive."; - next; + break; } } set @assassin_sangdam,0; @@ -2297,7 +2293,7 @@ OnTouch: 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]"; @@ -2305,7 +2301,7 @@ OnTouch: next; mes "[Guildmaster]"; mes "In the meantime, I hope you won't forget the Assassin mentality."; - next; + break; case 3: set @assassin_sangdam,@assassin_sangdam + 0; mes "[Guildmaster]"; @@ -2315,7 +2311,7 @@ OnTouch: mes "[Guildmaster]"; mes "Don't force yourself too much."; mes "Take your time and travel wisely."; - next; + break; } case 2: mes "[Guildmaster]"; @@ -2328,7 +2324,7 @@ OnTouch: 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]"; @@ -2337,7 +2333,7 @@ OnTouch: next; mes "[Guildmaster]"; mes "As an Assassin, find a job that you can do for them without them knowing.."; - next; + break; case 3: set @assassin_sangdam,@assassin_sangdam + 0; mes "[Guildmaster]"; @@ -2353,7 +2349,7 @@ OnTouch: 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; } case 3: mes "[Guildmaster]"; @@ -2368,7 +2364,7 @@ OnTouch: mes "[Guildmaster]"; mes "You must know how to"; mes "survive in any situation."; - next; + break; case 2: set @assassin_sangdam,@assassin_sangdam + 0; mes "[Guildmaster]"; @@ -2376,7 +2372,7 @@ OnTouch: 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]"; @@ -2385,7 +2381,7 @@ OnTouch: next; mes "[Guildmaster]"; mes "People of that nature are unwelcome. If such is your goal, you may wish to reconsider your job..."; - next; + break; } } mes "[Guildmaster]"; @@ -2525,7 +2521,7 @@ OnTouch: mes "A Jur..."; mes "Good choice. There you are. I hope it will serve you well."; getitem 1251,1; //Jur_ - next; + break; case 2: mes "[Guildmaster]"; mes "A Katar..."; @@ -2534,19 +2530,20 @@ OnTouch: mes "I know it will"; mes "serve you well."; getitem 1253,1; //Katar_ - next; + break; case 3: mes "[Guildmaster]"; mes "I see. You want to use both hands. Here, take your Main Gauche."; getitem 1208,1; //Main_Gauche_ - next; + 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; + break; } + next; } else { mes "[Guildmaster]"; mes "Well, I talked too much."; @@ -2730,15 +2727,15 @@ in_moc_16,156,87,1 script [Huey] 55,1,1,{ end; OnInit: - hideonnpc "[Huey]"; + disablenpc "[Huey]"; end; OnDisable: - hideonnpc "[Huey]"; + disablenpc "[Huey]"; end; OnEnable: - hideoffnpc "[Huey]"; + enablenpc "[Huey]"; end; } @@ -2746,15 +2743,15 @@ in_moc_16,156,85,1 script [Khai] 730,1,1,{ end; OnInit: - hideonnpc "[Khai]"; + disablenpc "[Khai]"; end; OnDisable: - hideonnpc "[Khai]"; + disablenpc "[Khai]"; end; OnEnable: - hideoffnpc "[Khai]"; + enablenpc "[Khai]"; end; } @@ -2762,15 +2759,15 @@ in_moc_16,156,83,1 script [The Anonymous One] 106,1,1,{ end; OnInit: - hideonnpc "[The Anonymous One]"; + disablenpc "[The Anonymous One]"; end; OnDisable: - hideonnpc "[The Anonymous One]"; + disablenpc "[The Anonymous One]"; end; OnEnable: - hideoffnpc "[The Anonymous One]"; + enablenpc "[The Anonymous One]"; end; } @@ -2778,15 +2775,15 @@ in_moc_16,156,81,2 script [Barcardi] 725,1,1,{ end; OnInit: - hideonnpc "[Barcardi]"; + disablenpc "[Barcardi]"; end; OnDisable: - hideonnpc "[Barcardi]"; + disablenpc "[Barcardi]"; end; OnEnable: - hideoffnpc "[Barcardi]"; + enablenpc "[Barcardi]"; end; } @@ -2794,15 +2791,15 @@ in_moc_16,156,79,1 script [Beholder] 118,1,1,{ end; OnInit: - hideonnpc "[Beholder]"; + disablenpc "[Beholder]"; end; OnDisable: - hideonnpc "[Beholder]"; + disablenpc "[Beholder]"; end; OnEnable: - hideoffnpc "[Beholder]"; + enablenpc "[Beholder]"; end; } @@ -2810,15 +2807,15 @@ in_moc_16,156,77,1 script [Thomas] 118,1,1,{ end; OnInit: - hideonnpc "[Thomas]"; + disablenpc "[Thomas]"; end; OnDisable: - hideonnpc "[Thomas]"; + disablenpc "[Thomas]"; end; OnEnable: - hideoffnpc "[Thomas]"; + enablenpc "[Thomas]"; end; } @@ -2826,14 +2823,14 @@ in_moc_16,156,75,1 script [Gayle Maroubitz] 55,1,1,{ end; OnInit: - hideonnpc "[Gayle Maroubitz]"; + disablenpc "[Gayle Maroubitz]"; end; OnDisable: - hideonnpc "[Gayle Maroubitz]"; + disablenpc "[Gayle Maroubitz]"; end; OnEnable: - hideoffnpc "[Gayle Maroubitz]"; + enablenpc "[Gayle Maroubitz]"; end; } diff --git a/npc/jobs/2-1/hunter.txt b/npc/jobs/2-1/hunter.txt index e0552351b..3615f68a2 100644 --- a/npc/jobs/2-1/hunter.txt +++ b/npc/jobs/2-1/hunter.txt @@ -1614,11 +1614,11 @@ job_hunte,1,1,1 script Manager#hnt 66,{ end; OnInit: - hideonnpc "Manager#hnt"; + disablenpc "Manager#hnt"; end; OnEnable: - hideoffnpc "Manager#hnt"; + enablenpc "Manager#hnt"; 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"; @@ -1648,7 +1648,7 @@ OnMyMobDead: end; OnDisable: - hideonnpc "Manager#hnt"; + disablenpc "Manager#hnt"; end; OnTimer1000: @@ -1747,11 +1747,11 @@ job_hunte,1,2,1 script Manager#hnt2 66,{ end; OnInit: - hideonnpc "Manager#hnt2"; + disablenpc "Manager#hnt2"; end; OnEnable: - hideoffnpc "Manager#hnt2"; + enablenpc "Manager#hnt2"; monster "job_hunte",85,100,"Job Test Monster",1016,1,"Manager#hnt2::OnMyMobDead"; monster "job_hunte",72,102,"Job Test Monster",1041,1,"Manager#hnt2::OnMyMobDead"; monster "job_hunte",108,103,"Job Test Monster",1015,1,"Manager#hnt2::OnMyMobDead"; @@ -1789,7 +1789,7 @@ OnReset: end; OnDisable: - hideonnpc "Manager#hnt2"; + disablenpc "Manager#hnt2"; end; OnMyMobDead: @@ -1869,11 +1869,11 @@ OnTouch: OnDisable: donpcevent "exit#hnttest::OnDisable"; - hideonnpc "switch#hnt"; + disablenpc "switch#hnt"; end; OnEnable: - hideoffnpc "switch#hnt"; + enablenpc "switch#hnt"; end; } @@ -1894,15 +1894,15 @@ OnTouch: end; OnInit: - hideonnpc "exit#hnttest"; + disablenpc "exit#hnttest"; end; OnEnable: - hideoffnpc "exit#hnttest"; + enablenpc "exit#hnttest"; end; OnDisable: - hideonnpc "exit#hnttest"; + disablenpc "exit#hnttest"; end; } @@ -1914,15 +1914,15 @@ OnTouch: end; OnInit: - hideonnpc "hnt_backers"; + disablenpc "hnt_backers"; end; OnEnable: - hideoffnpc "hnt_backers"; + enablenpc "hnt_backers"; end; OnDisable: - hideonnpc "hnt_backers"; + disablenpc "hnt_backers"; end; } @@ -2069,485 +2069,485 @@ OnTouch: end; OnEnable: - hideoffnpc "1-1"; - hideoffnpc "1-2"; - hideoffnpc "1-3"; - hideoffnpc "1-4"; - hideoffnpc "1-5"; - hideoffnpc "1-6"; - hideoffnpc "1-7"; - hideoffnpc "1-8"; - hideoffnpc "2-1"; - hideoffnpc "2-2"; - hideoffnpc "2-3"; - hideoffnpc "2-4"; - hideoffnpc "2-5"; - hideoffnpc "2-6"; - hideoffnpc "2-7"; - hideoffnpc "2-8"; - hideoffnpc "3-1"; - hideoffnpc "3-2"; - hideoffnpc "3-3"; - hideoffnpc "3-4"; - hideoffnpc "4-1"; - hideoffnpc "4-2"; - hideoffnpc "4-3"; - hideoffnpc "4-4"; - hideoffnpc "5-1"; - hideoffnpc "5-2"; - hideoffnpc "5-3"; - hideoffnpc "5-4"; - hideoffnpc "6-1"; - hideoffnpc "6-2"; - hideoffnpc "6-3"; - hideoffnpc "6-4"; - hideoffnpc "7-1"; - hideoffnpc "7-2"; - hideoffnpc "7-3"; - hideoffnpc "7-4"; - hideoffnpc "8-1"; - hideoffnpc "8-2"; - hideoffnpc "8-3"; - hideoffnpc "8-4"; - hideoffnpc "9-1"; - hideoffnpc "9-2"; - hideoffnpc "9-3"; - hideoffnpc "9-4"; - hideoffnpc "10-1"; - hideoffnpc "10-2"; - hideoffnpc "10-3"; - hideoffnpc "10-4"; - hideoffnpc "11-1"; - hideoffnpc "11-2"; - hideoffnpc "11-3"; - hideoffnpc "11-4"; - hideoffnpc "12-1"; - hideoffnpc "12-2"; - hideoffnpc "12-3"; - hideoffnpc "12-4"; - hideoffnpc "13-1"; - hideoffnpc "13-2"; - hideoffnpc "13-3"; - hideoffnpc "13-4"; - hideoffnpc "14-1"; - hideoffnpc "14-2"; - hideoffnpc "14-3"; - hideoffnpc "14-4"; - hideoffnpc "15-1"; - hideoffnpc "15-2"; - hideoffnpc "15-3"; - hideoffnpc "15-4"; - hideoffnpc "16-1"; - hideoffnpc "16-2"; - hideoffnpc "16-3"; - hideoffnpc "16-4"; - hideoffnpc "17-1"; - hideoffnpc "17-2"; - hideoffnpc "17-3"; - hideoffnpc "17-4"; - hideoffnpc "18-1"; - hideoffnpc "18-2"; - hideoffnpc "18-3"; - hideoffnpc "18-4"; - hideoffnpc "19-1"; - hideoffnpc "19-2"; - hideoffnpc "19-3"; - hideoffnpc "19-4"; - hideoffnpc "20-1"; - hideoffnpc "20-2"; - hideoffnpc "20-3"; - hideoffnpc "20-4"; - hideoffnpc "21-1"; - hideoffnpc "21-2"; - hideoffnpc "21-3"; - hideoffnpc "21-4"; - hideoffnpc "22-1"; - hideoffnpc "22-2"; - hideoffnpc "22-3"; - hideoffnpc "22-4"; - hideoffnpc "23-1"; - hideoffnpc "23-2"; - hideoffnpc "23-3"; - hideoffnpc "23-4"; - hideoffnpc "24-1"; - hideoffnpc "24-2"; - hideoffnpc "24-3"; - hideoffnpc "24-4"; - hideoffnpc "25-1"; - hideoffnpc "25-2"; - hideoffnpc "25-3"; - hideoffnpc "25-4"; - hideoffnpc "26-1"; - hideoffnpc "26-2"; - hideoffnpc "26-3"; - hideoffnpc "26-4"; - hideoffnpc "27-1"; - hideoffnpc "27-2"; - hideoffnpc "27-3"; - hideoffnpc "27-4"; - hideoffnpc "28-1"; - hideoffnpc "28-2"; - hideoffnpc "28-3"; - hideoffnpc "28-4"; - hideoffnpc "29-1"; - hideoffnpc "29-2"; - hideoffnpc "29-3"; - hideoffnpc "29-4"; - hideoffnpc "30-1"; - hideoffnpc "30-2"; - hideoffnpc "30-3"; - hideoffnpc "30-4"; - hideoffnpc "31-1"; - hideoffnpc "31-2"; - hideoffnpc "31-3"; - hideoffnpc "31-4"; - hideoffnpc "32-1"; - hideoffnpc "32-2"; - hideoffnpc "32-3"; - hideoffnpc "32-4"; - hideoffnpc "33-1"; - hideoffnpc "33-2"; - hideoffnpc "33-3"; - hideoffnpc "33-4"; - hideoffnpc "34-1"; - hideoffnpc "34-2"; - hideoffnpc "34-3"; - hideoffnpc "34-4"; - hideoffnpc "35-1"; - hideoffnpc "35-2"; - hideoffnpc "35-3"; - hideoffnpc "35-4"; - hideoffnpc "36-1"; - hideoffnpc "36-2"; - hideoffnpc "36-3"; - hideoffnpc "36-4"; - hideoffnpc "37-1"; - hideoffnpc "37-2"; - hideoffnpc "37-3"; - hideoffnpc "37-4"; - hideoffnpc "38-1"; - hideoffnpc "38-2"; - hideoffnpc "38-3"; - hideoffnpc "38-4"; - hideoffnpc "39-1"; - hideoffnpc "39-2"; - hideoffnpc "39-3"; - hideoffnpc "39-4"; - hideoffnpc "40-1"; - hideoffnpc "40-2"; - hideoffnpc "40-3"; - hideoffnpc "40-4"; - hideoffnpc "41-1"; - hideoffnpc "41-2"; - hideoffnpc "41-3"; - hideoffnpc "41-4"; - hideoffnpc "42-1"; - hideoffnpc "42-2"; - hideoffnpc "42-3"; - hideoffnpc "42-4"; - hideoffnpc "43-1"; - hideoffnpc "43-2"; - hideoffnpc "43-3"; - hideoffnpc "43-4"; - hideoffnpc "44-1"; - hideoffnpc "44-2"; - hideoffnpc "44-3"; - hideoffnpc "44-4"; - hideoffnpc "45-1"; - hideoffnpc "45-2"; - hideoffnpc "45-3"; - hideoffnpc "45-4"; - hideoffnpc "46-1"; - hideoffnpc "46-2"; - hideoffnpc "46-3"; - hideoffnpc "46-4"; - hideoffnpc "47-1"; - hideoffnpc "47-2"; - hideoffnpc "47-3"; - hideoffnpc "47-4"; - hideoffnpc "48-1"; - hideoffnpc "48-2"; - hideoffnpc "48-3"; - hideoffnpc "48-4"; - hideoffnpc "49-1"; - hideoffnpc "49-2"; - hideoffnpc "49-3"; - hideoffnpc "49-4"; - hideoffnpc "50-1"; - hideoffnpc "50-2"; - hideoffnpc "50-3"; - hideoffnpc "50-4"; - hideoffnpc "51-1"; - hideoffnpc "51-2"; - hideoffnpc "51-3"; - hideoffnpc "51-4"; - hideoffnpc "52-1"; - hideoffnpc "52-2"; - hideoffnpc "52-3"; - hideoffnpc "52-4"; - hideoffnpc "53-1"; - hideoffnpc "53-2"; - hideoffnpc "53-3"; - hideoffnpc "53-4"; - hideoffnpc "54-1"; - hideoffnpc "54-2"; - hideoffnpc "54-3"; - hideoffnpc "54-4"; - hideoffnpc "55-1"; - hideoffnpc "55-2"; - hideoffnpc "55-3"; - hideoffnpc "55-4"; - hideoffnpc "56-1"; - hideoffnpc "56-2"; - hideoffnpc "56-3"; - hideoffnpc "56-4"; - hideoffnpc "56-6"; - hideoffnpc "56-7"; - hideoffnpc "56-8"; - hideoffnpc "57-1"; - hideoffnpc "57-2"; - hideoffnpc "57-3"; + enablenpc "1-1"; + enablenpc "1-2"; + enablenpc "1-3"; + enablenpc "1-4"; + enablenpc "1-5"; + enablenpc "1-6"; + enablenpc "1-7"; + enablenpc "1-8"; + enablenpc "2-1"; + enablenpc "2-2"; + enablenpc "2-3"; + enablenpc "2-4"; + enablenpc "2-5"; + enablenpc "2-6"; + enablenpc "2-7"; + enablenpc "2-8"; + enablenpc "3-1"; + enablenpc "3-2"; + enablenpc "3-3"; + enablenpc "3-4"; + enablenpc "4-1"; + enablenpc "4-2"; + enablenpc "4-3"; + enablenpc "4-4"; + enablenpc "5-1"; + enablenpc "5-2"; + enablenpc "5-3"; + enablenpc "5-4"; + enablenpc "6-1"; + enablenpc "6-2"; + enablenpc "6-3"; + enablenpc "6-4"; + enablenpc "7-1"; + enablenpc "7-2"; + enablenpc "7-3"; + enablenpc "7-4"; + enablenpc "8-1"; + enablenpc "8-2"; + enablenpc "8-3"; + enablenpc "8-4"; + enablenpc "9-1"; + enablenpc "9-2"; + enablenpc "9-3"; + enablenpc "9-4"; + enablenpc "10-1"; + enablenpc "10-2"; + enablenpc "10-3"; + enablenpc "10-4"; + enablenpc "11-1"; + enablenpc "11-2"; + enablenpc "11-3"; + enablenpc "11-4"; + enablenpc "12-1"; + enablenpc "12-2"; + enablenpc "12-3"; + enablenpc "12-4"; + enablenpc "13-1"; + enablenpc "13-2"; + enablenpc "13-3"; + enablenpc "13-4"; + enablenpc "14-1"; + enablenpc "14-2"; + enablenpc "14-3"; + enablenpc "14-4"; + enablenpc "15-1"; + enablenpc "15-2"; + enablenpc "15-3"; + enablenpc "15-4"; + enablenpc "16-1"; + enablenpc "16-2"; + enablenpc "16-3"; + enablenpc "16-4"; + enablenpc "17-1"; + enablenpc "17-2"; + enablenpc "17-3"; + enablenpc "17-4"; + enablenpc "18-1"; + enablenpc "18-2"; + enablenpc "18-3"; + enablenpc "18-4"; + enablenpc "19-1"; + enablenpc "19-2"; + enablenpc "19-3"; + enablenpc "19-4"; + enablenpc "20-1"; + enablenpc "20-2"; + enablenpc "20-3"; + enablenpc "20-4"; + enablenpc "21-1"; + enablenpc "21-2"; + enablenpc "21-3"; + enablenpc "21-4"; + enablenpc "22-1"; + enablenpc "22-2"; + enablenpc "22-3"; + enablenpc "22-4"; + enablenpc "23-1"; + enablenpc "23-2"; + enablenpc "23-3"; + enablenpc "23-4"; + enablenpc "24-1"; + enablenpc "24-2"; + enablenpc "24-3"; + enablenpc "24-4"; + enablenpc "25-1"; + enablenpc "25-2"; + enablenpc "25-3"; + enablenpc "25-4"; + enablenpc "26-1"; + enablenpc "26-2"; + enablenpc "26-3"; + enablenpc "26-4"; + enablenpc "27-1"; + enablenpc "27-2"; + enablenpc "27-3"; + enablenpc "27-4"; + enablenpc "28-1"; + enablenpc "28-2"; + enablenpc "28-3"; + enablenpc "28-4"; + enablenpc "29-1"; + enablenpc "29-2"; + enablenpc "29-3"; + enablenpc "29-4"; + enablenpc "30-1"; + enablenpc "30-2"; + enablenpc "30-3"; + enablenpc "30-4"; + enablenpc "31-1"; + enablenpc "31-2"; + enablenpc "31-3"; + enablenpc "31-4"; + enablenpc "32-1"; + enablenpc "32-2"; + enablenpc "32-3"; + enablenpc "32-4"; + enablenpc "33-1"; + enablenpc "33-2"; + enablenpc "33-3"; + enablenpc "33-4"; + enablenpc "34-1"; + enablenpc "34-2"; + enablenpc "34-3"; + enablenpc "34-4"; + enablenpc "35-1"; + enablenpc "35-2"; + enablenpc "35-3"; + enablenpc "35-4"; + enablenpc "36-1"; + enablenpc "36-2"; + enablenpc "36-3"; + enablenpc "36-4"; + enablenpc "37-1"; + enablenpc "37-2"; + enablenpc "37-3"; + enablenpc "37-4"; + enablenpc "38-1"; + enablenpc "38-2"; + enablenpc "38-3"; + enablenpc "38-4"; + enablenpc "39-1"; + enablenpc "39-2"; + enablenpc "39-3"; + enablenpc "39-4"; + enablenpc "40-1"; + enablenpc "40-2"; + enablenpc "40-3"; + enablenpc "40-4"; + enablenpc "41-1"; + enablenpc "41-2"; + enablenpc "41-3"; + enablenpc "41-4"; + enablenpc "42-1"; + enablenpc "42-2"; + enablenpc "42-3"; + enablenpc "42-4"; + enablenpc "43-1"; + enablenpc "43-2"; + enablenpc "43-3"; + enablenpc "43-4"; + enablenpc "44-1"; + enablenpc "44-2"; + enablenpc "44-3"; + enablenpc "44-4"; + enablenpc "45-1"; + enablenpc "45-2"; + enablenpc "45-3"; + enablenpc "45-4"; + enablenpc "46-1"; + enablenpc "46-2"; + enablenpc "46-3"; + enablenpc "46-4"; + enablenpc "47-1"; + enablenpc "47-2"; + enablenpc "47-3"; + enablenpc "47-4"; + enablenpc "48-1"; + enablenpc "48-2"; + enablenpc "48-3"; + enablenpc "48-4"; + enablenpc "49-1"; + enablenpc "49-2"; + enablenpc "49-3"; + enablenpc "49-4"; + enablenpc "50-1"; + enablenpc "50-2"; + enablenpc "50-3"; + enablenpc "50-4"; + enablenpc "51-1"; + enablenpc "51-2"; + enablenpc "51-3"; + enablenpc "51-4"; + enablenpc "52-1"; + enablenpc "52-2"; + enablenpc "52-3"; + enablenpc "52-4"; + enablenpc "53-1"; + enablenpc "53-2"; + enablenpc "53-3"; + enablenpc "53-4"; + enablenpc "54-1"; + enablenpc "54-2"; + enablenpc "54-3"; + enablenpc "54-4"; + enablenpc "55-1"; + enablenpc "55-2"; + enablenpc "55-3"; + enablenpc "55-4"; + enablenpc "56-1"; + enablenpc "56-2"; + enablenpc "56-3"; + enablenpc "56-4"; + enablenpc "56-6"; + enablenpc "56-7"; + enablenpc "56-8"; + enablenpc "57-1"; + enablenpc "57-2"; + enablenpc "57-3"; end; OnDisable: - hideonnpc "1-1"; - hideonnpc "1-2"; - hideonnpc "1-3"; - hideonnpc "1-4"; - hideonnpc "1-5"; - hideonnpc "1-6"; - hideonnpc "1-7"; - hideonnpc "1-8"; - hideonnpc "2-1"; - hideonnpc "2-2"; - hideonnpc "2-3"; - hideonnpc "2-4"; - hideonnpc "2-5"; - hideonnpc "2-6"; - hideonnpc "2-7"; - hideonnpc "2-8"; - hideonnpc "3-1"; - hideonnpc "3-2"; - hideonnpc "3-3"; - hideonnpc "3-4"; - hideonnpc "4-1"; - hideonnpc "4-2"; - hideonnpc "4-3"; - hideonnpc "4-4"; - hideonnpc "5-1"; - hideonnpc "5-2"; - hideonnpc "5-3"; - hideonnpc "5-4"; - hideonnpc "6-1"; - hideonnpc "6-2"; - hideonnpc "6-3"; - hideonnpc "6-4"; - hideonnpc "7-1"; - hideonnpc "7-2"; - hideonnpc "7-3"; - hideonnpc "7-4"; - hideonnpc "8-1"; - hideonnpc "8-2"; - hideonnpc "8-3"; - hideonnpc "8-4"; - hideonnpc "9-1"; - hideonnpc "9-2"; - hideonnpc "9-3"; - hideonnpc "9-4"; - hideonnpc "10-1"; - hideonnpc "10-2"; - hideonnpc "10-3"; - hideonnpc "10-4"; - hideonnpc "11-1"; - hideonnpc "11-2"; - hideonnpc "11-3"; - hideonnpc "11-4"; - hideonnpc "12-1"; - hideonnpc "12-2"; - hideonnpc "12-3"; - hideonnpc "12-4"; - hideonnpc "13-1"; - hideonnpc "13-2"; - hideonnpc "13-3"; - hideonnpc "13-4"; - hideonnpc "14-1"; - hideonnpc "14-2"; - hideonnpc "14-3"; - hideonnpc "14-4"; - hideonnpc "15-1"; - hideonnpc "15-2"; - hideonnpc "15-3"; - hideonnpc "15-4"; - hideonnpc "16-1"; - hideonnpc "16-2"; - hideonnpc "16-3"; - hideonnpc "16-4"; - hideonnpc "17-1"; - hideonnpc "17-2"; - hideonnpc "17-3"; - hideonnpc "17-4"; - hideonnpc "18-1"; - hideonnpc "18-2"; - hideonnpc "18-3"; - hideonnpc "18-4"; - hideonnpc "19-1"; - hideonnpc "19-2"; - hideonnpc "19-3"; - hideonnpc "19-4"; - hideonnpc "20-1"; - hideonnpc "20-2"; - hideonnpc "20-3"; - hideonnpc "20-4"; - hideonnpc "21-1"; - hideonnpc "21-2"; - hideonnpc "21-3"; - hideonnpc "21-4"; - hideonnpc "22-1"; - hideonnpc "22-2"; - hideonnpc "22-3"; - hideonnpc "22-4"; - hideonnpc "23-1"; - hideonnpc "23-2"; - hideonnpc "23-3"; - hideonnpc "23-4"; - hideonnpc "24-1"; - hideonnpc "24-2"; - hideonnpc "24-3"; - hideonnpc "24-4"; - hideonnpc "25-1"; - hideonnpc "25-2"; - hideonnpc "25-3"; - hideonnpc "25-4"; - hideonnpc "26-1"; - hideonnpc "26-2"; - hideonnpc "26-3"; - hideonnpc "26-4"; - hideonnpc "27-1"; - hideonnpc "27-2"; - hideonnpc "27-3"; - hideonnpc "27-4"; - hideonnpc "28-1"; - hideonnpc "28-2"; - hideonnpc "28-3"; - hideonnpc "28-4"; - hideonnpc "29-1"; - hideonnpc "29-2"; - hideonnpc "29-3"; - hideonnpc "29-4"; - hideonnpc "30-1"; - hideonnpc "30-2"; - hideonnpc "30-3"; - hideonnpc "30-4"; - hideonnpc "31-1"; - hideonnpc "31-2"; - hideonnpc "31-3"; - hideonnpc "31-4"; - hideonnpc "32-1"; - hideonnpc "32-2"; - hideonnpc "32-3"; - hideonnpc "32-4"; - hideonnpc "33-1"; - hideonnpc "33-2"; - hideonnpc "33-3"; - hideonnpc "33-4"; - hideonnpc "34-1"; - hideonnpc "34-2"; - hideonnpc "34-3"; - hideonnpc "34-4"; - hideonnpc "35-1"; - hideonnpc "35-2"; - hideonnpc "35-3"; - hideonnpc "35-4"; - hideonnpc "36-1"; - hideonnpc "36-2"; - hideonnpc "36-3"; - hideonnpc "36-4"; - hideonnpc "37-1"; - hideonnpc "37-2"; - hideonnpc "37-3"; - hideonnpc "37-4"; - hideonnpc "38-1"; - hideonnpc "38-2"; - hideonnpc "38-3"; - hideonnpc "38-4"; - hideonnpc "39-1"; - hideonnpc "39-2"; - hideonnpc "39-3"; - hideonnpc "39-4"; - hideonnpc "40-1"; - hideonnpc "40-2"; - hideonnpc "40-3"; - hideonnpc "40-4"; - hideonnpc "41-1"; - hideonnpc "41-2"; - hideonnpc "41-3"; - hideonnpc "41-4"; - hideonnpc "42-1"; - hideonnpc "42-2"; - hideonnpc "42-3"; - hideonnpc "42-4"; - hideonnpc "43-1"; - hideonnpc "43-2"; - hideonnpc "43-3"; - hideonnpc "43-4"; - hideonnpc "44-1"; - hideonnpc "44-2"; - hideonnpc "44-3"; - hideonnpc "44-4"; - hideonnpc "45-1"; - hideonnpc "45-2"; - hideonnpc "45-3"; - hideonnpc "45-4"; - hideonnpc "46-1"; - hideonnpc "46-2"; - hideonnpc "46-3"; - hideonnpc "46-4"; - hideonnpc "47-1"; - hideonnpc "47-2"; - hideonnpc "47-3"; - hideonnpc "47-4"; - hideonnpc "48-1"; - hideonnpc "48-2"; - hideonnpc "48-3"; - hideonnpc "48-4"; - hideonnpc "49-1"; - hideonnpc "49-2"; - hideonnpc "49-3"; - hideonnpc "49-4"; - hideonnpc "50-1"; - hideonnpc "50-2"; - hideonnpc "50-3"; - hideonnpc "50-4"; - hideonnpc "51-1"; - hideonnpc "51-2"; - hideonnpc "51-3"; - hideonnpc "51-4"; - hideonnpc "52-1"; - hideonnpc "52-2"; - hideonnpc "52-3"; - hideonnpc "52-4"; - hideonnpc "53-1"; - hideonnpc "53-2"; - hideonnpc "53-3"; - hideonnpc "53-4"; - hideonnpc "54-1"; - hideonnpc "54-2"; - hideonnpc "54-3"; - hideonnpc "54-4"; - hideonnpc "55-1"; - hideonnpc "55-2"; - hideonnpc "55-3"; - hideonnpc "55-4"; - hideonnpc "56-1"; - hideonnpc "56-2"; - hideonnpc "56-3"; - hideonnpc "56-4"; - hideonnpc "56-6"; - hideonnpc "56-7"; - hideonnpc "56-8"; - hideonnpc "57-1"; - hideonnpc "57-2"; - hideonnpc "57-3"; + disablenpc "1-1"; + disablenpc "1-2"; + disablenpc "1-3"; + disablenpc "1-4"; + disablenpc "1-5"; + disablenpc "1-6"; + disablenpc "1-7"; + disablenpc "1-8"; + disablenpc "2-1"; + disablenpc "2-2"; + disablenpc "2-3"; + disablenpc "2-4"; + disablenpc "2-5"; + disablenpc "2-6"; + disablenpc "2-7"; + disablenpc "2-8"; + disablenpc "3-1"; + disablenpc "3-2"; + disablenpc "3-3"; + disablenpc "3-4"; + disablenpc "4-1"; + disablenpc "4-2"; + disablenpc "4-3"; + disablenpc "4-4"; + disablenpc "5-1"; + disablenpc "5-2"; + disablenpc "5-3"; + disablenpc "5-4"; + disablenpc "6-1"; + disablenpc "6-2"; + disablenpc "6-3"; + disablenpc "6-4"; + disablenpc "7-1"; + disablenpc "7-2"; + disablenpc "7-3"; + disablenpc "7-4"; + disablenpc "8-1"; + disablenpc "8-2"; + disablenpc "8-3"; + disablenpc "8-4"; + disablenpc "9-1"; + disablenpc "9-2"; + disablenpc "9-3"; + disablenpc "9-4"; + disablenpc "10-1"; + disablenpc "10-2"; + disablenpc "10-3"; + disablenpc "10-4"; + disablenpc "11-1"; + disablenpc "11-2"; + disablenpc "11-3"; + disablenpc "11-4"; + disablenpc "12-1"; + disablenpc "12-2"; + disablenpc "12-3"; + disablenpc "12-4"; + disablenpc "13-1"; + disablenpc "13-2"; + disablenpc "13-3"; + disablenpc "13-4"; + disablenpc "14-1"; + disablenpc "14-2"; + disablenpc "14-3"; + disablenpc "14-4"; + disablenpc "15-1"; + disablenpc "15-2"; + disablenpc "15-3"; + disablenpc "15-4"; + disablenpc "16-1"; + disablenpc "16-2"; + disablenpc "16-3"; + disablenpc "16-4"; + disablenpc "17-1"; + disablenpc "17-2"; + disablenpc "17-3"; + disablenpc "17-4"; + disablenpc "18-1"; + disablenpc "18-2"; + disablenpc "18-3"; + disablenpc "18-4"; + disablenpc "19-1"; + disablenpc "19-2"; + disablenpc "19-3"; + disablenpc "19-4"; + disablenpc "20-1"; + disablenpc "20-2"; + disablenpc "20-3"; + disablenpc "20-4"; + disablenpc "21-1"; + disablenpc "21-2"; + disablenpc "21-3"; + disablenpc "21-4"; + disablenpc "22-1"; + disablenpc "22-2"; + disablenpc "22-3"; + disablenpc "22-4"; + disablenpc "23-1"; + disablenpc "23-2"; + disablenpc "23-3"; + disablenpc "23-4"; + disablenpc "24-1"; + disablenpc "24-2"; + disablenpc "24-3"; + disablenpc "24-4"; + disablenpc "25-1"; + disablenpc "25-2"; + disablenpc "25-3"; + disablenpc "25-4"; + disablenpc "26-1"; + disablenpc "26-2"; + disablenpc "26-3"; + disablenpc "26-4"; + disablenpc "27-1"; + disablenpc "27-2"; + disablenpc "27-3"; + disablenpc "27-4"; + disablenpc "28-1"; + disablenpc "28-2"; + disablenpc "28-3"; + disablenpc "28-4"; + disablenpc "29-1"; + disablenpc "29-2"; + disablenpc "29-3"; + disablenpc "29-4"; + disablenpc "30-1"; + disablenpc "30-2"; + disablenpc "30-3"; + disablenpc "30-4"; + disablenpc "31-1"; + disablenpc "31-2"; + disablenpc "31-3"; + disablenpc "31-4"; + disablenpc "32-1"; + disablenpc "32-2"; + disablenpc "32-3"; + disablenpc "32-4"; + disablenpc "33-1"; + disablenpc "33-2"; + disablenpc "33-3"; + disablenpc "33-4"; + disablenpc "34-1"; + disablenpc "34-2"; + disablenpc "34-3"; + disablenpc "34-4"; + disablenpc "35-1"; + disablenpc "35-2"; + disablenpc "35-3"; + disablenpc "35-4"; + disablenpc "36-1"; + disablenpc "36-2"; + disablenpc "36-3"; + disablenpc "36-4"; + disablenpc "37-1"; + disablenpc "37-2"; + disablenpc "37-3"; + disablenpc "37-4"; + disablenpc "38-1"; + disablenpc "38-2"; + disablenpc "38-3"; + disablenpc "38-4"; + disablenpc "39-1"; + disablenpc "39-2"; + disablenpc "39-3"; + disablenpc "39-4"; + disablenpc "40-1"; + disablenpc "40-2"; + disablenpc "40-3"; + disablenpc "40-4"; + disablenpc "41-1"; + disablenpc "41-2"; + disablenpc "41-3"; + disablenpc "41-4"; + disablenpc "42-1"; + disablenpc "42-2"; + disablenpc "42-3"; + disablenpc "42-4"; + disablenpc "43-1"; + disablenpc "43-2"; + disablenpc "43-3"; + disablenpc "43-4"; + disablenpc "44-1"; + disablenpc "44-2"; + disablenpc "44-3"; + disablenpc "44-4"; + disablenpc "45-1"; + disablenpc "45-2"; + disablenpc "45-3"; + disablenpc "45-4"; + disablenpc "46-1"; + disablenpc "46-2"; + disablenpc "46-3"; + disablenpc "46-4"; + disablenpc "47-1"; + disablenpc "47-2"; + disablenpc "47-3"; + disablenpc "47-4"; + disablenpc "48-1"; + disablenpc "48-2"; + disablenpc "48-3"; + disablenpc "48-4"; + disablenpc "49-1"; + disablenpc "49-2"; + disablenpc "49-3"; + disablenpc "49-4"; + disablenpc "50-1"; + disablenpc "50-2"; + disablenpc "50-3"; + disablenpc "50-4"; + disablenpc "51-1"; + disablenpc "51-2"; + disablenpc "51-3"; + disablenpc "51-4"; + disablenpc "52-1"; + disablenpc "52-2"; + disablenpc "52-3"; + disablenpc "52-4"; + disablenpc "53-1"; + disablenpc "53-2"; + disablenpc "53-3"; + disablenpc "53-4"; + disablenpc "54-1"; + disablenpc "54-2"; + disablenpc "54-3"; + disablenpc "54-4"; + disablenpc "55-1"; + disablenpc "55-2"; + disablenpc "55-3"; + disablenpc "55-4"; + disablenpc "56-1"; + disablenpc "56-2"; + disablenpc "56-3"; + disablenpc "56-4"; + disablenpc "56-6"; + disablenpc "56-7"; + disablenpc "56-8"; + disablenpc "57-1"; + disablenpc "57-2"; + disablenpc "57-3"; end; } @@ -2792,331 +2792,331 @@ OnTouch: end; OnEnable: - hideoffnpc "57-4"; - hideoffnpc "58-1"; - hideoffnpc "58-2"; - hideoffnpc "58-3"; - hideoffnpc "58-4"; - hideoffnpc "59-1"; - hideoffnpc "59-2"; - hideoffnpc "59-3"; - hideoffnpc "59-4"; - hideoffnpc "60-1"; - hideoffnpc "60-2"; - hideoffnpc "60-3"; - hideoffnpc "60-4"; - hideoffnpc "61-1"; - hideoffnpc "61-2"; - hideoffnpc "61-3"; - hideoffnpc "61-4"; - hideoffnpc "62-1"; - hideoffnpc "62-2"; - hideoffnpc "62-3"; - hideoffnpc "62-4"; - hideoffnpc "63-1"; - hideoffnpc "63-2"; - hideoffnpc "63-3"; - hideoffnpc "63-4"; - hideoffnpc "64-1"; - hideoffnpc "64-2"; - hideoffnpc "64-3"; - hideoffnpc "64-4"; - hideoffnpc "65-1"; - hideoffnpc "65-2"; - hideoffnpc "65-3"; - hideoffnpc "65-4"; - hideoffnpc "66-1"; - hideoffnpc "66-2"; - hideoffnpc "66-3"; - hideoffnpc "66-4"; - hideoffnpc "67-1"; - hideoffnpc "67-2"; - hideoffnpc "67-3"; - hideoffnpc "67-4"; - hideoffnpc "68-1"; - hideoffnpc "68-2"; - hideoffnpc "68-3"; - hideoffnpc "68-4"; - hideoffnpc "69-1"; - hideoffnpc "69-2"; - hideoffnpc "69-3"; - hideoffnpc "69-4"; - hideoffnpc "70-1"; - hideoffnpc "70-2"; - hideoffnpc "70-3"; - hideoffnpc "70-4"; - hideoffnpc "71-1"; - hideoffnpc "71-2"; - hideoffnpc "71-3"; - hideoffnpc "71-4"; - hideoffnpc "72-1"; - hideoffnpc "72-2"; - hideoffnpc "72-3"; - hideoffnpc "72-4"; - hideoffnpc "73-1"; - hideoffnpc "73-2"; - hideoffnpc "73-3"; - hideoffnpc "73-4"; - hideoffnpc "74-1"; - hideoffnpc "74-2"; - hideoffnpc "74-3"; - hideoffnpc "74-4"; - hideoffnpc "75-1"; - hideoffnpc "75-2"; - hideoffnpc "75-3"; - hideoffnpc "75-4"; - hideoffnpc "76-1"; - hideoffnpc "76-2"; - hideoffnpc "76-3"; - hideoffnpc "76-4"; - hideoffnpc "77-1"; - hideoffnpc "77-2"; - hideoffnpc "77-3"; - hideoffnpc "77-4"; - hideoffnpc "78-1"; - hideoffnpc "78-2"; - hideoffnpc "78-3"; - hideoffnpc "78-4"; - hideoffnpc "79-1"; - hideoffnpc "79-2"; - hideoffnpc "79-3"; - hideoffnpc "79-4"; - hideoffnpc "80-1"; - hideoffnpc "80-2"; - hideoffnpc "80-3"; - hideoffnpc "80-4"; - hideoffnpc "81-1"; - hideoffnpc "81-2"; - hideoffnpc "81-3"; - hideoffnpc "81-4"; - hideoffnpc "82-1"; - hideoffnpc "82-2"; - hideoffnpc "82-3"; - hideoffnpc "82-4"; - hideoffnpc "83-1"; - hideoffnpc "83-2"; - hideoffnpc "83-3"; - hideoffnpc "83-4"; - hideoffnpc "84-1"; - hideoffnpc "84-2"; - hideoffnpc "84-3"; - hideoffnpc "84-4"; - hideoffnpc "85-1"; - hideoffnpc "85-2"; - hideoffnpc "85-3"; - hideoffnpc "85-4"; - hideoffnpc "86-1"; - hideoffnpc "86-2"; - hideoffnpc "86-3"; - hideoffnpc "86-4"; - hideoffnpc "87-1"; - hideoffnpc "87-2"; - hideoffnpc "87-3"; - hideoffnpc "87-4"; - hideoffnpc "88-1"; - hideoffnpc "88-2"; - hideoffnpc "88-3"; - hideoffnpc "88-4"; - hideoffnpc "89-1"; - hideoffnpc "89-2"; - hideoffnpc "89-3"; - hideoffnpc "89-4"; - hideoffnpc "90-1"; - hideoffnpc "90-2"; - hideoffnpc "90-3"; - hideoffnpc "90-4"; - hideoffnpc "91-1"; - hideoffnpc "91-2"; - hideoffnpc "91-3"; - hideoffnpc "91-4"; - hideoffnpc "92-1"; - hideoffnpc "92-2"; - hideoffnpc "92-3"; - hideoffnpc "92-4"; - hideoffnpc "93-1"; - hideoffnpc "93-2"; - hideoffnpc "93-3"; - hideoffnpc "93-4"; - hideoffnpc "94-1"; - hideoffnpc "94-2"; - hideoffnpc "94-3"; - hideoffnpc "94-4"; - hideoffnpc "95-1"; - hideoffnpc "95-2"; - hideoffnpc "95-3"; - hideoffnpc "95-4"; - hideoffnpc "96-1"; - hideoffnpc "96-2"; - hideoffnpc "96-3"; - hideoffnpc "96-4"; - hideoffnpc "97-1"; - hideoffnpc "97-2"; - hideoffnpc "97-3"; - hideoffnpc "97-4"; + enablenpc "57-4"; + enablenpc "58-1"; + enablenpc "58-2"; + enablenpc "58-3"; + enablenpc "58-4"; + enablenpc "59-1"; + enablenpc "59-2"; + enablenpc "59-3"; + enablenpc "59-4"; + enablenpc "60-1"; + enablenpc "60-2"; + enablenpc "60-3"; + enablenpc "60-4"; + enablenpc "61-1"; + enablenpc "61-2"; + enablenpc "61-3"; + enablenpc "61-4"; + enablenpc "62-1"; + enablenpc "62-2"; + enablenpc "62-3"; + enablenpc "62-4"; + enablenpc "63-1"; + enablenpc "63-2"; + enablenpc "63-3"; + enablenpc "63-4"; + enablenpc "64-1"; + enablenpc "64-2"; + enablenpc "64-3"; + enablenpc "64-4"; + enablenpc "65-1"; + enablenpc "65-2"; + enablenpc "65-3"; + enablenpc "65-4"; + enablenpc "66-1"; + enablenpc "66-2"; + enablenpc "66-3"; + enablenpc "66-4"; + enablenpc "67-1"; + enablenpc "67-2"; + enablenpc "67-3"; + enablenpc "67-4"; + enablenpc "68-1"; + enablenpc "68-2"; + enablenpc "68-3"; + enablenpc "68-4"; + enablenpc "69-1"; + enablenpc "69-2"; + enablenpc "69-3"; + enablenpc "69-4"; + enablenpc "70-1"; + enablenpc "70-2"; + enablenpc "70-3"; + enablenpc "70-4"; + enablenpc "71-1"; + enablenpc "71-2"; + enablenpc "71-3"; + enablenpc "71-4"; + enablenpc "72-1"; + enablenpc "72-2"; + enablenpc "72-3"; + enablenpc "72-4"; + enablenpc "73-1"; + enablenpc "73-2"; + enablenpc "73-3"; + enablenpc "73-4"; + enablenpc "74-1"; + enablenpc "74-2"; + enablenpc "74-3"; + enablenpc "74-4"; + enablenpc "75-1"; + enablenpc "75-2"; + enablenpc "75-3"; + enablenpc "75-4"; + enablenpc "76-1"; + enablenpc "76-2"; + enablenpc "76-3"; + enablenpc "76-4"; + enablenpc "77-1"; + enablenpc "77-2"; + enablenpc "77-3"; + enablenpc "77-4"; + enablenpc "78-1"; + enablenpc "78-2"; + enablenpc "78-3"; + enablenpc "78-4"; + enablenpc "79-1"; + enablenpc "79-2"; + enablenpc "79-3"; + enablenpc "79-4"; + enablenpc "80-1"; + enablenpc "80-2"; + enablenpc "80-3"; + enablenpc "80-4"; + enablenpc "81-1"; + enablenpc "81-2"; + enablenpc "81-3"; + enablenpc "81-4"; + enablenpc "82-1"; + enablenpc "82-2"; + enablenpc "82-3"; + enablenpc "82-4"; + enablenpc "83-1"; + enablenpc "83-2"; + enablenpc "83-3"; + enablenpc "83-4"; + enablenpc "84-1"; + enablenpc "84-2"; + enablenpc "84-3"; + enablenpc "84-4"; + enablenpc "85-1"; + enablenpc "85-2"; + enablenpc "85-3"; + enablenpc "85-4"; + enablenpc "86-1"; + enablenpc "86-2"; + enablenpc "86-3"; + enablenpc "86-4"; + enablenpc "87-1"; + enablenpc "87-2"; + enablenpc "87-3"; + enablenpc "87-4"; + enablenpc "88-1"; + enablenpc "88-2"; + enablenpc "88-3"; + enablenpc "88-4"; + enablenpc "89-1"; + enablenpc "89-2"; + enablenpc "89-3"; + enablenpc "89-4"; + enablenpc "90-1"; + enablenpc "90-2"; + enablenpc "90-3"; + enablenpc "90-4"; + enablenpc "91-1"; + enablenpc "91-2"; + enablenpc "91-3"; + enablenpc "91-4"; + enablenpc "92-1"; + enablenpc "92-2"; + enablenpc "92-3"; + enablenpc "92-4"; + enablenpc "93-1"; + enablenpc "93-2"; + enablenpc "93-3"; + enablenpc "93-4"; + enablenpc "94-1"; + enablenpc "94-2"; + enablenpc "94-3"; + enablenpc "94-4"; + enablenpc "95-1"; + enablenpc "95-2"; + enablenpc "95-3"; + enablenpc "95-4"; + enablenpc "96-1"; + enablenpc "96-2"; + enablenpc "96-3"; + enablenpc "96-4"; + enablenpc "97-1"; + enablenpc "97-2"; + enablenpc "97-3"; + enablenpc "97-4"; end; OnDisable: - hideonnpc "57-4"; - hideonnpc "58-1"; - hideonnpc "58-2"; - hideonnpc "58-3"; - hideonnpc "58-4"; - hideonnpc "59-1"; - hideonnpc "59-2"; - hideonnpc "59-3"; - hideonnpc "59-4"; - hideonnpc "60-1"; - hideonnpc "60-2"; - hideonnpc "60-3"; - hideonnpc "60-4"; - hideonnpc "61-1"; - hideonnpc "61-2"; - hideonnpc "61-3"; - hideonnpc "61-4"; - hideonnpc "62-1"; - hideonnpc "62-2"; - hideonnpc "62-3"; - hideonnpc "62-4"; - hideonnpc "63-1"; - hideonnpc "63-2"; - hideonnpc "63-3"; - hideonnpc "63-4"; - hideonnpc "64-1"; - hideonnpc "64-2"; - hideonnpc "64-3"; - hideonnpc "64-4"; - hideonnpc "65-1"; - hideonnpc "65-2"; - hideonnpc "65-3"; - hideonnpc "65-4"; - hideonnpc "66-1"; - hideonnpc "66-2"; - hideonnpc "66-3"; - hideonnpc "66-4"; - hideonnpc "67-1"; - hideonnpc "67-2"; - hideonnpc "67-3"; - hideonnpc "67-4"; - hideonnpc "68-1"; - hideonnpc "68-2"; - hideonnpc "68-3"; - hideonnpc "68-4"; - hideonnpc "69-1"; - hideonnpc "69-2"; - hideonnpc "69-3"; - hideonnpc "69-4"; - hideonnpc "70-1"; - hideonnpc "70-2"; - hideonnpc "70-3"; - hideonnpc "70-4"; - hideonnpc "71-1"; - hideonnpc "71-2"; - hideonnpc "71-3"; - hideonnpc "71-4"; - hideonnpc "72-1"; - hideonnpc "72-2"; - hideonnpc "72-3"; - hideonnpc "72-4"; - hideonnpc "73-1"; - hideonnpc "73-2"; - hideonnpc "73-3"; - hideonnpc "73-4"; - hideonnpc "74-1"; - hideonnpc "74-2"; - hideonnpc "74-3"; - hideonnpc "74-4"; - hideonnpc "75-1"; - hideonnpc "75-2"; - hideonnpc "75-3"; - hideonnpc "75-4"; - hideonnpc "76-1"; - hideonnpc "76-2"; - hideonnpc "76-3"; - hideonnpc "76-4"; - hideonnpc "77-1"; - hideonnpc "77-2"; - hideonnpc "77-3"; - hideonnpc "77-4"; - hideonnpc "78-1"; - hideonnpc "78-2"; - hideonnpc "78-3"; - hideonnpc "78-4"; - hideonnpc "79-1"; - hideonnpc "79-2"; - hideonnpc "79-3"; - hideonnpc "79-4"; - hideonnpc "80-1"; - hideonnpc "80-2"; - hideonnpc "80-3"; - hideonnpc "80-4"; - hideonnpc "81-1"; - hideonnpc "81-2"; - hideonnpc "81-3"; - hideonnpc "81-4"; - hideonnpc "82-1"; - hideonnpc "82-2"; - hideonnpc "82-3"; - hideonnpc "82-4"; - hideonnpc "83-1"; - hideonnpc "83-2"; - hideonnpc "83-3"; - hideonnpc "83-4"; - hideonnpc "84-1"; - hideonnpc "84-2"; - hideonnpc "84-3"; - hideonnpc "84-4"; - hideonnpc "85-1"; - hideonnpc "85-2"; - hideonnpc "85-3"; - hideonnpc "85-4"; - hideonnpc "86-1"; - hideonnpc "86-2"; - hideonnpc "86-3"; - hideonnpc "86-4"; - hideonnpc "87-1"; - hideonnpc "87-2"; - hideonnpc "87-3"; - hideonnpc "87-4"; - hideonnpc "88-1"; - hideonnpc "88-2"; - hideonnpc "88-3"; - hideonnpc "88-4"; - hideonnpc "89-1"; - hideonnpc "89-2"; - hideonnpc "89-3"; - hideonnpc "89-4"; - hideonnpc "90-1"; - hideonnpc "90-2"; - hideonnpc "90-3"; - hideonnpc "90-4"; - hideonnpc "91-1"; - hideonnpc "91-2"; - hideonnpc "91-3"; - hideonnpc "91-4"; - hideonnpc "92-1"; - hideonnpc "92-2"; - hideonnpc "92-3"; - hideonnpc "92-4"; - hideonnpc "93-1"; - hideonnpc "93-2"; - hideonnpc "93-3"; - hideonnpc "93-4"; - hideonnpc "94-1"; - hideonnpc "94-2"; - hideonnpc "94-3"; - hideonnpc "94-4"; - hideonnpc "95-1"; - hideonnpc "95-2"; - hideonnpc "95-3"; - hideonnpc "95-4"; - hideonnpc "96-1"; - hideonnpc "96-2"; - hideonnpc "96-3"; - hideonnpc "96-4"; - hideonnpc "97-1"; - hideonnpc "97-2"; - hideonnpc "97-3"; - hideonnpc "97-4"; + disablenpc "57-4"; + disablenpc "58-1"; + disablenpc "58-2"; + disablenpc "58-3"; + disablenpc "58-4"; + disablenpc "59-1"; + disablenpc "59-2"; + disablenpc "59-3"; + disablenpc "59-4"; + disablenpc "60-1"; + disablenpc "60-2"; + disablenpc "60-3"; + disablenpc "60-4"; + disablenpc "61-1"; + disablenpc "61-2"; + disablenpc "61-3"; + disablenpc "61-4"; + disablenpc "62-1"; + disablenpc "62-2"; + disablenpc "62-3"; + disablenpc "62-4"; + disablenpc "63-1"; + disablenpc "63-2"; + disablenpc "63-3"; + disablenpc "63-4"; + disablenpc "64-1"; + disablenpc "64-2"; + disablenpc "64-3"; + disablenpc "64-4"; + disablenpc "65-1"; + disablenpc "65-2"; + disablenpc "65-3"; + disablenpc "65-4"; + disablenpc "66-1"; + disablenpc "66-2"; + disablenpc "66-3"; + disablenpc "66-4"; + disablenpc "67-1"; + disablenpc "67-2"; + disablenpc "67-3"; + disablenpc "67-4"; + disablenpc "68-1"; + disablenpc "68-2"; + disablenpc "68-3"; + disablenpc "68-4"; + disablenpc "69-1"; + disablenpc "69-2"; + disablenpc "69-3"; + disablenpc "69-4"; + disablenpc "70-1"; + disablenpc "70-2"; + disablenpc "70-3"; + disablenpc "70-4"; + disablenpc "71-1"; + disablenpc "71-2"; + disablenpc "71-3"; + disablenpc "71-4"; + disablenpc "72-1"; + disablenpc "72-2"; + disablenpc "72-3"; + disablenpc "72-4"; + disablenpc "73-1"; + disablenpc "73-2"; + disablenpc "73-3"; + disablenpc "73-4"; + disablenpc "74-1"; + disablenpc "74-2"; + disablenpc "74-3"; + disablenpc "74-4"; + disablenpc "75-1"; + disablenpc "75-2"; + disablenpc "75-3"; + disablenpc "75-4"; + disablenpc "76-1"; + disablenpc "76-2"; + disablenpc "76-3"; + disablenpc "76-4"; + disablenpc "77-1"; + disablenpc "77-2"; + disablenpc "77-3"; + disablenpc "77-4"; + disablenpc "78-1"; + disablenpc "78-2"; + disablenpc "78-3"; + disablenpc "78-4"; + disablenpc "79-1"; + disablenpc "79-2"; + disablenpc "79-3"; + disablenpc "79-4"; + disablenpc "80-1"; + disablenpc "80-2"; + disablenpc "80-3"; + disablenpc "80-4"; + disablenpc "81-1"; + disablenpc "81-2"; + disablenpc "81-3"; + disablenpc "81-4"; + disablenpc "82-1"; + disablenpc "82-2"; + disablenpc "82-3"; + disablenpc "82-4"; + disablenpc "83-1"; + disablenpc "83-2"; + disablenpc "83-3"; + disablenpc "83-4"; + disablenpc "84-1"; + disablenpc "84-2"; + disablenpc "84-3"; + disablenpc "84-4"; + disablenpc "85-1"; + disablenpc "85-2"; + disablenpc "85-3"; + disablenpc "85-4"; + disablenpc "86-1"; + disablenpc "86-2"; + disablenpc "86-3"; + disablenpc "86-4"; + disablenpc "87-1"; + disablenpc "87-2"; + disablenpc "87-3"; + disablenpc "87-4"; + disablenpc "88-1"; + disablenpc "88-2"; + disablenpc "88-3"; + disablenpc "88-4"; + disablenpc "89-1"; + disablenpc "89-2"; + disablenpc "89-3"; + disablenpc "89-4"; + disablenpc "90-1"; + disablenpc "90-2"; + disablenpc "90-3"; + disablenpc "90-4"; + disablenpc "91-1"; + disablenpc "91-2"; + disablenpc "91-3"; + disablenpc "91-4"; + disablenpc "92-1"; + disablenpc "92-2"; + disablenpc "92-3"; + disablenpc "92-4"; + disablenpc "93-1"; + disablenpc "93-2"; + disablenpc "93-3"; + disablenpc "93-4"; + disablenpc "94-1"; + disablenpc "94-2"; + disablenpc "94-3"; + disablenpc "94-4"; + disablenpc "95-1"; + disablenpc "95-2"; + disablenpc "95-3"; + disablenpc "95-4"; + disablenpc "96-1"; + disablenpc "96-2"; + disablenpc "96-3"; + disablenpc "96-4"; + disablenpc "97-1"; + disablenpc "97-2"; + disablenpc "97-3"; + disablenpc "97-4"; end; } diff --git a/npc/jobs/2-1/knight.txt b/npc/jobs/2-1/knight.txt index 2bb88ec18..e4141188c 100644 --- a/npc/jobs/2-1/knight.txt +++ b/npc/jobs/2-1/knight.txt @@ -1077,7 +1077,7 @@ prt_in,71,91,0 script Sir Siracuse 65,{ mes "something to"; mes "ask me?"; next; - switch (select("Sir Andrew sent me to take your test.:Oh, nothing.") == 1) { + 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; @@ -1728,37 +1728,41 @@ job_knt,89,106,4 script Windsor Benedict#knt 733,{ end; OnInit: - hideonnpc "Windsor Benedict#knt"; + 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; -OnEnable: +OnStart: enablewaitingroomevent; end; } -job_knt,1,1,1 script Knight1 66,{ - end; - +- script Knight1 -1,{ OnInit: - hideonnpc "Knight1"; + disablenpc "Knight1"; end; OnEnable: - hideoffnpc "Knight1"; + enablenpc "Knight1"; if (!checkre(0)) { + set .MyMobs,12; monster "job_knt",39,150,"Dustiness",1114,1,"Knight1::OnMyMobDead"; monster "job_knt",47,150,"Dustiness",1114,1,"Knight1::OnMyMobDead"; monster "job_knt",39,142,"Dustiness",1114,1,"Knight1::OnMyMobDead"; monster "job_knt",47,142,"Dustiness",1114,1,"Knight1::OnMyMobDead"; } + else + 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"; @@ -1770,25 +1774,22 @@ OnEnable: initnpctimer; end; -OnReset: - killmonster "job_knt","Knight1::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Knight1"; + killmonster "job_knt", "Knight1::OnMyMobDead"; + disablenpc "Knight1"; end; OnMyMobDead: - if (mobcount ("job_knt","Knight1::OnMyMobDead") < 1) { + set .MyMobs,.MyMobs-1; + if (.MyMobs < 1) { mes "[Sir Windsor]"; mes "..."; - close2; + next; mes "[Sir Windsor]"; mes "...On to"; mes "the next level."; close2; warp "job_knt",43,52; - donpcevent "Knight1::OnReset"; donpcevent "Knight1::OnDisable"; donpcevent "Knight2::OnEnable"; stopnpctimer; @@ -1796,55 +1797,31 @@ OnMyMobDead: end; OnTimer180000: - donpcevent "Knight1::OnReset"; + donpcevent "Knight1::OnDisable"; end; OnTimer181000: - donpcevent "Out1::OnEnable"; + areawarp "job_knt", 24, 126, 63, 165, "prt_in",80,100; end; OnTimer182000: - donpcevent "Out1::OnDisable"; + stopnpctimer; donpcevent "Knight1::OnDisable"; - donpcevent "Windsor Benedict#knt::OnEnable"; + donpcevent "Windsor Benedict#knt::OnStart"; end; } -job_knt,43,146,0 script Out1 139,22,22,{ - -OnTouch: - warp "prt_in",80,100; - end; - +// Test 2 part 2 +//========================================================== +- script Knight2 -1,{ OnInit: - hideonnpc "Out1"; + disablenpc "Knight2"; end; OnEnable: - hideoffnpc "Out1"; - end; - -OnDisable: - hideonnpc "Out1"; - end; -} - -job_knt,1,2,1 script Knight2 66,{ - end; - -OnInit: - hideonnpc "Knight2"; - end; - -OnEnable: - hideoffnpc "Knight2"; - 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"; + enablenpc "Knight2"; if (!checkre(0)) { + set .MyMobs,12; monster "job_knt",43,42,"Desert Wolf",1106,1,"Knight2::OnMyMobDead"; monster "job_knt",43,62,"Desert Wolf",1106,1,"Knight2::OnMyMobDead"; monster "job_knt",60,68,"Anacondaq",1030,1,"Knight2::OnMyMobDead"; @@ -1852,27 +1829,32 @@ OnEnable: monster "job_knt",60,35,"Anacondaq",1030,1,"Knight2::OnMyMobDead"; monster "job_knt",27,35,"Anacondaq",1030,1,"Knight2::OnMyMobDead"; } + else + 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; -OnReset: - killmonster "job_knt","Knight2::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Knight2"; + killmonster "job_knt", "Knight2::OnMyMobDead"; + disablenpc "Knight2"; end; OnMyMobDead: - if (mobcount ("job_knt","Knight2::OnMyMobDead") < 1) { + set .MyMobs,.MyMobs-1; + if (.MyMobs < 1) { mes "[Sir Windsor]"; mes "...Hmm."; - close2; + next; mes "[Sir Windsor]"; mes "...One stage left."; close2; warp "job_knt",143,152; - donpcevent "Knight2::OnReset"; donpcevent "Knight2::OnDisable"; donpcevent "Knight3::OnEnable"; stopnpctimer; @@ -1880,120 +1862,85 @@ OnMyMobDead: end; OnTimer180000: - donpcevent "Knight2::OnReset"; + donpcevent "Knight2::OnDisable"; end; OnTimer181000: - donpcevent "Out2::OnEnable"; + areawarp "job_knt", 24, 32, 63, 71, "prt_in",80,100; end; OnTimer182000: - donpcevent "Out2::OnDisable"; + stopnpctimer; donpcevent "Knight2::OnDisable"; - donpcevent "Windsor Benedict#knt::OnEnable"; - end; -} - -job_knt,43,52,0 script Out2 139,22,22,{ - -OnTouch: - warp "prt_in",80,100; - end; - -OnInit: - hideonnpc "Out2"; - end; - -OnEnable: - hideoffnpc "Out2"; - end; - -OnDisable: - hideonnpc "Out2"; + donpcevent "Windsor Benedict#knt::OnStart"; end; } -job_knt,1,3,1 script Knight3 66,{ - end; - +// Test 2 part 3 +//========================================================== +- script Knight3 -1,{ OnInit: - hideonnpc "Knight3"; + disablenpc "Knight3"; end; OnEnable: - hideoffnpc "Knight3"; + enablenpc "Knight3"; + if (!checkre(0)) { + set .MyMobs,7; + monster "job_knt",147,167,"Goblin Archer",1258,1,"Knight3::OnMyMobDead"; + monster "job_knt",136,158,"Steam Goblin",1280,1,"Knight3::OnMyMobDead"; + } + else + 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"; - if (!checkre(0)){ - monster "job_knt",147,167,"Goblin Archer",1258,1,"Knight3::OnMyMobDead"; - monster "job_knt",136,158,"Steam Goblin",1280,1,"Knight3::OnMyMobDead"; - } initnpctimer; end; -OnReset: - killmonster "job_knt","Knight3::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Knight3"; + killmonster "job_knt", "Knight3::OnMyMobDead"; + disablenpc "Knight3"; end; OnMyMobDead: - if (mobcount ("job_knt","Knight3::OnMyMobDead") < 1) { + set .MyMobs,.MyMobs-1; + if (.MyMobs < 1) { mes "[Sir Windsor]"; mes "..."; - close2; + next; mes "[Sir Windsor]"; mes "...Very good."; - close2; + 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::OnReset"; donpcevent "Knight3::OnDisable"; - donpcevent "Windsor Benedict#knt::OnEnable"; + donpcevent "Windsor Benedict#knt::OnStart"; stopnpctimer; } end; OnTimer180000: - donpcevent "Knight3::OnReset"; + donpcevent "Knight3::OnDisable"; end; OnTimer181000: - donpcevent "Out3::OnEnable"; + areawarp "job_knt", 124, 132, 163, 171, "prt_in",80,100; end; OnTimer182000: - donpcevent "Out3::OnDisable"; + stopnpctimer; donpcevent "Knight3::OnDisable"; - donpcevent "Windsor Benedict#knt::OnEnable"; - end; -} - -job_knt,143,152,0 script Out3 139,22,22,{ - -OnTouch: - warp "prt_in",80,100; - end; - -OnInit: - hideonnpc "Out3"; - end; - -OnEnable: - hideoffnpc "Out3"; - end; - -OnDisable: - hideonnpc "Out3"; + donpcevent "Windsor Benedict#knt::OnStart"; end; } @@ -2982,28 +2929,8 @@ OnTimer60150: end; OnInit: - hideoffnpc "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"; - monster "job_knt",167,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; - monster "job_knt",167,57,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; - monster "job_knt",120,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; - monster "job_knt",120,57,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; - initnpctimer; - end; - OnEnable: - hideoffnpc "Timer#knt"; + 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"; @@ -3016,10 +2943,11 @@ OnEnable: 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"; - monster "job_knt",167,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; - monster "job_knt",167,57,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; - monster "job_knt",120,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead"; - monster "job_knt",120,57,"Mushroom",1182,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; @@ -3037,6 +2965,7 @@ OnMyMobDead: } job_knt,143,57,0 script Warp#knt 139,22,22,{ + end; OnTouch: set KNIGHT_Q,12; @@ -3045,22 +2974,22 @@ OnTouch: end; OnInit: - hideonnpc "Warp#knt"; + disablenpc "Warp#knt"; end; OnEnable: - hideoffnpc "Warp#knt"; + enablenpc "Warp#knt"; end; OnDisable: - hideonnpc "Warp#knt"; + disablenpc "Warp#knt"; end; } prt_in,87,92,4 script Sir Gray 119,{ - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Knight || Class == Job_Knight) { - mes "[Sir Gray]"; + 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; @@ -3070,10 +2999,10 @@ prt_in,87,92,4 script Sir Gray 119,{ mes "Every Knight"; mes "would want one!"; next; - switch (select("About ^3355FFClaymore^000000:Buy Claymore:End Conversation")) { + 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 Prontera!! Its value is priceless when considered by a Knight."; + 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."; @@ -3083,7 +3012,8 @@ prt_in,87,92,4 script Sir Gray 119,{ 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: - if ((MaxWeight - Weight) < 1800) { + 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."; @@ -3094,85 +3024,85 @@ prt_in,87,92,4 script Sir Gray 119,{ mes "your items first."; close; } - if ((Zeny > 73999) && (countitem(999) > 0) && (Class == Job_Baby_Knight || Class == Job_Knight || Class == Job_Baby_Swordman || Class == Job_Swordman)) { - 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; + 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 "The basics of"; - mes "making the Claymore"; - mes "is easy. Watch~!"; - next; - mes "^3355FF*Stir Stir*^000000"; - mes "^3355FF*Ooncha Ooncha*^000000"; + 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 "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 + mes "Come back when"; + mes "you have everything"; + mes "ready. I shall be"; + mes "waiting..."; 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; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Sir Gray]"; - 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 "[Sir Gray]"; - 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 "[Sir Gray]"; - mes "Young one,"; - mes "use your time"; - mes "wisely."; + 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 "No point in"; - mes "harboring regret"; - mes "once time has passed."; + 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 "[Sir Gray]"; mes "Oh..."; mes "A young Swordman."; mes "Yes, what can"; @@ -3185,7 +3115,6 @@ prt_in,87,92,4 script Sir Gray 119,{ mes "everyone else's"; mes "test?"; next; - set @knight_t, 0; mes "[Sir Gray]"; mes "Then shall"; mes "we begin mine?"; @@ -3203,287 +3132,14 @@ prt_in,87,92,4 script Sir Gray 119,{ mes "decide to become"; mes "a Knight?"; next; - 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; - } - 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; - } - 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; - } - } - 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; - } - 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!"; - if (Sex == 1) { - mes "Always protect her..."; - mes "Even at the sacrifice"; - mes "of your own life!"; - } - else { - mes "Always protect 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; - } - 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; - } - } - 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; - } - 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; - } - if (@knight_t == 10) { - set KNIGHT_Q,14; - 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; - } - 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; + } + else { mes "[Sir Gray]"; - mes "If you truly wish to become a Knight, you must change your outlook first. Then, we shall see."; + mes "Take care!"; close; } - mes "[Sir Gray]"; - mes "Take care!"; - close; } - if (KNIGHT_Q == 13) { - mes "[Sir Gray]"; + else if (KNIGHT_Q == 13) { mes "Ah, you again."; mes "What brings you"; mes "to me?"; @@ -3494,7 +3150,6 @@ prt_in,87,92,4 script Sir Gray 119,{ mes "I wonder if you"; mes "truly have..."; next; - set @knight_t, 0; mes "[Sir Gray]"; mes "Then..."; mes "Like last time,"; @@ -3506,303 +3161,306 @@ prt_in,87,92,4 script Sir Gray 119,{ mes "decide to become"; mes "a Knight?"; next; - 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?"; - mes "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; - } - 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; - } - 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; - } - } + } + 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 "I understand your thoughts,"; - mes "but there are those who wish to"; - mes "become Knights without thinking."; + 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 "Those are the ones who instigate problems and shame the honor of Knights, bringing irreversible results."; + 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 "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."; + mes "Ah, a wonderful idea. A Knight's strength must be used to protect the weak and defend righteousness."; next; mes "[Sir Gray]"; - mes "If you become a Knight right away, what are you going to do first?"; + mes "Sadly, there are a few Knights who shame us by forgetting the ideals that should be basic to Knighthood..."; 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; - } - 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!"; - if (Sex == 1) { - mes "Always protect her..."; - mes "Even at the sacrifice"; - mes "of your own life!"; - } - else { - mes "Always protect 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; - } - 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; + } + 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 "Oh no, we've been"; - mes "talking too much..."; - mes "I apologize for"; - mes "keeping you here"; - mes "for so long."; + 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; - 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~"; - close2; - } - 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; - } - if (@knight_t == 10) { - set KNIGHT_Q,14; - 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; - } - set KNIGHT_Q,13; + break; + case 2: + set .@knight_t,.@knight_t+10; mes "[Sir Gray]"; - mes "Conversing"; - mes "with young ones"; - mes "is always enjoyable..."; + mes "Of course wealth is important."; + mes "But we Knights must live for higher virtues."; next; + break; + case 3: 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."; + mes "Ah, a wonderful idea. A Knight's strength must be used to protect the weak and defend righteousness."; next; mes "[Sir Gray]"; - mes "If you truly wish to become a Knight, you must change your outlook first. Then, we shall see."; - close; + 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 "Take care!"; - mes "Health is"; - mes "every man's"; - mes "treasure!"; + 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; } - if (KNIGHT_Q == 14) { + else { + set KNIGHT_Q,13; mes "[Sir Gray]"; - mes "I told you"; - mes "to go to"; - mes "the captain."; + mes "Conversing"; + mes "with young ones"; + mes "is always enjoyable..."; next; mes "[Sir Gray]"; - mes "Everyone will"; - mes "carefully make"; - mes "their decision,"; - mes "so go now!"; + 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?"; diff --git a/npc/jobs/2-1/priest.txt b/npc/jobs/2-1/priest.txt index b1af76b1a..4230fee61 100644 --- a/npc/jobs/2-1/priest.txt +++ b/npc/jobs/2-1/priest.txt @@ -757,7 +757,7 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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; + 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; @@ -769,7 +769,7 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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; + 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; @@ -781,7 +781,7 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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; + 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; @@ -793,7 +793,7 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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; + 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; @@ -805,7 +805,7 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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; + 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,"; @@ -819,7 +819,7 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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; + 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; @@ -953,7 +953,7 @@ prt_church,27,24,1 script Sister Cecilia 79,{ mes "[Sister Cecilia]"; mes "Will you lure many monsters to help your party members level up?"; next; - switch (select("Yes.:No.") == 1) { + 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; @@ -982,7 +982,7 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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; + 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; @@ -1015,15 +1015,13 @@ prt_church,27,24,1 script Sister Cecilia 79,{ } job_prist,24,187,4 script Peter S. Alberto 110,{ - if (Class == Job_Baby_Priest || Class == Job_Priest) { - mes "[Father Peter]"; + mes "[Father Peter]"; + if (BaseJob == Job_Priest) { mes "Welcome!"; - if (Sex == 1) { - mes "Brother " + strcharinfo(0) + "!"; - } - else { - mes "Sister " + strcharinfo(0) + "!"; - } + if (sex) + mes "Brother "+ strcharinfo(0) +"!"; + else + mes "Sister "+ strcharinfo(0) +"!"; mes "So good to see you again!"; next; mes "[Father Peter]"; @@ -1039,7 +1037,7 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ mes "So..."; mes "Are you gonna help him right now?"; next; - switch (select("Yes, I am.:Give me a minute.:I changed my mind.")) { + 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."; @@ -1064,7 +1062,6 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ } } if (PRIEST_Q == 5) { - mes "[Father Peter]"; mes "Welcome~!"; mes "I congratulate you"; mes "for passing the first trail."; @@ -1082,7 +1079,7 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ 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...")) { + 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!"; @@ -1110,7 +1107,7 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ 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.")) { + 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!"; @@ -1119,8 +1116,9 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ mes "Now..."; mes "Go for it!"; close2; + changequest 8011,8012; warp "job_prist",24,44; - donpcevent "Zombie_Generator::OnEnable"; + donpcevent "Zombie_Generator#prst::OnEnable"; donpcevent "Peter S. Alberto::OnDisable"; donpcevent "Peter S. Alberto#2::OnEnable"; end; @@ -1144,8 +1142,7 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ end; } } - if (PRIEST_Q == 6) { - mes "[Father Peter]"; + else if (PRIEST_Q == 6) { mes "Are you ready this time?"; mes "Complete this trial quickly,"; mes "and become a Priest!"; @@ -1153,7 +1150,7 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ mes "[Father Peter]"; mes "Are you ready then?"; next; - switch (select("I'm ready.:Please hold on.:I want to go back.")) { + 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..."; @@ -1163,8 +1160,11 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ mes "Kill those"; mes "misbegotten creatures!"; close2; + if(checkquest(8012) == -1) { + changequest 8011,8012; + } warp "job_prist",24,44; - donpcevent "Zombie_Generator::OnEnable"; + donpcevent "Zombie_Generator#prst::OnEnable"; donpcevent "Peter S. Alberto::OnDisable"; donpcevent "Peter S. Alberto#2::OnEnable"; end; @@ -1186,31 +1186,30 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ end; } } - mes "[Father Peter]"; - mes "Go back!"; - close2; - warp "prontera",234,318; - end; + else { + mes "Go back!"; + close2; + warp "prontera",234,318; + end; + } OnEnable: - hideoffnpc "Peter S. Alberto"; + enablenpc "Peter S. Alberto"; end; OnDisable: - hideonnpc "Peter S. Alberto"; + disablenpc "Peter S. Alberto"; end; } job_prist,23,187,1 script Peter S. Alberto#2 110,{ - if (Class == Job_Baby_Priest || Class == Job_Priest) { - mes "[Father Peter]"; + mes "[Father Peter]"; + if (BaseJob == Job_Priest) { mes "Welcome!"; - if (Sex == 1) { - mes "Brother " + strcharinfo(0) + "!"; - } - else { - mes "Sister " + strcharinfo(0) + "!"; - } + if (sex) + mes "Brother "+ strcharinfo(0) +"!"; + else + mes "Sister "+ strcharinfo(0) +"!"; mes "So good to see you!"; next; mes "[Father Peter]"; @@ -1224,46 +1223,43 @@ job_prist,23,187,1 script Peter S. Alberto#2 110,{ close; } if (PRIEST_Q == 5) { - mes "[Father Peter]"; 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; } - if (PRIEST_Q == 6) { - mes "[Father Peter]"; + 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; } - mes "[Father Peter]"; - mes "Peace..."; - mes "Be with you."; - close2; - warp "prontera",234,318; - end; + else { + mes "Peace..."; + mes "Be with you."; + close2; + warp "prontera",234,318; + end; + } OnInit: - hideonnpc "Peter S. Alberto#2"; + disablenpc "Peter S. Alberto#2"; end; OnEnable: - hideoffnpc "Peter S. Alberto#2"; + enablenpc "Peter S. Alberto#2"; end; OnDisable: - hideonnpc "Peter S. Alberto#2"; + disablenpc "Peter S. Alberto#2"; end; } -job_prist,1,1,1 script Zombie_Generator 110,{ - end; - +- script Zombie_Generator#prst 110,{ OnInit: - hideonnpc "Zombie_Generator"; + disablenpc "Zombie_Generator#prst"; end; OnEnable: @@ -1275,63 +1271,50 @@ OnEnable: initnpctimer; end; -OnM1: - monster "job_prist",24,52,"Theft",1015,1,"Zombie_Generator::OnMyMobDead"; - monster "job_prist",18,52,"Want of Virtue",1015,1,"Zombie_Generator::OnMyMobDead"; - monster "job_prist",30,52,"Jealousy",1015,1,"Zombie_Generator::OnMyMobDead"; - end; - -OnM2: - monster "job_prist",21,62,"Fury",1015,1,"Zombie_Generator::OnMyMobDead"; - monster "job_prist",27,62,"Envy",1015,1,"Zombie_Generator::OnMyMobDead"; +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; -OnM3: - monster "job_prist",24,72,"Arrogance",1015,1,"Zombie_Generator::OnMyMobDead"; - monster "job_prist",18,72,"Lewdness",1015,1,"Zombie_Generator::OnMyMobDead"; - monster "job_prist",30,72,"Sloth",1015,1,"Zombie_Generator::OnMyMobDead"; +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; -OnM4: - monster "job_prist",21,82,"Gluttony",1015,1,"Zombie_Generator::OnMyMobDead"; - monster "job_prist",27,82,"Greed",1015,1,"Zombie_Generator::OnMyMobDead"; +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; -OnM5: - monster "job_prist",24,92,"Despair",1015,1,"Zombie_Generator::OnMyMobDead"; - monster "job_prist",18,92,"Distrust",1015,1,"Zombie_Generator::OnMyMobDead"; - monster "job_prist",30,92,"Fear",1015,1,"Zombie_Generator::OnMyMobDead"; +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; -OnMyMobDead: - if (mobcount ("job_prist","Zombie_Generator::OnMyMobDead") < 1) { - donpcevent "prst1_2::OnEnable"; - } +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: - hideonnpc "Zombie_Generator"; - end; - -OnReset: - killmonster "job_prist","Zombie_Generator::OnMyMobDead"; + disablenpc "Zombie_Generator#prst"; + killmonsterall "job_prist"; end; OnTimer300000: - donpcevent "Zombieo::OnEnable"; + areawarp "job_prist",8,34,39,109,"prontera",234,318; end; OnTimer300500: - donpcevent "Zombie_Generator::OnReset"; - end; - -OnTimer301000: - donpcevent "Zombieo::OnDisable"; - donpcevent "prst1_2::OnDisable"; + donpcevent "Zombie_Generator#prst::OnDisable"; end; OnTimer301500: - donpcevent "Zombie_Generator::OnDisable"; + donpcevent "Zombie_Generator#prst::OnDisable"; donpcevent "Peter S. Alberto#2::OnDisable"; donpcevent "Peter S. Alberto::OnEnable"; end; @@ -1341,10 +1324,17 @@ OnTimer302000: end; } -job_prist,24,44,0 script Zombie Info 139,1,1,{ +- 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 (Class == Job_Baby_Priest || Class == Job_Priest) { + 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; @@ -1358,7 +1348,7 @@ OnTouch: mes "5 minutes. Best of luck~"; close; } - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + 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; @@ -1369,249 +1359,121 @@ OnTouch: end; } -job_prist,24,74,0 script Zombieo 139,14,40,{ - -OnTouch: - warp "prontera",234,318; - end; - +job_prist,24,52,0 script Zombie1_1 -1,14,1,{ OnInit: - hideonnpc "Zombieo"; + disablenpc "Zombie1_1"; end; -OnEnable: - hideoffnpc "Zombieo"; - end; - -OnDisable: - hideonnpc "Zombieo"; - end; -} - -job_prist,24,52,0 script Zombie1_1 139,14,1,{ - OnTouch: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - donpcevent "Zombie_Generator::OnM1"; + if (BaseJob == Job_Acolyte) { + donpcevent "Zombie_Generator#prst::Onm1"; donpcevent "Zombie1_1::OnDisable"; } end; -OnInit: - hideonnpc "Zombie1_1"; - end; - OnEnable: - hideoffnpc "Zombie1_1"; - hideoffnpc "Zombie1_2"; - hideoffnpc "Zombie1_3"; + enablenpc "Zombie1_1"; end; OnDisable: - hideonnpc "Zombie1_1"; - hideonnpc "Zombie1_2"; - hideonnpc "Zombie1_3"; - end; -} - -job_prist,18,52,0 script Zombie1_2 139,1,1,{ - end; - -OnInit: - hideonnpc "Zombie1_2"; + disablenpc "Zombie1_1"; end; } -job_prist,30,52,0 script Zombie1_3 139,1,1,{ - end; - +job_prist,21,62,0 script Zombie2_1 -1,17,1,{ OnInit: - hideonnpc "Zombie1_3"; + disablenpc "Zombie2_1"; end; -} - -job_prist,21,62,0 script Zombie2_1 139,17,1,{ OnTouch: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - donpcevent "Zombie_Generator::OnM2"; + if (BaseJob == Job_Acolyte) { + donpcevent "Zombie_Generator#prst::Onm2"; donpcevent "Zombie2_1::OnDisable"; } end; -OnInit: - hideonnpc "Zombie2_1"; - end; - OnEnable: - hideoffnpc "Zombie2_1"; - hideoffnpc "Zombie2_2"; + enablenpc "Zombie2_1"; end; OnDisable: - hideonnpc "Zombie2_1"; - hideonnpc "Zombie2_2"; + disablenpc "Zombie2_1"; end; } -job_prist,27,62,0 script Zombie2_2 139,1,1,{ - end; - +job_prist,24,72,0 script Zombie3_1 -1,14,1,{ OnInit: - hideonnpc "Zombie2_2"; + disablenpc "Zombie3_1"; end; -} - -job_prist,24,72,0 script Zombie3_1 139,14,1,{ OnTouch: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - donpcevent "Zombie_Generator::OnM3"; + if (BaseJob == Job_Acolyte) { + donpcevent "Zombie_Generator#prst::Onm3"; donpcevent "Zombie3_1::OnDisable"; } end; -OnInit: - hideonnpc "Zombie3_1"; - end; - OnEnable: - hideoffnpc "Zombie3_1"; - hideoffnpc "Zombie3_2"; - hideoffnpc "Zombie3_3"; + enablenpc "Zombie3_1"; end; OnDisable: - hideonnpc "Zombie3_1"; - hideonnpc "Zombie3_2"; - hideonnpc "Zombie3_3"; - end; -} - -job_prist,18,72,0 script Zombie3_2 139,1,1,{ - end; - -OnInit: - hideonnpc "Zombie3_2"; + disablenpc "Zombie3_1"; end; } -job_prist,30,72,0 script Zombie3_3 139,1,1,{ - end; - +job_prist,21,82,0 script Zombie4_1 -1,17,1,{ OnInit: - hideonnpc "Zombie3_3"; + disablenpc "Zombie4_1"; end; -} - -job_prist,21,82,0 script Zombie4_1 139,17,1,{ - OnTouch: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - donpcevent "Zombie_Generator::OnM4"; + if (BaseJob == Job_Acolyte) { + donpcevent "Zombie_Generator#prst::Onm4"; donpcevent "Zombie4_1::OnDisable"; } end; -OnInit: - hideonnpc "Zombie4_1"; - end; - OnEnable: - hideoffnpc "Zombie4_1"; - hideoffnpc "Zombie4_2"; + enablenpc "Zombie4_1"; end; OnDisable: - hideonnpc "Zombie4_1"; - hideonnpc "Zombie4_2"; - end; + disablenpc "Zombie4_1"; } -job_prist,27,82,0 script Zombie4_2 139,1,1,{ - end; - +job_prist,24,92,0 script Zombie5_1 -1,14,1,{ OnInit: - hideonnpc "Zombie4_2"; + disablenpc "Zombie5_1"; end; -} - -job_prist,24,92,0 script Zombie5_1 139,14,1,{ OnTouch: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - donpcevent "Zombie_Generator::OnM5"; + if (BaseJob == Job_Acolyte) { + donpcevent "Zombie_Generator#prst::Onm5"; donpcevent "Zombie5_1::OnDisable"; } end; -OnInit: - hideonnpc "Zombie5_1"; - end; - OnEnable: - hideoffnpc "Zombie5_1"; - hideoffnpc "Zombie5_2"; - hideoffnpc "Zombie5_3"; + enablenpc "Zombie5_1"; end; OnDisable: - hideonnpc "Zombie5_1"; - hideonnpc "Zombie5_2"; - hideonnpc "Zombie5_3"; - end; -} - -job_prist,18,92,0 script Zombie5_2 139,1,1,{ - end; - -OnInit: - hideonnpc "Zombie5_2"; - end; -} - -job_prist,30,92,0 script Zombie5_3 139,1,1,{ - end; - -OnInit: - hideonnpc "Zombie5_3"; - end; + disablenpc "Zombie5_1"; } -job_prist,24,109,0 script prst1_1 45,4,3,{ - -OnTouch: - if (Class == Job_Baby_Priest || Class == Job_Priest) { - warp "job_prist",168,17; - } - end; -} - -job_prist,24,109,0 script prst1_2 139,4,3,{ - +job_prist,24,109,4 script prst1_1 45,3,3,{ OnTouch: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + 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::OnReset"; + donpcevent "Zombie_Generator#prst::OnDisable"; donpcevent "Peter S. Alberto#2::OnDisable"; donpcevent "Peter S. Alberto::OnEnable"; - donpcevent "prst1_2::OnDisable"; - donpcevent "Zombie_Generator::OnDisable"; + donpcevent "Zombie_Generator#prst::OnDisable"; } end; - -OnInit: - hideonnpc "prst1_2"; - end; - -OnEnable: - hideoffnpc "prst1_2"; - end; - -OnDisable: - hideonnpc "prst1_2"; - end; } job_prist,168,45,4 script Deviruchi#prst 1928,8,1,{ @@ -1925,7 +1787,7 @@ job_prist,1,2,1 script Mummy_Generator 110,1,1,{ end; OnInit: - hideonnpc "Mummy_Generator"; + disablenpc "Mummy_Generator"; end; OnEnable: @@ -1950,7 +1812,7 @@ OnM3: end; OnDisable: - hideonnpc "Mummy_Generator"; + disablenpc "Mummy_Generator"; end; OnReset: @@ -1968,17 +1830,17 @@ OnTouch: end; OnInit: - hideonnpc "Mummy1_1"; + disablenpc "Mummy1_1"; end; OnEnable: - hideoffnpc "Mummy1_1"; - hideoffnpc "Mummy1_2"; + enablenpc "Mummy1_1"; + enablenpc "Mummy1_2"; end; OnDisable: - hideonnpc "Mummy1_1"; - hideonnpc "Mummy1_2"; + disablenpc "Mummy1_1"; + disablenpc "Mummy1_2"; end; } @@ -1986,7 +1848,7 @@ job_prist,105,55,0 script Mummy1_2 139,1,1,{ end; OnInit: - hideonnpc "Mummy1_2"; + disablenpc "Mummy1_2"; end; } @@ -2000,17 +1862,17 @@ OnTouch: end; OnInit: - hideonnpc "Mummy2_1"; + disablenpc "Mummy2_1"; end; OnEnable: - hideoffnpc "Mummy2_1"; - hideoffnpc "Mummy2_2"; + enablenpc "Mummy2_1"; + enablenpc "Mummy2_2"; end; OnDisable: - hideonnpc "Mummy2_1"; - hideonnpc "Mummy2_2"; + disablenpc "Mummy2_1"; + disablenpc "Mummy2_2"; end; } @@ -2018,7 +1880,7 @@ job_prist,105,70,0 script Mummy2_2 139,1,1,{ end; OnInit: - hideonnpc "Mummy2_2"; + disablenpc "Mummy2_2"; end; } @@ -2032,17 +1894,17 @@ OnTouch: end; OnInit: - hideonnpc "Mummy3_1"; + disablenpc "Mummy3_1"; end; OnEnable: - hideoffnpc "Mummy3_1"; - hideoffnpc "Mummy3_2"; + enablenpc "Mummy3_1"; + enablenpc "Mummy3_2"; end; OnDisable: - hideonnpc "Mummy3_1"; - hideonnpc "Mummy3_2"; + disablenpc "Mummy3_1"; + disablenpc "Mummy3_2"; end; } @@ -2050,7 +1912,7 @@ job_prist,105,85,0 script Mummy3_2 139,1,1,{ end; OnInit: - hideonnpc "Mummy3_2"; + disablenpc "Mummy3_2"; end; } diff --git a/npc/jobs/2-1/wizard.txt b/npc/jobs/2-1/wizard.txt index b5fef11e8..72987977f 100644 --- a/npc/jobs/2-1/wizard.txt +++ b/npc/jobs/2-1/wizard.txt @@ -629,6 +629,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ if (select("Lightning Bolt:Fire Bolt:Cold Bolt:Sight") == 1) { set @wizard_t, @wizard_t + 10; } + next; } if (.@wizard_m2 == 2) { mes "[Raulel]"; @@ -691,6 +692,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ if (select("Drake:Megalodon:Deviace:Khalitzburg") == 3) { set @wizard_t, @wizard_t + 10; } + next; } else { mes "[Raulel]"; @@ -753,6 +755,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ if (select("Marduk Card:Magnolia Card:Willow Card:Maya Card") == 2) { set @wizard_t, @wizard_t + 10; } + next; } mes "[Raulel]"; mes "Hmmm...Good job, you finished answering all the questions, go buy yourself some potions or something, thats IF you have the Zeny. Hahahahahahahah~"; @@ -797,7 +800,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ 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.")) { + 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."; @@ -885,6 +888,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ if (select("Lightning Bolt:Fire Bolt:Cold Bolt:Sight") == 1) { set @wizard_t, @wizard_t + 10; } + next; } if (.@wizard_m2 == 2) { mes "[Raulel]"; @@ -947,6 +951,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ if (select("Drake:Megalodon:Deviace:Khalitzburg") == 3) { set @wizard_t, @wizard_t + 10; } + next; } else { mes "[Raulel]"; @@ -1009,6 +1014,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ if (select("Marduk Card:Magnolia Card:Willow Card:Maya Card") == 2) { set @wizard_t, @wizard_t + 10; } + next; } mes "[Raulel]"; mes "Good job, you finished answered all the questions... Go buy yourself some potions or something if you have the Zeny. Haha..."; @@ -1309,60 +1315,61 @@ job_wiz,50,165,4 script Arena Assistant 700,{ close; } -job_wiz,50,165,2 script Waiting Room#wzrd 111,{ - end; - +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; -OnEnable: +OnStart: enablewaitingroomevent; end; } +// Water Room (Test 2 part 1) +//========================================================== job_wiz,1,1,1 script Room of Water 66,{ - end; - OnInit: - hideonnpc "Room of Water"; + disablenpc "Room of Water"; end; OnEnable: - hideoffnpc "Room of Water"; + enablenpc "Room of Water"; + if (!checkre(0)) { + set .MyMobs,8; + monster "job_wiz",129,170,"Obeaune",1044,1,"Room of Water::OnMyMobDead"; + } + else + set .MyMobs,7; monster "job_wiz",109,174,"Phen",1158,1,"Room of Water::OnMyMobDead"; - monster "job_wiz",118,174,"Clam",1074,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"; - if(!checkre(0)){ - monster "job_wiz",129,170,"Obeaune",1044,1,"Room of Water::OnMyMobDead"; - } initnpctimer; end; -OnReset: - killmonster "job_wiz","Room of Water::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Room of Water"; + killmonsterall "job_wiz"; + disablenpc "Room of Water"; end; OnMyMobDead: - if (mobcount ("job_wiz","Room of Water::OnMyMobDead") < 1) { + 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#DK::OnEnable"; + mapannounce "job_wiz",strcharinfo(0)+" has succeeded in eliminating the monsters.",bc_map; + donpcevent "Room of Water#Door::OnEnable"; stopnpctimer; } end; @@ -1405,11 +1412,11 @@ OnTimer173000: OnTimer183000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Water::OnReset"; + donpcevent "Room of Water::OnDisable"; end; OnTimer184000: - donpcevent "Room of Water#Failed::OnEnable"; + enablenpc "Room of Water#Failed"; end; OnTimer185000: @@ -1417,45 +1424,41 @@ OnTimer185000: end; OnTimer186000: - donpcevent "Room of Water#Failed::OnDisable"; + disablenpc "Room of Water#Failed"; donpcevent "Room of Water::OnDisable"; - donpcevent "Waiting Room::OnEnable"; + donpcevent "Waiting Room#wiz::OnStart"; end; } -job_wiz,1,2,1 script Room of Water#DK 66,{ - end; - +job_wiz,1,2,1 script Room of Water#Door 66,{ OnInit: - hideonnpc "Room of Water#DK"; + disablenpc "Room of Water#Door"; end; OnEnable: - hideoffnpc "Room of Water#DK"; - donpcevent "Room of Water::OnReset"; + enablenpc "Room of Water#Door"; donpcevent "Room of Water::OnDisable"; - monster "job_wiz",114,169,"Marine Sphere",1142,1,"Room of Water#DK::OnMyMobDead"; - monster "job_wiz",112,169,"Hydra",1068,1,"Room of Water#DK::OnMyMobDead"; - monster "job_wiz",116,169,"Hydra",1068,1,"Room of Water#DK::OnMyMobDead"; - monster "job_wiz",114,171,"Hydra",1068,1,"Room of Water#DK::OnMyMobDead"; - monster "job_wiz",114,167,"Hydra",1068,1,"Room of Water#DK::OnMyMobDead"; + 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; -OnReset: - killmonster "job_wiz","Room of Water#DK::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Room of Water#DK"; + killmonsterall "job_wiz"; + disablenpc "Room of Water#Door"; end; OnMyMobDead: - if (mobcount ("job_wiz","Room of Water#DK::OnMyMobDead") < 1) { - mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map; + 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#DK::OnReset"; - donpcevent "Room of Water#DK::OnDisable"; + donpcevent "Room of Water#Door::OnDisable"; donpcevent "Room of Earth::OnEnable"; stopnpctimer; } @@ -1475,11 +1478,11 @@ OnTimer50000: OnTimer60000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Water#DK::OnReset"; + donpcevent "Room of Water#Door::OnDisable"; end; OnTimer61000: - donpcevent "Room of Water#Failed::OnEnable"; + enablenpc "Room of Water#Failed"; end; OnTimer62000: @@ -1487,50 +1490,43 @@ OnTimer62000: end; OnTimer63000: - donpcevent "Room of Water#Failed::OnDisable"; - donpcevent "Room of Water#DK::OnDisable"; - donpcevent "Waiting Room::OnEnable"; + 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 139,16,16,{ - -OnTouch: - mapannounce "job_wiz","" + strcharinfo(0) + " has not succeeded.",bc_map; - warp "geffen",120,110; - end; - +job_wiz,114,169,0 script Room of Water#Failed -1,16,16,{ OnInit: - hideonnpc "Room of Water#Failed"; - end; - -OnEnable: - hideoffnpc "Room of Water#Failed"; + disablenpc "Room of Water#Failed"; end; -OnDisable: - hideonnpc "Room of Water#Failed"; +OnTouch: + mapannounce "job_wiz",strcharinfo(0)+" has not succeeded.",bc_map; + warp "geffen",120,110; end; } -job_wiz,1,3,1 script Room of Earth 66,1,1,{ - end; - +// Earth Room (Test 2 part 2) +//========================================================== +job_wiz,1,3,1 script Room of Earth 66,{ OnInit: - hideonnpc "Room of Earth"; + disablenpc "Room of Earth"; end; OnEnable: - hideoffnpc "Room of Earth"; - percentheal 100,100; - 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"; - if (!checkre(0)){ + enablenpc "Room of Earth"; + if (!checkre(0)) { + set .MyMobs,10; monster "job_wiz",120,102,"Hode",1127,1,"Room of Earth::OnMyMobDead"; monster "job_wiz",111,93,"Savage",1166,1,"Room of Earth::OnMyMobDead"; monster "job_wiz",127,86,"Mantis",1139,1,"Room of Earth::OnMyMobDead"; } + else + 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"; @@ -1538,18 +1534,16 @@ OnEnable: initnpctimer; end; -OnReset: - killmonster "job_wiz","Room of Earth::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Room of Earth"; + killmonsterall "job_wiz"; + disablenpc "Room of Earth"; end; OnMyMobDead: - if (mobcount ("job_wiz","Room of Earth::OnMyMobDead") < 1) { - mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map; - donpcevent "Room of Earth#DK::OnEnable"; + 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; @@ -1592,11 +1586,11 @@ OnTimer173000: OnTimer183000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Earth::OnReset"; + donpcevent "Room of Earth::OnDisable"; end; OnTimer184000: - donpcevent "Room of Earth#Failed::OnEnable"; + enablenpc "Room of Earth#Failed"; end; OnTimer185000: @@ -1604,50 +1598,47 @@ OnTimer185000: end; OnTimer186000: - donpcevent "Room of Earth#Failed::OnDisable"; + disablenpc "Room of Earth#Failed"; donpcevent "Room of Earth::OnDisable"; - donpcevent "Waiting Room::OnEnable"; + donpcevent "Waiting Room#wiz::OnStart"; end; } -job_wiz,1,4,1 script Room of Earth#DK 66,{ - end; - +job_wiz,1,4,1 script Room of Earth#Door 66,{ OnInit: - hideonnpc "Room of Earth#DK"; + disablenpc "Room of Earth#Door"; end; OnEnable: - hideoffnpc "Room of Earth#DK"; - donpcevent "Room of Earth::OnReset"; + enablenpc "Room of Earth#Door"; donpcevent "Room of Earth::OnDisable"; - if (!checkre(0)){ - monster "job_wiz",116,97,"Flora",1118,1,"Room of Earth#DK::OnMyMobDead"; + if (!checkre(0)) { + set .MyMobs,7; + monster "job_wiz",116,97,"Flora",1118,1,"Room of Earth#Door::OnMyMobDead"; } - monster "job_wiz",114,95,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; - monster "job_wiz",118,95,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; - monster "job_wiz",114,99,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; - monster "job_wiz",118,99,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; - monster "job_wiz",116,94,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; - monster "job_wiz",116,100,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead"; + else + 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; -OnReset: - killmonster "job_wiz","Room of Earth#DK::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Room of Earth#DK"; + killmonsterall "job_wiz"; + disablenpc "Room of Earth#Door"; end; OnMyMobDead: - if (mobcount ("job_wiz","Room of Earth#DK::OnMyMobDead") < 1) { - mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monster.",bc_map; + 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#DK::OnReset"; - donpcevent "Room of Earth#DK::OnDisable"; + donpcevent "Room of Earth#Door::OnDisable"; donpcevent "Room of Fire::OnEnable"; stopnpctimer; } @@ -1667,7 +1658,7 @@ OnTimer50000: OnTimer60000: mapannounce "job_wiz","End time.",bc_map; - donpcevent "Room of Earth#DK::OnReset"; + donpcevent "Room of Earth#Door::OnDisable"; end; OnTimer61000: @@ -1679,67 +1670,58 @@ OnTimer62000: end; OnTimer63000: - donpcevent "Room of Earth#Failed::OnDisable"; - donpcevent "Room of Earth#DK::OnDisable"; - donpcevent "Waiting Room::OnEnable"; + 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 139,16,16,{ - -OnTouch: - mapannounce "job_wiz","" + strcharinfo(0) + " has not succeeded.",bc_map; - warp "geffen",120,110; - end; - +job_wiz,116,97,0 script Room of Earth#Failed -1,16,16,{ OnInit: - hideonnpc "Room of Earth#Failed"; + disablenpc "Room of Earth#Failed"; end; -OnEnable: - hideoffnpc "Room of Earth#Failed"; - end; - -OnDisable: - hideonnpc "Room of Earth#Failed"; +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,{ - end; - OnInit: - hideonnpc "Room of Fire"; + disablenpc "Room of Fire"; end; OnEnable: - hideoffnpc "Room of Fire"; - percentheal 100,100; - if (!checkre(0)){ + enablenpc "Room of Fire"; + if (!checkre(0)) { + set .MyMobs,8; monster "job_wiz",58,110,"Zerom",1178,1,"Room of Fire::OnMyMobDead"; monster "job_wiz",54,89,"Desert Wolf",1106,1,"Room of Fire::OnMyMobDead"; } + else + 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,"Peco Peco",1019,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; -OnReset: - killmonster "job_wiz","Room of Fire::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Room of Fire"; + killmonsterall "job_wiz"; + disablenpc "Room of Fire"; end; OnMyMobDead: - if (mobcount ("job_wiz","Room of Fire::OnMyMobDead") < 1) { - mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map; - donpcevent "Room of Fire#Door Keeper::OnEnable"; + 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; @@ -1782,7 +1764,7 @@ OnTimer173000: OnTimer183000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Fire::OnReset"; + donpcevent "Room of Fire::OnDisable"; end; OnTimer184000: @@ -1794,47 +1776,46 @@ OnTimer185000: end; OnTimer186000: - donpcevent "Room of Fire#Failed::OnDisable"; + disablenpc "Room of Fire#Failed"; donpcevent "Room of Fire::OnDisable"; - donpcevent "Waiting Room::OnEnable"; + donpcevent "Waiting Room#wiz::OnStart"; end; } -job_wiz,1,6,1 script Room of Fire#Door Keeper 66,{ - end; - +job_wiz,1,6,1 script Room of Fire#Door 66,{ OnInit: - hideonnpc "Room of Fire#Door Keeper"; + disablenpc "Room of Fire#Door"; end; OnEnable: - hideoffnpc "Room of Fire#Door Keeper"; - donpcevent "Room of Fire::OnReset"; + enablenpc "Room of Fire#Door"; donpcevent "Room of Fire::OnDisable"; - if (checkre(0)){ - monster "job_wiz",44,99,"Greatest General",1277,1,"Room of Fire#Door Keeper::OnMyMobDead"; + set .MyMobs,3; + monster "job_wiz",44,99,"Greatest General",1277,1,"Room of Fire#Door::OnMyMobDead"; + if (checkre(0)) { + 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"; + } + else { + monster "job_wiz",43,99,"Horong",1129,1,"Room of Fire#Door::OnMyMobDead"; + monster "job_wiz",45,99,"Horong",1129,1,"Room of Fire#Door::OnMyMobDead"; } - monster "job_wiz",43,99,"Horong",1129,1,"Room of Fire#Door Keeper::OnMyMobDead"; - monster "job_wiz",45,99,"Horong",1129,1,"Room of Fire#Door Keeper::OnMyMobDead"; initnpctimer; end; -OnReset: - killmonster "job_wiz","Room of Fire#Door Keeper::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Room of Fire#Door Keeper"; + killmonsterall "job_wiz"; + disablenpc "Room of Fire#Door"; end; OnMyMobDead: - if (mobcount ("job_wiz","Room of Fire#Door Keeper::OnMyMobDead") < 1) { + 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 Keeper::OnReset"; - donpcevent "Room of Fire#Door Keeper::OnDisable"; - donpcevent "Test Helper::OnEnable"; + donpcevent "Room of Fire#Door::OnDisable"; + donpcevent "Test Helper#wiz::OnEnable"; stopnpctimer; } end; @@ -1861,11 +1842,11 @@ OnTimer110000: OnTimer120000: mapannounce "job_wiz","Time is up.",bc_map; - donpcevent "Room of Fire#Door Keeper::OnReset"; + donpcevent "Room of Fire#Door::OnDisable"; end; OnTimer121000: - donpcevent "Room of Fire#Failed::OnEnable"; + enablenpc "Room of Fire#Failed"; end; OnTimer122000: @@ -1873,57 +1854,26 @@ OnTimer122000: end; OnTimer123000: - donpcevent "Room of Fire#Failed::OnDisable"; - donpcevent "Room of Fire#Door Keeper::OnDisable"; - donpcevent "Waiting Room::OnEnable"; - end; + 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 139,16,16,{ - end; - +job_wiz,46,99,0 script Room of Fire#Failed -1,16,16,{ OnInit: - hideonnpc "Room of Fire#Failed"; + disablenpc "Room of Fire#Failed"; end; OnTouch: warp "geffen",120,110; end; - -OnEnable: - hideoffnpc "Room of Fire#Failed"; - end; - -OnDisable: - hideonnpc "Room of Fire#Failed"; - end; -} - -job_wiz,46,99,0 script Succeed 139,16,16,{ - end; - -OnInit: - hideonnpc "Succeed"; - end; - -OnTouch: - warp "gef_tower",110,30; - end; - -OnEnable: - hideoffnpc "Succeed"; - end; - -OnDisable: - hideonnpc "Succeed"; - end; } -job_wiz,1,7,1 script Test Helper 66,1,1,{ +job_wiz,1,7,1 script Test Helper#wiz 66,{ end; OnInit: - hideonnpc "Test Helper"; + disablenpc "Test Helper#wiz"; end; OnEnable: @@ -1931,7 +1881,7 @@ OnEnable: end; OnDisable: - hideonnpc "Test Helper"; + disablenpc "Test Helper#wiz"; end; OnTimer2000: @@ -1943,11 +1893,7 @@ OnTimer4000: end; OnTimer5000: - donpcevent "Succeed::OnEnable"; - end; - -OnTimer6000: - donpcevent "Succeed::OnDisable"; + areawarp "job_wiz",33,82,57,113,"gef_tower",110,30; end; OnTimer7000: @@ -1955,8 +1901,8 @@ OnTimer7000: end; OnTimer9000: - donpcevent "Test Helper::OnDisable"; - donpcevent "Waiting Room::OnEnable"; + donpcevent "Test Helper#wiz::OnDisable"; + donpcevent "Waiting Room#wiz::OnStart"; stopnpctimer; end; } diff --git a/npc/jobs/2-2/alchemist.txt b/npc/jobs/2-2/alchemist.txt index 1503ce948..58cb14cc8 100644 --- a/npc/jobs/2-2/alchemist.txt +++ b/npc/jobs/2-2/alchemist.txt @@ -2364,8 +2364,9 @@ alde_alche,145,19,1 script Chief Researcher 57,{ if (select("partisan:partizan:pato:paros:pack") == 2) { set @alch_q, @alch_q + 10; } + next; } - else if (.@alche_puz == 2) { + if (.@alche_puz == 2) { mes "m p d i c f a r o g n k w a s"; next; set @alch_q, 0; @@ -2387,6 +2388,7 @@ alde_alche,145,19,1 script Chief Researcher 57,{ if (select("forgemerchant:potionmerchant:dcmerchant:vendingmerchant:battlemerchant") == 2) { set @alch_q, @alch_q + 10; } + next; } else { mes "s m i e x b w u n e t a g l r"; @@ -2410,6 +2412,7 @@ alde_alche,145,19,1 script Chief Researcher 57,{ if (select("forgemerchant:potionmerchant:dcmerchant:vendingmerchant:battlemerchant") == 2) { set @alch_q, @alch_q + 10; } + next; } mes "[Nicholas Flamel]"; mes "Ah, you finished."; diff --git a/npc/jobs/2-2/crusader.txt b/npc/jobs/2-2/crusader.txt index 880ab7889..62035ff7f 100644 --- a/npc/jobs/2-2/crusader.txt +++ b/npc/jobs/2-2/crusader.txt @@ -1447,7 +1447,7 @@ OnTimer301000: end; OnInit: - hideoffnpc "Summoner#1"; + enablenpc "Summoner#1"; monster "job_cru",94,45,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; monster "job_cru",94,55,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; monster "job_cru",94,65,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; @@ -1464,7 +1464,7 @@ OnInit: end; OnEnable: - hideoffnpc "Summoner#1"; + enablenpc "Summoner#1"; monster "job_cru",94,45,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; monster "job_cru",94,55,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; monster "job_cru",94,65,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; @@ -1485,7 +1485,7 @@ OnReset: end; OnDisable: - hideonnpc "Summoner#1"; + disablenpc "Summoner#1"; end; OnMyMobDead: @@ -1510,7 +1510,7 @@ OnTimer346000: end; OnInit: - hideoffnpc "Summoner#2"; + enablenpc "Summoner#2"; monster "job_cru",98,50,"Flora",1118,1,"Summoner#2::OnMyMobDead"; monster "job_cru",92,60,"Flora",1118,1,"Summoner#2::OnMyMobDead"; monster "job_cru",104,60,"Flora",1118,1,"Summoner#2::OnMyMobDead"; @@ -1522,7 +1522,7 @@ OnInit: end; OnEnable: - hideoffnpc "Summoner#2"; + enablenpc "Summoner#2"; monster "job_cru",98,50,"Flora",1118,1,"Summoner#2::OnMyMobDead"; monster "job_cru",92,60,"Flora",1118,1,"Summoner#2::OnMyMobDead"; monster "job_cru",104,60,"Flora",1118,1,"Summoner#2::OnMyMobDead"; @@ -1538,7 +1538,7 @@ OnReset: end; OnDisable: - hideonnpc "Summoner#2"; + disablenpc "Summoner#2"; end; OnMyMobDead: @@ -1563,7 +1563,7 @@ OnTimer346000: end; OnInit: - hideoffnpc "Summoner#3"; + enablenpc "Summoner#3"; monster "job_cru",92,50,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; monster "job_cru",104,50,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; monster "job_cru",98,60,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; @@ -1576,7 +1576,7 @@ OnInit: end; OnEnable: - hideoffnpc "Summoner#3"; + enablenpc "Summoner#3"; monster "job_cru",90,50,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; monster "job_cru",105,50,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; monster "job_cru",98,60,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; @@ -1593,7 +1593,7 @@ OnReset: end; OnDisable: - hideonnpc "Summoner#3"; + disablenpc "Summoner#3"; end; OnMyMobDead: @@ -1618,7 +1618,7 @@ OnTimer186000: end; OnInit: - hideoffnpc "Summoner#4"; + enablenpc "Summoner#4"; monster "job_cru",98,50,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; monster "job_cru",98,55,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; monster "job_cru",98,60,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; @@ -1634,7 +1634,7 @@ OnInit: end; OnEnable: - hideoffnpc "Summoner#4"; + enablenpc "Summoner#4"; monster "job_cru",98,50,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; monster "job_cru",98,55,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; monster "job_cru",98,60,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; @@ -1654,7 +1654,7 @@ OnReset: end; OnDisable: - hideonnpc "Summoner#4"; + disablenpc "Summoner#4"; end; OnMyMobDead: @@ -1663,6 +1663,7 @@ OnMyMobDead: } job_cru,98,105,0 script Summoner#5 45,4,3,{ + end; OnTouch: set CRUS_Q,6; @@ -1691,7 +1692,7 @@ job_cru,24,187,2 script Waiting Room#1 700,{ end; OnInit: - hideonnpc "Waiting Room#1"; + disablenpc "Waiting Room#1"; waitingroom "Waiting Room",20,"Waiting Room#1::OnStartArena",1; enablewaitingroomevent; end; @@ -1708,6 +1709,7 @@ OnEnable: } job_cru,168,17,0 script Zombie Guide 139,2,2,{ + end; OnTouch: mes "[Bliant Piyord]"; @@ -1728,11 +1730,11 @@ job_cru,2,1,1 script Monster Summon#0 110,1,1,{ end; OnInit: - hideonnpc "Monster Summon#0"; + disablenpc "Monster Summon#0"; end; OnEnable: - hideoffnpc "Monster Summon#0"; + enablenpc "Monster Summon#0"; donpcevent "Monster Summon#1::OnEnable"; donpcevent "Monster Summon#2::OnEnable"; donpcevent "Monster Summon#3::OnEnable"; @@ -1767,7 +1769,7 @@ OnMyMobDead: end; OnDisable: - hideonnpc "Monster Summon#0"; + disablenpc "Monster Summon#0"; end; OnReset: @@ -1776,6 +1778,7 @@ OnReset: } job_cru,168,45,0 script Monster Summon#1 139,15,1,{ + end; OnTouch: donpcevent "Monster Summon#0::OnM1"; @@ -1783,19 +1786,20 @@ OnTouch: end; OnInit: - hideonnpc "Monster Summon#1"; + disablenpc "Monster Summon#1"; end; OnEnable: - hideoffnpc "Monster Summon#1"; + enablenpc "Monster Summon#1"; end; OnDisable: - hideonnpc "Monster Summon#1"; + disablenpc "Monster Summon#1"; end; } job_cru,168,80,0 script Monster Summon#2 139,15,1,{ + end; OnTouch: donpcevent "Monster Summon#0::OnM2"; @@ -1803,19 +1807,20 @@ OnTouch: end; OnInit: - hideonnpc "Monster Summon#2"; + disablenpc "Monster Summon#2"; end; OnEnable: - hideoffnpc "Monster Summon#2"; + enablenpc "Monster Summon#2"; end; OnDisable: - hideonnpc "Monster Summon#2"; + disablenpc "Monster Summon#2"; end; } job_cru,168,115,0 script Monster Summon#3 139,15,1,{ + end; OnTouch: monster "job_cru",168,110,"Archer Skeleton",1016,1; @@ -1824,19 +1829,20 @@ OnTouch: end; OnInit: - hideonnpc "Monster Summon#3"; + disablenpc "Monster Summon#3"; end; OnEnable: - hideoffnpc "Monster Summon#3"; + enablenpc "Monster Summon#3"; end; OnDisable: - hideonnpc "Monster Summon#3"; + disablenpc "Monster Summon#3"; end; } job_cru,168,150,0 script Monster Summon#4 139,15,1,{ + end; OnTouch: monster "job_cru",168,150,"Ghoul",1036,1; @@ -1844,7 +1850,7 @@ OnTouch: end; OnInit: - hideonnpc "Monster Summon#4"; + disablenpc "Monster Summon#4"; end; OnMyMobDead: @@ -1852,7 +1858,7 @@ OnMyMobDead: end; OnEnable: - hideoffnpc "Monster Summon#4"; + enablenpc "Monster Summon#4"; end; OnReset: @@ -1860,11 +1866,12 @@ OnReset: end; OnDisable: - hideonnpc "Monster Summon#4"; + disablenpc "Monster Summon#4"; end; } job_cru,168,180,0 script Monster Summon#5 45,4,3,{ + end; OnTouch: warp "prt_castle",35,147; @@ -1877,15 +1884,15 @@ OnTouch: end; OnInit: - hideonnpc "Monster Summon#5"; + disablenpc "Monster Summon#5"; end; OnEnable: - hideoffnpc "Monster Summon#5"; + enablenpc "Monster Summon#5"; end; OnDisable: - hideonnpc "Monster Summon#5"; + disablenpc "Monster Summon#5"; end; } @@ -1922,16 +1929,16 @@ OnTimer243000: end; OnInit: - hideonnpc "Monster Summon#6"; + disablenpc "Monster Summon#6"; end; OnEnable: - hideoffnpc "Monster Summon#6"; + enablenpc "Monster Summon#6"; initnpctimer; end; OnDisable: - hideonnpc "Monster Summon#6"; + disablenpc "Monster Summon#6"; end; OnStop: @@ -1940,39 +1947,41 @@ OnStop: } job_cru,168,110,0 script Monster Summon#7 139,14,82,{ + end; OnTouch: warp "prontera",234,318; end; OnInit: - hideonnpc "Monster Summon#7"; + disablenpc "Monster Summon#7"; end; OnEnable: - hideoffnpc "Monster Summon#7"; + enablenpc "Monster Summon#7"; end; OnDisable: - hideonnpc "Monster Summon#7"; + disablenpc "Monster Summon#7"; end; } job_cru,168,17,0 script Monster Summon#8 139,14,5,{ + end; OnTouch: warp "prontera",234,318; end; OnInit: - hideonnpc "Monster Summon#8"; + disablenpc "Monster Summon#8"; end; OnEnable: - hideoffnpc "Monster Summon#8"; + enablenpc "Monster Summon#8"; end; OnDisable: - hideonnpc "Monster Summon#8"; + disablenpc "Monster Summon#8"; end; } \ No newline at end of file diff --git a/npc/jobs/2-2/dancer.txt b/npc/jobs/2-2/dancer.txt index f64fbe00f..7c9076a6b 100644 --- a/npc/jobs/2-2/dancer.txt +++ b/npc/jobs/2-2/dancer.txt @@ -1303,6 +1303,7 @@ OnTimer89000: } job_duncer,69,110,0 script dance#return 139,1,4,{ + end; OnTouch: mapannounce "job_duncer","Good! Well done! Go back to Bijou!",bc_map; @@ -1312,18 +1313,19 @@ OnTouch: end; OnDisable: - hideonnpc "dance#return"; + disablenpc "dance#return"; donpcevent "dance#return#2::OnDisable"; donpcevent "dance#return#3::OnDisable"; end; OnEnable: - hideoffnpc "dance#return"; + enablenpc "dance#return"; donpcevent "dance#return#2::OnEnable"; end; } job_duncer,66,110,0 script dance#return#2 139,1,1,{ + end; OnTouch: set DANC_Q,9; @@ -1332,16 +1334,17 @@ OnTouch: end; OnDisable: - hideonnpc "dance#return#2"; + disablenpc "dance#return#2"; end; OnEnable: - hideoffnpc "dance#return#2"; + enablenpc "dance#return#2"; donpcevent "dance#return#3::OnEnable"; end; } job_duncer,72,110,0 script dance#return#3 139,1,1,{ + end; OnTouch: set DANC_Q,9; @@ -1350,16 +1353,17 @@ OnTouch: end; OnDisable: - hideonnpc "dance#return#3"; + disablenpc "dance#return#3"; end; OnEnable: - hideoffnpc "dance#return#3"; + enablenpc "dance#return#3"; donpcevent "Waiting Room#dance::OnReset"; end; } job_duncer,69,113,0 script dance#up 139,1,1,{ + end; OnTouch: donpcevent "Backdancer#1::OnHuk"; @@ -1370,15 +1374,16 @@ OnTouch: end; OnDisable: - hideonnpc "dance#up"; + disablenpc "dance#up"; end; OnEnable: - hideoffnpc "dance#up"; + enablenpc "dance#up"; end; } job_duncer,69,107,0 script dance#down 139,1,1,{ + end; OnTouch: donpcevent "Backdancer#1::OnHuk"; @@ -1389,15 +1394,16 @@ OnTouch: end; OnDisable: - hideonnpc "dance#down"; + disablenpc "dance#down"; end; OnEnable: - hideoffnpc "dance#down"; + enablenpc "dance#down"; end; } job_duncer,66,110,0 script dance#left 139,1,1,{ + end; OnTouch: donpcevent "Backdancer#1::OnHuk"; @@ -1408,15 +1414,16 @@ OnTouch: end; OnDisable: - hideonnpc "dance#left"; + disablenpc "dance#left"; end; OnEnable: - hideoffnpc "dance#left"; + enablenpc "dance#left"; end; } job_duncer,72,110,0 script dance#right 139,1,1,{ + end; OnTouch: donpcevent "Backdancer#1::OnHuk"; @@ -1427,15 +1434,16 @@ OnTouch: end; OnDisable: - hideonnpc "dance#right"; + disablenpc "dance#right"; end; OnEnable: - hideoffnpc "dance#right"; + enablenpc "dance#right"; end; } job_duncer,69,110,0 script dance#cen 139,1,1,{ + end; OnTouch: donpcevent "Backdancer#1::OnHuk"; @@ -1446,11 +1454,11 @@ OnTouch: end; OnDisable: - hideonnpc "dance#cen"; + disablenpc "dance#cen"; end; OnEnable: - hideoffnpc "dance#cen"; + enablenpc "dance#cen"; end; } diff --git a/npc/jobs/2-2/monk.txt b/npc/jobs/2-2/monk.txt index 08a7c9af8..321599f0c 100644 --- a/npc/jobs/2-2/monk.txt +++ b/npc/jobs/2-2/monk.txt @@ -3188,6 +3188,7 @@ monk_test,82,85,1 script Proctor 95,{ } monk_test,144,277,0 script mob_monk#1_1 139,1,1,{ + end; OnTouch: monster "monk_test",144,277,"Zombie",1015,1; @@ -3202,6 +3203,7 @@ OnReset: } monk_test,134,291,0 script mob_monk#1_2 139,1,1,{ + end; OnTouch: monster "monk_test",134,291,"Zombie",1015,1; @@ -3216,6 +3218,7 @@ OnReset: } monk_test,157,284,0 script mob_monk#1_3 139,1,1,{ + end; OnTouch: monster "monk_test",157,284,"Mummy",1041,1; @@ -3227,6 +3230,7 @@ OnReset: } monk_test,156,261,0 script mob_monk#1_4 139,1,1,{ + end; OnTouch: monster "monk_test",156,261,"Mummy",1041,1; @@ -3238,6 +3242,7 @@ OnReset: } monk_test,149,268,0 script mob_monk#1_5 139,1,1,{ + end; OnTouch: monster "monk_test",149,268,"Zombie",1015,1; @@ -3253,6 +3258,7 @@ OnReset: } monk_test,166,278,0 script exit_monk#1 45,1,1,{ + end; OnTouch: mes "[Proctor]"; @@ -3301,6 +3307,7 @@ monk_test,88,91,1 script Proctor#mk 52,{ } monk_test,140,181,0 script mob_monk#2_1 139,1,1,{ + end; OnTouch: monster "monk_test",140,181,"Zombie",1015,1; @@ -3315,6 +3322,7 @@ OnReset: } monk_test,150,164,0 script mob_monk#2_2 139,1,1,{ + end; OnTouch: monster "monk_test",150,164,"Zombie",1015,1; @@ -3329,6 +3337,7 @@ OnReset: } monk_test,158,192,0 script mob_monk#2_3 139,1,1,{ + end; OnTouch: monster "monk_test",158,192,"Mummy",1041,1; @@ -3340,6 +3349,7 @@ OnReset: } monk_test,165,186,0 script mob_monk#2_4 139,1,1,{ + end; OnTouch: monster "monk_test",165,186,"Mummy",1041,1; @@ -3351,6 +3361,7 @@ OnReset: } monk_test,162,182,0 script mob_monk#2_5 139,1,1,{ + end; OnTouch: monster "monk_test",162,182,"Zombie",1015,1; @@ -3366,6 +3377,7 @@ OnReset: } monk_test,166,178,0 script exit_monk#2 45,1,1,{ + end; OnTouch: mes "[Proctor]"; @@ -3414,6 +3426,7 @@ monk_test,95,85,1 script Proctor#btl#3 79,{ } monk_test,249,277,0 script mob_monk#3_1 139,1,1,{ + end; OnTouch: monster "monk_test",249,277,"Zombie",1015,1; @@ -3428,6 +3441,7 @@ OnReset: } monk_test,231,296,0 script mob_monk#3_2 139,1,1,{ + end; OnTouch: monster "monk_test",231,296,"Zombie",1015,1; @@ -3442,6 +3456,7 @@ OnReset: } monk_test,264,292,0 script mob_monk#3_3 139,1,1,{ + end; OnTouch: monster "monk_test",264,292,"Mummy",1041,1; @@ -3453,6 +3468,7 @@ OnReset: } monk_test,252,284,0 script mob_monk#3_4 139,1,1,{ + end; OnTouch: monster "monk_test",252,284,"Mummy",1041,1; @@ -3464,6 +3480,7 @@ OnReset: } monk_test,257,285,0 script mob_monk#3_5 139,1,1,{ + end; OnTouch: monster "monk_test",257,285,"Zombie",1015,1; @@ -3480,6 +3497,7 @@ OnReset: } monk_test,270,278,0 script exit_monk#3 45,1,1,{ + end; OnTouch: mes "[Proctor]"; diff --git a/npc/jobs/2-2/rogue.txt b/npc/jobs/2-2/rogue.txt index 5310fbb9c..eef267cb9 100644 --- a/npc/jobs/2-2/rogue.txt +++ b/npc/jobs/2-2/rogue.txt @@ -1122,6 +1122,7 @@ in_rogue,376,23,1 script Mr. Smith 57,{ } cmd_fild09,106,195,0 script Warp#1 45,1,1,{ + end; OnTouch: if (ROGUE_Q < 8){ @@ -1217,6 +1218,7 @@ OnTouch: } cmd_fild09,335,143,0 script Warp#2 45,1,1,{ + end; OnTouch: if (ROGUE_Q < 8){ @@ -1312,6 +1314,7 @@ OnTouch: } cmd_fild04,304,180,0 script Warp#3 45,1,1,{ + end; OnTouch: if (ROGUE_Q < 8){ @@ -1459,6 +1462,7 @@ in_rogue,272,135,1 script Hermanthorn Jr 85,{ } in_rogue,270,130,0 script he_to_rogue 45,1,1,{ + end; OnTouch: if (ROGUE_Q == 12) { @@ -1502,6 +1506,7 @@ OnTouch: } in_rogue,200,389,0 script gen_ro#1 139,3,3,{ + end; OnTouch: if (Class == Job_Baby_Thief || Class == Job_Thief) { @@ -1521,6 +1526,7 @@ OnDisable: } in_rogue,100,389,0 script gen_ro#2 139,3,3,{ + end; OnTouch: if (Class == Job_Baby_Thief || Class == Job_Thief) { @@ -1537,6 +1543,7 @@ OnDisable: } in_rogue,150,389,0 script gen_ro#3 139,3,3,{ + end; OnTouch: if (Class == Job_Baby_Thief || Class == Job_Thief) { @@ -1554,6 +1561,7 @@ OnDisable: } in_rogue,250,389,0 script gen_ro#4 139,3,3,{ + end; OnTouch: if (Class == Job_Baby_Thief || Class == Job_Thief) { @@ -1570,6 +1578,7 @@ OnDisable: } in_rogue,9,389,0 script oneway_to_gu 45,1,1,{ + end; OnTouch: donpcevent "gen_ro#4::OnDisable"; @@ -1838,6 +1847,7 @@ in_rogue,177,109,1 script Antonio Junior 88,{ in_rogue,161,103,0 warp out#1 1,1,cmd_fild04,302,177 in_rogue,370,320,0 script quest_out 45,1,1,{ + end; OnTouch: set ROGUE_Q,16; @@ -1847,6 +1857,7 @@ OnTouch: } in_rogue,15,184,0 script mob_rogue#1 139,8,1,{ + end; OnTouch: if (Class == Job_Baby_Thief || Class == Job_Thief) { @@ -1867,6 +1878,7 @@ OnReset: } in_rogue,15,273,0 script mob_rogue#2 139,8,1,{ + end; OnTouch: if (Class == Job_Baby_Thief || Class == Job_Thief) { @@ -1884,6 +1896,7 @@ OnReset: } in_rogue,15,333,0 script mob_rogue#3 139,8,1,{ + end; OnTouch: if (Class == Job_Baby_Thief || Class == Job_Thief) { @@ -1905,6 +1918,7 @@ OnReset: } in_rogue,39,341,0 script mob_rogue#4 139,1,8,{ + end; OnTouch: if (Class == Job_Baby_Thief || Class == Job_Thief) { @@ -1923,6 +1937,7 @@ OnReset: } in_rogue,102,334,0 script mob_rogue#5 139,1,4,{ + end; OnTouch: if (Class == Job_Baby_Thief || Class == Job_Thief) { @@ -1941,6 +1956,7 @@ OnReset: } in_rogue,58,309,0 script mob_rogue#6 139,4,1,{ + end; OnTouch: if (Class == Job_Baby_Thief || Class == Job_Thief) { @@ -1959,6 +1975,7 @@ OnReset: } in_rogue,101,264,0 script mob_rogue#7 139,5,5,{ + end; OnTouch: if (Class == Job_Baby_Thief || Class == Job_Thief) { @@ -1975,6 +1992,7 @@ OnReset: } in_rogue,140,312,0 script mob_rogue#8 139,5,5,{ + end; OnTouch: if (Class == Job_Baby_Thief || Class == Job_Thief) { @@ -1990,6 +2008,7 @@ OnReset: } in_rogue,139,246,0 script mob_rogue#9 139,4,4,{ + end; OnTouch: if (Class == Job_Baby_Thief || Class == Job_Thief) { @@ -2010,6 +2029,7 @@ OnReset: } in_rogue,197,249,0 script mob_rogue#10 139,1,8,{ + end; OnTouch: if (Class == Job_Baby_Thief || Class == Job_Thief) { @@ -2043,6 +2063,7 @@ OnReset: } in_rogue,96,205,0 script mob_rogue#11 139,1,8,{ + end; OnTouch: if (Class == Job_Baby_Thief || Class == Job_Thief) { @@ -2057,6 +2078,7 @@ OnTouch: } in_rogue,86,187,0 script mob_rogue#12 139,1,8,{ + end; OnTouch: if (Class == Job_Baby_Thief || Class == Job_Thief) { @@ -2073,6 +2095,7 @@ OnReset: } in_rogue,223,187,0 script mob_rogue#13 139,1,8,{ + end; OnTouch: if (Class == Job_Baby_Thief || Class == Job_Thief) { @@ -2091,6 +2114,7 @@ OnReset: } in_rogue,233,207,0 script mob_rogue#14 139,8,3,{ + end; OnTouch: if (Class == Job_Baby_Thief || Class == Job_Thief) { @@ -2102,6 +2126,7 @@ OnTouch: } in_rogue,244,319,0 script mob_rogue#15 139,1,8,{ + end; OnTouch: if (Class == Job_Baby_Thief || Class == Job_Thief) { @@ -2122,6 +2147,7 @@ OnReset: } in_rogue,334,319,0 script mob_rogue#16 139,8,8,{ + end; OnTouch: if (Class == Job_Baby_Thief || Class == Job_Thief) { diff --git a/npc/jobs/2-2/sage.txt b/npc/jobs/2-2/sage.txt index 71718fed2..a8f2848d1 100644 --- a/npc/jobs/2-2/sage.txt +++ b/npc/jobs/2-2/sage.txt @@ -959,6 +959,7 @@ yuno_in03,105,177,5 script Written Test Professor 754,{ if (select("Odin:Loki:Thor:Venadin") == 1) { set @sage_t,@sage_t + 5; } + next; } if (.@sage_m2 == 2) { mes "1. Choose the jewel that the Morroc Jewel Merchant does not sell."; @@ -1061,6 +1062,7 @@ yuno_in03,105,177,5 script Written Test Professor 754,{ if (select("Yggdrasil:Iggdrassil:Mastella:Dead Branch") == 1) { set @sage_t,@sage_t + 5; } + next; } else { mes "1. Choose the item that the Magical Tool merchant in Geffen does not sell."; @@ -1163,6 +1165,7 @@ yuno_in03,105,177,5 script Written Test Professor 754,{ if (select("Empelium Gold:Emperium:Emperor:Phracon") == 2) { set @sage_t,@sage_t + 5; } + next; } mes "[Claytos Verdo]"; mes "Well, you answered all 20 of the questions."; @@ -1318,6 +1321,7 @@ yuno_in03,105,177,5 script Written Test Professor 754,{ if (select("Odin:Loki:Thor:Venadin") == 1) { set @sage_t,@sage_t + 5; } + next; } if (.@sage_m2 == 2) { mes "1. Choose the jewel that the Morroc Jewel Merchant does not sell."; @@ -1420,6 +1424,7 @@ yuno_in03,105,177,5 script Written Test Professor 754,{ if (select("Yggdrasil:Iggdrassil:Mastella:Dead Branch") == 1) { set @sage_t,@sage_t + 5; } + next; } else { mes "1. Choose the item that the Magical Tool merchant in Geffen does not sell."; @@ -1522,6 +1527,7 @@ yuno_in03,105,177,5 script Written Test Professor 754,{ if (select("Empelium Gold:Emperium:Emperor:Phracon") == 2) { set @sage_t,@sage_t + 5; } + next; } mes "[Claytos Verdo]"; mes "Well, we finished all 20 questions."; @@ -3482,7 +3488,7 @@ job_sage,50,165,2 script Waiting Room#sg 700,{ end; OnInit: - hideonnpc "Waiting Room#sg"; + disablenpc "Waiting Room#sg"; waitingroom "Waiting Room",20,"Waiting Room#sg::OnStartArena",1; enablewaitingroomevent; end; @@ -3502,11 +3508,11 @@ job_sage,1,2,1 script Arena#1 66,{ end; OnInit: - hideonnpc "Arena#1"; + disablenpc "Arena#1"; end; OnEnable: - hideoffnpc "Arena#1"; + enablenpc "Arena#1"; 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"; @@ -3531,7 +3537,7 @@ OnReset: end; OnDisable: - hideonnpc "Arena#1"; + disablenpc "Arena#1"; end; OnMyMobDead: @@ -3602,11 +3608,11 @@ job_sage,1,3,1 script Arena#2 66,{ end; OnInit: - hideonnpc "Arena#2"; + disablenpc "Arena#2"; end; OnEnable: - hideoffnpc "Arena#2"; + enablenpc "Arena#2"; donpcevent "Arena#1::OnReset"; donpcevent "Arena#1::OnDisable"; monster "job_sage",111,102,"Numerical Value",1063,1,"Arena#2::OnMyMobDead"; @@ -3641,7 +3647,7 @@ OnReset: end; OnDisable: - hideonnpc "Arena#2"; + disablenpc "Arena#2"; end; OnMyMobDead: @@ -3709,11 +3715,11 @@ job_sage,1,4,1 script Arena#Doorkeeper 66,{ end; OnInit: - hideonnpc "Arena#Doorkeeper"; + disablenpc "Arena#Doorkeeper"; end; OnEnable: - hideoffnpc "Arena#Doorkeeper"; + enablenpc "Arena#Doorkeeper"; donpcevent "Arena#2::OnReset"; donpcevent "Arena#2::OnDisable"; monster "job_sage",116,97,"Academic Probation",1179,1,"Arena#Doorkeeper::OnMyMobDead"; @@ -3727,7 +3733,7 @@ OnReset: OnDisable: donpcevent "Arena#3::OnDisable"; - hideonnpc "Arena#Doorkeeper"; + disablenpc "Arena#Doorkeeper"; end; OnMyMobDead: @@ -3781,15 +3787,15 @@ OnTouch: end; OnInit: - hideonnpc "Arena#Fail"; + disablenpc "Arena#Fail"; end; OnEnable: - hideoffnpc "Arena#Fail"; + enablenpc "Arena#Fail"; end; OnDisable: - hideonnpc "Arena#Fail"; + disablenpc "Arena#Fail"; end; } @@ -3797,7 +3803,7 @@ job_sage,1,4,1 script Arena#3 66,{ end; OnInit: - hideonnpc "Arena#3"; + disablenpc "Arena#3"; end; OnEnable: @@ -3812,7 +3818,7 @@ OnReset: end; OnDisable: - hideonnpc "Arena#3"; + disablenpc "Arena#3"; end; } @@ -3823,15 +3829,15 @@ OnTouch: end; OnInit: - hideonnpc "SageSucceeded"; + disablenpc "SageSucceeded"; end; OnEnable: - hideoffnpc "SageSucceeded"; + enablenpc "SageSucceeded"; end; OnDisable: - hideonnpc "SageSucceeded"; + disablenpc "SageSucceeded"; end; } @@ -3839,7 +3845,7 @@ job_sage,1,6,1 script Test Helper#sg 66,{ end; OnInit: - hideonnpc "Test Helper#sg"; + disablenpc "Test Helper#sg"; end; OnEnable: @@ -3847,7 +3853,7 @@ OnEnable: end; OnDisable: - hideonnpc "Test Helper#sg"; + disablenpc "Test Helper#sg"; end; OnTimer2000: diff --git a/npc/jobs/valkyrie.txt b/npc/jobs/valkyrie.txt index 0569d9c80..6d7b1e42f 100644 --- a/npc/jobs/valkyrie.txt +++ b/npc/jobs/valkyrie.txt @@ -53,7 +53,7 @@ valkyrie,48,86,4 script Valkyrie# 811,{ mes "Honor to the warriors!"; close; } - if ((Baselevel > 98) && (JobLevel > 49) && (Class >= Job_Knight) && (Class <= Job_Crusader2)) { + if ((Baselevel > 98) && (JobLevel > 49) && ((Class >= Job_Knight) && (Class <= Job_Crusader2))) { mes "[Valkyrie]"; mes "Welcome"; mes "to Valhalla,"; @@ -206,7 +206,7 @@ valkyrie,48,86,4 script Valkyrie# 811,{ } yuno_in02,88,164,5 script Metheus Sylphe#Library 742,{ - if ((Baselevel > 98) && (JobLevel > 49) && (Class >= Job_Knight) && (Class <= Job_Crusader2)) { + 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."; @@ -271,7 +271,7 @@ yuno_in02,93,207,1 script Book of Ymir 111,{ warp "valkyrie",48,8; end; } - if ((Baselevel > 98) && (JobLevel > 49) && (Class >= Job_Knight) && (Class <= Job_Crusader2)) { + 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"; @@ -339,7 +339,7 @@ yuno_in02,93,207,1 script Book of Ymir 111,{ } yuno_in05,49,43,1 script Heart of Ymir 111,{ - if ((Baselevel > 98) && (JobLevel > 49) && (Class >= Job_Knight) && (Class <= Job_Crusader2)) { + if ((Baselevel > 98) && (JobLevel > 49) && ((Class >= Job_Knight) && (Class <= Job_Crusader2))) { if (valkyrie_Q == 2) warp "valkyrie",48,8; } end; diff --git a/npc/pre-re/jobs/1-1/acolyte.txt b/npc/pre-re/jobs/1-1/acolyte.txt index 20c1f50f3..dd499ca91 100644 --- a/npc/pre-re/jobs/1-1/acolyte.txt +++ b/npc/pre-re/jobs/1-1/acolyte.txt @@ -15,7 +15,7 @@ //============================================================ 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) && (ADVJOB == Job_High_Priest || ADVJOB == Job_Champion)) { if (Class == Job_Novice_High) { mes "[Father Mareusis]"; mes "Ah, I sense you have endured"; diff --git a/npc/pre-re/jobs/1-1/swordman.txt b/npc/pre-re/jobs/1-1/swordman.txt index 15521250d..d4f04e965 100644 --- a/npc/pre-re/jobs/1-1/swordman.txt +++ b/npc/pre-re/jobs/1-1/swordman.txt @@ -85,7 +85,7 @@ izlude_in,74,172,4 script Swordman 119,{ if (Class == Job_Baby || Class == Job_Novice) { 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 ^4d4dffJOB Level 10^000000."; + mes "I'm sorry to tell you this but to be a Swordman, you must reach at least ^4d4dffJob Level 10^000000."; mes "and ^4d4dffBasic Skill Level 9^000000."; next; mes "[Swordman Guildsman]"; diff --git a/npc/re/jobs/1-1/acolyte.txt b/npc/re/jobs/1-1/acolyte.txt index 20c1f50f3..dd499ca91 100644 --- a/npc/re/jobs/1-1/acolyte.txt +++ b/npc/re/jobs/1-1/acolyte.txt @@ -15,7 +15,7 @@ //============================================================ 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) && (ADVJOB == Job_High_Priest || ADVJOB == Job_Champion)) { if (Class == Job_Novice_High) { mes "[Father Mareusis]"; mes "Ah, I sense you have endured"; diff --git a/npc/re/jobs/1-1/swordman.txt b/npc/re/jobs/1-1/swordman.txt index 15521250d..d4f04e965 100644 --- a/npc/re/jobs/1-1/swordman.txt +++ b/npc/re/jobs/1-1/swordman.txt @@ -85,7 +85,7 @@ izlude_in,74,172,4 script Swordman 119,{ if (Class == Job_Baby || Class == Job_Novice) { 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 ^4d4dffJOB Level 10^000000."; + mes "I'm sorry to tell you this but to be a Swordman, you must reach at least ^4d4dffJob Level 10^000000."; mes "and ^4d4dffBasic Skill Level 9^000000."; next; mes "[Swordman Guildsman]"; -- cgit v1.2.3-70-g09d2 From ba0a75439b5373c038f5712f57d46cd2f7de794d Mon Sep 17 00:00:00 2001 From: euphyy Date: Fri, 10 Aug 2012 18:45:05 +0000 Subject: * Raw revert of all job files back to r16578, prior to the rewrite in r16579. The updates will be re-applied after more testing is done. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16621 54d463be-8e91-2dee-dedb-b68131a5f0ec --- npc/jobs/2-1/assassin.txt | 2489 ++++++++++--------------- npc/jobs/2-1/blacksmith.txt | 1564 ++++++---------- npc/jobs/2-1/hunter.txt | 3765 ++++++++++++-------------------------- npc/jobs/2-1/knight.txt | 2375 +++++++----------------- npc/jobs/2-1/priest.txt | 830 ++++----- npc/jobs/2-1/wizard.txt | 833 ++++----- npc/jobs/2-1a/AssassinCross.txt | 4 +- npc/jobs/2-1a/HighPriest.txt | 4 +- npc/jobs/2-1a/HighWizard.txt | 6 +- npc/jobs/2-1a/LordKnight.txt | 4 +- npc/jobs/2-1a/Sniper.txt | 4 +- npc/jobs/2-1a/WhiteSmith.txt | 4 +- npc/jobs/2-2/alchemist.txt | 1562 ++++++---------- npc/jobs/2-2/bard.txt | 1276 ++++--------- npc/jobs/2-2/crusader.txt | 1872 +++++++------------ npc/jobs/2-2/dancer.txt | 1027 +++++------ npc/jobs/2-2/monk.txt | 2426 ++++++++---------------- npc/jobs/2-2/rogue.txt | 1718 ++++++++--------- npc/jobs/2-2/sage.txt | 3362 ++++++++++++---------------------- npc/jobs/2-2a/Champion.txt | 4 +- npc/jobs/2-2a/Clown.txt | 4 +- npc/jobs/2-2a/Creator.txt | 103 +- npc/jobs/2-2a/Gypsy.txt | 4 +- npc/jobs/2-2a/Paladin.txt | 4 +- npc/jobs/2-2a/Professor.txt | 5 +- npc/jobs/2-2a/Stalker.txt | 4 +- npc/jobs/valkyrie.txt | 264 +-- npc/pre-re/jobs/1-1/acolyte.txt | 568 +++--- npc/pre-re/jobs/1-1/archer.txt | 245 ++- npc/pre-re/jobs/1-1/mage.txt | 624 ++++++- npc/pre-re/jobs/1-1/merchant.txt | 1216 ++++++++++-- npc/pre-re/jobs/1-1/swordman.txt | 673 ++++++- npc/pre-re/jobs/1-1/thief.txt | 587 ++++-- npc/re/jobs/1-1/acolyte.txt | 454 ++--- npc/re/jobs/1-1/archer.txt | 106 +- npc/re/jobs/1-1/mage.txt | 271 +-- npc/re/jobs/1-1/merchant.txt | 171 +- npc/re/jobs/1-1/swordman.txt | 129 +- npc/re/jobs/1-1/thief.txt | 385 ++-- 39 files changed, 12498 insertions(+), 18448 deletions(-) (limited to 'npc/re/jobs/1-1/swordman.txt') diff --git a/npc/jobs/2-1/assassin.txt b/npc/jobs/2-1/assassin.txt index c18d1d819..7f8febe58 100644 --- a/npc/jobs/2-1/assassin.txt +++ b/npc/jobs/2-1/assassin.txt @@ -1,20 +1,56 @@ //===== rAthena Script ======================================= -// Assassin Job change Quest +//= Assassin Job Quest //===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= kobra_k88 //===== Current Version: ===================================== -//= 1.0 +//= 3.5 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Thief -> Assassin. +//= [Aegis Conversion] +//= Job Change quest for Assassin class. //===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] +//= 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 55,{ +in_moc_16,19,33,1 script Guildsman#asn 55,{ if (Upper == 1) { mes "[Ferocious-looking guy]"; mes "Hm? You....?"; @@ -24,7 +60,7 @@ in_moc_16,19,33,1 script Guildsman 55,{ 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 != 0) { + 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; @@ -60,22 +96,11 @@ in_moc_16,19,33,1 script Guildsman 55,{ set ASSIN_Q,0; set ASSIN_Q2,0; set ASSIN_Q3,0; - if(checkquest(8000)){ - erasequest 8000; - } else if(checkquest(8001)){ - erasequest 8001; - } else if(checkquest(8002)){ - erasequest 8002; - } else if(checkquest(8003)){ - erasequest 8003; - } else if(checkquest(8004)){ - erasequest 8004; - } savepoint "in_moc_16",18,14; warp "in_moc_16",18,14; end; } - if ((Class == Job_Baby_Thief || Class == Job_Thief) && (countitem(1008) == 0) && (ASSIN_Q > 7)) { + 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; @@ -86,7 +111,7 @@ in_moc_16,19,33,1 script Guildsman 55,{ mes "When you finally succeed in getting it, bring it to me! ^666666*Sigh...*^000000"; close; } - if ((Class == Job_Baby_Thief || Class == Job_Thief) && (countitem(1008) > 0) && (ASSIN_Q > 7)) { + 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; @@ -101,22 +126,19 @@ in_moc_16,19,33,1 script Guildsman 55,{ mes "......"; next; delitem 1008,1; //Frozen_Heart + changequest 8007,8008; mes "[Assassin Expert 'Huey']"; mes "Alright!"; mes "You've been approved!"; next; - if(Class == Job_Baby_Thief){ - jobchange Job_Baby_Assassin; - } else { - jobchange Job_Assassin; - } - changequest 8007,8008; 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; } - if ((countitem(1008) > 0) && (Class == Job_Baby_Thief || Class == Job_Thief) && (ASSIN_Q < 7)) { + else if (countitem(1008) > 0 && BaseJob == Job_Thief && ASSIN_Q < 7) { mes "[Ferocious-looking guy]"; mes "Eh?"; mes "What do you want?"; @@ -141,128 +163,138 @@ in_moc_16,19,33,1 script Guildsman 55,{ warp "moc_fild16",206,229; end; } - 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 (Class == Job_Baby || Class == 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; - } - if (Class == Job_Swordman || Class == Job_Knight || Class == Job_Crusader) { - 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; - } - if (Class == Job_Mage || Class == Job_Wizard || Class == Job_Sage) { - 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; - } - if (Class == Job_Archer || Class == Job_Hunter || Class == Job_Bard || Class == Job_Dancer) { - 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; - } - if (Class == Job_Acolyte || Class == Job_Priest || Class == Job_Monk) { - 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; - } - if (Class == Job_Merchant || Class == Job_Blacksmith || Class == Job_Alchemist) { - mes "[Ferocious-looking guy]"; - mes "We don't like greedy people around these parts. You better sell your stuff somewhere else, Moneybags."; - close; - } - if (Class == 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; + else { 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; - } - if (Class == Job_Baby_Assassin || Class == 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'?"; + mes "What brings you here?"; + mes "I don't think I like the way you're looking at me... Punk."; 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; - } - if ((Classe == Job_Baby_Thief || Class == Job_Thief) && (JobLevel > 39)) { - if (SkillPoint != 0) { + if (BaseClass == Job_Novice) { 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."; + mes "Hey Newbie. You should really get out of here as soon as you can. I can't guarantee your safety."; close; } - 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: + else if (BaseClass == Job_Swordman) { 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; - warp "in_moc_16",19,76; - end; - case 2: + 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 "Requirements? Well, first you need to be a Thief. Second, you need to be at least Thief job level 40."; + mes "Now what would a magic user be doing here?"; 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."; + 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; - case 3: + } + 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 "Hmm..."; - mes "Alright then."; - mes "But come back when"; - mes "you think you're ready."; + 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; } } - 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; + 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."; @@ -270,7 +302,7 @@ in_moc_16,25,90,1 script Guildsman#ASN2 730,2,2,{ close; OnTouch: - if (ASSIN_Q3 == 4) { + if (ASSIN_Q2 == 4) { mes "[Assassin 'Khai']"; mes "Ehhh?"; mes "Didn't you just"; @@ -296,7 +328,7 @@ OnTouch: 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!")) { + 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!!!"; @@ -350,15 +382,14 @@ OnTouch: close; case 2: mes "[Assassin 'Khai']"; - if (Sex == 1) { + 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 { + 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..."; @@ -380,7 +411,6 @@ OnTouch: mes "seem depressing to you?"; close; case 3: - set .@assassin_quiz,rand(1,3); mes "[Assassin 'Khai']"; mes "...Hm."; next; @@ -395,12 +425,12 @@ OnTouch: mes "Along with keeping your pride,"; mes "I want that you respect the blood that may stain your Katar or Dagger."; next; - switch (select("...Got you.:...I'm confused.")) { - case 1: + 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; - if (.@assassin_quiz == 1) { + 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; @@ -416,8 +446,8 @@ OnTouch: 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; - } - if (.@assassin_quiz == 2) { + break; + case 2: mes "[Assassin 'Khai']"; mes "'Sharpened Legbone of Ghoul' possesses the Undead property."; next; @@ -440,8 +470,8 @@ OnTouch: mes "[Assassin 'Khai']"; mes "You know elemental weapons? The names of Blacksmiths are engraved on them usually..."; next; - } - else { + 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; @@ -478,113 +508,104 @@ OnTouch: close2; warp "in_moc_16",19,144; end; - case 2: - 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; } - } - } - mes "[Assassin 'Khai']"; - mes "Oh, you must be an Assassin trainee. You are here to become"; - mes "an Assassin, aren't you?"; - next; - switch (select("Yes, I am. :...No, I'm not.")) { - case 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~"; + 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 "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."; + mes "Oh, I get it. It wasn't pride you were showing, you were just being a jerk!"; next; mes "[Assassin 'Khai']"; - mes "Alright then,"; - mes "best of luck to you!"; + mes "Grrrrr..."; + mes "WARP PORTAL!"; close2; - set ASSIN_Q2,1; - set ASSIN_Q,1; - setquest 8001; - warp "in_moc_16",19,144; + warp "c_tower4",64,76; end; } - if (JobLevel < 49) { + } + 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 "Well, you passed"; - mes "the requirements."; - mes "Not bad at all."; + mes "Okay, good. Let's fill out the application form. Please sign your name and include your job level."; next; mes "[Assassin 'Khai']"; - mes "Go ahead and give"; - mes "me the form when you're"; - mes "done filling it out."; - mes "Alright, thanks."; + mes "Let's see."; + mes "Your name is"; + mes "" + strcharinfo(0) + "..."; + mes "Job level " + JobLevel + "..."; next; - mes "[Assassin 'Khai']"; - mes "I'll transport you"; - mes "to the Test Hall."; - mes "Best of luck~"; - close2; - set ASSIN_Q2,2; - set ASSIN_Q,1; - setquest 8001; - warp "in_moc_16",19,144; - end; + 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; + } } - mes "[Assassin 'Khai']"; - mes "Who the"; - mes "hell are you?"; - mes "...Guards!"; - close2; - warp "moc_fild16",206,229; - end; - case 2: - mes "[Assassin 'Khai']"; - mes "Huh...?"; - mes "What, are you trying to trick me or something? Don't you wanna be an Assassin?"; - next; - switch (select("No.:Yes, I want to be an Assassin.")) { - case 1: + else { mes "[Assassin 'Khai']"; - mes "Eh, get outta here."; - mes "Stop wastin' my time..."; - close2; - set ASSIN_Q,0; - set ASSIN_Q2,0; - set ASSIN_Q3,0; - if(checkquest(8000)){ - erasequest 8000; - } else if(checkquest(8001)){ + 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; - } else if(checkquest(8002)){ - erasequest 8002; - } else if(checkquest(8003)){ - erasequest 8003; - } else if(checkquest(8004)){ - erasequest 8004; + warp "moc_fild16",206,229; + end; } - warp "moc_fild16",206,229; - end; - case 2: mes "[Assassin 'Khai']"; mes "..."; mes "What the hell?"; @@ -606,13 +627,13 @@ OnTouch: 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_Q2,1; + set ASSIN_Q3,1; set ASSIN_Q,1; - setquest 8001; + changequest 8001,8002; warp "in_moc_16",19,144; end; } - if (JobLevel < 49) { + 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; @@ -620,724 +641,501 @@ OnTouch: mes "Then give me the form so that I can send you to the Test Hall, alright?"; mes "Good luck..."; next; - set ASSIN_Q2,2; + set ASSIN_Q3,2; set ASSIN_Q,1; - setquest 8001; + changequest 8001,8002; warp "in_moc_16",19,144; end; } - mes "[Assassin 'Khai']"; - mes "How the hell did"; - mes "you get in here?"; - mes "Get out!"; - close2; - warp "moc_fild16",206,229; - 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 139,8,2,{ - +in_moc_16,19,154,0 script nameless_one -1,8,2,{ OnTouch: - if (ASSIN_Q3 < 1) { - 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) { + if (ASSIN_Q2 < 5) { + if (ASSIN_Q2 < 3) { mes "[The Anonymous One]"; - mes "Now I see that"; - mes "you're nothing"; - mes "but a wimp."; + mes "Welcome, guest."; + mes "Mwahaha, it's useless"; + mes "to try to find or see me..."; 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; - } - while(ASSIN_Q3 < 3) { - switch (select("...Skills?:...Stats?:Hmpf, I know it all.")) { - case 1: + mes "I am perfectly hidden!"; + mes "To become undetectable can only be done by the greatest Assassins!"; + next; mes "[The Anonymous One]"; - mes "Skills...?"; - mes "Although skills can have circumstantial applications, I will tell you about the basic concepts."; + 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 "First, ^3355FFKatar Mastery^000000. This skill increases the damage of Katar class weapons. The higher the skill level, the more damage is increased."; + mes "So..."; + mes "You wish for"; + mes "a challenge?"; + mes "From me?!"; 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."; + 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 "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."; + 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 "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."; + 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 "^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."; + 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 "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."; + 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 "^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."; + 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 "Since it's a ranged attack, it can be very useful when you're surrounded by enemies."; + 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 "Because you're required to perfectly hide yourself to use this skill, you must first learn Level 2 Cloaking before you can learn Grimtooth."; + 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 "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."; + 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 "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."; + 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 "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..."; + 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 "^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."; + 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 "^3355FFVenom Dust^000000 consumes a Red Gemstone to contaminate an area with poison. The duration of contamination increases with the level of this skill."; + 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 "You can learn the Venom Dust skill after you learn Level 5 Enchant Poison."; + 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 "^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."; + 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 "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."; + 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 "Now..."; - mes "That's all I have to tell you"; - mes "about Assassin skills."; - set ASSIN_Q3,1; + mes "7. Choose the condition that is unrelated to Venom Splasher."; next; - break; - case 2: + if (select("Poisoned target.:Red Gemstone.:Remaing HP of Target.") == 2) + set .@assassin_t,.@assassin_t+10; mes "[The Anonymous One]"; - mes "Hmm, Stats..."; - mes "For Assassins, Agility, or AGI, is the most important stat."; + 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 "For the sake of assassination, STR is probably the second most important stat. But that is only my recommendation."; + 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 "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_Q3,2; + 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 3: - if (ASSIN_Q3 == 0) { - mes "[The Anonymous One]"; - mes "Know everything do you?!"; - mes "I'll be the judge of that!"; - set ASSIN_Q3,3; - changequest 8001,8002; - next; - } else { - set ASSIN_Q3,3; - changequest 8001,8002; - next; - } - break; - } - } - if(ASSIN_Q == 3){ - 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; - set .@assassin_quiz,rand(1,3); - set @assassin_t, 0; - mes "[The Anonymous One]"; - mes "Are you ready?"; - mes "Prepare yourself!"; - next; - if (.@assassin_quiz == 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; - next; - } - } - if (.@assassin_quiz == 2) { + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - next; - } - } else { + 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; - } + 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; - } + 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; - } + 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:Morroc") == 4) { - set @assassin_t,@assassin_t + 10; - } + 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; - } + 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; + 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; - } + 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; - } + 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")) { + switch(select("Orange Gooey Mushroom:Red Gooey Mushroom:Orange Net Mushroom:Orange Hair Mushroom")) { case 1: - set @assassin_t,@assassin_t + 10; - case 2: - break; case 3: - set @assassin_t,@assassin_t + 10; - case 4: + 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; - 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_Q3,5; - 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; - } - set ASSIN_Q3,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; - } - if (ASSIN_Q3 < 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,241; - end; + if (select("Whisper card:Elder Willow card:Soldier Skeleton card:Cobold card") == 2) + set .@assassin_t,.@assassin_t+10; + break; } - 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; - set @assassin_quiz,rand(1,3); - set @assassin_t,0; - mes "[The Anonymous One]"; - mes "Okay,"; - mes "are you ready?"; - mes "Good luck."; - next; - if (.@assassin_quiz == 1) { - mes "[The Anonymous One]"; - mes "1. Choose the skill that is not required to learn Grimtooth."; - next; - if (select("Level 2 Cloaking:Level 5 Sonic Blow:Level 4 Katar Mastery:Level 2 Right hand Mastery") == 4) { - set @assassin_t,@assassin_t + 10; - } - mes "[The Anonymous One]"; - mes "2. What property does Enchant Poison possess?"; + if (ASSIN_Q2 == 3) { 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?"; + mes "Hmpf."; + mes "Somehow, you"; + mes "have shown me"; + mes "great effort."; next; - if (select("Recover 80% of damage decrement:Recover 90% of damage decrement: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 become invisible while moving?"; - next; - if (select("Hiding:Back Slide:Cloaking:Sand Attack") == 3) { - set @assassin_t,@assassin_t + 10; - } - mes "[The Anonymous One]"; - mes "7. From the following, choose the thing unrelated to using Venom Splasher."; - next; - if (select("Poisoned target.:Red Gemstone.:Remaining 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 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 use?"; - next; - if (select("15:It's a passive skill and doesn't use SP.:It's a passive skill, so it uses 10 SP.:54") == 2) { - set @assassin_t,@assassin_t + 10; - } - mes "[The Anonymous One]"; - mes "10. What is the best elemental Main Gauche to use when 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; + 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; } - } - if (.@assassin_quiz == 2) { - mes "[The Anonymous One]"; - mes "1. Which monster drops"; - mes "a slotted Katar?"; - next; - if (select("Thief Bug:Peco Peco:Desert Wolf:Hammer Cobold") == 3) { - set @assassin_t,@assassin_t + 10; - } - mes "[The Anonymous One]"; - mes "2. Which monster"; - mes "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 a weapon which is not 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 possess?"; - 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."; - 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; + 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 { - mes "[The Anonymous One]"; - mes "1. When the 'Increase Dodge' skill is at Level 10, by how much is the maximum dodge rate increased?"; + else if (ASSIN_Q2 == 4) { next; - if (select("30:40:160:20") == 1) { - set @assassin_t,@assassin_t + 10; - } mes "[The Anonymous One]"; - mes "2. Choose the monster which detects hiding/cloaking Thief/Assassin."; + mes "You showed"; + mes "great effort..."; next; - if (select("Worm Tail:Andre:Mummy:Soldier Skeleton") == 2) { - set @assassin_t,@assassin_t + 10; - } - mes "[The Anonymous One]"; - mes "3. Choose the group of weapons that cannot be used by an Assassin at the same time."; - 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 the Thief job change resides."; - next; - if (select("Prontera:Lutie:Alberta:Morroc") == 4) { - set @assassin_t,@assassin_t + 10; - } mes "[The Anonymous One]"; - mes "5. Choose the 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 specialty that applies to Assassins."; - next; - select("Excellent singing talent:Excellent acting talent:Excellent dancing talent:Excellent dodge ability"); - set @assassin_t,@assassin_t + 10; - mes "[The Anonymous One]"; - mes "7. Choose the maximum AGI bonus that 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"; - mes "job change item"; - mes "for a Thief."; - next; - switch (select("Orange Gooey Mushroom:Red Gooey Mushroom:Orange Net Mushroom:Orange Hair Mushroom")) { - case 1: - set @assassin_t,@assassin_t + 10; - case 2: - break; - case 3: - set @assassin_t,@assassin_t + 10; - case 4: + 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; } - mes "[The Anonymous One]"; - mes "10. Choose a card that would benefit Assassins the least."; - next; - if (select("Whisper card:Elder Willow card:Soldier Skeleton card:Cobold card") == 2) { - set @assassin_t,@assassin_t + 10; + 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 "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_Q3,5; - 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; - } - set ASSIN_Q3,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; + mes "...I will keep watching you."; + close; } - mes "[The Anonymous One]"; - mes "...I will keep watching you."; - close; } in_moc_16,21,165,2 script Standby Room#ASNTEST 725,{ end; OnInit: - hideonnpc "Standby Room#ASNTEST"; + disablenpc "Standby Room#ASNTEST"; waitingroom "Standby Room",10,"Standby Room#ASNTEST::OnStartArena",1; enablewaitingroomevent; end; OnStartArena: - warpwaitingpc "in_moc_16",66,151; + warpwaitingpc "in_moc_16", 66, 151; attachrid($@warpwaitingpc[0]); - if(ASSIN_Q3 < 5) { + if(ASSIN_Q2<5) + { warpchar "in_moc_16",20,145,getcharid(0); end; } + donpcevent "Beholder#ASNTEST::OnEnable"; - donpcevent "Beholder#ASNTEST2::OnEnable"; donpcevent "Keeper of the Door#ASN::OnDisable"; - donpcevent "backers#ASN::OnDisable"; - donpcevent "traps#ASN::OnEnable"; - disablewaitingroomevent + set getvariableofnpc(.DisableTraps,"Beholder#ASNTEST"),0; + disablewaitingroomevent; end; -OnReset: +OnStart: enablewaitingroomevent; end; } in_moc_16,21,165,2 script Test Guide#ASN 725,4,4,{ + end; OnTouch: - if (ASSIN_Q3 < 5) { + 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_Q3 == 5)) { + if (ASSIN_Q == 1 && ASSIN_Q2 == 5) { mes "[Barcardi]"; mes "" + strcharinfo(0) + "..."; mes "You passed the test..?"; @@ -1370,90 +1168,124 @@ OnTouch: 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."; - changequest 8002,8003; close; } - 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) { + else { 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 "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; } - mes "[Barcardi]"; - mes "Alright..."; - mes "I guess you"; - mes "could use a break..."; - set ASSIN_Q,0; - set ASSIN_Q2,0; - set ASSIN_Q3,0; - erasequest 8000; - erasequest 8001; - erasequest 8002; - erasequest 8003; - erasequest 8004; - close2; - warp "in_moc_16",19,13; - end; } -in_moc_16,1,1,0 script Beholder#ASNTEST 139,{ - end; - -OnInit: - disablenpc "Beholder#ASNTEST"; +in_moc_16,1,1,0 script Beholder#ASNTEST -1,{ end; OnEnable: - enablenpc "Beholder#ASNTEST"; + 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"; - donpcevent "Standby Room#ASNTEST::OnReset"; + 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: - if (mobcount ("in_moc_16","Beholder#ASNTEST::OnMyMobDead") < 1) { + 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"; - donpcevent "Beholder#ASNTEST2::OnReset"; + set .DisableTraps,1; stopnpctimer; - donpcevent "Beholder#ASNTEST::OnDisable"; - donpcevent "Beholder#ASNTEST2::OnDisable"; } else { mapannounce "in_moc_16","Okay, you're doing good! Hang in there, you're almost there!",bc_map; } end; -OnDisable: - disablenpc "Beholder#ASNTEST"; +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: @@ -1496,415 +1328,138 @@ 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; - end; - -OnTimer185500: - 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: - donpcevent "backers#ASN::OnEnable"; - end; - -OnTimer186500: - donpcevent "backers#ASN::OnDisable"; - end; - -OnTimer187000: - donpcevent "Beholder#ASNTEST::OnReset"; - donpcevent "Beholder#ASNTEST2::OnReset"; - donpcevent "Beholder#ASNTEST::OnDisable"; - donpcevent "Beholder#ASNTEST2::OnDisable"; - end; -} - -in_moc_16,76,158,0 script backers#ASN 139,20,20,{ - -OnTouch: - warp "in_moc_16",19,161; - end; - -OnInit: - disablenpc "backers#ASN"; - end; - -OnEnable: - donpcevent "job_asn_test::OnDisable"; - enablenpc "backers#ASN"; - end; - -OnDisable: - disablenpc "backers#ASN"; - end; -} - -in_moc_16,1,1,0 script traps#ASN 139,{ - end; - -OnEnable: - donpcevent "job_asn_test::OnEnable"; - end; -} - -in_moc_16,2,1,0 script Beholder#ASNTEST2 139,{ - end; - -OnInit: - disablenpc "Beholder#ASNTEST2"; +OnTimer183000: + mapannounce "in_moc_16","2 seconds left...",bc_map; end; -OnReset: - killmonster "in_moc_16","Beholder#ASNTEST2::OnMyMobDead"; +OnTimer184000: + mapannounce "in_moc_16","1 second left.",bc_map; end; -OnDisable: - disablenpc "Beholder#ASNTEST2"; +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; -OnEnable: - enablenpc "Beholder#ASNTEST2"; - monster "in_moc_16",62,161,"Job change creature",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",85,169,"Job change creature",1031,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",79,174,"Job change creature",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",85,156,"Job change creature",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",74,171,"Job change monster",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",68,173,"Job change dummy",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",65,158,"Battle test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",60,158,"Warrior test target",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",64,169,"Job change targets",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",71,173,"Jobs change target",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",77,172,"Please don't hit me",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",76,172,"Job change sample",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",75,172,"Not me",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",67,167,"I got yours right here",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",86,170,"Job changes target",1031,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",86,171,"Job quest target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",86,170,"Job target change",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",86,173,"Hit me",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",85,170,"Battle Monster",1031,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",89,156,"Bouncer",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",89,156,"Mungamorp",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",89,156,"Battle test target",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",89,156,"Dew of the Battle field",1113,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",89,156,"Tear of test",1031,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",83,169,"Evil Druid",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",63,158,"Doppelganger",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",63,157,"Job change dummy",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",64,159,"Job ready dummy",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",63,159,"Job change ready",1063,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",63,159,"Archer test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",63,159,"Swordman test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",83,148,"Thief test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",82,148,"Acolyte test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; - monster "in_moc_16",84,148,"Merchant test target",1002,1,"Beholder#ASNTEST2::OnMyMobDead"; +OnTimer186000: + areawarp "in_moc_16",60,136,93,177,"in_moc_16",19,161; end; -OnMyMobDead: - 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; +OnTimer187000: donpcevent "Beholder#ASNTEST::OnReset"; - donpcevent "Beholder#ASNTEST2::OnReset"; - donpcevent "Beholder#ASNTEST::OnDisable"; - donpcevent "Beholder#ASNTEST2::OnDisable"; end; } -- script job_asn_test::jasntdups -1,{ - +in_moc_16,68,158,0 script 01_1::SinTrap -1,0,0,{ OnTouch: - 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::OnReset"; - donpcevent "Beholder#ASNTEST2::OnReset"; - donpcevent "Beholder#ASNTEST::OnDisable"; - donpcevent "Beholder#ASNTEST2::OnDisable"; - end; - -OnEnable: - enablenpc "01_1"; - enablenpc "01_2"; - enablenpc "01_3"; - enablenpc "01_4"; - enablenpc "02_1"; - enablenpc "02_2"; - enablenpc "02_3"; - enablenpc "02_4"; - enablenpc "03_1"; - enablenpc "03_2"; - enablenpc "03_3"; - enablenpc "03_4"; - enablenpc "04_1"; - enablenpc "04_2"; - enablenpc "04_3"; - enablenpc "04_4"; - enablenpc "05_1"; - enablenpc "05_2"; - enablenpc "05_3"; - enablenpc "05_4"; - enablenpc "06_1"; - enablenpc "06_2"; - enablenpc "06_3"; - enablenpc "06_4"; - enablenpc "07_1"; - enablenpc "07_2"; - enablenpc "07_3"; - enablenpc "07_4"; - enablenpc "08_1"; - enablenpc "08_2"; - enablenpc "08_3"; - enablenpc "08_4"; - enablenpc "09_1"; - enablenpc "09_2"; - enablenpc "09_3"; - enablenpc "09_4"; - enablenpc "10_1"; - enablenpc "10_2"; - enablenpc "10_3"; - enablenpc "10_4"; - enablenpc "10_5"; - enablenpc "10_6"; - enablenpc "10_7"; - enablenpc "10_8"; - enablenpc "11_1"; - enablenpc "11_2"; - enablenpc "11_3"; - enablenpc "11_4"; - enablenpc "12_1"; - enablenpc "12_2"; - enablenpc "12_3"; - enablenpc "12_4"; - enablenpc "13_1"; - enablenpc "13_2"; - enablenpc "13_3"; - enablenpc "13_4"; - enablenpc "14_1"; - enablenpc "14_2"; - enablenpc "14_3"; - enablenpc "14_4"; - enablenpc "14_5"; - enablenpc "14_6"; - enablenpc "14_7"; - enablenpc "14_8"; - enablenpc "14_9"; - enablenpc "14_10"; - enablenpc "14_11"; - enablenpc "14_12"; - enablenpc "15_1"; - enablenpc "15_2"; - enablenpc "15_3"; - enablenpc "15_4"; - enablenpc "16_1"; - enablenpc "16_2"; - enablenpc "16_3"; - enablenpc "16_4"; - enablenpc "17_1"; - enablenpc "17_2"; - enablenpc "17_3"; - enablenpc "17_4"; - enablenpc "18_1"; - enablenpc "18_2"; - enablenpc "18_3"; - enablenpc "18_4"; - end; - -OnDisable: - disablenpc "01_1"; - disablenpc "01_2"; - disablenpc "01_3"; - disablenpc "01_4"; - disablenpc "02_1"; - disablenpc "02_2"; - disablenpc "02_3"; - disablenpc "02_4"; - disablenpc "03_1"; - disablenpc "03_2"; - disablenpc "03_3"; - disablenpc "03_4"; - disablenpc "04_1"; - disablenpc "04_2"; - disablenpc "04_3"; - disablenpc "04_4"; - disablenpc "05_1"; - disablenpc "05_2"; - disablenpc "05_3"; - disablenpc "05_4"; - disablenpc "06_1"; - disablenpc "06_2"; - disablenpc "06_3"; - disablenpc "06_4"; - disablenpc "07_1"; - disablenpc "07_2"; - disablenpc "07_3"; - disablenpc "07_4"; - disablenpc "08_1"; - disablenpc "08_2"; - disablenpc "08_3"; - disablenpc "08_4"; - disablenpc "09_1"; - disablenpc "09_2"; - disablenpc "09_3"; - disablenpc "09_4"; - disablenpc "10_1"; - disablenpc "10_2"; - disablenpc "10_3"; - disablenpc "10_4"; - disablenpc "10_5"; - disablenpc "10_6"; - disablenpc "10_7"; - disablenpc "10_8"; - disablenpc "11_1"; - disablenpc "11_2"; - disablenpc "11_3"; - disablenpc "11_4"; - disablenpc "12_1"; - disablenpc "12_2"; - disablenpc "12_3"; - disablenpc "12_4"; - disablenpc "13_1"; - disablenpc "13_2"; - disablenpc "13_3"; - disablenpc "13_4"; - disablenpc "14_1"; - disablenpc "14_2"; - disablenpc "14_3"; - disablenpc "14_4"; - disablenpc "14_5"; - disablenpc "14_6"; - disablenpc "14_7"; - disablenpc "14_8"; - disablenpc "14_9"; - disablenpc "14_10"; - disablenpc "14_11"; - disablenpc "14_12"; - disablenpc "15_1"; - disablenpc "15_2"; - disablenpc "15_3"; - disablenpc "15_4"; - disablenpc "16_1"; - disablenpc "16_2"; - disablenpc "16_3"; - disablenpc "16_4"; - disablenpc "17_1"; - disablenpc "17_2"; - disablenpc "17_3"; - disablenpc "17_4"; - disablenpc "18_1"; - disablenpc "18_2"; - disablenpc "18_3"; - disablenpc "18_4"; + 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,68,158,0 duplicate(jasntdups) 01_1 139 -in_moc_16,69,158,0 duplicate(jasntdups) 01_2 139 -in_moc_16,68,159,0 duplicate(jasntdups) 01_3 139 -in_moc_16,69,159,0 duplicate(jasntdups) 01_4 139 -in_moc_16,64,162,0 duplicate(jasntdups) 02_1 139 -in_moc_16,65,162,0 duplicate(jasntdups) 02_2 139 -in_moc_16,64,163,0 duplicate(jasntdups) 02_3 139 -in_moc_16,65,163,0 duplicate(jasntdups) 02_4 139 -in_moc_16,62,168,0 duplicate(jasntdups) 03_1 139 -in_moc_16,63,168,0 duplicate(jasntdups) 03_2 139 -in_moc_16,62,169,0 duplicate(jasntdups) 03_3 139 -in_moc_16,63,169,0 duplicate(jasntdups) 03_4 139 -in_moc_16,66,170,0 duplicate(jasntdups) 04_1 139 -in_moc_16,67,170,0 duplicate(jasntdups) 04_2 139 -in_moc_16,66,171,0 duplicate(jasntdups) 04_3 139 -in_moc_16,67,171,0 duplicate(jasntdups) 04_4 139 -in_moc_16,64,174,0 duplicate(jasntdups) 05_1 139 -in_moc_16,64,175,0 duplicate(jasntdups) 05_2 139 -in_moc_16,65,174,0 duplicate(jasntdups) 05_3 139 -in_moc_16,65,175,0 duplicate(jasntdups) 05_4 139 -in_moc_16,72,174,0 duplicate(jasntdups) 06_1 139 -in_moc_16,72,175,0 duplicate(jasntdups) 06_2 139 -in_moc_16,73,174,0 duplicate(jasntdups) 06_3 139 -in_moc_16,73,175,0 duplicate(jasntdups) 06_4 139 -in_moc_16,72,166,0 duplicate(jasntdups) 07_1 139 -in_moc_16,72,167,0 duplicate(jasntdups) 07_2 139 -in_moc_16,73,166,0 duplicate(jasntdups) 07_3 139 -in_moc_16,73,167,0 duplicate(jasntdups) 07_4 139 -in_moc_16,72,168,0 duplicate(jasntdups) 08_1 139 -in_moc_16,72,169,0 duplicate(jasntdups) 08_2 139 -in_moc_16,73,168,0 duplicate(jasntdups) 08_3 139 -in_moc_16,73,169,0 duplicate(jasntdups) 08_4 139 -in_moc_16,78,168,0 duplicate(jasntdups) 09_1 139 -in_moc_16,78,169,0 duplicate(jasntdups) 09_2 139 -in_moc_16,79,168,0 duplicate(jasntdups) 09_3 139 -in_moc_16,79,169,0 duplicate(jasntdups) 09_4 139 -in_moc_16,80,172,0 duplicate(jasntdups) 10_1 139 -in_moc_16,81,172,0 duplicate(jasntdups) 10_2 139 -in_moc_16,82,172,0 duplicate(jasntdups) 10_3 139 -in_moc_16,83,172,0 duplicate(jasntdups) 10_4 139 -in_moc_16,80,173,0 duplicate(jasntdups) 10_5 139 -in_moc_16,81,173,0 duplicate(jasntdups) 10_6 139 -in_moc_16,82,173,0 duplicate(jasntdups) 10_7 139 -in_moc_16,83,173,0 duplicate(jasntdups) 10_8 139 -in_moc_16,88,174,0 duplicate(jasntdups) 11_1 139 -in_moc_16,88,175,0 duplicate(jasntdups) 11_2 139 -in_moc_16,89,174,0 duplicate(jasntdups) 11_3 139 -in_moc_16,89,175,0 duplicate(jasntdups) 11_4 139 -in_moc_16,86,166,0 duplicate(jasntdups) 12_1 139 -in_moc_16,86,167,0 duplicate(jasntdups) 12_2 139 -in_moc_16,87,166,0 duplicate(jasntdups) 12_3 139 -in_moc_16,87,167,0 duplicate(jasntdups) 12_4 139 -in_moc_16,90,164,0 duplicate(jasntdups) 13_1 139 -in_moc_16,90,165,0 duplicate(jasntdups) 13_2 139 -in_moc_16,91,164,0 duplicate(jasntdups) 13_3 139 -in_moc_16,91,165,0 duplicate(jasntdups) 13_4 139 -in_moc_16,84,160,0 duplicate(jasntdups) 14_1 139 -in_moc_16,85,160,0 duplicate(jasntdups) 14_2 139 -in_moc_16,86,160,0 duplicate(jasntdups) 14_3 139 -in_moc_16,87,160,0 duplicate(jasntdups) 14_4 139 -in_moc_16,88,160,0 duplicate(jasntdups) 14_5 139 -in_moc_16,89,160,0 duplicate(jasntdups) 14_6 139 -in_moc_16,84,161,0 duplicate(jasntdups) 14_7 139 -in_moc_16,85,161,0 duplicate(jasntdups) 14_8 139 -in_moc_16,86,161,0 duplicate(jasntdups) 14_9 139 -in_moc_16,87,161,0 duplicate(jasntdups) 14_10 139 -in_moc_16,88,161,0 duplicate(jasntdups) 14_11 139 -in_moc_16,89,161,0 duplicate(jasntdups) 14_12 139 -in_moc_16,86,154,0 duplicate(jasntdups) 15_1 139 -in_moc_16,86,155,0 duplicate(jasntdups) 15_2 139 -in_moc_16,87,154,0 duplicate(jasntdups) 15_3 139 -in_moc_16,87,155,0 duplicate(jasntdups) 15_4 139 -in_moc_16,84,150,0 duplicate(jasntdups) 16_1 139 -in_moc_16,84,151,0 duplicate(jasntdups) 16_2 139 -in_moc_16,85,150,0 duplicate(jasntdups) 16_3 139 -in_moc_16,85,151,0 duplicate(jasntdups) 16_4 139 -in_moc_16,90,150,0 duplicate(jasntdups) 17_1 139 -in_moc_16,90,151,0 duplicate(jasntdups) 17_2 139 -in_moc_16,91,150,0 duplicate(jasntdups) 17_3 139 -in_moc_16,91,151,0 duplicate(jasntdups) 17_4 139 -in_moc_16,86,146,0 duplicate(jasntdups) 18_1 139 -in_moc_16,86,147,0 duplicate(jasntdups) 18_2 139 -in_moc_16,87,146,0 duplicate(jasntdups) 18_3 139 -in_moc_16,87,147,0 duplicate(jasntdups) 18_4 139 +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::OnReset"; - if (ASSIN_Q == 3) { + donpcevent "Thomas#ASNTEST::OnDisable"; + if (ASSIN_Q == 3) set ASSIN_Q,3; - } - else { + else set ASSIN_Q,4; - } - savepoint "in_moc_16",16,13; warp "in_moc_16",87,102; + savepoint "in_moc_16",16,13; end; OnEnable: @@ -1915,31 +1470,33 @@ OnEnable: OnDisable: disablenpc "Keeper of the Door#ASN"; end; - -OnInit: - disablenpc "Keeper of the Door#ASN"; - end; } -in_moc_16,3,3,0 script timestopper#1 139,{ - end; - +in_moc_16,3,3,0 script timestopper#1 -1,{ OnEnable: initnpctimer; end; OnTimer187000: - donpcevent "Standby Room#ASNTEST::OnReset"; - donpcevent "Thomas#ASNTEST::OnReset"; + 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) { @@ -1951,132 +1508,114 @@ OnTouch: mes "It looks like you're having a tough time. You're either trying too hard, or not trying hard"; mes "enough, kid."; next; - if (select("I'm gonna try it again!:I... I quit!") == 1) { + 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 "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; - donpcevent "Standby Room#ASNTEST::OnReset"; - set ASSIN_Q,0; - set ASSIN_Q2,0; - set ASSIN_Q3,0; - erasequest 8000; - erasequest 8001; - erasequest 8002; - erasequest 8003; - erasequest 8004; - savepoint "in_moc_16",18,14; - warp "in_moc_16",18,14; - } else { - 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; - changequest 8003,8004; } - donpcevent "Thomas#ASNTEST::OnTestmode"; - end; -OnTestmode: - monster "in_moc_16",81,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",82,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",83,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",84,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",85,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",86,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",88,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",89,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",90,77,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",77,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",78,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",79,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",80,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",81,55,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",91,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",92,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",93,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",94,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",95,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",96,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",97,56,"Mummy",1041,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",76,62,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",79,62,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",79,65,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",76,65,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",96,62,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",96,65,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",99,62,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; - monster "in_moc_16",99,65,"Hydra",1068,1,"Thomas#ASNTEST::OnMyMobDead"; - 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; - killmonster "in_moc_16","Thomas#ASNTEST::OnMyMobDead"; + 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; -OnReset: - killmonster "in_moc_16","Thomas#ASNTEST::OnMyMobDead"; +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::OnReset"; + 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; - donpcevent "Standby Room#ASNTEST::OnReset"; warp "in_moc_16",181,183; end; } in_moc_16,182,169,0 script Maze Assistant 45,1,1,{ - OnTouch: - if (ASSIN_Q == 5) { - warp "in_moc_16",181,183; - set ASSIN_Q,6; - } - if (ASSIN_Q == 6) { + if (ASSIN_Q == 5 || ASSIN_Q == 6) { warp "in_moc_16",181,183; - set ASSIN_Q,7; + set ASSIN_Q,ASSIN_Q+1; + changequest 8005,8006; } else { - mapannounce "in_moc_16","" + strcharinfo(0) + " has entered 'Guildmaster's room.'",bc_map; + 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; } - end; } -in_moc_16,167,110,0 script Guildmaster#ASN1 139,3,1,{ - +in_moc_16,167,110,0 script Guildmaster#ASN1 -1,3,1,{ OnTouch: savepoint "in_moc_16",167,110; mes "[Guildmaster]"; @@ -2090,27 +1629,17 @@ OnTouch: mes "I look forward"; mes "to meeting you"; mes "at the end of maze."; - changequest 8005,8006; close; -OnCast: +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: - 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 loose some weight. -"; - close; - } - savepoint "moc_ruins",79,99; - if ((ASSIN_Q == 7) && (Class == Job_Baby_Thief || Class == Job_Thief)) { + savepoint "morocc",100,100; + if (ASSIN_Q == 7 && BaseJob == Job_Thief) { set ASSIN_Q,8; mes "[Guildmaster]"; mes "Welcome."; @@ -2127,7 +1656,7 @@ OnTouch: 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.")) { + switch(select("More power.:An Assassin's pride.:Endless practice.")) { case 1: mes "[Guildmaster]"; mes "More power..."; @@ -2143,7 +1672,7 @@ OnTouch: mes "to be stronger"; mes "than you are now?"; next; - switch (select("Revenge...!:Money~:I want to travel.")) { + switch(select("Revenge...!:Money~:I want to travel.")) { case 1: set ASSIN_Q,8; mes "[Guildmaster]"; @@ -2156,6 +1685,7 @@ OnTouch: mes "[Guildmaster]"; mes "Being an Assassin means"; mes "to abandon the ego."; + next; break; case 2: set ASSIN_Q,9; @@ -2166,6 +1696,7 @@ OnTouch: mes "Being an Assassin means"; mes "to abandon such worldly"; mes "attachments..."; + next; break; case 3: set ASSIN_Q,10; @@ -2177,8 +1708,10 @@ OnTouch: 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..."; @@ -2193,7 +1726,7 @@ OnTouch: 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.")) { + switch(select("I like the solitude.:Making money being an Assassin.:They just look interesting.")) { case 1: set ASSIN_Q,11; mes "[Guildmaster]"; @@ -2207,11 +1740,13 @@ OnTouch: 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; @@ -2224,8 +1759,10 @@ OnTouch: 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..."; @@ -2235,7 +1772,7 @@ OnTouch: 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.")) { + switch(select("To broaden my skills.:It's a goal of mine.:For spiritual improvement.")) { case 1: set ASSIN_Q,14; mes "[Guildmaster]"; @@ -2243,6 +1780,7 @@ OnTouch: 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; @@ -2256,6 +1794,7 @@ OnTouch: 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; @@ -2265,10 +1804,11 @@ OnTouch: next; mes "[Guildmaster]"; mes "I hope you're not a hypocrite. Spiritual discipline is the best way for you to survive."; + next; break; } + break; } - set @assassin_sangdam,0; mes "[Guildmaster]"; mes "Sadly, there are some nit-wits who are eager to be Assassins even though they don't know anything..."; next; @@ -2281,29 +1821,30 @@ OnTouch: 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.")) { + 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.")) { + 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; + 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; + 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: - set @assassin_sangdam,@assassin_sangdam + 0; 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."; @@ -2311,78 +1852,84 @@ OnTouch: 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.")) { + switch(select("My friends.:My Guildsmen.:My lover.")) { case 1: - set @assassin_sangdam,@assassin_sangdam + 5; + 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; + 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: - set @assassin_sangdam,@assassin_sangdam + 0; 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 == 1) { + if (sex ) mes "But you must never reveal to her the Assassin side of your life. No matter what it takes."; - } - else { + 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.")) { + switch(select("Places where Assassins can level up...:Main goals as an Assassin.:Financial consulting.")) { case 1: - set @assassin_sangdam,@assassin_sangdam + 5; + 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: - set @assassin_sangdam,@assassin_sangdam + 0; 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; + 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."; @@ -2399,13 +1946,13 @@ OnTouch: mes "They will"; mes "be here soon."; next; - donpcevent "[Huey]::OnEnable"; - donpcevent "[Khai]::OnEnable"; - donpcevent "[The Anonymous One]::OnEnable"; - donpcevent "[Barcardi]::OnEnable"; - donpcevent "[Beholder]::OnEnable"; - donpcevent "[Thomas]::OnEnable"; - donpcevent "[Gayle Maroubitz]::OnEnable"; + 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; @@ -2415,7 +1962,7 @@ OnTouch: mes "[The Anonymous One]"; mes "Ah yeah..."; mes "I think"; - mes "" + strcharinfo(0) + ""; + mes ""+ strcharinfo(0) +""; mes "is decent."; next; mes "[Guildmaster]"; @@ -2424,7 +1971,7 @@ OnTouch: mes "supports you. How"; mes "about you, Huey?"; next; - if (ASSIN_Q2 == 1) { + if (ASSIN_Q3 == 1) { mes "[Huey]"; mes "A rarity."; mes "You can tell"; @@ -2433,9 +1980,10 @@ OnTouch: mes "[Huey]"; mes "I agree with"; mes "the Anonymous One."; - } else { + } + else { mes "[Huey]"; - mes "Although " + strcharinfo(0) + " looks too mellow and gentle, kind of like a pussycat, " + strcharinfo(0) + " has the stuff."; + 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."; @@ -2456,66 +2004,68 @@ OnTouch: 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..."; + mes "It seems we are all in agreement. Good. I don't have any problem with "+ strcharinfo(0) +" as well..."; next; - if (ASSIN_Q == 8) { + 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; - } - if (ASSIN_Q == 9) { + 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; - } - if (ASSIN_Q == 10) { + break; + case 10: mes "[Guildmaster]"; mes "Eager to travel all around the world, I hope your real identity is found in your journeys..."; next; - } - if (ASSIN_Q == 11) { + 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; - } - if (ASSIN_Q == 12) { + 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; - } - if (ASSIN_Q == 13) { + 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; - } - if (ASSIN_Q == 14) { + 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; - } - if (ASSIN_Q == 15) { + break; + case 15: mes "[Guildmaster]"; mes "Sooner or later, you will find a new goal to which you can devote yourself..."; next; - } - if (ASSIN_Q == 16) { + 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_Q2 == 1) && (Class == Job_Baby_Thief || Class == Job_Thief) && (ASSIN_Q > 6) && (ASSIN_Q < 17)) { - set ASSIN_Q2,2; + 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")) { + switch(select("Jur:Katar:Main Gauche:Gladius")) { case 1: mes "[Guildmaster]"; mes "A Jur..."; @@ -2541,57 +2091,32 @@ OnTouch: mes "A Gladius..."; mes "It used to rule over the Assassin weapon market. Please take care of my gladius."; getitem 1220,1; //Gladius_ - break; } next; - } else { + } + else { + set ASSIN_Q,17; mes "[Guildmaster]"; mes "Well, I talked too much."; mes "Please take this first."; next; - set .@asn_item,rand(1,5); - if (.@asn_item == 1) { + switch(rand(1,5)) { + case 1: getitem 1207,1; //Main_Gauche - } - if (.@asn_item == 2) { + break; + case 2: getitem 1250,1; //Jur - } - if (.@asn_item == 3) { + break; + case 3: getitem 1216,1; //Stiletto - } - if (.@asn_item == 4) { + break; + case 4: getitem 1201,1; //Knife - } - else { + break; + case 5: getitem 1252,1; //Katar } } - set ASSIN_Q,17; - 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 "moc_ruins",79,99; - getitem 1008,1; //Frozen_Heart - 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..."; - donpcevent "[Huey]::OnDisable"; - donpcevent "[Khai]::OnDisable"; - donpcevent "[The Anonymous One]::OnDisable"; - donpcevent "[Barcardi]::OnDisable"; - donpcevent "[Beholder]::OnDisable"; - donpcevent "[Thomas]::OnDisable"; - donpcevent "[Gayle Maroubitz]::OnDisable"; - close2; - warp "in_moc_16",17,19; - end; - } - if ((ASSIN_Q == 17) && (countitem(1008) == 0)) { mes "[Guildmaster]"; mes "Well, I am giving you a token. Please return to the Assassin expert, the Ferocious-Looking Huey, at the entrance."; next; @@ -2600,24 +2125,24 @@ OnTouch: 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 "moc_ruins",79,99; + 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..."; - donpcevent "[Huey]::OnDisable"; - donpcevent "[Khai]::OnDisable"; - donpcevent "[The Anonymous One]::OnDisable"; - donpcevent "[Barcardi]::OnDisable"; - donpcevent "[Beholder]::OnDisable"; - donpcevent "[Thomas]::OnDisable"; - donpcevent "[Gayle Maroubitz]::OnDisable"; - changequest 8006,8007; + 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; } - if (ASSIN_Q == 17) { + else if (ASSIN_Q == 17) { mes "[Guildmaster]"; mes "Umm...?"; mes "How come you're in here...?"; @@ -2628,7 +2153,7 @@ OnTouch: warp "in_moc_16",17,19; end; } - if ((ASSIN_Q > 7) && (ASSIN_Q < 17)) { + 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?"; @@ -2638,14 +2163,16 @@ OnTouch: mes "Ok, let's start again. If you don't listen this time, you won't leave this room alive. You got me?"; close; } - 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; + 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,{ @@ -2654,8 +2181,7 @@ in_moc_16,186,81,1 script Master Assist 55,1,1,{ close; } -in_moc_16,170,90,0 script info 1 139,{ - +in_moc_16,170,90,0 script info 1 -1,{ OnTouch: mes "[Guildmaster]"; mes "Huh."; @@ -2663,16 +2189,14 @@ OnTouch: close; } -in_moc_16,153,85,0 script info 2 139,1,1,{ - +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 139,1,1,{ - +in_moc_16,160,85,0 script info 3 -1,1,1,{ OnTouch: mes "[Guildmaster]"; mes "Hmm."; @@ -2681,8 +2205,7 @@ OnTouch: close; } -in_moc_16,175,89,0 script info 4 139,1,1,{ - +in_moc_16,175,89,0 script info 4 -1,1,1,{ OnTouch: mes "[Guildmaster]"; mes "Umm..."; @@ -2690,8 +2213,7 @@ OnTouch: close; } -in_moc_16,164,88,0 script info 5 139,{ - +in_moc_16,164,88,0 script info 5 -1,{ OnTouch: mes "[Guildmaster]"; mes "Well done..."; @@ -2699,138 +2221,79 @@ OnTouch: close; } -in_moc_16,149,95,0 script info 6 139,1,1,{ - +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 139,1,1,{ - +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 139,1,1,{ - +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,1,1,{ +in_moc_16,156,87,1 script [Huey] 55,{ end; OnInit: disablenpc "[Huey]"; end; - -OnDisable: - disablenpc "[Huey]"; - end; - -OnEnable: - enablenpc "[Huey]"; - end; } -in_moc_16,156,85,1 script [Khai] 730,1,1,{ +in_moc_16,156,85,1 script [Khai] 730,{ end; OnInit: disablenpc "[Khai]"; end; - -OnDisable: - disablenpc "[Khai]"; - end; - -OnEnable: - enablenpc "[Khai]"; - end; } -in_moc_16,156,83,1 script [The Anonymous One] 106,1,1,{ +in_moc_16,156,83,1 script [The Anonymous One] 106,{ end; OnInit: disablenpc "[The Anonymous One]"; end; - -OnDisable: - disablenpc "[The Anonymous One]"; - end; - -OnEnable: - enablenpc "[The Anonymous One]"; - end; } -in_moc_16,156,81,2 script [Barcardi] 725,1,1,{ +in_moc_16,156,81,2 script [Barcardi] 725,{ end; OnInit: disablenpc "[Barcardi]"; end; - -OnDisable: - disablenpc "[Barcardi]"; - end; - -OnEnable: - enablenpc "[Barcardi]"; - end; } -in_moc_16,156,79,1 script [Beholder] 118,1,1,{ +in_moc_16,156,79,1 script [Beholder] 118,{ end; OnInit: disablenpc "[Beholder]"; end; - -OnDisable: - disablenpc "[Beholder]"; - end; - -OnEnable: - enablenpc "[Beholder]"; - end; } -in_moc_16,156,77,1 script [Thomas] 118,1,1,{ +in_moc_16,156,77,1 script [Thomas] 118,{ end; OnInit: disablenpc "[Thomas]"; end; - -OnDisable: - disablenpc "[Thomas]"; - end; - -OnEnable: - enablenpc "[Thomas]"; - end; } -in_moc_16,156,75,1 script [Gayle Maroubitz] 55,1,1,{ +in_moc_16,156,75,1 script [Gayle Maroubitz] 55,{ end; OnInit: disablenpc "[Gayle Maroubitz]"; end; - -OnDisable: - disablenpc "[Gayle Maroubitz]"; - end; - -OnEnable: - enablenpc "[Gayle Maroubitz]"; - end; } diff --git a/npc/jobs/2-1/blacksmith.txt b/npc/jobs/2-1/blacksmith.txt index f96a41a25..413fe69fd 100644 --- a/npc/jobs/2-1/blacksmith.txt +++ b/npc/jobs/2-1/blacksmith.txt @@ -1,18 +1,46 @@ -//===== rAthena Script ======================================= -// Blacksmith Job change Quest -//===== By: ================================================== -//= Masao -//= Credits: Muad_Dib -//===== Current Version: ===================================== -//= 1.0 -//===== Compatible With: ===================================== -//= Any rAthena SVN -//===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Merchant -> Blacksmith. -//===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] -//============================================================ +//===== 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) { @@ -45,52 +73,62 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ mes "our craft. Our skills of melting metal into new weapons"; mes "and tools is truly a form of art!"; next; - if (Class == Job_Baby || Class == Job_Novice) { - 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."; + 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; } - if (Class == Job_Swordman || Class == Job_Knight || Class == Job_Crusader) { + 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; } - if (Class == Job_Archer || Class == Job_Hunter || Class == Job_Dancer || Class == Job_Bard) { + 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; } - if (Class == Job_Mage || Class == Job_Wizard || Class == Job_Sage) { + 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; } - if (Class == Job_Acolyte || Class == Job_Priest || Class == Job_Monk) { + 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; } - if (Class == Job_Thief || Class == Job_Assassin || Class == Job_Rogue) { + 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; } - if (Class == Job_Alchemist) { + 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; } - if (Class == Job_Baby_Blacksmith || Class == Job_Blacksmith) { + 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; } - if (Class == Job_Baby_Merchant || Class == Job_Merchant) { - if (SkillPoint != 0) { + 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; @@ -103,14 +141,14 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ 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.")) { + switch(select("Fill out Application.:What are the requirements?:Um, I need to think about it.")) { case 1: - if (SkillPoint != 0) { + 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 ((JobLevel > 39) && (BSMITH_Q == 0)) { + else if (JobLevel > 39 && BSMITH_Q == 0) { mes "[Altiregen]"; mes "Hmmm..."; mes "Looks like you"; @@ -133,7 +171,7 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ mes "and good luck!"; close; } - if (JobLevel < 40) { + 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; @@ -157,18 +195,18 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ close; } } - if ((BSMITH_Q > 0) && (BSMITH_Q < 8)) { + 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; } - if ((BSMITH_Q > 8) && (BSMITH_Q < 15)) { + 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; } - if (BSMITH_Q == 15) { + else if (BSMITH_Q == 15) { mes "[Altiregen]"; mes "Great job!!"; mes "You have passed"; @@ -203,53 +241,51 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ mes "If you can't endure this, you'll never be a Blacksmith!"; close; } - if (BSMITH_Q == 16) { + 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; } - if ((BSMITH_Q == 17) && (countitem(1005) > 0) && (JobLevel > 39)) { + 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 smithing, the art"; - mes "of the Blacksmith."; - next; - if(Class == Job_Baby_Merchant){ - jobchange Job_Baby_Blacksmith; - } else { - jobchange Job_Blacksmith; + 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 (JobLevel > 48) { + if (.@joblvl > 48) getitem 999,30; //Steel - } else { + else getitem 999,5; //Steel - } - changequest 2015,2016; - completequest 2016; close; } } } -ein_in01,201,27,3 script Guildsman#einbech 63,{ +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 (Class == Job_Baby_Merchant || Class == Job_Merchant) { + if (BaseJob == Job_Merchant) { mes "[Geschupenschte]"; mes "Oh ho ho!"; mes "You're a Merchant!"; @@ -270,193 +306,190 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "to be busy~"; close; } - if (BSMITH_Q == 1) { - mes "[Geschupenschte]"; - mes "Oh ho ho!"; - mes "You're a Merchant!"; - mes "Excellent! I was"; - mes "in need of some help!"; - next; - 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; - if (select("Yes.:Um, can I have some time to prepare?") == 1) { - set @black_q,0; - set .@rand_b,rand(1,3); - if (.@rand_b == 1) { + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - next; - } else { + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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") == 2) { - set @black_q,@black_q + 10; - } + 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; - } + 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; - next; + 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; - changequest 2000,2002; + 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"; @@ -468,11 +501,19 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "When you get back, I'll be ready!"; close; } - set BSMITH_Q, 2; - changequest 2000,2001; + 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"; @@ -485,7 +526,8 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "being careful~"; close; } - if (BSMITH_Q == 2) { + /* + else if (BSMITH_Q == 2) { mes "[Geschupenschte]"; mes "So, have you"; mes "studied a little"; @@ -501,191 +543,10 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "Alright, let's start"; mes "with the questions~"; next; - set @black_q,0; - set .@rand_b,rand(1,3); - if (.@rand_b == 1) { - 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 - Beserk 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 "[Geschupenschte]"; - 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; - next; - } else { - mes "[Geschupenschte]"; - mes "1. Among the following cities, which one is not correctly matched with its specialty?"; - next; - if (select("Al De Beran - Yggdrasil Leaf:Alberta - Hammer:Comodo - Beserk 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") == 2) { - 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; - next; - } - mes "[Geschupenschte]"; - mes "Hmm, good. You did a great job!"; - next; - mes "[Geschupenschte]"; - mes "Let's see...your score is..." + @black_q + " points."; - if (@black_q > 80) { - set BSMITH_Q,3; - changequest 2001,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; - completequest 2000; - setquest 2001; - mes "............."; - next; - mes "[Geschupenschte]"; - 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; + goto L_AskQuestions; } - if (BSMITH_Q == 3) { + */ + else if (BSMITH_Q == 3) { mes "[Geschupenschte]"; mes "Hmm..."; mes "Now, where were"; @@ -705,176 +566,98 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "Well, to make"; mes "this you will need..."; next; - set .@black_item,rand(1,6); - if (.@black_item == 1) { - set BSMITH_Q,4; - changequest 2002,2003; - mes "[Geschupenschte]"; - mes "^8E6B232 Steel^000000,"; - mes "^8E6B231 Rotten Bandage^000000,"; - mes "^8E6B232 Blue Gemstone^000000, and"; - mes "^8E6B231 Arc Wand^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 "^8E6B232 Steel^000000,"; - mes "^8E6B231 Rotten Bandage^000000,"; - mes "^8E6B232 Blue Gemstone^000000, and"; - mes "^8E6B231 Arc Wand^000000, the kind"; - mes "you can buy from"; - mes "an NPC shop."; - next; - } - if (.@black_item == 2) { - set BSMITH_Q,5; - changequest 2002,2004; - mes "[Geschupenschte]"; - mes "^8E6B232 Star Dust^000000,"; - mes "^8E6B231 Skel-bone^000000,"; - mes "^8E6B231 Zargon^000000 and"; - mes "^8E6B231 Gladius^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 "^8E6B232 Star Dust^000000,"; - mes "^8E6B231 Skel-bone^000000,"; - mes "^8E6B231 Zargon^000000 and"; - mes "^8E6B231 Gladius^000000, the kind"; - mes "you can buy from"; - mes "an NPC shop."; - 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; } - if (.@black_item == 3) { - set BSMITH_Q,6; - changequest 2002,2005; - mes "[Geschupenschte]"; - mes "^8E6B232 Coal^000000,"; - mes "^8E6B232 Shell^000000,"; - mes "^8E6B232 Red Blood^000000 and"; - mes "^8E6B231 Tsurugi^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 "^8E6B232 Coal^000000,"; - mes "^8E6B232 Shell^000000,"; - mes "^8E6B232 Red Blood^000000 and"; - mes "^8E6B231 Tsurugi^000000, the kind"; - mes "you can buy from"; - mes "an NPC shop."; - next; + 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; } - if (.@black_item == 4) { - set BSMITH_Q,7; - changequest 2002,2006; + 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 "^8E6B238 Iron Ore^000000,"; - mes "^8E6B231 Eye Patch^000000,"; - mes "^8E6B232 Blue Gemstone^000000 and"; - mes "^8E6B231 Arbalest^000000, the kind"; - mes "you can buy from"; - mes "an NPC shop."; + mes "Wait..."; + mes "Didn't I tell you"; + mes "to get 3 Steel?"; 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..."; + 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 "^8E6B238 Iron Ore^000000,"; - mes "^8E6B231 Eye Patch^000000,"; - mes "^8E6B232 Blue Gemstone^000000 and"; - mes "^8E6B231 Arbalest^000000, the kind"; - mes "you can buy from"; - mes "an NPC shop."; + 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; - } - else { - set BSMITH_Q,8; - changequest 2002,2007; + 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 "^8E6B238 Iron^000000"; - mes "^8E6B2320 Green Herb^000000"; - mes "^8E6B232 Animal Skin^000000"; - mes "and ^8E6B231 Ring Pommel Saber^000000, the kind you can buy from an NPC shop."; + mes "Okay."; + mes "Great~!!"; 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..."; + mes "^3355FF*Clang...!*^000000"; next; mes "[Geschupenschte]"; - mes "^8E6B238 Iron^000000"; - mes "^8E6B2320 Green Herb^000000"; - mes "^8E6B232 Animal Skin^000000"; - mes "and ^8E6B231 Ring Pommel Saber^000000, the kind you can buy from an NPC shop."; + mes "^3355FF*Crash Crash!*^000000"; next; - } - mes "[Geschupenschte]"; - mes "Okay~"; - mes "Good luck"; - mes "on your first job!"; - close; - } - if ((BSMITH_Q > 3) && (BSMITH_Q < 9)) { - if (BSMITH_Q == 4) { + 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 "Ah, you're back!"; - mes "Did you bring"; - mes "everything that"; - mes "I requested?"; - next; - if ((countitem(999) > 1) && (countitem(930) > 0) && (countitem(717) > 1) && (countitem(1610) > 0)) { - 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 Arc Wand^000000, you should really only have an Arc Wand 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 999,2; //Steel - delitem 930,1; //Rotten_Bandage - delitem 717,2; //Blue_Gemstone - delitem 1610,1; //Arc_Wand - set BSMITH_Q,9; - changequest 2003,2008; - mes "[Geschupenschte]"; - mes "Wooooo~~~"; - mes "All done..."; - mes "Okay, now take this to ^8E6B23Baisulist^000000 in Geffen of the Rune-Midgarts Kingdom. Simply deliver it and bring me the receipt."; + 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...?"; @@ -892,85 +675,14 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ next; mes "[Geschupenschte]"; mes "Anyway, take this"; - mes "to ^8E6B23Baisulist^000000 in Geffen of the Rune-Midgarts Kingdom,"; - mes "and don't forget"; - mes "the receipt!"; - close; - } - 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 "^8E6B232 Steel^000000,"; - mes "^8E6B231 Rotten Bandage^000000,"; - mes "^8E6B232 Blue Gemstone^000000, and"; - mes "^8E6B231 Arc Wand^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; - } - if (BSMITH_Q == 5) { - mes "[Geschupenschte]"; - mes "Ah, you're back!"; - mes "Did you bring"; - mes "everything that"; - mes "I requested?"; - next; - if ((countitem(1001) > 1) && (countitem(932) > 0) && (countitem(912) > 0) && (countitem(1219) > 0)) { - mes "[Geschupenschte]"; - mes "Wait..."; - mes "Didn't I tell you"; - mes "to get 3 Star Dust?"; - 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 Gladius^000000, you should really only have an Gladius that you bought from an NPC shop in your inventory."; - next; - if (select("Um, would 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 1001,2; //Sparkling_Dust - delitem 932,1; //Skel_Bone - delitem 912,1; //Zargon - delitem 1219,1; //Gladius - set BSMITH_Q,10; - changequest 2004,2009; - mes "[Geschupenschte]"; - mes "Wooooo~~~"; - mes "All done..."; - mes "Okay, now take this to ^8E6B23Wickebine^000000 in Morroc of the Rune-Midgarts Kingdom. Simply deliver it and bring me the receipt."; + 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...?"; @@ -988,85 +700,14 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ next; mes "[Geschupenschte]"; mes "Anyway, take this"; - mes "to ^8E6B23Wickebine^000000 in Morroc of the Rune-Midgarts Kingdom,"; - mes "and don't forget"; - mes "the receipt!"; - close; - } - 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 "^8E6B232 Star Dust^000000,"; - mes "^8E6B231 Skel-bone^000000,"; - mes "^8E6B231 Zargon^000000 and"; - mes "^8E6B231 Gladius^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; - } - if (BSMITH_Q == 6) { - mes "[Geschupenschte]"; - mes "Ah, you're back!"; - mes "Did you bring"; - mes "everything that"; - mes "I requested?"; - next; - if ((countitem(1003) > 1) && (countitem(935) > 1) && (countitem(990) > 1) && (countitem(1119) > 0)) { - mes "[Geschupenschte]"; - mes "Wait..."; - mes "Didn't I tell you"; - mes "to get 3 Coal?"; - 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 Tsurugi^000000, you should really only have an Tsurugi that you bought from an NPC shop in your inventory."; - next; - if (select("Um, would 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 1003,2; //Coal - delitem 935,2; //Shell - delitem 990,2; //Boody_Red - delitem 1119,1; //Tsurugi - set BSMITH_Q,11; - changequest 2005,2010; - mes "[Geschupenschte]"; - mes "Wooooo~~~"; - mes "All done..."; + 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...?"; @@ -1085,85 +726,14 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ next; mes "[Geschupenschte]"; mes "Anyway, take this"; - mes "to ^8E6B23Krongast^000000 in Izlude"; - mes "and don't forget"; - mes "the receipt!"; - close; - } - 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 "^8E6B232 Coal^000000,"; - mes "^8E6B232 Shell^000000,"; - mes "^8E6B232 Red Blood^000000 and"; - mes "^8E6B231 Tsurugi^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; - } - if (BSMITH_Q == 7) { - mes "[Geschupenschte]"; - mes "Ah, you're back!"; - mes "Did you bring"; - mes "everything that"; - mes "I requested?"; - next; - if ((countitem(1002) > 7) && (countitem(2212) > 0) && (countitem(717) > 1) && (countitem(1713) > 0)) { - mes "[Geschupenschte]"; - mes "Wait..."; - mes "Didn't I tell you"; - mes "to get 30 Iron Ore?"; - next; - mes "[Geschupenschte]"; - mes "Oh, I guess it was"; - mes "eight 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 Arbalest^000000, you should really only have an Arbalest that you bought from an NPC shop in your inventory."; - next; - if (select("Um, would 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 1002,8; //Iron_Ore - delitem 2212,1; //Eye_Bandage - delitem 717,2; //Blue_Gemstone - delitem 1713,1; //Arbalest - set BSMITH_Q,12; - changequest 2006,2011; - mes "[Geschupenschte]"; - mes "Wooooo~~~"; - mes "All done..."; - mes "Okay, now take this to ^8E6B23Talpiz^000000 in Payon of the Rune-Midgarts Kingdom. Simply deliver this and bring me the receipt."; + 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...?"; @@ -1180,85 +750,14 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ next; mes "[Geschupenschte]"; mes "Anyway, take this"; - mes "to ^8E6B23Talpiz^000000 in Payon of the Rune-Midgarts Kindgom,"; - mes "and don't forget"; - mes "the receipt!"; - close; - } - 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 "^8E6B238 Iron Ore^000000,"; - mes "^8E6B231 Eye Patch^000000,"; - mes "^8E6B232 Blue Gemstone^000000 and"; - mes "^8E6B231 Arbalest^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; - } - if (BSMITH_Q == 8) { - mes "[Geschupenschte]"; - mes "Ah, you're back!"; - mes "Did you bring"; - mes "everything that"; - mes "I requested?"; - next; - if ((countitem(998) > 7) && (countitem(511) > 19) && (countitem(919) > 1) && (countitem(1122) > 0)) { - mes "[Geschupenschte]"; - mes "Wait..."; - mes "Didn't I tell you"; - mes "to get 40 Iron?"; - next; - mes "[Geschupenschte]"; - mes "Oh, I guess it was"; - mes "eight 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 Ring Pommel Saber^000000. You should really only have just one that you bought from an NPC shop in your inventory."; - next; - if (select("Um, would 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; - delitem 998,8; //Iron - delitem 511,20; //Green_Herb - delitem 919,2; //Animal's_Skin - delitem 1122,1; //Ring_Pommel_Saber - set BSMITH_Q, 13; - changequest 2007,2012; - next; - mes "[Geschupenschte]"; - mes "^3355FF*Clang...!*^000000"; - next; - mes "[Geschupenschte]"; - mes "^3355FF*Crash Crash!*^000000"; - next; - mes "[Geschupenschte]"; - mes "Wooooo~~~"; - mes "All done..."; + 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...?"; @@ -1282,10 +781,12 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "[Geschupenschte]"; mes "Anyway, take this"; mes "to ^8E6B23Bismarc^000000 in Hugel"; - mes "and don't forget"; - mes "the receipt!"; - close; } + mes "and don't forget"; + mes "the receipt!"; + close; + } + else { mes "[Geschupenschte]"; mes "You still haven't"; mes "brought all the items."; @@ -1293,10 +794,12 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "or something? Bring me..."; next; mes "[Geschupenschte]"; - mes "^8E6B238 Iron^000000"; - mes "^8E6B2320 Green Herb^000000"; - mes "^8E6B232 Animal Skin^000000"; - mes "and ^8E6B231 Ring Pommel Saber^000000, the kind you can buy from an NPC shop."; + 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"; @@ -1308,7 +811,7 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ close; } } - if ((BSMITH_Q > 8) && (BSMITH_Q < 14)) { + else if (BSMITH_Q > 8 && BSMITH_Q < 14) { mes "[Geschupenschte]"; mes "What are you"; mes "still doing here?"; @@ -1317,31 +820,27 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "Did you forget"; mes "where to go?"; next; + mes "[Geschupenschte]"; if (BSMITH_Q == 9) { - mes "[Geschupenschte]"; 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 "[Geschupenschte]"; mes "Find the Swordmace"; mes "dealer ^8E6B23Wickebine^000000 in Morroc. And don't forget the receipt."; } else if (BSMITH_Q == 11) { - mes "[Geschupenschte]"; 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 "[Geschupenschte]"; 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 "[Geschupenschte]"; 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; } - if (BSMITH_Q == 14) { + else if (BSMITH_Q == 14) { mes "[Geschupenschte]"; mes "Hmmm...?"; mes "Have you"; @@ -1352,12 +851,22 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ if (select("Yes sir, here it is.:Receipt? I, uh, have it somewhere.") == 1) { if (countitem(1073) > 0) { set BSMITH_Q,15; - changequest 2008,2013; - changequest 2009,2013; - changequest 2010,2013; - changequest 2011,2013; - changequest 2012,2013; 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!"; @@ -1396,7 +905,7 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "Right...?"; close; } - if (BSMITH_Q == 15) { + else if (BSMITH_Q == 15) { mes "[Geschupenschte]"; mes "Thank you"; mes "very much"; @@ -1413,17 +922,19 @@ ein_in01,201,27,3 script Guildsman#einbech 63,{ mes "need any more help, today."; close; } - mes "[Geschupenschte]"; - mes "Being"; - mes "a Blacksmith"; - mes "is truly great!"; - mes "Don't you think so?"; - mes "Mwahahahahah!!"; - 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)) { + if (BSMITH_Q == 9 && countitem(1610) > 0) { mes "[Baisulist]"; mes "Oh, hello!"; mes "Have you come"; @@ -1446,8 +957,7 @@ geffen,46,164,1 script Baisulist#BLS 69,{ mes "[Baisulist]"; mes "You're"; mes "absolutely sure?"; - next; - set BSMITH_Q, 14; + set BSMITH_Q,14; delitem 1610,1; //Arc_Wand next; mes "[Baisulist]"; @@ -1463,42 +973,44 @@ geffen,46,164,1 script Baisulist#BLS 69,{ 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; + mapannounce "geffen","Hey, " +strcharinfo(0)+ ", thank you so much for the delivery~",bc_map; close; } - if (BSMITH_Q == 14) { + else if (BSMITH_Q == 14) { mes "[Baisulist]"; mes "Thank you"; mes "so much for"; mes "the delivery~"; close; } - 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; + 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; + if (BSMITH_Q == 10 && countitem(1219) > 0) { + cutin "Job_Black_hucke01",2; mes "[Wickebine]"; mes "...!"; mes "It's here!"; @@ -1508,7 +1020,7 @@ morocc,27,112,4 script Wickebine#BLS 725,{ 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; + cutin "Job_Black_hucke03",2; mes "[Wickebine]"; mes "Oooh...!"; mes "Hurry up"; @@ -1516,10 +1028,10 @@ morocc,27,112,4 script Wickebine#BLS 725,{ next; mes "- She seems to be upset. -"; close2; - cutin "",255; + cutin "Job_Black_hucke03",255; end; } - cutin "job_black_hucke02",2; + cutin "Job_Black_hucke02",2; mes "[Wickebine]"; mes "Hah hah hah!"; mes "Finally! Now..."; @@ -1528,21 +1040,21 @@ morocc,27,112,4 script Wickebine#BLS 725,{ next; mes "- She looks very happy. -"; next; - set BSMITH_Q, 14; + set BSMITH_Q,14; delitem 1219,1; //Gladius - cutin "job_black_hucke01",2; + 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; + 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; + cutin "Job_Black_hucke02",2; mes "[Wickebine]"; mes "But, this is also"; mes "a masterfully crafted item."; @@ -1554,49 +1066,51 @@ morocc,27,112,4 script Wickebine#BLS 725,{ mes "Here's the receipt."; mes "I think you did"; mes "a good job."; - close2; mapannounce "morocc","Thanks for delivering, " + strcharinfo(0) + "~!",bc_map; - cutin "",255; + close2; + cutin "Job_Black_hucke02",255; end; } - if (BSMITH_Q == 14) { + else if (BSMITH_Q == 14) { emotion e_lv; - cutin "job_black_hucke02",2; + cutin "Job_Black_hucke02",2; mes "[Wickebine]"; mes "Thanks for the delivery."; close2; - cutin "",255; + 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; } - 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 "",255; - end; } lighthalzen,209,80,4 script Krongast#BLS 734,{ - if ((BSMITH_Q == 11) && (countitem(1119) > 0)) { + if (BSMITH_Q == 11 && countitem(1119) > 0) { mes "[Krongast]"; mes "Ohhhhhh~"; mes "Is it here?"; @@ -1620,7 +1134,7 @@ lighthalzen,209,80,4 script Krongast#BLS 734,{ mes "You double checked?"; mes "Alright then, I'll take it!"; next; - set BSMITH_Q, 14; + set BSMITH_Q,14; delitem 1119,1; //Tsurugi mes "[Krongast]"; mes "Oh ho..."; @@ -1643,37 +1157,38 @@ lighthalzen,209,80,4 script Krongast#BLS 734,{ mes "your receipt."; mes "Thank you for"; mes "your business!"; - close2; - mapannounce "lighthalzen","" + strcharinfo(0) + "... Thank you for the delivery.",bc_map; - end; + mapannounce "lighthalzen",strcharinfo(0)+"... Thank you for the delivery.",bc_map; + close; } - if (BSMITH_Q == 14) { + else if (BSMITH_Q == 14) { mes "[Krongast]"; mes "Thank you"; mes "for the delivery."; close; } - 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; + 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)) { + if (BSMITH_Q == 12 && countitem(1713) > 0) { mes "[Talpiz]"; mes "Oh~"; mes "Is it finally here?"; @@ -1717,11 +1232,10 @@ payon,214,79,4 script Talpiz#BLS 59,{ mes "your receipt."; mes "I really appreciate"; mes "your hard work."; - close2; - mapannounce "payon","Thanks, " + strcharinfo(0) + ", you really delivered. Everytime I look at this, I love it even more~",bc_map; - end; + mapannounce "payon","Thanks, " +strcharinfo(0)+ ", you really delivered. Everytime I look at this, I love it even more~",bc_map; + close; } - if (BSMITH_Q == 14) { + else if (BSMITH_Q == 14) { mes "[Talpiz]"; mes "Really,"; mes "I can't say it"; @@ -1729,24 +1243,26 @@ payon,214,79,4 script Talpiz#BLS 59,{ mes "top quality work~!"; close; } - 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; + 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)) { + if (BSMITH_Q == 13 && countitem(1122) > 0) { mes "[Bismarc]"; mes "Sweet God..."; mes "Have you sent"; @@ -1812,33 +1328,34 @@ hugel,168,183,1 script Bismarc#BLS 118,{ mes "your receipt."; mes "T-take it...!"; mes "It's yours!"; - close2; - mapannounce "hugel","Thanks, " + strcharinfo(0) + ", for the delivery. You saved my life...",bc_map; - end; + mapannounce "hugel","Thanks, " +strcharinfo(0)+ ", for the delivery. You saved my life...",bc_map; + close; } - if (BSMITH_Q == 14) { + else if (BSMITH_Q == 14) { mes "[Bismarc]"; mes "Thank you."; mes "You saved"; mes "my life..."; close; } - 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; + 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,{ @@ -1847,7 +1364,7 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ 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 Blacksmith immediately."; + 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?"; @@ -1861,48 +1378,44 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ mes "you fail. And I won't"; mes "tell you what you missed."; next; - set .@wizard_m2,rand(1,3); - set @blackss_te,0; + set .@blackss_te,0; mes "[Mitehmaeeuh]"; mes "Please listen"; mes "and answer carefully..."; next; - if (.@wizard_m2 == 1) { + 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; - } + 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; - } + 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; - } + 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; - } + 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"; @@ -1910,35 +1423,31 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ mes "NPCs after mastering the"; mes "^8E6B23Overcharge^000000 skill?"; next; - if (select("21 % :22 % :23 % :24 % ") == 3) { - set @blackss_te,@blackss_te + 20; - next; - } - } - if (.@wizard_m2 == 2) { + 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; - } + 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; - } + 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; + set .@blackss_te,.@blackss_te+20; mes "[Mitehmaeeuh]"; mes "4. In general,"; mes "which of the following"; @@ -1946,31 +1455,29 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ 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; - } + 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; - next; - } - } else { + 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.")) { + switch(select("Ask them what they need.:Have a brief conversation.:Ignore them.:Give items and run away.")) { case 1: - set @blackss_te,@blackss_te + 20; case 2: - set @blackss_te,@blackss_te + 20; - case 3: - case 4: + set .@blackss_te,.@blackss_te+20; + break; + default: + break; } mes "[Mitehmaeeuh]"; mes "2. In what village"; @@ -1978,34 +1485,30 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ 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; - } + 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; - } + 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; - } + 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; - next; - } + if (select("STR :DEX:AGI :VIT ") == 2) + set .@blackss_te,.@blackss_te+20; + break; } mes "[Mitehmaeeuh]"; mes "Ah..."; @@ -2014,22 +1517,21 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ next; mes "[Mitehmaeeuh]"; mes "You earned"; - mes "" + @blackss_te + " points..."; - if (@blackss_te > 70) { + 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."; - mes "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; + 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 Einbroch Blacksmith Guild. Okay then? I wish you the best of luck!"; + 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."; @@ -2045,13 +1547,13 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ mes "when you are ready..."; close; } - if (BSMITH_Q == 17) { + 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.Geschupenschte?"; + 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!"; @@ -2060,20 +1562,22 @@ ein_in01,24,41,5 script Blacksmith Guildsman#moc 726,{ mes "Oh, also make sure that you have no skill point left before you change your job~"; close; } - 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; + 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,{ @@ -2089,16 +1593,16 @@ geffen_in,109,170,3 script Blacksmith Guildsman#gef 726,{ 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.")) { + 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 the Rune-Midgarts Kingdom, the Schwaltzvalt Republic has 'the airship' instead of teleport services to move between towns."; + 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 the Schwaltzvalt Republic^000000."; + 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."; @@ -2114,7 +1618,7 @@ geffen_in,109,170,3 script Blacksmith Guildsman#gef 726,{ mes "Excuse me, but you do not have enough money."; close; } - set Zeny, Zeny - 600; + set zeny,zeny-600; warp "izlude",94,103; end; case 3: @@ -2122,4 +1626,4 @@ geffen_in,109,170,3 script Blacksmith Guildsman#gef 726,{ mes "Please take care!"; close; } -} \ No newline at end of file +} diff --git a/npc/jobs/2-1/hunter.txt b/npc/jobs/2-1/hunter.txt index 3615f68a2..1d7372ce8 100644 --- a/npc/jobs/2-1/hunter.txt +++ b/npc/jobs/2-1/hunter.txt @@ -1,20 +1,63 @@ //===== rAthena Script ======================================= -// Hunter Job change Quest +//= Hunter Job Quest //===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= EREMES THE CANIVALIZER (Aegis)Translated by yoshiki (Aegis) +//= Converted by kobra_k88 +//= Further bugfixed and tested by Lupus //===== Current Version: ===================================== -//= 1.0 +//= 3.7 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Archer -> Hunter. +//= [Aegis Conversion] +//= Job Change quest for Hunter class. //===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] +//= 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 3rd 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). //============================================================ -in_hunter,99,99,4 script Hunter Info 727,{ +// 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."; @@ -27,27 +70,14 @@ in_hunter,99,99,4 script Hunter Info 727,{ mes " "; mes " "; mes " "; - mes "I, the Falcon breeder has moved out as well."; + mes "I, the Falcon breeder have moved out as well."; close; } -pay_fild10,148,252,3 script Hunter Info#hugel 857,{ - 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 ^ff0000the far upper right side of Hugel000000."; - next; - mes "^804000(You found a tiny line written at the end of the notice.)^000000"; - mes " "; - mes " "; - mes " "; - mes "I, the Falcon breeder has 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]"; @@ -58,7 +88,7 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ mes "Oops! I'm sorry, I could have sworn that we've met before. Huh. How weird."; close; } - if ((Class == Job_Baby_Archer || Class == Job_Archer) && (JobLevel < 40)) { + 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; @@ -69,51 +99,51 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ mes "See you next time~"; close; } - if (SkillPoint != 0) { + 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 (Class == Job_Baby || Class == Job_Novice) { + 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; } - if (Class == Job_Swordman || Class == Job_Knight || Class == Job_Crusader) { + 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; } - if (Class == Job_Mage || Class == Job_Wizard || Class == Job_Sage) { + 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; } - if (Class == Job_Acolyte || Class == Job_Priest || Class == Job_Monk) { + 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; } - if (Class == Job_Merchant || Class == Job_Blacksmith || Class == Job_Alchemist) { + else if (Baseclass == Job_Merchant) { mes "[Hunter Guildsman]"; mes "Oh..."; mes "How's your business coming along?"; close; } - if (Class == Job_Thief || Class == Job_Assassin || Class == Job_Rogue) { + else if (BaseClass == Job_Thief) { mes "[Hunter Guildsman]"; mes "Agh?!"; mes "This place doesn't have anything worth stealing or anyone worth killing!!"; close; } - if (Class == Job_Dancer || Class == Job_Bard) { + 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; } - if (Class == Job_Baby_Hunter || Class == Job_Hunter) { + 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?"; @@ -122,13 +152,13 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ 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; } - if (Class == Job_Baby_Archer || Class == Job_Archer) { - if (SkillPoint != 0) { + 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; } - if ((HNTR_Q == 17) && (countitem(1007) == 0)) { + 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; @@ -136,258 +166,245 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ mes "I'll let you change your job, but you must bring back a 'Necklace of Wisdom (Penetration),' no matter what it takes."; close; } - if ((HNTR_Q == 17) && (countitem(1007) > 0) && (JobLevel > 39)) { - if (JobLevel > 49) { - 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!!"; - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Hunter; - } else { - jobchange Job_Hunter; - } - completequest 4013; - 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~"; - getitem 1718,1; //Hunter_Bow - close; - } + else if (HNTR_Q == 17 && countitem(1007) > 0 && JobLevel > 39) { mes "[Hunter Sherin]"; mes "Oh...?"; mes "You passed"; - mes "the job test?!!"; + mes "the job test?!"; mes "Congratulations~!!"; next; mes "[Hunter Sherin]"; mes "Well then,"; mes "I will now change"; - mes "your job to a Hunter~*"; + mes "your job to a Hunter~"; next; delitem 1007,1; //Penetration mes "[Hunter Sherin]"; mes "Tada~ Congratulations!"; mes "You look great as a Hunter!!"; - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Hunter; - } else { - jobchange Job_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 be a worthy representative of the Hunter Guild. Show your love of nature as a Hunter~"; + 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~"; - getitem 1710,1; //CrossBow + if (.@joblvl > 49) + getitem 1718,1; //Hunter_Bow + else + getitem 1710,1; //CrossBow close; } - if ((JobLevel > 39) && (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: + else if ((JobLevel > 39) && ((HNTR_Q == 0) || (HNTR_Q == 1))) { + if (HNTR_Q == 0) { mes "[Hunter Guildsman]"; - mes "Hehe~"; - mes "I was right! Let me put you on the candidate list. Let's see~*"; + 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; - 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) { - 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; - set @knight_t, 0; - 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 1: - break; - case 2: - case 3: - set @knight_t, @knight_t + 10; - } - 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 1: - break; - case 2: - case 3: - set @knight_t, @knight_t + 10; - } - 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 1: - break; - case 2: - case 3: - set @knight_t, @knight_t + 10; - } - 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?"; + 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; - if (select("Attack a Hode from the top of a hill.:Go back to town.:Attack someone else's Hode.") == 2) { - set @knight_t, @knight_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 @knight_t, @knight_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 1: - break; - case 2: - case 3: - set @knight_t, @knight_t + 10; - } - 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.") == 3) { - set @knight_t, @knight_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 @knight_t, @knight_t + 10; - case 3: - } - 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!"; + 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 "[Hunter Sherin]"; - mes "What should you do?"; + mes "^3355FF*Gathers and flips through papers*^000000"; next; - if (select("Watch, then attack when asked for help.:Attack and see what happens.:Just go back to town.") == 1) { - set @knight_t, @knight_t + 10; - } - mes "[Hunter Sherin]"; - mes "You are now very exhausted after your day of hunting. It's time to go back to town."; + mes "^3355FF*Rummage rummage*^000000"; next; - mes "[Hunter Sherin]"; - mes "But what's this!? You find an expensive item lying on the floor! What should you do with it?"; + mes "[Hunter Guildsman]"; + mes "Ah!"; + mes "Here they are: the interview questions~ First of all, my name is 'Sherin.' Nice to meet you!"; next; - switch (select("Pick it up and keep it.:Try to find the owner.:Just walk by.")) { - case 1: - break; - case 2: - case 3: - set @knight_t, @knight_t + 10; - break; - } mes "[Hunter Sherin]"; - mes "Okay, this is the end of the test!"; + mes "Well then,"; + mes "shall we begin?"; next; - if (@knight_t == 100) { - set HNTR_Q,2; - setquest 4001; + if (select("Yes~ Let's start now.:No, I'll be back later.") == 1) { + if(checkquest(4000) == -1) { + setquest 4000; + } 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~"; + 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'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; - } - if (@knight_t == 90) { - set HNTR_Q,2; - setquest 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."; + 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 "Just remember to always keep basic etiquette in mind. Try harder in the following tests and make me happy, okay?"; + mes "Okay..."; + mes "Come back"; + mes "when you're ready~"; close; } - set HNTR_Q,1; - setquest 4000; + 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 "Hmm... I don't think this'll work out. You can't become a Hunter without knowing basic etiquette."; + 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 "Think about how you answered the questions one more time. In order to value nature, you must first value your relationship with others."; + 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 "Then, you'll be more in tune with nature and with other people. It's this kind of harmony that makes the best Hunters."; + 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 "Okay..."; - mes "Come back"; - mes "when you're ready~"; + 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]"; @@ -408,7 +425,7 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ 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~"; - close; + break; case 3: mes "[Hunter Guildsman]"; mes "Okay then,"; @@ -416,182 +433,18 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ close; } } - if ((JobLevel > 39) && (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; - set @knight_t, 0; - 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 1: - break; - case 2: - case 3: - set @knight_t, @knight_t + 10; - } - 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 1: - break; - case 2: - case 3: - set @knight_t, @knight_t + 10; - } - 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 1: - break; - case 2: - case 3: - set @knight_t, @knight_t + 10; - } - 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 @knight_t, @knight_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 @knight_t, @knight_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 1: - break; - case 2: - case 3: - set @knight_t, @knight_t + 10; - } - 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.") == 3) { - set @knight_t, @knight_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 @knight_t, @knight_t + 10; - case 3: - } - 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; - switch (select("Watch, then attack when asked for help.:Attack and see what happens.:Just go back to town.") == 1) { - set @knight_t, @knight_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 1: - break; - case 2: - case 3: - set @knight_t, @knight_t + 10; - } - mes "[Hunter Sherin]"; - mes "Okay, this is"; - mes "the end of the test!"; - next; - if (@knight_t == 100) { - set HNTR_Q,2; - setquest 4001; - mes "[Hunter Sherin]"; - mes "Well done! It seems you've got the right outlook on life. You definitely have what it takes to become a Hunter~"; - next; - mes "[Hunter Sherin]"; - mes "I'm happy to say you've passed the interview~ Now, go to that person in the corner and confirm which items are necessary for the job change test~"; - close; - } - if (@knight_t == 90) { - set HNTR_Q,2; - setquest 4001; - mes "[Hunter Sherin]"; - mes "Hmmm... Well, your score isn't exactly perfect, but I'll let you pass anyway. I'm not sure what our Guildmaster will think though..."; - next; - mes "[Hunter Sherin]"; - mes "Just remember to keep the basics of etiquette in mind. Try harder in the following tests, and make me happy, okay?"; - close; - } - if (HNTR_Q == 1){ - mes "[Hunter Sherin]"; - mes "Hmm..."; - mes "I'm sorry but you can't become a Hunter without knowing basic etiquette."; - next; - mes "[Hunter Sherin]"; - mes "Think about how you answered the questions once more. In order to be in tune with nature, you must first value your relationship with others."; - next; - mes "[Hunter Sherin]"; - mes "Well then..."; - mes "Come back"; - mes "when you're ready."; - close; - } - } - if ((HNTR_Q > 2) && (HNTR_Q < 10)) { + 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; - if (Sex == 1) { - mes "[Hunter Sherin]"; - 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!!"; - close; - } mes "[Hunter Sherin]"; - 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~"; + 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; } - if (HNTR_Q == 2) { + else if (HNTR_Q == 2) { mes "[Hunter Sherin]"; mes "????"; next; @@ -606,7 +459,7 @@ hu_in01,386,373,4 script Hunter Guildsman#hnt 727,{ 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 a building east of the Payon Central Palace... Or in the Archer Village, one of those two places. Try visiting those places and find him, okay?"; + 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]"; @@ -622,442 +475,112 @@ hu_in01,382,382,4 script Guild Receptionist#hnt 732,{ 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; - if (select("Yes, that is correct.:Nope~~(heeheehee)") == 1) { - 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; + set .@selection,select("Yes, that is correct.:Nope~~(heeheehee)"); + if (.@selection == 2) { mes "[Demon Hunter]"; - mes "You see, we're having some financial problems. Let's see, we're short on these items..."; + mes "Hey, stop messing around."; + mes "Your name is " + strcharinfo(0) + ", right?"; next; - set .@item_need, rand(1,7); - if (.@item_need == 1) { + if (select("Yes...:Hehehe. I keep telling you, it's not~~") == 1) { mes "[Demon Hunter]"; - mes "Hmm. ^6600005 Claw of Desert Wolf^000000 to use for arrow tips. ^6600005 Trunk^000000 to use here and there. And ^6600003 White Herb^000000 please."; - set HNTR_Q,3; - changequest 4001,4002; + 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 "Oh right. Our Guildmaster has gone on an official trip to the Payon Central Palace. You have to go visit him since he's the one that administers the test."; - mes "You can find him in a building east of the Payon Central Palace."; + mes "You see, right now we're having some financial problems. Let's see, we're short on these items..."; next; - mes "[Demon Hunter]"; - mes "Alright then, come back to me when you have everything ready~"; - close; } - if (.@item_need == 2) { - mes "[Demon Hunter]"; - mes "Hmm. ^6600003 Bill of Birds^000000 to use for the arrow tips. ^6600005 Skel-bone^000000 to use here and there. And ^6600003 Green Herbs^000000. That should be enough."; - set HNTR_Q,4; - changequest 4001,4003; - next; + else { 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 since he's the one that administers the test."; - mes "You can find him in a building east of the Payon Central Palace."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back to me when you have everything ready~"; - close; + 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; } - if (.@item_need == 3) { - mes "[Demon Hunter]"; - mes "Mmm. ^6600003 Venom Canine^000000 to use as arrow tips. ^6600003 Animal Skin^000000 to use here and there. And ^6600005 Red Herb^000000. That should be enough."; - set HNTR_Q,5; - changequest 4001,4004; - 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 since he's the one that administers the test."; - mes "You can find him in a building east of the Payon Central Palace."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back to me when you have everything ready~"; - close; - } - if (.@item_need == 4) { - mes "[Demon Hunter]"; - mes "Mmm. ^6600003 Dokkaebi Horn^000000 to make the arrow tips. ^6600003 Piece of Egg Shell^000000 to use here and there. And ^66000010 Fluff^000000. That should be enough."; - set HNTR_Q,6; - changequest 4001,4005; - 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 since he's the one that administers the test."; - mes "You can find him in a building east of the Payon Central Palace."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back to me when you have everything ready~"; - close; - } - if (.@item_need == 5) { - mes "[Demon Hunter]"; - mes "Mmm. ^6600009 Shell^000000 to make the arrow tips. ^6600009 Worm Peeling^000000 to use here and there. And ^6600009 Yellow Herb^000000. That should be enough."; - set HNTR_Q,7; - changequest 4001,4006; - next; - mes "[Demon Hunter]"; - mes "By the way, a member of our Hunter Guild is at the Archer Guild on official business. I believe you have to go visit this person since he is in charge of the testing."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back when you have everything ready~"; - close; - } - if (.@item_need == 6) { - mes "[Demon Hunter]"; - mes "Mmm. ^6600003 Tooth of Bat^000000 to use for the arrow tips. ^6600001 Sticky Mucus^000000 to use as adhesive. And ^6600001 Bear's Footskin^000000 will do."; - set HNTR_Q,8; - changequest 4001,4007; - next; - mes "[Demon Hunter]"; - mes "By the way, a member of our Hunter Guild is at the Archer Guild on official business. I believe you have to go visit the person since he's in charge of the testing."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back when you have everything ready~"; - close; - } - mes "[Demon Hunter]"; - mes "Mmm. ^6600002 Porcupine Quill^000000 to use for the arrow tips. ^6600001 Yoyo Tail^000000 to help make the bow string. And ^6600001 Acorn^000000 please."; - set HNTR_Q,9; - changequest 4001,4008; - next; - mes "[Demon Hunter]"; - mes "Before I forget. A member of our Hunter Guild is at the Archer Guild for official business. I believe you have to go visit the person since he is in charge of the testing."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back when you have everything ready~"; } mes "[Demon Hunter]"; - mes "Hey, stop messing around."; - mes "Your name is " + strcharinfo(0) + ", right?"; + 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; - 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; - set .@item_need, rand(1,7); - if (.@item_need == 1) { - mes "[Demon Hunter]"; - mes "Hmm. 5 ^660000Claw of Desert Wolf^000000 to use for arrow tips. ^6600005 Trunk^000000 to use here and there. And ^6600003 White Herb^000000 please."; - set HNTR_Q,3; - changequest 4001,4002; - 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 since he's the one that administers the test."; - mes "You can find him in a building east of the Payon Central Palace."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back to me when you have everything ready~"; - close; - } - if (.@item_need == 2) { - mes "[Demon Hunter]"; - mes "Hmm. ^6600003 Bill of Birds^000000 to use for the arrow tips. ^6600005 Skel-bone^000000 to use here and there. And ^6600003 Green Herbs^000000. That should be enough."; - set HNTR_Q,4; - changequest 4001,4003; - 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 since he's the one that administers the test."; - mes "You can find him in a building east of the Payon Central Palace."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back to me when you have everything ready~"; - close; - } - if (.@item_need == 3) { - mes "[Demon Hunter]"; - mes "Mmm. ^6600003 Venom Canine^000000 to use as arrow tips. ^6600003 Animal Skin^000000 to use here and there. And ^6600005 Red Herb^000000. That should be enough."; - set HNTR_Q,5; - changequest 4001,4004; - 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 since he's the one that administers the test."; - mes "You can find him in a building east of the Payon Central Palace."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back to me when you have everything ready~"; - close; - } - if (.@item_need == 4) { - mes "[Demon Hunter]"; - mes "Mmm. ^6600003 Dokkaebi Horn^000000 to make the arrow tips. ^6600003 Piece of Egg Shell^000000 to use here and there. And ^66000010 Fluff^000000. That should be enough."; - set HNTR_Q,6; - changequest 4001,4005; - 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 since he's the one that administers the test."; - mes "You can find him in a building east of the Payon Central Palace."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back to me when you have everything ready~"; - close; - } - if (.@item_need == 5) { - mes "[Demon Hunter]"; - mes "Mmm. ^6600009 Shell^000000 to make the arrow tips. ^6600009 Worm Peeling^000000 to use here and there. And ^6600009 Yellow Herb^000000. That should be enough."; - set HNTR_Q,7; - changequest 4001,4006; - next; - mes "[Demon Hunter]"; - mes "By the way, a member of our Hunter Guild is at the Archer Guild on official business. I believe you have to go visit this person since he is in charge of the testing."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back when you have everything ready~"; - close; - } - if (.@item_need == 6) { - mes "[Demon Hunter]"; - mes "Mmm. ^6600003 Tooth of Bat^000000 to use for the arrow tips. ^6600001 Sticky Mucus^000000 to use as adhesive. And ^6600001 Bear's Footskin^000000 will do."; - set HNTR_Q,8; - changequest 4001,4007; - next; - mes "[Demon Hunter]"; - mes "By the way, a member of our Hunter Guild is at the Archer Guild on official business. I believe you have to go visit the person since he's in charge of the testing."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back when you have everything ready~"; - close; - } - mes "[Demon Hunter]"; - mes "Mmm. ^6600002 Porcupine Quill^000000 to use for the arrow tips. ^6600001 Yoyo Tail^000000 to help make the bow string. And ^6600001 Acorn^000000 please."; - set HNTR_Q,9; - changequest 4001,4008; - next; - mes "[Demon Hunter]"; - mes "Before I forget. A member of our Hunter Guild is at the Archer Guild for official business. I believe you have to go visit the person since he is in charge of the testing."; - next; - mes "[Demon Hunter]"; - mes "Alright then, come back when you have everything ready~"; - close; - } - 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; - } - if (HNTR_Q == 3) { mes "[Demon Hunter]"; - mes "Hmm?"; + mes "You see, we're having some financial problems. Let's see, we're short on these items..."; next; - if ((countitem(7030) > 4) && (countitem(1019) > 4) && (countitem(509) > 2)) { - 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,10; - completequest 4002; - completequest 4003; - completequest 4004; - completequest 4005; - completequest 4006; - completequest 4007; - completequest 4008; - setquest 4009; - delitem 7030,5; //Claw_Of_Desert_Wolf - delitem 1019,5; //Wooden_Block - delitem 509,3; //White_Herb - close; + if(checkre(0)) set .@i,1; + switch(rand(1,7)) { + //Insect_Feeler/Claw_Of_Desert_Wolf, Wooden_Block, White_Herb + case 1: setarray .@items[0], (.@i?928:7030),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/Posionous_Canine, Animal's_Skin, Red_Herb + case 3: setarray .@items[0], (.@i?1013:937),3, 919,3, 507,5, 5; changequest 4001,4004; break; + //Horn/Dokkaebi_Horn, Poison_Spore/Piece_Of_Egg_Shell, Fluff + case 4: setarray .@items[0], (.@i?947:1021),3, (.@i?7033:7032),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; } - 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 "^6600005 Claw of Desert Wolf^000000,"; - mes "^6600005 Trunk^000000 and"; - mes "^6600003 White Herb^000000."; - mes "Come back once you have"; - mes "gathered all the items."; - close; - } - if (HNTR_Q == 4) { - mes "[Demon Hunter]"; - mes "Ah, you have returned."; - next; - if ((countitem(925) > 2) && (countitem(932) > 4) && (countitem(511) > 2)) { + if (.@selection == 1) { mes "[Demon Hunter]"; - mes "You brought all the necessary materials... You can get directions to the testing area from our Guildmaster that is currently in the Payon Central Palace."; - set HNTR_Q,10; - completequest 4002; - completequest 4003; - completequest 4004; - completequest 4005; - completequest 4006; - completequest 4007; - completequest 4008; - setquest 4009; - delitem 925,3; //Bill_Of_Birds - delitem 932,5; //Skel_Bone - delitem 511,3; //Green_Herb - 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 "^6600003 Bill of Birds^000000,"; - mes "^6600005 Skel-bone^000000 and"; - mes "^6600003 Green Herb^000000."; - mes "Come back once you have"; - mes "gathered all the items."; - close; - } - if (HNTR_Q == 5) { - mes "[Demon Hunter]"; - mes "Hmm...let me see."; - next; - if ((countitem(937) > 2) && (countitem(919) > 2) && (countitem(507) > 4)) { - mes "[Demon Hunter]"; - mes "You brought all of the necessary materials... You can get directions to the testing area from our Guildmaster that is currently in the Payon Central Palace."; - set HNTR_Q,10; - completequest 4002; - completequest 4003; - completequest 4004; - completequest 4005; - completequest 4006; - completequest 4007; - completequest 4008; - setquest 4009; - delitem 937,3; //Posionous_Canine - delitem 919,3; //Animal's_Skin - delitem 507,5; //Red_Herb - 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 "^6600003 Venom Canine^000000,"; - mes "^6600003 Animal Skin^000000 and"; - mes "^6600005 Red Herb^000000."; - mes "Come back once you have"; - mes "gathered all of the items."; - close; - } - if (HNTR_Q == 6) { - mes "[Demon Hunter]"; - mes "Hmm? Let me see... "; - next; - if ((countitem(1021) > 2) && (countitem(7032) > 2) && (countitem(914) > 9)) { + 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 "You brought all of the necessary materials... You can get directions to the testing area from our Guildmaster that is currently in the Payon Central Palace."; - set HNTR_Q,10; - completequest 4002; - completequest 4003; - completequest 4004; - completequest 4005; - completequest 4006; - completequest 4007; - completequest 4008; - setquest 4009; - delitem 1021,3; //Dokkaebi_Horn - delitem 7032,3; //Piece_Of_Egg_Shell - delitem 914,10; //Fluff - 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 "^6600003 Dokkaebi Horn^000000,"; - mes "^6600003 Piece of Egg Shell^000000 and"; - mes "^66000010 Fluff^000000."; - mes "Come back once you have"; - mes "gathered all the items."; - close; - } - if (HNTR_Q == 7) { - mes "[Demon Hunter]"; - mes "Eh? Let me see..."; - next; - if ((countitem(935) > 8) && (countitem(955) > 8) && (countitem(508) > 8)) { + 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 "You brought all of the necessary materials... To get directions to the testing area, go talk to our Guildmaster who is at the Archer Guild."; - set HNTR_Q,11; - completequest 4002; - completequest 4003; - completequest 4004; - completequest 4005; - completequest 4006; - completequest 4007; - completequest 4008; - setquest 4010; - delitem 935,9; //Shell - delitem 955,9; //Worm_Peelings - delitem 508,9; //Yellow_Herb - close; + mes "Alright then, come back to me when you have everything ready~"; } - 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 "^6600009 Shell^000000,"; - mes "^6600009 Worm Peeling^000000 and"; - mes "^6600009 Yellow Herb^000000."; - mes "Come back once you have"; - mes "gathered all the items."; close; } - if (HNTR_Q == 8) { - mes "[Demon Hunter]"; - mes "Huh? "; - next; - if ((countitem(913) > 2) && (countitem(938) > 0) && (countitem(948) > 0)) { - mes "[Demon Hunter]"; - mes "You brought all of the necessary materials... To get directions to the testing area, go talk to our Guildmaster who is at the Archer Guild."; - set HNTR_Q,11; - completequest 4002; - completequest 4003; - completequest 4004; - completequest 4005; - completequest 4006; - completequest 4007; - completequest 4008; - setquest 4010; - delitem 913,3; //Tooth_Of_Bat - delitem 938,1; //Sticky_Mucus - delitem 948,1; //Bear's_Foot - close; + else if (HNTR_Q >= 3 && HNTR_Q <= 9) { + switch(HNTR_Q) { + //Insect_Feeler/Claw_Of_Desert_Wolf, Wooden_Block, White_Herb + case 3: setarray .@items[0], (.@i?928:7030),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/Posionous_Canine, Animal's_Skin, Red_Herb + case 5: setarray .@items[0], (.@i?1013:937),3, 919,3, 507,5, 10; break; + //Horn/Dokkaebi_Horn, Poison_Spore/Piece_Of_Egg_Shell, Fluff + case 6: setarray .@items[0], (.@i?947:1021),3, (.@i?7033:7032),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 "You don't have all"; - mes "of the required materials..."; - next; - mes "[Demon Hunter]"; - mes "The items you need are"; - mes "^6600003 Tooth of Bat^000000,"; - mes "^6600001 Sticky Mucus^000000 and"; - mes "^6600001 Bear's Footskin^000000."; - mes "Come back once you have"; - mes "gathered all the items."; - close; - } - if (HNTR_Q == 9) { - mes "[Demon Hunter]"; - mes "Huh? "; + mes "Hmm?"; next; - if ((countitem(1027) > 1) && (countitem(942) > 0) && (countitem(1026) > 0)) { + 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... To get directions to the testing area, go talk to our Guildmaster who is at the Archer Guild."; - set HNTR_Q,11; - completequest 4002; - completequest 4003; - completequest 4004; - completequest 4005; - completequest 4006; - completequest 4007; - completequest 4008; - setquest 4010; - delitem 1027,2; //Porcupine_Spike - delitem 942,1; //Yoyo_Tail - delitem 1026,1; //Acorn + 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]"; @@ -1066,81 +589,70 @@ hu_in01,382,382,4 script Guild Receptionist#hnt 732,{ next; mes "[Demon Hunter]"; mes "The items you need are"; - mes "^6600002 Porcupine Quill^000000,"; - mes "^6600001 Yoyo Tail^000000 and"; - mes "^6600001 Acorn^000000."; + 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; } - if ((HNTR_Q > 9) && (HNTR_Q < 17)) { + 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; } - if (HNTR_Q == 17) { + else if (HNTR_Q == 17) { mes "[Demon Hunter]"; mes "Ooh. You passed the test. Congratulations~ You should go talk to Sherin now."; close; } - mes "[Guild Receptionist]"; - mes "If you wish to change your job to a Hunter, you must register first."; - 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?"; - set @a0,1; next; - while (1) { - 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."; - set @a0,@a0 + 1; - close2; - break; - 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."; - set @a0,@a0 + 1; - close2; - break; - 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; + 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 "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."; + 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 "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."; - set @a0,@a0 + 1; - close2; - break; - case 4: - if (@a0 == 1) { - 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; - } - else { - mes "[Hunter Guildmaster]"; - mes "Okay. Best of luck."; - mes "I'll send you right now."; - next; - } - break; } - break; + 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."; @@ -1151,7 +663,7 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ warp "job_hunte",176,22; end; } - if ((HNTR_Q > 1) && (HNTR_Q < 10)) { + else if (HNTR_Q > 1 && HNTR_Q < 10) { mes "[Hunter Guildmaster]"; mes "Mmm...?"; mes "What is an Archer"; @@ -1164,12 +676,12 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ mes "Go gather the items for the test, and come back after you've visited the Hunter Guild."; close; } - if (HNTR_Q == 11) { + 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; } - if ((HNTR_Q > 11) && (HNTR_Q < 16)) { + 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; @@ -1177,43 +689,33 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ mes "If you have any"; mes "questions, ask now."; next; - while (1) { - 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."; - set @a0,@a0 + 1; - close2; - break; - 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."; - set @a0,@a0 + 1; - close2; - break; - 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."; - set @a0,@a0 + 1; - close2; - break; - case 4: - mes "[Hunter Guildmaster]"; - mes "Okay. Good luck."; - mes "I'll send you right now."; - next; - break; - } - break; + 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."; @@ -1227,7 +729,6 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ mes "you will pass this time!"; close2; set HNTR_Q,12; - changequest 4009,4011; warp "job_hunte",176,22; end; } @@ -1236,20 +737,20 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ mes "all of your preparations."; close; } - if (HNTR_Q == 16) { + 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; - changequest 4012,4013; 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; } - if (HNTR_Q == 17) { + 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; @@ -1257,69 +758,61 @@ payon_in03,131,7,3 script Hunter#htnGM 59,{ mes "Now, you should go back to the Hunter Guild~"; close; } - 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; + 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?"; - set @a0,1; - next; - while (1) { - 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."; - set @a0,@a0 + 1; - close2; - cutin "",255; - break; - 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."; - set @a0,@a0 + 1; - close2; - cutin "",255; - break; - 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; + +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 "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."; + 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 "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."; - set @a0,@a0 + 1; - close2; - cutin "",255; - break; - case 4: - if (@a0 == 1) { - 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; - } - else { - mes "[Hunter Guildmaster]"; - mes "Okay, best of luck."; - mes "I'll send you right now."; - next; - } - break; } - break; + 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."; @@ -1330,9 +823,10 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ set HNTR_Q,12; changequest 4010,4011; warp "job_hunte",176,22; + cutin "job_huntermaster",255; end; } - if ((HNTR_Q > 1) && (HNTR_Q < 10)) { + else if (HNTR_Q > 1 && HNTR_Q < 10) { mes "[Hunter Guildmaster]"; mes "Mmm...?"; mes "Why is an Archer"; @@ -1344,10 +838,10 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "[Hunter Guildmaster]"; mes "Stop by once you have gathered all the items needed for the test."; close2; - cutin "",255; + cutin "job_huntermaster",255; end; } - if (HNTR_Q == 10) { + else if (HNTR_Q == 10) { mes "[Hunter]"; mes "Mmm?"; mes "Can I help you"; @@ -1358,10 +852,10 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "[Hunter]"; mes "If you wish to change jobs, I think you need to go visit the person at Payon Central Palace."; close2; - cutin "",255; + cutin "job_huntermaster",255; end; } - if ((HNTR_Q > 11) && (HNTR_Q < 16)) { + 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; @@ -1370,49 +864,42 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "have questions,"; mes "feel free to ask."; next; - while (1) { - 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."; - set @a0,@a0 + 1; - close2; - cutin "",255; - break; - 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."; - set @a0,@a0 + 1; - close2; - cutin "",255; - break; - 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."; - set @a0,@a0 + 1; - close2; - cutin "",255; - break; - case 4: - mes "[Hunter Guildmaster]"; - mes "Okay, good luck."; - mes "I'll send you right now..."; - next; - break; - } - break; + 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."; @@ -1428,9 +915,8 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "Okay!! Now..."; mes "Pass this time!"; close2; - cutin "",255; + cutin "job_huntermaster",255; set HNTR_Q,12; - changequest 4010,4011; warp "job_hunte",176,22; end; } @@ -1440,15 +926,14 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "you're done with"; mes "your preparations."; close2; - cutin "",255; + cutin "job_huntermaster",255; end; } - if (HNTR_Q == 16) { + 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; - changequest 4012,4013; savepoint "payon",104,99; getitem 1007,1; //Penetration next; @@ -1457,10 +942,10 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "There you go."; mes "Now hurry back to the Hunter Guild, and join us~"; close2; - cutin "",255; + cutin "job_huntermaster",255; end; } - if (HNTR_Q == 17) { + 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; @@ -1470,69 +955,19 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ mes "for you back"; mes "at the Hunter Guild."; close2; - cutin "",255; - end; - } - 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 "",255; - end; -} - -job_hunte,178,32,1 script Guide#hnt 107,5,2,{ - - 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; - } - 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?"; - next; - if (select("Keep trying.:Resign.") == 1) { - mes "Okay. Do your best to become a great Hunter. Please enter the waiting room. If someone entered already, you must wait until that person is done."; - close; - } - mapannounce "job_hunte","" + strcharinfo(0) + "has resigned. Next person, please enter.",bc_map; - 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::OnReset"; - close2; - set HNTR_Q,13; - savepoint "payon",104,99; - warp "payon_in02",21,27; + cutin "job_huntermaster",255; end; } - if (HNTR_Q > 15) { - mes "[Guide]"; - mes "You shouldn't be here. How about finding the required job change item first?"; + 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; - savepoint "payon",104,99; - warp "payon_in02",21,27; + cutin "job_huntermaster",255; end; } +} +job_hunte,178,32,1 script Guide#hnt 107,5,2,{ OnTouch: if (HNTR_Q == 12) { mes "[Guide]"; @@ -1552,7 +987,7 @@ OnTouch: savepoint "job_hunte",176,22; close; } - if ((HNTR_Q > 12) && (HNTR_Q < 16)) { + else if (HNTR_Q > 12 && HNTR_Q < 16) { mes "[Guide]"; mes "Hmm..."; mes "Did you mess up?"; @@ -1563,32 +998,33 @@ OnTouch: 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; - if (select("Keep trying.:Resign.") == 1) { + 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; } - 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::OnReset"; - close2; - set HNTR_Q,13; - savepoint "payon",104,99; - warp "payon_in02",21,27; - end; } - if (HNTR_Q > 15) { + 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; } + end; } -job_hunte,176,38,1 script Waiting Room#hnt 66,{ +job_hunte,178,38,1 script Waiting Room#hnt 66,{ end; OnInit: @@ -1597,57 +1033,92 @@ OnInit: end; OnStartArena: - warpwaitingpc "job_hunte",90,67; + warpwaitingpc "job_hunte", 90, 67; donpcevent "Manager#hnt::OnEnable"; - donpcevent "Manager#hnt2::OnEnable"; - donpcevent "switch#hnt::OnDisable"; - donpcevent "hnt_backers::OnDisable"; disablewaitingroomevent; end; -OnReset: +OnStart: enablewaitingroomevent; end; } job_hunte,1,1,1 script Manager#hnt 66,{ - end; - 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"; - initnpctimer; - end; - -OnReset: - killmonster "job_hunte","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: - if (mobcount ("job_hunte","Manager#hnt::OnMyMobDead") < 3) { + 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::OnReset"; - donpcevent "Manager#hnt2::OnReset"; donpcevent "Manager#hnt::OnDisable"; - donpcevent "Manager#hnt2::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; @@ -1724,1558 +1195,610 @@ OnTimer194000: end; OnTimer195000: - donpcevent "hnt_backers::OnEnable"; - end; - -OnTimer196000: - donpcevent "hnt_backers::OnDisable"; - end; - -OnTimer196500: - donpcevent "hnt_backers::OnEnable"; + areawarp "job_hunte",50,64,129,143,"job_hunte",176,22; end; OnTimer197000: - donpcevent "hnt_backers::OnDisable"; - donpcevent "Manager#hnt::OnReset"; - donpcevent "Manager#hnt2::OnReset"; - donpcevent "Waiting Room#hnt::OnReset"; - end; -} - -job_hunte,1,2,1 script Manager#hnt2 66,{ - end; - -OnInit: - disablenpc "Manager#hnt2"; - end; - -OnEnable: - enablenpc "Manager#hnt2"; - monster "job_hunte",85,100,"Job Test Monster",1016,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",72,102,"Job Test Monster",1041,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",108,103,"Job Test Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",88,127,"Job Test Monster",1002,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",125,69,"Job Test Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",77,112,"Job Tester Monster",1016,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",53,106,"Job Tester Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",53,73,"Job Tester Monster",1002,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",125,70,"Job Tester Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",90,91,"Job Tester Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",67,80,"Hunter Change Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",77,112,"Hunter Change Monster",1016,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",53,106,"Hunter Change Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",53,73,"Hunter Change Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",125,70,"Hunter Change Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",90,91,"Job Transfer Monster",1041,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",85,100,"Job Transfer Monster",1002,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",72,102,"Job Transfer Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",108,103,"Job Transfer Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",77,112,"Job Transfer Monster",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",112,139,"Binnie",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",112,139,"Darrel",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",112,139,"Rex",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",112,139,"Anselmo",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",90,91,"Anolian",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",53,73,"Monster Sample",1002,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",53,106,"Not Me",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",77,112,"Help Me",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",72,102,"Do Not Hit Me",1015,1,"Manager#hnt2::OnMyMobDead"; - monster "job_hunte",108,103,"Attack Speed 184",1015,1,"Manager#hnt2::OnMyMobDead"; - end; - -OnReset: - killmonster "job_hunte","Manager#hnt2::OnMyMobDead"; - end; - -OnDisable: - disablenpc "Manager#hnt2"; - end; - -OnMyMobDead: - mapannounce "job_hunte"," " + strcharinfo(0) + "!! You made a mistake...Please try again.",bc_map; - set HNTR_Q,13; - warp "job_hunte",176,22; - donpcevent "Waiting Room#hnt::OnReset"; donpcevent "Manager#hnt::OnReset"; - donpcevent "Manager#hnt2::OnReset"; - donpcevent "Manager#hnt::OnDisable"; - donpcevent "Manager#hnt2::OnDisable"; + donpcevent "Waiting Room#hnt::OnStart"; end; } -job_hunte,93,101,1 script switch#hnt 723,1,1,{ - - 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; - donpcevent "exit#hnttest::OnEnable"; - 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 "Waiting Room#hnt::OnReset"; - 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")) { + 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; - donpcevent "exit#hnttest::OnEnable"; + 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; + mapannounce "job_hunte"," !! Operation has been cancelled. !! ",bc_map; end; case 3: - mapannounce "job_hunte"," ## Cancellation warp activating... ## ",bc_map; + 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 "Waiting Room#hnt::OnReset"; + donpcevent "Manager#hnt::OnReset"; + donpcevent "Waiting Room#hnt::OnStart"; end; } OnDisable: - donpcevent "exit#hnttest::OnDisable"; - disablenpc "switch#hnt"; + disablenpc "exit#hnttest"; + disablenpc "Switch#hnt"; end; OnEnable: - enablenpc "switch#hnt"; + enablenpc "Switch#hnt"; end; } job_hunte,89,139,0 script exit#hnttest 45,2,2,{ +OnInit: + disablenpc "exit#hnttest"; + end; OnTouch: - donpcevent "Waiting Room#hnt::OnReset"; + donpcevent "Manager#hnt::OnReset"; + donpcevent "Waiting Room#hnt::OnStart"; set HNTR_Q,16; changequest 4011,4012; savepoint "payon",104,99; - set .@whe,rand(1,2); - if (.@whe == 1) { + if (rand(1)) warp "payon_in02",21,27; - } - else { - warp "payon_in03",128,7; - } - end; - -OnInit: - disablenpc "exit#hnttest"; - end; - -OnEnable: - enablenpc "exit#hnttest"; - end; - -OnDisable: - disablenpc "exit#hnttest"; - end; -} - -job_hunte,89,103,0 script hnt_backers 139,42,42,{ - -OnTouch: - warp "job_hunte",176,22; - set HNTR_Q,13; - end; - -OnInit: - disablenpc "hnt_backers"; - end; - -OnEnable: - enablenpc "hnt_backers"; - end; - -OnDisable: - disablenpc "hnt_backers"; - end; + warp "payon_in03",128,7; } -- script hnt_job_quest_test::hntjqt -1,{ - +// Hunter Job test traps. +//============================================================ +job_hunte,52,140,0 script 1-1::HntTrap -1,0,1,{ OnTouch: - switch(rand(1,128)){ - 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 11: mapannounce "job_hunte"," " + strcharinfo(0) + "... aww~ Try again! You can do it!",bc_map; break; - case 12: mapannounce "job_hunte"," " + strcharinfo(0) + ", @#$%#^!@ and you wanna be a what? Hunter? Get back there!",bc_map; break; - case 13: mapannounce "job_hunte"," " + strcharinfo(0) + " was defeated by the forces of evil. Don't give up, hero!",bc_map; break; - case 14: mapannounce "job_hunte","I put a spell on you " + strcharinfo(0) + " and now you're mine! Go start over now.",bc_map; break; - case 15: 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 16: mapannounce "job_hunte","That's my nest " + strcharinfo(0) + "! dont step there, squawk~ Start over.",bc_map; break; - case 17: mapannounce "job_hunte"," " + strcharinfo(0) + ", another archer down. 3 more to go!",bc_map; break; - case 18: mapannounce "job_hunte"," " + strcharinfo(0) + ", have you got what it takes? Then try again.",bc_map; break; - case 19: 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 20: mapannounce "job_hunte"," " + strcharinfo(0) + " had too much prune juice to drink today. Back 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","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; - case 42: 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 43: 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 44: mapannounce "job_hunte"," " + strcharinfo(0) + " fell into a trap. Once again, for clarity's sake, the name is " + strcharinfo(0) + ".",bc_map; break; - case 45: mapannounce "job_hunte","Oy oy, " + strcharinfo(0) + ".. I've seen blind Porings get further! Go back to the starting point.",bc_map; break; - case 46: 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 47: 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 48: 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 49: 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 50: mapannounce "job_hunte"," " + strcharinfo(0) + ", do you have any idea where you're going? Start over *sigh*.",bc_map; break; - case 51: mapannounce "job_hunte"," " + strcharinfo(0) + ", do you like green tea ice cream? No? Go back to the starting point...*hmph*",bc_map; break; - case 52: mapannounce "job_hunte","Oh, no.. " + strcharinfo(0) + ", are you hurt? Come now, let's go back to the starting point.",bc_map; break; - case 53: 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 54: 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 55: 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 56: mapannounce "job_hunte","Oh, " + strcharinfo(0) + ".. You can do better. Try again!",bc_map; break; - case 57: 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 58: 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 59: mapannounce "job_hunte"," " + strcharinfo(0) + " faaaaaaaaaaaaaaaaailed.. Hehe, just kidding. You will be returned to the starting point so try again!",bc_map; break; - case 60: 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 61: mapannounce "job_hunte"," " + strcharinfo(0) + ", HAHAHAHAHAHA!!!! I can't believe you fell for that one!",bc_map; break; - case 62: 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 63: 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 64: 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 65: mapannounce "job_hunte"," " + strcharinfo(0) + ", OW...now that's gotta hurt. Back to the start~",bc_map; break; - case 66: mapannounce "job_hunte"," " + strcharinfo(0) + ", I find your lack of faith disturbing... Let's start over.",bc_map; break; - case 67: 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 68: 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 69: 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 70: mapannounce "job_hunte"," " + strcharinfo(0) + ", try not. Do or do not. There is no try.",bc_map; break; - case 71: mapannounce "job_hunte"," " + strcharinfo(0) + ", that is why you fail. Now try again!",bc_map; break; - case 72: 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 73: mapannounce "job_hunte"," " + strcharinfo(0) + ", you are beaten. It is useless to resist.",bc_map; break; - case 74: mapannounce "job_hunte"," " + strcharinfo(0) + ", I'm looking forward to completing your training. In time you will call me Master.",bc_map; break; - case 75: mapannounce "job_hunte"," " + strcharinfo(0) + ", your overconfidence is your weakness.",bc_map; break; - case 76: mapannounce "job_hunte"," " + strcharinfo(0) + ", watch your step. This place can be a little rough.",bc_map; break; - case 77: mapannounce "job_hunte"," " + strcharinfo(0) + ", oh I told you it was dangerous here.",bc_map; break; - case 78: mapannounce "job_hunte"," " + strcharinfo(0) + ", everything is proceeding as I have foreseen.",bc_map; break; - case 79: mapannounce "job_hunte"," " + strcharinfo(0) + ", you should have not come back.",bc_map; break; - case 80: mapannounce "job_hunte"," " + strcharinfo(0) + ", there are alternatives to fighting. But not to losing to this test. Now try again!",bc_map; break; - case 81: 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 82: mapannounce "job_hunte"," " + strcharinfo(0) + ", we do not train to be merciful here, mercy is for the weak!",bc_map; break; - case 83: mapannounce "job_hunte"," " + strcharinfo(0) + ", defeat does not exist here, does it?!",bc_map; break; - case 84: mapannounce "job_hunte"," " + strcharinfo(0) + ", concentrate. Focus your powers!",bc_map; break; - case 85: mapannounce "job_hunte"," " + strcharinfo(0) + ", am I going mad, or did the word -think- escape your lips?",bc_map; break; - case 86: mapannounce "job_hunte"," " + strcharinfo(0) + ", you're just stalling now.",bc_map; break; - case 87: mapannounce "job_hunte"," " + strcharinfo(0) + ", life isn't always fair.",bc_map; break; - case 88: mapannounce "job_hunte"," " + strcharinfo(0) + ".... Uhhh...it's not OUR fault....",bc_map; break; - case 89: mapannounce "job_hunte"," " + strcharinfo(0) + ", survivability takes priority.",bc_map; break; - case 90: mapannounce "job_hunte"," " + strcharinfo(0) + ", people have the strength to overcome their obstacles...everyone can.",bc_map; break; - case 91: 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 92: mapannounce "job_hunte"," " + strcharinfo(0) + ", some things are real and some things are false. Can't you tell the difference?",bc_map; break; - case 93: 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 94: mapannounce "job_hunte"," " + strcharinfo(0) + ", I'll give you just one piece of advice... dying hurts like hell.",bc_map; break; - case 95: mapannounce "job_hunte"," " + strcharinfo(0) + ", don't give up the spirit! Just be more careful...",bc_map; break; - case 96: 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 97: 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 98: 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 99: 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 100: 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 101: mapannounce "job_hunte"," " + strcharinfo(0) + ", ....Chii?",bc_map; break; - case 102: mapannounce "job_hunte"," " + strcharinfo(0) + ", Mine! Mine! Mine! Mine!",bc_map; break; - case 103: mapannounce "job_hunte"," " + strcharinfo(0) + ", it's time to duel!",bc_map; break; - case 104: mapannounce "job_hunte"," " + strcharinfo(0) + ", I choose you!...wait... uagh...not you!...",bc_map; break; - case 105: mapannounce "job_hunte"," " + strcharinfo(0) + ", this isn't the time to be complimenting it!",bc_map; break; - case 106: mapannounce "job_hunte"," " + strcharinfo(0) + "...Oh great, what else could go wrong today?",bc_map; break; - case 107: 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 108: 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 109: mapannounce "job_hunte"," " + strcharinfo(0) + ", don't worry about it. We're good at fighting losing battles, remember?",bc_map; break; - case 110: 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 111: mapannounce "job_hunte"," " + strcharinfo(0) + ", you must forget about your past for the sake of your own happiness.",bc_map; break; - case 112: mapannounce "job_hunte"," " + strcharinfo(0) + ", if you can fool your friends, you can fool your enemies.",bc_map; break; - case 113: mapannounce "job_hunte"," " + strcharinfo(0) + ", this world is made up of love and peace!",bc_map; break; - case 114: mapannounce "job_hunte"," " + strcharinfo(0) + ", if you fail, you must drink this.....*evil grin*",bc_map; break; - case 115: mapannounce "job_hunte"," " + strcharinfo(0) + ", don't say we didn't warn you!",bc_map; break; - case 116: 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 117: mapannounce "job_hunte"," " + strcharinfo(0) + ", STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!STUDY!",bc_map; break; - case 118: mapannounce "job_hunte"," " + strcharinfo(0) + ", how you like me now? That's right, that was MY trap!",bc_map; break; - case 119: mapannounce "job_hunte"," " + strcharinfo(0) + "...brilliant...just absolutely...genius. Sorry, I was talking about all these crazy traps.",bc_map; break; - case 120: mapannounce "job_hunte"," " + strcharinfo(0) + ", it's time to bust out of that trap, Houdini-style! Hey, wait...come back!",bc_map; break; - case 121: 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 122: mapannounce "job_hunte"," " + strcharinfo(0) + "...not smooth, dude. Go for it again, one more time!",bc_map; break; - case 123: mapannounce "job_hunte"," " + strcharinfo(0) + ",it looks like you could really be in a pickle. Back to the starting point...",bc_map; break; - case 124: 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 125: 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 126: mapannounce "job_hunte"," " + strcharinfo(0) + ", don't give up! The world still needs you!",bc_map; break; - case 127: mapannounce "job_hunte"," " + strcharinfo(0) + ", it's okay to cry. Just not too loudly.",bc_map; break; - case 128: 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; - default: mapannounce "job_hunte"," " + strcharinfo(0) + ", you have fallen into a trap. You will be returned to the starting point.",bc_map; break; + 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 job_hunter,13; + set HNTR_Q,13; warp "job_hunte",176,22; - donpcevent "Waiting Room#hnt::OnReset"; donpcevent "Manager#hnt::OnReset"; - donpcevent "Manager#hnt2::OnReset"; - donpcevent "Manager#hnt::OnDisable"; - donpcevent "Manager#hnt2::OnDisable"; - end; - -OnEnable: - enablenpc "1-1"; - enablenpc "1-2"; - enablenpc "1-3"; - enablenpc "1-4"; - enablenpc "1-5"; - enablenpc "1-6"; - enablenpc "1-7"; - enablenpc "1-8"; - enablenpc "2-1"; - enablenpc "2-2"; - enablenpc "2-3"; - enablenpc "2-4"; - enablenpc "2-5"; - enablenpc "2-6"; - enablenpc "2-7"; - enablenpc "2-8"; - enablenpc "3-1"; - enablenpc "3-2"; - enablenpc "3-3"; - enablenpc "3-4"; - enablenpc "4-1"; - enablenpc "4-2"; - enablenpc "4-3"; - enablenpc "4-4"; - enablenpc "5-1"; - enablenpc "5-2"; - enablenpc "5-3"; - enablenpc "5-4"; - enablenpc "6-1"; - enablenpc "6-2"; - enablenpc "6-3"; - enablenpc "6-4"; - enablenpc "7-1"; - enablenpc "7-2"; - enablenpc "7-3"; - enablenpc "7-4"; - enablenpc "8-1"; - enablenpc "8-2"; - enablenpc "8-3"; - enablenpc "8-4"; - enablenpc "9-1"; - enablenpc "9-2"; - enablenpc "9-3"; - enablenpc "9-4"; - enablenpc "10-1"; - enablenpc "10-2"; - enablenpc "10-3"; - enablenpc "10-4"; - enablenpc "11-1"; - enablenpc "11-2"; - enablenpc "11-3"; - enablenpc "11-4"; - enablenpc "12-1"; - enablenpc "12-2"; - enablenpc "12-3"; - enablenpc "12-4"; - enablenpc "13-1"; - enablenpc "13-2"; - enablenpc "13-3"; - enablenpc "13-4"; - enablenpc "14-1"; - enablenpc "14-2"; - enablenpc "14-3"; - enablenpc "14-4"; - enablenpc "15-1"; - enablenpc "15-2"; - enablenpc "15-3"; - enablenpc "15-4"; - enablenpc "16-1"; - enablenpc "16-2"; - enablenpc "16-3"; - enablenpc "16-4"; - enablenpc "17-1"; - enablenpc "17-2"; - enablenpc "17-3"; - enablenpc "17-4"; - enablenpc "18-1"; - enablenpc "18-2"; - enablenpc "18-3"; - enablenpc "18-4"; - enablenpc "19-1"; - enablenpc "19-2"; - enablenpc "19-3"; - enablenpc "19-4"; - enablenpc "20-1"; - enablenpc "20-2"; - enablenpc "20-3"; - enablenpc "20-4"; - enablenpc "21-1"; - enablenpc "21-2"; - enablenpc "21-3"; - enablenpc "21-4"; - enablenpc "22-1"; - enablenpc "22-2"; - enablenpc "22-3"; - enablenpc "22-4"; - enablenpc "23-1"; - enablenpc "23-2"; - enablenpc "23-3"; - enablenpc "23-4"; - enablenpc "24-1"; - enablenpc "24-2"; - enablenpc "24-3"; - enablenpc "24-4"; - enablenpc "25-1"; - enablenpc "25-2"; - enablenpc "25-3"; - enablenpc "25-4"; - enablenpc "26-1"; - enablenpc "26-2"; - enablenpc "26-3"; - enablenpc "26-4"; - enablenpc "27-1"; - enablenpc "27-2"; - enablenpc "27-3"; - enablenpc "27-4"; - enablenpc "28-1"; - enablenpc "28-2"; - enablenpc "28-3"; - enablenpc "28-4"; - enablenpc "29-1"; - enablenpc "29-2"; - enablenpc "29-3"; - enablenpc "29-4"; - enablenpc "30-1"; - enablenpc "30-2"; - enablenpc "30-3"; - enablenpc "30-4"; - enablenpc "31-1"; - enablenpc "31-2"; - enablenpc "31-3"; - enablenpc "31-4"; - enablenpc "32-1"; - enablenpc "32-2"; - enablenpc "32-3"; - enablenpc "32-4"; - enablenpc "33-1"; - enablenpc "33-2"; - enablenpc "33-3"; - enablenpc "33-4"; - enablenpc "34-1"; - enablenpc "34-2"; - enablenpc "34-3"; - enablenpc "34-4"; - enablenpc "35-1"; - enablenpc "35-2"; - enablenpc "35-3"; - enablenpc "35-4"; - enablenpc "36-1"; - enablenpc "36-2"; - enablenpc "36-3"; - enablenpc "36-4"; - enablenpc "37-1"; - enablenpc "37-2"; - enablenpc "37-3"; - enablenpc "37-4"; - enablenpc "38-1"; - enablenpc "38-2"; - enablenpc "38-3"; - enablenpc "38-4"; - enablenpc "39-1"; - enablenpc "39-2"; - enablenpc "39-3"; - enablenpc "39-4"; - enablenpc "40-1"; - enablenpc "40-2"; - enablenpc "40-3"; - enablenpc "40-4"; - enablenpc "41-1"; - enablenpc "41-2"; - enablenpc "41-3"; - enablenpc "41-4"; - enablenpc "42-1"; - enablenpc "42-2"; - enablenpc "42-3"; - enablenpc "42-4"; - enablenpc "43-1"; - enablenpc "43-2"; - enablenpc "43-3"; - enablenpc "43-4"; - enablenpc "44-1"; - enablenpc "44-2"; - enablenpc "44-3"; - enablenpc "44-4"; - enablenpc "45-1"; - enablenpc "45-2"; - enablenpc "45-3"; - enablenpc "45-4"; - enablenpc "46-1"; - enablenpc "46-2"; - enablenpc "46-3"; - enablenpc "46-4"; - enablenpc "47-1"; - enablenpc "47-2"; - enablenpc "47-3"; - enablenpc "47-4"; - enablenpc "48-1"; - enablenpc "48-2"; - enablenpc "48-3"; - enablenpc "48-4"; - enablenpc "49-1"; - enablenpc "49-2"; - enablenpc "49-3"; - enablenpc "49-4"; - enablenpc "50-1"; - enablenpc "50-2"; - enablenpc "50-3"; - enablenpc "50-4"; - enablenpc "51-1"; - enablenpc "51-2"; - enablenpc "51-3"; - enablenpc "51-4"; - enablenpc "52-1"; - enablenpc "52-2"; - enablenpc "52-3"; - enablenpc "52-4"; - enablenpc "53-1"; - enablenpc "53-2"; - enablenpc "53-3"; - enablenpc "53-4"; - enablenpc "54-1"; - enablenpc "54-2"; - enablenpc "54-3"; - enablenpc "54-4"; - enablenpc "55-1"; - enablenpc "55-2"; - enablenpc "55-3"; - enablenpc "55-4"; - enablenpc "56-1"; - enablenpc "56-2"; - enablenpc "56-3"; - enablenpc "56-4"; - enablenpc "56-6"; - enablenpc "56-7"; - enablenpc "56-8"; - enablenpc "57-1"; - enablenpc "57-2"; - enablenpc "57-3"; - end; - -OnDisable: - disablenpc "1-1"; - disablenpc "1-2"; - disablenpc "1-3"; - disablenpc "1-4"; - disablenpc "1-5"; - disablenpc "1-6"; - disablenpc "1-7"; - disablenpc "1-8"; - disablenpc "2-1"; - disablenpc "2-2"; - disablenpc "2-3"; - disablenpc "2-4"; - disablenpc "2-5"; - disablenpc "2-6"; - disablenpc "2-7"; - disablenpc "2-8"; - disablenpc "3-1"; - disablenpc "3-2"; - disablenpc "3-3"; - disablenpc "3-4"; - disablenpc "4-1"; - disablenpc "4-2"; - disablenpc "4-3"; - disablenpc "4-4"; - disablenpc "5-1"; - disablenpc "5-2"; - disablenpc "5-3"; - disablenpc "5-4"; - disablenpc "6-1"; - disablenpc "6-2"; - disablenpc "6-3"; - disablenpc "6-4"; - disablenpc "7-1"; - disablenpc "7-2"; - disablenpc "7-3"; - disablenpc "7-4"; - disablenpc "8-1"; - disablenpc "8-2"; - disablenpc "8-3"; - disablenpc "8-4"; - disablenpc "9-1"; - disablenpc "9-2"; - disablenpc "9-3"; - disablenpc "9-4"; - disablenpc "10-1"; - disablenpc "10-2"; - disablenpc "10-3"; - disablenpc "10-4"; - disablenpc "11-1"; - disablenpc "11-2"; - disablenpc "11-3"; - disablenpc "11-4"; - disablenpc "12-1"; - disablenpc "12-2"; - disablenpc "12-3"; - disablenpc "12-4"; - disablenpc "13-1"; - disablenpc "13-2"; - disablenpc "13-3"; - disablenpc "13-4"; - disablenpc "14-1"; - disablenpc "14-2"; - disablenpc "14-3"; - disablenpc "14-4"; - disablenpc "15-1"; - disablenpc "15-2"; - disablenpc "15-3"; - disablenpc "15-4"; - disablenpc "16-1"; - disablenpc "16-2"; - disablenpc "16-3"; - disablenpc "16-4"; - disablenpc "17-1"; - disablenpc "17-2"; - disablenpc "17-3"; - disablenpc "17-4"; - disablenpc "18-1"; - disablenpc "18-2"; - disablenpc "18-3"; - disablenpc "18-4"; - disablenpc "19-1"; - disablenpc "19-2"; - disablenpc "19-3"; - disablenpc "19-4"; - disablenpc "20-1"; - disablenpc "20-2"; - disablenpc "20-3"; - disablenpc "20-4"; - disablenpc "21-1"; - disablenpc "21-2"; - disablenpc "21-3"; - disablenpc "21-4"; - disablenpc "22-1"; - disablenpc "22-2"; - disablenpc "22-3"; - disablenpc "22-4"; - disablenpc "23-1"; - disablenpc "23-2"; - disablenpc "23-3"; - disablenpc "23-4"; - disablenpc "24-1"; - disablenpc "24-2"; - disablenpc "24-3"; - disablenpc "24-4"; - disablenpc "25-1"; - disablenpc "25-2"; - disablenpc "25-3"; - disablenpc "25-4"; - disablenpc "26-1"; - disablenpc "26-2"; - disablenpc "26-3"; - disablenpc "26-4"; - disablenpc "27-1"; - disablenpc "27-2"; - disablenpc "27-3"; - disablenpc "27-4"; - disablenpc "28-1"; - disablenpc "28-2"; - disablenpc "28-3"; - disablenpc "28-4"; - disablenpc "29-1"; - disablenpc "29-2"; - disablenpc "29-3"; - disablenpc "29-4"; - disablenpc "30-1"; - disablenpc "30-2"; - disablenpc "30-3"; - disablenpc "30-4"; - disablenpc "31-1"; - disablenpc "31-2"; - disablenpc "31-3"; - disablenpc "31-4"; - disablenpc "32-1"; - disablenpc "32-2"; - disablenpc "32-3"; - disablenpc "32-4"; - disablenpc "33-1"; - disablenpc "33-2"; - disablenpc "33-3"; - disablenpc "33-4"; - disablenpc "34-1"; - disablenpc "34-2"; - disablenpc "34-3"; - disablenpc "34-4"; - disablenpc "35-1"; - disablenpc "35-2"; - disablenpc "35-3"; - disablenpc "35-4"; - disablenpc "36-1"; - disablenpc "36-2"; - disablenpc "36-3"; - disablenpc "36-4"; - disablenpc "37-1"; - disablenpc "37-2"; - disablenpc "37-3"; - disablenpc "37-4"; - disablenpc "38-1"; - disablenpc "38-2"; - disablenpc "38-3"; - disablenpc "38-4"; - disablenpc "39-1"; - disablenpc "39-2"; - disablenpc "39-3"; - disablenpc "39-4"; - disablenpc "40-1"; - disablenpc "40-2"; - disablenpc "40-3"; - disablenpc "40-4"; - disablenpc "41-1"; - disablenpc "41-2"; - disablenpc "41-3"; - disablenpc "41-4"; - disablenpc "42-1"; - disablenpc "42-2"; - disablenpc "42-3"; - disablenpc "42-4"; - disablenpc "43-1"; - disablenpc "43-2"; - disablenpc "43-3"; - disablenpc "43-4"; - disablenpc "44-1"; - disablenpc "44-2"; - disablenpc "44-3"; - disablenpc "44-4"; - disablenpc "45-1"; - disablenpc "45-2"; - disablenpc "45-3"; - disablenpc "45-4"; - disablenpc "46-1"; - disablenpc "46-2"; - disablenpc "46-3"; - disablenpc "46-4"; - disablenpc "47-1"; - disablenpc "47-2"; - disablenpc "47-3"; - disablenpc "47-4"; - disablenpc "48-1"; - disablenpc "48-2"; - disablenpc "48-3"; - disablenpc "48-4"; - disablenpc "49-1"; - disablenpc "49-2"; - disablenpc "49-3"; - disablenpc "49-4"; - disablenpc "50-1"; - disablenpc "50-2"; - disablenpc "50-3"; - disablenpc "50-4"; - disablenpc "51-1"; - disablenpc "51-2"; - disablenpc "51-3"; - disablenpc "51-4"; - disablenpc "52-1"; - disablenpc "52-2"; - disablenpc "52-3"; - disablenpc "52-4"; - disablenpc "53-1"; - disablenpc "53-2"; - disablenpc "53-3"; - disablenpc "53-4"; - disablenpc "54-1"; - disablenpc "54-2"; - disablenpc "54-3"; - disablenpc "54-4"; - disablenpc "55-1"; - disablenpc "55-2"; - disablenpc "55-3"; - disablenpc "55-4"; - disablenpc "56-1"; - disablenpc "56-2"; - disablenpc "56-3"; - disablenpc "56-4"; - disablenpc "56-6"; - disablenpc "56-7"; - disablenpc "56-8"; - disablenpc "57-1"; - disablenpc "57-2"; - disablenpc "57-3"; + donpcevent "Waiting Room#hnt::OnStart"; end; } -job_hunte,52,140,0 duplicate(hntjqt) 1-1 139,0,1 -job_hunte,53,140,0 duplicate(hntjqt) 1-2 139,0,1 -job_hunte,54,141,0 duplicate(hntjqt) 1-3 139 -job_hunte,55,141,0 duplicate(hntjqt) 1-4 139 -job_hunte,55,140,0 duplicate(hntjqt) 1-5 139 -job_hunte,54,140,0 duplicate(hntjqt) 1-6 139 -job_hunte,52,138,0 duplicate(hntjqt) 1-7 139 -job_hunte,53,138,0 duplicate(hntjqt) 1-8 139 -job_hunte,62,140,0 duplicate(hntjqt) 2-1 139,0,1 -job_hunte,63,140,0 duplicate(hntjqt) 2-2 139,0,1 -job_hunte,64,140,0 duplicate(hntjqt) 2-3 139 -job_hunte,64,141,0 duplicate(hntjqt) 2-4 139 -job_hunte,65,140,0 duplicate(hntjqt) 2-5 139 -job_hunte,65,141,0 duplicate(hntjqt) 2-6 139 -job_hunte,62,138,0 duplicate(hntjqt) 2-7 139 -job_hunte,63,138,0 duplicate(hntjqt) 2-8 139 -job_hunte,72,140,0 duplicate(hntjqt) 3-1 139,0,1 -job_hunte,73,140,0 duplicate(hntjqt) 3-2 139,0,1 -job_hunte,72,138,0 duplicate(hntjqt) 3-3 139 -job_hunte,72,138,0 duplicate(hntjqt) 3-4 139 -job_hunte,78,140,0 duplicate(hntjqt) 4-1 139 -job_hunte,78,141,0 duplicate(hntjqt) 4-2 139 -job_hunte,79,140,0 duplicate(hntjqt) 4-3 139 -job_hunte,79,141,0 duplicate(hntjqt) 4-4 139 -job_hunte,82,138,0 duplicate(hntjqt) 5-1 139 -job_hunte,82,139,0 duplicate(hntjqt) 5-2 139 -job_hunte,83,138,0 duplicate(hntjqt) 5-3 139 -job_hunte,83,139,0 duplicate(hntjqt) 5-4 139 -job_hunte,99,138,0 duplicate(hntjqt) 6-1 139,1,0 -job_hunte,99,139,0 duplicate(hntjqt) 6-2 139,1,0 -job_hunte,101,138,0 duplicate(hntjqt) 6-3 139 -job_hunte,101,139,0 duplicate(hntjqt) 6-4 139 -job_hunte,106,140,0 duplicate(hntjqt) 7-1 139,0,1 -job_hunte,107,140,0 duplicate(hntjqt) 7-2 139,0,1 -job_hunte,106,138,0 duplicate(hntjqt) 7-3 139 -job_hunte,107,138,0 duplicate(hntjqt) 7-4 139 -job_hunte,112,140,0 duplicate(hntjqt) 8-1 139 -job_hunte,112,141,0 duplicate(hntjqt) 8-2 139 -job_hunte,113,140,0 duplicate(hntjqt) 8-3 139 -job_hunte,113,141,0 duplicate(hntjqt) 8-4 139 -job_hunte,116,140,0 duplicate(hntjqt) 9-1 139 -job_hunte,116,141,0 duplicate(hntjqt) 9-2 139 -job_hunte,117,140,0 duplicate(hntjqt) 9-3 139 -job_hunte,117,141,0 duplicate(hntjqt) 9-4 139 -job_hunte,120,138,0 duplicate(hntjqt) 10-1 139 -job_hunte,120,139,0 duplicate(hntjqt) 10-2 139 -job_hunte,121,138,0 duplicate(hntjqt) 10-3 139 -job_hunte,121,139,0 duplicate(hntjqt) 10-4 139 -job_hunte,126,139,0 duplicate(hntjqt) 11-1 139,0,2 -job_hunte,127,139,0 duplicate(hntjqt) 11-2 139,0,2 -job_hunte,126,136,0 duplicate(hntjqt) 11-3 139 -job_hunte,127,136,0 duplicate(hntjqt) 11-4 139 -job_hunte,52,134,0 duplicate(hntjqt) 12-1 139,0,1 -job_hunte,53,134,0 duplicate(hntjqt) 12-2 139,0,1 -job_hunte,52,132,0 duplicate(hntjqt) 12-3 139 -job_hunte,53,132,0 duplicate(hntjqt) 12-4 139 -job_hunte,124,130,0 duplicate(hntjqt) 13-1 139 -job_hunte,124,131,0 duplicate(hntjqt) 13-2 139 -job_hunte,125,130,0 duplicate(hntjqt) 13-3 139 -job_hunte,125,131,0 duplicate(hntjqt) 13-4 139 -job_hunte,64,128,0 duplicate(hntjqt) 14-1 139 -job_hunte,64,129,0 duplicate(hntjqt) 14-2 139 -job_hunte,65,128,0 duplicate(hntjqt) 14-3 139 -job_hunte,65,129,0 duplicate(hntjqt) 14-4 139 -job_hunte,68,126,0 duplicate(hntjqt) 15-1 139 -job_hunte,68,127,0 duplicate(hntjqt) 15-2 139 -job_hunte,69,126,0 duplicate(hntjqt) 15-3 139 -job_hunte,69,127,0 duplicate(hntjqt) 15-4 139 -job_hunte,75,128,0 duplicate(hntjqt) 16-1 139,1,0 -job_hunte,75,129,0 duplicate(hntjqt) 16-2 139,1,0 -job_hunte,77,128,0 duplicate(hntjqt) 16-3 139 -job_hunte,77,129,0 duplicate(hntjqt) 16-4 139 -job_hunte,82,126,0 duplicate(hntjqt) 17-1 139 -job_hunte,82,127,0 duplicate(hntjqt) 17-2 139 -job_hunte,83,126,0 duplicate(hntjqt) 17-3 139 -job_hunte,83,127,0 duplicate(hntjqt) 17-4 139 -job_hunte,96,128,0 duplicate(hntjqt) 18-1 139 -job_hunte,96,129,0 duplicate(hntjqt) 18-2 139 -job_hunte,97,128,0 duplicate(hntjqt) 18-3 139 -job_hunte,97,129,0 duplicate(hntjqt) 18-4 139 -job_hunte,100,126,0 duplicate(hntjqt) 19-1 139 -job_hunte,100,127,0 duplicate(hntjqt) 19-2 139 -job_hunte,101,126,0 duplicate(hntjqt) 19-3 139 -job_hunte,101,127,0 duplicate(hntjqt) 19-4 139 -job_hunte,106,128,0 duplicate(hntjqt) 20-1 139 -job_hunte,106,129,0 duplicate(hntjqt) 20-2 139 -job_hunte,107,128,0 duplicate(hntjqt) 20-3 139 -job_hunte,107,129,0 duplicate(hntjqt) 20-4 139 -job_hunte,112,126,0 duplicate(hntjqt) 21-1 139 -job_hunte,112,127,0 duplicate(hntjqt) 21-2 139 -job_hunte,113,126,0 duplicate(hntjqt) 21-3 139 -job_hunte,113,127,0 duplicate(hntjqt) 21-4 139 -job_hunte,126,126,0 duplicate(hntjqt) 22-1 139 -job_hunte,126,127,0 duplicate(hntjqt) 22-2 139 -job_hunte,127,126,0 duplicate(hntjqt) 22-3 139 -job_hunte,127,127,0 duplicate(hntjqt) 22-4 139 -job_hunte,52,122,0 duplicate(hntjqt) 23-1 139,0,1 -job_hunte,52,122,0 duplicate(hntjqt) 23-2 139,0,1 -job_hunte,53,120,0 duplicate(hntjqt) 23-3 139,1,0 -job_hunte,54,121,0 duplicate(hntjqt) 23-4 139 -job_hunte,55,121,0 duplicate(hntjqt) 23-5 139 -job_hunte,55,120,0 duplicate(hntjqt) 23-6 139 -job_hunte,66,120,0 duplicate(hntjqt) 24-1 139 -job_hunte,66,121,0 duplicate(hntjqt) 24-2 139 -job_hunte,67,120,0 duplicate(hntjqt) 24-3 139 -job_hunte,67,121,0 duplicate(hntjqt) 24-4 139 -job_hunte,114,118,0 duplicate(hntjqt) 25-1 139 -job_hunte,114,119,0 duplicate(hntjqt) 25-2 139 -job_hunte,115,118,0 duplicate(hntjqt) 25-3 139 -job_hunte,115,119,0 duplicate(hntjqt) 25-4 139 -job_hunte,124,120,0 duplicate(hntjqt) 26-1 139,0,1 -job_hunte,125,120,0 duplicate(hntjqt) 26-2 139,0,1 -job_hunte,124,118,0 duplicate(hntjqt) 26-3 139 -job_hunte,125,118,0 duplicate(hntjqt) 26-4 139 -job_hunte,66,116,0 duplicate(hntjqt) 27-1 139 -job_hunte,66,117,0 duplicate(hntjqt) 27-2 139 -job_hunte,67,116,0 duplicate(hntjqt) 27-3 139 -job_hunte,67,117,0 duplicate(hntjqt) 27-4 139 -job_hunte,76,114,0 duplicate(hntjqt) 28-1 139 -job_hunte,76,115,0 duplicate(hntjqt) 28-2 139 -job_hunte,77,114,0 duplicate(hntjqt) 28-3 139 -job_hunte,77,115,0 duplicate(hntjqt) 28-4 139 -job_hunte,82,116,0 duplicate(hntjqt) 29-1 139 -job_hunte,82,117,0 duplicate(hntjqt) 29-2 139 -job_hunte,83,116,0 duplicate(hntjqt) 29-3 139 -job_hunte,83,117,0 duplicate(hntjqt) 29-4 139 -job_hunte,86,114,0 duplicate(hntjqt) 30-1 139 -job_hunte,86,115,0 duplicate(hntjqt) 30-2 139 -job_hunte,87,114,0 duplicate(hntjqt) 30-3 139 -job_hunte,87,115,0 duplicate(hntjqt) 30-4 139 -job_hunte,92,115,0 duplicate(hntjqt) 31-1 139,1,0 -job_hunte,92,114,0 duplicate(hntjqt) 31-2 139,1,0 -job_hunte,90,115,0 duplicate(hntjqt) 31-3 139 -job_hunte,102,116,0 duplicate(hntjqt) 32-1 139 -job_hunte,102,117,0 duplicate(hntjqt) 32-2 139 -job_hunte,103,116,0 duplicate(hntjqt) 32-3 139 -job_hunte,103,117,0 duplicate(hntjqt) 32-4 139 -job_hunte,114,114,0 duplicate(hntjqt) 33-1 139 -job_hunte,114,115,0 duplicate(hntjqt) 33-2 139 -job_hunte,115,114,0 duplicate(hntjqt) 33-3 139 -job_hunte,115,115,0 duplicate(hntjqt) 33-4 139 -job_hunte,54,110,0 duplicate(hntjqt) 34-1 139,0,1 -job_hunte,55,110,0 duplicate(hntjqt) 34-2 139,0,1 -job_hunte,54,108,0 duplicate(hntjqt) 34-3 139 -job_hunte,55,108,0 duplicate(hntjqt) 34-4 139 -job_hunte,64,112,0 duplicate(hntjqt) 35-1 139 -job_hunte,64,113,0 duplicate(hntjqt) 35-2 139 -job_hunte,65,112,0 duplicate(hntjqt) 35-3 139 -job_hunte,65,113,0 duplicate(hntjqt) 35-4 139 -job_hunte,80,110,0 duplicate(hntjqt) 36-1 139 -job_hunte,80,111,0 duplicate(hntjqt) 36-2 139 -job_hunte,81,110,0 duplicate(hntjqt) 36-3 139 -job_hunte,81,111,0 duplicate(hntjqt) 36-4 139 -job_hunte,90,108,0 duplicate(hntjqt) 37-1 139,0,6 -job_hunte,91,108,0 duplicate(hntjqt) 37-2 139,0,5 -job_hunte,91,102,0 duplicate(hntjqt) 37-3 139 -job_hunte,98,109,0 duplicate(hntjqt) 38-1 139,0,2 -job_hunte,99,109,0 duplicate(hntjqt) 38-2 139,0,2 -job_hunte,103,109,0 duplicate(hntjqt) 38-3 139,3,0 -job_hunte,103,108,0 duplicate(hntjqt) 38-4 139,3,0 -job_hunte,97,106,0 duplicate(hntjqt) 39-1 139,2,0 -job_hunte,96,107,0 duplicate(hntjqt) 39-2 139,1,0 -job_hunte,94,108,0 duplicate(hntjqt) 39-3 139,0,1 -job_hunte,95,109,0 duplicate(hntjqt) 39-4 139 -job_hunte,95,108,0 duplicate(hntjqt) 40-1 139 -job_hunte,94,106,0 duplicate(hntjqt) 40-2 139 -job_hunte,96,102,0 duplicate(hntjqt) 40-3 139,0,3 -job_hunte,97,102,0 duplicate(hntjqt) 40-4 139,0,3 -job_hunte,95,98,0 duplicate(hntjqt) 41-1 139,2,0 -job_hunte,94,99,0 duplicate(hntjqt) 42-1 139,1,0 -job_hunte,92,98,0 duplicate(hntjqt) 43-1 139 -job_hunte,112,110,0 duplicate(hntjqt) 44-1 139 -job_hunte,112,111,0 duplicate(hntjqt) 44-2 139 -job_hunte,113,110,0 duplicate(hntjqt) 44-3 139 -job_hunte,113,111,0 duplicate(hntjqt) 44-4 139 -job_hunte,126,108,0 duplicate(hntjqt) 45-1 139,0,1 -job_hunte,127,108,0 duplicate(hntjqt) 45-2 139,0,1 -job_hunte,126,106,0 duplicate(hntjqt) 45-3 139 -job_hunte,126,106,0 duplicate(hntjqt) 45-4 139 -job_hunte,53,102,0 duplicate(hntjqt) 46-1 139,1,1 -job_hunte,55,102,0 duplicate(hntjqt) 46-2 139,0,1 -job_hunte,53,100,0 duplicate(hntjqt) 46-3 139,1,0 -job_hunte,55,100,0 duplicate(hntjqt) 46-4 139 -job_hunte,64,106,0 duplicate(hntjqt) 47-1 139 -job_hunte,64,107,0 duplicate(hntjqt) 47-2 139 -job_hunte,65,106,0 duplicate(hntjqt) 47-3 139 -job_hunte,65,107,0 duplicate(hntjqt) 47-4 139 -job_hunte,66,100,0 duplicate(hntjqt) 48-1 139 -job_hunte,66,101,0 duplicate(hntjqt) 48-2 139 -job_hunte,67,100,0 duplicate(hntjqt) 48-3 139 -job_hunte,67,101,0 duplicate(hntjqt) 48-4 139 -job_hunte,86,106,0 duplicate(hntjqt) 49-1 139,0,1 -job_hunte,87,106,0 duplicate(hntjqt) 49-2 139,0,1 -job_hunte,82,104,0 duplicate(hntjqt) 49-3 139,5,0 -job_hunte,81,105,0 duplicate(hntjqt) 49-4 139,4,0 -job_hunte,76,105,0 duplicate(hntjqt) 50-1 139 -job_hunte,76,104,0 duplicate(hntjqt) 50-2 139 -job_hunte,78,101,0 duplicate(hntjqt) 50-3 139,0,2 -job_hunte,79,101,0 duplicate(hntjqt) 50-4 139,0,2 -job_hunte,76,99,0 duplicate(hntjqt) 51-1 139,1,0 -job_hunte,77,98,0 duplicate(hntjqt) 51-2 139,2,0 -job_hunte,74,99,0 duplicate(hntjqt) 51-3 139 -job_hunte,74,98,0 duplicate(hntjqt) 51-4 139 -job_hunte,82,100,0 duplicate(hntjqt) 53-1 139 -job_hunte,82,101,0 duplicate(hntjqt) 53-2 139 -job_hunte,83,100,0 duplicate(hntjqt) 53-3 139 -job_hunte,83,101,0 duplicate(hntjqt) 53-4 139 -job_hunte,106,104,0 duplicate(hntjqt) 54-1 139 -job_hunte,106,105,0 duplicate(hntjqt) 54-2 139 -job_hunte,107,104,0 duplicate(hntjqt) 54-3 139 -job_hunte,107,105,0 duplicate(hntjqt) 54-4 139 -job_hunte,112,104,0 duplicate(hntjqt) 55-1 139,0,1 -job_hunte,113,104,0 duplicate(hntjqt) 55-2 139,0,1 -job_hunte,112,102,0 duplicate(hntjqt) 55-3 139 -job_hunte,113,102,0 duplicate(hntjqt) 55-4 139 -job_hunte,54,92,0 duplicate(hntjqt) 56-1 139 -job_hunte,54,93,0 duplicate(hntjqt) 56-2 139 -job_hunte,55,92,0 duplicate(hntjqt) 56-3 139 -job_hunte,55,93,0 duplicate(hntjqt) 56-4 139 -job_hunte,52,90,0 duplicate(hntjqt) 56-5 139 -job_hunte,52,91,0 duplicate(hntjqt) 56-6 139 -job_hunte,53,90,0 duplicate(hntjqt) 56-7 139 -job_hunte,53,91,0 duplicate(hntjqt) 56-8 139 -job_hunte,64,92,0 duplicate(hntjqt) 57-1 139 -job_hunte,64,93,0 duplicate(hntjqt) 57-2 139 -job_hunte,65,92,0 duplicate(hntjqt) 57-3 139 - -- script hnt_job_quest_test2::hntjqt2 -1,{ - +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 job_hunter,13; + 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 "Waiting Room#hnt::OnReset"; donpcevent "Manager#hnt::OnReset"; - donpcevent "Manager#hnt2::OnReset"; - donpcevent "Manager#hnt::OnDisable"; - donpcevent "Manager#hnt2::OnDisable"; - end; - -OnEnable: - enablenpc "57-4"; - enablenpc "58-1"; - enablenpc "58-2"; - enablenpc "58-3"; - enablenpc "58-4"; - enablenpc "59-1"; - enablenpc "59-2"; - enablenpc "59-3"; - enablenpc "59-4"; - enablenpc "60-1"; - enablenpc "60-2"; - enablenpc "60-3"; - enablenpc "60-4"; - enablenpc "61-1"; - enablenpc "61-2"; - enablenpc "61-3"; - enablenpc "61-4"; - enablenpc "62-1"; - enablenpc "62-2"; - enablenpc "62-3"; - enablenpc "62-4"; - enablenpc "63-1"; - enablenpc "63-2"; - enablenpc "63-3"; - enablenpc "63-4"; - enablenpc "64-1"; - enablenpc "64-2"; - enablenpc "64-3"; - enablenpc "64-4"; - enablenpc "65-1"; - enablenpc "65-2"; - enablenpc "65-3"; - enablenpc "65-4"; - enablenpc "66-1"; - enablenpc "66-2"; - enablenpc "66-3"; - enablenpc "66-4"; - enablenpc "67-1"; - enablenpc "67-2"; - enablenpc "67-3"; - enablenpc "67-4"; - enablenpc "68-1"; - enablenpc "68-2"; - enablenpc "68-3"; - enablenpc "68-4"; - enablenpc "69-1"; - enablenpc "69-2"; - enablenpc "69-3"; - enablenpc "69-4"; - enablenpc "70-1"; - enablenpc "70-2"; - enablenpc "70-3"; - enablenpc "70-4"; - enablenpc "71-1"; - enablenpc "71-2"; - enablenpc "71-3"; - enablenpc "71-4"; - enablenpc "72-1"; - enablenpc "72-2"; - enablenpc "72-3"; - enablenpc "72-4"; - enablenpc "73-1"; - enablenpc "73-2"; - enablenpc "73-3"; - enablenpc "73-4"; - enablenpc "74-1"; - enablenpc "74-2"; - enablenpc "74-3"; - enablenpc "74-4"; - enablenpc "75-1"; - enablenpc "75-2"; - enablenpc "75-3"; - enablenpc "75-4"; - enablenpc "76-1"; - enablenpc "76-2"; - enablenpc "76-3"; - enablenpc "76-4"; - enablenpc "77-1"; - enablenpc "77-2"; - enablenpc "77-3"; - enablenpc "77-4"; - enablenpc "78-1"; - enablenpc "78-2"; - enablenpc "78-3"; - enablenpc "78-4"; - enablenpc "79-1"; - enablenpc "79-2"; - enablenpc "79-3"; - enablenpc "79-4"; - enablenpc "80-1"; - enablenpc "80-2"; - enablenpc "80-3"; - enablenpc "80-4"; - enablenpc "81-1"; - enablenpc "81-2"; - enablenpc "81-3"; - enablenpc "81-4"; - enablenpc "82-1"; - enablenpc "82-2"; - enablenpc "82-3"; - enablenpc "82-4"; - enablenpc "83-1"; - enablenpc "83-2"; - enablenpc "83-3"; - enablenpc "83-4"; - enablenpc "84-1"; - enablenpc "84-2"; - enablenpc "84-3"; - enablenpc "84-4"; - enablenpc "85-1"; - enablenpc "85-2"; - enablenpc "85-3"; - enablenpc "85-4"; - enablenpc "86-1"; - enablenpc "86-2"; - enablenpc "86-3"; - enablenpc "86-4"; - enablenpc "87-1"; - enablenpc "87-2"; - enablenpc "87-3"; - enablenpc "87-4"; - enablenpc "88-1"; - enablenpc "88-2"; - enablenpc "88-3"; - enablenpc "88-4"; - enablenpc "89-1"; - enablenpc "89-2"; - enablenpc "89-3"; - enablenpc "89-4"; - enablenpc "90-1"; - enablenpc "90-2"; - enablenpc "90-3"; - enablenpc "90-4"; - enablenpc "91-1"; - enablenpc "91-2"; - enablenpc "91-3"; - enablenpc "91-4"; - enablenpc "92-1"; - enablenpc "92-2"; - enablenpc "92-3"; - enablenpc "92-4"; - enablenpc "93-1"; - enablenpc "93-2"; - enablenpc "93-3"; - enablenpc "93-4"; - enablenpc "94-1"; - enablenpc "94-2"; - enablenpc "94-3"; - enablenpc "94-4"; - enablenpc "95-1"; - enablenpc "95-2"; - enablenpc "95-3"; - enablenpc "95-4"; - enablenpc "96-1"; - enablenpc "96-2"; - enablenpc "96-3"; - enablenpc "96-4"; - enablenpc "97-1"; - enablenpc "97-2"; - enablenpc "97-3"; - enablenpc "97-4"; - end; - -OnDisable: - disablenpc "57-4"; - disablenpc "58-1"; - disablenpc "58-2"; - disablenpc "58-3"; - disablenpc "58-4"; - disablenpc "59-1"; - disablenpc "59-2"; - disablenpc "59-3"; - disablenpc "59-4"; - disablenpc "60-1"; - disablenpc "60-2"; - disablenpc "60-3"; - disablenpc "60-4"; - disablenpc "61-1"; - disablenpc "61-2"; - disablenpc "61-3"; - disablenpc "61-4"; - disablenpc "62-1"; - disablenpc "62-2"; - disablenpc "62-3"; - disablenpc "62-4"; - disablenpc "63-1"; - disablenpc "63-2"; - disablenpc "63-3"; - disablenpc "63-4"; - disablenpc "64-1"; - disablenpc "64-2"; - disablenpc "64-3"; - disablenpc "64-4"; - disablenpc "65-1"; - disablenpc "65-2"; - disablenpc "65-3"; - disablenpc "65-4"; - disablenpc "66-1"; - disablenpc "66-2"; - disablenpc "66-3"; - disablenpc "66-4"; - disablenpc "67-1"; - disablenpc "67-2"; - disablenpc "67-3"; - disablenpc "67-4"; - disablenpc "68-1"; - disablenpc "68-2"; - disablenpc "68-3"; - disablenpc "68-4"; - disablenpc "69-1"; - disablenpc "69-2"; - disablenpc "69-3"; - disablenpc "69-4"; - disablenpc "70-1"; - disablenpc "70-2"; - disablenpc "70-3"; - disablenpc "70-4"; - disablenpc "71-1"; - disablenpc "71-2"; - disablenpc "71-3"; - disablenpc "71-4"; - disablenpc "72-1"; - disablenpc "72-2"; - disablenpc "72-3"; - disablenpc "72-4"; - disablenpc "73-1"; - disablenpc "73-2"; - disablenpc "73-3"; - disablenpc "73-4"; - disablenpc "74-1"; - disablenpc "74-2"; - disablenpc "74-3"; - disablenpc "74-4"; - disablenpc "75-1"; - disablenpc "75-2"; - disablenpc "75-3"; - disablenpc "75-4"; - disablenpc "76-1"; - disablenpc "76-2"; - disablenpc "76-3"; - disablenpc "76-4"; - disablenpc "77-1"; - disablenpc "77-2"; - disablenpc "77-3"; - disablenpc "77-4"; - disablenpc "78-1"; - disablenpc "78-2"; - disablenpc "78-3"; - disablenpc "78-4"; - disablenpc "79-1"; - disablenpc "79-2"; - disablenpc "79-3"; - disablenpc "79-4"; - disablenpc "80-1"; - disablenpc "80-2"; - disablenpc "80-3"; - disablenpc "80-4"; - disablenpc "81-1"; - disablenpc "81-2"; - disablenpc "81-3"; - disablenpc "81-4"; - disablenpc "82-1"; - disablenpc "82-2"; - disablenpc "82-3"; - disablenpc "82-4"; - disablenpc "83-1"; - disablenpc "83-2"; - disablenpc "83-3"; - disablenpc "83-4"; - disablenpc "84-1"; - disablenpc "84-2"; - disablenpc "84-3"; - disablenpc "84-4"; - disablenpc "85-1"; - disablenpc "85-2"; - disablenpc "85-3"; - disablenpc "85-4"; - disablenpc "86-1"; - disablenpc "86-2"; - disablenpc "86-3"; - disablenpc "86-4"; - disablenpc "87-1"; - disablenpc "87-2"; - disablenpc "87-3"; - disablenpc "87-4"; - disablenpc "88-1"; - disablenpc "88-2"; - disablenpc "88-3"; - disablenpc "88-4"; - disablenpc "89-1"; - disablenpc "89-2"; - disablenpc "89-3"; - disablenpc "89-4"; - disablenpc "90-1"; - disablenpc "90-2"; - disablenpc "90-3"; - disablenpc "90-4"; - disablenpc "91-1"; - disablenpc "91-2"; - disablenpc "91-3"; - disablenpc "91-4"; - disablenpc "92-1"; - disablenpc "92-2"; - disablenpc "92-3"; - disablenpc "92-4"; - disablenpc "93-1"; - disablenpc "93-2"; - disablenpc "93-3"; - disablenpc "93-4"; - disablenpc "94-1"; - disablenpc "94-2"; - disablenpc "94-3"; - disablenpc "94-4"; - disablenpc "95-1"; - disablenpc "95-2"; - disablenpc "95-3"; - disablenpc "95-4"; - disablenpc "96-1"; - disablenpc "96-2"; - disablenpc "96-3"; - disablenpc "96-4"; - disablenpc "97-1"; - disablenpc "97-2"; - disablenpc "97-3"; - disablenpc "97-4"; + donpcevent "Waiting Room#hnt::OnStart"; end; } -job_hunte,65,93,0 duplicate(hntjqt2) 57-4 139 -job_hunte,76,94,0 duplicate(hntjqt2) 58-1 139 -job_hunte,76,95,0 duplicate(hntjqt2) 58-2 139 -job_hunte,77,94,0 duplicate(hntjqt2) 58-3 139 -job_hunte,77,95,0 duplicate(hntjqt2) 58-4 139 -job_hunte,78,92,0 duplicate(hntjqt2) 59-1 139 -job_hunte,78,93,0 duplicate(hntjqt2) 59-2 139 -job_hunte,79,92,0 duplicate(hntjqt2) 59-3 139 -job_hunte,79,93,0 duplicate(hntjqt2) 59-4 139 -job_hunte,86,92,0 duplicate(hntjqt2) 60-1 139 -job_hunte,86,93,0 duplicate(hntjqt2) 60-2 139 -job_hunte,87,92,0 duplicate(hntjqt2) 60-3 139 -job_hunte,87,93,0 duplicate(hntjqt2) 60-4 139 -job_hunte,90,96,0 duplicate(hntjqt2) 61-1 139 -job_hunte,90,97,0 duplicate(hntjqt2) 61-2 139 -job_hunte,91,96,0 duplicate(hntjqt2) 61-3 139 -job_hunte,91,97,0 duplicate(hntjqt2) 61-4 139 -job_hunte,99,95,0 duplicate(hntjqt2) 62-1 139,1,0 -job_hunte,99,94,0 duplicate(hntjqt2) 62-2 139,1,0 -job_hunte,101,94,0 duplicate(hntjqt2) 62-3 139,0,1 -job_hunte,100,93,0 duplicate(hntjqt2) 62-4 139 -job_hunte,100,92,0 duplicate(hntjqt2) 63-1 139 -job_hunte,101,92,0 duplicate(hntjqt2) 63-2 139 -job_hunte,102,98,0 duplicate(hntjqt2) 64-1 139 -job_hunte,102,99,0 duplicate(hntjqt2) 64-2 139 -job_hunte,103,98,0 duplicate(hntjqt2) 64-3 139 -job_hunte,103,99,0 duplicate(hntjqt2) 64-4 139 -job_hunte,102,90,0 duplicate(hntjqt2) 65-1 139 -job_hunte,102,91,0 duplicate(hntjqt2) 65-2 139 -job_hunte,103,90,0 duplicate(hntjqt2) 65-3 139 -job_hunte,103,91,0 duplicate(hntjqt2) 65-4 139 -job_hunte,114,96,0 duplicate(hntjqt2) 66-1 139 -job_hunte,114,97,0 duplicate(hntjqt2) 66-2 139 -job_hunte,115,96,0 duplicate(hntjqt2) 66-3 139 -job_hunte,115,97,0 duplicate(hntjqt2) 66-4 139 -job_hunte,112,90,0 duplicate(hntjqt2) 67-1 139 -job_hunte,112,91,0 duplicate(hntjqt2) 67-2 139 -job_hunte,113,90,0 duplicate(hntjqt2) 67-3 139 -job_hunte,113,91,0 duplicate(hntjqt2) 67-4 139 -job_hunte,125,97,0 duplicate(hntjqt2) 68-1 139,1,0 -job_hunte,125,96,0 duplicate(hntjqt2) 68-2 139,1,0 -job_hunte,127,96,0 duplicate(hntjqt2) 68-3 139 -job_hunte,127,97,0 duplicate(hntjqt2) 68-4 139 -job_hunte,52,86,0 duplicate(hntjqt2) 69-1 139 -job_hunte,52,87,0 duplicate(hntjqt2) 69-2 139 -job_hunte,53,86,0 duplicate(hntjqt2) 69-3 139 -job_hunte,53,87,0 duplicate(hntjqt2) 69-4 139 -job_hunte,66,88,0 duplicate(hntjqt2) 70-1 139 -job_hunte,66,89,0 duplicate(hntjqt2) 70-2 139 -job_hunte,67,88,0 duplicate(hntjqt2) 70-3 139 -job_hunte,67,89,0 duplicate(hntjqt2) 70-4 139 -job_hunte,114,84,0 duplicate(hntjqt2) 71-1 139 -job_hunte,114,85,0 duplicate(hntjqt2) 71-2 139 -job_hunte,115,84,0 duplicate(hntjqt2) 71-3 139 -job_hunte,115,85,0 duplicate(hntjqt2) 71-4 139 -job_hunte,126,86,0 duplicate(hntjqt2) 72-1 139 -job_hunte,126,87,0 duplicate(hntjqt2) 72-2 139 -job_hunte,127,86,0 duplicate(hntjqt2) 72-3 139 -job_hunte,127,87,0 duplicate(hntjqt2) 72-4 139 -job_hunte,54,80,0 duplicate(hntjqt2) 73-1 139,0,1 -job_hunte,55,80,0 duplicate(hntjqt2) 73-2 139,0,1 -job_hunte,54,78,0 duplicate(hntjqt2) 73-3 139 -job_hunte,55,78,0 duplicate(hntjqt2) 73-4 139 -job_hunte,64,82,0 duplicate(hntjqt2) 74-1 139,0,1 -job_hunte,65,82,0 duplicate(hntjqt2) 74-2 139,0,1 -job_hunte,64,80,0 duplicate(hntjqt2) 74-3 139 -job_hunte,65,80,0 duplicate(hntjqt2) 74-4 139 -job_hunte,66,78,0 duplicate(hntjqt2) 75-1 139 -job_hunte,66,79,0 duplicate(hntjqt2) 75-2 139 -job_hunte,67,78,0 duplicate(hntjqt2) 75-3 139 -job_hunte,67,79,0 duplicate(hntjqt2) 75-4 139 -job_hunte,74,78,0 duplicate(hntjqt2) 76-1 139 -job_hunte,74,79,0 duplicate(hntjqt2) 76-2 139 -job_hunte,75,78,0 duplicate(hntjqt2) 76-3 139 -job_hunte,75,79,0 duplicate(hntjqt2) 76-4 139 -job_hunte,78,80,0 duplicate(hntjqt2) 77-1 139 -job_hunte,78,81,0 duplicate(hntjqt2) 77-2 139 -job_hunte,79,80,0 duplicate(hntjqt2) 77-3 139 -job_hunte,79,81,0 duplicate(hntjqt2) 77-4 139 -job_hunte,82,78,0 duplicate(hntjqt2) 78-1 139 -job_hunte,82,79,0 duplicate(hntjqt2) 78-2 139 -job_hunte,83,78,0 duplicate(hntjqt2) 78-3 139 -job_hunte,83,79,0 duplicate(hntjqt2) 78-4 139 -job_hunte,94,78,0 duplicate(hntjqt2) 79-1 139 -job_hunte,94,79,0 duplicate(hntjqt2) 79-2 139 -job_hunte,95,78,0 duplicate(hntjqt2) 79-3 139 -job_hunte,95,79,0 duplicate(hntjqt2) 79-4 139 -job_hunte,101,80,0 duplicate(hntjqt2) 80-1 139,1,0 -job_hunte,101,81,0 duplicate(hntjqt2) 80-2 139,1,0 -job_hunte,103,81,0 duplicate(hntjqt2) 80-3 139 -job_hunte,103,80,0 duplicate(hntjqt2) 80-4 139 -job_hunte,104,78,0 duplicate(hntjqt2) 81-1 139 -job_hunte,104,79,0 duplicate(hntjqt2) 81-2 139 -job_hunte,105,78,0 duplicate(hntjqt2) 81-3 139 -job_hunte,105,79,0 duplicate(hntjqt2) 81-4 139 -job_hunte,110,78,0 duplicate(hntjqt2) 82-1 139 -job_hunte,110,79,0 duplicate(hntjqt2) 82-2 139 -job_hunte,111,78,0 duplicate(hntjqt2) 82-3 139 -job_hunte,111,79,0 duplicate(hntjqt2) 82-4 139 -job_hunte,114,80,0 duplicate(hntjqt2) 83-1 139 -job_hunte,114,81,0 duplicate(hntjqt2) 83-2 139 -job_hunte,115,80,0 duplicate(hntjqt2) 83-3 139 -job_hunte,115,81,0 duplicate(hntjqt2) 83-4 139 -job_hunte,124,78,0 duplicate(hntjqt2) 84-1 139 -job_hunte,124,79,0 duplicate(hntjqt2) 84-2 139 -job_hunte,125,78,0 duplicate(hntjqt2) 84-3 139 -job_hunte,125,79,0 duplicate(hntjqt2) 84-4 139 -job_hunte,126,82,0 duplicate(hntjqt2) 85-1 139 -job_hunte,126,83,0 duplicate(hntjqt2) 85-2 139 -job_hunte,127,82,0 duplicate(hntjqt2) 85-3 139 -job_hunte,127,83,0 duplicate(hntjqt2) 85-4 139 -job_hunte,52,68,0 duplicate(hntjqt2) 86-1 139,0,1 -job_hunte,53,68,0 duplicate(hntjqt2) 86-2 139,0,1 -job_hunte,52,66,0 duplicate(hntjqt2) 86-3 139 -job_hunte,53,66,0 duplicate(hntjqt2) 86-4 139 -job_hunte,54,70,0 duplicate(hntjqt2) 87-1 139,0,1 -job_hunte,55,70,0 duplicate(hntjqt2) 87-2 139,0,1 -job_hunte,54,68,0 duplicate(hntjqt2) 87-3 139 -job_hunte,55,68,0 duplicate(hntjqt2) 87-4 139 -job_hunte,59,66,0 duplicate(hntjqt2) 88-1 139,1,0 -job_hunte,59,67,0 duplicate(hntjqt2) 88-2 139,1,0 -job_hunte,61,67,0 duplicate(hntjqt2) 88-3 139 -job_hunte,61,66,0 duplicate(hntjqt2) 88-4 139 -job_hunte,68,68,0 duplicate(hntjqt2) 89-1 139,0,1 -job_hunte,69,68,0 duplicate(hntjqt2) 89-2 139,0,1 -job_hunte,68,66,0 duplicate(hntjqt2) 89-3 139 -job_hunte,69,66,0 duplicate(hntjqt2) 89-4 139 -job_hunte,76,66,0 duplicate(hntjqt2) 90-1 139 -job_hunte,76,67,0 duplicate(hntjqt2) 90-2 139 -job_hunte,77,66,0 duplicate(hntjqt2) 90-3 139 -job_hunte,77,67,0 duplicate(hntjqt2) 90-4 139 -job_hunte,82,68,0 duplicate(hntjqt2) 91-1 139 -job_hunte,82,69,0 duplicate(hntjqt2) 91-2 139 -job_hunte,83,68,0 duplicate(hntjqt2) 91-3 139 -job_hunte,83,69,0 duplicate(hntjqt2) 91-4 139 -job_hunte,96,66,0 duplicate(hntjqt2) 92-1 139 -job_hunte,96,67,0 duplicate(hntjqt2) 92-2 139 -job_hunte,97,66,0 duplicate(hntjqt2) 92-3 139 -job_hunte,97,67,0 duplicate(hntjqt2) 92-4 139 -job_hunte,100,68,0 duplicate(hntjqt2) 93-1 139 -job_hunte,100,69,0 duplicate(hntjqt2) 93-2 139 -job_hunte,101,68,0 duplicate(hntjqt2) 93-3 139 -job_hunte,101,69,0 duplicate(hntjqt2) 93-4 139 -job_hunte,107,66,0 duplicate(hntjqt2) 94-1 139,1,0 -job_hunte,107,67,0 duplicate(hntjqt2) 94-2 139,1,0 -job_hunte,109,67,0 duplicate(hntjqt2) 94-3 139 -job_hunte,109,66,0 duplicate(hntjqt2) 94-4 139 -job_hunte,117,69,0 duplicate(hntjqt2) 95-1 139,1,0 -job_hunte,117,68,0 duplicate(hntjqt2) 95-2 139,1,0 -job_hunte,119,69,0 duplicate(hntjqt2) 95-3 139 -job_hunte,119,68,0 duplicate(hntjqt2) 95-4 139 -job_hunte,124,66,0 duplicate(hntjqt2) 96-1 139 -job_hunte,124,67,0 duplicate(hntjqt2) 96-2 139 -job_hunte,125,66,0 duplicate(hntjqt2) 96-3 139 -job_hunte,125,67,0 duplicate(hntjqt2) 96-4 139 -job_hunte,126,70,0 duplicate(hntjqt2) 97-1 139 -job_hunte,126,71,0 duplicate(hntjqt2) 97-2 139 -job_hunte,127,70,0 duplicate(hntjqt2) 97-3 139 -job_hunte,127,71,0 duplicate(hntjqt2) 97-4 139 \ No newline at end of file +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/jobs/2-1/knight.txt b/npc/jobs/2-1/knight.txt index e4141188c..f14da8d41 100644 --- a/npc/jobs/2-1/knight.txt +++ b/npc/jobs/2-1/knight.txt @@ -1,118 +1,108 @@ //===== rAthena Script ======================================= -// Knight Job change Quest +//= Knight Job Quest //===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= PGRO TEAM (Aegis). +//= Converted by kobra_k88 +//= Further bugfixed and tested by Lupus //===== Current Version: ===================================== -//= 1.0 +//= 3.2 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Swordman -> Knight. +//= [Aegis Conversion] +//= Job Change quest for Knight class. //===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] +//= 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 56,{ +prt_in,88,101,4 script Chivalry Captain#knt 56,{ + mes "[Captain Herman]"; if (Upper == 1) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; 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."; - close2; - cutin "",255; - end; + close; } - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Knight || Class == Job_Knight) { - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; + 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..."; - close2; - cutin "",255; - end; + close; } - if (Class == Job_Baby || Class == Job_Novice) { - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; + 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.")) { + 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?"; - if (Sex == 1) { - mes "I'm sorry, lad, but you've"; - mes "come to the wrong place!"; - } - else { - mes "I'm sorry, lass, but you've"; - mes "come to the wrong place!"; - } + mes "I'm sorry, "+((Sex)?"lad":"lass")+", but you've"; + mes "come to the wrong place!"; next; - cutin "job_knight_herman1",2; 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."; - break; + 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; - cutin "job_knight_herman1",2; mes "[Captain Herman]"; mes "First, visit the Swordman guild in Izlude. Then, come visit us again once you have become a well experienced Swordman."; - break; + close; case 3: - cutin "job_knight_herman1",2; 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?"; - break; + close; } - next; - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; - mes "If you really wish to become a knight, please come back later."; - close2; - cutin "",255; - end; } - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; - mes "Welcome. We, the proud Knights of the Prontera Chivalry, will give our lives for king and country! Please enjoy your stay."; - close2; - cutin "",255; - end; + 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) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; mes "Welcome, this is"; mes "the Prontera Chivalry."; mes "What brings you here?"; next; - switch (select("I want to change my job to a Knight.:Just visiting.")) { - case 1: + if (select("I want to change my job to a Knight.:Just visiting.") == 1) { mes "[Captain Herman]"; - if (Sex == 1) { - mes "Ohh..."; - mes "A young man who wishes"; - mes "to become a Knight!"; - } - else { - mes "Ohh..."; - mes "A young lady who wishes"; - mes "to become a Knight!"; - } + mes "Ohh..."; + mes "A young "+((Sex)?"man":"lady")+" who wishes"; + mes "to become a Knight!"; mes "Our Prontera Chivalry"; mes "will assist you."; next; @@ -129,34 +119,26 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "you eligible, we will begin the job change procedure. Would you"; mes "like to apply now?"; next; - switch (select("Yes, I would like to apply.:I'd like to think about it please.")) { - case 1: + if (select("Yes, I would like to apply.:I'd like to think about it please.") == 1) { + mes "[Captain Herman]"; if (JobLevel < 40) { - mes "[Captain Herman]"; 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."; - close2; - cutin "",255; - end; + close; } - if (SkillPoint != 0) { - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; + 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."; - close2; - cutin "",255; - end; + close; } set KNIGHT_Q,1; setquest 9000; - mes "[Captain Herman]"; mes "Let me see..."; mes "Your name is"; - mes "" + strcharinfo(0) + "..."; + mes strcharinfo(0) + "..."; mes "Is that right?"; next; mes "[Captain Herman]"; @@ -173,43 +155,32 @@ prt_in,88,101,4 script Chivalry Captain 56,{ 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; - cutin "job_knight_herman1",2; 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."; - close2; - break; - case 2: - cutin "job_knight_herman1",2; - 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."; - close2; - break; + close; } - case 2: - 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."; - close2; - break; + 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; } - cutin "",255; - end; - } - if (KNIGHT_Q == 1) { - cutin "job_knight_herman2",2; 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 strcharinfo(0) + ","; mes "what can I do for you?"; mes "Ah, you don't know"; mes "who to visit?"; @@ -220,48 +191,14 @@ prt_in,88,101,4 script Chivalry Captain 56,{ 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."; - close2; - cutin "",255; - end; - } - if (KNIGHT_Q == 2) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "It may be difficult,"; - mes "but do your best."; - close2; - cutin "",255; - end; - } - if (KNIGHT_Q == 3) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "It may be difficult,"; - mes "but do your best."; - close2; - cutin "",255; - end; + close; } - if (KNIGHT_Q == 4) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "Ah~ You do not know"; - mes "who to visit next?"; - next; - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; + 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; - cutin "job_knight_herman2",2; mes "[Sir Andrew]"; mes "I said to"; mes "visit Sir Siracuse."; @@ -271,33 +208,11 @@ prt_in,88,101,4 script Chivalry Captain 56,{ 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."; - close2; - cutin "",255; - end; - } - if (KNIGHT_Q == 5) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "It may be difficult,"; - mes "but do your best."; - close2; - cutin "",255; - end; + close; } - if (KNIGHT_Q == 6) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "Ah~ You do not know"; - mes "who to visit next?"; - next; - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; + 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?"; @@ -307,37 +222,14 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "Um, who was next...?"; mes "Right! Sir Windsor!"; next; - cutin "job_knight_herman2",2; 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?"; - close2; - cutin "",255; - end; - } - if (KNIGHT_Q == 7) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "It may be difficult,"; - mes "but do your best."; - close2; - cutin "",255; - end; + close; } - if (KNIGHT_Q == 8) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "Ah~ You do not know"; - mes "who to visit next?"; - next; - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; + 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"; @@ -353,37 +245,14 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "[Sir Windsor]"; mes "...Amy Beatrice."; next; - cutin "job_knight_herman2",2; 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."; - close2; - cutin "",255; - end; - } - if (KNIGHT_Q == 9) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "It may be difficult,"; - mes "but do your best."; - close2; - cutin "",255; - end; + close; } - if (KNIGHT_Q == 10) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "Ah~ You do not know"; - mes "who to visit next?"; - next; - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; + 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"; @@ -395,39 +264,16 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "Sir Edmond!"; mes "Tee hee~"; next; - cutin "job_knight_herman2",2; mes "[Captain Herman]"; mes "Now, go and speak"; mes "to Sir Edmond. He will"; mes "be in charge of your"; mes "next test."; - close2; - cutin "",255; - end; - } - if (KNIGHT_Q == 11) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "It may be difficult,"; - mes "but do your best."; - close2; - cutin "",255; - end; + close; } - if (KNIGHT_Q == 12) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - mes "Mmm?"; - mes "Swordman " + strcharinfo(0) + "."; - mes "How are the tests?"; - mes "Ah~ You do not know"; - mes "who to visit next?"; - next; - cutin "job_knight_herman1",2; - mes "[Captain Herman]"; + 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."; @@ -437,7 +283,6 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "to the law of cause and effect."; mes "All will be revealed in the end."; next; - cutin "job_knight_herman2",2; mes "[Captain Herman]"; mes "Be alert and do"; mes "your best, as this"; @@ -448,43 +293,19 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "after you have"; mes "completed the"; mes "final test."; - close2; - cutin "",255; - end; + close; } - if (KNIGHT_Q == 13) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; + 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."; - close2; - cutin "",255; - end; + close; } - if (KNIGHT_Q == 14) { - if (JobLevel < 40) { - set KNIGHT_Q,0; - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; - 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."; - close2; - cutin "",255; - end; - } - if (SkillPoint != 0) { - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; + 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."; - close2; - cutin "",255; - end; + close; } - cutin "job_knight_herman2",2; - mes "[Captain Herman]"; mes "Oh, have you completed all the tests? But not everyone who completes the tests can"; mes "become a Knight."; next; @@ -500,8 +321,8 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "to everyone's thoughts!"; mes "Andrew, what do you think?"; next; + mes "[Sir Andrew]"; if (JobLevel == 50) { - mes "[Sir Andrew]"; mes "What can I say?"; mes "I approve!"; mes "Having lived as"; @@ -510,17 +331,11 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "is enough."; } else { - mes "[Sir Andrew]"; mes "This one has"; mes "gathered items"; mes "that are troublesome"; mes "to obtain. I approve!"; - if (Sex == 1) { - mes "I believe he will continue to be loyal after becoming a Knight."; - } - else { - mes "I believe she will continue to be loyal after becoming a Knight."; - } + mes "I believe "+((Sex)?"":"s")+"he will continue to be loyal after becoming a Knight."; } next; mes "[Captain Herman]"; @@ -557,7 +372,7 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "to Amy's opinion."; next; mes "[Lady Amy]"; - if (Sex == 1) { + 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!"; } @@ -576,7 +391,7 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "your mind."; next; mes "[Sir Edmond]"; - if (Sex == 1) { + 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."; } @@ -591,12 +406,7 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "to hear your thoughts."; next; mes "[Gray]"; - if (Sex == 1) { - mes "A young gentleman coming here with the determination to become a Knight is enough..."; - } - else { - mes "A young lady coming here with the determination to become a Knight is enough..."; - } + mes "A young "+((Sex)?"gentleman":"lady")+" coming here with the determination to become a Knight is enough..."; next; mes "[Captain Herman]"; mes "Everyone"; @@ -605,7 +415,6 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "Then I shall tell"; mes "you my opinion."; next; - cutin "job_knight_herman1",2; mes "[Captain Herman]"; mes "My decision is..."; next; @@ -616,14 +425,9 @@ prt_in,88,101,4 script Chivalry Captain 56,{ mes "You may not have finished all the tests perfectly, but you have all the necessary qualities to become"; mes "a Knight."; next; - cutin "job_knight_herman2",2; - set KNIGHT_Q,0; completequest 9012; - if(Class == Job_Baby_Swordman){ - jobchange Job_Baby_Knight; - } else { - jobchange Job_Knight; - } + 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"; @@ -636,23 +440,35 @@ prt_in,88,101,4 script Chivalry Captain 56,{ 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; - cutin "job_knight_herman1",2; mes "[Captain Herman]"; mes "Go forth!"; mes "The future of"; mes "Rune-Midgard"; mes "rests on your"; mes "shoulders!"; - close2; + 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; } - cutin "",255; - end; } -prt_in,75,107,4 script Sir Andrew 65,{ - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Knight || Class == Job_Knight) { - mes "[Sir Andrew]"; +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."; @@ -668,8 +484,7 @@ prt_in,75,107,4 script Sir Andrew 65,{ mes "After all, we are Knights."; close; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Sir Andrew]"; + else if (BaseClass == Job_Novice) { mes "Hey there,"; mes "little Novice."; mes "Welcome to the"; @@ -684,17 +499,17 @@ prt_in,75,107,4 script Sir Andrew 65,{ mes "Dream of a bright future, and go look forward on the path that you choose to take."; close; } - mes "[Sir Andrew]"; - 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 { + 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 "[Sir Andrew]"; mes "We, the members of the"; mes "Prontera Chivalry, are putting our best effort in protecting peace in this world."; next; @@ -703,20 +518,18 @@ prt_in,75,107,4 script Sir Andrew 65,{ mes "a bright future that is to come."; close; } - if (KNIGHT_Q == 1) { - mes "[Sir Andrew]"; + else if (KNIGHT_Q == 1) { mes "Good day."; mes "May I help you"; mes "with something?"; next; - switch (select("I would like to take the test.:Oh, nothing.")) { - case 1: + 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 strcharinfo(0) + ","; mes "correct?"; next; mes "[Sir Andrew]"; @@ -749,8 +562,6 @@ prt_in,75,107,4 script Sir Andrew 65,{ 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; - changequest 9001,9003; - changequest 9002,9003; close; } mes "[Sir Andrew]"; @@ -760,28 +571,22 @@ prt_in,75,107,4 script Sir Andrew 65,{ mes "Go and gather the"; mes "following items..."; next; - set .@knight_m1, rand(1,2); mes "[Sir Andrew]"; - if (.@knight_m1 == 1) { - set KNIGHT_Q,2; - changequest 9000,9001; - mes "^236B8E5 Elder Pixie's Moustache^000000,"; - mes "^236B8E5 Wing of Red Bat^000000,"; - mes "^236B8E5 Orcish Voucher^000000,"; - mes "^236B8E5 Moth Dust^000000,"; - mes "^236B8E5 Reptile Tongue^000000 and"; - mes "^236B8E5 Mane^000000."; - } - else { - set KNIGHT_Q,3; - changequest 9000,9002; - mes "^236B8E5 Bug Leg^000000,"; - mes "^236B8E5 Heart of Mermaid^000000,"; - mes "^236B8E5 Maneater Blossom^000000,"; - mes "^236B8E5 Clam Flesh^000000,"; - mes "^236B8E5 Old Frying Pan^000000 and"; - mes "^236B8E5 Snail's Shell^000000."; + 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"; @@ -790,80 +595,39 @@ prt_in,75,107,4 script Sir Andrew 65,{ mes "items I've listed."; mes "See you soon~"; close; - case 2: + } + else { mes "[Sir Andrew]"; mes "Well, then..."; mes "Good day."; close; } } - if (KNIGHT_Q == 2) { - mes "[Sir Andrew]"; + 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; - if ((countitem(1040) > 4) && (countitem(7006) > 4) && (countitem(931) > 4) && (countitem(1057) > 4) && (countitem(903) > 4) && (countitem(1028) > 4)) { - mes "[Sir Andrew]"; - mes "Excellent! We appreciate your effort in gathering these items. These will be used to support"; - mes "the Chivalry's finances."; - next; - delitem 1040,5; //Elder_Pixie's_Beard - delitem 7006,5; //Wing_Of_Red_Bat - delitem 931,5; //Orcish_Voucher - delitem 1057,5; //Moth_Dust - delitem 903,5; //Reptile_Tongue - delitem 1028,5; //Wild_Boar's_Mane - set KNIGHT_Q,4; - changequest 9001,9003; - changequest 9002,9003; - 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; + 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; } - 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 "^236B8E5 Elder Pixie's Moustache^000000,"; - mes "^236B8E5 Wing of Red Bat^000000,"; - mes "^236B8E5 Orcish Voucher^000000,"; - mes "^236B8E5 Moth Dust^000000,"; - mes "^236B8E5 Reptile Tongue^000000 and"; - mes "^236B8E5 Mane^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; - } - if (KNIGHT_Q == 3) { - mes "[Sir Andrew]"; - mes "Welcome back~"; - mes "Did you gather"; - mes "all the items?"; - mes "Let's check and see..."; - next; - if ((countitem(1042) > 4) && (countitem(950) > 4) && (countitem(1032) > 4) && (countitem(966) > 4) && (countitem(7031) > 4) && (countitem(946) > 4)) { + 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 1042,5; //Short_Leg - delitem 950,5; //Heart_Of_Mermaid - delitem 1032,5; //Blossom_Of_Maneater - delitem 966,5; //Flesh_Of_Clam - delitem 7031,5; //Old_Frying_Pan - delitem 946,5; //Snail's_Shell + 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; - changequest 9001,9003; - changequest 9002,9003; 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; @@ -877,12 +641,12 @@ prt_in,75,107,4 script Sir Andrew 65,{ mes "remind you..."; next; mes "[Sir Andrew]"; - mes "^236B8E5 Bug Leg^000000,"; - mes "^236B8E5 Heart of Mermaid^000000,"; - mes "^236B8E5 Maneater Blossom^000000,"; - mes "^236B8E5 Clam Flesh^000000,"; - mes "^236B8E5 Old Frying Pan^000000 and"; - mes "^236B8E5 Snail's Shell^000000."; + 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."; @@ -890,26 +654,25 @@ prt_in,75,107,4 script Sir Andrew 65,{ mes "to complete this task."; close; } - if (KNIGHT_Q == 4) { - mes "[Sir Andrew]"; + 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; } - if (KNIGHT_Q == 14) { - mes "[Sir Andrew]"; + 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; } - mes "[Sir Andrew]"; - 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; + 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 65,{ - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Knight || Class == Job_Knight) { - mes "[Sir Siracuse]"; +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"; @@ -930,8 +693,7 @@ prt_in,71,91,0 script Sir Siracuse 65,{ mes "If you catch any of the new guys acting in a way unbecoming of a Knight, scold them for me please?"; close; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Sir Siracuse]"; + else if (Baseclass == Job_Novice) { mes "Oh?"; mes "What is a Novice"; mes "doing here?"; @@ -947,22 +709,22 @@ prt_in,71,91,0 script Sir Siracuse 65,{ mes "becoming a Knight."; close; } - mes "[Sir Siracuse]"; - 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 { + 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 "[Sir Siracuse]"; mes "Offense and defense."; mes "Is there a way to have both without compromising one or the other?"; next; @@ -976,8 +738,7 @@ prt_in,71,91,0 script Sir Siracuse 65,{ mes "would help Knights greatly..."; close; } - if (KNIGHT_Q == 1) { - mes "[Sir Siracuse]"; + else if (KNIGHT_Q == 1) { mes "Eh?"; mes "Do you have"; mes "something to"; @@ -988,19 +749,13 @@ prt_in,71,91,0 script Sir Siracuse 65,{ mes "Oh, to become"; mes "a Knight? Come to"; mes "think of it, aren't"; - if (Sex == 1) { - mes "you the guy that"; - mes "just applied?"; - } - else { - mes "you the girl that"; - mes "just applied?"; - } + 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) + "."; + mes strcharinfo(0) + "."; next; mes "[Sir Siracuse]"; mes "But, before you come to me, you must visit the others. The way"; @@ -1018,34 +773,7 @@ prt_in,71,91,0 script Sir Siracuse 65,{ mes "face."; close; } - if (KNIGHT_Q == 2) { - mes "[Sir Siracuse]"; - 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; - } - if (KNIGHT_Q == 3) { - mes "[Sir Siracuse]"; + else if (KNIGHT_Q == 2 || KNIGHT_Q == 3) { mes "Eh?"; mes "Do you have"; mes "something to"; @@ -1070,368 +798,220 @@ prt_in,71,91,0 script Sir Siracuse 65,{ mes "face."; close; } - if (KNIGHT_Q == 4) { - mes "[Sir Siracuse]"; - 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; - 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?"; + 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("Katana:Slayer:Broadsword:Flamberge") != 4) { - set KNIGHT_Q,5; + if (select("Sir Andrew sent me to take your test.:Oh, nothing.") == 1) { 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..."; + 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 "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?"; + 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 "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!"; + 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 "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!"; + mes "Well then,"; + mes "let's begin."; + mes "Please answer"; + mes "promptly."; 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; + else { 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."; + mes "Hmmm...?"; + mes "Alright."; + mes "It's just that"; + mes "you had that"; + mes "look on your"; + mes "face."; close; } - mes "[Sir Siracuse]"; - mes "Alright..."; - mes "Now, how should"; - mes "you act within"; - mes "a party?"; + } + else if (KNIGHT_Q == 5) { + mes "What..."; + mes "You again?"; 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: + if (select("I wish to take the test again.:Oh, nothing.") == 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."; + mes "Is that right?"; + mes "Are you sure you're"; + mes "prepared this time?"; 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."; + mes "Alright then,"; + mes "here we go again..."; 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; + } + else { 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!"; + mes "Hmmm...?"; + mes "Alright."; + mes "It's just that"; + mes "you had that"; + mes "look on your"; + mes "face."; close; } - set KNIGHT_Q,6; - changequest 9003,9004; + } + 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 "Well then,"; - mes "this is the"; - mes "end of my test."; + 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 "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."; + 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 "Hmmm...?"; - mes "Alright."; - mes "It's just that"; - mes "you had that"; - mes "look on your"; - mes "face."; - close; - } - if (KNIGHT_Q == 5) { + 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 "What..."; - mes "You again?"; + 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("I wish to take the test again.:Oh, nothing.") == 1) { + 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 "Is that right?"; - mes "Are you sure you're"; - mes "prepared this time?"; + 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 "Alright then,"; - mes "here we go again..."; - next; + 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 "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?"; + mes "Wrong! You'll be doing absolutely no damage with that type of Spear! Come back after you've learned more about Knights!"; 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 "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 "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?"; + mes "Wrong!"; + mes "Don't bother riding a Peco Peco if you don't know about Cavalier Mastery!"; 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 "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 "When you become a Knight you can ride a Peco Peco. However, your attack speed decreases once you're mounted on a Peco Peco."; + 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 "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 "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 "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 "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 "What should you do when you run into a Novice asking for help in town?"; + 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; - 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; - } + break; + case 2: + set KNIGHT_Q,5; 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 "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 "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; - } - changequest 9003,9004; - set KNIGHT_Q,6; + 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 "Well then,"; - mes "this is the"; - mes "end of my test."; + 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 "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."; + 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 "Hmmm...?"; - mes "Alright."; - mes "It's just that"; - mes "you had that"; - mes "look on your"; - mes "face."; + 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; } - if (KNIGHT_Q == 6) { - mes "[Sir Siracuse]"; + else if (KNIGHT_Q == 6) { mes "Oh?"; mes "Do you have"; mes "something to"; @@ -1452,8 +1032,7 @@ prt_in,71,91,0 script Sir Siracuse 65,{ mes "face."; close; } - if (KNIGHT_Q == 14) { - mes "[Sir Siracuse]"; + else if (KNIGHT_Q == 14) { mes "Mmm...?"; mes "You finished"; mes "everyone else's"; @@ -1467,72 +1046,37 @@ prt_in,71,91,0 script Sir Siracuse 65,{ mes "your performance."; close; } - mes "[Sir Siracuse]"; - 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; + 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 733,{ - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Knight || Class == Job_Knight) { - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes "Protect."; - close; - } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; +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."; - close; } - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes "...Hmpf."; + else mes "...Hmpf."; close; } if (KNIGHT_Q == 0) { - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; mes "...What?"; close; } - if ((KNIGHT_Q >= 1) && (KNIGHT_Q <= 5)) { - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; + 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) { @@ -1551,59 +1095,39 @@ prt_in,79,94,4 script Sir Windsor 733,{ mes "..."; close; } - if (KNIGHT_Q == 6) { - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; - mes ".....What?"; - next; - if (select("Sir Siracuse sent me to you.:Oh, nothing.") == 1) { - mes "[Sir Windsor]"; - mes "..."; + 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; - set KNIGHT_Q,7; - changequest 9004,9006; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; + } + else { + set .@mes$,"I want to try again!:..."; next; - mes "[Sir Windsor]"; - mes "...Follow me."; - close2; - warp "job_knt",89,101; - end; } - mes "[Sir Windsor]"; - mes "..."; - close; - } - if (KNIGHT_Q == 7) { - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - if (select("I want to try again!:...") == 1) { + 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]"; - mes "...Fine."; - next; - mes "[Sir Windsor]"; - mes "...This way."; + 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; } @@ -1611,19 +1135,21 @@ prt_in,79,94,4 script Sir Windsor 733,{ mes "..."; close; } - if (KNIGHT_Q == 14) { - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; - next; - mes "[Sir Windsor]"; + 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; @@ -1632,30 +1158,18 @@ prt_in,79,94,4 script Sir Windsor 733,{ mes "......"; next; mes "[Sir Windsor]"; - mes "...You're"; - mes "done here."; - close; -} - -job_knt,89,106,4 script Knight Windsor 733,{ + 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 "......"; - next; - mes "[Sir Windsor]"; - mes "...Question?"; - next; - switch (select("What kind of test is this?:How do I take the test?:I'd like to leave.:No.")) { + switch(.@i) { case 1: - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; next; mes "[Sir Windsor]"; mes "...You fight monsters."; @@ -1674,16 +1188,10 @@ job_knt,89,106,4 script Knight Windsor 733,{ mes "......3 minutes"; mes "for each stage."; next; - mes "[Sir Windsor]"; - mes ".........."; - close; - case 2: - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; + mes "[Sir Windsor]"; + mes ".........."; + close; + case 2: next; mes "[Sir Windsor]"; mes "...Go in the"; @@ -1708,19 +1216,9 @@ job_knt,89,106,4 script Knight Windsor 733,{ mes "..."; close; case 3: - mes "[Sir Windsor]"; - mes "..."; - next; - mes "[Sir Windsor]"; - mes "..."; - mes "......"; close2; warp "prt_in",80,100; end; - case 4: - mes "[Sir Windsor]"; - mes "..."; - close; } } @@ -1944,10 +1442,12 @@ OnTimer182000: end; } -prt_in,69,107,6 script Lady Amy 728,{ - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Knight || Class == Job_Knight) { - mes "[Lady Amy]"; +// 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"; @@ -1963,10 +1463,9 @@ prt_in,69,107,6 script Lady Amy 728,{ mes "Of course~"; mes "You're a member of"; mes "the Prontera Chivalry~"; - close2; + close; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Lady Amy]"; + else if (BaseClass == Job_Novice) { mes "Aww~"; mes "What a cute"; mes "little Novice!"; @@ -1983,21 +1482,21 @@ prt_in,69,107,6 script Lady Amy 728,{ mes "Remember, you're"; mes "going to be a Knight,"; mes "alright? Promise?"; - close2; + 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; } - mes "[Lady Amy]"; - 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 "[Lady Amy]"; mes "Ooh, you're"; mes "a Swordsman...?"; mes "Did you come to"; @@ -2011,8 +1510,7 @@ prt_in,69,107,6 script Lady Amy 728,{ mes "there. Hee hee~"; close; } - if ((KNIGHT_Q >= 1) && (KNIGHT_Q <= 7)) { - mes "[Lady Amy]"; + else if (KNIGHT_Q >= 1 && KNIGHT_Q <= 7) { mes "Hmmm?"; mes "Why did you"; mes "come to Amy?"; @@ -2040,430 +1538,216 @@ prt_in,69,107,6 script Lady Amy 728,{ mes "Alright..."; close; } - if (KNIGHT_Q == 8) { - mes "[Lady Amy]"; - mes "Hmmm?"; - mes "Why did you"; - mes "come to Amy?"; - next; - if (select("Sir Windsor told me to--:Oh, nothing.") == 1) { - changequest 9006,9008; - 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; - set @knight_t, 0; - mes "[Lady Amy]"; - mes "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; - switch (select("Shout out that you are looking for a party.:Open a chat room and wait.:Look for people seeking Knights.")) { - case 1: - break; - case 2: - case 3: - 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?"; + else if ((KNIGHT_Q == 8) || (KNIGHT_Q == 9)){ + if (KNIGHT_Q == 8) { + mes "Hmmm?"; + mes "Why did you"; + mes "come to Amy?"; next; - switch (select("Check out the area and plan ahead.:Gather monsters for your party members.:Lead the party slowly at the front.")) { - case 1: - set @knight_t, @knight_t + 10; - case 2: - break; - case 3: - 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; - switch (select("Keep the monsters from reaching the party.:Defend while the party retreats.:Run away on your Peco Peco.")) { - case 1: - case 2: - set @knight_t, @knight_t + 10; - case 3: - break; - } - 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; - switch (select("Give it to who deserves it the most.:Pretend like nothing happened and keep it.:Decide with party who gets it.")) { - case 1: - set @knight_t, @knight_t + 10; - case 2: - break; - case 3: - 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; - switch (select("Shout out loud to everyone.:Open a chat room and wait.:Inquire if there is anyone that is interested.")) { - case 1: - break; - case 2: - case 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; - switch (select("Tell the person how to reach the exit.:Lead the person to the exit.:Give a Butterfly Wing.")) { - case 1: - case 2: - set @knight_t, @knight_t + 10; - case 3: - break; - } - 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; - switch (select("Pick it up and keep it.:Ask around to find the owner.:Simply walk by.")) { - case 1: - break; - case 2: - case 3: - set @knight_t, @knight_t + 10; - } - mes "[Lady Amy]"; - mes "Okay,"; - mes "that was the"; - mes "end of my test!"; - next; - if (@knight_t == 100) { - set KNIGHT_Q,10; + if (select("Sir Windsor told me to--:Oh, nothing.") == 1) { + if(checkquest(9008) == -1) changequest 9007,9008; mes "[Lady Amy]"; - mes "Well done, that kind of mentality is needed for a Knight! For your next test, visit Sir Edmond, please~"; + 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 "I'll have nice comments about you for the captain. Do well on the tests you have left, okay?"; - close; - } - if (@knight_t == 90) { - set KNIGHT_Q,10; - changequest 9008,9009; + 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 "Well, it wasn't perfect,"; - mes "but I think you know enough"; - mes "about etiquette to be"; - mes "a fine Knight."; + mes "So listen carefully"; + mes "and answer as if you're"; + mes "already a Knight, okay?"; 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~"; + mes "Then,"; + mes "let's begin!"; + next; + } + else { + mes "[Lady Amy]"; + mes "Aww..."; + mes "Alright~"; close; } - set KNIGHT_Q,9; - mes "[Lady Amy]"; - 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; } - mes "[Lady Amy]"; - mes "Aww..."; - mes "Alright~"; - close; - } - if (KNIGHT_Q == 9) { - mes "[Lady Amy]"; - 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; - set @knight_t,0; - 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; - switch (select("Shout out that you are looking for a party.:Open a chat room and wait.:Look for people seeking Knights.")) { - case 1: - break; - case 2: - case 3: - 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; - switch (select("Check out the area and plan ahead.:Gather monsters for your party members.:Lead the party slowly at the front.")) { - case 1: - set @knight_t, @knight_t + 10; - case 2: - break; - case 3: - 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; - switch (select("Keep the monsters from reaching the party.:Defend while the party retreats.:Run away on your Peco Peco.")) { - case 1: - case 2: - set @knight_t, @knight_t + 10; - case 3: - break; - } - 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; - switch (select("Give it to who deserves it the most.:Pretend like nothing happened and keep it.:Decide with party who gets it.")) { - case 1: - set @knight_t, @knight_t + 10; - case 2: - break; - case 3: - 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; - switch (select("Shout out loud to everyone.:Open a chat room and wait.:Inquire if there is anyone that is interested.")) { - case 1: - break; - case 2: - case 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; - switch (select("Tell the person how to reach the exit.:Lead the person to the exit.:Give a Butterfly Wing.")) { - case 1: - case 2: - set @knight_t, @knight_t + 10; - case 3: - break; - } - 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?"; + else if (KNIGHT_Q == 9) { + mes "Hmmm?"; + mes "Why did you"; + mes "come to Amy?"; next; - switch (select("Pick it up and keep it.:Ask around to find the owner.:Simply walk by.")) { - case 1: - break; - case 2: - case 3: - set @knight_t, @knight_t + 10; - } - mes "[Lady Amy]"; - mes "Okay,"; - mes "that was the"; - mes "end of my test!"; - next; - if (@knight_t == 100) { - set KNIGHT_Q,10; + if (select("I would like to take the test to change jobs.:Oh, nothing.") == 1) { mes "[Lady Amy]"; - mes "Well done, that kind of mentality is needed for a Knight! For your next test, visit Sir Edmond, please~"; + 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 "I'll have nice comments about you for the captain. Do well on the tests you have left, okay?"; - close; - } - if (@knight_t == 90) { - set KNIGHT_Q,10; + 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 "Well, it wasn't perfect,"; - mes "but I think you know enough"; - mes "about etiquette to be"; - mes "a fine Knight."; + 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 "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~"; + mes "Aww..."; + mes "Alright~"; close; } - set KNIGHT_Q,9; - mes "[Lady Amy]"; - mes "Mmm..."; - mes "To be honest, I don't think your attitude is good enough to be a Knight quite yet."; + } + 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 "If you really act like that, everyone will think Knights are rude! Think about how you answered my questions and come again later."; + 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 "If you want,"; - mes "I'll let you"; - mes "retake the test, okay?"; + 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 "Aww..."; - mes "Alright~"; + mes "If you want,"; + mes "I'll let you"; + mes "retake the test, okay?"; close; } - if (KNIGHT_Q == 10) { - mes "[Lady Amy]"; + else if (KNIGHT_Q == 10) { mes "Hmmm?"; mes "Why did you"; mes "come to Amy?"; @@ -2474,8 +1758,7 @@ prt_in,69,107,6 script Lady Amy 728,{ mes "next test, okay?"; close; } - if (KNIGHT_Q == 14) { - mes "[Lady Amy]"; + else if (KNIGHT_Q == 14) { mes "Wow~"; mes "Now it's time for"; mes "everyone to decide"; @@ -2488,22 +1771,25 @@ prt_in,69,107,6 script Lady Amy 728,{ mes "be okay."; close; } - mes "[Lady Amy]"; - 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; + 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; + } } -prt_in,70,99,6 script Sir Edmond 734,{ - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Knight || Class == Job_Knight) { - mes "[Sir Edmond]"; +// 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."; @@ -2520,8 +1806,7 @@ prt_in,70,99,6 script Sir Edmond 734,{ mes "any situation."; close; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Sir Edmond]"; + 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]"; @@ -2530,80 +1815,16 @@ prt_in,70,99,6 script Sir Edmond 734,{ mes "decided now..."; close; } - mes "[Sir Edmond]"; - 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 "[Sir Edmond]"; - 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; - } - if (KNIGHT_Q == 1) { - mes "[Sir Edmond]"; - 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..."; + else { + mes "Everything in this world exists in harmony. Living without disrupting this harmony is the right way to live..."; 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; } - if (KNIGHT_Q == 2) { - mes "[Sir Edmond]"; - 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 "The question of"; - mes "what came first:"; - mes "the chicken"; - mes "or the egg?"; - next; - mes "[Sir Edmond]"; - mes "Do you think"; - mes "you're prepared"; - mes "to discuss this?"; - next; - mes "[Sir Edmond]"; - mes "That's what"; - mes "I thought..."; - mes "Go to the"; - mes "others first."; - 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."; + 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; } - if (KNIGHT_Q == 3) { - mes "[Sir Edmond]"; + else if (KNIGHT_Q >= 1 && KNIGHT_Q <= 9) { mes "What is it..."; mes "Wandering Swordman?"; next; @@ -2632,194 +1853,7 @@ prt_in,70,99,6 script Sir Edmond 734,{ mes "order."; close; } - if (KNIGHT_Q == 4) { - mes "[Sir Edmond]"; - 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 "The question of"; - mes "what came first:"; - mes "the chicken"; - mes "or the egg?"; - next; - mes "[Sir Edmond]"; - mes "Do you think"; - mes "you're prepared"; - mes "to discuss this?"; - next; - mes "[Sir Edmond]"; - mes "That's what"; - mes "I thought..."; - mes "Go to the"; - mes "others first."; - 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; - } - if (KNIGHT_Q == 5) { - mes "[Sir Edmond]"; - 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 "The question of"; - mes "what came first:"; - mes "the chicken"; - mes "or the egg?"; - next; - mes "[Sir Edmond]"; - mes "Do you think"; - mes "you're prepared"; - mes "to discuss this?"; - next; - mes "[Sir Edmond]"; - mes "That's what"; - mes "I thought..."; - mes "Go to the"; - mes "others first."; - 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; - } - if (KNIGHT_Q == 6) { - mes "[Sir Edmond]"; - 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 "If a tree falls"; - mes "in the woods, does"; - mes "it make a sound?"; - next; - mes "[Sir Edmond]"; - mes "I think you need"; - mes "more time to think"; - mes "about this."; - next; - mes "[Sir Edmond]"; - mes "Go to the others"; - mes "first, so that you"; - mes "may find an answer..."; - 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; - } - if (KNIGHT_Q == 7) { - mes "[Sir Edmond]"; - mes "What is it..."; - mes "Wandering Swordman?"; - next; - if (select("I would like to take the test to change jobs.:Oh, nothing.") == 2) { - mes "[Sir Edmond]"; - mes "Change will"; - mes "come when all is in"; - mes "readiness. Everything"; - mes "comes in its own"; - mes "good time."; - next; - mes "[Sir Edmond]"; - mes "The time has not"; - mes "yet come for me"; - mes "to test you yet."; - mes "Go to the others."; - 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; - } - if (KNIGHT_Q == 8) { - mes "[Sir Edmond]"; - mes "Zzz..."; - mes "Zzz..."; - mes "^666666*snort*^000000"; - mes "Wah? Huh?"; - next; - if (select("I would like to take the test to change jobs.:Oh, nothing.") == 1) { - mes "[Sir Edmond]"; - mes "Is it my"; - mes "turn yet...?"; - mes "No... Not yet."; - next; - mes "[Sir Edmond]"; - mes "Sorry, it's"; - mes "not my turn yet,"; - mes "young one."; - next; - mes "[Sir Edmond]"; - mes "Go to the others"; - mes "first and complete"; - mes "their tasks..."; - close; - } - mes "[Sir Edmond]"; - mes "You're almost"; - mes "there, don't"; - mes "give up..."; - close; - } - if (KNIGHT_Q == 9) { - mes "[Sir Edmond]"; - 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 "You are nearing the"; - mes "end of your journey..."; - next; - mes "[Sir Edmond]"; - mes "However, there are"; - mes "still the final steps"; - mes "you must take..."; - next; - mes "[Sir Edmond]"; - mes "However,"; - mes "my time to test"; - mes "you has not come"; - mes "quite yet."; - close; - } - mes "[Sir Edmond]"; - mes "You must still see"; - mes "one of the others..."; - mes "But the life that you"; - mes "want will soon be"; - mes "before your eyes."; - close; - } - if (KNIGHT_Q == 10) { - mes "[Sir Edmond]"; + else if (KNIGHT_Q == 10) { mes "What is it..."; mes "Wandering Swordman."; next; @@ -2848,9 +1882,9 @@ prt_in,70,99,6 script Sir Edmond 734,{ mes "Keep in mind"; mes "the quality of"; mes "reverence."; - set KNIGHT_Q,12; - changequest 9009,9010; close2; + set KNIGHT_Q,11; + changequest 9009,9010; warp "job_knt",143,57; end; } @@ -2860,8 +1894,7 @@ prt_in,70,99,6 script Sir Edmond 734,{ mes "your eyes."; close; } - if (KNIGHT_Q == 11) { - mes "[Sir Edmond]"; + else if (KNIGHT_Q == 11) { mes "What is it..."; mes "Wandering Swordman?"; next; @@ -2877,7 +1910,6 @@ prt_in,70,99,6 script Sir Edmond 734,{ mes "shall begin."; mes "Show me your"; mes "patience..."; - set KNIGHT_Q,13; close2; warp "job_knt",143,57; end; @@ -2891,41 +1923,35 @@ prt_in,70,99,6 script Sir Edmond 734,{ mes "order."; close; } - if (KNIGHT_Q == 12 || KNIGHT_Q == 13) { - mes "[Sir Edmond]"; + 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; } - mes "[Sir Edmond]"; - 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; + 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; -OnTimer60000: - donpcevent "Warp#knt::OnEnable"; - end; - -OnTimer60050: - donpcevent "Timer#knt::OnReset"; - end; - -OnTimer60100: +OnTimer300500: donpcevent "Timer#knt::OnDisable"; - donpcevent "Warp#knt::OnDisable"; + disablenpc "Warp#knt"; end; -OnTimer60150: - donpcevent "Timer#knt::OnEnable"; +OnTimer301500: stopnpctimer; + donpcevent "Timer#knt::OnEnable"; end; OnInit: @@ -2951,12 +1977,10 @@ OnEnable: initnpctimer; end; -OnReset: - killmonster "job_knt","Timer#knt::OnMyMobDead"; - end; - OnDisable: - hideonnpc "Timer#knt"; + killmonster "job_knt","Timer#knt::OnMyMobDead"; + disablenpc "Timer#knt"; + disablenpc "Warp#knt"; end; OnMyMobDead: @@ -2964,29 +1988,20 @@ OnMyMobDead: end; } -job_knt,143,57,0 script Warp#knt 139,22,22,{ +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; - -OnInit: - disablenpc "Warp#knt"; - end; - -OnEnable: - enablenpc "Warp#knt"; - end; - -OnDisable: - disablenpc "Warp#knt"; - end; } -prt_in,87,92,4 script Sir Gray 119,{ +// 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) { @@ -3486,4 +2501,4 @@ prt_in,87,92,4 script Sir Gray 119,{ mes "treasure!"; close; } -} \ No newline at end of file +} diff --git a/npc/jobs/2-1/priest.txt b/npc/jobs/2-1/priest.txt index 4230fee61..8aadc429b 100644 --- a/npc/jobs/2-1/priest.txt +++ b/npc/jobs/2-1/priest.txt @@ -1,44 +1,63 @@ //===== rAthena Script ======================================= -// Piest Job change Quest +//= Priest Quest //===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= Translated By: Pgro Team (OwNaGe)(Aegis) +//= Converted by: kobra_k88. +//= Further bugfixed and tested by Lupus //===== Current Version: ===================================== -//= 1.0 +//= 2.6 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Acolyte -> Priest. +//= [Aegis Conversion] +//= Job Change quest for Priest class. //===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] -//============================================================ +//= 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,{ - if (Upper == 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; + // 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 ((Class != Job_Baby_Acolyte) && (Class != Job_Acolyte)) { - if (Class == Job_Baby_Priest || Class == Job_Priest || Class == Job_High_Priest) { + if (BaseJob != Job_Acolyte) { + if (BaseJob == Job_Priest) { mes "[Bishop Paul]"; mes "Ah..."; - if (Sex == 1) { + 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 { + 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.")) { + 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."; @@ -84,33 +103,30 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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 90,90; + 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; } } - if (Class == Job_Baby || Class == Job_Novice) { - if (Sex == 1) { - mes "[Bishop Paul]"; - mes "May God be"; + else if (BaseClass == Job_Novice) { + mes "[Bishop Paul]"; + mes "May God be"; + if (sex) mes "with you, brother."; - } - else { - mes "[Bishop Paul]"; - mes "May God be"; + 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.")) { + 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..."; @@ -131,22 +147,18 @@ prt_church,16,41,4 script High Bishop#prst 60,{ close; } else { - if (Sex == 1) { - mes "[Bishop Paul]"; - mes "May God be"; + mes "[Bishop Paul]"; + mes "May God be"; + if (sex) mes "with you, brother."; - } - else { - mes "[Bishop Paul]"; - mes "May God be"; + 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.")) { + switch(select("Information about Priests.:Nothing.")) { case 1: mes "[Bishop Paul]"; mes "Priests have the authority to perform and administer religious rites."; @@ -190,21 +202,17 @@ prt_church,16,41,4 script High Bishop#prst 60,{ } } if (PRIEST_Q == 0) { - if (Sex == 1) { - mes "[Bishop Paul]"; - mes "May God bless"; + mes "[Bishop Paul]"; + mes "May God bless"; + if (sex) mes "you, Brother."; - mes "What brings"; - mes "you to me?"; - } else { - mes "[Bishop Paul]"; - mes "May God bless"; + else mes "you, Sister."; - mes "What brings"; - mes "you to me?"; - } + mes "What brings"; + mes "you to me?"; next; - if (select("I want to be a Priest.:How are you, Father?") == 1) { + 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; @@ -227,21 +235,19 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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 != 0) { + 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; + set PRIEST_Q,1; setquest 8009; - if (Sex == 1) { 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 "[Bishop Paul]"; + 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."; @@ -265,7 +271,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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; + set PRIEST_Q,5; changequest 8009,8011; mes "[Bishop Paul]"; mes "Well, are you ready for the Spiritual Training?"; @@ -307,35 +313,35 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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..."; - changequest 8009,8010; + 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; } - 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 == 1) { - 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; } - if (PRIEST_Q == 1) { + 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; @@ -369,7 +375,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "Well then, I shall pray for your safe journey. May God bless you..."; close; } - if (PRIEST_Q == 2) { + 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; @@ -377,7 +383,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "For your next quest, you should meet Sister Mathilda. I shall be awaiting your safe return."; close; } - if (PRIEST_Q == 3) { + 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; @@ -385,8 +391,9 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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; } - if (PRIEST_Q == 4) { - set PRIEST_Q, 5; + else if (PRIEST_Q == 4) { + set PRIEST_Q,5; + changequest 8010,8011; mes "[Bishop Paul]"; mes "You've accomplished"; mes "your pilgrimage."; @@ -403,7 +410,6 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "the spiritual training?"; next; if (select("I'm ready.:Give me a minute.") == 1) { - changequest 8010,8011; 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; @@ -418,12 +424,11 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "overcome your fears..."; close; } - if (PRIEST_Q == 5) { + 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) { - changequest 8010,8011; 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; @@ -438,7 +443,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "overcome your fears..."; close; } - if (PRIEST_Q == 6) { + 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; @@ -446,7 +451,6 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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) { - changequest 8010,8011; mes "[Bishop Paul]"; mes "Good. I will send you to the training ground. Please ask for help from Brother Peter."; next; @@ -461,7 +465,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "overcome your fears..."; close; } - if (PRIEST_Q == 7) { + 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; @@ -477,7 +481,7 @@ prt_church,16,41,4 script High Bishop#prst 60,{ mes "waiting for you."; close; } - if (PRIEST_Q == 8) { + 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; @@ -485,8 +489,8 @@ prt_church,16,41,4 script High Bishop#prst 60,{ 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; } - if (PRIEST_Q == 9) { - if (SkillPoint != 0) { + 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; @@ -496,63 +500,52 @@ prt_church,16,41,4 script High Bishop#prst 60,{ next; mes "[Bishop Paul]"; mes "God, grant your power to your servant standing before you."; - if (Sex == 1) { + changequest 8015,8016; + if (sex) mes "Let him send your message throughout the ends of the earth."; - } - else { + 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 PRIEST_Q,0; - if(Class == Job_Baby_Acolyte){ - jobchange Job_Baby_Priest; - } else { - jobchange Job_Priest; - } - changequest 8015,8016; + 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; - if (JobLevel == 50) { - getitem 1551,1; //Bible - } else { + 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."; } - mes "[Bishop Paul]"; - mes "And..."; - mes "This book is for you. I hope it will aid you in spreading God's message on earth."; 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..."; - completequest 8016; close; } } prt_church,27,24,1 script Sister Cecilia 79,{ - if ((Class != Job_Baby_Acolyte) && (Class != Job_Acolyte)) { - if (Class == Job_Baby_Priest || Class == Job_Priest) { - if (Sex == 1) { - mes "[Sister Cecilia]"; + 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 "[Sister Cecilia]"; + 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."; - } } - if (Class == Job_Baby || Class == Job_Novice) { - if (Sex == 1) { - mes "[Sister Cecilia]"; + else if (Class == Job_Novice) { + if (sex) mes "May god bless you, brother."; - } - else { - mes "[Sister Cecilia]"; + else mes "May god bless you, sister."; - } mes "Prontera parish welcomes you."; next; mes "[Sister Cecilia]"; @@ -571,54 +564,46 @@ prt_church,27,24,1 script Sister Cecilia 79,{ mes "But please..."; mes "Take your time, and decide what job will be the best for you."; } - if (Sex == 1) { - mes "[Sister Cecilia]"; - mes "May god bless you, brother."; - } else { - mes "[Sister Cecilia]"; - mes "May god bless you, sister."; - } - mes "Welcome to Prontera parish. How may I help you?"; - next; - switch (select("Tell me more about Priests.:Nothing.")) { - case 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."; + 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; - 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 (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - next; + if (select("Tell me more about Priests.:Nothing.") == 1) { 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."; + 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 "I believe he can give you specific requirement information about the Priest class. Yes, I think it's a good idea."; - next; + 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; } - break; - case 2: 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."; - break; + next; + mes "[Sister Cecilia]"; + mes "May God bless you..."; + close; } - next; - mes "[Sister Cecilia]"; - mes "May God bless you..."; - close; } if (PRIEST_Q == 0) { - if (Sex == 1) { - mes "[Sister Cecilia]"; + if (sex) mes "May God bless you, brother."; - } - else { - mes "[Sister Cecilia]"; + else mes "May God bless you, sister."; - } mes "May I ask what brings you here?"; next; - if (select("I wish to become a Priest.:Nothing.") == 1) { + 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; @@ -637,13 +622,13 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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; } - 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; } - if (PRIEST_Q == 1) { - mes "[Sister Cecilia]"; + 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]"; @@ -665,8 +650,7 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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; } - if (PRIEST_Q == 2) { - mes "[Sister Cecilia]"; + 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]"; @@ -679,8 +663,7 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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; } - if (PRIEST_Q == 3) { - mes "[Sister Cecilia]"; + 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]"; @@ -690,25 +673,21 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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; } - if (PRIEST_Q == 4) { - mes "[Sister Cecilia]"; + 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 == 1) { - mes "Brother " + strcharinfo(0) + "..."; - } - else { - mes "Sister " + strcharinfo(0) + "..."; - } + 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; } - if (PRIEST_Q == 5) { - mes "[Sister Cecilia]"; + else if (PRIEST_Q == 5) { mes "Oh, you haven't finished the spiritual training yet?"; next; mes "[Sister Cecilia]"; @@ -718,8 +697,7 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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; } - if (PRIEST_Q == 6) { - mes "[Sister Cecilia]"; + 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]"; @@ -729,27 +707,33 @@ prt_church,27,24,1 script Sister Cecilia 79,{ mes "May God give you guidance and protection. When you complete your training, please come back to me."; close; } - if (PRIEST_Q == 7) { - mes "[Sister Cecilia]"; - mes "Welcome! I'm so glad to see you've come back! Now, there is one last trial left for you to complete."; - changequest 8013,8014; - next; - mes "[Sister Cecilia]"; - if (Sex == 1) { - mes "Brother " + strcharinfo(0) + "..."; + 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 { - mes "Sister " + strcharinfo(0) + "..."; + 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 == 1) { - mes "Brother " + strcharinfo(0) + ","; - } - else { - mes "Sister " + strcharinfo(0) + ","; - } + if (sex) + mes "Brother "+ strcharinfo(0) +","; + else + mes "Sister "+ strcharinfo(0) +","; mes "Are you willing"; mes "to give your life to God?"; next; @@ -837,17 +821,14 @@ prt_church,27,24,1 script Sister Cecilia 79,{ close; } mes "[Sister Cecilia]"; - if (Sex == 1) { - mes "Brother " + strcharinfo(0) + "..."; - } - else { - mes "Sister " + strcharinfo(0) + "..."; - } + 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; - changequest 8014,8015; mes "[Sister Cecilia]"; mes "Now, you have completed your oath of Priesthood and accomplished all three trials required to become a Priest."; next; @@ -863,148 +844,14 @@ prt_church,27,24,1 script Sister Cecilia 79,{ 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; } - if (PRIEST_Q == 8) { - mes "[Sister Cecilia]"; - 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 == 1) { - mes "Brother " + strcharinfo(0) + "..."; - } - else { - mes "Sister " + strcharinfo(0) + "..."; - } - mes "We will now begin your formal oath for the Priesthood. This time, listen closely to your heart..."; - next; - mes "[Sister Cecilia]"; - if (Sex == 1) { - 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; - 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; - 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; - 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; - 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; - 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; - 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; - 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 == 1) { - 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; - mes "[Sister Cecilia]"; - mes "You've come so far..."; - mes "Why would you want"; - mes "to throw this all away...?"; - close; - } - if (PRIEST_Q == 9) { - mes "[Sister Cecilia]"; + 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; @@ -1014,6 +861,8 @@ prt_church,27,24,1 script Sister Cecilia 79,{ } } +// 2nd Test +//========================================================== job_prist,24,187,4 script Peter S. Alberto 110,{ mes "[Father Peter]"; if (BaseJob == Job_Priest) { @@ -1476,10 +1325,11 @@ OnTouch: end; } -job_prist,168,45,4 script Deviruchi#prst 1928,8,1,{ - +// 3rd Test +//========================================================== +job_prist,168,45,4 script Deviruchi#prst 1109,8,1,{ OnTouch: - if (Class == Job_Baby_Priest || Class == Job_Priest) { + if (BaseJob == Job_Priest) { mes "[Deviruchi]"; mes "Whaaaaat...?"; mes "What are you"; @@ -1497,7 +1347,7 @@ OnTouch: 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 (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + if (BaseClass == Job_Acolyte) { mes "[Deviruchi]"; mes "Why..."; mes "Hello little Aco."; @@ -1528,6 +1378,7 @@ OnTouch: mes "[Deviruchi]"; mes "BWAHAHAHAHAHAH!"; mes "GET THE JOKE!?"; + close2; warp "c_tower2",168,33; end; } @@ -1577,10 +1428,9 @@ OnTouch: end; } -job_prist,168,80,4 script Doppelganger#prst 1966,8,1,{ - +job_prist,168,80,4 script Doppelganger#prst 1046,8,1,{ OnTouch: - if (Class == Job_Baby_Priest || Class == Job_Priest) { + 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; @@ -1588,7 +1438,7 @@ OnTouch: 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; } - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + else if (BaseClass == Job_Acolyte) { mes "[Doppelganger]"; mes "Hold on there, Acolyte."; mes "I'm not like Deviruchi,"; @@ -1623,16 +1473,16 @@ OnTouch: 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 "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"; @@ -1645,22 +1495,20 @@ OnTouch: mes "I assure you... You won't be happy at all to see me."; close; } - end; } job_prist,168,115,4 script Dark Lord#prst 1272,8,1,{ - OnTouch: - if (Class == Job_Baby_Priest || Class == Job_Priest) { + 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"; - close2; + close; } - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + else if (BaseClass == Job_Acolyte) { mes "[Dark Lord]"; mes "^330033Halt, human."; mes "Who has granted"; @@ -1704,13 +1552,11 @@ OnTouch: mes "Mark my words...^000000"; close; } - end; } job_prist,168,150,4 script Baphomet#prst 736,8,1,{ - OnTouch: - if (Class == Job_Baby_Priest || Class == Job_Priest) { + if (BaseJob == Job_Priest) { mes "[Baphomet]"; mes "I hate"; mes "Priests..."; @@ -1719,12 +1565,12 @@ OnTouch: mes "I don't have any business with you, servant of God. Just pass through."; close; } - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + else if (BaseClass == Job_Acolyte) { mes "[Baphomet]"; mes "Greetings."; next; mes "[Baphomet]"; - mes "..." + strcharinfo(0) + "."; + mes "..."+ strcharinfo(0) +"."; next; mes "[Baphomet]"; mes "Yes, human,"; @@ -1768,24 +1614,21 @@ OnTouch: 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; } - end; } -job_prist,168,180,0 script prst2_1 45,4,3,{ - +job_prist,168,180,4 script prst2_1 45,3,3,{ OnTouch: - if (Class == Job_Baby_Priest || Class == Job_Priest) { - warp "job_prist",98,40; - } else if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + 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,{ - end; - OnInit: disablenpc "Mummy_Generator"; end; @@ -1796,137 +1639,244 @@ OnEnable: donpcevent "Mummy3_1::OnEnable"; end; -OnM1: +Onm1: monster "job_prist",90,55,"Khamoz",1041,1; monster "job_prist",105,55,"Amocsis",1041,1; end; -OnM2: +Onm2: monster "job_prist",90,70,"Mentuhoteph",1041,1; monster "job_prist",105,70,"Akenaten",1041,1; end; -OnM3: +Onm3: monster "job_prist",90,85,"Mehnes",1041,1; monster "job_prist",105,85,"Snepheru",1041,1; end; OnDisable: disablenpc "Mummy_Generator"; - end; - -OnReset: - killmonster "job_prist","Mummy_Generator::OnMyMobDead"; + killmonsterall "job_prist"; end; } -job_prist,90,55,0 script Mummy1_1 139,15,1,{ +job_prist,90,55,0 script Mummy1_1 -1,15,1,{ +OnInit: + disablenpc "Mummy1_1"; + end; OnTouch: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - donpcevent "Mummy_Generator::OnM1"; + if (BaseJob == Job_Acolyte) { + donpcevent "Mummy_Generator::Onm1"; donpcevent "Mummy1_1::OnDisable"; } end; -OnInit: - disablenpc "Mummy1_1"; - end; - OnEnable: enablenpc "Mummy1_1"; - enablenpc "Mummy1_2"; end; OnDisable: disablenpc "Mummy1_1"; - disablenpc "Mummy1_2"; end; } -job_prist,105,55,0 script Mummy1_2 139,1,1,{ - end; - +job_prist,90,70,0 script Mummy2_1 -1,15,1,{ OnInit: - disablenpc "Mummy1_2"; + disablenpc "Mummy2_1"; end; -} - -job_prist,90,70,0 script Mummy2_1 139,15,1,{ OnTouch: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - donpcevent "Mummy_Generator::OnM2"; + if (BaseJob == Job_Acolyte) { + donpcevent "Mummy_Generator::Onm2"; donpcevent "Mummy2_1::OnDisable"; } end; -OnInit: - disablenpc "Mummy2_1"; - end; - OnEnable: enablenpc "Mummy2_1"; - enablenpc "Mummy2_2"; end; OnDisable: disablenpc "Mummy2_1"; - disablenpc "Mummy2_2"; end; } -job_prist,105,70,0 script Mummy2_2 139,1,1,{ - end; - +job_prist,90,85,0 script Mummy3_1 -1,15,1,{ OnInit: - disablenpc "Mummy2_2"; + disablenpc "Mummy3_1"; end; -} - -job_prist,90,85,0 script Mummy3_1 139,15,1,{ OnTouch: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - donpcevent "Mummy_Generator::OnM3"; + if (BaseJob == Job_Acolyte) { + donpcevent "Mummy_Generator::Onm3"; donpcevent "Mummy3_1::OnDisable"; } end; -OnInit: - disablenpc "Mummy3_1"; - end; - OnEnable: enablenpc "Mummy3_1"; - enablenpc "Mummy3_2"; end; OnDisable: disablenpc "Mummy3_1"; - disablenpc "Mummy3_2"; - end; -} - -job_prist,105,85,0 script Mummy3_2 139,1,1,{ - end; - -OnInit: - disablenpc "Mummy3_2"; end; } -job_prist,98,105,0 script prst3_1 45,4,3,{ - +job_prist,98,105,4 script prst3_1 45,3,3,{ OnTouch: - if (Class == Job_Baby_Priest || Class == Job_Priest) { + if (BaseJob == Job_Priest) { warp "prt_church",15,36; - } else if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - changequest 8012,8013; + 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::OnReset"; donpcevent "Mummy_Generator::OnDisable"; } end; -} \ No newline at end of file +} + +// 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/jobs/2-1/wizard.txt b/npc/jobs/2-1/wizard.txt index 72987977f..39cbdb204 100644 --- a/npc/jobs/2-1/wizard.txt +++ b/npc/jobs/2-1/wizard.txt @@ -1,17 +1,31 @@ //===== rAthena Script ======================================= -// Wizard Job change Quest +//= Wizard Job Quest //===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= (Aegis) Translated by yoshiki, converted by kobra_k88 +//= Further bugfixed and tested by Lupus //===== Current Version: ===================================== -//= 1.0 +//= 3.2 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Mage -> Wizard. +//= [Aegis Conversion] +//= Job Change quest for Wizard class. //===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] +//= 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,{ @@ -25,27 +39,20 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Congratulations and good luck with your life!"; close; } - if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { - if (Class == Job_Baby_Wizard || Class == Job_Wizard) { - if (Sex == 1) { - 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 (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 "[Catherine]"; - mes "Since you're already a Wizard, you don't have any more business with me..."; - mes "Now, excuse me."; - next; - mes "[Catherine]"; + else mes "Well, if you fix me up with a cute guy... I'd appreciate it...hohoho!."; - } close; } - if (Class == Job_Baby || Class == Job_Novice) { + 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."; @@ -102,7 +109,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "When I deem you're qualified, I will accept your application."; close; } - if (SkillPoint != 0) { + 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."; @@ -146,23 +153,23 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ 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); + set wizard_m1,rand(1,2); mes "[Catherine]"; mes "The items you must collect are..."; - if (.@wizard_m1 == 1) { + 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,"; - setquest 9013; } 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,"; - setquest 9014; } mes "...is it too hard? No, any would be Wizard should be able to at least get these items."; next; @@ -181,12 +188,12 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "You have no business here, hope you don't mind, now off you go!"; close; } - if (WIZ_Q == 1) { + 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)) { + 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."; @@ -196,7 +203,6 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ delitem 715,10; //Yellow_Gemstone set WIZ_Q,3; changequest 9013,9015; - changequest 9014,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."; @@ -220,12 +226,12 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Don't forget this time, and bring all the items, ok?..."; close; } - if (WIZ_Q == 2) { + 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)) { + 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."; @@ -235,7 +241,6 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ delitem 990,5; //Boody_Red delitem 992,5; //Wind_Of_Verdure set WIZ_Q,3; - changequest 9013,9015; changequest 9014,9015; mes "[Catherine]"; mes "Good. You've passed the first test now."; @@ -261,7 +266,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Don't forget them this time and gather the correct ones, ok? See you soon..."; close; } - if (WIZ_Q == 3) { + 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..."; @@ -271,7 +276,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "I'll be waiting, so go now."; close; } - if (WIZ_Q == 4) { + 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?"; @@ -280,7 +285,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ 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!")) { + 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 @@ -342,7 +347,6 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ 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!"; - break; } next; mes "[Catherine]"; @@ -350,7 +354,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "Hurry, he's waiting for you!"; close; } - if (WIZ_Q == 5) { + 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..."; @@ -364,18 +368,17 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "He's waiting for you!"; close; } - if (WIZ_Q == 6) { + 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; - if (Sex == 1) { - mes "[Catherine]"; + 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 "[Catherine]"; 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; @@ -389,7 +392,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "He's waiting!"; close; } - if (WIZ_Q == 7) { + else if (WIZ_Q == 7) { if (JobLevel < 40) { set WIZ_Q,0; mes "[Catherine]"; @@ -401,7 +404,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "When the time comes, I will welcome you with open arms."; close; } - if (SkillPoint != 0) { + 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."; @@ -414,13 +417,9 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ mes "[Catherine]"; mes "Well, no need to wait, I congratulate you. I hearby deem you Wizard."; next; - set WIZ_Q,0; - if(Class == Job_Baby_Mage){ - jobchange Job_Baby_Wizard; - } else { - jobchange Job_Wizard; - } 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."; @@ -449,23 +448,21 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ } gef_tower,102,24,2 script Gloomy Wizard 735,{ - if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { - if (Class == Job_Baby_Wizard || Class == Job_Wizard) { + 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; - if (Sex == 1) { - 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!"; + 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 "[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!"; mes "So learn how to use magic properly, or you would just be better off giving up on using magic."; next; mes "[Raulel]"; @@ -474,7 +471,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ } close; } - if (Class == Job_Baby_Priest || Class == Job_Priest) { + 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."; @@ -484,7 +481,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "Don't come any closer, just leave!"; close; } - if (Class == Job_Baby || Class == Job_Novice) { + else if (BaseClass == Job_Novice) { mes "[Raulel]"; mes "Why did a little one like you come here?!"; mes "Get lost! ~Hahahahaha"; @@ -507,18 +504,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "Go away! Get lost!"; close; } - if (WIZ_Q == 1) { - 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; - } - if (WIZ_Q == 2) { + else if (WIZ_Q == 1 || WIZ_Q == 2) { mes "[Raulel]"; mes "Hahahaha~ You're the one that wants to become a Wizard?!"; next; @@ -529,539 +515,314 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "*Cough* *cough* Let's see how well you live as a Wizard. ~Hahahahhaha"; close; } - 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~"; - changequest 9015,9016; - 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!"; - next; - set .@wizard_m2,rand(1,3); - set @wizard_t,0; - mes "[Raulel]"; - mes "*Cough* *cough* Then here go the questions!"; - next; - if (.@wizard_m2 == 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 the 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 master Napalm Beat, what is the ratio of the increase in MATK using the 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; - } + else if ((WIZ_Q == 3) || (WIZ_Q == 4)) { + if (WIZ_Q == 3) { 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 the skill 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?"; + 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; - 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?"; + mes "*sneeze* It's not too late yet, wouldn't you rather just go back to town and enjoy the peaceful life?"; next; - if (select("84:74:64:54") == 2) { - set @wizard_t, @wizard_t + 10; - } mes "[Raulel]"; - mes "10. Which skill is most useful for training in the Byalan Dungeon?"; + mes "Hahahaha~ You don't know how dangerous it is...to deal with Greater Magic."; next; - if (select("Lightning Bolt:Fire Bolt:Cold Bolt:Sight") == 1) { - set @wizard_t, @wizard_t + 10; - } - next; - } - if (.@wizard_m2 == 2) { - mes "[Raulel]"; - mes "1. Which monster can you obtain a slotted Guard from?"; - next; - if (select("Thief Bug:Peco Peco: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; + 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 "4. When attacking a Lv 3 water attribute monster with a wind attribute weapon, what is the damage percentage?"; + 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; - 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?"; + mes "*sneeze* Then let's begin the test!"; + mes "If you don't answer them all correctly, you fail. Hahahahahahahahaha~"; 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 "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; } - 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 monsters 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 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; - } - next; + mes "*Cough* *cough* Then here go the questions!"; } - else { - 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 the 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; - } + else if (WIZ_Q == 4) { mes "[Raulel]"; - mes "6. What is the Mage good at compared to other job classes?"; + mes "Hahahaha~ Are you that desperate? *sneeze* What a pain in the arse..."; 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?"; + mes "Since you don't want to settle for a stable and peaceful life, I'll give you another chance..."; 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?"; + 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("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; + 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 "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; - } - next; - } - mes "[Raulel]"; - 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."; + 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 "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; - } - 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; + mes "Then let's begin the test!"; } - 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; - } - 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!"; - mes "If you don't answer all of them correctly, you fail... ~Hahahahahha"; - next; - mes "[Raulel]"; - mes "I'll give you 10 questions so give me the correct answers."; - mes "If you get something wrong, I won't tell you what it is!"; - next; - set .@wizard_m2,rand(1,3); - set @wizard_t,0; - mes "[Raulel]"; - mes "*Cough* *cough* Then here go the questions."; - next; - if (.@wizard_m2 == 1) { + 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; - } + 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 the previous attribute, what does the monster's attribute change to when you cast Frost Diver on it?"; + 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; - } + if (select("Water:Earth:Fire:Wind") == 1) + set .@wizard_t,.@wizard_t+10; mes "[Raulel]"; - mes "3. When you master Napalm Beat, what is the ratio of the increase in MATK using the spell?"; + 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; - } + 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; - } + 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; - } + 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; - } + if (select("14:21:28:35") == 2) + set .@wizard_t,.@wizard_t+10; mes "[Raulel]"; - mes "7. Using the skill Energy Coat, when you have 50% of your SP remaining, how much SP is used when hit, and what percentage is damage reduced by?"; + 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; - } + 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?"; + 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; - } + 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; - } + if (select("84:74:64:54") == 2) + set .@wizard_t,.@wizard_t+10; mes "[Raulel]"; - mes "10. Which skill is most useful for training in the Byalan Dungeon?"; - next; - if (select("Lightning Bolt:Fire Bolt:Cold Bolt:Sight") == 1) { - set @wizard_t, @wizard_t + 10; - } + mes "10. Which skill is most useful training in the Byalan Dungeon?"; next; - } - if (.@wizard_m2 == 2) { + 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:Peco Peco:Pupa:Kobold (Hammer)") == 3) { - set @wizard_t, @wizard_t + 10; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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 monsters has the highest defense?"; + mes "8. Which of the following has the highest defense?"; next; - if (select("Horn:Chonchon:Andre:Caramel") == 4) { - set @wizard_t, @wizard_t + 10; - } + if (select("Horn:Chonchon:Andre:Caramel") == 4) + set .@wizard_t,.@wizard_t+10; mes "[Raulel]"; - mes "9. Choose the monster that's a different species."; + 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; - } + 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; - } - next; - } - else { + 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; - } + 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; - } + 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; - } + 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 the Mages?"; + mes "4. Which town is the home of Mages?"; next; - if (select("Prontera:Morroc:Alberta:Geffen") == 4) { - set @wizard_t, @wizard_t + 10; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } - next; + if (select("Marduk Card:Magnolia Card:Willow Card:Maya Card") == 2) + set .@wizard_t,.@wizard_t+10; } mes "[Raulel]"; - mes "Good job, you finished answered all the questions... Go buy yourself some potions or something if you have the Zeny. Haha..."; + 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) { - changequest 9016,9017; + mes "Your score is... " + .@wizard_t + " points!"; + if (.@wizard_t == 100) { set WIZ_Q,5; - 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..."; + changequest 9016,9017; + mes "*cough* *Cough* Well done, you passed the second test."; 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~"; + 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; } - if (@wizard_t == 90) { + 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..."; + mes "Hahahaha~ I'll let you slide by since you only missed one problem. You passed the second test."; 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~"; + 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; } - 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..."; + 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 "*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~"; + 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; } - 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; } - if (WIZ_Q == 5) { + else if (WIZ_Q == 5) { mes "[Raulel]"; mes "Ok, hope you got plenty of rest. Hahahahahah~"; mes "Then let's begin the last test."; @@ -1125,7 +886,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ warp "geffen",120,110; end; } - if (WIZ_Q == 6) { + else if (WIZ_Q == 6) { if (WIZ_Q2 == 6) { mes "[Raulel]"; mes "Hahahahahaha~ I've never seen anyone so...sooo...*sneeze* tenacious as you."; @@ -1143,7 +904,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ warp "job_wiz",57,154; end; } - if (WIZ_Q2 > 6) { + 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?"; @@ -1165,14 +926,12 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ next; set WIZ_Q2,0; set WIZ_Q,7; - changequest 9017,9018; 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; } } - set @wizard_t,0; 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?"; @@ -1187,43 +946,38 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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 "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) { + else if (.@wizard_t == 80) { mes "Eh, soso..."; mes "I'll let you retake the test."; next; @@ -1288,7 +1042,7 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ warp "geffen",120,110; end; } - if (WIZ_Q == 7) { + 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~"; @@ -1907,19 +1661,19 @@ OnTimer9000: end; } -gef_tower,107,36,4 script White Dog 81,{ - if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { - if (Class == Job_Baby_Wizard || Class == Job_Wizard) { +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 "",255; + cutin "job_wizard_maria01",255; end; } - if (Class == Job_Baby || Class == Job_Novice) { + else if (BaseClass == Job_Novice) { mes "[Dog]"; mes "What? Kiddo!"; mes "Is a Dog talking so amusing to you?"; @@ -1935,7 +1689,7 @@ gef_tower,107,36,4 script White Dog 81,{ mes "*Bark* Get lost!"; mes "I don't have time for people like you!"; close2; - cutin "",255; + cutin "job_wizard_maria02",255; end; } if (WIZ_Q == 0) { @@ -1949,7 +1703,7 @@ gef_tower,107,36,4 script White Dog 81,{ 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...")) { + 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?!"; @@ -2010,7 +1764,7 @@ gef_tower,107,36,4 script White Dog 81,{ 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...")) { + switch(select("Yes, please! I would like that.:No, it's ok.:A talking dog...")) { case 1: cutin "job_wizard_maria01",2; mes "[Maria]"; @@ -2045,11 +1799,16 @@ gef_tower,107,36,4 script White Dog 81,{ next; mes "[Maria]"; mes "It's better to just try it yourself than to listen to my descriptions."; - close; + 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."; - close; + close2; + cutin "job_wizard_maria01",255; + end; case 3: cutin "job_wizard_maria02",2; mes "[Maria]"; @@ -2058,12 +1817,12 @@ gef_tower,107,36,4 script White Dog 81,{ mes "[Maria]"; mes "Dang it! I hope you FAIL!! Go get lost!!"; close2; - cutin "",255; + cutin "job_wizard_maria01",255; warp "gef_dun00",116,102; end; } } - if (WIZ_Q == 1) { + else if (WIZ_Q == 1) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "You seem lost..."; @@ -2083,7 +1842,7 @@ gef_tower,107,36,4 script White Dog 81,{ next; mes "[Maria]"; mes "Yellow Gemstones are easy to find in the desert."; - mes "Condors, Pickies, and sometimes monsters like Golems drop them."; + 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."; @@ -2097,10 +1856,10 @@ gef_tower,107,36,4 script White Dog 81,{ mes "Anyways, try your best."; mes "This is the basics of being a Wizard."; close2; - cutin "",255; + cutin "job_wizard_maria01",255; end; } - if (WIZ_Q == 2) { + else if (WIZ_Q == 2) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "You seem lost..."; @@ -2134,19 +1893,19 @@ gef_tower,107,36,4 script White Dog 81,{ mes "But anyways, always try your best."; mes "It's the basics of being a Wizard."; close2; - cutin "",255; + cutin "job_wizard_maria01",255; end; } - if (WIZ_Q == 3) { + 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 "",255; + cutin "job_wizard_maria01",255; end; } - if (WIZ_Q == 4) { + else if (WIZ_Q == 4) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "ZzzzZzzzZzzz..."; @@ -2155,10 +1914,10 @@ gef_tower,107,36,4 script White Dog 81,{ mes "[Maria]"; mes "*wimper*...Blizadris...you suck...Zzz..."; close2; - cutin "",255; + cutin "job_wizard_maria02",255; end; } - if (WIZ_Q == 5) { + else if (WIZ_Q == 5) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "Oh, you're doing well aren't you?"; @@ -2167,10 +1926,10 @@ gef_tower,107,36,4 script White Dog 81,{ mes "Well, try your best to the very end."; mes "Laurel is waiting."; close2; - cutin "",255; + cutin "job_wizard_maria01",255; end; } - if (WIZ_Q == 6) { + else if (WIZ_Q == 6) { cutin "job_wizard_maria01",2; mes "[Maria]"; mes "*BARK*...you gave up?"; @@ -2188,10 +1947,10 @@ gef_tower,107,36,4 script White Dog 81,{ 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 "",255; + cutin "job_wizard_maria01",255; end; } - if (WIZ_Q == 7) { + 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*"; @@ -2200,7 +1959,27 @@ gef_tower,107,36,4 script White Dog 81,{ mes "[Maria]"; mes "Congratulations. Always give your best at everything, no matter what."; close2; - cutin "",255; + cutin "job_wizard_maria01",255; end; } -} \ No newline at end of file +} + +//============================================================ +// 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/jobs/2-1a/AssassinCross.txt b/npc/jobs/2-1a/AssassinCross.txt index 0ed46590c..0776825fb 100644 --- a/npc/jobs/2-1a/AssassinCross.txt +++ b/npc/jobs/2-1a/AssassinCross.txt @@ -43,7 +43,7 @@ valkyrie,44,58,5 script Assassin Cross#Valkyrie 725,{ mes "Nobody..."; close; } - if ((ADVJOB == Job_Assassin_Cross) && (Class == Job_Thief_High) && (JobLevel > 39)) { + 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..."; @@ -97,4 +97,4 @@ valkyrie,44,58,5 script Assassin Cross#Valkyrie 725,{ mes "while you are here."; mes "Honor to the warriors."; close; -} \ No newline at end of file +} diff --git a/npc/jobs/2-1a/HighPriest.txt b/npc/jobs/2-1a/HighPriest.txt index 2235ad60e..ae96a122e 100644 --- a/npc/jobs/2-1a/HighPriest.txt +++ b/npc/jobs/2-1a/HighPriest.txt @@ -32,7 +32,7 @@ valkyrie,44,42,5 script High Priest#Valkyrie 60,{ mes "us from the forces of evil..."; close; } - if ((ADVJOB == Job_High_Priest) && (Class == Job_Acolyte_High) && (JobLevel > 39)) { + 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"; @@ -79,4 +79,4 @@ valkyrie,44,42,5 script High Priest#Valkyrie 60,{ mes "while you are here."; mes "Honor to the warriors!"; close; -} \ No newline at end of file +} diff --git a/npc/jobs/2-1a/HighWizard.txt b/npc/jobs/2-1a/HighWizard.txt index 320b1db0d..58f1bfce8 100644 --- a/npc/jobs/2-1a/HighWizard.txt +++ b/npc/jobs/2-1a/HighWizard.txt @@ -38,7 +38,7 @@ valkyrie,44,47,5 script High Wizard#Valkyrie 735,{ mes "was placed in the wrong hands?!"; close; } - if ((ADVJOB == Job_High_Wizard) && (Class == Job_Mage_High) && (JobLevel > 39)) { + else if (ADVJOB == Job_High_Wizard && Class == Job_Mage_High && JobLevel > 39) { mes "[High Wizard]"; mes "It is time."; mes "And Rune-Midgard has"; @@ -62,7 +62,7 @@ valkyrie,44,47,5 script High Wizard#Valkyrie 735,{ mes "all of your remaining Skill Points before returning to me."; close; } - jobchange Job_High_Wizard; + jobchange Job_high_Wizard; set ADVJOB,0; mes "[High Wizard]"; mes "Congratulations."; @@ -83,4 +83,4 @@ valkyrie,44,47,5 script High Wizard#Valkyrie 735,{ mes "while you are here."; mes "Honor to the warriors!"; close; -} \ No newline at end of file +} diff --git a/npc/jobs/2-1a/LordKnight.txt b/npc/jobs/2-1a/LordKnight.txt index 73ed005e2..ba998483e 100644 --- a/npc/jobs/2-1a/LordKnight.txt +++ b/npc/jobs/2-1a/LordKnight.txt @@ -36,7 +36,7 @@ valkyrie,44,39,5 script Lord Knight#Valkyrie 56,{ mes "well being of our comrades."; close; } - if ((ADVJOB == Job_Lord_Knight) && (Class == Job_Swordman_High) && (JobLevel > 39)) { + 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."; @@ -81,4 +81,4 @@ valkyrie,44,39,5 script Lord Knight#Valkyrie 56,{ mes "while you are here."; mes "Honor to the warriors!"; close; -} \ No newline at end of file +} diff --git a/npc/jobs/2-1a/Sniper.txt b/npc/jobs/2-1a/Sniper.txt index 963df71f9..cf5f4881e 100644 --- a/npc/jobs/2-1a/Sniper.txt +++ b/npc/jobs/2-1a/Sniper.txt @@ -33,7 +33,7 @@ valkyrie,44,55,5 script Sniper#Valkyrie 727,{ mes "of battling."; close; } - if ((ADVJOB == Job_Sniper) && (Class == Job_Archer_High) && (JobLevel > 39)) { + else if (ADVJOB == Job_Sniper && Class == Job_Archer_High && JobLevel > 39) { mes "[Sniper]"; mes "The world is in"; mes "need of mighty Bowmen"; @@ -80,4 +80,4 @@ valkyrie,44,55,5 script Sniper#Valkyrie 727,{ mes "while you are here."; mes "Honor to the warriors!"; close; -} \ No newline at end of file +} diff --git a/npc/jobs/2-1a/WhiteSmith.txt b/npc/jobs/2-1a/WhiteSmith.txt index 3100a043d..42ac6164b 100644 --- a/npc/jobs/2-1a/WhiteSmith.txt +++ b/npc/jobs/2-1a/WhiteSmith.txt @@ -40,7 +40,7 @@ valkyrie,44,50,5 script MasterSmith#Valkyrie 731,{ mes "crafting..."; close; } - if ((ADVJOB == Job_WhiteSmith) && (Class == Job_Merchant_High) && (JobLevel > 39)) { + else if (ADVJOB == Job_WhiteSmith && Class == Job_Merchant_High && JobLevel > 39) { mes "[MasterSmith]"; mes "The time has come!"; mes "Our world needs brave,"; @@ -85,4 +85,4 @@ valkyrie,44,50,5 script MasterSmith#Valkyrie 731,{ mes "while you are here."; mes "Honor to the warriors!"; close; -} \ No newline at end of file +} diff --git a/npc/jobs/2-2/alchemist.txt b/npc/jobs/2-2/alchemist.txt index ef50cf60e..fd0f077f5 100644 --- a/npc/jobs/2-2/alchemist.txt +++ b/npc/jobs/2-2/alchemist.txt @@ -1,22 +1,27 @@ //===== rAthena Script ======================================= -// Alchemist Job change Quest -//===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= Alchemist Job Quest +//===== By: ================================================== +//= nestor_zulueta (Fusion), converted by Darkchild //===== Current Version: ===================================== -//= 1.0 +//= 3.0 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Merchant -> Alchemist. +//= [Aegis Conversion] +//= Job quest for Alchemist classes //===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] +//= 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 744,{ +alde_alche,27,185,5 script Alchemist Guildsman#am 744,{ + mes "[Parmy Gianino]"; if (Upper == 1) { - mes "[Parmy Gianino]"; mes "Welcome to the"; mes "Alchemist Unio--"; mes "I-Impossible! How c-can"; @@ -31,9 +36,8 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ mes "feeling about you..."; close; } - if ((Class != Job_Baby_Merchant) && (Class != Job_Merchant)) { - if (Class == Job_Baby_Alchemist || Class == Job_Alchemist) { - mes "[Parmy Gianino]"; + if (BaseJob != Job_Merchant) { + if (BaseJob == Job_Alchemist) { mes "Welcome, " + strcharinfo(0) + "."; mes "The Alchemist Union"; mes "is busy today, like always."; @@ -46,8 +50,7 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ 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; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Parmy Gianino]"; + else if (BaseClass == Job_Novice) { mes "Welcome to the"; mes "Alchemist Union."; mes "We are recruiting"; @@ -64,7 +67,6 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ mes "as a Merchant first."; close; } - mes "[Parmy Gianino]"; mes "Welcome to the"; mes "Alchemist Union."; mes "We are recruiting"; @@ -76,12 +78,11 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ close; } if (ALCH_Q == 0) { - mes "[Parmy Gianino]"; 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.")) { + 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."; @@ -176,21 +177,23 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ mes "Come back to me when you have 50,000 Zeny, otherwise we can't process your application."; close; } - set Zeny, Zeny - 50000; + set zeny,zeny-50000; mes "[Parmy Gianino]"; mes "Let's see."; - mes "" + strcharinfo(0) + ""; + mes "" + strcharinfo(0); mes "needs to bring..."; - set .@alche_m1, rand(1,3); - if (.@alche_m1 == 1) { + 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."; - } - else { + break; + case 3: set ALCH_Q,3; setquest 2030; mes "^551A8B7,500 Fire Arrows^000000."; @@ -217,67 +220,8 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ close; } } - if (ALCH_Q == 1) { - if ((countitem(1006) > 0) && (countitem(1005) > 0)) { - mes "[Parmy Gianino]"; - 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; - changequest 2028,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; - } - if (countitem(657) > 6) { - mes "[Parmy Gianino]"; - mes "Seems like"; - mes "you're all ready."; - mes "The Union will put"; - mes "these items to good use."; - next; - delitem 657,7; //Berserk_Potion - 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; - changequest 2028,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 "[Parmy Gianino]"; - mes "Aren't you ready?"; - mes "Like I said before,"; - mes "you must bring"; - mes "^551A8B7 Berserk Potions^000000."; - next; - mes "[Parmy Gianino]"; - mes "Come back when you"; - mes "have prepared the"; - mes "required items."; - close; - } - if (ALCH_Q == 2) { - if ((countitem(1006) > 0) && (countitem(1005) > 0)) { - mes "[Parmy Gianino]"; + 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"; @@ -291,7 +235,15 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ 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; - changequest 2029,2031; + 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..."; @@ -300,77 +252,31 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ 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; } - if (countitem(612) > 99) { - mes "[Parmy Gianino]"; - mes "Seems like"; - mes "you're all ready."; - mes "The Union will put"; - mes "these items to good use."; - next; - delitem 612,100; //Portable_Furnace - 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; - changequest 2029,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; } - mes "[Parmy Gianino]"; - mes "Aren't you ready?"; - mes "Like I said before,"; - mes "you must bring"; - mes "^551A8B100 Mini Furnaces^000000."; - next; - mes "[Parmy Gianino]"; - mes "Come back when you"; - mes "have prepared the"; - mes "required items."; - close; - } - if (ALCH_Q == 3) { - if ((countitem(1006) > 0) && (countitem(1005) > 0)) { - mes "[Parmy Gianino]"; - 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; - 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; - } - if (countitem(1752) > 7499) { - mes "[Parmy Gianino]"; + 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 1752,7500; //Fire_Arrow + 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; - changequest 2030,2031; + 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..."; @@ -379,11 +285,10 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ 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 "[Parmy Gianino]"; mes "Aren't you ready?"; mes "Like I said before,"; mes "you must bring"; - mes "^551A8B7500 Fire Arrows^000000."; + mes "^551A8B"+.@items[1]+" "+getitemname(.@items[0])+"s^000000."; next; mes "[Parmy Gianino]"; mes "Come back when you"; @@ -391,8 +296,7 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ mes "required items."; close; } - if (ALCH_Q == 4) { - mes "[Parmy Gianino]"; + else if (ALCH_Q == 4) { mes "Go and talk to"; mes "Mr. Raspuchin."; mes "He's involved in the"; @@ -405,22 +309,23 @@ alde_alche,27,185,5 script Alchemist Guildsman 744,{ mes "some simple questions."; close; } - mes "[Parmy Gianino]"; - 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; + 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 749,{ - if ((Class != Job_Baby_Merchant) && (Class != Job_Merchant)) { - if (Class == Job_Baby_Alchemist || Class == Job_Alchemist) { - mes "[Raspuchin Gregory]"; +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?!"; @@ -437,8 +342,7 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "Alchemist Union!"; close; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Raspuchin Gregory]"; + else if (BaseClass == Job_Novice) { mes "Heeheehee"; mes "keheheh~!"; mes "How cute, you've come"; @@ -451,34 +355,34 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "expect to leave so easily..."; close; } - mes "[Raspuchin Gregory]"; - 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; + 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 "[Raspuchin Gregory]"; mes "Heeheehee"; mes "keheheh~!"; mes "What do you"; @@ -494,8 +398,7 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "dark enterprise!"; close; } - if ((ALCH_Q == 1) || (ALCH_Q == 2) || (ALCH_Q == 3)) { - mes "[Raspuchin Gregory]"; + else if (ALCH_Q >= 1 && ALCH_Q <= 3) { mes "Heeheehee"; mes "keheheh~!"; mes "What do you"; @@ -511,469 +414,133 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ 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; } - if (ALCH_Q == 4) { - mes "[Raspuchin Gregory]"; - 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; - changequest 2031,2032; - close; - } - 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."; - next; - set .@alche_s, rand(1,3); - set @w_point,0; - if (.@alche_s == 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; - } - } - if (.@alche_s == 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; - } - } - if (.@alche_s == 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) = ?"; + else if ((ALCH_Q == 4) || (ALCH_Q == 5)) { + if (ALCH_Q == 4) { + mes "Heeheehee"; + mes "keheheh~!"; + mes "What do you"; + mes "want, kid?"; 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?"; + mes "What...?"; + mes "Join the Union!?"; + mes "I don't like it..."; + mes "I just don't...!"; 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?"; + 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; - 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 "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; } - mes "[Raspuchin Gregory]"; - mes "If you buy 4 Padded Armors"; - mes "at a 25% 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; + 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."; } } - 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; - } - if (@w_point == 1) { - mes "[Raspuchin Gregory]"; - mes "You got one wrong!"; - mes "But I'll let it slide."; - mes "You pass the interview!"; + 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; - } - 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!"; + mes "I don't like it..."; + mes "I don't like this!"; 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?!"; + 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 "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 "Now then,"; + mes "give me all the"; + mes "^551A8Bright^000000 answers"; + mes "this time."; } - 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; - } - if (ALCH_Q == 5) { - mes "[Raspuchin Gregory]"; - 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; - set .@alche_s, rand(1,3); - set @w_point,0; - if (.@alche_s == 1) { + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + if (.@input != 742) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "How much do"; mes "12 Red Potions,"; @@ -982,9 +549,7 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "after a 24 % discount?"; next; input .@input; - if (.@input != 909) { - set @w_point,@w_point + 1; - } + if (.@input != 909) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "What is the"; mes "total weight of"; @@ -992,9 +557,7 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "and 1 Long Coat?"; next; input .@input; - if (.@input != 450) { - set @w_point,@w_point + 1; - } + if (.@input != 450) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "What is the"; mes "total defense of"; @@ -1004,71 +567,53 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "Ear Muffs?"; next; input .@input; - if (.@input != 20) { - set @w_point,@w_point + 1; - } + 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 "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; - } - } - if (.@alche_s == 2) { + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + if (.@input != 742) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "What is the"; mes "total price of"; @@ -1078,9 +623,7 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "a 24 % discount?"; next; input .@input; - if (.@input != 934) { - set @w_point,@w_point + 1; - } + if (.@input != 934) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "What is the"; mes "total weight of"; @@ -1088,9 +631,7 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "4 Caps, and 2 Boots?"; next; input .@input; - if (.@input != 550) { - set @w_point,@w_point + 1; - } + if (.@input != 550) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "What is the"; mes "total defense of"; @@ -1100,9 +641,7 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "and Glasses?"; next; input .@input; - if (.@input != 16) { - set @w_point,@w_point + 1; - } + if (.@input != 16) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "How much profit do you"; mes "make if you buy Tights"; @@ -1111,53 +650,39 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "the normal price?"; next; input .@input; - if (.@input != 8520) { - set @w_point,@w_point + 1; - } - } - if (.@alche_s == 3) { + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + if (.@input != 742) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "What is the"; mes "total cost of"; @@ -1167,9 +692,7 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "after a 24 % discount?"; next; input .@input; - if (.@input != 798) { - set @w_point,@w_point + 1; - } + if (.@input != 798) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "What is the"; mes "total weight of"; @@ -1177,31 +700,25 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "3 Caps, and 3 boots?"; next; input .@input; - if (.@input != 480) { - set @w_point,@w_point + 1; - } + 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; - } + if (.@input != 12) set .@w_point,.@w_point+1; mes "[Raspuchin Gregory]"; mes "If you buy 4 Padded Armors"; - mes "at a 25% discount and sell"; + 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 (.@input != 7680) set w_point,w_point+1; } - if (@w_point == 0) { + if (.@w_point == 0) { mes "[Raspuchin Gregory]"; mes "Ooh..."; mes "Excellent! Great!"; @@ -1209,14 +726,14 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "Keheheh, I have no choice but to acknowledge you..."; next; } - if (@w_point == 1) { + 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; } - if (@w_point == 2) { + else if (.@w_point == 2 && ALCH_Q == 5) { mes "[Raspuchin Gregory]"; mes "You've got serious"; mes "weaknesses in math,"; @@ -1257,10 +774,10 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ 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; } - if (ALCH_Q == 6) { - mes "[Raspuchin Gregory]"; + else if (ALCH_Q == 6) { mes "What are you doing?"; mes "Go and find Darwin now."; next; @@ -1269,14 +786,13 @@ alde_alche,175,107,3 script Fastidious Alchemist 749,{ mes "Don't think this is the end of it!"; close; } - mes "[Raspuchin Gregory]"; mes "Keheheheheheheheh~"; mes "Don't think this is the end of it!"; close; } -alde_alche,13,15,7 script Studying Man 750,{ - if (checkweight(1201,3) == 0) { +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. -"; @@ -1284,9 +800,9 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "- after you store some items into kafra storage. -"; close; } - if ((Class != Job_Baby_Merchant) && (Class != Job_Merchant)) { - if (Class == Job_Baby_Alchemist || Class == Job_Alchemist) { - mes "[Darwin]"; + mes "[Darwin]"; + if (BaseJob != Job_Merchant) { + if (BaseJob == Job_Alchemist) { mes "Ah..."; mes "You..."; mes "You've become"; @@ -1306,28 +822,28 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "My love..."; close; } - mes "[Darwin]"; - 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; + 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 "[Darwin]"; mes "..."; next; mes "[Darwin]"; @@ -1340,7 +856,7 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "Who is it...?"; next; monster "alde_alche",13,15,"Wolf",1013,1; - killmonster "alde_alche","Studying Man::OnMyMobDead"; + killmonsterall "alde_alche"; mes "[Darwin]"; mes "A wolf?"; mes "Or a human?"; @@ -1367,7 +883,7 @@ alde_alche,13,15,7 script Studying Man 750,{ 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.")) { + switch(select("I want to learn how to experiment.:Tell me more about flowers.:Nothing.")) { case 1: mes "[Darwin]"; mes "You wish to"; @@ -1459,8 +975,7 @@ alde_alche,13,15,7 script Studying Man 750,{ close; } } - if (ALCH_Q == 7) { - mes "[Darwin]"; + else if (ALCH_Q == 7) { mes "..."; mes "......"; next; @@ -1577,10 +1092,9 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "and cast away the last"; mes "vestiges of Merchant life!!"; set ALCH_Q,40; - changequest 2033,2034; close; } - if ((countitem(7134) > 2) && (countitem(713) > 2) && (countitem(507) > 0) && (countitem(508) > 0) && (countitem(509) > 0)) { + 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; @@ -1607,27 +1121,27 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "Now, make some medicine"; mes "using the simple procedure"; mes "I just explained to you."; - set @w_point,0; + set w_point,0; next; - switch (select("Prepare the Medicine Bowl.:Put the Medicine Bowl on your head.:Kick the Medicine Bowl.")) { + 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; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "What...?"; next; break; case 3: - set @w_point,@w_point + 1; + 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.")) { + 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; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "...Eh!?"; mes "That's not"; @@ -1637,7 +1151,7 @@ alde_alche,13,15,7 script Studying Man 750,{ case 2: break; case 3: - set @w_point,@w_point + 1; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "A Harp?"; mes "And how would"; @@ -1645,18 +1159,18 @@ alde_alche,13,15,7 script Studying Man 750,{ next; break; } - switch (select("Crush the Herbs.:Crush the Medicine Bowl.:Crush Darwin's foot.")) { + switch(select("Crush the Herbs.:Crush the Medicine Bowl.:Crush Darwin's foot.")) { case 1: break; case 2: - set @w_point,@w_point + 1; + 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; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "Agh...!"; mes "What do you"; @@ -1665,16 +1179,16 @@ alde_alche,13,15,7 script Studying Man 750,{ next; break; } - switch (select("Spray clean water.:Drink clean water.:Pour clean water.")) { + switch(select("Spray clean water.:Drink clean water.:Pour clean water.")) { case 1: - set @w_point,@w_point + 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; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "W-wait..."; mes "Are you"; @@ -1684,11 +1198,11 @@ alde_alche,13,15,7 script Studying Man 750,{ case 3: break; } - switch (select("Continue crushing the Herbs.:Continue eating the Herbs.:Continue dancing and singing.")) { + 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; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "Eat the Herbs?"; mes "I think you need"; @@ -1697,7 +1211,7 @@ alde_alche,13,15,7 script Studying Man 750,{ next; break; case 3: - set @w_point,@w_point + 1; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "Singing and"; mes "dancing? Alchemists"; @@ -1706,9 +1220,9 @@ alde_alche,13,15,7 script Studying Man 750,{ next; break; } - switch (select("Put noodles in and fry it.:Pour it in an empty bottle.:Hold the Medicine Bowl and drink it.")) { + 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; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "We're Alchemists,"; mes "not restaurant chefs."; @@ -1717,14 +1231,14 @@ alde_alche,13,15,7 script Studying Man 750,{ case 2: break; case 3: - set @w_point,@w_point + 1; + set .@w_point,.@w_point+1; mes "[Darwin]"; mes "Huh..."; mes "Pretty sloppy..."; next; break; } - if (@w_point > 0) { + if (.@w_point > 0) { mes "[Darwin]"; mes "..."; mes "......"; @@ -1755,28 +1269,29 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "what is most precious to you."; close; } - 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 { + 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; + } } - if (ALCH_Q == 8) { - mes "[Darwin]"; + else if (ALCH_Q == 8) { mes "I said to go"; mes "to Van Helmont."; mes "I'd like to teach you"; @@ -1789,8 +1304,7 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "withers as well.."; close; } - if (ALCH_Q == 40) { - mes "[Darwin]"; + else if (ALCH_Q == 40) { mes "I have already given you all of my knowledge and have nothing more"; mes "to teach you."; next; @@ -1799,31 +1313,32 @@ alde_alche,13,15,7 script Studying Man 750,{ mes "you do that, your life as an Alchemist will begin."; close; } - mes "[Darwin]"; - 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; + 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 748,{ - if ((Class != Job_Baby_Merchant) && (Class != Job_Merchant)) { - if (Class == Job_Baby_Alchemist || Class == Job_Alchemist) { - mes "[Van Helmont]"; +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"; @@ -1838,25 +1353,25 @@ alde_alche,79,19,5 script Experiment Expert 748,{ mes "Reading science journals and performing experiments. That's what Alchemy is all about. Now, let me get back to work!"; close; } - mes "[Van Helmont]"; - 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; + 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 "[Van Helmont]"; 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; @@ -1949,8 +1464,7 @@ alde_alche,79,19,5 script Experiment Expert 748,{ mes "I going to do?!"; close; } - if (ALCH_Q == 9) { - mes "[Van Helmont]"; + 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]"; @@ -1982,34 +1496,20 @@ alde_alche,79,19,5 script Experiment Expert 748,{ mes "check what you've"; mes "learned."; next; - set @w_point,0; - if (molgenstain == 3) { + if(MISC_QUEST & 4) { mes "[Van Helmont]"; mes "Which item is not"; mes "necessary to make"; mes "a Counteragent?"; next; - switch (select("Karvodailnirol:Detrimindexta:Alcohol")) { - case 1: - break; - case 2: - case 3: - set @w_point,@w_point + 1; - } + 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; - switch (select("Karvodailnirol:Detrimindexta:Alcohol")) { - case 1: - set @w_point,@w_point + 1; - case 2: - break; - case 3: - set @w_point,@w_point + 1; - } - if (@w_point > 0) { + 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."; @@ -2044,14 +1544,12 @@ alde_alche,79,19,5 script Experiment Expert 748,{ mes "a Counteragent?"; next; select("Feather:Sticky Mucus:Animal Gore"); - set @w_point,@w_point + 1; mes "[Van Helmont]"; mes "What item do"; mes "you need to make"; mes "a Mixture?"; next; select("Monster Feed:Ancient Lips:Rotten Bandage"); - set @w_point,@w_point + 1; 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; @@ -2060,8 +1558,7 @@ alde_alche,79,19,5 script Experiment Expert 748,{ close; } } - if (ALCH_Q == 20) { - mes "[Van Helmont]"; + else if (ALCH_Q == 20) { mes "What...?"; mes "I thought I told you to"; mes "talk to Nicholas next door?"; @@ -2071,28 +1568,29 @@ alde_alche,79,19,5 script Experiment Expert 748,{ mes "and you need to finish becoming an Alchemist. Come on, get moving!"; close; } - mes "[Van Helmont]"; - 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; + 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 122,{ +alde_alche,101,184,4 script Master Alchemist#am 122,{ cutin "job_alche_vincent",2; + mes "[Vincent Carsciallo]"; if (Upper == 1) { - mes "[Vincent Carsciallo]"; mes "You have transcended..."; mes "Excellent, excellent."; next; @@ -2103,9 +1601,8 @@ alde_alche,101,184,4 script Master Alchemist 122,{ cutin "",255; end; } - if ((Class != Job_Baby_Merchant) && (Class != Job_Merchant)) { - if (Class == Job_Baby_Alchemist || Class == Job_Alchemist) { - mes "[Vincent Carsciallo]"; + if (BaseJob != Job_Merchant) { + if (BaseJob == Job_Alchemist) { mes "Welcome!"; mes "So how is your"; mes "research coming along?"; @@ -2116,12 +1613,8 @@ alde_alche,101,184,4 script Master Alchemist 122,{ 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!"; - close2; - cutin "",255; - end; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Vincent Carsciallo]"; + else if (BaseClass == Job_Novice) { mes "Hm..."; mes "A Novice?"; mes "You shouldn't be"; @@ -2131,27 +1624,24 @@ alde_alche,101,184,4 script Master Alchemist 122,{ 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."; - close2; - cutin "",255; - end; } - mes "[Vincent Carsciallo]"; - 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."; + 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 "[Vincent Carsciallo]"; mes "Hmm...?"; mes "A Merchant?"; mes "Are you interested"; @@ -2171,18 +1661,16 @@ alde_alche,101,184,4 script Master Alchemist 122,{ cutin "",255; end; } - if (ALCH_Q == 40) { + else if (ALCH_Q == 40) { if (JobLevel < 40) { set ALCH_Q,0; - mes "[Vincent Carsciallo]"; 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 != 0) { - mes "[Vincent Carsciallo]"; + if (SkillPoint) { mes "Ah, you're almost"; mes "ready to become an"; mes "Alchemist, but you must"; @@ -2198,86 +1686,62 @@ alde_alche,101,184,4 script Master Alchemist 122,{ cutin "",255; end; } - mes "[Vincent Carsciallo]"; + 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; - if (JobLevel == 50) { - set ALCH_Q,0; - changequest 2034,2040; - changequest 2039,2040; - completequest 2040; - if(Class == Job_Baby_Merchant){ - jobchange Job_Baby_Alchemist; - } else { - jobchange Job_Alchemist; - } - mes "[Vincent Carsciallo]"; - mes "Henceforth, you are"; - mes "now a member of our"; - mes "illustrious Union."; - mes "I hope you learn a lot..."; - next; - 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."; - 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; - } set ALCH_Q,0; - changequest 2034,2040; - changequest 2039,2040; completequest 2040; - if(Class == Job_Baby_Merchant){ - jobchange Job_Baby_Alchemist; - } else { - jobchange Job_Alchemist; - } + 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; - set .@alche_m2, rand(1,6); - if (.@alche_m2 == 1) { - getitem 7127,1; //Alcol_Create_Book - } - else if (.@alche_m2 == 2) { - getitem 7128,1; //FireBottle_Create_Book - } - else if (.@alche_m2 == 3) { - getitem 7129,1; //Acid_Create_Book - } - else if (.@alche_m2 == 4) { - getitem 7130,1; //Plant_Create_Book - } - else if (.@alche_m2 == 5) { - getitem 7131,1; //Mine_Create_Book + + 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 { - getitem 7144,1; //Normal_Potion_Book + 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."; } - 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"; @@ -2289,23 +1753,24 @@ alde_alche,101,184,4 script Master Alchemist 122,{ cutin "",255; end; } - mes "[Vincent Carsciallo]"; - 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; + 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 57,{ - if (checkweight(1201,3) == 0) { +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. -"; @@ -2313,7 +1778,7 @@ alde_alche,145,19,1 script Chief Researcher 57,{ mes "- after you store some items into kafra storage. -"; close; } - if ((ALCH_Q > 19) && (ALCH_Q < 22)) { + if (ALCH_Q > 19 && ALCH_Q < 22) { if (ALCH_Q == 20) { mes "[Nicholas Flamel]"; mes "Ooh..."; @@ -2341,83 +1806,54 @@ alde_alche,145,19,1 script Chief Researcher 57,{ mes "choose the word"; mes "that is ^551A8BIN^000000 the puzzle."; next; - set .@alche_puz, rand(1,3); - if (.@alche_puz == 1) { + switch(rand(1,3)) { + case 1: mes "t m y a n y e o b n e g p r i"; next; - set @alch_q, 0; - if (select("Brake:Brass:Bug:Broken:Brigan?") == 5) { - set @alch_q, @alch_q + 10; - } - mes "o n c u d a p j l e r s v m u"; + 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_q, @alch_q + 10; - } + 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_q, @alch_q + 10; - } + 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_q, @alch_q + 10; - } - next; - } - if (.@alche_puz == 2) { + 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; - set @alch_q, 0; - if (select("packman:sunshine:ragnarok:wonderland:frost") == 1) { - set @alch_q, @alch_q + 10; - } + 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_q, @alch_q + 10; - } + 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_q, @alch_q + 10; - } + 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_q, @alch_q + 10; - } - next; - } - else { + 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; - set @alch_q, 0; - if (select("tiger:wolf:pumpkin:tripped:tore") == 1) { - set @alch_q, @alch_q + 10; - } + 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_q, @alch_q + 10; - } + 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_q, @alch_q + 10; - } + 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_q, @alch_q + 10; - } - 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_q > 30) { + if (.@alch_t > 30) { set ALCH_Q,22; mes "Excellent job!"; next; @@ -2435,23 +1871,27 @@ alde_alche,145,19,1 script Chief Researcher 57,{ mes "^551A8Bplenty of room in your inventory^000000."; close; } - 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 { + 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; + + } } - if (ALCH_Q == 22) { - if ((MaxWeight - Weight) < 1370) { + 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."; @@ -2492,7 +1932,7 @@ alde_alche,145,19,1 script Chief Researcher 57,{ mes "one piece."; close; } - if (ALCH_Q == 23) { + else if (ALCH_Q == 23) { mes "[Nicholas Flamel]"; mes "Didn't I say to"; mes "go to Juno and help"; @@ -2500,7 +1940,7 @@ alde_alche,145,19,1 script Chief Researcher 57,{ mes "their Alchemy research?"; close; } - if (ALCH_Q == 24) { + else if (ALCH_Q == 24) { set ALCH_Q,40; changequest 2038,2039; mes "[Nicholas Flamel]"; @@ -2519,24 +1959,44 @@ alde_alche,145,19,1 script Chief Researcher 57,{ 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; } - if ((ALCH_Q == 40) && (Class == Job_Baby_Merchant || Class == Job_Merchant)) { + 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; } - 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; + 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; + } } -alde_alche,19,171,0 warp alche#3 1,1,aldebaran,68,56 -alde_alche,42,171,0 warp alche#4 1,1,aldebaran,56,68 \ No newline at end of file +//============================================================ +// Old changelog +//============================================================ +//= v1.0 Working. +//= npc/quests/counteragent_mixture.txt Also Needed +//= npc/quests/quests_yuno.txt Also Needed [Darkchild] +//= v1.1 Fixed some minor bugs. Optimized some lines. Re-organized the script a bit. +//= Giving Parmry NPC, Hammer and Old Book now waves the 50000 fee. (based of mRO website) +//= Having a joblvl of 50 allows you to skip Rasputin's test. (based of mRO website) [kobra_k88] +//= 1.2 fixed a few typos (have to hunt more) [Lupus] +//= 1.3 Added Baby Class Support [Lupus] +//= 1.6 Added a func which prevent advanced classes passing +//= 2nd Job Quests again. It also guides adv classes where +//= to go. [Lupus] +//= 1.6a fixed some wrong answers, thanks to zlider for info [Lupus] +//= 2.0 Changed numbers to constants. [Vicious] +//= 2.2 Got rid of 'al_morgen' var. Now uses (MISC_QUEST & 4) [Lupus] +//= 2.3 Optimized, changed job numbers to constants. Fixed some spelling [Lupus] +//= 2.4 Added alternative prizes according to JobLevel [Lupus] +//= 2.4a Fixed 2 wrong answers in Rasputin's test [Lupus] diff --git a/npc/jobs/2-2/bard.txt b/npc/jobs/2-2/bard.txt index 4dd34568c..a4b158ec8 100644 --- a/npc/jobs/2-2/bard.txt +++ b/npc/jobs/2-2/bard.txt @@ -1,21 +1,33 @@ //===== rAthena Script ======================================= -// Bard Job change Quest -//===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= Bard Job Quest +//===== By: ================================================== +//= Muad_Dib(The Prometheus Project), Lupus, Samuray22 //===== Current Version: ===================================== -//= 1.0 +//= 2.6 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Archer[M] -> Bard. -//===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] -//============================================================ +//= [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] +//============================================================ -comodo,226,123,5 script Roaming Bard 741,{ - if (Upper == 1) { +//=============== 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"; @@ -28,11 +40,11 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Tell them they are wasting their time..."; mes "Tell them they forget the most important goal of the life..."; close2; - cutin "",255; + cutin "job_bard_aiolo01",255; end; } - if ((Class != Job_Baby_Archer) && (Class != Job_Archer)) { - if (Class == Job_Baby_Bard || Class == Job_Bard) { + 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."; @@ -44,11 +56,8 @@ comodo,226,123,5 script Roaming Bard 741,{ 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."; - close2; - cutin "",255; - end; } - if (Class == Job_Baby || Class == Job_Novice) { + else if(Class == Job_Novice) { cutin "job_bard_aiolo01",2; mes "[Lalo]"; mes "The sadness that overcomes my heart.. "; @@ -64,51 +73,43 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "[Lalo]"; mes "Heh... try asking someone else."; mes "I'm trying to compose a new song."; - close2; - cutin "",255; - end; - } - cutin "job_bard_aiolo01",2; - mes "[Lalo]"; - mes "Lalala, lalala. Beautiful Comodo."; - mes "Always full of happy moments~"; - next; - mes "[Lalo]"; - if (Sex == 1) { - mes "Forget about your worries~"; - mes "And enjoy everything~"; } else { - mes "Cute lady, shall we dance~"; + 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~"; } - mes "Youth never repeats itself~"; close2; - cutin "",255; + cutin "job_bard_aiolo01",255; end; } - if (BARD_Q == 0) { + else if(BARD_Q == 0) { cutin "job_bard_aiolo01",2; mes "[Lalo]"; - if (Sex == 1) { - mes "Hi! Delightful Archer."; - } - else { - mes "Hello! Beautiful Archer Lady."; - } + 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.")) { + 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."; + 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."; - close2; - cutin "",255; - end; + break; + case 2: mes "[Lalo]"; mes "A song... let's see."; @@ -145,31 +146,30 @@ comodo,226,123,5 script Roaming Bard 741,{ 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."; + mes "Thanks! if you enjoyed my song, it makes me happy, too."; next; - if ((Sex == 1) && (JobLevel > 39)) { + 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 "",255; + cutin "job_bard_aiolo01",255; end; } mes "[Lalo]"; - mes "If you ever want to hear my song again, just ask."; + mes "if you ever want to hear my song again, just ask."; close2; - cutin "",255; + 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."; - close2; - cutin "",255; - end; + break; + case 3: cutin "job_bard_aiolo02",2; mes "[Lalo]"; @@ -179,18 +179,19 @@ comodo,226,123,5 script Roaming Bard 741,{ 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.."; - close2; - cutin "",255; - end; + break; } + close2; + cutin "job_bard_aiolo02",255; + end; } - if (BARD_Q == 1) { + 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.")) { + 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?"; @@ -211,7 +212,7 @@ comodo,226,123,5 script Roaming Bard 741,{ set BARD_Q,2; changequest 3000,3001; close2; - cutin "",255; + cutin "job_bard_aiolo01",255; end; } mes "[Lalo]"; @@ -221,9 +222,8 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "[Lalo]"; mes "You have plenty of talent."; mes "Come again if you change your mind."; - close2; - cutin "",255; - end; + break; + case 2: mes "[Lalo]"; mes "Hmm... seems like you have some singing talents?"; @@ -232,9 +232,8 @@ comodo,226,123,5 script Roaming Bard 741,{ 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?"; - close2; - cutin "",255; - end; + break; + case 3: mes "[Lalo]"; mes "Hmm... I'm not sure what's what, but enjoy life."; @@ -242,30 +241,30 @@ comodo,226,123,5 script Roaming Bard 741,{ next; mes "[Lalo]"; mes "Well then~ Have a great time~"; - close2; - cutin "",255; - end; + break; } + close2; + cutin "job_bard_aiolo01",255; + end; } - if (BARD_Q == 2) { + 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 "[Lalo]"; mes "Ooh! It's a Singing Flower!"; mes "It's full of my memories..."; next; - delitem 629,1; //Singing_Flower + delitem 629,1; //Singing Flower mes "[Lalo]"; mes "My friend Tchaikovsky used to like it."; mes "I wonder what he's doing now..."; - next; } - if (countitem(703) > 0) { - mes "[Lalo]"; + 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; @@ -273,10 +272,8 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "[Lalo]"; mes "The leaves gave me strength when I used to fall."; mes "I really like this flower, thank you."; - next; } - else if (countitem(704) > 0) { - mes "[Lalo]"; + else if(countitem(704) > 0) { mes "Aloe... This is a rare flower."; mes "How'd you get it? Rather skilled, eh?"; next; @@ -284,10 +281,8 @@ comodo,226,123,5 script Roaming Bard 741,{ 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."; - next; } - if (countitem(708) > 0) { - mes "[Lalo]"; + 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; @@ -295,10 +290,8 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "[Lalo]"; mes "I heard you can make Anodyne with it..."; mes "But that would be a slight waste.. thanks!"; - next; } - if (countitem(709) > 0) { - mes "[Lalo]"; + else if(countitem(709) > 0) { mes "Ooh, isn't this an Izidor?"; mes "It's a dangerous yet beautiful flower..."; next; @@ -306,10 +299,8 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "[Lalo]"; mes "The deep purple charms a person.. "; mes "Thank you, I really like this flower."; - next; } - if (countitem(748) > 0) { - mes "[Lalo]"; + 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; @@ -317,10 +308,8 @@ comodo,226,123,5 script Roaming Bard 741,{ 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?"; - next; } - if (countitem(749) > 0) { - mes "[Lalo]"; + 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; @@ -328,10 +317,8 @@ comodo,226,123,5 script Roaming Bard 741,{ 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."; - next; } - if (countitem(710) > 0) { - mes "[Lalo]"; + else if(countitem(710) > 0) { mes "Oh, isn't this an Illusion Flower!?"; mes "Wow, how did you obtain such a rare flower!!"; next; @@ -339,11 +326,10 @@ comodo,226,123,5 script Roaming Bard 741,{ 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!"; - next; } - if (countitem(712) > 0) { + //Bad Flowers + else if(countitem(712) > 0) { cutin "job_bard_aiolo02",2; - mes "[Lalo]"; mes "Eh? This is just a normal flower."; mes "I like it... but it's not enough."; next; @@ -351,11 +337,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "You can get this flower from the girl in Prontera."; mes "Please bring me a different flower."; close2; - cutin "",255; + cutin "job_bard_aiolo02",255; end; } - if (countitem(744) > 0) { - mes "[Lalo]"; + else if(countitem(744) > 0) { mes "Oh no, you brought a Bouquet?"; mes "You can't bring me something like this."; next; @@ -363,12 +348,11 @@ comodo,226,123,5 script Roaming Bard 741,{ 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 "",255; + cutin "job_bard_aiolo01",255; end; } - if (countitem(745) > 0) { + else if(countitem(745) > 0) { cutin "job_bard_aiolo02",2; - mes "[Lalo]"; 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; @@ -376,11 +360,10 @@ comodo,226,123,5 script Roaming Bard 741,{ 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 "",255; + cutin "job_bard_aiolo02",255; end; } - if (countitem(2207) > 0) { - mes "[Lalo]"; + else if(countitem(2207) > 0) { mes "Mmm... a Fancy Flower."; mes "It's nice... but this isn't good enough."; next; @@ -388,25 +371,23 @@ comodo,226,123,5 script Roaming Bard 741,{ 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 "",255; + cutin "job_bard_aiolo01",255; end; } - if (countitem(1032) > 0) { + else if(countitem(1032) > 0) { cutin "job_bard_aiolo02",2; - mes "[Lalo]"; 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 "if you were trying to be funny, it was a good attempt..."; mes "but bring a normal flower now."; close2; - cutin "",255; + cutin "job_bard_aiolo02",255; end; } else { cutin "job_bard_aiolo02",2; - mes "[Lalo]"; mes "Hmm? What... you didnt' bring anything."; mes "Didn't I ask you to bring a flower?"; next; @@ -414,9 +395,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Well... if you want to learn on your own, then so be it."; mes "Anyone can just go out and sing."; close2; - cutin "",255; + 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."; @@ -427,39 +409,74 @@ comodo,226,123,5 script Roaming Bard 741,{ 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 "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 BARD_Q2,1; + set xmas_npc,1; mes "[Lalo]"; - mes "If you become friends with ^008800Jack Frost^000000, you will receive something."; + 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 "",255; + cutin "job_bard_aiolo01",255; end; } - if (BARD_Q == 3) { - if (BARD_Q2 > 10) { + 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 "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."; + mes "Hmm... this time you can do better, right?"; + mes "Let's try again, you can do it."; next; - changequest 3002,3003; mes "[Lalo]"; - mes "Then, do you want to try singing...?"; - mes "I'll sing a short melody..."; - mes "and you try after."; + mes "I'll sing one part..."; + mes "and you try it after."; next; mes "[Lalo]"; - mes "Here I go."; - mes "Ehem *clears throat*"; + mes "Here we go."; + mes "*Ehem*"; mes "1, 2, 3, 4"; next; + } + if (BARD_Q != 5) { set .@bard_s, rand(1,5); - set @w_point, 0; if (.@bard_s == 1) { mes "^3377FFThere was a man^000000"; mes "who was said to be immortal."; @@ -468,10 +485,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "The evil giant Papner,"; mes "Turned into a dragon and ate him."; next; - input .@inputstr$; - if (.@inputstr$ != "There was a man") { - set @w_point, @w_point + 1; - } + 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,"; @@ -479,10 +496,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "The evil giant Papner,"; mes "Turned into a dragon and ate him."; next; - input .@inputstr$; - if (.@inputstr$ != "who was said to be immortal.") { - set @w_point, @w_point + 1; - } + 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"; @@ -490,10 +507,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "The evil giant Papner,"; mes "Turned into a dragon and ate him."; next; - input .@inputstr$; - if (.@inputstr$ != "His name Jichfreid,") { - set @w_point, @w_point + 1; - } + 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,"; @@ -501,10 +518,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "The evil giant Papner,"; mes "Turned into a dragon and ate him."; next; - input .@inputstr$; - if (.@inputstr$ != "Son of the hero Jichmunt.") { - set @w_point, @w_point + 1; - } + 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,"; @@ -512,10 +529,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "The evil giant Papner,^000000"; mes "Turned into a dragon and ate him."; next; - input .@inputstr$; - if (.@inputstr$ != "The evil giant Papner,") { - set @w_point, @w_point + 1; - } + 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,"; @@ -523,12 +540,11 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "The evil giant Papner,"; mes "Turned into a dragon and ate him.^000000"; next; - input .@inputstr$; - if (.@inputstr$ != "Turned into a dragon and ate him.") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "Turned into a dragon and ate him.") + set .@w_point,.@w_point+1; } - if (.@bard_s == 2) { + 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."; @@ -536,10 +552,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "At first he only sold Red Potions."; mes "Some say he sold Sweet Potatoes, too."; next; - input .@inputstr$; - if (.@inputstr$ != "A Merchant without money or equipment,") { - set @w_point, @w_point + 1; - } + 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."; @@ -547,10 +563,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "At first he only sold Red Potions."; mes "Some say he sold Sweet Potatoes, too."; next; - input .@inputstr$; - if (.@inputstr$ != "a Merchant that couldn't sell anything.") { - set @w_point, @w_point + 1; - } + 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"; @@ -558,10 +574,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "At first he only sold Red Potions."; mes "Some say he sold Sweet Potatoes, too."; next; - input .@inputstr$; - if (.@inputstr$ != "But he was too proud to beg.") { - set @w_point, @w_point + 1; - } + 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."; @@ -569,10 +585,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "At first he only sold Red Potions."; mes "Some say he sold Sweet Potatoes, too."; next; - input .@inputstr$; - if (.@inputstr$ != "So he gathered some money selling items.") { - set @w_point, @w_point + 1; - } + 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."; @@ -580,10 +596,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "At first he only sold Red Potions.^000000"; mes "Some say he sold Sweet Potatoes, too."; next; - input .@inputstr$; - if (.@inputstr$ != "At first he only sold Red Potions.") { - set @w_point, @w_point + 1; - } + 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."; @@ -591,91 +607,89 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "At first he only sold Red Potions."; mes "Some say he sold Sweet Potatoes, too.^000000"; next; - input .@inputstr$; - if (.@inputstr$ != "Some say he sold Sweet Potatoes, too.") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "Some say he sold Sweet Potatoes, too.") + set .@w_point,.@w_point+1; } - if (.@bard_s == 3) { + else if (.@bard_s == 3) { mes "^3377FFAll Gods never age.^000000"; - mes "The ever so beautiful Goddess Eden,"; + 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 .@inputstr$; - if (.@inputstr$ != "All Gods never age.") { - set @w_point, @w_point + 1; - } + 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 "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 .@inputstr$; - if (.@inputstr$ != "The ever so beautiful Goddess Eden,") { - set @w_point, @w_point + 1; - } + 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 "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 .@inputstr$; - if (.@inputstr$ != "Beautiful and graceful Goddess Eden,") { - set @w_point, @w_point + 1; - } + 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 "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 .@inputstr$; - if (.@inputstr$ != "Odin's daughter-in-law and Bragi's wife.") { - set @w_point, @w_point + 1; - } + 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 "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 .@inputstr$; - if (.@inputstr$ != "Her sweet apples in her basket,") { - set @w_point, @w_point + 1; - } + 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 "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 .@inputstr$; - if (.@inputstr$ != "All thanks to her sweet apples.") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "All thanks to her sweet apples.") + set .@w_point,.@w_point+1; } - if (.@bard_s == 4) { - mes "^3377FFBragi, Bragi,z^000000"; + 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 .@inputstr$; - if (.@inputstr$ != "Bragi, Bragi,") { - set @w_point, @w_point + 1; - } + 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,"; @@ -683,10 +697,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "All wandering poets are his people,"; mes "And all praise shall go to him."; next; - input .@inputstr$; - if (.@inputstr$ != "Forever call the poets name.") { - set @w_point, @w_point + 1; - } + 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"; @@ -694,10 +708,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "All wandering poets are his people,"; mes "And all praise shall go to him."; next; - input .@inputstr$; - if (.@inputstr$ != "My songs are his breath,") { - set @w_point, @w_point + 1; - } + 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,"; @@ -705,10 +719,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "All wandering poets are his people,"; mes "And all praise shall go to him."; next; - input .@inputstr$; - if (.@inputstr$ != "My mind is his will,") { - set @w_point, @w_point + 1; - } + 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,"; @@ -716,10 +730,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "All wandering poets are his people,^000000"; mes "And all praise shall go to him."; next; - input .@inputstr$; - if (.@inputstr$ != " All wandering poets are his people,") { - set @w_point, @w_point + 1; - } + 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,"; @@ -727,10 +741,9 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "All wandering poets are his people,"; mes "And all praise shall go to him.^000000"; next; - input .@inputstr$; - if (.@inputstr$ != "And all praise shall go to him.") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "And all praise shall go to him.") + set .@w_point,.@w_point+1; } else { mes "^3377FFLouder, louder, louder.^000000"; @@ -740,10 +753,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Let the castle walls ring."; mes "This day will never come again!"; next; - input .@inputstr$; - if (.@inputstr$ != "Louder, louder, louder.") { - set @w_point, @w_point + 1; - } + 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."; @@ -751,10 +764,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Let the castle walls ring."; mes "This day will never come again!"; next; - input .@inputstr$; - if (.@inputstr$ != "Give strength to the warriors!") { - set @w_point, @w_point + 1; - } + 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"; @@ -762,10 +775,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Let the castle walls ring."; mes "This day will never come again!"; next; - input .@inputstr$; - if (.@inputstr$ != "Shake the sky and roar through the land.") { - set @w_point, @w_point + 1; - } + 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."; @@ -773,10 +786,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Let the castle walls ring."; mes "This day will never come again!"; next; - input .@inputstr$; - if (.@inputstr$ != "Make my heart pound again!") { - set @w_point, @w_point + 1; - } + 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."; @@ -784,10 +797,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Let the castle walls ring.^000000"; mes "This day will never come again!"; next; - input .@inputstr$; - if (.@inputstr$ != "Let the castle walls ring.") { - set @w_point, @w_point + 1; - } + 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."; @@ -795,12 +808,12 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Let the castle walls ring."; mes "This day will never come again!^000000"; next; - input .@inputstr$; - if (.@inputstr$ != "This day will never come again!") { - set @w_point, @w_point + 1; - } + input .@Song$; + if (.@Song$ != "This day will never come again!") + set .@w_point,.@w_point+1; } - if (@w_point > 0) { + + if (.@w_point) { cutin "job_bard_aiolo02",2; mes "[Lalo]"; mes "Oy, You got the lyrics wrong!"; @@ -810,14 +823,13 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Your pronunciation is very unclear."; mes "Do a better job next time."; close2; - cutin "",255; + cutin "job_bard_aiolo02",255; end; } mes "[Lalo]"; mes ".........."; next; set BARD_Q,5; - changequest 3003,3004; mes "[Lalo]"; mes "Wonderful! Finished it in one try!"; mes "You can become a great Bard. "; @@ -830,452 +842,10 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "Do you want to just change jobs now?"; mes "Or do you want a present."; next; - if (select("Just change my job please.:I'd be thankful for a present.") == 1) { - if (SkillPoint != 0) { - changequest 3003,3004; - 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 "",255; - end; - } - completequest 3004; - set BARD_Q,0; - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Bard; - } else { - jobchange Job_Bard; - } - 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 "",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 "",255; - end; - } - cutin "job_bard_aiolo01",2; - set BARD_Q2,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 "",255; - end; - } - 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; - set .@bard_s,rand(1,5); - set @w_point,0; - 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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "Turned into a dragon and ate him.") { - set @w_point, @w_point + 1; - } - } - 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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "Some say he sold Sweet Potatoes, too.") { - set @w_point, @w_point + 1; - } - } - 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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "All thanks to her sweet apples.") { - set @w_point, @w_point + 1; - } + set .@selection,select("Just change my job please.:I'd be thankful for a present."); } - if (.@bard_s == 4) { - mes "^3377FFBragi, Bragi,z^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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != " 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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "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 .@inputstr$; - if (.@inputstr$ != "This day will never come again!") { - set @w_point, @w_point + 1; - } - } - if (@w_point > 0) { - 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 "",255; - end; - } - mes "[Lalo]"; - mes ".........."; - next; - set BARD_Q,5; - changequest 3003,3004; - mes "[Lalo]"; - mes "Wonderful! Although it was not in one try!"; - mes "Good enough to become a good 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; - if (select("Just change my job please.:I'd be thankful for a present.") == 1) { - if (SkillPoint != 0) { + 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."; @@ -1286,240 +856,96 @@ comodo,226,123,5 script Roaming Bard 741,{ mes "So bring some trunks."; mes "It doesn't matter what kind, as long as they are 60 of the same kind..."; close2; - cutin "",255; + cutin "job_bard_aiolo01",255; end; } - completequest 3004; - set BARD_Q,0; - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Bard; - } else { - jobchange Job_Bard; + 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; + } } - 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 "",255; - end; } + changequest 3003,3004; mes "[Lalo]"; - mes "Hmm... very well, bring some ^3355FFtrunks^000000."; - mes "It doesn't matter what kind, as long as they are 60 of the same sort..."; + 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 "",255; + cutin "job_bard_aiolo01",255; end; } - if (BARD_Q == 5) { - if (SkillPoint != 0) { - cutin "job_bard_aiolo01",2; - changequest 3003,3004; - 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 don't forget the trunks."; - mes "It doesn't matter what kind, as long as they are 60 of the same sort..."; - close2; - cutin "",255; - end; - } - if (countitem(1019) > 59) { - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Bard; - } else { - jobchange Job_Bard; - } - 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"; - next; - delitem 1019,60; //Wooden_Block - getitem 1901,1; //Violin - completequest 3004; - 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 "",255; - end; - } - if (countitem(1068) > 59) { - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Bard; - } else { - jobchange Job_Bard; - } - 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"; - next; - delitem 1068,60; //Tree_Of_Archer_3 - getitem 1903,1; //Mandolin - completequest 3004; - 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 "",255; - end; - } - if (countitem(1067) > 59) { - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Bard; - } else { - jobchange Job_Bard; - } - 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"; - next; - delitem 1067,60; //Tree_Of_Archer_2 - getitem 1903,1; //Mandolin - 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 "",255; - end; - } - if (countitem(1066) > 59) { - if (JobLevel > 49) { - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Bard; - } else { - jobchange Job_Bard; - } - 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"; - next; - delitem 1066,60; //Tree_Of_Archer_1 - getitem 1910,1; //Harp_ - completequest 3004; - 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 "",255; - } - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Bard; - } else { - jobchange Job_Bard; - } - 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"; - next; - delitem 1066,60; //Tree_Of_Archer_1 - getitem 1905,1; //Lute - completequest 3004; - 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 "",255; - end; - } - cutin "job_bard_aiolo01",2; + 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 "Mmm? Seems like you haven't prepared all trunks the yet? "; - mes "Do you want to just change jobs anyways?"; + mes "Good job. I will make you a job change souvenir with this."; + mes "Wait just a moment."; next; - if (select("Yes, just change my job already.:No, I'll go prepare them.") == 1) { - if (SkillPoint != 0) { - cutin "job_bard_aiolo01",2; - changequest 3003,3004; - mes "[Lalo]"; - mes "Ah... it's all good, but you still have some skill points left."; - mes "Let me know when you've used them all."; - next; - mes "[Lalo]"; - mes "Oh, and also I have a souvenir for you, too... "; - mes "So bring back some trunks."; - mes "Doesn't matter what kind, just 60 of the same sort..."; - close2; - cutin "",255; - end; - } - set BARD_Q,0; - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Bard; - } else { - jobchange Job_Bard; - } - completequest 3004; - mes "[Lalo]"; - mes "Wonderful! Sing happy enjoyable songs."; - mes "Live like the winds and clouds!"; - next; - mes "[Lalo]"; - mes "See you again next time!"; - close2; - cutin "",255; - end; - } - cutin "job_bard_aiolo01",2; mes "[Lalo]"; - mes "Hmm... ok, bring some ^3355FFtrunks^000000."; - mes "Doesn't matter what kind, as long as they are 60 of the same sort."; + mes "^3355FFScrape Scrape Tang Tang^000000"; + mes "^3355FFSqueak Squeak Scratch Scratch^000000"; + delitem getarg(0),60; + getitem getarg(1),1; next; mes "[Lalo]"; - mes "I'll give you a present if you bring them."; - mes "Then see you soon."; + 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 "",255; + cutin "job_bard_aiolo01",255; end; - } - cutin "job_bard_aiolo01",2; - mes "[Lalo]"; - mes "Whee~ whee~ whee~"; - close2; - cutin "",255; - end; -} \ No newline at end of file +} + +//============================================================ +// Old changelog +//============================================================ +//= 07/06/05 : Added 1st Version. [Muad_Dib] +//= Converted to rAthena format by Dr.Evil +//= Info about gifts and other info --> http://www.ragnainfo.net/forums/viewtopic.php?t=51467&start=0 +//= 1.1 Optimized, changed some stuff, fixed some bugs [Lupus] +//= 1.1a minor song test fix [Lupus] +//= 1.2 Fixed wrong item ID, added missing commands [Lupus] +//= 1.3 Updated flower sub-quest according to official [Lupus] +//= 1.4 Changed priority for the gifts. Now you can win the 1st +//= prize, too. Added Izidor flower [Lupus] +//= 2.0 Changed numbers to constants. [Vicious] diff --git a/npc/jobs/2-2/crusader.txt b/npc/jobs/2-2/crusader.txt index 62035ff7f..5f0cebf45 100644 --- a/npc/jobs/2-2/crusader.txt +++ b/npc/jobs/2-2/crusader.txt @@ -1,40 +1,60 @@ //===== rAthena Script ======================================= -// Crusader Job change Quest +//= Crusader Quest //===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= Made by: Black Dragon +//= Converted by: Shin //===== Current Version: ===================================== -//= 1.0 +//= 3.3 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Swordman -> Crusader. +//= [Aegis Conversion] +//= Job quest for Crusader classes //===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] -//============================================================ - +//= 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,{ - if (Upper == 1) { - mes "[Michael Halig]"; + 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 adviced to continue practicing yourself."; + mes "Be advised to continue practicing yourself."; close; - } - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Crusader || Class == Job_Crusader) { - mes "[Michael Halig]"; + } + 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; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Michael Halig]"; + else if(BaseJob == Job_Novice) { mes "We are Crusaders,"; mes "warriors preparing"; mes "to fight in the Holy War."; @@ -43,17 +63,29 @@ prt_castle,45,169,5 script Senior Crusader 752,{ mes "If you wish to join us, you must first learn the Swordsman discipline and train yourself thoroughly..."; close; } - mes "[Michael Halig]"; 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 attacking in droves in an attempt to take over the world once again."; + 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; - } - if (CRUS_Q == 0) { + } + 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?"; @@ -69,7 +101,7 @@ prt_castle,45,169,5 script Senior Crusader 752,{ 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 Swordsman that express exceptional faith, or those who were born as warriors"; + mes "We recruit Swordsmen that express exceptional faith, or those who were born as warriors"; mes "by Odin's will."; next; mes "[Michael Halig]"; @@ -83,7 +115,7 @@ prt_castle,45,169,5 script Senior Crusader 752,{ 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) { + if(JobLevel < 40) { mes "[Michael Halig]"; mes "Wait..."; mes "You're not ready yet."; @@ -94,8 +126,8 @@ prt_castle,45,169,5 script Senior Crusader 752,{ 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 != 0) { + } + 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; @@ -109,7 +141,7 @@ prt_castle,45,169,5 script Senior Crusader 752,{ mes "" + strcharinfo(0) + "...?"; mes "Let's see..."; next; - if ((countitem(1004) > 0) && (countitem(1009) > 0)) { + 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."; @@ -117,8 +149,8 @@ prt_castle,45,169,5 script Senior Crusader 752,{ 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; //Patriotism_Marks - delitem 1009,1; //Sacred_Marks + delitem 1004, 1; + delitem 1009, 1; set CRUS_Q,4; setquest 3009; mes "[Michael Halig]"; @@ -132,41 +164,35 @@ prt_castle,45,169,5 script Senior Crusader 752,{ mes "Now..."; mes "This is my test for you. Bring me the following items and prove your determination to me."; next; - set .@cru_m1, rand(1,3); - if (.@cru_m1 == 1) { - set CRUS_Q,1; + mes "[Michael Halig]"; + set .@cru_m1,rand(1,3); + if(.@cru_m1 == 1) { + set CRUS_Q, 1; setquest 3006; - mes "[Michael Halig]"; - mes "^3355FF10 Decayed Nail^000000,"; - mes "^3355FF10 Stinky Scale^000000,"; - mes "^3355FF10 Worn-out Prison Uniform^000000 and"; - mes "^3355FF10 Daenggie^000000."; + 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; - 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; } - if (.@cru_m1 == 2) { - set CRUS_Q,2; + else if(.@cru_m1 == 2) { + set CRUS_Q, 2; setquest 3007; - mes "[Michael Halig]"; - mes "^3355FF10 Skel-Bone^000000,"; - mes "^3355FF10 Orc Claw^000000,"; - mes "^3355FF10 Manacles^000000 and"; - mes "^3355FF10 Short Daenggie^000000."; + 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; } - set CRUS_Q,3; - setquest 3008; - mes "[Michael Halig]"; - mes "^3355FF10 Horrendous Mouth^000000,"; - mes "^3355FF10 Rotten Bandage^000000,"; - mes "^3355FF10 Lantern^000000 and"; - mes "^3355FF10 Jack o' Pumpkin^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; @@ -181,34 +207,34 @@ prt_castle,45,169,5 script Senior Crusader 752,{ close; } mes "[Michael Halig]"; - if (Sex == 1) { - 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."; - } + 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; } - if (CRUS_Q == 1) { - mes "[Michael Halig]"; + 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; - if ((countitem(1004) > 0) && (countitem(1009) > 0)) { - 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 "[Micheal 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; //Patriotism_Marks - delitem 1009,1; //Sacred_Marks - set CRUS_Q,4; - changequest 3006,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; + 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(957) > 9) && (countitem(959) > 9) && (countitem(1099) > 9) && (countitem(901) > 9)) { + 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."; @@ -216,114 +242,20 @@ prt_castle,45,169,5 script Senior Crusader 752,{ 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 957,10; //Decayed_Nail - delitem 959,10; //Rotten_Scale - delitem 1099,10; //Worn_Out_Prison_Uniform - delitem 901,10; //Danggie - set CRUS_Q,4; - changequest 3006,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 "^3355FF10 Decayed Nail^000000,"; - mes "^3355FF10 Stinky Scale^000000,"; - mes "^3355FF10 Worn-out Prison Uniform^000000 and"; - mes "^3355FF10 Daenggie^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; - } - if (CRUS_Q == 2) { - mes "[Michael Halig]"; - 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; - if ((countitem(1004) > 0) && (countitem(1009) > 0)) { - 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 "[Micheal 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; //Patriotism_Marks - delitem 1009,1; //Sacred_Marks - set CRUS_Q,4; - changequest 3007,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; - } - if ((countitem(932) > 9) && (countitem(1043) > 9) && (countitem(1098) > 9) && (countitem(1094) > 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 932,10; //Skel_Bone - delitem 1043,10; //Nail_Of_Orc - delitem 1098,10; //Manacles - delitem 1094,10; //Short_Daenggie - set CRUS_Q,4; - changequest 3007,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 "^3355FF10 Skel-Bone^000000,"; - mes "^3355FF10 Orc Claw^000000,"; - mes "^3355FF10 Manacles^000000 and"; - mes "^3355FF10 Short Daenggie^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; - } - if (CRUS_Q == 3) { - mes "[Michael Halig]"; - 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; - if ((countitem(1004) > 0) && (countitem(1009) > 0)) { - 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 "[Micheal 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; //Patriotism_Marks - delitem 1009,1; //Sacred_Marks - set CRUS_Q,4; - 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; - } - if ((countitem(958) > 9) && (countitem(930) > 9) && (countitem(1041) > 9) && (countitem(1062) > 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 958,10; //Horrendous_Mouth - delitem 930,10; //Rotten_Bandage - delitem 1041,10; //Lantern - delitem 1062,10; //Pumpkin_Head - set CRUS_Q,4; - changequest 3008,3009; + 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; @@ -332,94 +264,42 @@ prt_castle,45,169,5 script Senior Crusader 752,{ 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 "^3355FF10 Horrendous Mouth^000000,"; - mes "^3355FF10 Rotten Bandage^000000,"; - mes "^3355FF10 Lantern^000000 and"; - mes "^3355FF10 Jack o' Pumpkin^000000."; + 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; } - if (CRUS_Q == 10) { - if (JobLevel < 40) { - set CRUS_Q,0; - mes "[Michael Halig]"; - mes "Wait ... You can not sign up."; - mes "You must reach job level 40 before you can apply."; - next; - mes "[Michael Halig]"; - mes "Train as a Swordsman and wait for the call of Odin."; - mes "I know your feelings, but you can not join us now..."; - close; - } - if (SkillPoint != 0) { - mes "[Michael Halig]"; + 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; } - if (JobLevel == 50) { - mes "[Michael Halig]"; - 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; - completequest 3015; - set CRUS_Q,0; - if(Class == Job_Baby_Swordman){ - jobchange Job_Baby_Crusader; - } else { - jobchange Job_Crusader; - } - 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 == 1) { - mes "...Brother."; - } - else { - mes "...Comrade."; - } - next; - getitem 504,12; //White_Potion - 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 "[Michael Halig]"; 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; - set CRUS_Q,0; - if(Class == Job_Baby_Swordman){ - jobchange Job_Baby_Crusader; - } else { - jobchange Job_Crusader; - } + 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. Now you are one of us!"; - if (Sex == 1) { - mes "...Brother."; - } - else { - mes "...Comrade."; - } + 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; - getitem 504,6; //White_Potion + 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; @@ -427,7 +307,6 @@ prt_castle,45,169,5 script Senior Crusader 752,{ 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 "[Michael Halig]"; 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]"; @@ -435,15 +314,15 @@ prt_castle,45,169,5 script Senior Crusader 752,{ close; } +//===================== Suffering Man: 2nd Endurance Test =============================================== prt_castle,164,32,1 script Man in Anguish 733,{ - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Crusader || Class == Job_Crusader) { - mes "[Murnak Mijoul]"; + 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; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Murnak Mijoul]"; + else if(BaseJob == Job_Novice) { mes "A Novice...?"; mes "So green, and yet,"; mes "so much potential."; @@ -452,32 +331,10 @@ prt_castle,164,32,1 script Man in Anguish 733,{ 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 "[Murnak Mijoul]"; mes "Hm. You have no business in a place like this. Please leave, and do not interrupt my training."; close; } - if (CRUS_Q == 0) { - mes "[Murnak Mijoul]"; - 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; - } - if (CRUS_Q == 1) { - mes "[Murnak Mijoul]"; - 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; - } - if (CRUS_Q == 2) { - mes "[Murnak Mijoul]"; + 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..."; @@ -486,26 +343,11 @@ prt_castle,164,32,1 script Man in Anguish 733,{ 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; } - if (CRUS_Q == 3) { - mes "[Murnak Mijoul]"; - 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; - } - if (CRUS_Q == 4) { - mes "[Murnak Mijoul]"; + else if(CRUS_Q == 4) { mes "What is it...?"; mes "Do you have business"; - if (Sex == 1) { - mes "with me, man of the sword?"; - } - else { - mes "with me, woman of the sword?"; - } + 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]"; @@ -517,7 +359,7 @@ prt_castle,164,32,1 script Man in Anguish 733,{ mes "Let me take"; mes "a look at your face."; next; - if (!isequipped(2608)) { + 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; @@ -549,8 +391,7 @@ prt_castle,164,32,1 script Man in Anguish 733,{ 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; } - if (CRUS_Q == 5) { - mes "[Murnak Mijoul]"; + else if(CRUS_Q == 5) { mes "What is it...?"; mes "You're the Swordman from before. What happened, did you fail?"; next; @@ -559,7 +400,7 @@ prt_castle,164,32,1 script Man in Anguish 733,{ 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 (!isequipped(2608)) { + 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."; @@ -585,7 +426,6 @@ prt_castle,164,32,1 script Man in Anguish 733,{ mes "Good luck."; close2; warp "job_cru",98,40; - end; } 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."; @@ -594,26 +434,24 @@ prt_castle,164,32,1 script Man in Anguish 733,{ mes "I can understand if you are easily frustrated, but you must overcome your frustration to pass this test."; close; } - if (CRUS_Q == 6) { - mes "[Murnak Mijoul]"; + 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; - changequest 3010,3011; 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 "[Murnak Mijoul]"; mes "Hmmm..."; mes "You still have tests to complete if you want to become a Crusader, don't you?"; close; } -prt_church,95,127,5 script Crusader 745,{ - if ((Class != Job_Baby_Swordmann) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Crusader || Class == Job_Crusader) { - mes "[Gabriel Valentine]"; +//===================== 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?"; @@ -622,8 +460,7 @@ prt_church,95,127,5 script Crusader 745,{ mes "You must not forget to train everyday, and prepare for the day the Holy War will come upon us."; close; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Gabriel Valentine]"; + else if(BaseJob == Job_Novice) { mes "Welcome, I am a Crusader."; mes "I am preparing for the"; mes "foretold Holy War"; @@ -634,481 +471,247 @@ prt_church,95,127,5 script Crusader 745,{ 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."; - close2; - } - mes "[Gabriel Valentine]"; - 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; - } - if (CRUS_Q == 0) { - mes "[Gabriel Valentine]"; - 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; - } - if (CRUS_Q == 6) { - mes "[Gabriel Valentine]"; - 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; - set .@cru_m, rand(1,3); - set @cru_t, 0; - mes "[Gabriel Valentine]"; - mes "I will give"; - mes "you 10 questions."; - mes "Answer them correctly."; - next; - 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%") == 2) { - 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 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 is a different size?"; - next; - if (select("Wraith:Khalitzburg:Drake:Evil Druid") == 3) { - set @cru_t, @cru_t + 10; - } - mes "[Gabriel Valentine]"; - mes "6. Which card is immune to undead 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 teh relationship between Munak and Bongun before they passed away?"; - next; - if (select("Big Brother and Little Sister:Neighborhood Older Sister and Younger Brother:Stepbrother and sister:Did not know each other") == 2) { - set @cru_t, @cru_t + 10; - } - mes "[Gabriel Valentine]"; - mes "8. Which monster is a different type of undead monster?"; - 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 a shield with a Munak Card?"; - 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 its article left at death?"; - next; - if (select("Munak:Ghoul:Mummy:Soldier Skeleton") == 1) { - set @cru_t, @cru_t + 10; - } - } - if (.@cru_m == 2) { - mes "[Gabriel Valentine]"; - mes "1. Which of the following monsters has a different attribute?"; - 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 does the Dokebi NOT drop?"; - 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?"; - next; - if (select("Ghostring:Whisper:Deviruchi:Baphomet Junior") == 1) { - set @cru_t, @cru_t + 10; - } - mes "[Gabriel Valentine]"; - mes "6. Which shield decreases attacks from 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("Yell out - Evil one go away!:Offer your soul and get a deal.:Put Holy Water on 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("Lv. 1:Lv. 2:Lv. 3:Lv. 4") == 3) { - set @cru_t, @cru_t + 10; - } - mes "[Gabriel Valentine]"; - mes "2. If your INT is 30 at level 55 (including the INT from equipment) how much HP does Lv. 5 Heal recover?"; - next; - if (select("396:440:484:528") == 2) { - set @cru_t, @cru_t + 10; - } - mes "[Gabriel Valentine]"; - mes "3. When using Divine Protection Lv. 7, how much does your defense increase by against Undead?"; - 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 the Nightmare with ghost attributes?"; - 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("Lv. 1:Lv. 2:Lv. 3:Lv. 4") == 2) { - set @cru_t, @cru_t + 10; - } - mes "[Gabriel Valentine]"; - mes "6. What is the attack speed with Cavalier Mastery Lv.3?"; - 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 a correction description of Demon Bane?"; - 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 Heal Lv. 7 use?"; - next; - if (select("30:31:33:35") == 2) { - set @cru_t, @cru_t + 10; - } - mes "[Gabriel Valentine]"; - mes "9. When can you cure with Cure?"; - 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 a cookie.:One preparing for the Holy War.:One preparing to drink.: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; } - 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; - } - set CRUS_Q,7; - changequest 3011,3012; - mes "Hmmm... What a pity."; - mes "Go study some more and"; - mes "take this test again, okay?"; + 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 "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?"; + mes "I hope you will train yourself in preparation for the future as well."; close; } - if (CRUS_Q == 7) { - mes "[Gabriel Valentine]"; - mes "Welcome back~"; - mes "Did you prepare"; - mes "well for this test?"; - mes "Let's try again,"; - mes "shall we...?"; + 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; - set .@cru_m, rand(1,3); - set @cru_t, 0; 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; + 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; - } + 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?"; + 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%") == 2) { - set @cru_t, @cru_t + 10; - } + 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; - } + if (select("Monk Hat:Yggdrasil leaf:White Herb:Amulet ") == 1) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; - mes "4. Which Undead monster has the highest HP?"; + 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; - } + if (select("Ghoul:Skeleton Prisoner:Wraith:Zombie Prisoner") == 4) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; - mes "5. Which of the following is a different size?"; + 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; - } + if (select("Wraith:Khalitzburg:Drake:Evil Druid") == 3) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; - mes "6. Which card is immune to undead attacks?"; + 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; - } + 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 teh relationship between Munak and Bongun before they passed away?"; + mes "7. What was the relationship between Munak and Bongun before they passed away?"; next; - if (select("Big Brother and Little Sister:Neighborhood Older Sister and Younger Brother:Stepbrother and sister:Did not know each other") == 2) { - set @cru_t, @cru_t + 10; - } + 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 monster is a different type of undead monster?"; + 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; - } + 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 a shield with a Munak Card?"; + 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; - } + 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 its article left at death?"; + 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; - } + if (select("Munak:Ghoul:Mummy:Soldier Skeleton") == 1) + set .@cru_t,.@cru_t+10; } - if (.@cru_m == 2) { + else if (.@cru_m == 2) { mes "[Gabriel Valentine]"; - mes "1. Which of the following monsters has a different attribute?"; + 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; - } + 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?"; + 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; - } + if (select("Decussate Tsurugi:Hollowed Tsurugi:Damned Tsurugi:Drowsy Tsurugi") == 1) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; - mes "3. Which item does the Dokebi NOT drop?"; + 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; - } + 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?"; + mes "4. Which Demon monster has the most HP?"; next; - if (select("Giearth:Magnolia:Dokebi:Marionette") == 4) { - set @cru_t, @cru_t + 10; - } + 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?"; + 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; - } + if (select("Ghostring:Whisper:Deviruchi:Baphomet Junior") == 1) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; - mes "6. Which shield decreases attacks from demon monsters?"; + 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; - } + 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; - } + 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?"; + 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; - } + 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; - } + 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("Yell out - Evil one go away!:Offer your soul and get a deal.:Put Holy Water on weapon and attack.:Put on a Deviruchi hat.") == 3) { - set @cru_t, @cru_t + 10; - } + 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'?"; + mes "1. What level of 'Divine Protection' do you need to learn 'Demon Bane?'"; next; - if (select("Lv. 1:Lv. 2:Lv. 3:Lv. 4") == 3) { - set @cru_t, @cru_t + 10; - } + 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 at level 55 (including the INT from equipment) how much HP does Lv. 5 Heal recover?"; + 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; - } + if (select("396:440:484:528") == 2) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; - mes "3. When using Divine Protection Lv. 7, how much does your defense increase by against Undead?"; + 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; - } + 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 the Nightmare with ghost attributes?"; + 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; - } + 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'?"; + mes "5. What level of 'Heal' do you need to learn 'Cure?'"; next; - if (select("Lv. 1:Lv. 2:Lv. 3:Lv. 4") == 2) { - set @cru_t, @cru_t + 10; - } + 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 with Cavalier Mastery Lv.3?"; + 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; - } + 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 a correction description of Demon Bane?"; + 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; - } + 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 Heal Lv. 7 use?"; + mes "8. How much SP does Level 7 Heal use?"; next; - if (select("30:31:33:35") == 2) { - set @cru_t, @cru_t + 10; - } + if (select("30:31:33:35") == 2) + set .@cru_t,.@cru_t+10; + mes "[Gabriel Valentine]"; - mes "9. When can you cure with Cure?"; + 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; - } + 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 a cookie.:One preparing for the Holy War.:One preparing to drink.:One preparing potions.") == 2) { - set @cru_t, @cru_t + 10; - } + 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~"; @@ -1116,11 +719,11 @@ prt_church,95,127,5 script Crusader 745,{ 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 3012,3013; + 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; @@ -1131,9 +734,9 @@ prt_church,95,127,5 script Crusader 745,{ mes "he will be testing you next."; close; } - if (@cru_t == 90) { - set CRUS_Q,8; - changequest 3012,3013; + 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; @@ -1144,9 +747,9 @@ prt_church,95,127,5 script Crusader 745,{ mes "he will be testing you next."; close; } - if (@cru_t == 80) { + else if (.@cru_t == 80 && CRUS_Q == 7) { set CRUS_Q,8; - changequest 3012,3013; + 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; @@ -1156,32 +759,28 @@ prt_church,95,127,5 script Crusader 745,{ close; } set CRUS_Q,7; - mes "Aww, what a pity. Come again after studying some more."; + 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 "I shall wait since there is a lot of preparation required."; - mes "Come back when you believe you are ready..."; - close; - } - if (CRUS_Q == 8) { - mes "[Gabriel Valentine]"; - 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?"; + 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; - } - if (CRUS_Q == 9) { - mes "[Gabriel Valentine]"; + } + 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; } - if (CRUS_Q == 10) { - mes "[Gabriel Valentine]"; + 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 "[Gabriel Valentine]"; mes "Mmm...?"; mes "It seems that you're"; mes "an aspiring Crusader..."; @@ -1196,21 +795,20 @@ prt_church,95,127,5 script Crusader 745,{ close; } -prt_castle,35,151,5 script Patron Kinght 751,{ - if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) { - if (Class == Job_Baby_Crusader || Class == Job_Crusader) { - mes "[Bliant Piyord]"; - mes "Welcome."; +//===================== 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."; - close2; + close; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Bliant Piyord]"; - mes "Welcome."; + else if(BaseJob == Job_Novice) { mes "We are Crusaders,"; mes "warriors of holiness preparing for the great Holy War that is to come."; next; @@ -1225,8 +823,6 @@ prt_castle,35,151,5 script Patron Kinght 751,{ 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 "[Bliant Piyord]"; - mes "Welcome."; mes "We are Crusaders,"; mes "warriors of holiness preparing for the great Holy War that is to come."; next; @@ -1234,9 +830,7 @@ prt_castle,35,151,5 script Patron Kinght 751,{ 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; } - if (CRUS_Q == 0) { - mes "[Bliant Piyord]"; - mes "Welcome."; + else if(CRUS_Q == 0) { mes "We are Crusaders,"; mes "warriors of holiness preparing for the great Holy War that is to come."; next; @@ -1255,99 +849,43 @@ prt_castle,35,151,5 script Patron Kinght 751,{ mes "be with you..."; close; } - if (CRUS_Q == 8) { - mes "[Bliant Piyord]"; - mes "Welcome. "; - 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."; - next; - mes "[Bliant Piyord]"; - mes "Well then..."; - mes "Shall we"; - mes "begin right away?"; - mes "Or do you need time"; - mes "to prepare yourself?"; - next; - if (select("I would like to begin.:Give me some time to prepare.") == 1) { - if (!isequipped(2608)) { - set CRUS_Q,9; - changequest 3013,3014; - 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; - } - if (countitem(523) > 0) { + 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; - set CRUS_Q,9; - 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; } - set CRUS_Q,9; - changequest 3013,3014; + next; 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."; + 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 "Come back and take"; - mes "the test after you"; - mes "have prepared"; - mes "1 Holy Water."; - mes "I shall be"; - mes "waiting."; - close; + mes "Would you like to begin now, or do you still need time to make preparations?"; } - mes "[Bliant Piyord]"; - mes "Well then,"; - mes "take your time."; - mes "I shall be waiting."; - close; - } - if (CRUS_Q == 9) { - mes "[Bliant Piyord]"; - mes "Welcome."; - 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 (!isequipped(2608)) { + 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; @@ -1357,48 +895,50 @@ prt_castle,35,151,5 script Patron Kinght 751,{ mes "have a Rosary."; close; } - if (countitem(523) > 0) { - 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; + else if(countitem(523) < 1) { mes "[Bliant Piyord]"; - mes "..............."; + 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 "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 "Get prepares and come back to here."; + mes "I will wait for you."; + close; } + delitem 523, 1; //Holy Water 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."; + 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 "Come back and take"; - mes "the test after you"; - mes "have prepared"; - mes "1 Holy Water."; - mes "I shall be"; - mes "waiting."; - close; + 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 "Well then,"; - mes "take your time."; - mes "I shall be waiting."; - close; - } - if (CRUS_Q == 10) { + 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"; @@ -1413,8 +953,6 @@ prt_castle,35,151,5 script Patron Kinght 751,{ mes "coming Holy War."; close; } - mes "[Bliant Piyord]"; - mes "Welcome."; mes "Are you not one of the ones in the process of becoming a Crusader?"; next; mes "[Bliant Piyord]"; @@ -1430,248 +968,245 @@ prt_castle,35,151,5 script Patron Kinght 751,{ close; } -job_cru,1,1,1 script Summoner#1 107,{ - end; + +//=== Actual tests ======================================== +//=== Endurance Test ====================================== +job_cru,1,1,1 script Summoner#cr1 -1,{ OnTimer300000: - donpcevent "Summoner#1::OnReset"; + donpcevent "Summoner#cr1::OnReset"; end; OnTimer300500: - donpcevent "Summoner#1::OnDisable"; + donpcevent "Summoner#cr1::OnEnd"; end; OnTimer301000: - donpcevent "Summoner#1::OnEnable"; + donpcevent "Summoner#cr1::OnStart"; stopnpctimer; end; OnInit: - enablenpc "Summoner#1"; - monster "job_cru",94,45,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,55,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,65,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,75,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,85,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,95,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,45,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,55,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,65,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,75,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,85,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,95,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; + 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; -OnEnable: - enablenpc "Summoner#1"; - monster "job_cru",94,45,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,55,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,65,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,75,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,85,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",94,95,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,45,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,55,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,65,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,75,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,85,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; - monster "job_cru",101,95,"Mandragora",1020,1,"Summoner#1::OnMyMobDead"; +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#1::OnMyMobDead"; + killmonster "job_cru","Summoner#cr1::OnDead"; end; -OnDisable: - disablenpc "Summoner#1"; +OnEnd: + disablenpc "Summoner#cr1"; end; -OnMyMobDead: +OnDead: warp "prt_fild05",353,251; end; } -job_cru,1,2,1 script Summoner#2 107,1,1,{ - end; - +job_cru,1,2,1 script Summoner#cr2 -1,{ OnTimer345000: - donpcevent "Summoner#2::OnReset"; + donpcevent "Summoner#cr2::OnReset"; end; OnTimer345500: - donpcevent "Summoner#2::OnDisable"; + donpcevent "Summoner#cr2::OnEnd"; end; OnTimer346000: - donpcevent "Summoner#2::OnEnable"; + donpcevent "Summoner#cr2::OnStart"; stopnpctimer; end; OnInit: - enablenpc "Summoner#2"; - monster "job_cru",98,50,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",92,60,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",104,60,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",98,70,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",92,80,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",104,80,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",98,90,"Flora",1118,1,"Summoner#2::OnMyMobDead"; + 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; -OnEnable: - enablenpc "Summoner#2"; - monster "job_cru",98,50,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",92,60,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",104,60,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",98,70,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",92,80,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",104,80,"Flora",1118,1,"Summoner#2::OnMyMobDead"; - monster "job_cru",98,90,"Flora",1118,1,"Summoner#2::OnMyMobDead"; +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#2::OnMyMobDead"; + killmonster "job_cru","Summoner#cr2::OnDead"; end; -OnDisable: - disablenpc "Summoner#2"; +OnEnd: + disablenpc "Summoner#cr2"; end; -OnMyMobDead: +OnDead: warp "prt_fild05",353,251; end; } -job_cru,1,3,1 script Summoner#3 107,1,1,{ - end; - +job_cru,1,3,1 script Summoner#cr3 -1,{ OnTimer345000: - donpcevent "Summoner#3::OnReset"; + donpcevent "Summoner#cr3::OnReset"; end; OnTimer345500: - donpcevent "Summoner#3::OnDisable"; + donpcevent "Summoner#cr3::OnEnd"; end; OnTimer346000: - donpcevent "Summoner#3::OnEnable"; + donpcevent "Summoner#cr3::OnStart"; stopnpctimer; end; OnInit: - enablenpc "Summoner#3"; - monster "job_cru",92,50,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",104,50,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",98,60,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",92,70,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",104,70,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",98,80,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",92,90,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",104,90,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - initnpctimer; - end; - -OnEnable: - enablenpc "Summoner#3"; - monster "job_cru",90,50,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",105,50,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",98,60,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",90,70,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",105,70,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",98,80,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",90,90,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - monster "job_cru",105,90,"Greatest General",1277,1,"Summoner#3::OnMyMobDead"; - initnpctimer; + 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#3::OnMyMobDead"; + killmonster "job_cru","Summoner#cr3::OnDead"; end; -OnDisable: - disablenpc "Summoner#3"; +OnEnd: + disablenpc "Summoner#cr3"; end; -OnMyMobDead: +OnDead: warp "prt_fild05",353,251; end; } -job_cru,1,3,1 script Summoner#4 107,1,1,{ - end; - -OnTimer185000: - donpcevent "Summoner#4::OnReset"; +job_cru,1,4,1 script Summoner#cr4 -1,{ +OnTimer345000: + donpcevent "Summoner#cr4::OnReset"; end; -OnTimer185500: - donpcevent "Summoner#4::OnDisable"; +OnTimer345500: + donpcevent "Summoner#cr4::OnEnd"; end; -OnTimer186000: - donpcevent "Summoner#4::OnEnable"; +OnTimer346000: + donpcevent "Summoner#cr4::OnStart"; stopnpctimer; end; OnInit: - enablenpc "Summoner#4"; - monster "job_cru",98,50,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,55,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,60,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,65,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,70,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,75,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,80,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,85,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,90,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",90,34,"Mushroom",1182,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",105,34,"Mushroom",1182,1,"Summoner#4::OnMyMobDead"; + 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; -OnEnable: - enablenpc "Summoner#4"; - monster "job_cru",98,50,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,55,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,60,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,65,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,70,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,75,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,80,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,85,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",98,90,"Familiar",1005,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",90,34,"Mushroom",1182,1,"Summoner#4::OnMyMobDead"; - monster "job_cru",105,34,"Mushroom",1182,1,"Summoner#4::OnMyMobDead"; +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#4::OnMyMobDead"; + killmonster "job_cru","Summoner#cr4::OnDead"; end; -OnDisable: - disablenpc "Summoner#4"; +OnEnd: + disablenpc "Summoner#cr4"; end; -OnMyMobDead: +OnDead: warp "prt_fild05",353,251; end; } -job_cru,98,105,0 script Summoner#5 45,4,3,{ - 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; } -job_cru,24,187,4 script Patron Knight 751,{ +//=== Purification Test =================================== +job_cru,24,187,4 script Patron Knight#2 751,{ mes "[Bliant Piyord]"; mes "Welcome."; mes "You will take"; @@ -1688,29 +1223,27 @@ job_cru,24,187,4 script Patron Knight 751,{ close; } -job_cru,24,187,2 script Waiting Room#1 700,{ +job_cru,24,187,2 script Waiting Room#cr1 700,{ end; OnInit: - disablenpc "Waiting Room#1"; - waitingroom "Waiting Room",20,"Waiting Room#1::OnStartArena",1; + disablenpc "Waiting Room#cr1"; + waitingroom "Waiting Room",20,"Waiting Room#cr1::OnStartArena",1; enablewaitingroomevent; end; OnStartArena: - warpwaitingpc "job_cru",168,17; - donpcevent "Monster Summon#0::OnEnable"; + warpwaitingpc "job_cru",168,21; + donpcevent "Monster Summon#cr0::OnStart"; disablewaitingroomevent; end; -OnEnable: +OnStart: enablewaitingroomevent; end; } -job_cru,168,17,0 script Zombie Guide 139,2,2,{ - end; - +job_cru,168,17,0 script Zombie Guide -1,2,2,{ OnTouch: mes "[Bliant Piyord]"; mes "Go forth and defeat all"; @@ -1722,223 +1255,202 @@ OnTouch: mes "You will be given"; mes "4 minutes. Go forth"; mes "and do your best..."; - close2; - end; + close; } -job_cru,2,1,1 script Monster Summon#0 110,1,1,{ - end; - +job_cru,2,1,1 script Monster Summon#cr0 -1,{ OnInit: - disablenpc "Monster Summon#0"; + disablenpc "Monster Summon#cr0"; end; -OnEnable: - enablenpc "Monster Summon#0"; - donpcevent "Monster Summon#1::OnEnable"; - donpcevent "Monster Summon#2::OnEnable"; - donpcevent "Monster Summon#3::OnEnable"; - donpcevent "Monster Summon#4::OnEnable"; - donpcevent "Monster Summon#6::OnEnable"; +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; -OnM1: - monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#0::OnMyMobDead"; - monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#0::OnMyMobDead"; - monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#0::OnMyMobDead"; - monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#0::OnMyMobDead"; - monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#0::OnMyMobDead"; - monster "job_cru",168,45,"Zombie",1015,1,"Monster Summon#0::OnMyMobDead"; +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; -OnM2: - monster "job_cru",168,80,"Soldier Skeleton",1028,1,"Monster Summon#0::OnMyMobDead"; - monster "job_cru",168,80,"Soldier Skeleton",1028,1,"Monster Summon#0::OnMyMobDead"; - monster "job_cru",168,80,"Soldier Skeleton",1028,1,"Monster Summon#0::OnMyMobDead"; +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; -OnM3: - monster "job_cru",168,115,"Mummy",1041,1,"Monster Summon#0::OnMyMobDead"; +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; -OnMyMobDead: - if (mobcount ("job_cru","Monster Summon#0::OnMyMobDead") < 1) { +OnDead: + set .MyMonsterCount,.MyMonsterCount+1; + if (.MyMonsterCount >= 10) { set CRUS_Q,10; changequest 3014,3015; } end; -OnDisable: - disablenpc "Monster Summon#0"; +OnEnd: + disablenpc "Monster Summon#cr0"; end; OnReset: - killmonster "job_cru","Monster Summon#0::OnMyMobDead"; + killmonster "job_cru","Monster Summon#cr0::OnDead"; end; } -job_cru,168,45,0 script Monster Summon#1 139,15,1,{ +job_cru,168,45,0 script Monster Summon#cr1 -1,15,1,{ +OnInit: + disablenpc "Monster Summon#cr1"; end; OnTouch: - donpcevent "Monster Summon#0::OnM1"; - donpcevent "Monster Summon#1::OnDisable"; - end; - -OnInit: - disablenpc "Monster Summon#1"; + donpcevent "Monster Summon#cr0::OnMonster1"; + donpcevent "Monster Summon#cr1::OnEnd"; end; -OnEnable: - enablenpc "Monster Summon#1"; +OnStart: + enablenpc "Monster Summon#cr1"; end; -OnDisable: - disablenpc "Monster Summon#1"; +OnEnd: + disablenpc "Monster Summon#cr1"; end; } -job_cru,168,80,0 script Monster Summon#2 139,15,1,{ +job_cru,168,80,0 script Monster Summon#cr2 -1,15,1,{ +OnInit: + disablenpc "Monster Summon#cr2"; end; OnTouch: - donpcevent "Monster Summon#0::OnM2"; - donpcevent "Monster Summon#2::OnDisable"; - end; - -OnInit: - disablenpc "Monster Summon#2"; + donpcevent "Monster Summon#cr0::OnMonster2"; + donpcevent "Monster Summon#cr2::OnEnd"; end; -OnEnable: - enablenpc "Monster Summon#2"; +OnStart: + enablenpc "Monster Summon#cr2"; end; -OnDisable: - disablenpc "Monster Summon#2"; +OnEnd: + disablenpc "Monster Summon#cr2"; end; } -job_cru,168,115,0 script Monster Summon#3 139,15,1,{ +job_cru,165,115,0 script Monster Summon#cr3 -1,15,1,{ +OnInit: + disablenpc "Monster Summon#cr3"; end; OnTouch: - monster "job_cru",168,110,"Archer Skeleton",1016,1; - donpcevent "Monster Summon#0::OnM3"; - donpcevent "Monster Summon#3::OnDisable"; - end; - -OnInit: - disablenpc "Monster Summon#3"; + donpcevent "Monster Summon#cr0::OnMonster3"; + donpcevent "Monster Summon#cr3::OnEnd"; end; -OnEnable: - enablenpc "Monster Summon#3"; +OnStart: + enablenpc "Monster Summon#cr3"; end; -OnDisable: - disablenpc "Monster Summon#3"; +OnEnd: + disablenpc "Monster Summon#cr3"; end; } -job_cru,168,150,0 script Monster Summon#4 139,15,1,{ +job_cru,168,150,0 script Monster Summon#cr4 -1,15,1,{ +OnInit: + disablenpc "Monster Summon#cr4"; end; OnTouch: - monster "job_cru",168,150,"Ghoul",1036,1; - donpcevent "Monster Summon#4::OnDisable"; + monster "job_cru",168,150,strcharinfo(0),1036,1,"Monster Summon#cr4-a::OnDead"; + donpcevent "Monster Summon#cr4::OnEnd"; end; -OnInit: - disablenpc "Monster Summon#4"; +OnDead: + donpcevent "Monster Summon#cr5::OnStart"; end; -OnMyMobDead: - donpcevent "Monster Summon#5::OnEnable"; +OnStart: + enablenpc "Monster Summon#cr4"; end; -OnEnable: - enablenpc "Monster Summon#4"; +OnReset: + killmonster "job_cru","Monster Summon#cr4-a::OnDead"; end; -OnReset: - killmonster "job_cru","Monster Summon#4::OnMyMobDead"; +OnEnd: + disablenpc "Monster Summon#cr4"; end; -OnDisable: - disablenpc "Monster Summon#4"; +} + +job_cru,168,150,0 script Monster Summon#cr4-a -1,{ +OnDead: + donpcevent "Monster Summon#cr5::OnStart"; end; } -job_cru,168,180,0 script Monster Summon#5 45,4,3,{ +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#0::OnReset"; - donpcevent "Monster Summon#0::OnDisable"; - donpcevent "Monster Summon#6::OnStop"; - donpcevent "Monster Summon#6::OnDisable"; - donpcevent "Monster Summon#5::OnDisable"; - donpcevent "Waiting Room#1::OnEnable"; - end; - -OnInit: - disablenpc "Monster Summon#5"; + 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; -OnEnable: - enablenpc "Monster Summon#5"; +OnStart: + enablenpc "Monster Summon#cr5"; end; -OnDisable: - disablenpc "Monster Summon#5"; +OnEnd: + disablenpc "Monster Summon#cr5"; end; } -job_cru,2,2,1 script Monster Summon#6 110,1,1,{ - end; - -OnTimer60000: - donpcevent "Monster Summon#8::OnEnable"; - end; - -OnTimer61000: - donpcevent "Monster Summon#8::OnDisable"; - end; - -OnTimer240000: - donpcevent "Monster Summon#7::OnEnable"; - end; - +job_cru,2,2,1 script Monster Summon#cr6 -1,{ OnTimer241000: - donpcevent "Monster Summon#0::OnReset"; - donpcevent "Monster Summon#4::OnReset"; - end; - -OnTimer242000: - donpcevent "Monster Summon#0::OnDisable"; - donpcevent "Monster Summon#4::OnDisable"; - donpcevent "Monster Summon#7::OnDisable"; - end; - -OnTimer243000: - donpcevent "Monster Summon#6::OnDisable"; - donpcevent "Waiting Room#1::OnEnable"; - stopnpctimer; + 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#6"; + disablenpc "Monster Summon#cr6"; end; -OnEnable: - enablenpc "Monster Summon#6"; +OnStart: + enablenpc "Monster Summon#cr6"; initnpctimer; end; -OnDisable: - disablenpc "Monster Summon#6"; +OnEnd: + disablenpc "Monster Summon#cr6"; end; OnStop: @@ -1946,42 +1458,28 @@ OnStop: end; } -job_cru,168,110,0 script Monster Summon#7 139,14,82,{ - end; - -OnTouch: - warp "prontera",234,318; - end; - -OnInit: - disablenpc "Monster Summon#7"; - end; - -OnEnable: - enablenpc "Monster Summon#7"; - end; - -OnDisable: - disablenpc "Monster Summon#7"; - end; -} - -job_cru,168,17,0 script Monster Summon#8 139,14,5,{ - end; - -OnTouch: - warp "prontera",234,318; - end; - -OnInit: - disablenpc "Monster Summon#8"; - end; - -OnEnable: - enablenpc "Monster Summon#8"; - end; +//============================================================ +// mapflag +//============================================================ -OnDisable: - disablenpc "Monster Summon#8"; - end; -} \ No newline at end of file +//============================================================ +// Old changelog +//============================================================ +//= Need optimalization and fixing +//= thanks to Komurka, KiLLaLeN, Lupus (fixing error) +//= just a temp Job Quest +//= 1.2 minor fix of announcement by Freya people +//= 1.3 Added Baby Class Support, fixed 40/50 lvl item reward +//= also fixed too common script names [Lupus] +//= 1.3a fixed "dead lock" bugs [Lupus] +//= 1.3b changed monsters ID in patience test [Komurka] +//= 1.4 Fixed Job Level parameters mix-up. [massdriller] (Thanks to Komurka) +//= 1.5 Fixed possible EXP abuse [Lupus] +//= 1.6 Added a func which prevent advanced classes passing +//= 2nd Job Quests again. It also guides adv classes where +//= to go. [Lupus] +//= 1.7 Updated names and required items, Chivalry Emblem + +//= Hand of God allow to skip item gathering [DracoRPG] +//= 2.0 Changed numbers to constants. [Vicious] +//= 2.1 Fixed endless loop, wrong condition check [Lupus] +//= also changed all job numbers to constants, fixed logic diff --git a/npc/jobs/2-2/dancer.txt b/npc/jobs/2-2/dancer.txt index 7c9076a6b..285b7fa14 100644 --- a/npc/jobs/2-2/dancer.txt +++ b/npc/jobs/2-2/dancer.txt @@ -1,17 +1,25 @@ -//===== rAthena Script ======================================= -// Dancer Job change Quest +//===== rAthena Script ======================================= +//= Dancer Job Quest //===== By: ================================================== -//= Masao -//= Credits: Muad_Dib -//===== Current Version: ===================================== -//= 1.0 -//===== Compatible With: ===================================== -//= Any rAthena SVN -//===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Archer[F] -> Dancer. -//===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] +//= 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,{ @@ -67,7 +75,7 @@ comodo,193,151,4 script Bor Robin#1 86,{ close; } -job_duncer,43,93,4 script Aile 724,{ +job_duncer,43,93,4 script Aile#da 724,{ if (Upper == 1) { mes "[Aile]"; mes "One two three four,"; @@ -90,8 +98,8 @@ job_duncer,43,93,4 script Aile 724,{ cutin "",255; end; } - if ((Class != Job_Baby_Archer) && (Class != Job_Archer) && (Sex == 1)) { - if (Class == Job_Bard) { + if (BaseJob != Job_Archer) { + if (BaseJob == Job_Bard) { cutin "job_dancer_eir01",2; mes "[Aile]"; mes "Welcome~!"; @@ -101,8 +109,8 @@ job_duncer,43,93,4 script Aile 724,{ cutin "",255; end; } - if (Class == Job_Baby_Dancer || Class == Job_Dancer) { - cutin "job_dancer_eir01",2; + else if (BaseJob == Job_Dancer) { + cutin "",2; mes "[Aile]"; mes "Welcome~!"; mes "How are you"; @@ -124,7 +132,7 @@ job_duncer,43,93,4 script Aile 724,{ cutin "",255; end; } - if ((DANC_Q == 0) && (Sex == 0) && (Class == Job_Baby_Archer || Class == Job_Archer)) { + if (DANC_Q == 0 && sex == 0 && BaseJob == Job_Archer) { cutin "job_dancer_eir01",2; mes "[Aile]"; mes "Welcome~!"; @@ -160,7 +168,7 @@ job_duncer,43,93,4 script Aile 724,{ mes "..."; mes "......"; next; - mes "^3355FF * Shuffle Shuffle * ^000000"; + mes "^3355FF*Shuffle Shuffle*^000000"; next; cutin "job_dancer_eir01",2; mes "[Aile]"; @@ -173,20 +181,22 @@ job_duncer,43,93,4 script Aile 724,{ setquest 7000; end; } - 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; + 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]"; @@ -198,7 +208,7 @@ job_duncer,43,93,4 script Aile 724,{ cutin "",255; end; } - if (Sex == 1) { + else if (sex == 1) { cutin "job_dancer_eir03",2; mes "[Aile]"; mes "Welco--Mmm?"; @@ -212,7 +222,7 @@ job_duncer,43,93,4 script Aile 724,{ cutin "",255; end; } - if (DANC_Q == 1) { + else if (DANC_Q == 1) { cutin "job_dancer_eir01",2; mes "[Aile]"; mes "Good."; @@ -221,8 +231,8 @@ job_duncer,43,93,4 script Aile 724,{ 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 .@item_nd,rand(1,10); + if (.@item_nd > 0 && .@item_nd < 3) { set DANC_Q,2; changequest 7000,7001; mes "[Aile]"; @@ -239,7 +249,7 @@ job_duncer,43,93,4 script Aile 724,{ mes "^CD68895 Red Potions^000000 and"; mes "^CD68891 Shoes^000000."; } - if (.@item_nd == 4) { + else if (.@item_nd == 4) { set DANC_Q,3; changequest 7000,7002; mes "[Aile]"; @@ -275,49 +285,28 @@ job_duncer,43,93,4 script Aile 724,{ cutin "",255; end; } - if (DANC_Q == 2) { - if ((Zeny > 9999) && (countitem(938) > 19) && (countitem(909) > 2) && (countitem(501) > 4) && (countitem(2403) > 0)) { - 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; - changequest 7001,7004; - 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; } - 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,"; - mes "^CD688920 Sticky Mucus^000000,"; - mes "^CD68893 Jellopy^000000,"; - mes "^CD68895 Red Potions^000000 and"; - mes "^CD68891 Shoes^000000."; - close2; - cutin "",255; - end; - } - if (DANC_Q == 3) { - if ((Zeny > 9999) && (countitem(1055) > 4) && (countitem(2405) > 0)) { + 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...!"; @@ -328,77 +317,59 @@ job_duncer,43,93,4 script Aile 724,{ mes "tuition fee."; next; cutin "job_dancer_eir01",2; - set Zeny, Zeny - 10000; + 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; - changequest 7002,7004; + if(checkquest(7001) != -1) { + changequest 7001,7004; + } + else if(checkquest(7002) != -1) { + changequest 7002,7004; + } + else { + changequest 7003,7004; + } close2; cutin "",255; end; } - 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,"; - mes "^CD68895 Earthworm Peelings^000000 and "; - mes "^CD68891 Boots^000000."; - close; - cutin "",255; - end; - } - if (DANC_Q == 4) { - if ((Zeny > 9999) && (countitem(965) > 1) && (countitem(503) > 4) && (countitem(909) > 19) && (countitem(1020) > 9) && (countitem(2401) > 0)) { - cutin "job_dancer_eir02",2; + else { + cutin "job_dancer_eir01",2; mes "[Aile]"; - mes "Oh...!"; - mes "You brought"; - mes "everything!"; - mes "Alright then,"; - mes "let me take your"; - mes "tuition fee."; + 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; - cutin "job_dancer_eir01",2; - set Zeny, Zeny - 10000; mes "[Aile]"; - mes "Next, go to ^CD6889'Bijou'^000000"; - mes "who is in charge of the interviews."; - mes "She has a couple of things to ask you."; - set DANC_Q,5; - changequest 7003,7004; + 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; } - 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 "^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."; - close2; - cutin "",255; - end; } - if (DANC_Q == 5) { + else if (DANC_Q == 5) { cutin "job_dancer_eir01",2; mes "[Aile]"; mes "Hmm...?"; @@ -412,7 +383,7 @@ job_duncer,43,93,4 script Aile 724,{ cutin "",255; end; } - if (DANC_Q > 5) { + else if (DANC_Q > 5) { cutin "job_dancer_eir01",2; mes "[Aile]"; mes "I'll be looking"; @@ -422,22 +393,24 @@ job_duncer,43,93,4 script Aile 724,{ cutin "",255; end; } - 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; + 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 101,{ - if (SkillPoint != 0) { +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"; @@ -445,14 +418,14 @@ job_duncer,95,93,4 script Bijou 101,{ mes "and come back later."; close; } - if ((Class != Job_Baby_Archer) && (Class != Job_Archer)) { - if (Class == Job_Baby_Bard || Class == Job_Bard) { + 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; } - if (Class == Job_Baby_Dancer || Class == Job_Dancer) { + else if (BaseJob == Job_Dancer) { mes "[Bijou]"; mes "Oh my...!"; mes "Welcome back~"; @@ -474,7 +447,7 @@ job_duncer,95,93,4 script Bijou 101,{ 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; } - if (DANC_Q < 5) { + else if (DANC_Q < 5) { mes "[Bijou]"; mes "Oh my~"; mes "You want to"; @@ -485,7 +458,7 @@ job_duncer,95,93,4 script Bijou 101,{ 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; } - if ((DANC_Q > 4) && (DANC_Q < 7)) { + else if (DANC_Q > 4 && DANC_Q < 7) { if (DANC_Q == 5) { mes "[Bijou]"; mes "Oh my~"; @@ -525,57 +498,49 @@ job_duncer,95,93,4 script Bijou 101,{ mes "pass this time, okay?"; next; } - set .@dancer_q, rand(1,3); - set @da_score,0; - if (.@dancer_q == 1) { + 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; - } + 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")) { - case 1: - case 2: - case 3: - case 4: - set @da_score,@da_score - 10; + 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; + 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; - } + 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; - } + 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; - } + 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:Isis:Guton Tak")) { + switch(select("" + strcharinfo(0) + ":Bijou:Aile:Bonjour")) { case 1: mes "[Bijou]"; mes "..."; @@ -584,15 +549,13 @@ job_duncer,95,93,4 script Bijou 101,{ mes "Didn't you see the"; mes "other choices?!"; mes "Minus points...!"; - set @da_score,@da_score - 100; + set .@da_score,.@da_score-10; next; break; case 2: - set @da_score,@da_score + 10; - break; - case 3: + set .@da_score,.@da_score+10; break; - case 4: + default: break; } mes "[Bijou]"; @@ -600,49 +563,43 @@ job_duncer,95,93,4 script Bijou 101,{ mes "who can perform together"; mes "with a Dancer?"; next; - if (select("Assassin:Bard:Alchemist:Sage") == 2) { - set @da_score,@da_score + 10; - } + 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; - } + 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; - } + 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; - } - } - if (.@dancer_q == 2) { + 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; - } + 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; - } + 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"; @@ -650,37 +607,33 @@ job_duncer,95,93,4 script Bijou 101,{ 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; - } + 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; - } + 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; - } + 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; - } + 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:Guton Tak")) { + switch(select("" + strcharinfo(0) + ":Bijou:Isis:Mercy Bokou")) { case 1: mes "[Bijou]"; mes "..."; @@ -689,15 +642,13 @@ job_duncer,95,93,4 script Bijou 101,{ mes "Didn't you see the"; mes "other choices?!"; mes "Minus points...!"; - set @da_score,@da_score - 100; + set .@da_score,.@da_score-10; next; break; case 2: - set @da_score,@da_score + 10; + set .@da_score,.@da_score+10; break; - case 3: - break; - case 4: + default: break; } mes "[Bijou]"; @@ -705,30 +656,32 @@ job_duncer,95,93,4 script Bijou 101,{ 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; - } + 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; - } + 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; - } - } - else { + 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; - if (select("Increases INT:Increases the effect of dancing skills:Increase damage of Whip weapons.:Inflict Stun on a certain area around the caster.") == 3) { - set @da_score,@da_score + 10; + 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"; @@ -737,28 +690,25 @@ job_duncer,95,93,4 script Bijou 101,{ 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; - } + 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; - } + 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; - } + 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")) { + switch(select("" + strcharinfo(0) + ":Bijou:Isis:Guton Tak")) { case 1: mes "[Bijou]"; mes "..."; @@ -767,14 +717,13 @@ job_duncer,95,93,4 script Bijou 101,{ mes "Didn't you see the"; mes "other choices?!"; mes "Minus points...!"; - set @da_score,@da_score - 100; + set .@da_score,.@da_score-10; next; - case 2: - set @da_score,@da_score + 10; break; - case 3: + case 2: + set .@da_score,.@da_score+10; break; - case 4: + default: break; } mes "[Bijou]"; @@ -782,37 +731,33 @@ job_duncer,95,93,4 script Bijou 101,{ mes "better at than the other"; mes "job classes?"; next; - if (select("Health:Acting :Dancing :Magic ") == 3) { - set @da_score,@da_score + 10; - } + 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; - } + 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; - } + 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; + 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; - } + if (select("Art Blakey:Billie Holiday :Louis Armstrong :Bud Powell :Elder Willow ") == 5) + set .@da_score,.@da_score+10; } mes "[Bijou]"; mes "Good job~"; @@ -823,8 +768,8 @@ job_duncer,95,93,4 script Bijou 101,{ mes "[Bijou]"; mes "Let's see..."; mes "Your score is"; - mes "" + @da_score + " points..."; - if (@da_score == 100) { + mes "" + .@da_score + " points..."; + if (.@da_score == 100) { set DANC_Q,7; mes "Very well done!"; mes "A perfect score!"; @@ -837,21 +782,22 @@ job_duncer,95,93,4 script Bijou 101,{ mes "Now you only have the Dance Test. While we prepare the test, why don't you rest a bit? Ho ho ho~"; close; } - if (@da_score > 70) { + else if (.@da_score > 70) { set DANC_Q,7; mes "It wasn't perfect, but I'll let you pass."; close; } - set DANC_Q,6; - mes "That's enough to pass!"; - mes "You.. You failed!"; - next; - mes "[Bijou]"; - mes "Was it too hard?"; - mes "When I was young, everyone knew at least enough to pass thet test. Go and study some more before coming back, okay?"; - 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; + } } - if (DANC_Q == 7) { + else if (DANC_Q == 7) { mes "[Bijou]"; mes "Okay..."; mes "Are you ready"; @@ -885,13 +831,13 @@ job_duncer,95,93,4 script Bijou 101,{ mes "[Bijou]"; mes "Well then~"; mes "Good luck...!!"; - set DANC_Q,8; changequest 7004,7005; + set DANC_Q,8; close2; warp "job_duncer",105,109; end; } - if (DANC_Q == 8) { + else if (DANC_Q == 8) { mes "[Bijou]"; mes "Oh my..."; mes "Did you"; @@ -902,8 +848,8 @@ job_duncer,95,93,4 script Bijou 101,{ warp "job_duncer",105,109; end; } - if (DANC_Q == 9) { - if (SkillPoint != 0) { + else if (DANC_Q == 9) { + if (SkillPoint) { mes "[Bijou]"; mes "You can't change jobs"; mes "if you still have skill"; @@ -923,19 +869,11 @@ job_duncer,95,93,4 script Bijou 101,{ 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; - if (JobLevel == 50) { - set .@dancer_joblevel,2; - } - else { - set .@dancer_joblevel,1; - } + set .@jlevel,JobLevel; mes "[Bijou]"; - if(Class == Job_Baby_Archer){ - jobchange Job_Baby_Dancer; - } else { - jobchange Job_Dancer; - } completequest 7006; + callfunc "Job_Change",Job_Dancer; + callfunc "F_ClearJobVar"; mes "Ooh...!"; mes "You look great"; mes "as a Dancer~"; @@ -946,16 +884,16 @@ job_duncer,95,93,4 script Bijou 101,{ mes "gift from me."; mes "Please take it."; mes "May your performances always bring joy to your audience~"; - if (.@dancer_joblevel == 2) { + if (.@jlevel == 50) getitem 1953,1; //Line_ - } - else { + else getitem 1950,1; //Rope - } close; } -} +} +// Waiting Room +//============================================================ job_duncer,32,154,1 script Waiting Room#dance 66,{ end; @@ -965,18 +903,18 @@ OnInit: end; OnStartArena: - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + 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; -OnReset: +OnEnable: enablewaitingroomevent; end; } @@ -993,21 +931,17 @@ job_duncer,32,154,1 script Waiting Room#click 66,{ mes "are curious about"; mes "the test can watch"; mes "backstage."; - close2; - playBGM "Oops.wav"; - end; + close; } -job_duncer,69,105,0 script Bijou#dance_timer 139,{ - end; - +// Dance Timer +//============================================================ +job_duncer,69,105,0 script Bijou#dance_timer -1,{ OnEnable: - playBGM "dancer_jun01.wav"; initnpctimer; end; OnDisable: - playBGM "dancer_jun01.wav"; stopnpctimer; end; @@ -1020,83 +954,83 @@ OnTimer5000: end; OnTimer7000: - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnEnable"; + disablenpc "dance#up"; + enablenpc "dance#down"; + enablenpc "dance#left"; + enablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer8000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Down!",bc_map; end; OnTimer11000: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnEnable"; + enablenpc "dance#up"; + disablenpc "dance#down"; + enablenpc "dance#left"; + enablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer12000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Left~!",bc_map; end; OnTimer15000: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnEnable"; + enablenpc "dance#up"; + enablenpc "dance#down"; + disablenpc "dance#left"; + enablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer16000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + 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: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnEnable"; + enablenpc "dance#up"; + enablenpc "dance#down"; + enablenpc "dance#left"; + disablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer20000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + 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: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnDisable"; + enablenpc "dance#up"; + enablenpc "dance#down"; + enablenpc "dance#left"; + enablenpc "dance#right"; + disablenpc "dance#cen"; end; OnTimer23500: @@ -1115,29 +1049,29 @@ OnTimer28500: OnTimer30000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Left!",bc_map; end; OnTimer34000: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnEnable"; + enablenpc "dance#up"; + enablenpc "dance#down"; + disablenpc "dance#left"; + enablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer35000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Down!",bc_map; end; @@ -1146,165 +1080,161 @@ OnTimer38500: end; OnTimer40000: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnEnable"; - mapannounce "job_duncer","Hold it~",bc_map; + 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"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + 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: - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnEnable"; + disablenpc "dance#up"; + enablenpc "dance#down"; + enablenpc "dance#left"; + enablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer50000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Right!",bc_map; end; OnTimer53000: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnEnable"; + enablenpc "dance#up"; + enablenpc "dance#down"; + enablenpc "dance#left"; + disablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer54000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + 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: - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnEnable"; + disablenpc "dance#up"; + enablenpc "dance#down"; + enablenpc "dance#left"; + enablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer61000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + 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: - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnEnable"; + disablenpc "dance#up"; + enablenpc "dance#down"; + enablenpc "dance#left"; + enablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer67000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Down~!",bc_map; end; OnTimer69000: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnEnable"; + enablenpc "dance#up"; + disablenpc "dance#down"; + enablenpc "dance#left"; + enablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer70000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Left!",bc_map; end; OnTimer74000: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnEnable"; + enablenpc "dance#up"; + enablenpc "dance#down"; + disablenpc "dance#left"; + enablenpc "dance#right"; + enablenpc "dance#cen"; end; OnTimer75000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + disablenpc "dance#up"; + disablenpc "dance#down"; + disablenpc "dance#left"; + disablenpc "dance#right"; + disablenpc "dance#cen"; mapannounce "job_duncer"," Center!",bc_map; end; OnTimer80000: - donpcevent "dance#up::OnEnable"; - donpcevent "dance#down::OnEnable"; - donpcevent "dance#left::OnEnable"; - donpcevent "dance#right::OnEnable"; - donpcevent "dance#cen::OnDisable"; + enablenpc "dance#up"; + enablenpc "dance#down"; + enablenpc "dance#left"; + enablenpc "dance#right"; + disablenpc "dance#cen"; end; OnTimer81000: donpcevent "Backdancer#1::OnSmile"; - donpcevent "dance#up::OnDisable"; - donpcevent "dance#down::OnDisable"; - donpcevent "dance#left::OnDisable"; - donpcevent "dance#right::OnDisable"; - donpcevent "dance#cen::OnDisable"; + 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: - playBGM "dancer_jun01.wav"; donpcevent "dance#poring::OnEnable"; end; OnTimer89000: + donpcevent "dance#poring::OnDisable"; donpcevent "dance#return::OnEnable"; - donpcevent "dance#poring::OnReset"; - stopnpctimer; end; } -job_duncer,69,110,0 script dance#return 139,1,4,{ - 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; @@ -1324,12 +1254,9 @@ OnEnable: end; } -job_duncer,66,110,0 script dance#return#2 139,1,1,{ - end; - +job_duncer,66,110,0 script dance#return#2 -1,1,1,{ OnTouch: set DANC_Q,9; - changequest 7005,7006; warp "comodo",188,162; end; @@ -1343,12 +1270,9 @@ OnEnable: end; } -job_duncer,72,110,0 script dance#return#3 139,1,1,{ - end; - +job_duncer,72,110,0 script dance#return#3 -1,1,1,{ OnTouch: set DANC_Q,9; - changequest 7005,7006; warp "comodo",188,162; end; @@ -1358,113 +1282,31 @@ OnDisable: OnEnable: enablenpc "dance#return#3"; - donpcevent "Waiting Room#dance::OnReset"; - end; -} - -job_duncer,69,113,0 script dance#up 139,1,1,{ - end; - -OnTouch: - donpcevent "Backdancer#1::OnHuk"; - mapannounce "job_duncer"," " + strcharinfo(0) + ", you lack rhythm... Your timing was too late!",bc_map; - set DANC_Q,8; - donpcevent "Waiting Room#dance::OnReset"; - warp "comodo",188,162; - end; - -OnDisable: - disablenpc "dance#up"; - end; - -OnEnable: - enablenpc "dance#up"; - end; -} - -job_duncer,69,107,0 script dance#down 139,1,1,{ - end; - -OnTouch: - donpcevent "Backdancer#1::OnHuk"; - mapannounce "job_duncer"," " + strcharinfo(0) + ", you lack rhythm... Your timing was too late!",bc_map; - set DANC_Q,8; - donpcevent "Waiting Room#dance::OnReset"; - warp "comodo",188,162; - end; - -OnDisable: - disablenpc "dance#down"; - end; - -OnEnable: - enablenpc "dance#down"; - end; -} - -job_duncer,66,110,0 script dance#left 139,1,1,{ - end; - -OnTouch: - donpcevent "Backdancer#1::OnHuk"; - mapannounce "job_duncer"," " + strcharinfo(0) + ", you lack rhythm... Your timing was too late!",bc_map; - set DANC_Q,8; - donpcevent "Waiting Room#dance::OnReset"; - warp "comodo",188,162; - end; - -OnDisable: - disablenpc "dance#left"; - end; - -OnEnable: - enablenpc "dance#left"; - end; -} - -job_duncer,72,110,0 script dance#right 139,1,1,{ - end; - -OnTouch: - donpcevent "Backdancer#1::OnHuk"; - mapannounce "job_duncer"," " + strcharinfo(0) + ", you lack rhythm... Your timing was too late!",bc_map; - set DANC_Q,8; - donpcevent "Waiting Room#dance::OnReset"; - warp "comodo",188,162; - end; - -OnDisable: - disablenpc "dance#right"; - end; - -OnEnable: - enablenpc "dance#right"; + donpcevent "Bijou#dance_timer::OnDisable"; + donpcevent "Waiting Room#dance::OnEnable"; end; } -job_duncer,69,110,0 script dance#cen 139,1,1,{ - end; - +// Dance Move Triggers +//============================================================ +- script dancestep::StepTrigger -1,1,1,{ OnTouch: - donpcevent "Backdancer#1::OnHuk"; + donpcevent "Backdancer#1::OnOmg"; mapannounce "job_duncer"," " + strcharinfo(0) + ", you lack rhythm... Your timing was too late!",bc_map; set DANC_Q,8; - donpcevent "Waiting Room#dance::OnReset"; + donpcevent "Bijou#dance_timer::OnDisable"; + donpcevent "Waiting Room#dance::OnEnable"; warp "comodo",188,162; end; - -OnDisable: - disablenpc "dance#cen"; - end; - -OnEnable: - enablenpc "dance#cen"; - end; } -job_duncer,10,10,0 script dance#poring 139,{ - 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; @@ -1473,26 +1315,29 @@ OnMyMobDead: mapannounce "job_duncer"," Good! Well done! ",bc_map; end; -OnReset: - killmonster "job_duncer","dance#poring::OnMyMobDead"; +OnDisable: + killmonsterall "job_duncer"; end; + } -job_duncer,63,110,4 script Backdancer#1 724,{ +// Backup Dancers +//============================================================ +job_duncer,63,110,4 script Backdancer#1::BackDancer 724,{ end; OnSmile: - emotion e_no1; + Emotion e_no1; donpcevent "Backdancer#2::OnSmile"; donpcevent "Backdancer#3::OnSmile"; donpcevent "Backdancer#4::OnSmile"; end; -OnHuk: - emotion e_omg; - donpcevent "Backdancer#2::OnHuk"; - donpcevent "Backdancer#3::OnHuk"; - donpcevent "Backdancer#4::OnHuk"; +OnOmg: + Emotion e_omg; + donpcevent "Backdancer#2::OnOmg"; + donpcevent "Backdancer#3::OnOmg"; + donpcevent "Backdancer#4::OnOmg"; end; } @@ -1500,11 +1345,11 @@ job_duncer,66,113,4 script Backdancer#2 724,{ end; OnSmile: - emotion e_no1; + Emotion e_no1; end; -OnHuk: - emotion e_omg; +OnOmg: + Emotion e_omg; end; } @@ -1512,11 +1357,11 @@ job_duncer,72,113,4 script Backdancer#3 724,{ end; OnSmile: - emotion e_no1; + Emotion e_no1; end; -OnHuk: - emotion e_omg; +OnOmg: + Emotion e_omg; end; } @@ -1524,12 +1369,34 @@ job_duncer,75,110,4 script Backdancer#4 724,{ end; OnSmile: - emotion e_no1; + Emotion e_no1; end; -OnHuk: - emotion e_omg; +OnOmg: + Emotion e_omg; end; } -job_duncer,69,43,0 warp warp_dance 1,1,comodo,185,156 \ No newline at end of file +//============================================================ +// Old changelog +//============================================================ +//= 1.1 Removed the warp I left here my accident, added a check for using +//= Improved Concentration and arrow shower, people could get away with it +//= [Fredzilla] +//= 1.0 I tried to keep as much the same from the Jap version as possible +//= this turned out to be quite hard, but on the whole it is the same script +//= I have added some new things, and changed some of the used commands, +//= along with some optimization. [Fredzilla] +//= 1.5 Added Baby Class Support [Fredzilla] +//= 1.6 Added a func which prevent advanced classes passing +//= 2nd Job Quests again. It also guides adv classes where +//= to go. [Lupus] +//= 2.0 Changed numbers to constants. [Vicious] +//= 2.1 Script check #1. [Lance] +//= 2.2 Fixed unpassable part, thx2 Alis [Lupus] +//= 2.3 Updated initnpctimer to attach player to jobDq script [Skotlex] +//= 2.4 Attached chrid to be able obtain player's SP on mobs death, optimized a bit [Lupus] +//= 2.5 Final fix of chrid issues, changed 'Improved +//= Concentration' to 'Attention Concentrate' [Lupus] +//= 3.0 Some optimization, typos, added missing dialogues (4Kb lighter) [Lupus] +//= 3.1 Implemented JOBLVL as in other quests [Lupus] diff --git a/npc/jobs/2-2/monk.txt b/npc/jobs/2-2/monk.txt index 321599f0c..869011f09 100644 --- a/npc/jobs/2-2/monk.txt +++ b/npc/jobs/2-2/monk.txt @@ -1,25 +1,29 @@ //===== rAthena Script ======================================= -// Monk Job change Quest -//===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= Monk Job Quest +//===== By: ================================================== +//= Dino9021, Edited / Translated by Celest //===== Current Version: ===================================== -//= 1.0 +//= 2.5 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Acolyte -> Monk. +//= [Aegis Conversion] +//= Job quest for Monk classes //===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] +//= 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 120,6,2,{ +prt_monk,59,247,1 script Guarding Monk#mk 120,6,2,{ if (Upper == 1) { mes "[Tohobu]"; - mes "Hmm? What business do you have"; - mes "here? If you wish to enter this"; - mes "sacred area, you must give me your name and job level!"; + 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?"; @@ -33,7 +37,7 @@ prt_monk,59,247,1 script Guarding Monk 120,6,2,{ mes "It is odd...I never misunderstand people...oh, well. Have a good day."; close; } - if ((Class == Job_Baby_Acolyte || Class == Job_Acolyte) && (MONK_Q == 0)) { + 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,"; @@ -58,7 +62,7 @@ prt_monk,59,247,1 script Guarding Monk 120,6,2,{ 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...")) { + 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..."; @@ -68,7 +72,7 @@ prt_monk,59,247,1 script Guarding Monk 120,6,2,{ set MONK_Q,1; close; case 2: - if ((Class == Job_Baby_Acolyte || Class == Job_Acolyte) && (JobLevel > 39)) { + 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."; @@ -77,7 +81,7 @@ prt_monk,59,247,1 script Guarding Monk 120,6,2,{ setquest 3016; close; } - if ((Class == Job_Baby_Acolyte || Class == Job_Acolyte) && (JobLevel < 40)) { + 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,"; @@ -95,9 +99,11 @@ prt_monk,59,247,1 script Guarding Monk 120,6,2,{ set MONK_Q,1; close; } - mes "[Tohobu]"; - mes "Hahahha that was a good joke!"; - 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..."; @@ -114,169 +120,177 @@ prt_monk,59,247,1 script Guarding Monk 120,6,2,{ close; } } - if ((MONK_Q == 1) && (Class == Job_Baby_Acolyte || Class == 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: + else { + if (MONK_Q == 1 && BaseJob == Job_Acolyte) { 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 ((Class == Job_Baby_Acolyte || Class == Job_Acolyte) && (JobLevel > 39)) { + 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 "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; + 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; - } - if ((Class == Job_Baby_Acolyte || Class == 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; + 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 "Come back to me when you have trained more on your own"; - mes "and I will let you know if you are ready."; + 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 will soon join us in our"; - mes "path to inner peace and enlightenment."; - mes "I'll be waiting here for you."; + 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 "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."; + 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 "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 "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 "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 "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 "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 ((Class == Job_Baby_Acolyte || Class == Job_Acolyte) && (JobLevel > 39)) { + 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 "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; + 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; - } - if ((Class == Job_Baby_Acolyte || Class == 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; + 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 "Come back to me when you have trained more on your own"; - mes "and I will let you know if you are ready."; + 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 will soon join us in our"; - mes "path to inner peace and enlightenment."; - mes "I'll be waiting here for you."; + 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 "Hahahha that was a good joke!"; + mes "Listen carefully on your journey."; + mes "There is much to learn."; close; - case 3: + } + else if (BaseJob == Job_Acolyte && MONK_Q == 2) { 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 "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 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; + 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; } } - if (MONK_Q == 1) { - mes "[Tohobu]"; - mes "Listen carefully on your journey."; - mes "There is much to learn."; - close; - } - if ((Class == Job_Baby_Acolyte || Class == 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; - } - if ((Class == Job_Baby_Acolyte || Class == 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; - } - 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) { @@ -295,13 +309,13 @@ OnTouch: mes "You may learn something..."; close; } - if ((Class == Job_Baby_Acolyte || Class == Job_Acolyte) && (MONK_Q == 2)) { + 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 ((Class == Job_Baby_Acolyte || Class == Job_Acolyte) && (MONK_Q > 2)) { + if (BaseJob == Job_Acolyte && MONK_Q > 2) { mes "[Tohobu]"; mes "I look forward to seeing you become a monk and joining us."; close; @@ -309,24 +323,18 @@ OnTouch: end; } -monk_in,99,58,1 script Sensei Moohae 60,{ - if (Upper == 1) { - mes "[Sensei Moohae]"; - mes "I hope you find god here in the nature ...!!"; - mes "Come here and relax a little, you who have been here before."; - close; - } +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 != 0) { + 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 ((Class == Job_Baby_Acolyte || Class == Job_Acolyte) && (MONK_Q == 2) && (JobLevel > 39)) { + 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; @@ -339,11 +347,10 @@ monk_in,99,58,1 script Sensei Moohae 60,{ } mes "[Sensei Moohae]"; mes "There are still those who wish to follow the old ways."; - if (Sex == 1) { + if (Sex) mes "A strong young man. I am pleased of your will to join us."; - } else { + 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..."; @@ -372,125 +379,32 @@ monk_in,99,58,1 script Sensei Moohae 60,{ mes "[Sensei Moohae]"; mes "Let us start with a simple task."; next; - set .@item_need,rand(1,7); - if (.@item_need == 1) { - mes "[Sensei Moohae]"; - mes "5 Sticky Mucus,"; - mes "10 Earthworm Peeling,"; - mes "20 Green Herb."; - mes "Find these items and return to me."; - set MONK_Q,3; - changequest 3016,3017; - next; - mes "[Sensei Moohae]"; - mes "Why the face? This is a test of your abilities."; - 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; - } - if (.@item_need == 2) { - mes "[Sensei Moohae]"; - mes "20 Yoyo Tail,"; - mes "5 Iron Ore,"; - mes "3 Blue Herb."; - mes "Find these items and return to me."; - set MONK_Q,4; - changequest 3016,3018; - next; - mes "[Sensei Moohae]"; - mes "What's wrong? This is a test of your abilities."; - 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; - } - if (.@item_need == 3) { - mes "[Sensei Moohae]"; - mes "30 Stem,"; - mes "5 Jellopy,"; - mes "10 Worm Peelings."; - mes "Find these items and return to me."; - set MONK_Q,5; - changequest 3016,3019; - next; - mes "[Sensei Moohae]"; - mes "You do understand don't you? This is a test of your abilities."; - 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; - } - if (.@item_need == 4) { - mes "[Sensei Moohae]"; - mes "5 Solid Shell,"; - mes "20 Shell,"; - mes "5 Zargon."; - mes "Find these items and return to me"; - set MONK_Q,6; - changequest 3016,3020; - next; - mes "[Sensei Moohae]"; - mes "Don't look at me like that. This is a test of your abilities."; - 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; - } - if (.@item_need == 5) { - mes "[Sensei Moohae]"; - mes "5 Cyfar,"; - mes "10 White Herb,"; - mes "10 Yellow Herb."; - mes "Find these items and return to me"; - set MONK_Q,7; - changequest 3016,3021; - next; - mes "[Sensei Moohae]"; - mes "You don't seem concerned, this is a test of your abilities You should take this seriously."; - 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; - } - if (.@item_need == 6) { - mes "[Sensei Moohae]"; - mes "10 Tooth of Bat,"; - mes "5 Bear's Footskin,"; - mes "20 Poison Spore."; - mes "Find these items and return to me"; - set MONK_Q,8; - changequest 3016,3022; - next; - mes "[Sensei Moohae]"; - mes "It is a test of your abilities so make sure you acquire these on your own."; - 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; + 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 "5 Porcupine Quill."; - mes "20 Cobweb,"; - mes "10 Bug Leg."; - mes "Find these items and return to me"; - set MONK_Q,9; - changequest 3016,3023; + 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]"; - mes "Don't be concerned, I believe you can do it. This is only to test your abilities."; + 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."; @@ -498,11 +412,11 @@ monk_in,99,58,1 script Sensei Moohae 60,{ mes "May God be with you."; close; } - if (MONK_Q == 3) { + 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)) { + 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."; @@ -518,20 +432,22 @@ monk_in,99,58,1 script Sensei Moohae 60,{ mes "He is in the north west."; close; } - 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 { + 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; + } } - if (MONK_Q == 4) { + else if (MONK_Q == 4) { mes "[Sensei Moohae]"; mes "...eh?"; next; - if ((countitem(942) > 19) && (countitem(1002) > 4) && (countitem(510) > 2)) { + 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."; @@ -547,20 +463,22 @@ monk_in,99,58,1 script Sensei Moohae 60,{ mes "He is in the north west."; close; } - 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 { + 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; + } } - if (MONK_Q == 5) { + else if (MONK_Q == 5) { mes "[Sensei Moohae]"; mes "Hmm?"; next; - if ((countitem(905) > 29) && (countitem(909) > 4) && (countitem(955) > 9)) { + 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."; @@ -576,20 +494,22 @@ monk_in,99,58,1 script Sensei Moohae 60,{ mes "He is in the north west."; close; } - 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 { + 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; + } } - if (MONK_Q == 6) { + 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)) { + 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."; @@ -605,20 +525,22 @@ monk_in,99,58,1 script Sensei Moohae 60,{ mes "He is in the north west."; close; } - 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 { + 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; + } } - if (MONK_Q == 7) { + 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)) { + 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."; @@ -634,20 +556,22 @@ monk_in,99,58,1 script Sensei Moohae 60,{ mes "He is in the north west."; close; } - 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 { + 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; + } } - if (MONK_Q == 8) { + else if (MONK_Q == 8) { mes "[Sensei Moohae]"; mes "Hmm?"; next; - if ((countitem(913) > 9) && (countitem(948) > 4) && (countitem(7033) > 19)) { + 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."; @@ -663,20 +587,22 @@ monk_in,99,58,1 script Sensei Moohae 60,{ mes "He is in the north west."; close; } - 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 { + 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; + } } - if (MONK_Q == 9) { + else if (MONK_Q == 9) { mes "[Sensei Moohae]"; mes "Welcome back."; next; - if ((countitem(1027) > 4) && (countitem(1025) > 19) && (countitem(1042) > 9)) { + 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."; @@ -692,48 +618,49 @@ monk_in,99,58,1 script Sensei Moohae 60,{ mes "He is in the north west."; close; } - 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 { + 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; + } } - if ((MONK_Q > 9) && (MONK_Q < 14)) { + 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; } - if ((MONK_Q > 13) && (MONK_Q < 26)) { + 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; } - if ((MONK_Q > 25) && (MONK_Q < 27)) { + 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; } - if ((MONK_Q == 27) && (Class == Job_Baby_Acolyte || Class == Job_Acolyte)) { + 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; } - if ((MONK_Q == 28) && (Class == Job_Baby_Acolyte || Class == Job_Acolyte)) { + 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."; - close; } - if (countitem(506) == 0) { + 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?"; @@ -746,7 +673,7 @@ monk_in,99,58,1 script Sensei Moohae 60,{ mes "But first, answer me these questions."; mes "Do you dedicate the remainder of your life to the pursuit of purity?"; next; - switch (select("Yes.:No.") == 2) { + if (select("Yes.:No.") == 2) { mes "[Sensei Moohae]"; mes "....with that kind of reply..."; mes "Have you not enough heart to become a monk?"; @@ -801,7 +728,7 @@ monk_in,99,58,1 script Sensei Moohae 60,{ mes "[Sensei Moohae]"; mes "Will you assist your comrades by gathering monsters to follow you?"; next; - if (select("Yes.:No.") == 2) { + 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."; @@ -846,12 +773,10 @@ monk_in,99,58,1 script Sensei Moohae 60,{ next; mes "[Sensei Moohae]"; mes "Then your training isn't completed."; - if (Sex == 1) { + if (Sex) mes "You will not be accepted as a monk my boy."; - } - else { + 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...."; @@ -860,29 +785,25 @@ monk_in,99,58,1 script Sensei Moohae 60,{ mes "Come back later when you're ready..."; next; mes "[Sensei Moohae]"; - if (Sex == 1) { + if (Sex) mes "I hope that you are able to realize what you are to become soon my boy..."; - } - else { + 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 == 1) { + if (Sex) mes "We welcome you brother, in our holy battle against evil!"; - } else { + else mes "We welcome you sister, in our holy battle against evil!"; - } next; mes "[Sensei Moohae]"; - if (Sex == 1) { + if (Sex) mes "My brother, your oath has been heard by all around us."; - } else { + 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..."; @@ -896,10 +817,10 @@ monk_in,99,58,1 script Sensei Moohae 60,{ mes "[Sensei Moohae]"; mes "And relax your body......."; next; - mes "[" + strcharinfo(0) + "]"; + mes "["+ strcharinfo(0) +"]"; mes "^00CCCC- You breathe in deeply -^000000"; next; - mes "[" + strcharinfo(0) + "]"; + mes "["+ strcharinfo(0) +"]"; mes "^CC0000- You feel fingers poking you all over your body with swiftness -^000000"; next; mes "[Sensei Moohae]"; @@ -920,11 +841,10 @@ monk_in,99,58,1 script Sensei Moohae 60,{ mes "[Sensei Moohae]"; mes "....and see life through the eyes of a monk."; next; - if(Class == Job_Baby_Acolyte){ - jobchange Job_Baby_Monk; - } else { - jobchange Job_Monk; - } + set .@jlevel,JobLevel; + completequest 3032; + callfunc "Job_Change",Job_Monk; + callfunc "F_ClearJobVar"; mes "[Sensei Moohae]"; mes "....You are a monk."; next; @@ -947,24 +867,21 @@ monk_in,99,58,1 script Sensei Moohae 60,{ 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."; - completequest 3032; - if (JobLevel > 49) { + if (.@jlevel == 50) getitem 1804,1; //Knuckle_Duster_ - } - else { + else getitem 1801,1; //Waghnakh - } - close; } + close; } - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + 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; } - if (Class == Job_Baby_Monk || Class == Job_Monk) { + 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."; @@ -978,50 +895,59 @@ monk_in,99,58,1 script Sensei Moohae 60,{ mes "do not let any evil taint your pure heart."; close; } - 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; + 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 79,{ - 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) { +prt_monk,251,255,1 script Touha#mk 79,{ + if (MONK_Q >= 10 && MONK_Q < 14) { + if (MONK_Q == 10) { mes "[Touha]"; - mes "Please come back when you're ready."; - close; + 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]"; - mes "Ok...then."; - next; - mes "[Touha]"; - mes "Please repeat after me."; - next; - set .@poem, rand(1,3); - if (.@poem == 1) { + set .@rand,rand(1,3); + if ((.@rand == 1) || (MONK_Q == 11)) { set MONK_Q,11; - changequest 3024,3025; - mes "[Touha]"; mes "I seek the path"; next; mes "[Touha]"; @@ -1050,12 +976,9 @@ prt_monk,251,255,1 script Touha 79,{ next; mes "[Touha]"; mes "et Spiritus Sancti."; - next; } - if (.@poem == 2) { + else if ((.@rand == 2) || (MONK_Q == 12)) { set MONK_Q,12; - changequest 3024,3025; - mes "[Touha]"; mes "I commit myself to"; next; mes "[Touha]"; @@ -1084,11 +1007,9 @@ prt_monk,251,255,1 script Touha 79,{ next; mes "[Touha]"; mes "et Spiritus Sancti."; - next; } - else { + else if ((.@rand == 3) || (MONK_Q == 13)) { set MONK_Q,13; - mes "[Touha]"; mes "And shepherds we shall be,"; next; mes "[Touha]"; @@ -1117,50 +1038,16 @@ prt_monk,251,255,1 script Touha 79,{ next; mes "[Touha]"; mes "et Spiritus Sancti."; - next; } - mes "[Touha]"; - mes "Ok, that is all. Now repeat what I have spoken."; - set @monk_t,0; - if (MONK_Q == 11) { - mes "[Touha]"; - 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."; - next; - mes "[Touha]"; - mes "Ok, that is the end."; - set @monk_t,0; - next; + next; + if (MONK_Q == 10) { mes "[Touha]"; + mes "Ok, that is all. Now repeat what I have spoken."; mes "" + strcharinfo(0) + ", your turn."; next; - 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.")) { + } + 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"; @@ -1186,7 +1073,7 @@ prt_monk,251,255,1 script Touha 79,{ mes "to what we believe"; break; case 7: - set @monk_t,@monk_t + 10; + set .@monk_t,.@monk_t+10; mes "[" + strcharinfo(0) + "]"; mes "I seek the path"; break; @@ -1203,25 +1090,25 @@ prt_monk,251,255,1 script Touha 79,{ 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.")) { + 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; + set .@monk_t,.@monk_t+10; mes "of enlightenment."; break; - case 6: mes "and will help protect others"; 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.")) { + 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; + set .@monk_t,.@monk_t+10; mes "We monks"; break; case 3: mes "I seek the path"; break; @@ -1233,13 +1120,14 @@ prt_monk,251,255,1 script Touha 79,{ 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")) { + 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; + 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 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; @@ -1248,7 +1136,7 @@ prt_monk,251,255,1 script Touha 79,{ 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.")) { + 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; @@ -1258,16 +1146,16 @@ prt_monk,251,255,1 script Touha 79,{ 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; + 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.")) { + 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; + set .@monk_t,.@monk_t+10; mes "and will help protect others"; break; case 4: mes "of enlightenment."; break; @@ -1278,7 +1166,7 @@ prt_monk,251,255,1 script Touha 79,{ 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")) { + 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; @@ -1289,13 +1177,13 @@ prt_monk,251,255,1 script Touha 79,{ case 8: mes "shall hold true"; break; case 9: mes "and will help protect others"; break; case 10: - set @monk_t,@monk_t + 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.")) { + 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; + set .@monk_t,.@monk_t+10; mes "we learn through our lives."; break; case 2: mes "In nomine Patris, et Filii"; break; @@ -1308,7 +1196,7 @@ prt_monk,251,255,1 script Touha 79,{ 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")) { + 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; @@ -1319,772 +1207,28 @@ prt_monk,251,255,1 script Touha 79,{ 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; - } - } - if (MONK_Q == 12) { - mes "[Touha]"; - 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."; - next; - mes "[Touha]"; - mes "That's it... were you paying attention?."; - set @monk_t,0; - next; - mes "[Touha]"; - mes "" + strcharinfo(0) + ", your turn."; - next; - 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) + "]"; + set .@monk_t,.@monk_t+10; 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; - } - } - if (MONK_Q == 13) { - mes "[Touha]"; - 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; - mes "[Touha]"; - mes "I hope you were paying attention this time. This is a sacred family prayer."; - set @monk_t,0; - next; - mes "[Touha]"; - mes "Now repeat it " + strcharinfo(0) + "."; - next; - 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: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 "so our feet may swiftly carry"; - 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 "out thy command. And we shall"; - 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:out thy command. And we shall:so our feet may swiftly carry: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 "out thy command. And we shall"; break; - case 9: mes "so our feet may swiftly carry"; 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:out thy command. And we shall:from the hand:flow a river forth to thee and:so our feet may swiftly carry: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 "out thy command. And we shall"; 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 "so our feet may swiftly carry"; 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:out thy command. And we shall: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 "out thy command. And we shall"; 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:out thy command. And we shall:so our feet may swiftly carry: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 "out thy command. And we shall"; break; - case 8: mes "so our feet may swiftly carry"; 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:so our feet may swiftly carry:out thy command. And we shall: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 "so our feet may swiftly carry"; break; - case 6: mes "out thy command. And we shall"; 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 "I can see you really tried this time."; - 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; - } - 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; - } - if ((MONK_Q > 10) && (MONK_Q < 14)) { - mes "[Touha]"; - mes "Now, pay attention this time..."; - if (MONK_Q == 11) { - mes "[Touha]"; - 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."; - next; - mes "[Touha]"; - mes "Ok, that is the end."; - set @monk_t,0; - next; - mes "[Touha]"; - mes "" + strcharinfo(0) + ", your turn."; - next; - 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; - } - } - if (MONK_Q == 12) { - mes "[Touha]"; - 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."; - next; - mes "[Touha]"; - mes "That's it... were you paying attention?."; - set @monk_t,0; - next; - mes "[Touha]"; - mes "" + strcharinfo(0) + ", your turn."; - next; - 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.")) { + 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"; @@ -2099,7 +1243,7 @@ prt_monk,251,255,1 script Touha 79,{ break; case 4: mes "[" + strcharinfo(0) + "]"; - set @monk_t,@monk_t + 10; + set .@monk_t,.@monk_t+10; mes "I commit myself to"; break; case 5: @@ -2127,7 +1271,7 @@ prt_monk,251,255,1 script Touha 79,{ 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")) { + 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; @@ -2137,14 +1281,14 @@ prt_monk,251,255,1 script Touha 79,{ case 7: mes "et Spiritus Sancti."; break; case 8: mes "I commit myself to"; break; case 9: - set @monk_t,@monk_t + 10; + 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.")) { + 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; + set .@monk_t,.@monk_t+10; mes "I will follow my path"; break; case 2: mes "veritas and aequitas."; break; @@ -2157,14 +1301,14 @@ prt_monk,251,255,1 script Touha 79,{ 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")) { + 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; + set .@monk_t,.@monk_t+10; mes "to enlightenment and purity."; break; case 7: mes "brothers with my life."; break; @@ -2172,7 +1316,7 @@ prt_monk,251,255,1 script Touha 79,{ 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")) { + 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; @@ -2183,19 +1327,17 @@ prt_monk,251,255,1 script Touha 79,{ case 8: mes "I will follow my path"; break; case 9: mes "veritas and aequitas."; break; case 10: - set @monk_t,@monk_t + 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; + 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; + set .@monk_t,.@monk_t+10; mes "brothers with my life."; break; case 6: mes "I will protect my"; break; @@ -2204,10 +1346,10 @@ prt_monk,251,255,1 script Touha 79,{ 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")) { + 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; + set .@monk_t,.@monk_t+10; mes "Evil shall never be"; break; case 3: mes "brothers with my life."; break; @@ -2219,9 +1361,9 @@ prt_monk,251,255,1 script Touha 79,{ 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.")) { + 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; + set .@monk_t,.@monk_t+10; mes "victorious while I breathe."; break; case 2: mes "to enlightenment and purity."; break; @@ -2234,7 +1376,7 @@ prt_monk,251,255,1 script Touha 79,{ 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.")) { + 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; @@ -2243,13 +1385,13 @@ prt_monk,251,255,1 script Touha 79,{ case 6: mes "brothers with my life."; break; case 7: mes "Evil shall never be"; break; case 8: - set @monk_t,@monk_t + 10; + 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.")) { + 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; @@ -2260,57 +1402,20 @@ prt_monk,251,255,1 script Touha 79,{ 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; + set .@monk_t,.@monk_t+10; mes "et Spiritus Sancti."; break; } } - if (MONK_Q == 13) { - mes "[Touha]"; - 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; - mes "[Touha]"; - mes "I hope you were paying attention this time. This is a sacred family prayer."; - set @monk_t,0; - next; - mes "[Touha]"; - mes "Now repeat it " + strcharinfo(0) + "."; - next; - 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:teeming with souls shall it ever be:et Spiritus Sancti.:In nomine Patris, et Filii")) { + 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; + set .@monk_t,.@monk_t+10; mes "And shepherds we shall be,"; break; case 3: @@ -2319,7 +1424,7 @@ prt_monk,251,255,1 script Touha 79,{ break; case 4: mes "[" + strcharinfo(0) + "]"; - mes "so our feet may swiftly carry"; + mes "out thy command. And we shall"; break; case 5: mes "[" + strcharinfo(0) + "]"; @@ -2331,7 +1436,7 @@ prt_monk,251,255,1 script Touha 79,{ break; case 7: mes "[" + strcharinfo(0) + "]"; - mes "out thy command. And we shall"; + mes "so our feet may swiftly carry"; break; case 8: mes "[" + strcharinfo(0) + "]"; @@ -2346,7 +1451,7 @@ prt_monk,251,255,1 script Touha 79,{ 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")) { + 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; @@ -2355,58 +1460,58 @@ prt_monk,251,255,1 script Touha 79,{ 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; + 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:out thy command. And we shall:so our feet may swiftly carry:flow a river forth to thee and")) { + 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; + 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 "out thy command. And we shall"; break; - case 9: mes "so our feet may swiftly carry"; 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:out thy command. And we shall:from the hand:flow a river forth to thee and:so our feet may swiftly carry:In nomine Patris, et Filii:teeming with souls shall it ever be:et Spiritus Sancti.")) { + 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 "out thy command. And we shall"; break; + case 4: mes "so our feet may swiftly carry"; break; case 5: - set @monk_t,@monk_t + 10; + 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 "so our feet may swiftly carry"; 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:out thy command. And we shall:flow a river forth to thee and:In nomine Patris, et Filii:teeming with souls shall it ever be:et Spiritus Sancti.")) { + 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; + set .@monk_t,.@monk_t+10; mes "so our feet may swiftly carry"; break; case 5: mes "from the hand"; break; - case 6: 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 "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.")) { + 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; @@ -2414,18 +1519,18 @@ prt_monk,251,255,1 script Touha 79,{ 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; + 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")) { + 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; + set .@monk_t,.@monk_t+10; mes "flow a river forth to thee and"; break; case 4: mes "In nomine Patris, et Filii"; break; @@ -2436,9 +1541,9 @@ prt_monk,251,255,1 script Touha 79,{ 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:out thy command. And we shall:so our feet may swiftly carry:flow a river forth to thee and:et Spiritus Sancti.")) { + 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; + set .@monk_t,.@monk_t+10; mes "teeming with souls shall it ever be"; break; case 2: mes "In nomine Patris, et Filii"; break; @@ -2446,17 +1551,17 @@ prt_monk,251,255,1 script Touha 79,{ 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 "out thy command. And we shall"; break; - case 8: mes "so our feet may swiftly carry"; 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.")) { + 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; + set .@monk_t,.@monk_t+10; mes "In nomine Patris, et Filii"; break; case 5: mes "so our feet may swiftly carry"; break; @@ -2466,25 +1571,25 @@ prt_monk,251,255,1 script Touha 79,{ 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:so our feet may swiftly carry:out thy command. And we shall:flow a river forth to thee and:teeming with souls shall it ever be:In nomine Patris, et Filii:et Spiritus Sancti.")) { + 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 "so our feet may swiftly carry"; break; - case 6: mes "out thy command. And we shall"; 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; + set .@monk_t,.@monk_t+10; mes "et Spiritus Sancti."; break; } } next; mes "[Touha]"; - mes "I can see you really tried this time."; + mes "..."; next; mes "[Touha]"; mes "Hmm..."; @@ -2519,21 +1624,23 @@ prt_monk,251,255,1 script Touha 79,{ mes "Don't forget, his name is ^CC0000Boohae^000000."; close; } - 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 yet 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 { + 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; + } } - if (MONK_Q == 14) { + else if (MONK_Q == 14) { mes "[Touha]"; mes "Hmm... did you forget who to visit?"; next; @@ -2548,33 +1655,35 @@ prt_monk,251,255,1 script Touha 79,{ mes "... go visit Boohae."; close; } - if ((MONK_Q > 14) && (Class == Job_Baby_Acolyte || Class == Job_Acolyte)) { + else if (MONK_Q > 14 && BaseJob == Job_Acolyte) { mes "[Touha]"; mes "...do your best for the final test."; close; } - 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; + 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 110,{ - if ((MONK_Q == 14) && (Class == Job_Baby_Acolyte || Class == Job_Acolyte)) { +prt_monk,57,179,1 script Boohae#mk 110,{ + if (MONK_Q == 14 && BaseJob == Job_Acolyte) { mes "[Boohae]"; mes "..."; next; @@ -2619,7 +1728,7 @@ prt_monk,57,179,1 script Boohae 110,{ 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.")) { + 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"; @@ -2631,7 +1740,7 @@ prt_monk,57,179,1 script Boohae 110,{ 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.")) { + 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"; @@ -2653,7 +1762,9 @@ prt_monk,57,179,1 script Boohae 110,{ 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...?"; @@ -2721,18 +1832,20 @@ prt_monk,57,179,1 script Boohae 110,{ mes "'Tomoon' is staying in a deepest place inside a building near this abbey."; close; } - if ((MONK_Q > 17) && (MONK_Q < 24)) { + if (MONK_Q > 17 && MONK_Q < 24) { mes "[Boohae]"; mes "..........."; next; mes "-He seems to be in meditation.-"; close; } - mes "[Boohae]"; - mes "Hmmmm....!!"; - 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,{ @@ -2748,7 +1861,7 @@ prt_monk,199,169,3 script Door Keeper#mk 746,{ mes "Boohae... tends to hide in some quite places, so you might not be able to find him. For instance... a corner..."; close; } - if ((MONK_Q > 14) && (MONK_Q < 25)) { + else if (MONK_Q > 14 && MONK_Q < 25) { mes "[Keeper Chorip]"; mes "Is your name " + strcharinfo(0) + "?"; next; @@ -2761,15 +1874,15 @@ prt_monk,199,169,3 script Door Keeper#mk 746,{ mes "Yeah right, I know who you are... get in there... your test is ready."; close; } - mes "[Keeper Chorip]"; - mes "...please be quiet inside."; - close; + else { + mes "[Keeper Chorip]"; + mes "...please be quiet inside."; + close; + } } -prt_monk,192,172,0 warp monktotest 1,1,monk_test,329,50 - -monk_test,329,61,3 script Bashu 753,{ - if ((MONK_Q > 14) && (MONK_Q < 25)) { +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...?"; @@ -2778,7 +1891,7 @@ monk_test,329,61,3 script Bashu 753,{ mes "From what I've heard, you chose the mushroom test..."; mes "Oh well, it's still your choice."; } - if (MONK_Q == 16) { + else if (MONK_Q == 16) { mes "[Bashu]"; mes "Which test hall do you wish to enter?"; next; @@ -2790,12 +1903,13 @@ monk_test,329,61,3 script Bashu 753,{ 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 "MONK_Q",226,175; + warp "job_monk",226,175; end; } mes "You have decided to take the test of self control by taking a ^FF0000marathon^000000."; @@ -2803,20 +1917,22 @@ monk_test,329,61,3 script Bashu 753,{ warp "monk_test",386,387; end; } - 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; + 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 110,{ +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!"; @@ -2838,9 +1954,10 @@ monk_test,386,388,4 script Apprentice Monk 110,{ 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; - 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; + changequest 3028,3027; warp "prt_monk",194,168; end; } @@ -2851,134 +1968,86 @@ monk_test,386,388,4 script Apprentice Monk 110,{ } monk_test,387,350,0 script Supervisor#race_monk 45,2,2,{ - end; - OnTouch: - if (MONK_Q == 15) { - set MONK_Q,16; - warp "monk_test",385,388; - end; - } - if (MONK_Q == 16) { - set MONK_Q,17; - warp "monk_test",385,388; - end; - } - if (MONK_Q == 17) { - set MONK_Q,18; - warp "monk_test",385,388; - end; - } - if (MONK_Q == 18) { - set MONK_Q,19; - warp "monk_test",385,388; - end; - } - if (MONK_Q == 19) { - set MONK_Q,20; - warp "monk_test",385,388; - end; - } - if (MONK_Q == 20) { - set MONK_Q,21; - warp "monk_test",385,388; - end; - } - if (MONK_Q == 21) { - set MONK_Q,22; + if (MONK_Q >= 15 && MONK_Q <= 23) { + set MONK_Q,MONK_Q+1; warp "monk_test",385,388; end; } - if (MONK_Q == 22) { - set MONK_Q,23; - warp "monk_test",385,388; - end; - } - if (MONK_Q == 23) { - set MONK_Q,24; - warp "monk_test",385,388; - end; - } - if (MONK_Q == 24) { + 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; } - if (MONK_Q == 25) { + 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; - changequest 3028,3029; + mapannounce "monk_test","Congratulations!" + strcharinfo(0) +"!! You completed the marathon!",bc_map; close2; warp "prt_monk",194,168; end; } - end; } -- script Trap#t_monk1::MonkTrap -1,{ - 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; + mapannounce "monk_test",""+ strcharinfo(0) + ", you're trapped. You will be returned.",bc_map; warp "monk_test",387,387; end; } -monk_test,82,384,0 duplicate(MonkTrap) Trap#t_monk1_1 139 -monk_test,83,384,0 duplicate(MonkTrap) Trap#t_monk1_2 139 -monk_test,82,385,0 duplicate(MonkTrap) Trap#t_monk1_3 139 -monk_test,83,385,0 duplicate(MonkTrap) Trap#t_monk1_4 139 -monk_test,38,388,0 duplicate(MonkTrap) Trap#t_monk2_1 139,0,1 -monk_test,39,388,0 duplicate(MonkTrap) Trap#t_monk2_2 139,0,1 -monk_test,38,386,0 duplicate(MonkTrap) Trap#t_monk2_3 139 -monk_test,39,386,0 duplicate(MonkTrap) Trap#t_monk2_4 139 -monk_test,11,158,0 duplicate(MonkTrap) Trap#t_monk3_1 139,1,0 -monk_test,11,159,0 duplicate(MonkTrap) Trap#t_monk3_2 139,1,0 -monk_test,13,159,0 duplicate(MonkTrap) Trap#t_monk3_3 139 -monk_test,13,158,0 duplicate(MonkTrap) Trap#t_monk3_4 139 -monk_test,11,30,0 duplicate(MonkTrap) Trap#t_monk4_1 139,3,0 -monk_test,11,31,0 duplicate(MonkTrap) Trap#t_monk4_2 139,3,0 -monk_test,15,30,0 duplicate(MonkTrap) Trap#t_monk4_3 139 -monk_test,15,31,0 duplicate(MonkTrap) Trap#t_monk4_4 139 -monk_test,70,12,0 duplicate(MonkTrap) Trap#t_monk5_1 139,0,1 -monk_test,71,12,0 duplicate(MonkTrap) Trap#t_monk5_2 139,0,1 -monk_test,70,10,0 duplicate(MonkTrap) Trap#t_monk5_3 139 -monk_test,71,10,0 duplicate(MonkTrap) Trap#t_monk5_4 139 -monk_test,186,11,0 duplicate(MonkTrap) Trap#t_monk6_1 139,2,3 -monk_test,189,11,0 duplicate(MonkTrap) Trap#t_monk6_2 139,0,3 -monk_test,387,43,0 duplicate(MonkTrap) Trap#t_monk7_1 139,1,0 -monk_test,387,42,0 duplicate(MonkTrap) Trap#t_monk7_2 139,1,0 -monk_test,389,43,0 duplicate(MonkTrap) Trap#t_monk7_3 139 -monk_test,389,42,0 duplicate(MonkTrap) Trap#t_monk7_4 139 - -job_monk,0,0,0 monster Thief Mushroom 1182,70,0,0,0 -job_monk,0,0,0 monster Thief Bug 1051,20,0,0,0 - -job_monk,225,180,1 script Hyunmoo 89,{ - if ((countitem(1069) > 0 || countitem(1070) > 0) && ((countitem(1069) < 30) && (countitem(1070) < 30))) { +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) { + 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; - mapannounce "job_monk","" + strcharinfo(0) + ", has quit his testing to become a monk.",bc_map; + changequest 3027,3028; warp "prt_monk",194,168; end; } - if ((MONK_Q > 14) && (MONK_Q < 25) && ((countitem(1069) == 0) || (countitem(1070) == 0))) { + 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; @@ -3017,13 +2086,14 @@ job_monk,225,180,1 script Hyunmoo 89,{ 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 - set MONK_Q,16; 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; } - if ((MONK_Q > 14) && (MONK_Q < 25) && (countitem(1069) > 29 || countitem(1070) > 29)) { + else if (MONK_Q > 14 && MONK_Q < 25 && (countitem(1069) > 29 || countitem(1070) > 29)) { mes "[Hyunmoo]"; mes "...hmm... not bad."; mes "Ok, you passed."; @@ -3039,7 +2109,7 @@ job_monk,225,180,1 script Hyunmoo 89,{ warp "prt_monk",194,168; end; } - if (MONK_Q > 24) { + 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."; @@ -3047,7 +2117,7 @@ job_monk,225,180,1 script Hyunmoo 89,{ } } -prt_monk,225,180,1 script Hyunmoo#2 89,{ +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."; @@ -3064,29 +2134,31 @@ prt_monk,225,180,1 script Hyunmoo#2 89,{ mes "Don't forget to thank them as you go by for their hard work."; close; } - if ((MONK_Q > 24) && (Class == Job_Acolyte)) { + 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; } - 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 { + 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 52,{ +monk_test,319,139,1 script Tomoon#mk 52,{ if (MONK_Q == 25) { mes "[Tomoon]"; mes "Welcome young one."; @@ -3116,7 +2188,7 @@ monk_test,319,139,1 script Tomoon 52,{ warp "monk_test",88,74; end; } - if (MONK_Q == 26) { + else if (MONK_Q == 26) { mes "[Tomoon]"; mes "Hmm... you failed?"; mes "Cheer up! Failure is but a process to success!"; @@ -3125,7 +2197,7 @@ monk_test,319,139,1 script Tomoon 52,{ warp "monk_test",88,74; end; } - if (MONK_Q == 27) { + else if (MONK_Q == 27) { mes "[Tomoon]"; mes "Excellent job!!"; mes "I knew you'd make it through!"; @@ -3138,28 +2210,30 @@ monk_test,319,139,1 script Tomoon 52,{ changequest 3031,3032; close; } - if (MONK_Q == 28) { + else if (MONK_Q == 28) { mes "[Tomoon]"; mes "I already told you, go back to sensei Moohae!!!"; close; } - 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."; - close2; + 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 95,{ +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?")) { + 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."; @@ -3187,9 +2261,7 @@ monk_test,82,85,1 script Proctor 95,{ } } -monk_test,144,277,0 script mob_monk#1_1 139,1,1,{ - end; - +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; @@ -3197,14 +2269,12 @@ OnTouch: monster "monk_test",144,277,"Zombie",1015,1; end; -OnReset: - killmonster "monk_test","mob_monk#1_1::OnMyMobDead"; +OnDisable: + killmonsterall "monk_test"; end; } -monk_test,134,291,0 script mob_monk#1_2 139,1,1,{ - 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; @@ -3212,38 +2282,32 @@ OnTouch: monster "monk_test",134,291,"Zombie",1015,1; end; -OnReset: - killmonster "monk_test","mob_monk#1_2::OnMyMobDead"; +OnDisable: + killmonsterall "monk_test"; end; } -monk_test,157,284,0 script mob_monk#1_3 139,1,1,{ - end; - +monk_test,157,284,0 script mob_monk#1_3 -1,1,1,{ OnTouch: monster "monk_test",157,284,"Mummy",1041,1; end; -OnReset: - killmonster "monk_test","mob_monk#1_3::OnMyMobDead"; +OnDisable: + killmonsterall "monk_test"; end; } -monk_test,156,261,0 script mob_monk#1_4 139,1,1,{ - end; - +monk_test,156,261,0 script mob_monk#1_4 -1,1,1,{ OnTouch: monster "monk_test",156,261,"Mummy",1041,1; end; -OnReset: - killmonster "monk_test","mob_monk#1_4::OnMyMobDead"; +OnDisable: + killmonsterall "monk_test"; end; } -monk_test,149,268,0 script mob_monk#1_5 139,1,1,{ - 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; @@ -3252,33 +2316,31 @@ OnTouch: monster "monk_test",149,268,"Zombie",1015,1; end; -OnReset: - killmonster "monk_test","mob_monk#1_5::OnMyMobDead"; +OnDisable: + killmonsterall "monk_test"; end; } monk_test,166,278,0 script exit_monk#1 45,1,1,{ - end; - 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::OnReset"; - donpcevent "mob_monk#1_4::OnReset"; - donpcevent "mob_monk#1_3::OnReset"; - donpcevent "mob_monk#1_2::OnReset"; - donpcevent "mob_monk#1_1::OnReset"; + 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#mk 52,{ +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.")) { + 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."; @@ -3306,9 +2368,7 @@ monk_test,88,91,1 script Proctor#mk 52,{ } } -monk_test,140,181,0 script mob_monk#2_1 139,1,1,{ - end; - +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; @@ -3316,14 +2376,12 @@ OnTouch: monster "monk_test",140,181,"Zombie",1015,1; end; -OnReset: - killmonster "monk_test","mob_monk#2_1::OnMyMobDead"; +OnDisable: + killmonsterall "monk_test"; end; } -monk_test,150,164,0 script mob_monk#2_2 139,1,1,{ - 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; @@ -3331,38 +2389,32 @@ OnTouch: monster "monk_test",150,164,"Zombie",1015,1; end; -OnReset: - killmonster "monk_test","mob_monk#2_2::OnMyMobDead"; +OnDisable: + killmonsterall "monk_test"; end; } -monk_test,158,192,0 script mob_monk#2_3 139,1,1,{ - end; - +monk_test,158,192,0 script mob_monk#2_3 -1,1,1,{ OnTouch: monster "monk_test",158,192,"Mummy",1041,1; end; -OnReset: - killmonster "monk_test","mob_monk#2_3::OnMyMobDead"; +OnDisable: + killmonsterall "monk_test"; end; } -monk_test,165,186,0 script mob_monk#2_4 139,1,1,{ - end; - +monk_test,165,186,0 script mob_monk#2_4 -1,1,1,{ OnTouch: monster "monk_test",165,186,"Mummy",1041,1; end; -OnReset: - killmonster "monk_test","mob_monk#2_4::OnMyMobDead"; +OnDisable: + killmonsterall "monk_test"; end; } -monk_test,162,182,0 script mob_monk#2_5 139,1,1,{ - 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; @@ -3371,23 +2423,21 @@ OnTouch: monster "monk_test",162,182,"Zombie",1015,1; end; -OnReset: - killmonster "monk_test","mob_monk#2_5::OnMyMobDead"; +OnDisable: + killmonsterall "monk_test"; end; } monk_test,166,178,0 script exit_monk#2 45,1,1,{ - end; - 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::OnReset"; - donpcevent "mob_monk#2_4::OnReset"; - donpcevent "mob_monk#2_3::OnReset"; - donpcevent "mob_monk#2_2::OnReset"; - donpcevent "mob_monk#2_1::OnReset"; + 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; @@ -3397,7 +2447,7 @@ 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.")) { + 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."; @@ -3425,9 +2475,7 @@ monk_test,95,85,1 script Proctor#btl#3 79,{ } } -monk_test,249,277,0 script mob_monk#3_1 139,1,1,{ - end; - +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; @@ -3435,14 +2483,11 @@ OnTouch: monster "monk_test",249,277,"Zombie",1015,1; end; -OnReset: - killmonster "monk_test","mob_monk#3_1::OnMyMobDead"; - end; +OnDisable: + killmonsterall "monk_test"; } -monk_test,231,296,0 script mob_monk#3_2 139,1,1,{ - end; - +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; @@ -3450,38 +2495,32 @@ OnTouch: monster "monk_test",231,296,"Zombie",1015,1; end; -OnReset: - killmonster "monk_test","mob_monk#3_2::OnMyMobDead"; +OnDisable: + killmonsterall "monk_test"; end; } -monk_test,264,292,0 script mob_monk#3_3 139,1,1,{ - end; - +monk_test,264,292,0 script mob_monk#3_3 -1,1,1,{ OnTouch: monster "monk_test",264,292,"Mummy",1041,1; end; -OnReset: - killmonster "monk_test","mob_monk#3_3::OnMyMobDead"; +OnDisable: + killmonsterall "monk_test"; end; } -monk_test,252,284,0 script mob_monk#3_4 139,1,1,{ - end; - +monk_test,252,284,0 script mob_monk#3_4 -1,1,1,{ OnTouch: monster "monk_test",252,284,"Mummy",1041,1; end; -OnReset: - killmonster "monk_test","mob_monk#3_4::OnMyMobDead"; +OnDisable: + killmonsterall "monk_test"; end; } -monk_test,257,285,0 script mob_monk#3_5 139,1,1,{ - 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; @@ -3491,88 +2530,99 @@ OnTouch: monster "monk_test",257,285,"Zombie",1015,1; end; -OnReset: - killmonster "monk_test","mob_monk#3_5::OnMyMobDead"; +OnDisable: + killmonsterall "monk_test"; end; } monk_test,270,278,0 script exit_monk#3 45,1,1,{ - end; - 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::OnReset"; - donpcevent "mob_monk#3_4::OnReset"; - donpcevent "mob_monk#3_3::OnReset"; - donpcevent "mob_monk#3_2::OnReset"; - donpcevent "mob_monk#3_1::OnReset"; + 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 139,{ - end; - +monk_test,3,3,0 script resetter#monk -1,{ OnTimer500000: - donpcevent "mob_monk#1_1::OnReset"; - donpcevent "mob_monk#1_2::OnReset"; - donpcevent "mob_monk#1_3::OnReset"; - donpcevent "mob_monk#1_4::OnReset"; - donpcevent "mob_monk#1_5::OnReset"; - donpcevent "mob_monk#2_1::OnReset"; - donpcevent "mob_monk#2_2::OnReset"; - donpcevent "mob_monk#2_3::OnReset"; - donpcevent "mob_monk#2_4::OnReset"; - donpcevent "mob_monk#2_5::OnReset"; - donpcevent "mob_monk#3_1::OnReset"; - donpcevent "mob_monk#3_2::OnReset"; - donpcevent "mob_monk#3_3::OnReset"; - donpcevent "mob_monk#3_4::OnReset"; - donpcevent "mob_monk#3_5::OnReset"; + 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; +} -OnInit: +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"; - end; + close; } -monk_test,329,47,0 warp test_to_prtmonk 1,1,prt_monk,193,166 -monk_test,329,76,0 warp way_to_stair 1,1,monk_test,259,118 -monk_test,259,115,0 warp stair_to_#1 1,1,monk_test,329,71 -monk_test,272,125,0 warp way_to_last 1,1,monk_test,301,127 -monk_test,298,127,0 warp last_to_st 1,1,monk_test,268,125 +//============================================================ +// 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 -monk_test,137,338,1 script switchreset#monkmonk 79,{ +//============================================================ +// mapflag +//============================================================ - if(getgmlevel() == 99){ - mes "Grrrr..."; - mes "All monsters in the monk job chance place have been reset."; - mes "Timer's activated."; - donpcevent "mob_monk#1_1::OnReset"; - donpcevent "mob_monk#1_2::OnReset"; - donpcevent "mob_monk#1_3::OnReset"; - donpcevent "mob_monk#1_4::OnReset"; - donpcevent "mob_monk#1_5::OnReset"; - donpcevent "mob_monk#2_1::OnReset"; - donpcevent "mob_monk#2_2::OnReset"; - donpcevent "mob_monk#2_3::OnReset"; - donpcevent "mob_monk#2_4::OnReset"; - donpcevent "mob_monk#2_5::OnReset"; - donpcevent "mob_monk#3_1::OnReset"; - donpcevent "mob_monk#3_2::OnReset"; - donpcevent "mob_monk#3_3::OnReset"; - donpcevent "mob_monk#3_4::OnReset"; - donpcevent "mob_monk#3_5::OnReset"; - donpcevent "resetter#monk::OnEnable"; - close; - } - end; -} \ No newline at end of file +//============================================================ +// Old changelog +//============================================================ +//= 1.1 Fixed missing '";'. Now it's loading fine [Lupus] +//= 1.1+ Edited/Translated 5% [Celest] +//= 1.2 Made Poetry Quiz passable, Fixed Marathon Part [Lupus] +//= 1.3 Added Baby Class Support [Lupus] +//= 1.5 Fixed possible EXP abuse [Lupus] +//= 1.6 Added a func which prevent advanced classes passing +//= 2nd Job Quests again. It also guides adv classes where +//= to go. [Lupus] 1.7 Fixed warps19/20 [Yor] +//= 1.8 Fixed bugs. Fixed Green Potion exploit. Getting rid of Jfunc mess [Lupus] +//= 1.9 Added a missing check in Fuhai and fixed a LOT of Engrish. [Zephiris] +//= 1.9b Fixed another bug in Fuhai. [Zephiris] +//= 2.0 Changed numbers to constants. [Vicious] +//= 2.1 Removed Duplicates [Silent] diff --git a/npc/jobs/2-2/rogue.txt b/npc/jobs/2-2/rogue.txt index eef267cb9..6d9ffe14f 100644 --- a/npc/jobs/2-2/rogue.txt +++ b/npc/jobs/2-2/rogue.txt @@ -1,20 +1,29 @@ //===== rAthena Script ======================================= -// Rogue Job change Quest +//= Rogue Job Quest //===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= kobra_k88 //===== Current Version: ===================================== -//= 1.0 +//= 2.9 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Thief -> Rogue. +//= [Aegis Conversion] +//= Job quest for Rogue classes //===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] +//= 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] //============================================================ -morocc,100,104,1 script Thug 118,{ +moc_ruins,86,103,1 script Thug#rg 118,{ mes "[Thug]"; mes "*Sigh...*"; mes "What is life?"; @@ -45,7 +54,7 @@ morocc,100,104,1 script Thug 118,{ close; } -in_rogue,363,122,4 script Rogue Guildsman 747,{ +in_rogue,363,122,4 script Rogue Guildsman#rg 747,{ if (Upper == 1) { mes "[Markie]"; mes "Eh? You...you...?!"; @@ -63,8 +72,8 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ mes "I never misunderstand people...oh well, be safe anyway!"; close; } - if (Class == Job_Baby_Thief || Class == Job_Thief) { - if (SkillPoint != 0) { + 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."; @@ -75,16 +84,15 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ mes "[Rogue Guildsman]"; mes "So what's a kid"; mes "like you doin' here?"; - if (Sex == 1) { + if (sex == 1) { mes "Oh, I get it now..."; mes "The widdle boy wants"; - mes "to be a ^800000Rogue^000000."; } else { mes "Oh, I see..."; mes "Lil' cutie wants "; - mes "to be a ^800000Rogue^000000."; } + 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?"; @@ -100,7 +108,7 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ 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 Rouges..."; + 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]"; @@ -111,14 +119,14 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ mes "Let's get started!"; next; } - if (ROGUE_Q == 1) { + 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; } - if (ROGUE_Q == 2) { + 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; @@ -127,7 +135,7 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ 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; } - if ((ROGUE_Q > 2) && (ROGUE_Q < 16)) { + else if (ROGUE_Q > 2 && ROGUE_Q < 16) { mes "[Markie]"; mes "Hey yo..."; mes "Do your best."; @@ -138,56 +146,33 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ mes "a cinch to--Wait! Er, I wasn't talkin' about you! I meant the other fresh meat~"; close; } - if (ROGUE_Q == 17) { - mes "[Markie]"; - 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~"; - if(Class == Job_Baby_Thief){ - jobchange Job_Baby_Rogue; - } else { - jobchange Job_Rogue; - } + else if (ROGUE_Q == 16 || ROGUE_Q == 17) { changequest 2026,2027; - 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."; - if (JobLevel == 50) { - getitem 1220,1; //Gladius_ - } else { - getitem 1219,1; //Gladius + 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!"; } - close; - } - if (ROGUE_Q == 16) { - mes "[Markie]"; - 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!"; - if(Class == Job_Baby_Thief){ - jobchange Job_Baby_Rogue; - } else { - jobchange Job_Rogue; + 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~"; } - changequest 2026,2027; + set .@jlevel,JobLevel; + callfunc "Job_Change",Job_Rogue; + callfunc "F_ClearJobVar"; completequest 2027; next; mes "[Markie]"; @@ -198,12 +183,13 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ 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."; - if (JobLevel == 50) { + close2; + if (.@jlevel == 50) { getitem 1220,1; //Gladius_ } else { getitem 1219,1; //Gladius } - close; + end; } if (select("I'm ready.:Hold on, I need to get ready!") == 2) { mes "[Markie]"; @@ -216,214 +202,214 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ close; } next; - set .@assassin_quiz, rand(1,3); - set @assassin_t,0; mes "[Markie]"; mes "Listen carefully, and"; mes "pick the right answer."; mes "Capish? Now, lemme"; mes "read these questions..."; next; - if (.@assassin_quiz == 1) { + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } - } - if (.@assassin_quiz == 2) { + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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")) { - case 1: - case 2: + switch(select("Green Plant:Yellow Plant:Blue Plant:Shining Plant")) { + default: break; case 3: - set @assassin_t,@assassin_t + 10; + set .@assassin_t,.@assassin_t+10; break; case 4: - set @assassin_t,@assassin_t + 10; + 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; - } - } - else { + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; + 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")) { - case 1: - case 2: + 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; + set .@assassin_t,.@assassin_t+10; break; case 4: - set @assassin_t,@assassin_t + 10; + 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; - } + 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; - if (select("Orange Gooey Mushroom:Red Hairy Mushroom:Orange Net Mushroom:Orange Sticky Mushroom") == 3) { - set @assassin_t,@assassin_t + 10; + 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; - } + if (select("Whisper Card:Elder Willow Card:Zerom Card:Matyr Card") == 2) + set .@assassin_t,.@assassin_t+10; } mes "[Markie]"; mes "*Whew~*"; @@ -433,8 +419,8 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ mes "[Markie]"; mes "Let's see."; mes "You got..."; - mes "" + @assassin_t + " points."; - if (@assassin_t > 80) { + mes "" + .@assassin_t + " points."; + if (.@assassin_t > 80) { set ROGUE_Q,2; setquest 2017; mes "Good. You passed."; @@ -449,26 +435,28 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ mes "Go find Smith and finish up this test, yeah? Be careful though, Smith's a pretty anal guy."; close; } - 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 { + 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; + } } - if (JobLevel < 40) { + 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; } } - if (Class == Job_Baby_Assassin || Class == Job_Assassin) { + 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?"; @@ -480,7 +468,7 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ 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; } - if (Class == ROGUE_Q) { + else if (BaseJob == Job_Rogue) { mes "[Markie]"; mes "Hey hey~"; mes "Long time no see."; @@ -490,16 +478,18 @@ in_rogue,363,122,4 script Rogue Guildsman 747,{ mes "check back again later."; close; } - 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; + 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 57,{ +in_rogue,376,23,1 script Mr. Smith#rg 57,{ if (ROGUE_Q == 2) { mes "[Mr. Smith]"; mes "Welcome to"; @@ -518,98 +508,11 @@ in_rogue,376,23,1 script Mr. Smith 57,{ 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)) { - 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 "^FF000010 Skel-bone^000000,"; - mes "^FF00006 Blue Herb^000000,"; - mes "^FF000010 Decayed Nail^000000, and"; - mes "^FF000010 Horrendous Mouth^000000."; - set ROGUE_Q,3; - changequest 2017,2018; - 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; - } - if ((.@item_need > 5) && (.@item_need < 11)) { - 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 "^FF000010 Green Herb^000000,"; - mes "^FF000010 Crab Shell^000000,"; - mes "^FF000010 Snake Scale^000000 and"; - mes "^FF000010 Garlet^000000."; - set ROGUE_Q,4; - changequest 2017,2019; - 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; - } - if ((.@item_need > 10) && (.@item_need < 15)) { - 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 "^FF000010 Yellow Herb^000000,"; - mes "^FF000010 Shell^000000,"; - mes "^FF000010 Grasshopper's Leg^000000 and"; - mes "^FF000010 Bear's Footskin^000000."; - set ROGUE_Q,5; - 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; - } - if (.@item_need == 15) { + 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; @@ -729,7 +632,7 @@ in_rogue,376,23,1 script Mr. Smith 57,{ close; } } - if (ROGUE_Q < 2) { + 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; @@ -748,121 +651,19 @@ in_rogue,376,23,1 script Mr. Smith 57,{ mes "I lost count!"; close; } - if (ROGUE_Q > 2) { - if (ROGUE_Q == 3) { - if ((Zeny > 9999) && (countitem(932) > 9) && (countitem(510) > 5) && (countitem(957) > 9) && (countitem(958) > 9)) { - mes "[Mr. Smith]"; - mes "Okay, we've got the application fee, ^FF000010,000 zeny^000000, 10 Skel-Bone, 6 Blue Herb, 10 Decayed Nail and 10 Horrendous Mouth..."; - set Zeny, Zeny - 10000; - delitem 932,10; //Skel_Bone - delitem 510,6; //Blue_Herb - delitem 957,10; //Decayed_Nail - delitem 958,10; //Horrendous_Mouth - set ROGUE_Q,7; - next; - mes "[Mr. Smith]"; - mes "Great, great..."; - mes "I think you"; - mes "brought everything."; - 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 "^FF000010 Skel-bone^000000,"; - mes "^FF00006 Blue Herb^000000,"; - mes "^FF000010 Decayed Nail^000000, and"; - mes "^FF000010 Horrendous Mouth^000000."; - mes "You got it this time?"; - close; - } - if (ROGUE_Q == 4) { - if ((Zeny > 9999) && (countitem(511) > 9) && (countitem(964) > 9) && (countitem(926) > 9) && (countitem(910) > 9)) { - mes "[Mr. Smith]"; - mes "Okay, we've got the application fee, 10 Green Herb, 10 Crab Shell, 10 Snake Scale and 10 Garlet."; - set Zeny, Zeny - 10000; - delitem 511,10; //Green_Herb - delitem 964,10; //Crap_Shell - delitem 926,10; //Scale_Of_Snakes - delitem 910,10; //Garlet - set ROGUE_Q,7; - next; - mes "[Mr. Smith]"; - mes "Great, great..."; - mes "I think you"; - mes "brought everything."; - next; - mes "[Mr. Smith]"; - mes "Alright, wait just a moment while 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 "^FF000010 Green Herb^000000,"; - mes "^FF000010 Crab Shell^000000,"; - mes "^FF000010 Snake Scale^000000 and"; - mes "^FF000010 Garlet^000000."; - mes "Don't forget this time!"; - close; - } - if (ROGUE_Q == 5) { - if ((Zeny > 9999) && (countitem(508) > 9) && (countitem(935) > 9) && (countitem(940) > 9) && (countitem(948) > 9)) { - mes "[Mr. Smith]"; - mes "Let's see, you've brought the application fee, 10 Yellow Herb, 10 Shell, 10 Grasshopper's Leg and 10 Bear's Footskin..."; - set Zeny, Zeny - 10000; - delitem 508,10; //Yellow_Herb - delitem 935,10; //Shell - delitem 940,10; //Grasshopper's_Leg - delitem 948,10; //Bear's_Foot - set ROGUE_Q,7; - next; - mes "[Mr. Smith]"; - mes "Great, great..."; - mes "I think you"; - mes "brought everything."; - next; - mes "[Mr. Smith]"; - mes "Alright, wait just a moment while 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 "^FF000010 Yellow Herb^000000,"; - mes "^FF000010 Shell^000000,"; - mes "^FF000010 Grasshopper's Leg^000000 and"; - mes "^FF000010 Bear's Footskin^000000."; - mes "Got it? Don't forget this time!"; - close; - } - 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)) { + 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; + set zeny,zeny-10000; delitem 915,5; //Chrysalis delitem 713,5; //Empty_Bottle delitem 1002,5; //Iron_Ore @@ -887,6 +688,8 @@ in_rogue,376,23,1 script Mr. Smith 57,{ 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."; @@ -948,17 +751,23 @@ in_rogue,376,23,1 script Mr. Smith 57,{ mes "without them!"; close; } - if (ROGUE_Q == 7) { - set .@ro_q, rand(1,3); - if (.@ro_q == 1) { - mes "[Mr. Smith]"; - mes "Let me see..."; - mes "Who would should"; - mes "I send you to...?"; + 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; - changequest 2018,2022; - changequest 2019,2022; - changequest 2020,2022; + 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"; @@ -985,16 +794,17 @@ in_rogue,376,23,1 script Mr. Smith 57,{ 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; - } - if (.@ro_q == 2) { - mes "[Mr. Smith]"; - mes "Let me see..."; - mes "Who would should"; - mes "I send you to...?"; + case 2: set ROGUE_Q,10; - changequest 2018,2023; - changequest 2019,2023; - changequest 2020,2023; + 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..."; @@ -1020,50 +830,52 @@ in_rogue,376,23,1 script Mr. Smith 57,{ 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; } - mes "[Mr. Smith]"; - mes "Let me see..."; - mes "Who would should"; - mes "I send you to...?"; - set ROGUE_Q,11; - changequest 2018,2024; - changequest 2019,2024; - 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 have 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; } - if (ROGUE_Q == 8) { + 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 ^0000FFthe checkpoint of Paros Lighthouse^000000, which is at the border between Morroc and Comodo."; + 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."; - changequest 2021,2025; close; } - if (ROGUE_Q == 9) { + else if (ROGUE_Q == 9) { mes "[Mr. Smith]"; mes "What...?"; mes "Did you just"; @@ -1077,7 +889,7 @@ in_rogue,376,23,1 script Mr. Smith 57,{ mes "The password is ^0000FFAragham never hoarded upgrade items^000000."; close; } - if (ROGUE_Q == 10) { + else if (ROGUE_Q == 10) { mes "[Mr. Smith]"; mes "What...?"; mes "Did you just"; @@ -1095,7 +907,7 @@ in_rogue,376,23,1 script Mr. Smith 57,{ mes "The password is ^0000FF'Antonio doesn't enjoy destroying upgrade items'^000000."; close; } - if (ROGUE_Q == 11) { + else if (ROGUE_Q == 11) { mes "[Mr. Smith]"; mes "What...?"; mes "Did you just"; @@ -1109,7 +921,7 @@ in_rogue,376,23,1 script Mr. Smith 57,{ mes "The password is ^0000FFMy father never hoarded upgrade items^000000."; close; } - if (ROGUE_Q > 11) { + else if (ROGUE_Q > 11) { mes "[Mr. Smith]"; mes "Hmmm...?"; mes "Don't you have"; @@ -1119,24 +931,94 @@ in_rogue,376,23,1 script Mr. Smith 57,{ close; } } -} -cmd_fild09,106,195,0 script Warp#1 45,1,1,{ - end; -OnTouch: - if (ROGUE_Q < 8){ - mes"The door is locked."; - mes "Do this later."; +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; - set @rogue_t,0; - switch (select("My father:Aragham:Aragon:Legolas")) { + switch(select("My father:Aragham:Aragon:Legolas")) { case 1: mes "[" + strcharinfo(0) + "]"; mes "My father"; @@ -1144,7 +1026,7 @@ OnTouch: case 2: mes "[" + strcharinfo(0) + "]"; mes "Aragham"; - set @rogue_t,@rogue_t + 10; + set .@rogue_t,.@rogue_t+10; break; case 3: mes "[" + strcharinfo(0) + "]"; @@ -1155,88 +1037,62 @@ OnTouch: mes "Legolas"; break; } - switch (select("did not:didn't:never:ever")) { - case 1: - mes "did not"; - break; - case 2: - mes "didn't"; - 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"; + set .@rogue_t,.@rogue_t+10; break; + case 4: mes "ever"; break; } - switch (select("hoard:hoarded:hide:took:take")) { - case 1: - mes "hoard"; - 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"; + 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.")) { + 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."; + 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) { + if (.@rogue_t > 30) { mes "^3355FF*Creeeeak*"; mes "The door slowly opens.^000000"; close2; warp "in_rogue",246,25; end; } - mes "[???]"; - mes "What the...?"; - mes "Get lost!"; - close; + else { + mes "[???]"; + mes "What the...?"; + mes "Get lost!"; + close; + } } cmd_fild09,335,143,0 script Warp#2 45,1,1,{ - end; - OnTouch: - if (ROGUE_Q < 8){ - mes"The door is locked."; - mes "Do this later."; - close; - } mes "[???]"; mes "Who's there?!"; mes "Who would dare"; mes "intrude my territory?"; next; - set @rogue_t,0; - switch (select("My father:Aragham:Aragon:Legolas")) { + switch(select("My father:Aragham:Aragon:Legolas")) { case 1: mes "[" + strcharinfo(0) + "]"; mes "My father"; - set @rogue_t,@rogue_t + 10; + set .@rogue_t,.@rogue_t+10; break; case 2: mes "[" + strcharinfo(0) + "]"; @@ -1251,84 +1107,58 @@ OnTouch: mes "Legolas"; break; } - switch (select("did not:didn't:never:ever")) { - case 1: - mes "did not"; - break; - case 2: - mes "didn't"; - 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"; + 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; + 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; + set .@rogue_t,.@rogue_t+10; break; } - switch (select("upgrade items.:forging items.:refining item.:upgrade item.")) { + 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."; + 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) { + if (.@rogue_t > 30) { mes "^3355FF*Creeeeak*"; mes "The door slowly opens.^000000"; close2; warp "in_rogue",169,34; end; } - mes "[???]"; - mes "What the...?"; - mes "Get lost!"; - close; + else { + mes "[???]"; + mes "What the...?"; + mes "Get lost!"; + close; + } } cmd_fild04,304,180,0 script Warp#3 45,1,1,{ - end; - OnTouch: - if (ROGUE_Q < 8){ - mes"The door is locked."; - mes "Do this later."; - close; - } mes "[???]"; mes "Who's there?!"; mes "Who would dare"; mes "intrude my territory?"; next; - set @rogue_t,0; - switch (select("Anntonio:Aragham:Antonio:Hollgrehenn")) { + switch(select("Anntonio:Aragham:Antonio:Hollgrehenn")) { case 1: mes "[" + strcharinfo(0) + "]"; mes "Anntonio"; @@ -1340,82 +1170,60 @@ OnTouch: case 3: mes "[" + strcharinfo(0) + "]"; mes "Antonio"; - set @rogue_t,@rogue_t + 10; + set .@rogue_t,.@rogue_t+10; break; case 4: mes "[" + strcharinfo(0) + "]"; - mes "Hollgrehenn"; + mes "Hollgrehenn"; break; } - switch (select("enjoys:doesn't enjoy:likes:doesn't like")) { - case 1: - mes "enjoys"; - 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"; + 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; + 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"; + 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; + 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."; + 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) { + if (.@rogue_t > 30) { mes "^3355FF*Creeeeak*"; mes "The door slowly opens.^000000"; close2; warp "in_rogue",164,106; end; } - mes "[???]"; - mes ".....Get lost!"; - close; + else { + mes "[???]"; + mes ".....Get lost!"; + close; + } } -cmd_fild07,355,286,0 warp warp_nervrogue 1,1,in_rogue,247,126 - -in_rogue,272,135,1 script Hermanthorn Jr 85,{ +in_rogue,272,135,1 script Hermanthorn Jr#rg 85,{ if (ROGUE_Q == 8) { - mes "[Hermanthorn Jr.]"; + mes "[HermanthornJr.]"; mes "I see..."; mes "You must be from"; mes "the Rogue guild."; @@ -1423,57 +1231,60 @@ in_rogue,272,135,1 script Hermanthorn Jr 85,{ mes "ones Mr. Smith wasn't"; mes "too happy with..."; next; - mes "[Hermanthorn Jr.]"; + 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 "[Hermanthorn Jr.]"; + mes "[HermanthornJr.]"; mes "I suppose he suckered you into gathering those items, and then passed you on to me. Sad, really."; next; - mes "[Hermanthorn Jr.]"; + 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 "[Hermanthorn Jr.]"; + 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 "[Hermanthorn Jr.]"; + mes "[HermanthornJr.]"; mes "There is one thing I should tell you, though. You might want to be careful inside, alright?"; next; - mes "[Hermanthorn Jr.]"; + mes "[HermanthornJr.]"; mes "A bunch of pricks have been throwing Dead Branches and casting Hocus Pocus all over the place..."; next; - mes "[Hermanthorn Jr.]"; + 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; - close2; + close; } - if (ROGUE_Q == 12) { - mes "[Hermanthorn Jr.]"; + 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; } - mes "[Hermanthorn Jr.]"; - mes "Huh...?"; - mes "What the hell"; - mes "are you doing here."; - mes "Scram, why don't you?"; - 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 45,1,1,{ - end; - +in_rogue,270,130,0 script he_to_rogue#rg 45,1,1,{ OnTouch: - if (ROGUE_Q == 12) { - 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) { + 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"; - close; - } - if (.@input == 3019) { + 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; @@ -1481,105 +1292,99 @@ OnTouch: 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; } - mes "^3355FFThe door is locked. It seems a four number combination is required to open it.^000000"; - next; - input .@input; - if (.@input < 1 || .@input > 10000) { - mes "^3355FFPlease enter a combination of four numbers.^000000"; - close; - } - if (.@input == 3019) { - mes "[Hermanthorn Jr.]"; - mes "Well..."; - mes "Didn't I tell you"; - mes "that I changed the"; - mes "password? *Wink Wink*"; - close; - } - mes "^3355FFThe door"; - mes "is still locked.^000000"; - close; } -in_rogue,200,389,0 script gen_ro#1 139,3,3,{ - end; - +in_rogue,200,389,0 script gen_ro#1 -1,3,3,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",200,389,"Zombie",1015,1; - monster "in_rogue",201,389,"Zombie",1015,1; + 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; } + else + warp "mag_dun02",181,176; end; OnDisable: killmonster "in_rogue","gen_ro#1::OnMyMobDead"; end; -} -in_rogue,100,389,0 script gen_ro#2 139,3,3,{ +OnMyMobDead: end; +} +in_rogue,100,389,0 script gen_ro#2 -1,3,3,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",100,389,"Mummy",1041,1; + 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; } + else + warp "mag_dun02",181,176; end; OnDisable: killmonster "in_rogue","gen_ro#2::OnMyMobDead"; end; -} -in_rogue,150,389,0 script gen_ro#3 139,3,3,{ +OnMyMobDead: end; +} +in_rogue,150,389,0 script gen_ro#3 -1,3,3,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",145,389,"Zombie",1015,1; - monster "in_rogue",143,389,"Mummy",1041,1; + 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; } + else + warp "mag_dun02",181,176; end; OnDisable: killmonster "in_rogue","gen_ro#3::OnMyMobDead"; end; -} -in_rogue,250,389,0 script gen_ro#4 139,3,3,{ +OnMyMobDead: end; +} +in_rogue,250,389,0 script gen_ro#4 -1,3,3,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",200,389,"Abysmal Knight",1219,1; + 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; } + else + warp "mag_dun02",181,176; end; OnDisable: killmonster "in_rogue","gen_ro#4::OnMyMobDead"; end; -} -in_rogue,9,389,0 script oneway_to_gu 45,1,1,{ +OnMyMobDead: end; +} +in_rogue,9,389,0 script oneway_to_gu 45,1,1,{ OnTouch: donpcevent "gen_ro#4::OnDisable"; set ROGUE_Q,17; @@ -1587,7 +1392,7 @@ OnTouch: end; } -in_rogue,244,39,1 script Aragham Junior 99,{ +in_rogue,244,39,1 script Aragham Junior#rg 99,{ if (ROGUE_Q == 9) { mes "[Aragham Jr.]"; mes "Oh, you must be"; @@ -1615,13 +1420,13 @@ in_rogue,244,39,1 script Aragham Junior 99,{ 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) { - changequest 2022,2026; 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.]"; @@ -1631,7 +1436,7 @@ in_rogue,244,39,1 script Aragham Junior 99,{ mes "when you're ready."; close; } - if (ROGUE_Q == 13) { + 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..."; @@ -1650,7 +1455,7 @@ in_rogue,244,39,1 script Aragham Junior 99,{ mes "when you're ready."; close; } - if (Class != ROGUE_Q) { + else if (BaseJob != Job_Rogue) { mes "[Aragham Jr.]"; mes "Huh...?"; mes "Who are you?!"; @@ -1661,19 +1466,19 @@ in_rogue,244,39,1 script Aragham Junior 99,{ 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; } - 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; + 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,244,21,0 warp out#01 1,1,cmd_fild09,106,191 - -in_rogue,160,34,1 script Hollgrehenn Junior 85,{ +in_rogue,160,34,1 script Hollgrehenn junior#rg 85,{ if (ROGUE_Q == 11) { mes "[Hollgrehenn Jr.]"; mes "Huh..."; @@ -1697,12 +1502,12 @@ in_rogue,160,34,1 script Hollgrehenn Junior 85,{ 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) { - changequest 2024,2026; mes "[Hollgrehenn Jr.]"; mes "Good luck."; close2; warp "in_rogue",15,105; set ROGUE_Q,15; + changequest 2024,2026; end; } mes "[Hollgrehenn Jr.]"; @@ -1711,7 +1516,7 @@ in_rogue,160,34,1 script Hollgrehenn Junior 85,{ mes "when you're ready."; close; } - if (ROGUE_Q == 15) { + else if (ROGUE_Q == 15) { mes "[Hollgrehenn Jr.]"; mes "Huh."; mes "You failed."; @@ -1730,7 +1535,7 @@ in_rogue,160,34,1 script Hollgrehenn Junior 85,{ mes "when you're ready."; close; } - if (Class != ROGUE_Q) { + else if (BaseJob != Job_Rogue) { mes "[Hollgrehenn Jr.]"; mes "Huh...?"; mes "You're not from"; @@ -1749,17 +1554,17 @@ in_rogue,160,34,1 script Hollgrehenn Junior 85,{ mes "about killing you."; close; } - mes "[Hollgrehenn Jr.]"; - mes "Hey..."; - mes "Come to visit?"; - mes "We Rogues gotta"; - mes "stick together, huh?"; - close; + else { + mes "[Hollgrehenn Jr.]"; + mes "Hey..."; + mes "Come to visit?"; + mes "We Rogues gotta"; + mes "stick together, huh?"; + close; + } } -in_rogue,172,34,0 warp out#02 1,1,cmd_fild09,341,143 - -in_rogue,177,109,1 script Antonio Junior 88,{ +in_rogue,177,109,1 script Antonio junior#rg 88,{ if (ROGUE_Q == 10) { mes "[Antonio Jr.]"; mes "You're from"; @@ -1786,10 +1591,10 @@ in_rogue,177,109,1 script Antonio Junior 88,{ mes "not fail this test"; mes "You can only become"; mes "a Rogue if you pass..."; - changequest 2023,2026; close2; warp "in_rogue",15,105; set ROGUE_Q,14; + changequest 2023,2026; end; } mes "[Antonio Jr.]"; @@ -1800,15 +1605,14 @@ in_rogue,177,109,1 script Antonio Junior 88,{ mes "the test."; close; } - if (ROGUE_Q == 14) { + 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; - switch (select("Re-test:Cancel")) { - case 1: + if (select("Re-test:Cancel") == 1) { mes "[Antonio Jr.]"; mes "Remember, I'm doing"; mes "you a favor here..."; @@ -1817,17 +1621,16 @@ in_rogue,177,109,1 script Antonio Junior 88,{ close2; warp "in_rogue",15,105; end; - case 2: - 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; } + 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; } - if (Class != ROGUE_Q) { + else if (BaseJob != Job_Rogue) { mes "Huh...?"; mes "Who are you?!"; mes "You're not from"; @@ -1837,344 +1640,344 @@ in_rogue,177,109,1 script Antonio Junior 88,{ 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; } - mes "[Antonio Jr.]"; - mes "Hey, how's it goin'?"; - mes "Take it easy, and just"; - mes "relax before you leave."; - 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,161,103,0 warp out#1 1,1,cmd_fild04,302,177 - in_rogue,370,320,0 script quest_out 45,1,1,{ - end; - OnTouch: set ROGUE_Q,16; - changequest 2026,2027; warp "in_rogue",378,113; end; } -in_rogue,15,184,0 script mob_rogue#1 139,8,1,{ - end; - +in_rogue,15,184,0 script mob_rogue#1 -1,8,1,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",14,187,"Zombie",1015,1; - monster "in_rogue",15,188,"Zombie",1015,1; - monster "in_rogue",16,189,"Zombie",1015,1; - monster "in_rogue",17,187,"Zombie",1015,1; - monster "in_rogue",18,188,"Zombie",1015,1; - monster "in_rogue",19,189,"Zombie",1015,1; - } else { - warp "mag_dun02",181,176; + 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; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#1::OnMyMobDead"; end; -} -in_rogue,15,273,0 script mob_rogue#2 139,8,1,{ +OnMyMobDead: end; +} +in_rogue,15,273,0 script mob_rogue#2 -1,8,1,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",15,276,"Mummy",1041,1; - monster "in_rogue",13,276,"Mummy",1041,1; - monster "in_rogue",11,276,"Mummy",1041,1; - } else { - warp "mag_dun02",181,176; + 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; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#2::OnMyMobDead"; end; -} -in_rogue,15,333,0 script mob_rogue#3 139,8,1,{ +OnMyMobDead: end; +} +in_rogue,15,333,0 script mob_rogue#3 -1,8,1,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",15,336,"Zombie",1015,1; - monster "in_rogue",15,336,"Zombie",1015,1; - monster "in_rogue",15,336,"Zombie",1015,1; - monster "in_rogue",15,336,"Zombie",1015,1; - donpcevent "mob_rogue#4::OnReset"; - donpcevent "mob_rogue#7::OnReset"; - donpcevent "mob_rogue#8::OnReset"; - } else { - warp "mag_dun02",181,176; + 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; -OnReset: - killmonster "in_rogue","mob_rogue#3::OnMyMobDead"; +OnDisable: + killmonster "in_rogue","mob_rogue#3::OnMyMObDead"; end; -} -in_rogue,39,341,0 script mob_rogue#4 139,1,8,{ +OnMyMobDead: end; +} +in_rogue,39,341,0 script mob_rogue#4 -1,1,8,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",39,341,"Mummy",1041,1; - monster "in_rogue",40,341,"Ghoul",1036,1; - monster "in_rogue",41,341,"Abysmal Knight",1219,1; - monster "in_rogue",42,341,"Mummy",1041,1; - } else { - warp "mag_dun02",181,176; + 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; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#4::OnMyMobDead"; end; -} -in_rogue,102,334,0 script mob_rogue#5 139,1,4,{ +OnMyMobDead: end; +} +in_rogue,102,334,0 script mob_rogue#5 -1,1,4,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",92,334,"Khalitzburg",1132,1; - donpcevent "mob_rogue#1::OnReset"; - donpcevent "mob_rogue#2::OnReset"; - donpcevent "mob_rogue#3::OnReset"; - } else { - warp "mag_dun02",181,176; + 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; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#5::OnMyMobDead"; end; -} -in_rogue,58,309,0 script mob_rogue#6 139,4,1,{ +OnMyMobDead: end; +} +in_rogue,58,309,0 script mob_rogue#6 -1,4,1,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",57,301,"Khalitzburg",1132,1; - donpcevent "mob_rogue#1::OnReset"; - donpcevent "mob_rogue#2::OnReset"; - donpcevent "mob_rogue#3::OnReset"; - } else { - warp "mag_dun02",181,176; + 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; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#6::OnMyMobDead"; end; -} -in_rogue,101,264,0 script mob_rogue#7 139,5,5,{ +OnMyMobDead: end; +} +in_rogue,101,264,0 script mob_rogue#7 -1,5,5,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",101,264,"Abysmal Knight",1219,1; - monster "in_rogue",102,264,"Abysmal Knight",1219,1; - } else { - warp "mag_dun02",181,176; + 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; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#7::OnMyMobDead"; end; -} -in_rogue,140,312,0 script mob_rogue#8 139,5,5,{ +OnMyMobDead: end; +} +in_rogue,140,312,0 script mob_rogue#8 -1,5,5,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",140,312,"Abysmal Knight",1219,1; - } else { + if (BaseJob == Job_Thief) + monster "in_rogue",140,312,"Abysmal Knight",1219,1,"mob_rogue#8::OnMyMobDead"; + else warp "mag_dun02",181,176; - } end; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#8::OnMyMobDead"; end; -} -in_rogue,139,246,0 script mob_rogue#9 139,4,4,{ +OnMyMobDead: end; +} +in_rogue,139,246,0 script mob_rogue#9 -1,4,4,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",139,246,"Zombie",1015,1; - monster "in_rogue",149,246,"Zombie",1015,1; - monster "in_rogue",140,246,"Zombie",1015,1; - monster "in_rogue",141,246,"Zombie",1015,1; - monster "in_rogue",150,246,"Zombie",1015,1; - monster "in_rogue",151,246,"Zombie",1015,1; - } else { - warp "mag_dun02",181,176; + 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; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#9::OnMyMobDead"; end; -} -in_rogue,197,249,0 script mob_rogue#10 139,1,8,{ +OnMyMobDead: end; +} +in_rogue,197,249,0 script mob_rogue#10 -1,1,8,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",176,211,"Ghoul",1036,1; - monster "in_rogue",176,212,"Zombie",1015,1; - monster "in_rogue",176,213,"Zombie",1015,1; - monster "in_rogue",177,214,"Abysmal Knight",1219,1; - monster "in_rogue",177,211,"Zombie",1015,1; - monster "in_rogue",177,212,"Zombie",1015,1; - monster "in_rogue",177,213,"Zombie",1015,1; - monster "in_rogue",177,214,"Zombie",1015,1; - monster "in_rogue",178,211,"Zombie",1015,1; - monster "in_rogue",178,212,"Zombie",1015,1; - monster "in_rogue",178,213,"Zombie",1015,1; - monster "in_rogue",178,214,"Archer Skeleton",1016,1; - monster "in_rogue",179,211,"Zombie",1015,1; - monster "in_rogue",179,212,"Zombie",1015,1; - monster "in_rogue",179,213,"Zombie",1015,1; - monster "in_rogue",179,214,"Zombie",1015,1; - donpcevent "mob_rogue#4::OnReset"; - donpcevent "mob_rogue#5::OnReset"; - donpcevent "mob_rogue#6::OnReset"; - } else { - warp "mag_dun02",181,176; + 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; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#10::OnMyMobDead"; end; -} -in_rogue,96,205,0 script mob_rogue#11 139,1,8,{ +OnMyMobDead: end; +} +in_rogue,96,205,0 script mob_rogue#11 -1,1,8,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - donpcevent "mob_rogue#7::OnReset"; - donpcevent "mob_rogue#8::OnReset"; - donpcevent "mob_rogue#9::OnReset"; - donpcevent "mob_rogue#10::OnReset"; - } else { - warp "mag_dun02",181,176; + 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 139,1,8,{ - end; - +in_rogue,86,187,0 script mob_rogue#12 -1,1,8,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",90,187,"Mummy",1041,1; - monster "in_rogue",90,183,"Mummy",1041,1; - monster "in_rogue",90,190,"Mummy",1041,1; - } else { - warp "mag_dun02",181,176; + 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; -OnReset: + +OnDisable: killmonster "in_rogue","mob_rogue#12::OnMyMobDead"; end; -} -in_rogue,223,187,0 script mob_rogue#13 139,1,8,{ +OnMyMobDead: end; +} +in_rogue,223,187,0 script mob_rogue#13 -1,1,8,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",236,186,"Abysmal Knight",1219,1; - monster "in_rogue",238,186,"Abysmal Knight",1219,1; - monster "in_rogue",234,186,"Abysmal Knight",1219,1; - donpcevent "mob_rogue#12::OnReset"; - } else { - warp "mag_dun02",181,176; + 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; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#13::OnMyMobDead"; end; -} -in_rogue,233,207,0 script mob_rogue#14 139,8,3,{ +OnMyMobDead: end; +} +in_rogue,233,207,0 script mob_rogue#14 -1,8,3,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - donpcevent "mob_rogue#13::OnReset"; - } else { + 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 139,1,8,{ - end; - +in_rogue,244,319,0 script mob_rogue#15 -1,1,8,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - monster "in_rogue",240,319,"Mummy",1041,1; - monster "in_rogue",259,319,"Archer Skeleton",1016,1; - monster "in_rogue",259,320,"Ghoul",1036,1; - monster "in_rogue",240,319,"Mummy",1041,1; - monster "in_rogue",259,319,"Archer Skeleton",1016,1; - monster "in_rogue",259,320,"Ghoul",1036,1; - } else { - warp "mag_dun02",181,176; + 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; -OnReset: +OnDisable: killmonster "in_rogue","mob_rogue#15::OnMyMobDead"; end; -} -in_rogue,334,319,0 script mob_rogue#16 139,8,8,{ +OnMyMobDead: end; +} +in_rogue,334,319,0 script mob_rogue#16 -1,8,8,{ OnTouch: - if (Class == Job_Baby_Thief || Class == Job_Thief) { - donpcevent "mob_rogue#15::OnReset"; - } else { + if (BaseJob == Job_Thief) + donpcevent "mob_rogue#15::OnDisable"; + else warp "mag_dun02",181,176; - } end; } -in_rogue,3,3,0 script resetter#rogue 139,{ - end; - +in_rogue,3,3,0 script resetter#rogue -1,{ OnTimer500000: - donpcevent "mob_rogue#1::OnReset"; - donpcevent "mob_rogue#2::OnReset"; - donpcevent "mob_rogue#3::OnReset"; - donpcevent "mob_rogue#4::OnReset"; - donpcevent "mob_rogue#5::OnReset"; - donpcevent "mob_rogue#6::OnReset"; - donpcevent "mob_rogue#7::OnReset"; - donpcevent "mob_rogue#8::OnReset"; - donpcevent "mob_rogue#9::OnReset"; - donpcevent "mob_rogue#10::OnReset"; - donpcevent "mob_rogue#12::OnReset"; - donpcevent "mob_rogue#13::OnReset"; - donpcevent "mob_rogue#15::OnReset"; + 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; @@ -2187,34 +1990,45 @@ OnInit: end; } -in_rogue,375,33,0 warp warp_rogue#1 1,1,in_rogue,380,125 -in_rogue,375,125,0 warp warp_rogue#2 1,1,in_rogue,379,33 -in_rogue,375,46,0 warp warp_rogue#3 1,1,cmd_fild07,196,117 -cmd_fild07,193,117,0 warp warp_rogue#4 1,1,in_rogue,379,46 -in_rogue,247,122,0 warp cmd=fild07 1,1,cmd_fild07,349,285 - 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; +} - if(getgmlevel() == 99){ - mes "^F08080Tah dah~"; - mes "Monsters for the"; - mes "Rogue Job Change"; - mes "have been reset^000000."; - donpcevent "mob_rogue#1::OnReset"; - donpcevent "mob_rogue#2::OnReset"; - donpcevent "mob_rogue#3::OnReset"; - donpcevent "mob_rogue#4::OnReset"; - donpcevent "mob_rogue#5::OnReset"; - donpcevent "mob_rogue#6::OnReset"; - donpcevent "mob_rogue#7::OnReset"; - donpcevent "mob_rogue#8::OnReset"; - donpcevent "mob_rogue#9::OnReset"; - donpcevent "mob_rogue#10::OnReset"; - donpcevent "mob_rogue#12::OnReset"; - donpcevent "mob_rogue#13::OnReset"; - donpcevent "mob_rogue#15::OnReset"; - donpcevent "resetter#rogue::OnEnable"; - close; - } - end; -} \ No newline at end of file +//============================================================ +// mapflag +//============================================================ + +//============================================================ +// Old changelog +//============================================================ +//= 1.1 fixed 3 wrong questions, added missing lines [Lupus] +//= 1.3 Baby Class Support + 40/50 JobLevel Item fix [Lupus] +//= 1.5 Fixed possible EXP abuse [Lupus] +//= 1.6 Added a func which prevent advanced classes passing +//= 2nd Job Quests again. It also guides adv classes where +//= to go. [Lupus] +//= 2.0 Changed numbers to constants. [Vicious] +//= 2.1 Removed Duplicates [Silent] +//= 2.2 Merged JFunc [Lupus] +//= 2.3 Added a possibility for players doing Meginjyard quest +//= to enter Rogue guild as there's a NPC inside [SinSloth] +//= 2.3a fixed test4 person interaction, let BABY thieves pass +//= the test, too [Lupus] diff --git a/npc/jobs/2-2/sage.txt b/npc/jobs/2-2/sage.txt index a8f2848d1..481392c60 100644 --- a/npc/jobs/2-2/sage.txt +++ b/npc/jobs/2-2/sage.txt @@ -1,23 +1,38 @@ //===== rAthena Script ======================================= -// Sage Job change Quest -//===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= Sage Job Quest +//===== By: ================================================== +//= jAthena (0.9) - I guess +//= Unknown Translator (1.0) +//= Darkchild (1.2) //===== Current Version: ===================================== -//= 1.0 +//= 2.8 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] -//= Job change Quest from Mage -> Sage. +//= [Aegis Conversion] +//= Job quest for Sage classes //===== Additional Comments: ================================= -//= 1.0 Updated to latest available official file. [Masao] +//= 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 743,{ +yuno_in02,38,61,5 script Dean of the Academy#sa 743,{ + cutin "job_sage_kayron",2; + mes "[Kayron Grik]"; if (Upper == 1) { - cutin "job_sage_kayron",2; - mes "[Kayron Grik]"; mes "Haha, I have seen many people"; mes "but it seems you possess special power and abilities."; next; @@ -25,55 +40,44 @@ yuno_in02,38,61,5 script Dean of the Academy 743,{ mes "You'd better leave and increase your reputation."; mes "Never forget that once you also used to be a novice."; close2; - cutin "",255; + cutin "job_sage_kayron",255; end; } - if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { - if (Class == Job_Baby_Sage || Class == Job_Sage) { - cutin "job_sage_kayron",2; - mes "[Kayron Grik]"; + 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."; - close2; - cutin "",255; - end; } - if (Class == Baby || Class == Job_Novice) { - cutin "job_sage_kayron",2; - mes "[Kayron Grik]"; + 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."; - close2; - cutin "",255; - end; } - cutin "job_sage_kayron",2; - mes "[Kayron Grik]"; - 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..."; + 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 "",255; + cutin "job_sage_kayron",255; end; } if (SAGE_Q == 0) { cutin "job_sage_kayron",2; - mes "[Kayron Grik]"; 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.")) { + 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?"; @@ -86,9 +90,7 @@ yuno_in02,38,61,5 script Dean of the Academy 743,{ 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."; - close2; - cutin "",255; - end; + break; case 2: mes "[Kayron Grik]"; mes "Sage job change...hmm...an interesting turn of phrase, I must say."; @@ -109,9 +111,7 @@ yuno_in02,38,61,5 script Dean of the Academy 743,{ mes "[Kayron Grik]"; mes "Please visit the Schweicherbil Magic Academy."; mes "A young Sage named Metheus Sylphe will accept your application."; - close2; - cutin "",255; - end; + 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."; @@ -120,34 +120,28 @@ yuno_in02,38,61,5 script Dean of the Academy 743,{ 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 "",255; - end; } + close2; + cutin "job_sage_kayron",255; + end; } - if (SAGE_Q == 15) { + else if (SAGE_Q == 15) { if (countitem(1550) > 0) { if (JobLevel < 40) { set SAGE_Q,0; - cutin "job_sage_kayron",2; - mes "[Kayron Grik]"; 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 "",255; + cutin "job_sage_kayron",255; end; } - if (SkillPoint != 0) { - cutin "job_sage_kayron",2; - mes "[Kayron Grik]"; + if (SkillPoint) { mes "You possess remaining skill points..."; mes "Before you submit your dissertation, please take care this matter first."; close2; - cutin "",255; + cutin "job_sage_kayron",255; end; } - cutin "job_sage_kayron",2; - mes "[Kayron Grik]"; mes "Ho~ So? Did you finally complete your dissertation? Well done."; mes "Let me see."; next; @@ -164,13 +158,9 @@ yuno_in02,38,61,5 script Dean of the Academy 743,{ mes "Although it's roughly written, it's well done for a beginner."; mes "Ah yes...you seem to be proficient in studying."; next; - set SAGE_Q,0; - if(Class == Job_Baby_Mage){ - jobchange Job_Baby_Sage; - } else { - jobchange Job_Sage; - } 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."; @@ -182,37 +172,32 @@ yuno_in02,38,61,5 script Dean of the Academy 743,{ mes "[Kayron Grik]"; mes "Well then...May God fill your path with knowledge."; mes "Study with diligence!!"; - close2; - cutin "",255; - end; } - cutin "job_sage_kayron",2; - mes "[Kayron Grik]"; - 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."; + 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 "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."; - close2; - cutin "",255; - end; + mes "Study diligently, and return when you finish your dissertation."; + mes "Until then, farewell!"; } - mes "[Kayron Grik]"; - 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 742,{ +yuno_in03,154,35,4 script Staff of the Academy#a 742,{ + mes "[Metheus Sylphe]"; if (Upper == 1) { - mes "[Metheus Sylphe]"; mes "Welcome to the"; mes "Schweicherbil Magic"; mes "Academy. W-wait a second..."; @@ -226,9 +211,8 @@ yuno_in03,154,35,4 script Staff of the Academy 742,{ mes "have a good day, adventurer~"; close; } - if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { - if (Class == Job_Baby_Sage || Class == Job_Sage) { - mes "[Metheus Sylphe]"; + 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; @@ -239,10 +223,8 @@ yuno_in03,154,35,4 script Staff of the Academy 742,{ 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."; - close; } - if (Class == Job_Novice) { - mes "[Metheus Sylphe]"; + else if (BaseJob == Job_Novice) { mes "Welcome to the Schweicherbil Magic Academy."; next; mes "[Metheus Sylphe]"; @@ -256,26 +238,25 @@ yuno_in03,154,35,4 script Staff of the Academy 742,{ mes "[Metheus Sylphe]"; mes "If you're interested in the Sage class, please come again."; mes "And have a good day."; - close; } - mes "[Metheus Sylphe]"; - 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."; + 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 "[Metheus Sylphe]"; 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.")) { + 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?"; @@ -320,7 +301,7 @@ yuno_in03,154,35,4 script Staff of the Academy 742,{ 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.")) { + switch(select("Yes, I do.:The fee is much too expensive.:I will come back later.")) { case 1: if (JobLevel < 40) { mes "[Metheus Sylphe]"; @@ -328,7 +309,7 @@ yuno_in03,154,35,4 script Staff of the Academy 742,{ mes "Please go study more and reach Mage job level 40 first."; close; } - if (SkillPoint != 0) { + 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."; @@ -338,7 +319,7 @@ yuno_in03,154,35,4 script Staff of the Academy 742,{ mes "Very well. Let's complete your application form."; mes "Please put your signature here."; next; - select(""); + select(strcharinfo(0)); mes "[Metheus Sylphe]"; mes "Your name is ... " + strcharinfo(0) + ". It's a very nice name."; next; @@ -364,7 +345,7 @@ yuno_in03,154,35,4 script Staff of the Academy 742,{ next; if (select("Pay 70,000 zeny.:Give him Old Magicbook and Necklace of Wisdom.") == 1) { if (Zeny > 69999) { - set Zeny, Zeny - 70000; + set zeny,zeny-70000; mes "[Metheus Sylphe]"; mes "Thank you, your application has been accepted."; mes "Next, you will take an entrance test."; @@ -381,7 +362,7 @@ yuno_in03,154,35,4 script Staff of the Academy 742,{ mes "Please make sure you have at least 70,000 zeny to enroll in classes."; close; } - if ((countitem(1006) > 0) && (countitem(1007) > 0)) { + if (countitem(1006) > 0 && countitem(1007) > 0) { delitem 1006,1; //Old_Magic_Book delitem 1007,1; //Penetration mes "[Metheus Sylphe]"; @@ -419,7 +400,7 @@ yuno_in03,154,35,4 script Staff of the Academy 742,{ mes "Okay, let's complete the application form."; mes "Please put your signature here."; next; - select(""); + select(strcharinfo(0)); mes "[Metheus Sylphe]"; mes "Your name is ... " + strcharinfo(0) + ". It's a very nice name."; next; @@ -447,27 +428,54 @@ yuno_in03,154,35,4 script Staff of the Academy 742,{ mes "Goodbye, and have a good day."; close; } - 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) { + else { 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."; + 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; - set .@sage_m1, rand(1,3); - if (.@sage_m1 == 1) { - set SAGE_Q,1; - setquest 2043; + if (select("Please...is there any way?:Ok, I will come back later.") == 1) { mes "[Metheus Sylphe]"; - mes "Please gather the following items."; - mes "50 ^3355FFFeather of Birds^000000"; - mes "50 ^3355FFFluff^000000"; - mes "25 ^3355FFIron Ore^000000"; + 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; - 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."; + 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]"; @@ -479,54 +487,11 @@ yuno_in03,154,35,4 script Staff of the Academy 742,{ mes "Goodbye, and have a good day."; close; } - if (.@sage_m1 == 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."; - mes "I am sure it's a very reasonable option for you."; - next; - mes "[Metheus Sylphe]"; - mes "Ah yes, before you gather all of those items, if you happen to have 70,000 zeny, I will be more than happy to receive the full payment."; - mes "This is, after all, our original policy."; - next; - mes "[Metheus Sylphe]"; - mes "Or, you can bring me ^3355FFOld Magicbook^000000 and ^3355FFNecklace of Wisdom^000000."; - mes "Goodbye, and have a good day."; - close; - } - 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 you gather all of those items, if you happen to have 70,000 zeny, I will be more than happy to receive the full payment."; - mes "It 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 "Ah yes, take your time..."; 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..."; @@ -540,31 +505,55 @@ yuno_in03,154,35,4 script Staff of the Academy 742,{ close; } } - if (SAGE_Q == 1) { - mes "[Metheus Sylphe]"; + else if (SAGE_Q >= 1 && SAGE_Q <= 3) { mes "Welcome, once again."; next; - if ((countitem(1006) > 0) && (countitem(1007) > 0) && (Zeny > 69999)) { + if (countitem(1006) > 0 && countitem(1007) > 0) { delitem 1006,1; //Old_Magic_Book delitem 1007,1; //Penetration - set Zeny, Zeny - 70000; mes "[Metheus Sylphe]"; mes "Well done. Let me proceed with your application request."; set SAGE_Q,4; next; } - if ((countitem(916) > 49) && (countitem(914) > 49) && (countitem(1002) > 24)) { - if (Zeny > 29999) { - delitem 916,50; //Feather_Of_Birds - delitem 914,50; //Fluff - delitem 1002,25; //Iron_Ore - set Zeny, Zeny - 30000; - 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; } - else { + 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."; @@ -574,192 +563,64 @@ yuno_in03,154,35,4 script Staff of the Academy 742,{ 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 "50 ^3355FFFeather of Birds^000000"; - mes "50 ^3355FFFluff^000000"; - mes "25 ^3355FFIron Ore^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(""); - mes "[Metheus Sylphe]"; - mes "Your name is ... " + strcharinfo(0) + ". It's a very nice name."; - next; - mes "[Metheus Sylphe]"; - mes "Ah yes, everything is in readiness."; - mes "Next, you will take an entrance test."; - set SAGE_Q,4; - next; - mes "[Metheus Sylphe]"; - mes "Please visit Professor Claytos."; - mes "He's in the left room."; - changequest 2043,2041; - close; - } - if (SAGE_Q == 2) { - mes "[Metheus Sylphe]"; - mes "Welcome, once again."; - next; - if ((countitem(1006) > 0) && (countitem(1007) > 0) && (Zeny > 69999)) { - delitem 1006,1; //Old_Magic_Book - delitem 1007,1; //Penetration - set Zeny, Zeny - 70000; - mes "[Metheus Sylphe]"; - mes "Well done. Let me proceed with your application request."; - set SAGE_Q,4; - next; - } - if ((countitem(705) > 49) && (countitem(949) > 49) && (countitem(1024) > 24)) { - if (Zeny > 29999) { - delitem 705,50; //Clover - delitem 949,50; //Feather - delitem 1024,25; //Chinese_Ink - set Zeny, Zeny - 30000; + else { mes "[Metheus Sylphe]"; - mes "Well done. Let me proceed with your application request."; - set SAGE_Q,4; + 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; - } - else { mes "[Metheus Sylphe]"; - mes "I am sorry to say that you are not yet ready."; - mes "Although you brought all of the required items, your funds are not sufficient enough to pay the 30,000 zeny fee."; + 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 "As I told you before, you must bring all those items, together with the 30,000 zeny."; - mes "Please make sure that you bring all of the items and money."; + 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; } } - else { - mes "[Metheus Sylphe]"; - mes "I am sorry to say that it seems you didn't bring all of the required items."; - mes "Let me remind you which items to bring, in case you have forgotten."; - next; - mes "[Metheus Sylphe]"; - mes "Please bring the following items to me."; - mes "50 ^3355FFClover^000000"; - mes "50 ^3355FFFeather^000000"; - mes "25 ^3355FFSquid Ink^000000"; - next; - mes "[Metheus Sylphe]"; - mes "If you bring all of these items, your tuition fee will be 30,000 zeny, rather than the original amount of 70,000 zeny."; - mes "Good luck."; - close; - } mes "[Metheus Sylphe]"; mes "Let's complete the application form."; mes "Please put your signature here."; next; - select(""); + select(strcharinfo(0)); mes "[Metheus Sylphe]"; - mes "Your name is ... " + strcharinfo(0) + ". It sounds very sagacious."; + 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, all is in readiness."; - mes "Next, you will take the entrance test."; + mes "Ah yes, everything is in readiness."; + mes "Next, you will take an entrance test."; set SAGE_Q,4; - next; - mes "[Metheus Sylphe]"; - mes "Please visit Professor Claytos."; - mes "He's in the left room."; - changequest 2044,2041; - close; - } - if (SAGE_Q == 3) { - mes "[Metheus Sylphe]"; - mes "Welcome again."; - next; - if ((countitem(1006) > 0) && (countitem(1007) > 0) && (Zeny > 69999)) { - delitem 1006,1; //Old_Magic_Book - delitem 1007,1; //Penetration - set Zeny, Zeny - 70000; - mes "[Metheus Sylphe]"; - mes "Well done. Let me proceed with your application request."; - set SAGE_Q,4; - next; + if(checkquest(2043) != -1) { + changequest 2043,2041; } - if ((countitem(916) > 49) && (countitem(914) > 49) && (countitem(705) > 49) && (countitem(949) > 49)) { - if (Zeny > 29999) { - delitem 916,50; //Feather_Of_Birds - delitem 914,50; //Fluff - delitem 705,50; //Clover - delitem 949,50; //Feather - set Zeny, Zeny - 30000; - mes "[Metheus Sylphe]"; - mes "Well done. Let me proceed with your application request."; - set SAGE_Q,4; - next; - } - else { - mes "[Metheus Sylphe]"; - mes "I am sorry to say that you are not yet ready."; - mes "Although you brought all of the required items, it seems that you cannot afford to pay the 30,000 zeny tuition fee."; - next; - mes "[Metheus Sylphe]"; - mes "As I told you before, you must bring all of those items, together with the 30,000 zeny."; - mes "Please make sure you bring the items and money as required."; - close; - } + else if(checkquest(2044) != -1) { + changequest 2044,2041; + } + else if(checkquest(2045) != -1) { + changequest 2045,2041; } else { - mes "[Metheus Sylphe]"; - mes "I am sorry to say that it seems you didn't bring all of the required items."; - mes "Let me remind you which items to bring, in case you have forgotten."; - next; - mes "[Metheus Sylphe]"; - mes "Please bring the following items to me."; - 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 all of these items, your tuition fee will be reduced from 70,000 zeny to 30,000 zeny."; - mes "Good luck."; - close; + setquest 2041; } - mes "[Metheus Sylphe]"; - mes "Let's complete the application form."; - mes "Please put your signature here."; - next; - select(""); - mes "[Metheus Sylphe]"; - mes "Your name is ... " + strcharinfo(0) + ". Interesting name."; - next; - mes "[Metheus Sylphe]"; - mes "Yes, everything seems to be in readiness."; - mes "Next, you will take the entrance test."; - set SAGE_Q,4; next; mes "[Metheus Sylphe]"; mes "Please visit Professor Claytos."; mes "He's in the left room."; - changequest 2045,2041; close; } - if (SAGE_Q == 4) { - mes "[Metheus Sylphe]"; + 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; } - if (SAGE_Q == 15) { - mes "[Metheus Sylphe]"; + else if (SAGE_Q == 15) { mes "Oh, are you done with the dissertation?"; mes "Sure, you can submit it to Dean Kayron."; next; @@ -768,16 +629,17 @@ yuno_in03,154,35,4 script Staff of the Academy 742,{ mes "Good luck."; close; } - mes "[Metheus Sylphe]"; - mes "Oh sorry, this is a rather inconvenient time to converse."; - mes "Please come back later. I apologize for troubling you."; - 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 754,{ - if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { - if (Class == Job_Baby_Sage || Class == Job_Sage) { - mes "[Claytos Verdo]"; +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; @@ -788,39 +650,34 @@ yuno_in03,105,177,5 script Written Test Professor 754,{ 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."; - close; } - if (Class == Baby || Class == Job_Novice) { - mes "[Claytos Verdo]"; + 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!!"; - close; } - if (Class == Job_Baby_Wizard || Class == Job_Wizard) { - mes "[Claytos Verdo]"; + 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."; - close; } - mes "[Claytos Verdo]"; - 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."; + 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 "[Claytos Verdo]"; - mes "What, do you want to be a sage?"; + mes "What, do you want to be a Sage?"; mes "I can tell by your eyes, hungering for wisdom."; next; mes "[Claytos Verdo]"; @@ -828,8 +685,7 @@ yuno_in03,105,177,5 script Written Test Professor 754,{ mes "Apply for enrollment, and then come again."; close; } - if (SAGE_Q == 1 || SAGE_Q == 2 || SAGE_Q == 3) { - mes "[Claytos Verdo]"; + 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; @@ -838,8 +694,7 @@ yuno_in03,105,177,5 script Written Test Professor 754,{ mes "Come again when you finish the application."; close; } - if (SAGE_Q == 4) { - mes "[Claytos Verdo]"; + else if (SAGE_Q == 4) { mes "Welcome to the Schweicherbil Magic Academy."; mes "You applied for this test already, didn't you?"; next; @@ -851,343 +706,287 @@ yuno_in03,105,177,5 script Written Test Professor 754,{ 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; - set .@sage_m2,rand(1,3); - set @sage_t,0; 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."; - set SAGE_Q,5; +L_AskQuestions: next; - if (.@sage_m2 == 1) { + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - switch (select("Pavianne:Roxie:Leilah:Curly Sue") == 3) { - set @sage_t,@sage_t + 5; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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?"; + 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; - } + 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; - } - next; - } - if (.@sage_m2 == 2) { + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } - next; - } - else { + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } + 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; - } - next; + if (select("Empelium Gold:Emperium:Emperor:Phracon") == 2) + set .@sage_t,.@sage_t+5; } mes "[Claytos Verdo]"; - mes "Well, you answered all 20 of the questions."; - mes "Okay, let me check your answers and add up your score."; + 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) { + 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; - mes "Excellent! You seem fully qualified to become a Sage!"; next; mes "[Claytos Verdo]"; mes "You have passed the written test."; mes "Go visit Professor Hermes for the practical examination."; - close; } - if ((@sage_t >= 80) && (@sage_t <= 95)) { + 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."; @@ -1195,17 +994,27 @@ yuno_in03,105,177,5 script Written Test Professor 754,{ mes "[Claytos Verdo]"; mes "You passed the written test."; mes "Go visit Professor Hermes for the practical examination."; - close; } - 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 { + 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; } - if (SAGE_Q == 5) { - mes "[Claytos Verdo]"; + else if (SAGE_Q == 5) { mes "Welcome back."; mes "So, did you study harder this time?"; next; @@ -1213,558 +1022,203 @@ yuno_in03,105,177,5 script Written Test Professor 754,{ 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); - set @sage_t,0; + 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; - if (.@sage_m2 == 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; - switch (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."; + 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; - 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."; + 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; - 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."; + 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; - 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."; + 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; - 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?"; + mes "[Hermes Tris]"; + mes "Why don't you consider being a Sage in the future?"; + mes "You will love studying the world."; 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."; + 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; - if (select("Odin:Loki:Thor:Venadin") == 1) { - set @sage_t,@sage_t + 5; - } + 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..."; } - if (.@sage_m2 == 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."; + 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; - if (select("Prontera:Morroc:Al De Baran:Alberta") == 3) { - set @sage_t,@sage_t + 5; - } - mes "3. Choose the closest city to the Maze."; + 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; - 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."; + 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; - if (select("Muka:Drops:Plankton:Penomena") == 4) { - set @sage_t,@sage_t + 5; - } - mes "5. Choose the monster with the different attribute."; + 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; - if (select("Dokebi:Isis:Giearth:Deviruchi") == 3) { - set @sage_t,@sage_t + 5; - } - mes "6. Choose the monster that is different in size."; + 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; - 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; - } - next; - } - else { - 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; - } - next; - } - mes "[Claytos Verdo]"; - 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 scored " + @sage_t + " points."; - if (@sage_t == 100) { - set SAGE_Q,6; - changequest 2041,2046; - mes "Excellent! You must have studed really hard for this test!"; - next; - mes "[Claytos Verdo]"; - mes "Now that you have passed the written test,"; - mes "Go visit Professor Hermes for the practical examination."; - close; - } - if ((@sage_t >= 80) && (@sage_t <= 95)) { - set SAGE_Q,6; - changequest 2041,2046; - mes "Yes, not bad. I assume that you can at least understand what you will learn in the classes."; - next; - mes "[Claytos Verdo]"; - mes "Now that you have passed the written test,"; - mes "Go visit Professor Hermes for the practical examination."; - close; - } - 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; - } - if (SAGE_Q == 6) { - mes "[Claytos Verdo]"; - 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; - } - if (SAGE_Q == 15) { - mes "[Claytos Verdo]"; - 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; - } - mes "[Claytos Verdo]"; - mes "I'm too busy to take care of written tests."; - mes "Come back later, and I'll spare some time to talk."; - close; -} - -yuno_in03,169,180,3 script P. Examination Professor 755,{ - if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { - if (Class == Job_Baby_sage || Class == Job_Sage) { - mes "[Hermes Tris]"; - 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."; - close; - } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Hermes Tris]"; - mes "Heh heh, now ain't that a cute little Novice?"; - next; - mes "[Hermes Tris]"; - mes "In this continent of Rune-Midgard, 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."; - close; - } - mes "[Hermes Tris]"; - 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 "[Hermes Tris]"; - 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; - } - if (SAGE_Q == 4 || SAGE_Q == 5) { - mes "[Hermes Tris]"; - 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; - } - if (SAGE_Q == 6) { - mes "[Hermes Tris]"; - 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; - } - if (SAGE_Q == 7) { - mes "[Hermes Tris]"; - 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) { - 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; - } - if (SAGE_Q == 8) { - mes "[Hermes Tris]"; - 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; - set .@sage_m3, rand(1,3); - if (.@sage_m3 == 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; - } - if (.@sage_m3 == 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."; + 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; } - 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; } - if (SAGE_Q == 9) { - mes "[Hermes Tris]"; + else if (SAGE_Q == 9) { mes "Huh? Didn't you understand what I said?"; mes "I told you to study Yggdrasil."; next; @@ -1772,8 +1226,7 @@ yuno_in03,169,180,3 script P. Examination Professor 755,{ mes "Go ask for help from Professor Saphien. He's in the Lecture Room."; close; } - if (SAGE_Q == 11) { - mes "[Hermes Tris]"; + else if (SAGE_Q == 11) { mes "Huh? Didn't you understand what I said?"; mes "I told you to study monsters."; next; @@ -1781,8 +1234,7 @@ yuno_in03,169,180,3 script P. Examination Professor 755,{ mes "Go ask for help from Professor Lucius. He's in the Monster Museum."; close; } - if (SAGE_Q == 13) { - mes "[Hermes Tris]"; + 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; @@ -1790,8 +1242,7 @@ yuno_in03,169,180,3 script P. Examination Professor 755,{ mes "Go ask a help from Professor Aebecee. He's in the Somatology Laboratory."; close; } - if (SAGE_Q == 15) { - mes "[Hermes Tris]"; + 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; @@ -1799,16 +1250,17 @@ yuno_in03,169,180,3 script P. Examination Professor 755,{ mes "But then again, maybe there is. Go see Dean Kayron."; close; } - mes "[Hermes Tris]"; - 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; + 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 109,{ - if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { - if (Class == Job_Baby_Sage || Class == Job_Sage) { - mes "[Saphien Layless]"; +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; @@ -1819,10 +1271,8 @@ yuno_in03,62,176,2 script History Professor 109,{ 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."; - close; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Saphien Layless]"; + else if (BaseJob == Job_Novice) { mes "A Novice? Why is a novice here?"; next; mes "[Saphien Layless]"; @@ -1832,23 +1282,22 @@ yuno_in03,62,176,2 script History Professor 109,{ 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..."; - close; } - mes "[Saphien Layless]"; - 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..."; + 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 "[Saphien Layless]"; 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; @@ -1856,13 +1305,13 @@ yuno_in03,62,176,2 script History Professor 109,{ 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.")) { + 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.")) { + 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."; @@ -1882,13 +1331,15 @@ yuno_in03,62,176,2 script History Professor 109,{ 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; } - next; mes "[Saphien Layless]"; mes "Before we start the class, I'll need some reserve items."; mes "It's for better understanding of Yggdrasil."; @@ -1904,140 +1355,140 @@ yuno_in03,62,176,2 script History Professor 109,{ mes "Please come back."; close; } - 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; - } - 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; - } - if (countitem(610) > 0) { + 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 "Hmm, did you prepare for class? Let's see..."; - mes "Yggdrasil Leaf..."; + 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 "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) + "."; + 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 "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."; + mes "Utgard is where all the titans live."; next; - } - else { mes "[Saphien Layless]"; - mes "Huh? You're not ready for this class yet!"; - mes "I told you to bring me any items related to Yggdrasil."; + mes "Midgard is where all human beings live."; 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-Midgard 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-Midgard 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; + 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; + } } - if (SAGE_Q == 10) { - set @w_point,0; - if ((countitem(916) > 0) && (countitem(919) > 0) && (countitem(1019) > 0) && (countitem(1024) > 0) && (countitem(713) > 0)) { + 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 "[Saphien Layless]"; mes "Now, you're writing your thesis."; mes "I will assist you with your writing."; next; @@ -2049,78 +1500,78 @@ yuno_in03,62,176,2 script History Professor 109,{ 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.")) { + 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; + 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; + set .@w_point,.@w_point+1; mes "A giant turtle and elephants."; break; case 4: - set @w_point,@w_point + 1; + 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,")) { + 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; + set .@w_point,.@w_point+1; mes "Mt.Mjolnir where spiders live,"; break; case 2: - set @w_point,@w_point + 1; + 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; + 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,")) { + 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,"; + mes "Midgard, where humans live in,"; break; case 2: - set @w_point,@w_point + 1; + set .@w_point,.@w_point+1; mes "Rune-Midgarts, where humans live,"; break; case 3: - set @w_point,@w_point + 1; + set .@w_point,.@w_point+1; mes "Tritonia, where mermaids live,"; break; case 4: - set @w_point,@w_point + 1; + set .@w_point,.@w_point+1; mes "Morroc, the desert city,"; break; } - switch (select("Abguard, where gods live.:Asgard, where gods live.:Schwaltzvalt, where citizens live.:Prontera, the capital of Rune-Midgarts.")) { + 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; + 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 "Schwaltzvalt, where citizens live."; + set .@w_point,.@w_point+1; + mes "Schwarzwald, where citizens live."; break; case 4: - set @w_point,@w_point + 1; + 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) { + 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!"; @@ -2132,35 +1583,35 @@ yuno_in03,62,176,2 script History Professor 109,{ } 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.")) { + 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; + set .@w_point,.@w_point+1; mes "A fabulous Mastella tree."; break; case 3: - set @w_point,@w_point + 1; + set .@w_point,.@w_point+1; mes "A giant willow."; break; case 4: - set @w_point,@w_point + 1; + 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("Schwaltzvalt, Jotunnheim, Niflheim.:Midgard, Jotunnheim, Naffleheim.:Asgard, Jotunnheim, Naffleheim.:Asgard, Jotunnheim, Niflheim.")) { + switch(select("Schwarzwald, Jotunnheim, Niflheim.:Midgard, Jotunnheim, Naffleheim.:Asgard, Jotunnheim, Naffleheim.:Asgard, Jotunnheim, Niflheim.")) { case 1: - set @w_point,@w_point + 1; - mes "Schwaltzvalt, Jotunnheim, Niflheim."; + set .@w_point,.@w_point+1; + mes "Schwarzwald, Jotunnheim, Niflheim."; break; case 2: - set @w_point,@w_point + 1; + set .@w_point,.@w_point+1; mes "Midgard, Jotunnheim, Naffleheim."; break; case 3: - set @w_point,@w_point + 1; + set .@w_point,.@w_point+1; mes "Asgard, Jotunnheim, Naffleheim."; break; case 4: @@ -2168,25 +1619,25 @@ yuno_in03,62,176,2 script History Professor 109,{ 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.")) { + 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; + set .@w_point,.@w_point+1; mes "can be cured from all the abnormal statuses."; break; case 2: - set @w_point,@w_point + 1; + 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; + set .@w_point,.@w_point+1; mes "can be cured from Silence, Curse and Chaos."; break; } next; - if (@w_point > 0) { + 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!"; @@ -2214,24 +1665,24 @@ yuno_in03,62,176,2 script History Professor 109,{ mes "Whether you will pass the test or not is his decision."; close; } - mes "[Saphien Layless]"; - 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 { + 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; + } } - if (SAGE_Q == 15) { - mes "[Saphien Layless]"; + 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; @@ -2240,17 +1691,17 @@ yuno_in03,62,176,2 script History Professor 109,{ mes "So please move on."; close; } - mes "[Saphien Layless]"; - 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; + 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 755,{ - - if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { - if (Class == Job_Baby_Sage || Class == Job_Sage) { - mes "[Lucius Celsus]"; +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; @@ -2261,32 +1712,29 @@ yuno_in03,32,102,1 script Biology Professor 755,{ 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."; - close; } - if (Class == Job_Baby ||Class == Job_Novice) { - mes "[Lucius Celsus]"; + 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."; - close; } - mes "[Lucius Celsus]"; - 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."; + 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 "[Lucius Celsus]"; 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; @@ -2294,7 +1742,7 @@ yuno_in03,32,102,1 script Biology Professor 755,{ 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(""); + 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?"; @@ -2303,361 +1751,70 @@ yuno_in03,32,102,1 script Biology Professor 755,{ mes "As you know, your topic of study is monsters."; mes "How many times have you fought with monsters?"; next; - switch (select("Well, I can't even count.:A few times, I guess...")) { - case 1: + 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."; - break; - case 2: - 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."; - break; } + 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); + 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) { + 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."; - next; - mes "[Lucius Celsus]"; - mes "I will proceed with the class when you bring those to me."; - mes "Have fun."; - close; - } - 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."; - next; - mes "[Lucius Celsus]"; - mes "I will proceed with the class when you bring those to me."; - mes "Have fun."; - close; - } - set SAGE_Q2,3; - changequest 2048,2055; - 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; - } - if (SAGE_Q2 == 1) { - set @sage_m4,rand(1,3); - if ((countitem(962) > 4) && (countitem(1052) > 4) && (countitem(1023) > 4)) { - mes "[Lucius Celsus]"; - 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; - if (@sage_m4 == 1) { - set SAGE_Q2,4; - changequest 2053,2056; - mes "[Lucius Celsus]"; - mes "Bring the following items this time."; - mes "5 ^3355FFCobweb^000000,"; - mes "5 ^3355FFShell^000000,"; - mes "5 ^3355FFInsect Feeler^000000."; - next; - mes "[Lucius Celsus]"; - mes "I will proceed with the class when you bring those to me."; - mes "Have fun."; - close; - } - if (@sage_m4 == 2) { - set SAGE_Q2,5; - changequest 2053,2057; - mes "[Lucius Celsus]"; - mes "Bring the following items this time."; - mes "5 ^3355FFHorn^000000,"; - mes "5 ^3355FFSnail's Shell^000000,"; - mes "5 ^3355FFMoth Dust^000000."; - next; - mes "[Lucius Celsus]"; - mes "I will proceed with the class when you bring those to me."; - mes "Have fun."; - close; - } - if (@sage_m4 == 3) { - changequest 2053,2058; - set SAGE_Q2,6; - mes "[Lucius Celsus]"; - mes "Bring the following items this time."; - mes "5 ^3355FFMantis Scythe^000000,"; - mes "5 ^3355FFWorm Peeling^000000,"; - mes "5 ^3355FFRainbow Shell^000000."; - next; - mes "[Lucius Celsus]"; - mes "I will proceed with the class when you bring those to me."; - mes "Have fun."; - close; - } - set SAGE_Q2,7; - changequest 2053,2059; - mes "[Lucius Celsus]"; - mes "Bring the following items this time."; - 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 "[Lucius Celsus]"; - mes "What, you already forgot what I told you just a minute before?"; - mes "What a nuisance... listen carefully this time."; - next; - mes "[Lucius Celsus]"; - mes "5 ^3355FFTentacle^000000,"; - mes "5 ^3355FFSingle Cell^000000,"; - mes "5 ^3355FFFish Tail^000000."; - close; - } - if (SAGE_Q2 == 2) { - set @sage_m4,rand(1,3); - if ((countitem(960) > 4) && (countitem(966) > 4) && (countitem(950) > 4)) { - mes "[Lucius Celsus]"; - mes "You showed great effort to gather all of those items."; - 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 the similarity is?"; - next; - switch (select("They possess water property.:They are all 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 attributed with the water property."; - break; - case 3: - set @sage_m4,4; - mes "[Lucius Celsus]"; - mes "...I didn't know Clams are aggressive nowadays?"; - mes "Or do Vadons and Crabs threaten you?"; - next; - mes "[Lucius Celsus]"; - mes "All the monsters from which you obtained these items are not aggressive... get a grip."; - mes "They are all fishes and possess the water property."; - break; - case 4: - set @sage_m4, 4; - mes "[Lucius Celsus]"; - mes "What are you here for?! You are here to study about specific monsters, you dolt!"; - mes "*Sigh*...they are all fishes and possess water property."; - break; - } - next; - mes "[Lucius Celsus]"; - mes "Not all fish class monsters possess the water property, but most of them do."; - mes "Which kind of magic works 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 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 dunce!"; - mes "Most fishes possess water property, therefore, they are weak to wind property magic spells. Don't you see?"; - break; - case 3: - mes "[Lucius Celsus]"; - mes "Yeah, the 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 "What a moron! This question asks you to choose a property that can counter the water property! Don't you get it?"; - mes "Logically, any magic spell that possesses water property cannot beat water property 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, from here on, I'll lecture on insects."; - mes "Let's see... hmm... hmm..."; - next; - if (@sage_m4 == 1) { - set SAGE_Q2,4; - changequest 2054,2056; - mes "[Lucius Celsus]"; - mes "Bring following the items this time."; - mes "5 ^3355FFCobweb^000000,"; - mes "5 ^3355FFShell^000000,"; - mes "5 ^3355FFInsect Feeler^000000."; - next; - mes "[Lucius Celsus]"; - mes "I will proceed with the class when you bring those to me."; - mes "Have fun."; - close; - } - if (@sage_m4 == 2) { - set SAGE_Q2,5; - changequest 2054,2057; - mes "[Lucius Celsus]"; - mes "Bring the following items this time."; - mes "5 ^3355FFHorn^000000,"; - mes "5 ^3355FFSnail's Shell^000000,"; - mes "5 ^3355FFMoth Dust^000000."; - next; - mes "[Lucius Celsus]"; - mes "I will proceed with the class when you bring those to me."; - mes "Have fun."; - close; - } - if (@sage_m4 == 3) { - set SAGE_Q2,6; - changequest 2054,2058; - mes "[Lucius Celsus]"; - mes "Bring the following items this time."; - mes "5 ^3355FFMantis Scythe^000000,"; - mes "5 ^3355FFWorm Peeling^000000,"; - mes "5 ^3355FFRainbow Shell^000000."; - next; - mes "[Lucius Celsus]"; - mes "I will proceed with the class when you bring those to me."; - mes "Have fun."; - close; - } - set SAGE_Q2,7; - changequest 2054,2059; + 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 "Bring the following items this time."; - mes "5 ^3355FFCobweb^000000,"; - mes "5 ^3355FFMantis Scythe^000000,"; - mes "5 ^3355FFSolid Shell^000000."; - next; + 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 "I will proceed with the class when you bring those to me."; - mes "Have fun."; - close; + mes "Go bring following items to me."; + mes "5 ^3355FFTendon^000000,"; + mes "5 ^3355FFNipper^000000,"; + mes "5 ^3355FFSharp Scale^000000."; } - mes "[Lucius Celsus]"; - mes "What, you already forgot what I told you just a minute before?"; - mes "What a pain... listen carefully this time."; next; mes "[Lucius Celsus]"; - mes "5 ^3355FFNipper^000000,"; - mes "5 ^3355FFClam Flesh^000000,"; - mes "5 ^3355FFHeart of Mermaid^000000."; + mes "I will proceed with the class when you bring those to me."; + mes "Have fun."; close; } - if (SAGE_Q2 == 3) { - set @sage_m4,rand(1,3); - if ((countitem(1050) > 4) && (countitem(960) > 4) && (countitem(963) > 4)) { - mes "[Lucius Celsus]"; - mes "You showed great effort to gather all of those items."; - mes "Then again, I am not sure if you gathered them by yourself or bought them from shops..."; + 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 what the similarity is?"; + 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 all fishes.:They are aggressive.:They are monsters.")) { + 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."; @@ -2665,309 +1822,161 @@ yuno_in03,32,102,1 script Biology Professor 755,{ break; case 2: mes "[Lucius Celsus]"; - mes "Yes, they possess water and are fish class monsters."; + 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; + set sage_m4,4; mes "[Lucius Celsus]"; - mes "...I didn't know Clams are aggressive nowadays?"; - mes "Or do Vadons and Crabs threaten you?"; + 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 got these items are not agressive... get a grip."; + 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; + set sage_m4,4; mes "[Lucius Celsus]"; - mes "What? What are you here for? You are here to study about specific monsters, you moron!"; - mes "*Sigh*...they are all fishes and possess water property."; + 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 "All fish class monsters do not possess the water property, but most of them do."; - mes "Which kind of magic works best on most fish class monsters?"; + 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.")) { + switch(select("Lightening Bolt.:Fire Bolt.:Thunder Storm.:Frost Diver.")) { case 1: mes "[Lucius Celsus]"; - mes "That's right, Lightening Bolt, which possesses wind property, works best on water property monsters."; + 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; + set sage_m4,4; mes "[Lucius Celsus]"; - mes "What? Fire Bolt?! Fire cannot beat water, you moron!"; - mes "Most fish possess the water property. Therefore, they are weak to wind property magic spells. Don't you see?"; + 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 poor chosen spot."; + mes "However, you will be in trouble if you use the spell in a poorly chosen spot."; break; case 4: - set @sage_m4,4; + set sage_m4,4; mes "[Lucius Celsus]"; - mes "What a doofus! This question asks you to choose a property that is can counter the water property. Don't you get it?"; - mes "Any magic spell possessing the water property cannot beat the water property!"; + 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, "; - mes "they have a different property than the others. You better be careful with them."; + 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 "Ok, let's learn abou the insects from now on."; + mes "Okay, let me teach you about insect monsters."; mes "Let's see... hmm... hmm..."; next; - if (@sage_m4 == 1) { + switch(rand(1,4)) { + case 1: set SAGE_Q2,4; - changequest 2055,2056; - mes "[Lucius Celsus]"; - mes "Bring the following items this time."; + 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."; - next; - mes "[Lucius Celsus]"; - mes "I will proceed with the class when you bring those to me."; - mes "Have fun."; - close; - } - if (@sage_m4 == 2) { + break; + case 2: set SAGE_Q2,5; - changequest 2055,2057; - mes "[Lucius Celsus]"; - mes "Bring the following items this time."; + 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."; - next; - mes "[Lucius Celsus]"; - mes "I will proceed with the class when you bring those to me."; - mes "Have fun."; - close; - } - if (@sage_m4 == 3) { + break; + case 3: set SAGE_Q2,6; - changequest 2055,2058; - mes "[Lucius Celsus]"; - mes "Bring the following items this time."; + 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."; - next; - mes "[Lucius Celsus]"; - mes "I will proceed with the class when you bring those to me."; - mes "Have fun."; - close; + 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."; } - set SAGE_Q2,7; - changequest 2055,2059; - mes "[Lucius Celsus]"; - mes "Bring the following items this time."; - mes "5 ^3355FFCobweb^000000,"; - mes "5 ^3355FFMantis Scythe^000000,"; - mes "5 ^3355FFSolid Shell^000000."; - next; - mes "[Lucius Celsus]"; - mes "I will proceed the class when you bring those to me."; - mes "Have fun."; - close; - } - mes "[Lucius Celsus]"; - mes "What, you already forgot what I told you just a minute before?"; - mes "What a nuisance... listen carefully this time."; - next; - mes "[Lucius Celsus]"; - mes "5 ^3355FFTendon^000000,"; - mes "5 ^3355FFNipper^000000,"; - mes "5 ^3355FFSharp Scale^000000."; - close; - } - if (SAGE_Q2 == 4) { - if ((countitem(1025) > 4) && (countitem(935) > 4) && (countitem(928) > 4)) { - mes "[Lucius Celsus]"; - 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; - changequest 2056,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 "[Lucius Celsus]"; - mes "What, you already forgot what I told you?"; - mes "What a nuisance...listen carefully this time."; - next; - mes "[Lucius Celsus]"; - mes "5 ^3355FFCobweb^000000,"; - mes "5 ^3355FFShell^000000,"; - mes "5 ^3355FFInsect Feeler^000000."; - close; - } - if (SAGE_Q2 == 5) { - if ((countitem(947) > 4) && (countitem(946) > 4) && (countitem(1057) > 4)) { - mes "[Lucius Celsus]"; - 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 Hiding or Cloaking 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; - changequest 2057,2051; - mes "[Lucius Celsus]"; - mes "I will help you in writing the thesis when you bring all those items."; - mes "You're almost there. Isn't learning easy?"; - close; - } - mes "[Lucius Celsus]"; - mes "What, you already forgot what I told you?"; - mes "What a nuisance...listen carefully this time."; - next; - mes "[Lucius Celsus]"; - mes "5 ^3355FFHorn^000000,"; - mes "5 ^3355FFSnail's Shell^000000,"; - mes "5 ^3355FFMoth Dust^000000."; - close; - } - if (SAGE_Q2 == 6) { - if ((countitem(1031) > 4) && (countitem(955) > 4) && (countitem(1013) > 4)) { - mes "[Lucius Celsus]"; - 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 Hiding or Cloaking 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; - changequest 2058,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?"; + mes "[Lucius Celsus]"; + mes "I will proceed with the class when you bring those to me."; + mes "Have fun."; close; } - mes "[Lucius Celsus]"; - mes "What, you already forgot what I told you?"; - mes "What a nuisance...listen carefully this time."; + 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 ^3355FFMantis Scythe^000000,"; - mes "5 ^3355FFWorm Peeling^000000,"; - mes "5 ^3355FFRainbow Shell^000000."; + mes "5 ^3355FF"+getitemname(.@items[0])+"^000000,"; + mes "5 ^3355FF"+getitemname(.@items[1])+"^000000,"; + mes "5 ^3355FF"+getitemname(.@items[2])+"^000000,"; close; } - if (SAGE_Q2 == 7) { - if ((countitem(1025) > 4) && (countitem(1031) > 4) && (countitem(943) > 4)) { - mes "[Lucius Celsus]"; - mes "Well done. So...did you watch insects while gathering those items?"; + 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 "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 Hiding or Cloaking will not work on insect monsters."; + 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."; @@ -2984,45 +1993,53 @@ yuno_in03,32,102,1 script Biology Professor 755,{ next; mes "[Lucius Celsus]"; mes "That's the end of my class...it's time for you to write a thesis."; - mes "Bring me the following items for writing the 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 within."; + mes "^3355FF1 Empty Bottle^000000 which will be used for holding squid ink."; next; set SAGE_Q2,0; set SAGE_Q,12; - changequest 2059,2051; + 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 "[Lucius Celsus]"; mes "What, you already forgot what I told you?"; mes "What a nuisance...listen carefully this time."; next; mes "[Lucius Celsus]"; - mes "5 ^3355FFCobweb^000000,"; - mes "5 ^3355FFMantis Scythe^000000,"; - mes "5 ^3355FFSolid Shell^000000."; + mes "5 ^3355FF"+getitemname(.@items[0])+"^000000,"; + mes "5 ^3355FF"+getitemname(.@items[1])+"^000000,"; + mes "5 ^3355FF"+getitemname(.@items[2])+"^000000,"; close; } - mes "[Lucius Celsus]"; mes "Zzz...Zzz..."; close; } - if (SAGE_Q == 12) { - if ((countitem(916) > 0) && (countitem(919) > 0) && (countitem(1019) > 0) && (countitem(1024) > 0) && (countitem(713) > 0)) { + 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 "[Lucius Celsus]"; mes "Hmph. Lucky brat brought all of the items."; mes "Well, I don't expect you to write an outrageously great thesis though..."; next; @@ -3071,24 +2088,24 @@ yuno_in03,32,102,1 script Biology Professor 755,{ mes "Then, he will let you graduate from the academy. See you."; close; } - mes "[Lucius Celsus]"; - 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 { + 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; + } } - if (SAGE_Q == 15) { - mes "[Lucius Celsus]"; + 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; @@ -3097,20 +2114,21 @@ yuno_in03,32,102,1 script Biology Professor 755,{ mes "Hahaha, did you say no? Alright then, fine. Scram."; close; } - mes "[Lucius Celsus]"; - 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; + 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 120,{ - if ((Class != Job_Baby_Mage) && (Class != Job_Mage)) { - if (Class == Job_Baby_Sage || Class == Job_Sage) { - mes "[Aebecee George]"; +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; @@ -3121,10 +2139,8 @@ yuno_in03,244,31,3 script Physics Professor 120,{ 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?"; - close; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Aebecee George]"; + else if (BaseJob == Job_Novice) { mes "Well, aren't you the cutest little Novice~"; next; mes "[Aebecee George]"; @@ -3134,23 +2150,22 @@ yuno_in03,244,31,3 script Physics Professor 120,{ mes "[Aebecee George]"; mes "Oh gosh...Sorry, I thought I had some..."; mes "But I've got other treats, you catch my drift?"; - close; } - mes "[Aebecee George]"; - 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~!"; + 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 "[Aebecee George]"; mes "Hello~? Nice to meet you, tee hee."; mes "Did you come to see me? Oh, you're a student!"; next; @@ -3173,9 +2188,8 @@ yuno_in03,244,31,3 script Physics Professor 120,{ mes "We'll start the class when you bring me those stones~ Tee hee~"; close; } - if (SAGE_Q2 == 1) { + else if (SAGE_Q2 == 1) { if (countitem(7049) > 29) { - mes "[Aebecee George]"; 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; @@ -3197,14 +2211,14 @@ yuno_in03,244,31,3 script Physics Professor 120,{ 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; - set SAGE_Q2,2; getitem 991,1; //Crystal_Blue getitem 993,1; //Yellow_Live getitem 992,1; //Wind_Of_Verdure - changequest 2060,2061; 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~"; @@ -3217,18 +2231,18 @@ yuno_in03,244,31,3 script Physics Professor 120,{ mes "I am looking forward to seeing you again, tee hee~"; close; } - mes "[Aebecee George]"; - 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; - } - if (SAGE_Q2 == 2) { - if ((countitem(1754) > 49) && (countitem(1756) > 49) && (countitem(1755) > 49)) { + 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; @@ -3266,20 +2280,20 @@ yuno_in03,244,31,3 script Physics Professor 120,{ changequest 2061,2062; close; } - mes "[Aebecee George]"; - 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 { + 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; + } } - if (SAGE_Q2 == 3) { + else if (SAGE_Q2 == 3) { if (countitem(523) > 0) { - mes "[Aebecee George]"; mes "Oh~ how sweet! You brought some Holy Water~ thanks honey~"; mes "Oh righty, we should start class. Tee hee~"; next; @@ -3327,28 +2341,28 @@ yuno_in03,244,31,3 script Physics Professor 120,{ mes "So get on out there cowboy and hurry back~ Tee hee~"; close; } - mes "[Aebecee George]"; - 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."; + 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; } - mes "[Aebecee George]"; - mes "So...do you have the time? I'm kidding, girlfriend!"; - close; } - if (SAGE_Q == 14) { - set @w_point,0; - if ((countitem(916) > 0) && (countitem(919) > 0) && (countitem(1019) > 0) && (countitem(1024) > 0) && (countitem(713) > 0)) { + 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 "[Aebecee George]"; 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; @@ -3359,58 +2373,118 @@ yuno_in03,244,31,3 script Physics Professor 120,{ 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; + 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; + 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("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; + 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("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("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("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("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("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; + 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 ".........."; @@ -3431,24 +2505,24 @@ yuno_in03,244,31,3 script Physics Professor 120,{ mes "You're almost there~ tee hee."; close; } - mes "[Aebecee George]"; - 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 { + 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; + } } - if (SAGE_Q == 15) { - mes "[Aebecee George]"; + 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; @@ -3457,16 +2531,17 @@ yuno_in03,244,31,3 script Physics Professor 120,{ mes "Please hurry up, tee hee."; close; } - mes "[Aebecee George]"; - 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; + 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,{ @@ -3484,7 +2559,7 @@ job_sage,50,165,4 script Test Helper#talk 700,{ close; } -job_sage,50,165,2 script Waiting Room#sg 700,{ +job_sage,50,165,4 script Waiting Room#sg 700,{ end; OnInit: @@ -3504,15 +2579,14 @@ OnEnable: end; } -job_sage,1,2,1 script Arena#1 66,{ - 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"; @@ -3533,15 +2607,12 @@ OnEnable: end; OnReset: - killmonster "job_sage","Arena#1::OnMyMobDead"; - end; - -OnDisable: - disablenpc "Arena#1"; + killmonsterall "job_sage"; end; OnMyMobDead: - if (mobcount ("job_sage","Arena#1::OnMyMobDead") < 1) { + set .MyMobs,.MyMobs-1; + if (.MyMobs < 1) { mapannounce "job_sage"," " + strcharinfo(0) + ", successfully defeat all the monsters.",bc_map; donpcevent "Arena#2::OnEnable"; stopnpctimer; @@ -3590,7 +2661,7 @@ OnTimer183000: end; OnTimer184000: - donpcevent "Arena#Fail::OnEnable"; + areawarp "job_sage",100,82,131,113,"yuno",324,258; end; OnTimer185000: @@ -3598,15 +2669,13 @@ OnTimer185000: end; OnTimer186000: - donpcevent "Arena#Fail::OnDisable"; - donpcevent "Arena#1::OnDisable"; + disablenpc "Arena#1"; donpcevent "Waiting Room#sg::OnEnable"; + stopnpctimer; end; } -job_sage,1,3,1 script Arena#2 66,{ - end; - +- script Arena#2 -1,{ OnInit: disablenpc "Arena#2"; end; @@ -3614,7 +2683,8 @@ OnInit: OnEnable: enablenpc "Arena#2"; donpcevent "Arena#1::OnReset"; - donpcevent "Arena#1::OnDisable"; + 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"; @@ -3643,15 +2713,12 @@ OnEnable: end; OnReset: - killmonster "job_sage","Arena#2::OnMyMobDead"; - end; - -OnDisable: - disablenpc "Arena#2"; + killmonsterall "job_sage"; end; OnMyMobDead: - if (mobcount ("job_sage","Arena#2::OnMyMobDead") < 1) { + 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"; @@ -3697,7 +2764,7 @@ OnTimer183000: end; OnTimer184000: - donpcevent "Arena#Fail::OnEnable"; + areawarp "job_sage",100,82,131,113,"yuno",324,258; end; OnTimer185000: @@ -3705,15 +2772,13 @@ OnTimer185000: end; OnTimer186000: - donpcevent "Arena#Fail::OnDisable"; - donpcevent "Arena#2::OnDisable"; + disablenpc "Arena#2"; donpcevent "Waiting Room#sg::OnEnable"; + stopnpctimer; end; } -job_sage,1,4,1 script Arena#Doorkeeper 66,{ - end; - +- script Arena#Doorkeeper -1,{ OnInit: disablenpc "Arena#Doorkeeper"; end; @@ -3721,28 +2786,28 @@ OnInit: OnEnable: enablenpc "Arena#Doorkeeper"; donpcevent "Arena#2::OnReset"; - donpcevent "Arena#2::OnDisable"; + disablenpc "Arena#2"; + set .MyMobs,1; monster "job_sage",116,97,"Academic Probation",1179,1,"Arena#Doorkeeper::OnMyMobDead"; initnpctimer; end; OnReset: - donpcevent "Arena#3::OnReset"; - killmonster "job_sage","Arena#Doorkeeper::OnMyMobDead"; + killmonsterall "job_sage"; end; OnDisable: - donpcevent "Arena#3::OnDisable"; + disablenpc "Arena#3"; disablenpc "Arena#Doorkeeper"; end; OnMyMobDead: - if (mobcount ("job_sage","Arena#Doorkeeper::OnMyMobDead") < 1) { + set .MyMobs,.MyMobs-1; + if (.MyMobs < 1) { mapannounce "job_sage","Congratulations, " + strcharinfo(0) + ". You passed the test.",bc_map; set SAGE_Q,8; - donpcevent "Arena#Doorkeeper::OnReset"; - donpcevent "Arena#Doorkeeper::OnDisable"; donpcevent "Test Helper#sg::OnEnable"; + disablenpc "Arena#Doorkeeper"; stopnpctimer; } end; @@ -3765,7 +2830,7 @@ OnTimer60000: end; OnTimer61000: - donpcevent "Arena#Fail::OnEnable"; + areawarp "job_sage",100,82,131,113,"yuno",324,258; end; OnTimer62000: @@ -3773,35 +2838,13 @@ OnTimer62000: end; OnTimer63000: - donpcevent "Arena#Fail::OnDisable"; - donpcevent "Arena#Doorkeeper::OnDisable"; + disablenpc "Arena#Doorkeeper"; donpcevent "Waiting Room#sg::OnEnable"; + stopnpctimer; end; } -job_sage,116,97,0 script Arena#Fail 139,16,16,{ - -OnTouch: - mapannounce "job_sage"," " + strcharinfo(0) + " has failed the test.",bc_map; - warp "yuno",324,258; - end; - -OnInit: - disablenpc "Arena#Fail"; - end; - -OnEnable: - enablenpc "Arena#Fail"; - end; - -OnDisable: - disablenpc "Arena#Fail"; - end; -} - -job_sage,1,4,1 script Arena#3 66,{ - end; - +- script Arena#3 -1,{ OnInit: disablenpc "Arena#3"; end; @@ -3813,37 +2856,12 @@ OnEnable: monster "job_sage",124,89,"Cheating 4 times",1185,1; end; -OnReset: - killmonster "job_sage","Arena#3::OnMyMobDead"; - end; - -OnDisable: - disablenpc "Arena#3"; - end; -} - -job_sage,116,97,0 script SageSucceeded 139,16,16,{ - -OnTouch: - warp "yuno_in03",163,180; - end; - -OnInit: - disablenpc "SageSucceeded"; - end; - -OnEnable: - enablenpc "SageSucceeded"; - end; - OnDisable: - disablenpc "SageSucceeded"; + killmonsterall "job_sage"; end; } -job_sage,1,6,1 script Test Helper#sg 66,{ - end; - +- script Test Helper#sg -1,{ OnInit: disablenpc "Test Helper#sg"; end; @@ -3852,10 +2870,6 @@ OnEnable: initnpctimer; end; -OnDisable: - disablenpc "Test Helper#sg"; - 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; @@ -3865,11 +2879,7 @@ OnTimer4000: end; OnTimer5000: - donpcevent "SageSucceeded::OnEnable"; - end; - -OnTimer6000: - donpcevent "SageSucceeded::OnDisable"; + areawarp "job_sage",100,82,131,113,"yuno_in03",163,180; end; OnTimer7000: @@ -3877,8 +2887,28 @@ OnTimer7000: end; OnTimer9000: - donpcevent "Test Helper#sg::OnDisable"; + disablenpc "Test Helper#sg"; donpcevent "Waiting Room#sg::OnEnable"; stopnpctimer; end; -} \ No newline at end of file +} + +//============================================================ +// 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/jobs/2-2a/Champion.txt b/npc/jobs/2-2a/Champion.txt index 1e0df577b..28cd5a9e0 100644 --- a/npc/jobs/2-2a/Champion.txt +++ b/npc/jobs/2-2a/Champion.txt @@ -38,7 +38,7 @@ valkyrie,53,42,3 script Champion#Valkyrie 52,{ mes "so much in life..."; close; } - if ((ADVJOB == Job_Champion) && (Class == Job_Acolyte_High) && (JobLevel > 39)) { + else if (ADVJOB == Job_Champion && Class == Job_Acolyte_High && JobLevel > 39) { mes "[Champion]"; mes "It's time."; mes "Time for great heroes"; @@ -84,4 +84,4 @@ valkyrie,53,42,3 script Champion#Valkyrie 52,{ mes "while you are here."; mes "Honor to the warriors!"; close; -} \ No newline at end of file +} diff --git a/npc/jobs/2-2a/Clown.txt b/npc/jobs/2-2a/Clown.txt index b9c0d90b9..656557647 100644 --- a/npc/jobs/2-2a/Clown.txt +++ b/npc/jobs/2-2a/Clown.txt @@ -32,7 +32,7 @@ valkyrie,53,54,3 script Minstrel#Valkyrie 741,{ mes "Sha la la la la~"; close; } - if ((ADVJOB == Job_Clown) &&( Class == Job_Archer_High) && (JobLevel > 39)) { + else if (ADVJOB == Job_Clown && Class == Job_Archer_High && JobLevel > 39) { mes "[Minstrel]"; mes "The dreary world"; mes "of mortals is in need"; @@ -80,4 +80,4 @@ valkyrie,53,54,3 script Minstrel#Valkyrie 741,{ mes "while you are here."; mes "Honor to the warriors!"; close; -} \ No newline at end of file +} diff --git a/npc/jobs/2-2a/Creator.txt b/npc/jobs/2-2a/Creator.txt index 6f9b2ed2d..3b85907e9 100644 --- a/npc/jobs/2-2a/Creator.txt +++ b/npc/jobs/2-2a/Creator.txt @@ -40,7 +40,7 @@ valkyrie,53,50,3 script Biochemist#Valkyrie 122,{ mes "a place in Valhalla..."; close; } - if ((ADVJOB == Job_Creator) && (Class == Job_Merchant_High) && (JobLevel > 39)) { + else if (ADVJOB == Job_Creator && Class == Job_Merchant_High && JobLevel > 39) { mes "[Biochemist]"; mes "Yes..."; mes "It's about time."; @@ -74,60 +74,63 @@ valkyrie,53,50,3 script Biochemist#Valkyrie 122,{ mes "right purposes."; close; } - 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; + else { + if (Class == Job_Creator && MISC_QUEST & 64 && getskilllv("AM_BIOETHICS") == 0) { 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..."; + 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; - skill 238,1,0; + 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 "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."; + 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 "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..."; + 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; } - 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; -} \ No newline at end of file +} + diff --git a/npc/jobs/2-2a/Gypsy.txt b/npc/jobs/2-2a/Gypsy.txt index 5ab1730a4..95503a1ba 100644 --- a/npc/jobs/2-2a/Gypsy.txt +++ b/npc/jobs/2-2a/Gypsy.txt @@ -33,7 +33,7 @@ valkyrie,53,56,3 script Gypsy#Valkyrie 101,{ mes "For me, it's a way of life~"; close; } - if ((ADVJOB == Job_Gypsy) && (Class == Job_Archer_High) && (JobLevel > 39)) { + 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"; @@ -80,4 +80,4 @@ valkyrie,53,56,3 script Gypsy#Valkyrie 101,{ mes "while you are here."; mes "Honor to the warriors!"; close; -} \ No newline at end of file +} diff --git a/npc/jobs/2-2a/Paladin.txt b/npc/jobs/2-2a/Paladin.txt index 179f4caf1..7589ff3f6 100644 --- a/npc/jobs/2-2a/Paladin.txt +++ b/npc/jobs/2-2a/Paladin.txt @@ -33,7 +33,7 @@ valkyrie,53,39,3 script Paladin#Valkyrie 752,{ mes "always brighten our path!"; close; } - if ((ADVJOB == Job_Paladin) && (Class == Job_Swordman_High) && (JobLevel > 39)) { + else if (ADVJOB == Job_Paladin && Class == Job_Swordman_High && JobLevel > 39) { mes "[Paladin]"; mes "The Holy War will"; mes "be upon us before we"; @@ -82,4 +82,4 @@ valkyrie,53,39,3 script Paladin#Valkyrie 752,{ mes "while you are here."; mes "Honor to the warriors!"; close; -} \ No newline at end of file +} diff --git a/npc/jobs/2-2a/Professor.txt b/npc/jobs/2-2a/Professor.txt index a28d695e6..b6b38afdc 100644 --- a/npc/jobs/2-2a/Professor.txt +++ b/npc/jobs/2-2a/Professor.txt @@ -40,7 +40,7 @@ valkyrie,53,47,3 script Scholar#Valkyrie 743,{ mes "process of learning..."; close; } - if ((ADVJOB == Job_Professor) && (Class == Job_Mage_High) && (JobLevel > 39)) { + else if (ADVJOB == Job_Professor && Class == Job_Mage_High && JobLevel > 39) { mes "[Scholar]"; mes "Rune-Midgard doesn't"; mes "have enough Scholars to"; @@ -89,4 +89,5 @@ valkyrie,53,47,3 script Scholar#Valkyrie 743,{ mes "while you are here."; mes "Honor to the warriors!"; close; -} \ No newline at end of file +} + diff --git a/npc/jobs/2-2a/Stalker.txt b/npc/jobs/2-2a/Stalker.txt index e6ee9522c..a2a26e135 100644 --- a/npc/jobs/2-2a/Stalker.txt +++ b/npc/jobs/2-2a/Stalker.txt @@ -41,7 +41,7 @@ valkyrie,53,58,3 script Stalker#Valkyrie 747,{ mes "they need me."; close; } - if ((ADVJOB == Job_Stalker) && (Class == Job_Thief_High) && (JobLevel > 39)) { + else if (ADVJOB == Job_Stalker && Class == Job_Thief_High && JobLevel > 39) { mes "[Stalker]"; mes "This world needs"; mes "more heroes who are"; @@ -90,4 +90,4 @@ valkyrie,53,58,3 script Stalker#Valkyrie 747,{ mes "while you are here."; mes "Honor to the warriors!"; close; -} \ No newline at end of file +} diff --git a/npc/jobs/valkyrie.txt b/npc/jobs/valkyrie.txt index 6d7b1e42f..bf6aa5cb3 100644 --- a/npc/jobs/valkyrie.txt +++ b/npc/jobs/valkyrie.txt @@ -53,7 +53,7 @@ valkyrie,48,86,4 script Valkyrie# 811,{ mes "Honor to the warriors!"; close; } - if ((Baselevel > 98) && (JobLevel > 49) && ((Class >= Job_Knight) && (Class <= Job_Crusader2))) { + else if (Baselevel > 98 && JobLevel > 49 && Class >= Job_Knight && Class <= Job_Crusader2) { mes "[Valkyrie]"; mes "Welcome"; mes "to Valhalla,"; @@ -84,129 +84,133 @@ valkyrie,48,86,4 script Valkyrie# 811,{ warp "yuno_in02",93,205; end; } - 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) { + 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 "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."; + 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; - warp "yuno_in02",93,205; + 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 "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."; + mes "Welcome"; + mes "to Valhalla,"; + mes "the Hall of Honor."; 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."; + mes "Unfortunately, you have not yet been invited here. I ask you to leave immediately. Honor to the warriors!"; 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; - } + warp "yuno_in02",93,205; end; } - 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 (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."; @@ -271,7 +275,7 @@ yuno_in02,93,207,1 script Book of Ymir 111,{ warp "valkyrie",48,8; end; } - if ((Baselevel > 98) && (JobLevel > 49) && ((Class >= Job_Knight) && (Class <= Job_Crusader2))) { + 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"; @@ -339,7 +343,7 @@ yuno_in02,93,207,1 script Book of Ymir 111,{ } yuno_in05,49,43,1 script Heart of Ymir 111,{ - if ((Baselevel > 98) && (JobLevel > 49) && ((Class >= Job_Knight) && (Class <= Job_Crusader2))) { + if (Baselevel > 98 && JobLevel > 49 && Class >= Job_Knight && Class <= Job_Crusader2) { if (valkyrie_Q == 2) warp "valkyrie",48,8; } end; @@ -361,22 +365,23 @@ valkyrie,44,33,5 script Teleporter 124,{ mes ".........."; close; } - 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; + 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."; @@ -389,4 +394,5 @@ S_WarpChar: // 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 \ No newline at end of file +valkyrie,48,66,0 warp valk01#2 1,1,valkyrie,48,75 + diff --git a/npc/pre-re/jobs/1-1/acolyte.txt b/npc/pre-re/jobs/1-1/acolyte.txt index dd499ca91..0eb0ec061 100644 --- a/npc/pre-re/jobs/1-1/acolyte.txt +++ b/npc/pre-re/jobs/1-1/acolyte.txt @@ -1,21 +1,38 @@ //===== rAthena Script ======================================= -//= Renewal Acolyte Job Change +//= Acolyte Job Quest //===== By: ================================================== -//= Kisuka +//= kobra_k88; L0ne_W0lf //===== Current Version: ===================================== -//= 1.2 +//= 2.2 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= Job Change to Acolyte Class +//= [Aegis Conversion] +//= Job quest for Acolyte classes //===== Additional Comments: ================================= -//= 1.0 First Version. [Kisuka] -//= 1.1 Added back the npcs used for the priest quest. -//= 1.2 Added Baby job change support. [Masao] +//= v1.0 Fully working. +//= v1.1 Added function calls for Priest Quest. +//= v1.2 Fixed Marthilda, Yosuke bugs. [Lupus] +//= v1.2a Added instant job change for High Novice [Lupus] +//= v1.3 Added Baby Class support [Lupus] +//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] +//= 1.5 Now saves/restores all quest skills [Lupus] +//= 1.6 Merged back JFunc [Lupus] +//= 1.7 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] +//= No longer uses function "F_ToHigh" +//= Proper dialog for Priest job quest is unused (for now.) +//= 1.7a Functions now make use of proper priest quest dialog [L0ne_W0lf] +//= 1.8 Removed an Unnecessary "set job_acolyte_q,0;" [Samuray22] +//= 1.8a More bug fixes care of Crashy. [L0ne_W0lf] +//= 1.9 Changed Marthilda to Mathilda. [L0ne_W0llf] +//= 2.0 Fixed High Acolytesnot being given holy light. [L0ne_W0lf] +//= 2.1 Added Quest Log commands. [L0ne_W0lf] +//= 2.2 Fixed an issue with completequest by adding checkquest. [Kisuka] //============================================================ + prt_church,184,41,4 script Cleric#aco 60,{ if (Upper == 1) { - if ((Class == Job_Novice_High) && (ADVJOB == Job_High_Priest || ADVJOB == Job_Champion)) { + if (ADVJOB == Job_High_Priest || ADVJOB == Job_Champion) { if (Class == Job_Novice_High) { mes "[Father Mareusis]"; mes "Ah, I sense you have endured"; @@ -39,65 +56,143 @@ prt_church,184,41,4 script Cleric#aco 60,{ mes "wish you luck on your"; mes "new life's journey."; next; - skill 143,0,1; + 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 "Now, venture forth to seek people who need your help. May God enlighten your way."; + 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 "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("Father, I want to be a Acolyte.:Acolyte Requirements.:Just looking around.")) { + switch(select("Father, I want to be a Acolyte.:Acolyte Requirements.:Just looking around.")) { case 1: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - mes "[Father Mareusis]"; + mes "[Father Mareusis]"; + if (BaseJob == 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?"; close; } - if ((Class != Job_Baby) && (Class != Job_Novice)) { - mes "[Father Mareusis]"; + else if (BaseJob != Job_Novice) { mes "I'm sorry, but we can only accept Novices as applicants for the job change to Acolyte."; close; } - 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..."; + if (job_acolyte_q == 0) { + mes "Do you truly"; + mes "wish to become"; + mes "a servant of God?"; + next; + if (select("Yes Father, I do.:Nope, I lied.") == 1) { + mes "[Father Mareusis]"; + mes "Good. I accept " + strcharinfo(0) + "'s will to become an Acolyte. You understand that you must do penance before you can become a servant of God, right?"; + next; + mes "[Father Mareusis]"; + mes "Well, I will"; + mes "give you a mission..."; + switch(rand(3)) { + default: + set job_acolyte_q,2; + mes "Please visit ^000077Father Rubalkabara^000000, a member of the Prontera Parish, and return here. He has been practicing asceticism in the ^000077Relics NorthEast of Prontera City^000000."; + setquest 1001; + break; + case 1: + set job_acolyte_q,3; + mes "Please visit ^000077Mother Mathilda^000000 and then return to me. She has been practicing asceticism near ^000077Morroc Town, SouthWest of Prontera City^000000."; + setquest 1002; + break; + case 2: + set job_acolyte_q,4; + mes "Please visit ^000077Father Yosuke^000000 and return here. He has been practicing asceticism around ^000077a bridge somewhere NorthWest of Prontera^000000."; + setquest 1003; + break; + } + next; + mes "[Father Mareusis]"; + mes "May the grace of God light your path and guide you during your journey of penance."; + close; + } + mes "[Father Mareusis]"; + mes "You lied?"; + mes "It is good that you"; + mes "have confessed your"; + mes "wrongdoing. Go in"; + mes "peace, my son."; + close; + } + mes "Oh, you've come back. Let me check and see if you are ready to serve God. Let's see..."; next; + mes "[Father Mareusis]"; if (getskilllv("NV_BASIC") < 9) { - mes "[Father Mareusis]"; mes "Good Lord! Haven't you accomplished the Basic Training yet?! It's important that you finish that!"; next; mes "[Father Mareusis]"; mes "You should have trained more! Go back and make sure you reach Novice Job Level 9 and learn all of the Basic Skills!"; close; } - mes "[Father Mareusis]"; - mes "Hmm... your job level is high enough and you've proven your qualification."; + if (job_acolyte_q < 5) { + mes "Oh? I can't find your name on the Registration List."; + next; + switch(job_acolyte_q) { + case 2: + mes "[Father Mareusis]"; + mes "Please visit ^000077Father Rubalkabara^000000, a member of the Prontera Parish, and return here."; + next; + mes "[Father Mareusis]"; + mes "He has been practicing asceticism in the ^000077Relics at the NorthEast of Prontera City^000000."; + break; + case 3: + mes "[Father Mareusis]"; + mes "Please Visit ^000077Mother Mathilda^000000 and return here to me."; + next; + mes "[Father Mareusis]"; + mes "She has been practicing asceticism near ^000077Morroc Town, located SouthWest of Prontera City^000000."; + break; + case 4: + mes "[Father Mareusis]"; + mes "Please visit ^000077 Father Yosuke ^000000 and return here to me."; + next; + mes "[Father Mareusis]"; + mes "He has been practicing asceticism near a ^000077bridge somewhere to the NorthWest of Prontera^000000."; + break; + } + next; + mes "[Father Mareusis]"; + mes "May the grace of God brighten your path and guide you on your journey of penance."; + close; + } + mes "Hmm..."; + mes "Your name is on the list and you've proven your qualification."; next; mes "[Father Mareusis]"; mes "I am proud to say that you are now ready to become an Acolyte!"; next; - skill 143,0,1; - if(Class == Job_Baby){ - jobchange Job_Baby_Acolyte; - } else { - jobchange Job_Acolyte; + skill 143,0,0; + callfunc "Job_Change",Job_Acolyte; + callfunc "F_ClearJobVar"; + if(checkquest(1001) != -1) { + completequest 1001; + } + else if(checkquest(1002) != -1) { + completequest 1002; + } + else { + completequest 1003; } - set ACO_Q,0; - getitem 1545,1; //N_Mace mes "[Father Mareusis]"; mes "Always remember to be thankful to God, who is taking care of us all the time."; next; @@ -109,15 +204,43 @@ prt_church,184,41,4 script Cleric#aco 60,{ 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."; + mes "Do you wish to become an Acolyte? You must fulfill two requirements."; + next; + mes "[Father Mareusis]"; + mes "First, you have to reach at least Novice Job Level 9 and learn all of the Basic Skills. Second, you will be given a trial of penance to overcome."; 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."; + if (job_acolyte_q != 0) { + switch(job_acolyte_q) { + case 2: + mes "For your trial, please visit ^000077Father Rubalkabara ^000000 and then return here to me."; + next; + mes "[Father Mareusis]"; + mes "He is practicing asceticism in the ^000077Relics at the NorthEast of Prontera City^000000."; + break; + case 3: + mes "For your trial, please visit ^000077Mother Mathilda^000000 and return here to me."; + next; + mes "[Father Mareusis]"; + mes "She has been practicing asceticism near ^000077Morroc, located to the SouthWest of Prontera City^000000."; + break; + default: + mes "For your trial, please visit ^000077Father Yosuke^000000 and return here to me."; + next; + mes "[Father Mareusis]"; + mes "He has been practicing asceticism around a bridge somewhere ^000077NorthWest of Prontera^000000."; + break; + } + next; + mes "[Father Mareusis]"; + mes "May the grace of God light your path and guide you on your journey of penance."; + } + else { + mes "The destination for this trial will be decided once you fill the application form."; + } next; mes "[Father Mareusis]"; - mes "When you think you fulfilled this requirement I've asked of you. As long as your desire to serve God and others is sincere, you will be able to make it."; + mes "Please come back after fulfilling the two requirements I've asked of you. As long as your desire to serve God and others is sincere, you will be able to make it."; close; case 3: close; @@ -125,18 +248,17 @@ prt_church,184,41,4 script Cleric#aco 60,{ } prt_fild03,365,255,2 script Ascetic#aco 89,{ - if (Class == Job_Baby || Class == Job_Novice) { - if (ACO_Q == 6) { - mes "[Father Rubalkabara]"; + 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 (ACO_Q != 0) { - if (ACO_Q == 2) { - mes "[Father Rubalkabara]"; + 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]"; @@ -156,207 +278,133 @@ prt_fild03,365,255,2 script Ascetic#aco 89,{ next; mes "[Father Rubalkabara]"; mes "Farewell."; + close2; savepoint "prt_fild03",361,255; - set ACO_Q,6; - close; + set job_acolyte_q,6; + end; } - mes "[Father Rubalkabara]"; - 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; - } - mes "[Father Rubalkabara]"; - mes "Huh? What brings you here? This is a very dangerous place for a Novice like yourself!"; - close; - } - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - if (ACO_Q2 != 0) { - if (ACO_Q2 == 1) { - mes "[Father Rubalkabara]"; - 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."; + else { + mes "Oh..."; + mes "Are you one of the"; + mes "Acolyte applicants...?"; + mes "Let's see..."; next; mes "[Father Rubalkabara]"; - mes "Also, if you have a chance, please visit this abbey again. It's a sacred place for our Church."; + mes "Your name is " + strcharinfo(0) + "?"; + mes "I don't think your name"; + mes "is on my list. Hmmm..."; next; mes "[Father Rubalkabara]"; - mes "Well then, please head to your next destination for your pilgrimage. Be safe in your travels."; - savepoint "prt_fild03",361,255; - set ACO_Q2,2; + mes "Why don't you go back to the Prontera Sanctuary and check again?"; close; } - if (ACO_Q2 == 2) { - mes "[Father Rubalkabara]"; - mes "Please be hurry to the next destination for your pilgrimage. I hope you become a Priest soon."; - close; - } - mes "[Father Rubalkabara]"; - mes "May I ask why you have returned? Please go back and continue your religious practice."; + } + else { + mes "Huh? What brings you here? This is a very dangerous place for a Novice like yourself!"; close; } - mes "[Father Rubalkabara]"; - mes "I have no idea what brought you here, but please excuse me."; - close; } - if (Class == Job_Baby_Priest || Class == Job_Priest) { - mes "[Father Rubalkabara]"; - 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 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; + } } - mes "[Father Rubalkabara]"; - 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#2 95,{ - if (Class == Job_Baby || Class == Job_Novice) { - if (ACO_Q == 6) { - mes "[Mother Marthilda]"; +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 Marthilda]"; + mes "[Mother Mathilda]"; mes "I will pray to God, and hope that you become an Acolyte soon."; close; } - if (ACO_Q != 0) { - if (ACO_Q == 3) { - mes "[Mother Marthilda]"; + 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 Marthilda]"; + mes "[Mother Mathilda]"; mes "What is your name? " + strcharinfo(0) + "? Let's see... Ah, you're on my list."; next; - mes "[Mother Marthilda]"; + 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 Marthilda]"; + mes "[Mother Mathilda]"; mes "Please return to the Prontera Sanctuary and speak to the Priest in charge."; + close2; savepoint "moc_fild07",35,355; - set ACO_Q,7; - close; + set job_acolyte_q,7; + end; } - mes "[Mother Marthilda]"; - mes "Ah...!"; - mes "You must be one"; - mes "of the Acolyte applicants."; - mes "I sincerely welcome you."; - next; - mes "[Mother Marthilda]"; - mes "Now, what is your name?"; - mes "" + strcharinfo(0) + "? Let's see..."; - next; - mes "[Mother Marthilda]"; - mes "Hmm..."; - mes "It seems your name"; - mes "is not on my list..."; - next; - mes "[Mother Marthilda]"; - mes "Perhaps you should return to the Prontera Sanctuary and check the destination for your penance trial once again."; - close; - } - mes "[Mother Marthilda]"; - mes "..."; - close; - } - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - if (ACO_Q2 != 0) { - if (ACO_Q2 == 1) { - mes "[Mother Marthilda]"; - mes "Hmm..."; - mes "It seems you're"; - mes "training to become"; - mes "a Priest."; - next; - mes "[Mother Marthilda]"; - mes "However, at this point in your pilgrimage, I am not the person that you should be visiting."; + else { + mes "Ah...!"; + mes "You must be one"; + mes "of the Acolyte applicants."; + mes "I sincerely welcome you."; next; - mes "[Mother Marthilda]"; - mes "Perhaps you should ask Bishop Paul or Sister Cecilia once again. Well, may God be with you..."; - close; - } - if (ACO_Q2 == 2) { - mes "[Mother Marthilda]"; - mes "Ah, are you"; - mes "a Priest trainee...?"; - mes "Welcome!"; + mes "[Mother Mathilda]"; + mes "Now, what is your name?"; + mes "" + strcharinfo(0) + "? Let's see..."; next; - mes "[Mother Marthilda]"; - mes "We Priests are obliged to spread the message of God to"; - mes "the peoples of the Earth."; - next; - mes "[Mother Marthilda]"; - 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."; + mes "[Mother Mathilda]"; + mes "Hmm..."; + mes "It seems your name"; + mes "is not on my list..."; next; - mes "[Mother Marthilda]"; - mes "Well then..."; - mes "I shall pray to"; - mes "God for safety"; - mes "on your journey."; - savepoint "moc_fild07",35,355; - set ACO_Q2,3; + mes "[Mother Mathilda]"; + mes "Perhaps you should return to the Prontera Sanctuary and check the destination for your penance trial once again."; close; } - if (ACO_Q2 == 3) { - mes "[Mother Marthilda]"; - mes "Please leave soon, and"; - mes "continue your training."; - close; - } - mes "[Mother Marthilda]"; - mes "May I ask you the reason you came back? Please continue your training."; + } + else { + mes "..."; close; } - mes "[Mother Marthilda]"; - mes "May God"; - mes "be with you..."; - close; } - if (Class == Job_Baby_Priest || Class == Job_Priest) { - mes "[Mother Marthilda]"; - mes "Hello there~"; - next; - mes "[Mother Marthilda]"; - mes "How is your practice coming along? I certainly hope you're enjoying living in the grace of God."; - 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; + } } - mes "[Mother Marthilda]"; - mes "May God"; - mes "be with you..."; - close; } -prt_fild00,208,218,6 script Ascetic#3 98,{ - if (Class == Job_Baby || Class == Job_Novice) { - if (ACO_Q == 8) { - mes "[Father Yosuke]"; +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 (ACO_Q != 0) { - if (ACO_Q == 4) { - mes "[Father Yosuke]"; + if (job_acolyte_q != 0) { + if (job_acolyte_q == 4) { mes "Hey."; mes "Whatever you are,"; mes "you look like an"; @@ -375,104 +423,48 @@ prt_fild00,208,218,6 script Ascetic#3 98,{ next; mes "[Father Yosuke]"; mes "Now go back to the Santuary and finish becoming an Acolyte, kid."; + close2; savepoint "prt_fild00",206,230; - set ACO_Q,8; - close; + set job_acolyte_q,8; + end; } - mes "[Father Yosuke]"; - 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; - } - mes "[Father Yosuke]"; - mes "You..."; - mes "Novice."; - mes "There something"; - mes "you wanna tell me?"; - close; - } - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - if (ACO_Q2 != 0) { - if (ACO_Q2 == 1) { - mes "[Father Yosuke]"; - 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; - } - if (ACO_Q2 == 2) { - mes "[Father Yosuke]"; - 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."; + else { + mes "Hey."; + mes "You look like an Acolyte Applicant. Am I right?"; next; mes "[Father Yosuke]"; - mes "But that's your own fault. Go back to Church."; - close; - } - if (ACO_Q2 == 3) { - mes "[Father Yosuke]"; - mes "Hmm."; - mes "A Priest"; - mes "trainee, eh? "; - mes "Welcome."; + 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 "I won't say"; - mes "anything more."; - mes "Just devote your"; - mes "life to God."; + mes "" + strcharinfo(0) + ", huh? Why isn't your name on my list?"; next; mes "[Father Yosuke]"; - mes "Now go back to church."; - mes "Hereby, the first of"; - mes "your trials is now"; - mes "completed."; - savepoint "prt_fild00",206,230; - set ACO_Q2,4; + mes "You probably made a mistake. Go back to the Santuary, and check with the Bishop."; close; } - if (ACO_Q2 == 4) { - mes "[Father Yosuke]"; - 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 "[Father Yosuke]"; - mes "Just go be a Priest. This isn't a playground for kids."; + } + else { + mes "You..."; + mes "Novice."; + mes "There something"; + mes "you wanna tell me?"; close; } - mes "[Father Yosuke]"; - mes "...Acolyte, you don't have any business with me here."; - close; } - if (Class == Job_Baby_Priest || Class == Job_Priest) { - mes "[Father Yosuke]"; - 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 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; + } } - mes "[Father Yosuke]"; - mes "Do you have anything to say? Because unfortunately for you,"; - mes "I don't any replies."; - close; -} \ No newline at end of file +} + diff --git a/npc/pre-re/jobs/1-1/archer.txt b/npc/pre-re/jobs/1-1/archer.txt index 985b6c0f8..754d874cf 100644 --- a/npc/pre-re/jobs/1-1/archer.txt +++ b/npc/pre-re/jobs/1-1/archer.txt @@ -1,22 +1,36 @@ //===== rAthena Script ======================================= -//= Renewal Archer Job Change +//= Archer Job Quest //===== By: ================================================== -//= Kisuka +//= kobra_k88; L0ne_W0lf //===== Current Version: ===================================== -//= 1.1 +//= 1.9 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= Job Change to Archer Class +//= [Aegis Conversion] +//= Job quest for Archer classes //===== Additional Comments: ================================= -//= 1.0 First Version. [Kisuka] -//= 1.1 Added Baby job change support. [Masao] +//= Fully working +//= v1.1 Added instant job change for High Novice [Lupus] +//= v1.3 Added Baby Class support [Lupus] +//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] +//= 1.5 Now saves/restores all quest skills [Lupus] +//= 1.6 Merged back JFunc [Lupus] +//= 1.7 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] +//= Arrow reward is now equal to the type sof trunks brought. +//= No longer uses function "F_ToHigh" +//= 1.7a Fixed minor dialogue bug at Grade==25 [Lupus] +//= 1.8 Fixed mistake in condition check. [L0ne_W0lf] +//= 1.9 Added Quest Log commands. [L0ne_W0lf] //============================================================ -payon_in02,64,71,4 script Archer Guildsman 85,{ + +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)) { + 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"; @@ -37,7 +51,7 @@ payon_in02,64,71,4 script Archer Guildsman 85,{ mes "need to say anything else."; mes "I know you'll make a great Archer..."; next; - skill 143,0,1; + skill 143,0,0; jobchange Job_Archer_high; skill 147,1,0; skill 148,1,0; @@ -46,96 +60,187 @@ payon_in02,64,71,4 script Archer Guildsman 85,{ mes "reward for you this time, I hope you understand. Take care of yourself."; close; } - 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; + 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?"; + mes "Good day. How may I help you?"; next; - switch (select("I want to be an Archer.:I need the requirements, please.:Nothing, thanks.")) { + switch(select("I want to be an Archer.:I need the requirements, please.:Nothing, thanks.")) { case 1: - if (Class == Job_Baby || Class == Job_Novice) { + if (BaseJob == Job_Archer) { + mes "[Archer Guildsman]"; + mes "You've already become an Archer..."; + close; + } + else if (BaseJob != Job_Archer && BaseJob != Job_Novice) { mes "[Archer Guildsman]"; - mes "You are..." + strcharinfo(0) + " right?"; + mes "Hmm..."; + mes "You don't look much like a Novice at all..."; next; - if (getskilllv("NV_BASIC") < 9) { + mes "[Archer Guildsman]"; + mes "Anyway, whatever you are, you can't choose a job as an Archer because you have a job already."; + close; + } + if (job_archer_q == 0) { + mes "[Archer Guildsman]"; + mes "Do you want to be an Archer?"; + mes "If so, you need to fill out this application form."; + next; + if (select("Apply.:Cancel") == 1) { + set job_archer_q,1; + setquest 1004; mes "[Archer Guildsman]"; - mes "Well, you don't have the right skill level. "; - mes "Your job level must be at least ^4d4dff10^000000"; - mes "and your Basic Skill level should reach ^4d4dfflevel 9^000000"; + mes "Okay, sign here. Alright, um, I'll promote you once you meet the requirements."; next; mes "[Archer Guildsman]"; - mes "Because an Archer needs"; - mes "extremely high concentration,"; - mes "so we do not accept "; - mes "those who have little patience."; - close; + mes "If you think you've met them already, we can check that now."; + mes "Are you ready?"; + next; + if (select("Yes, I am.:No, not yet.") == 1) { + mes "[Archer Guildsman]"; + mes "Alright, let me check."; + next; + } + else { + mes "[Archer Guildsman]"; + mes "I understand. Be my guest if you want to look at the requirements."; + close; + } } mes "[Archer Guildsman]"; - mes "You seem to have learned the basic skills.."; - mes "....Hm~~ you are now ready to become an Archer. I will take the step right away."; - next; - skill 143,0,1; - if(Class == Job_Baby){ - jobchange Job_Baby_Archer; - } else { - jobchange Job_Archer; - } + mes "Well, alright."; + mes "See you next time."; + close; + } + mes "[Archer Guildsman]"; + mes "Are you..." + strcharinfo(0) + "?"; + next; + if (getskilllv("NV_BASIC") < 9) { 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!"; - getitem 1742,1; //N_Composite_Bow - getitem 12004,1; //Arrow_Container - getitem 12009,1; //Silver_Arrow_Container - getitem 12008,1; //Fire_Arrow_Container + mes "Well, you're not at the right job level. Please check the requirements again."; next; mes "[Archer Guildsman]"; - mes "Having a bow and arrows, now you've become a real Archer."; - mes "If you open the arrow quiver, there will be arrows in it that you can equip."; - mes "Well, I expect to hear good news from you. It's time to say goodbye. Bye."; + mes "Your job level must be at least 10, and don't forget you should learn all of the Basic Skills. Once you've done that, come back."; close; } - if (Class == Job_Baby_Archer || Class == Job_Archer || Class == Job_Archer_High) { + if (job_archer_q == 1) { + set .@archer_item1,countitem(1066) * 5; + set .@archer_item2,countitem(1067) * 3; + set .@archer_item3,countitem(1068) * 2; + set .@archer_item4,countitem(1019); + set .@total_archer,.@archer_item1 + .@archer_item2 + .@archer_item3 + .@archer_item4; + set .@total_archer2,(((.@archer_item2 + .@archer_item3) * 2) + .@archer_item4); mes "[Archer Guildsman]"; - mes "Haha, you are kidding me.."; - close; + mes "Excellent!"; + mes "Now then,"; + mes "let's see..."; + next; + mes "[Archer Guildsman]"; + mes "I will appraise the value of the various types of Trunks, needed to produce a Bow, that you've brought."; + next; + if (countitem(1066) == 0 && countitem(1067) == 0 && countitem(1068) == 0 && countitem(1019) == 0) { + mes "[Archer Guildsman]"; + mes "Um..."; + mes "Unfortunately you didn't bring any of the required items. There's nothing for me to appraise."; + close; + } + mes "[Archer Guildsman]"; + if (countitem(1066) != 0) mes " Grade S : " + countitem(1066) + " ea, Grade: " + .@archer_item1 + " . "; + if (countitem(1067) != 0) mes " Grade A : " + countitem(1067) + " ea, Grade : " + .@archer_item2 + " . "; + if (countitem(1068) != 0) mes " Grade B : " + countitem(1068) + " ea, Grade : " + .@archer_item3 + " . "; + if (countitem(1019) != 0) mes " Grade C : " + countitem(1019) + " ea, Grade : " + .@archer_item4 + " . "; + if (.@total_archer < 25) { + mes "Total Grades: ^FF0000" + .@total_archer + "^000000 / 40"; + next; + mes "[Archer Guildsman]"; + mes "Less than 25!? You have to get a grade of at least 25! Come on, try harder!"; + close; + } + else { + mes "Total Grades: ^0000FF" + .@total_archer + "^000000 / 40"; + next; + mes "[Archer Guildsman]"; + if (.@total_archer > 40) { + mes "Wow! More than 40!"; + mes "Excellent! Congratulations!"; + } + else if (.@total_archer > 30) { + mes "More than 30! Nice job!"; + mes "Congratulations!"; + } + else { + mes "*Sigh* Well, you just barely passed... Anyway, well done."; + } + } + next; + mes "[Archer Guildsman]"; + mes "I'll transfer these Trunks to our Bow Production Department. Now that you've met the requirements, let me promote you right away!"; + if (countitem(1066) != 0) delitem 1066,countitem(1066); //Tree_Of_Archer_1 + if (countitem(1067) != 0) delitem 1067,countitem(1067); //Tree_Of_Archer_2 + if (countitem(1068) != 0) delitem 1068,countitem(1068); //Tree_Of_Archer_3 + if (countitem(1019) != 0) delitem 1019,countitem(1019); //Wooden_Block } + next; + callfunc "Job_Change",Job_Archer; + callfunc "F_ClearJobVar"; + completequest 1004; + mes "[Archer Guildsman]"; + mes "Congratulations!"; + mes "You are now an Archer!"; + next; + mes "[Archer Guildsman]"; + mes "Of course, we expect that you will help contribute towards the future of the Archer Guild with your efforts."; + next; + mes "[Archer Guildsman]"; + mes "Ah, your bow has arrived from the Bow Production Department. Here, take it! It's yours~"; + getitem 1702,1; //Bow_ + getitem 1750,.@total_archer2; //Arrow + next; mes "[Archer Guildsman]"; - mes "Wait a second. You've chosen a different job already. You don't need to know this~"; + mes "Now, off you go. Hunt with pride, knowing you were trained by one of the best!"; 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."; + mes "I will explain the requirements for being an Archer."; + if (BaseJob != Job_Novice) { + if (BaseJob == Job_Archer) { + next; + mes "[Archer Guildsman]"; + mes "But..."; + mes "You're already an Archer. You should know these already..."; + } + else { + next; + mes "[Archer Guildsman]"; + mes "Wait a second. You've chosen a different job already. You don't need to know this~"; + } + mes "So...Yeah...no real reason to tell you the requirements..."; + } next; mes "[Archer Guildsman]"; - mes "Although an Archer has weaker HP,"; - mes "he or she can shoot enemies"; - mes "at a long range,"; - mes "so an Archer is safer in a real battle."; + mes "First of all, you have to the Job Level 9 as a Novice, and know all of the Basic Skills."; next; mes "[Archer Guildsman]"; - mes "Although an Archer in Ragnarok has lower HP,"; - mes "he or she has high accuracy and attack rate"; - mes "so that the archer can kill monsters"; - mes "before they get close to an Archer."; + mes "An Archer needs extremely high concentration and reflexes, so we do not accept those who have little patience."; next; mes "[Archer Guildsman]"; - mes "^8E2323An Archer can change"; - mes "^8E2323jobs to a Hunter."; - mes "^8E2323Other than Hunter, if you are a man, you can change your job to Bard"; - mes "^8E2323and if you are a woman, you can change your job to Dancer.^000000"; + mes "You also have to gather ^FF0000Trunks^000000. There are 4 different types of Trunks, each of differing quality. You'll be given different grades for your Trunks, depending on their quality."; + next; + mes "[Archer Guildsman]"; + mes "In order to become an Archer, you must receive a grade of at least ^0000FF25^000000 points out of 40. You can get Trunks from 'Willow,' the tree. Be careful, though. They can be tough monsters."; close; case 3: - mes "[Archer Guildsman]"; - mes "If you have any questions, feel free to come and ask me."; close; } -} \ No newline at end of file +} + diff --git a/npc/pre-re/jobs/1-1/mage.txt b/npc/pre-re/jobs/1-1/mage.txt index 51d4dbe27..f44adfe57 100644 --- a/npc/pre-re/jobs/1-1/mage.txt +++ b/npc/pre-re/jobs/1-1/mage.txt @@ -1,20 +1,32 @@ //===== rAthena Script ======================================= -//= Renewal Mage Job Change +//= Mage Job Quest //===== By: ================================================== -//= Kisuka +//= kobra_k88; L0ne_W0lf //===== Current Version: ===================================== -//= 1.1 +//= 1.9 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= Job Change to Mage Class +//= [Aegis Conversion] +//= Job quest for Mage classes //===== Additional Comments: ================================= -//= 1.0 First Version. [Kisuka] -//= 1.1 Added Baby job change support. [Masao] +//= Fully working +//= 1.1 Fixed input ingridients bug [Lupus] +//= v1.2 Added instant job change for High Novice [Lupus] +//= 1.3 Added Baby Class support [Lupus] +//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] +//= 1.5 Now saves/restores all quest skills [Lupus] +//= 1.6 Merged back JFunc, CHANGED NUMBERS TO CONSTANTS [Lupus] +//= 1.7 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] +//= No longer uses function "F_ToHigh" +//= 1.7a Fixed a "If" in the quest. (bugreport:489) [Samuray22] +//= 1.8 Added Quest Log commands. [L0ne_W0lf] +//= 1.9 Fixed an issue with completequest by adding checkquest. [Kisuka] //============================================================ + geffen_in,164,124,4 script Mage Guildsman 123,{ if (Upper == 1) { - if ((Class == Job_Novice_High) && (ADVJOB == Job_High_Wizard || ADVJOB == Job_Professor)) { + 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?"; @@ -40,120 +52,547 @@ geffen_in,164,124,4 script Mage Guildsman 123,{ 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 "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~!"; + 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; } - 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_Baby_Mage || Class == Job_Mage) { - mes "[Mage Guildsman]"; - mes "Hey, haven't you realized? You're aleady a Mage, silly!"; - next; - mes "[Mage Guildsman]"; - mes "One of these days you'll realize the power inside of you when you can make Fire with your mind!"; - close; - } - if ((Class != Job_Baby_Mage) && (Class != Job_Mage) && (Class != Job_Novice)) { - mes "[Mage Guildsman]"; - mes "Hey~ C'mon. Quit playing games. You can't be a Mage because you already have another Job."; - close; } - if (Class == Job_Baby || Class == Job_Novice) { + mes "[Mage Guildsman]"; + mes "Yo. What's up?"; + next; + switch(select("I want to be a Mage.:Tell me the Requirements.:Pretty much nothing.")) { + case 1: mes "[Mage Guildsman]"; - mes "Hey?"; - next; - switch (select("I want to be a Mage.:Tell me the Requirements.:Pretty much nothing.")) { - case 1: - mes "[Mage Guildsman]"; - mes "Wanna be a Mage, eh?"; + if (BaseJob == Job_Mage) { + mes "Hey, haven't you realized? You're aleady a Mage, silly!"; next; mes "[Mage Guildsman]"; - if (Sex == 1) { + mes "One of these days you'll realize the power inside of you when you can make Fire with your mind!"; + close; + } + if (BaseJob != Job_Novice) { + mes "Hey~ C'mon. Quit playing games. You can't be a Mage because you already have another Job."; + close; + } + if (job_magician_q == 0) { + mes "Wanna be a Mage, eh...?"; + 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.:Pretty much nothing.") == 1) { - if (getskilllv("NV_BASIC") < 9) { - mes "[Mage Guildman]"; - mes "Oh, what a bummer. You haven't met the requirements yet."; - next; - mes "[Mage Guildman]"; - mes "Go back and reach Novice Job level 9 first. Don't forget that you also have to learn all of the Basic Skills before you come back."; - close; - } - mes "[Mage Guildsman]"; - mes "Okay. Sign right there. Oh, you're very good at spelling."; - mes "So your name is... " + strcharinfo(0) + "."; - next; + mes "[Mage Guildsman]"; + mes "Right, you said that you wanna be a Mage? Alright then, please sign the Mage Application."; + next; + if (select("Sign Up.:Quit.") == 1) { mes "[Mage Guildsman]"; - mes "Hmm I can see that you've worked very hard on your own."; - mes "Good! Always sticking to the basics is the best! I will transform you right away."; + mes "Okay. Sign right there. Oh, you're very good at spelling. Alright. So your name is... " + strcharinfo(0) + "."; next; mes "[Mage Guildsman]"; - mes "*Ahem*"; - mes "Congratulations!"; - mes "You are now a Mage!"; - next; - skill 143,0,1; - if(Class == Job_Baby){ - jobchange Job_Baby_Mage; - } else { - jobchange Job_Mage; + mes "Now it's time for"; + mes "me to give you the test."; + switch(rand(3)) { + case 1: + mes "Make me a ^3355FFMixed Solution No. 1^000000"; + mes "and bring it back to me."; + set job_magician_q,1; + break; + case 2: + mes "Make me a ^3355FFMixed Solution No. 2^000000"; + mes "and bring it back to me."; + set job_magician_q,2; + break; + case 3: + mes "Make me a ^3355FFMixed Solution No. 3^000000"; + mes "and bring it back to me."; + set job_magician_q,3; + break; + default: + mes "Make me a ^3355FFMixed Solution No. 4^000000"; + mes "and bring it back to me."; + set job_magician_q,4; } - getitem 1639,1; //N_Rod - set Zeny, Zeny + 50; + next; + getitem 1092,1; //Empty_Cylinder mes "[Mage Guildsman]"; - mes "'Welcome to My World~'"; - mes "Heh heh, I just wanted to say that. You know, it's a quote from a well-known movie~"; + mes "You can find the neccessary ingredients inside the Guide Book in this Guild. So you better look up what you need before you go."; next; mes "[Mage Guildsman]"; - mes "Now that you're a Mage just like us, let's be friends, okay?"; + mes "Once you collect all the ingredients you, use the machine in the center of the room to mix the solution. Good luck!"; close; } 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; - case 2: - mes "[Mage Guildsman]"; - mes "Wanna be a Mage, eh?"; - if (Sex == 1) { - mes "For a cutie like you, I'd be happy to explain the requirements!"; - } - else { - mes "I'd be happy to explain the requirements for a pretty girl like you!"; - } + } + mes "Yeah? Ready...?"; + if (getskilllv("NV_BASIC") < 9) { + mes "Oh, what a bummer. You haven't met the requirements yet."; 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 "Go back and reach Novice Job level 9 first. Don't forget that you also have to learn all of the Basic Skills before you come back."; + close; + } + mes "" + strcharinfo(0) + "'s test was..."; + if (job_magician_q == 1) + mes "Making Mixed Solution No. 1."; + else if (job_magician_q == 2) + mes "Making Mixed Solution No. 2."; + else if (job_magician_q == 3) + mes "Making Mixed Solution No. 3."; + else + mes "Making Mixed Solution No. 4."; + next; + mes "[Mage Guildsman]"; + mes "Okay, let me"; + mes "check if you made your"; + mes "solution accurately..."; + next; + mes "[Mage Guildsman]"; + if (countitem(1071) == 0 && countitem(1085) == 0 && countitem(1086) == 0 && countitem(1087) == 0 && countitem(1090) == 0) { + mes "Hey, where's the Solution"; + mes "I asked for...? I can't check it if you don't show it to me, right?"; + close; + } + else { + if ((job_magician_q == 1 && countitem(1071) == 0) || (job_magician_q == 2 && countitem(1085) == 0) || (job_magician_q == 3 && countitem(1086) == 0) || (job_magician_q == 4 && countitem(1087) == 0)) { + mes "Wait."; + mes "This isn't the"; + mes "Solution I asked for!"; + next; + mes "[Mage Guildsman]"; + if (job_magician_q == 1) + mes "You're supposed to make Mixed Solution No. 1 and bring it back to me. Now go and try it again."; + else if (job_magician_q == 2) + mes "You're supposed to make Mixed Solution No. 2 and bring it back to me. Now go and try it again."; + else if (job_magician_q == 3) + mes "You're supposed to make Mixed Solution No. 3 and bring it back to me. Now go and try it again."; + else + mes "You're supposed to make Mixed Solution No. 4 and bring it back to me. Now go and try it again."; + + if (countitem(1071) != 0) delitem 1071,1; //Mage_Test_1 + else if (countitem(1085) != 0) delitem 1085,1; //Mage_Test_2 + else if (countitem(1086) != 0) delitem 1086,1; //Mage_Test_3 + else if (countitem(1087) != 0) delitem 1087,1; //Mage_Test_4 + else delitem 1090,1; //Mage_Test_Etc + close; + } + } + if (countitem(1071) != 0) delitem 1071,1; //Mage_Test_1 + else if (countitem(1085) != 0) delitem 1085,1; //Mage_Test_2 + else if (countitem(1086) != 0) delitem 1086,1; //Mage_Test_3 + else if (countitem(1087) != 0) delitem 1087,1; //Mage_Test_4 + else delitem 1090,1; //Mage_Test_Etc + mes "Hmm. I can see that you tried really hard. For a beginner's attempt, this is really good."; + mes "Great work!"; + next; + mes "[Mage Guildsman]"; + mes "Alright! I'm pleased to say that you've passed the Mage Test. I will transform you right away!"; + next; + mes "[Mage Guildsman]"; + mes "*Ahem*"; + mes "Congratulations!"; + mes "You are now a Mage!"; + next; + callfunc "Job_Change",Job_Mage; + callfunc "F_ClearJobVar"; + set Zeny,Zeny+50; + if(checkquest(1005) != -1) { + completequest 1005; + } + else if(checkquest(1006) != -1) { + completequest 1006; + } + else if(checkquest(1007) != -1) { + completequest 1007; + } + else { + completequest 1008; + } + mes "[Mage Guildsman]"; + mes "'Welcome to My World~'"; + mes "Heh heh, I just wanted to say that. You know, it's a quote from a well-known movie~"; + next; + mes "[Mage Guildsman]"; + mes "Now that you're a Mage just like us, let's be friends, okay?"; + close; + case 2: + mes "[Mage Guildsman]"; + mes "Wanna be a Mage, eh?"; + if (sex) + mes "For a cutie like you, I'd be happy to explain the requirements!"; + else + 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. Then, you'll have to pass the Mage Test."; + next; + if (job_magician_q != 0) { mes "[Mage Guildsman]"; - mes "In the past, there was a complicated potion mixing test. Because of that hard test, we slowly started to lose aplicants."; - mes "So, we decided to accept all aplicants who have the basic requirements."; + mes "Your test is to"; + switch(job_magician_q) { + case 1: + mes "make me a"; + mes "^3355FFMixed Solution No. 1^000000"; + mes "and bring it back to me."; + setquest 1005; + break; + case 2: + mes "make me a"; + mes "^3355FFMixed Solution No. 2^000000"; + mes "and bring it back to me."; + setquest 1006; + break; + case 3: + mes "make me a"; + mes "^3355FFMixed Solution No. 3^000000"; + mes "and bring it back to me."; + setquest 1007; + break; + default: + mes "make me a"; + mes "^3355FFMixed Solution No. 4^000000"; + mes "and bring it back to me."; + setquest 1008; + } next; mes "[Mage Guildsman]"; - mes "Let me know when you are ready to become a Mage, alright?"; - close; - case 3: + mes "You can look up the ingredients you'll need to make the Solution inside the Guide Book in this Guild."; + } + else { mes "[Mage Guildsman]"; - mes "Nothing...?"; - close; + mes "You will be informed as to which Mixed Solution you will need to create after signing the application form."; } + next; + mes "[Mage Guildsman]"; + mes "Let me know when you are ready to become a Mage, alright?"; + close; + case 3: + mes "[Mage Guildsman]"; + mes "Nothing...?"; + close; } } -geffen_in,164,112,4 script Mixing machine 111,{ - mes "- Out of Order !! -"; +geffen_in,164,112,4 script Mixing Machine 111,{ + mes "[Mixing Machine]"; + mes "This machine is the property of the Geffen Mage Guild and is used only for mixing solutions for magic purposes."; + next; + if (select("Use Machine.:Cancel.") == 1) { + mes "[Mixing Machine]"; + mes "Choose the"; + mes "Solvent for"; + mes "the Solution."; + next; + switch(select("Payon Solution.:Morroc Solution.:No Solvent.")) { + case 1: + if (countitem(1089) == 0) { + mes "[Mixing Machine]"; + mes "Error."; + mes "Cannot find the item."; + mes "Please check again."; + mes "Process Halting."; + close; + } + set .@mixitem2,1; + break; + case 2: + if (countitem(1088) == 0) { + mes "[Mixing Machine]"; + mes "Error."; + mes "Cannot find the item."; + mes "Please check again."; + mes "Process Halting."; + close; + } + set .@mixitem2,2; + break; + case 3: + set .@mixitem2,0; + break; + } + while (1) { + if (.@progress == 2) { + mes "[Mixing Machine]"; + if (.@mixitem1_1 != 0) mes "Jellopy: " + .@mixitem1_1 + " ea."; + if (.@mixitem1_2 != 0) mes "Fluff: " + .@mixitem1_2 + " ea."; + if (.@mixitem1_3 != 0) mes "Milk: " + .@mixitem1_3 + " ea."; + if (.@mixitem2 == 0) mes "Solvent: None."; + if (.@mixitem2 == 1) mes "Solvent: Payon Solution."; + if (.@mixitem2 == 2) mes "Solvent: Morroc Solution."; + next; + mes "[Mixing Machine]"; + mes "Please choose if you wish to begin mixing, or to re-enter the number of items to be mixed."; + next; + switch(select("Begin Mixing.:Re-Enter Number of Items.:Reset.")) { + case 1: + mes "[Mixing Machine]"; + mes "Please place the items into the Mixing Receptacle. Make sure the item amounts are correct."; + next; + mes "[Mixing Machine]"; + mes "You cannot adjust or restore items once they are placed into the Mixing Receptacle."; + next; + mes "[Mixing Machine]"; + mes "If everything is correct, press the 'Mix' button when you are ready. Otherwise, press the 'Cancel' button."; + next; + if (select("Press 'Mix' Button.:Press 'Cancel' Button.") == 1) { + mes "[Mixing Machine]"; + mes "Place items into the Mixing Receptacle now. Please wait."; + next; + mes "[Mixing Machine]"; + if (countitem(909) < .@mixitem1_1) { + mes "Insufficient Jellopy."; + mes "Please Check again."; + mes "Process Halted."; + close; + } + else if (countitem(914) < .@mixitem1_2) { + mes "Insufficient Fluff."; + mes "Please Check again."; + mes "Process Halted."; + close; + } + else if (countitem(519) < .@mixitem1_3) { + mes "Insufficient Milk."; + mes "Please Check again."; + mes "Process Halted."; + close; + } + else if (.@mixitem2 == 1 || .@mixitem2 == 2) { + if (countitem(1089) == 0 && countitem(1088) == 0) { + mes "Solution not found."; + mes "Please Check again."; + mes "Process Halted."; + close; + } + } + if (.@mixitem1_1 != 0) delitem 909,.@mixitem1_1; //Jellopy + if (.@mixitem1_2 != 0) delitem 914,.@mixitem1_2; //Fluff + if (.@mixitem1_3 != 0) delitem 519,.@mixitem1_3; //Milk + if (.@mixitem2 == 1) delitem 1089,1; //Payon_Potion + if (.@mixitem2 == 2) delitem 1088,1; //Morocc_Potion + mes "Items are Ready."; + mes "Close the Lid."; + set .@progress,3; + next; + } + break; + case 2: + set .@continue,0; + next; + break; + case 3: + set .@mixitem1_1,0; + set .@mixitem1_2,0; + set .@mixitem1_3,0; + set .@progress,0; + set .@continue,0; + mes "[Mixing Machine]"; + mes "Reset Complete."; + mes "Initiate again?"; + next; + if (select("Yes.:No.") == 1) + break; + mes "[Mixing Machine]"; + mes "Process Halted."; + mes "Thank you."; + close; + } + if (.@progress == 3) break; + } + else if (.@progress == 1) { + mes "[Mixing Machine]"; + mes "Nothing found."; + next; + } + mes "[Mixing Machine]"; + mes "Select items to mix."; + while(1) { + switch(select("Jellopy.:Fluff.:Milk.:Ready to Mix.")) { + case 1: + while(1) { + input .@input; + if (.@input > 10000) { + next; + mes "[Mixing Machine]"; + mes "Error: Item limit exceeded. Please enter values less than 10,000 try again."; + next; + } + else { + if (countitem(909) > 0) set .@mixitem1_1,.@mixitem1_1 + .@input; + set .@progress,2; + break; + } + } + break; + case 2: + while(1) { + input .@input; + if (.@input > 10000) { + next; + mes "[Mixing Machine]"; + mes "Error: Item limit exceeded. Please enter values less than 10,000 try again."; + next; + } + else { + if (countitem(914) > 0) set .@mixitem1_2,.@mixitem1_2 + .@input; + set .@progress,2; + break; + } + } + break; + case 3: + while(1) { + input .@input; + if (.@input > 10000) { + next; + mes "[Mixing Machine]"; + mes "Error: Item limit exceeded. Please enter values less than 10,000 try again."; + next; + } + else { + if (countitem(519) > 0) set .@mixitem1_3,.@mixitem1_3 + .@input; + set .@progress,2; + break; + } + } + break; + + case 4: + if (.@progress != 2) + set .@progress,1; + set .@continue,1; + next; + } + if (.@continue) break; + } + } + mes "[Mixing Machine]"; + mes "Please enter the "; + mes "Serial Number of"; + mes "the Magic Powder."; + next; + while(1) { + input .@input; + if (.@input < 1000 || .@input > 9999) { + mes "[Mixing Machine]"; + if (.@input == 0) { + mes "Do you want to skip this Menu?"; + next; + if (select("Yes.:No.") == 1) { + break; + } + } + else { + mes "Invalid Serial Number."; + mes "Please try again."; + next; + } + } + else { + mes "[Mixing Machine]"; + mes "The Serial Number is #" + .@input + ", correct?"; + next; + if (select("Confirm.:Cancel.") == 1) { + if (.@input == 8472) + set .@magic_powder,1; + else if (.@input == 3735) + set .@magic_powder,2; + else if (.@input == 2750) + set .@magic_powder,3; + else if (.@input == 5429) + set .@magic_powder,4; + else + set .@magic_powder,5; + } + break; + } + } + mes "[Mixing Machine]"; + mes "Choose a"; + mes "Catalyst Stone."; + next; + switch(select("Yellow Gemstone.:Red Gemstone.:Blue Gemstone.:1carat Diamond.:Skip.")) { + case 1: set .@mixitem3,1; break; + case 2: set .@mixitem3,2; break; + case 3: set .@mixitem3,3; break; + case 4: set .@mixitem3,4; break; + case 5: break; + } + mes "[Mixing Machine]"; + mes "All Set."; + mes "Initiating"; + mes "Mixing process."; + mes "Please Wait."; + next; + mes "[Mixing Machine]"; + mes "- Proverb of the Day -"; + switch(rand(1,5)) { + case 1: + mes "An Eye for an Eye: When you take from a person, you must replace or repay in some way."; + break; + case 2: + mes "Credibility is a Man's Currency: There's a value in genuine trust that cannot be measured."; + break; + case 3: + mes "What Goes Around Comes Around: Ultimately, you will be treated in the way you treat others."; + mes "It means 'When you harm Another you will be harmed by him in an unavoidable situation'."; + break; + case 4: + mes "A good neighbor is better than a distant brother: When you need help, you can count on those close to you."; + break; + default: + mes "Birds of a Feather Flock Together: You can look at a person's friends as an indicator of their character."; + } + next; + if (.@mixitem1_1 == 2 && .@mixitem1_2 == 3 && .@mixitem1_3 == 1 && .@mixitem2 == 1 && .@mixitem3 == 1 && .@magic_powder == 1) { + mes "[Mixing Machine]"; + mes "Mage Test Solution No. 1."; + getitem 1071,1; //Mage_Test_1 + next; + } + else if (.@mixitem1_1 == 3 && .@mixitem1_2 == 1 && .@mixitem1_3 == 1 && .@mixitem2 == 0 && .@mixitem3 == 2 && .@magic_powder == 2) { + mes "[Mixing Machine]"; + mes "Mage Test Solution No. 2."; + getitem 1085,1; //Mage_Test_2 + next; + } + else if (.@mixitem1_1 == 6 && .@mixitem1_2 == 1 && .@mixitem1_3 == 0 && .@mixitem2 == 1 && .@mixitem3 == 3 && .@magic_powder == 3) { + mes "[Mixing Machine]"; + mes "Mage Test Solution No. 3."; + getitem 1086,1; //Mage_Test_3 + next; + } + else if (.@mixitem1_1 == 2 && .@mixitem1_2 == 3 && .@mixitem1_3 == 0 && .@mixitem2 == 2 && .@mixitem3 == 4 && .@magic_powder == 4) { + mes "[Mixing Machine]"; + mes "Mage Test Solution No. 4."; + getitem 1087,1; //Mage_Test_4 + next; + } + else { + mes "[Mixing Machine]"; + mes "Unexpected"; + mes "Error Occurred."; + getitem 1090,1; //Mage_Test_Etc + next; + } + mes "[Mixing Machine]"; + mes "Mixing Complete."; + mes "Thank you."; + close; + } close; } @@ -172,9 +611,8 @@ pay_arche,122,100,0 script Dollshoi 88,{ close; } delitem 1092,1; //Empty_Cylinder - set Zeny, Zeny - 50; + set zeny,zeny-50; getitem 1089,1; //Payon_Potion - close; } close; } @@ -185,7 +623,7 @@ moc_ruins,91,150,0 script Ponka-Hontas 93,{ next; if (select("Alright, Deal.:Nah, forget it.") == 1) { mes "[Mage Guildsman]"; - if (Zeny < 50) { + if (zeny < 50) { mes "I'm sorry, but you don't have enough money to cover the 50 Zeny fee."; close; } @@ -194,9 +632,8 @@ moc_ruins,91,150,0 script Ponka-Hontas 93,{ close; } delitem 1092,1; //Empty_Cylinder - set Zeny, Zeny - 50; + set zeny,zeny-50; getitem 1088,1; //Morocc_Potion - close; } close; } @@ -205,7 +642,7 @@ geffen_in,177,112,4 script Bookshelf 111,{ mes "[Guide Book]"; mes "This Guide Book is the property of the Geffen Mage Association. Please handle with care."; next; - switch (select("Solution No. 1.:Solution No. 2.:Solution No. 3.:Solution No. 4.:Close.")) { + switch(select("Solution No. 1.:Solution No. 2.:Solution No. 3.:Solution No. 4.:Close.")) { case 1: mes "[Mage Test Solution No. 1]"; mes "* Ingredients List *"; @@ -295,4 +732,5 @@ geffen_in,177,112,4 script Bookshelf 111,{ mes "Mixing Machine)"; close; } -} \ No newline at end of file + close; +} diff --git a/npc/pre-re/jobs/1-1/merchant.txt b/npc/pre-re/jobs/1-1/merchant.txt index c9ad936fd..e5fd17c84 100644 --- a/npc/pre-re/jobs/1-1/merchant.txt +++ b/npc/pre-re/jobs/1-1/merchant.txt @@ -1,20 +1,38 @@ //===== rAthena Script ======================================= -//= Renewal Merchant Job Change +//= Merchant Job Quest //===== By: ================================================== -//= Kisuka +//= kobra_k88; L0ne_W0lf //===== Current Version: ===================================== -//= 1.1 +//= 2.3 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= Job Change to Merchant Class +//= [Aegis Conversion] +//= Job quest for Merchant classes //===== Additional Comments: ================================= -//= 1.0 First Version. [Kisuka] -//= 1.1 Added Baby job change support. [Masao] +//= Fully working +//= v1.1 Added instant job change for High Novice [Lupus] +//= v1.3 Added Baby Class support [Lupus] +//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] +//= 1.5 Changed Prontera->Izlude teleport price to 600 [Lupus] +//= 1.5.1 Removed Duplicates [Silent] +//= 1.5.2 Now saves/restores all quest skills [Lupus] +//= 1.6 Merged back JFunc, CHANGED NUMBERS TO CONSTANTS [Lupus] +//= 1.7 Updated to use Free Ticket for Kafra [Lupus] +//= 1.8 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] +//= No longer uses function "F_ToHigh" +//= 1.9 Bugfixes, thanks to Barron-Monster. [L0ne_W0lf] +//= 1.9a Added a missing next; (Barron-Monster) [L0ne_W0lf] +//= 1.9b Typo. "nextl" -> "next;" (Barron-Monster) [L0ne_W0lf] +//= 2.0 Should "fix" the problem with the Biliban Kafra. [L0ne_W0lf] +//= 2.1 Fixed mistake in condition check. [L0ne_W0lf] +//= 2.2 Added Quest Log commands. [L0ne_W0lf] +//= 2.3 Fixed an issue with completequest by adding checkquest. [Kisuka] //============================================================ + alberta_in,53,43,6 script Merchant#mer 86,{ if (Upper == 1) { - if ((Class == Job_Novice_High) && (ADVJOB == Job_Whitesmith || ADVJOB == Job_Creator)) { + 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"; @@ -37,7 +55,7 @@ alberta_in,53,43,6 script Merchant#mer 86,{ 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,1; + skill 143,0,0; jobchange Job_Merchant_High; skill 153,1,0; skill 154,1,0; @@ -46,69 +64,28 @@ alberta_in,53,43,6 script Merchant#mer 86,{ mes "Ah~ How nostalgic. Just like old times! Alright, do your best!"; close; } - mes "[Chief Mahnsoo]"; - mes "^333333*Sigh*^000000"; - mes "I'm so bored..."; - mes "When will I hear from my lovely Blossom?"; - close; - } - mes "[Chief Mahnsoo]"; - mes "So, what brings you to"; - mes "the Merchant Association?"; - mes "Is there anything"; - mes "I can help you with?"; - next; - switch (select("I want to be a Merchant.:Tell me about Merchants.:Tell me the requirements.:Nope.")) { - case 1: - if (Class == Job_Baby || Class == Job_Novice) { - 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!"; - next; - skill 143,0,1; - if(Class == Job_Baby){ - jobchange Job_Baby_Merchant; - } else { - jobchange Job_Merchant; - } - set MERCNT_Q,0; - set MERCNT_Q2,0; - getitem 1381,1; //N_Battle_Axe - mes "[Guildsman Mahnsoo]"; - mes "Congratulations again for being a member of the merchant guild and one of our colleagues. I expect your active participation from now on!"; - 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; - } - if (Class == Job_Baby_Merchant || Class == Job_Merchant || Class == Job_Merchant_High) { + else { mes "[Chief Mahnsoo]"; - mes "Hello there!"; - mes "How do you like"; - mes "being a Merchant?"; - next; - mes "[Chief Mahnsoo]"; - mes "Having a way with"; - mes "money certainly"; - mes "has its perks,"; - mes "does it not?"; + mes "^333333*Sigh*^000000"; + mes "I'm so bored..."; + mes "When will I hear from my lovely Blossom?"; close; } + } + if (BaseJob == Job_Merchant) { + mes "[Chief Mahnsoo]"; + mes "Hello there!"; + mes "How do you like"; + mes "being a Merchant?"; + next; + mes "[Chief Mahnsoo]"; + mes "Having a way with"; + mes "money certainly"; + mes "has its perks,"; + mes "does it not?"; + close; + } + else if (BaseJob != Job_Merchant && BaseJob != Job_Novice) { mes "[Chief Mahnsoo]"; mes "We Merchants hate people who are two faced. It's bad for business."; next; @@ -118,97 +95,1078 @@ alberta_in,53,43,6 script Merchant#mer 86,{ mes "[Chief Mahnsoo]"; mes "Well, in any case, we only accept Novices for job changes to the Merchant class. But I appreciate your interest in what we do."; close; - case 2: + } + else if (job_merchant_q == 9) { mes "[Chief Mahnsoo]"; - mes "Merchant?"; - mes "Well, we basically sell goods to make money. That is the way"; - mes "of the Merchant."; + mes "Hello there,"; + mes ""+ strcharinfo(0) +"."; + set job_merchant_q,0; + set job_merchant_q2,0; + set quest_alb_01,0; + mes "Unfortunately, you failed to earn your Merchant License this time."; next; mes "[Chief Mahnsoo]"; - mes "I guess we may not be the best at fighting, and we don't have many special attacks. We've got no healing skills..."; - next; + mes "I'll erase your records, so come back anytime when you want to reapply."; + close; + } + else if (job_merchant_q == 8 || job_merchant_q == 7) { mes "[Chief Mahnsoo]"; - mes "But we can buy goods at lower prices from NPC shops and sell them at a higher price to other people~"; + mes "Hello there,"; + mes ""+ strcharinfo(0) +"."; + mes "I'm pleased to tell you"; + mes "that I have good news!"; next; mes "[Chief Mahnsoo]"; - mes "Our ultimate attack skill is 'Mammonite.' The strength of Mammonite comes from the anger"; - mes "when we're forced to throw away perfectly good zeny."; + mes "The Merchant Guild accepted your application. You've proven that you are fully qualified to become a Merchant."; + if (job_merchant_q == 7) { + next; + mes "[Chief Mahnsoo]"; + mes "The only thing to take care of is your Membership Fee."; + mes "Are you ready?"; + next; + switch(select("Pay the rest of the 500 Zeny:Quit")) { + case 1: + mes "[Chief Mahnsoo]"; + if (Zeny < 500) { + mes "Hmmm..."; + mes "I suppose you currently don't have enough zeny to pay the rest of your Membership fee right now."; + next; + mes "[Chief Mahnsoo]"; + mes "Please return when you have earned the 500 zeny that you need to become a Merchant."; + close; + } + set zeny,zeny-500; + mes "Ah yes...!"; + mes "Now your"; + mes "membership"; + mes "is paid in full."; + break; + case 2: + mes "[Chief Mahnsoo]"; + mes "I suppose you need some time to gather some zeny to pay your membership fee. Please come"; + mes "back as soon as you're ready."; + close; + } + } next; mes "[Chief Mahnsoo]"; - mes "Throwing away zeny like that"; - mes "causes a deadly rage to well up in the heart of any Merchant!"; - mes "Just thinking about it"; - mes "makes my blood boil!"; + mes "Congratulations!"; + callfunc "Job_Change",Job_Merchant; + callfunc "F_ClearJobVar"; + if(checkquest(1009) != -1) { + completequest 1009; + } + else if(checkquest(1010) != -1) { + completequest 1010; + } + else if(checkquest(1011) != -1) { + completequest 1011; + } + else { + completequest 1012; + } + mes "I'm very pleased that you are joining the Merchant Guild and hope that you will play an active part in Rune-Midgarts' economy."; + next; + if (quest_alb_01 == 1) { + mes "[Chief Mahnsoo]"; + mes "*Ahem* Aaaaand let me give you a little bit of money for delivering that message to Blossom for me."; + mes "I hope you'll help me again next time~"; + set zeny,zeny+200; + set quest_alb_01,2; + } + else { + mes "[Chief Mahnsoo]"; + mes "The message you were supposed to deliver as per my request? You've forgotten about that? Oh well. Good work!"; + } next; mes "[Chief Mahnsoo]"; - mes "Anyway, we can use most"; - mes "weapons except Bows, Rods, and Two-Handed Swords. But we can always sell those."; + mes "Our goal is to control 20 % of the world's income! We're going to need young, eager people like you!"; next; mes "[Chief Mahnsoo]"; - mes "Yes..."; - mes "We Merchants generally"; - mes "have money on our minds..."; + mes "But overall, we'll also be happy just to make loads of money."; + mes "But we all know that~"; close; - case 3: - mes "[Guildsman Mahnsoo]"; - mes "To become a Merchant,"; - mes "although just selling and receiving money is our job,"; - mes "you will need to learn all Basic Skills."; + } + else if (job_merchant_q <= 6 && job_merchant_q != 0) { + mes "[Chief Mahnsoo]"; + if (job_merchant_q2 == 1 || job_merchant_q2 == 2) { + mes "First, get the delivery package from the storehouse, and then take it to the former Swordman's Association in Prontera."; + next; + mes "[Chief Mahnsoo]"; + mes "When you get there, give the package to the Kafra Employee stationed near there. Her name is Blossom. Did you get all that?"; + next; + if (job_merchant_q2 == 1) { + mes "[Chief Mahnsoo]"; + mes "Remember, the Serial Number of the package is ^3355FF2485741^000000."; + setquest 1009; + } + else { + mes "[Chief Mahnsoo]"; + mes "Remember, the Serial Number of the package is ^3355FF2328137^000000."; + setquest 1009; + } + } + else if (job_merchant_q2 == 3 || job_merchant_q2 == 4) { + mes "First, get the delivery package from the storehouse, and then take it to the Mage Guild in Geffen."; + next; + if (job_merchant_q2 == 3) { + mes "[Chief Mahnsoo]"; + mes "When you get there, give the package to the Mage Guildsman in charge. Remember, the packages Serial Number is ^3355FF2989396^000000."; + setquest 1010; + } + else { + mes "[Chief Mahnsoo]"; + mes "When you get there, give the package to the Mage Guildsman in charge. Remember, the packages Serial Number is ^3355FF2191737^000000."; + setquest 1010; + } + } + else if (job_merchant_q2 == 5 || job_merchant_q2 == 6) { + mes "First, get the delivery package from the storehouse, and then take it to Morroc."; + next; + mes "[Chief Mahnsoo]"; + mes "You'll have to find Java Dullihan, the Dyemaker, so that you can deliver the product he ordered."; + next; + if (job_merchant_q2 == 5) { + mes "[Chief Mahnsoo]"; + mes "But he's a little forgetful, so give it to one of his students. Remember, the package's Serial Number is ^3355FF3012685^000000."; + setquest 1011; + } + else { + mes "[Chief Mahnsoo]"; + mes "But he's a little forgetful, give it to one of his students. Remember, the package's Serial Number is ^3355FF3487372^000000."; + setquest 1011; + } + } + else if (job_merchant_q2 == 7 || job_merchant_q2 == 8) { + mes "First, get the package from the storehouse, and then give it to the Kafra Employee stationed on Byalan Island. Her name is Blossom."; + next; + if (job_merchant_q2 == 7) { + mes "[Chief Mahnsoo]"; + mes "Remember, the package's Serial Number is ^3355FF3318702^000000."; + setquest 1012; + } + else { + mes "[Chief Mahnsoo]"; + mes "Remember, the package's Serial Number is ^3355FF3543625^000000."; + setquest 1012; + } + } + if (job_merchant_q2 == 7 || job_merchant_q2 == 8) { + next; + mes "[Chief Mahnsoo]"; + mes "Aaaannnnd..."; + mes "Don't forget to deliver that message for me~"; + } next; - mes "[Guildsman Mahnsoo]"; - mes "Well, we used to receive a Membership Fee. But was it so hard to make that money?"; - mes "There were too many people who couldn't gather that money and kept crying."; + mes "[Chief Mahnsoo]"; + mes "Don't forget your destination and the package's Serial Number."; + mes "You'll need to tell them"; + mes "to the storekeeper."; next; - mes "[Guildsman Mahnsoo]"; - mes "So recently, we decided to allow any Novice who wants to be a Merchant become one."; - mes "Because staying alive or not, it all rests on your own ability."; - close; - case 4: + mes "[Chief Mahnsoo]"; + mes "The storehouse is in the room"; + mes "to my right. There, you can talk"; + mes "to the storekeeper, and he'll"; + mes "help you out."; + next; + mes "[Chief Mahnsoo]"; + mes "After you make the delivery, return to the storehouse and give the receipt to the storekeeper."; + mes "Then, come back"; + mes "and see me."; + next; + mes "[Chief Mahnsoo]"; + mes "Is that clear?"; + mes "Alright, that's"; + mes "the spirit."; + mes "Take care!"; close; } + else if (job_merchant_q == 0) { + mes "[Chief Mahnsoo]"; + mes "So, what brings you to"; + mes "the Merchant Association?"; + mes "Is there anything"; + mes "I can help you with?"; + next; + switch(select("I want to be a Merchant.:Tell me about Merchants.:Tell me the requirements.:Nope.")) { + case 1: + mes "[Chief Mahnsoo]"; + mes "Do you want to"; + mes "be a Merchant?"; + mes "Well..."; + next; + if (getskilllv("NV_BASIC") < 9) { + mes "[Chief Mahnsoo]"; + mes "First, you have to be a Novice with Job Level 10. Once you do that, make sure you learn all of the Basic Skills."; + next; + mes "[Chief Mahnsoo]"; + mes "We're not just"; + mes "simple money makers!"; + mes "We pride ourselves on having standards and only accepting qualified applicants!"; + close; + } + mes "[Chief Mahnsoo]"; + mes "Alright, you'll need to fill out this application and prepare 1,000 Zeny for your Membership Fee."; + next; + mes "[Chief Mahnsoo]"; + mes "Oh...!"; + mes "If you don't have all the money,"; + mes "I can just take 500 Zeny now."; + mes "You can pay the rest after you"; + mes "pass the test and earn your"; + mes "Merchant Guild License."; + next; + mes "[Chief Mahnsoo]"; + mes "So what do you think?"; + mes "Are you ready to join now?"; + next; + if (select("Yes, I will.:Ummm, maybe later...") ==1 ) { + mes "[Chief Mahnsoo]"; + mes "Let me check if you"; + mes "filled out everything"; + mes "on your application form..."; + next; + mes "[Chief Mahnsoo]"; + mes "Hmm... "; + mes "" + strcharinfo(0) + "..."; + mes "That's a nice name."; + next; + mes "[Chief Mahnsoo]"; + mes "This application will"; + mes "only be registered once"; + mes "the Membership Fee is paid."; + mes "How do you wish to"; + mes "handle the fee?"; + next; + switch(select("Pay all 1,000 Zeny now!:Two payments of 500 Zeny.:Quit")) { + case 1: + mes "[Chief Mahnsoo]"; + if (Zeny >= 1000) { + set job_merchant_q,2; + set zeny,zeny-1000; + mes "Alright~"; + mes "That's 1,000 zeny."; + mes "Excellent, excellent."; + } + else { + mes "It seems don't have enough zeny to pay all of the fee right now. Why don't you just pay 500 zeny now? Think about it."; + close; + } + break; + case 2: + mes "[Chief Mahnsoo]"; + if (Zeny >= 500) { + set job_merchant_q,1; + set zeny,zeny-500; + mes "Let's see..."; + mes "That's 500 Zeny. Although I don't think splitting payment is a good idea for any Merchant, it's alright since you're still learning."; + } + else { + mes "Hmm..."; + mes "It seems you don't have the funds to pay half of the membership fee. Please come back once you collect the zeny that you need."; + close; + } + break; + case 3: + mes "[Chief Mahnsoo]"; + mes "Feel free to return anytime"; + mes "when you are ready, alright?"; + close; + } + } + else { + mes "[Chief Mahnsoo]"; + mes "You don't have enough zeny now? That's no problem. Take your time and come back when you're"; + mes "ready, okay?"; + close; + } + next; + mes "[Chief Mahnsoo]"; + mes "Alright, you're now on the list of applicants. Ah, before I get started let me say just one thing."; + next; + mes "[Chief Mahnsoo]"; + mes "There are some dumb and greedy people out there who do not know what it means to be a Merchant."; + mes "I hope you won't turn out to be like them, will you?"; + next; + mes "[Chief Mahnsoo]"; + mes "Now, let me"; + mes "explain what you"; + mes "need to do for the"; + mes "Merchant License Test."; + next; + mes "[Chief Mahnsoo]"; + switch(rand(1,4)) { + case 1: + mes "First, get the delivery package from the storehouse, then go to the former Swordman's Association in Prontera."; + next; + mes "[Chief Mahnsoo]"; + mes "When you get there, visit the Kafra Employee stationed there. Her name is Blossom. Did you get"; + mes "all of that?"; + callsub S_GiveSerial,2485741,1,2328137,2; + break; + case 2: + mes "First, get the delivery package from the storehouse, and then go to the Mage Guild in Geffen. When you get there, visit the Mage Guildsman in charge."; + callsub S_GiveSerial,2989396,3,2191737,4; + break; + case 3: + mes "First, get the delivery package from the storehouse, and then go to Morroc. There you must find Java Dullihan, the dyemaker."; + next; + mes "[Chief Mahnsoo]"; + mes "He's a bit forgetful, so you should probably give the package to one of his students."; + callsub S_GiveSerial,3012685,5,3487372,6; + break; + case 4: + mes "First, get the delivery package from the storehouse, and then give it to the Kafra Employee stationed on Byalan Island."; + callsub S_GiveSerial,3318702,7,3543625,8; + next; + mes "[Chief Mahnsoo]"; + mes "Ummmm..."; + mes "And I also have"; + mes "a bit of a personal"; + mes "request for you."; + next; + mes "[Chief Mahnsoo]"; + mes "Would you please give her this message when you deliver the package? Please~"; + getitem 1072,1; //Delivery_Message + break; + } + next; + mes "[Chief Mahnsoo]"; + mes "Don't forget your destination and the package's Serial Number. You will need to tell those to the storekeeper in the storehouse to the right of me."; + next; + mes "[Chief Mahnsoo]"; + mes "After the delivery, give the receipt to the storekeeper, and then come back and see me."; + next; + mes "[Chief Mahnsoo]"; + mes "Is that clear?"; + mes "Alright, that's"; + mes "the spirit."; + mes "Take care!"; + close; + case 2: + mes "[Chief Mahnsoo]"; + mes "Merchant?"; + mes "Well, we basically sell goods to make money. That is the way"; + mes "of the Merchant."; + next; + mes "[Chief Mahnsoo]"; + mes "I guess we may not be the best at fighting, and we don't have many special attacks. We've got no healing skills..."; + next; + mes "[Chief Mahnsoo]"; + mes "But we can buy goods at lower prices from NPC shops and sell them at a higher price to other people~"; + next; + mes "[Chief Mahnsoo]"; + mes "Our ultimate attack skill is 'Mammonite.' The strength of Mammonite comes from the anger"; + mes "when we're forced to throw away perfectly good zeny."; + next; + mes "[Chief Mahnsoo]"; + mes "Throwing away zeny like that"; + mes "causes a deadly rage to well up in the heart of any Merchant!"; + mes "Just thinking about it"; + mes "makes my blood boil!"; + next; + mes "[Chief Mahnsoo]"; + mes "Anyway, we can use most"; + mes "weapons except Bows, Rods, and Two-Handed Swords. But we can always sell those."; + next; + mes "[Chief Mahnsoo]"; + mes "Yes..."; + mes "We Merchants generally"; + mes "have money on our minds..."; + close; + case 3: + mes "[Chief Mahnsoo]"; + mes "There are three conditions that must be fulfilled before you can become a Merchant."; + next; + mes "[Chief Mahnsoo]"; + mes "First, You have to be a Novice with Job Level 10, and have learned all of the Basic Skills."; + next; + mes "[Chief Mahnsoo]"; + mes "Second, You have to pay a 1,000 Zeny Membership Fee. I believe any Merchant candidate should be able to earn 1,000 Zeny with ease."; + next; + mes "[Chief Mahnsoo]"; + mes "Third, there is a License Test to test your physical strength and sense of direction. You will deliver a package to a specific person in a specific location."; + close; + case 4: + close; + } + } + +S_GiveSerial: + next; + mes "[Chief Mahnsoo]"; + mes "Remember..."; + if (rand(1)) { + mes "The package's"; + mes "Serial Number is"; + mes "^3355FF"+getarg(0)+"^000000."; + set job_merchant_q2,getarg(1); + } + else { + mes "The package's"; + mes "Serial Number is"; + mes "^3355FF"+getarg(2)+"^000000."; + set job_merchant_q2,getarg(3); + } + return; } -alberta_in,28,29,2 script Merchant Guildsman 83,{ - if ((MERCNT_Q >= 0) && (MERCNT_Q <= 2)) { +alberta_in,28,29,2 script Merchant Guildsman#mer 83,{ + if (BaseJob == Job_Merchant) { mes "[Union Staff Kay]"; - mes "I am sorry, but we don't make deliveries anymore."; - mes "Didn't Chief Mahnsoo tell you?"; + mes "Heya pal."; + mes "How ya doin'?"; close; } - mes "[Union Staff Kay]"; - mes "Ah, we don't make deliveries anymore."; - mes "Too many people cried and kept whining that it's too difficult."; - next; - mes "[Union Staff Kay]"; - mes "Well, maybe we will have a few deliveries later."; - mes "Anyway, I don't have any work now..."; - close; + else if (BaseJob != Job_Merchant && BaseJob != Job_Novice) { + mes "[Union Staff Kay]"; + mes "Hey you. We don't have any open positions for part time work. If you wanna earn some zeny, you'll hafta look elsewhere."; + close; + } + else if (job_merchant_q == 9) { + mes "[Union Staff Kay]"; + mes "Hey you. Yeah, you."; + mes "If you wanna restart the test, go visit Mahnsoo in the other room. Then we can talk."; + close; + } + else if (job_merchant_q == 8 || job_merchant_q == 7) { + mes "[Union Staff Kay]"; + mes "Alright! Everything looks perfect! I'll report your success to the guildmaster. Now go talk to Chief Mahnsoo, yeah?"; + close; + } + else if (job_merchant_q == 6 || job_merchant_q == 5) { + mes " [Union Staff Kay] "; + mes "Oh, yeah? Okay, lemme check. Your name is " + strcharinfo(0) + "? Alright, your destination was..."; + next; + mes "[Union Staff Kay]"; + if (job_merchant_q2 == 1 || job_merchant_q2 == 2) + mes "Wow! You met the Kafra babe in Prontera?! Lucky you~ ...Receipt?"; + else if (job_merchant_q2 == 3 || job_merchant_q2 == 4) + mes "Geffen Magic Academy. Okay, receipt?"; + else if (job_merchant_q2 == 5 || job_merchant_q2 == 6) + mes "The dyemaker in Morroc. Not bad. Receipt?"; + else if (job_merchant_q2 == 7 || job_merchant_q2 == 8) + mes "Oh hohohoho~! The Kafra Babe on Byalan Island?! Awesome! Anyway, did you bring the receipt?"; + + if (job_merchant_q2 == 1 && countitem(1073) != 0) + delitem 1073,1; //Merchant_Voucher_1 + else if (job_merchant_q2 == 2 && countitem(1074) != 0) + delitem 1074,1; //Merchant_Voucher_2 + else if (job_merchant_q2 == 3 && countitem(1075) != 0) + delitem 1075,1; //Merchant_Voucher_3 + else if (job_merchant_q2 == 4 && countitem(1076) != 0) + delitem 1076,1; //Merchant_Voucher_4 + else if (job_merchant_q2 == 5 && countitem(1077) != 0) + delitem 1077,1; //Merchant_Voucher_5 + else if (job_merchant_q2 == 6 && countitem(1078) != 0) + delitem 1078,1; //Merchant_Voucher_6 + else if (job_merchant_q2 == 7 && countitem(1079) != 0) + delitem 1079,1; //Merchant_Voucher_7 + else if (job_merchant_q2 == 8 && countitem(1080) != 0) + delitem 1080,1; //Merchant_Voucher_8 + else { + next; + set job_merchant_q,9; + mes " [Union Staff Kay] "; + mes "Wait a sec."; + mes "Where's the receipt?"; + mes "What happened?"; + next; + mes " [Union Staff Kay] "; + mes "If you don't have the receipt, you fail the test! You better talk to Mahnsoo if you wanna retake it, alright? Pay attention next time!"; + close; + } + next; + mes " [Union Staff Kay] "; + mes "...Great! Everything's perfect! I'll report your success to the Guildmaster. You should talk to Chief Mahnsoo now, alright?"; + close2; + if (job_merchant_q == 6) + set job_merchant_q,8; + else if (job_merchant_q == 5) + set job_merchant_q,7; + end; + } + else if (job_merchant_q == 4 || job_merchant_q == 3 && countitem(1081) == 0 && countitem(1082) == 0 && countitem(1091) == 0) { + mes " [Union Staff Kay] "; + mes "Huh?"; + mes "You're back?"; + mes "So how did"; + mes "the delivery go?"; + next; + if (select("*Sob* I lost the package.:Fine.") == 1) { + set job_merchant_q,9; + mes "[Union Staff Kay]"; + mes "Are you kidding me? You'll fail the test if you lose the package!"; + next; + mes "[Union Staff Kay]"; + mes "Awwww man. Well, if you wanna restart the test, talk to Mahnsoo, okay? You're lucky you're getting another chance!"; + close; + } + mes "[Union Staff Kay]"; + mes "Huh..."; + mes "Okay..."; + close; + } + else if (job_merchant_q == 4 || job_merchant_q == 3 && countitem(1081) != 0 || countitem(1082) != 0 || countitem(1091) != 0) { + mes "[Union Staff Kay]"; + mes "Hey, what are you still doing here? Shouldn't you be on your way already?"; + next; + if (select("I need a new package.:Oh, yeah. You're right!") == 1) { + if (countitem(1081) == 0 && countitem(1082) == 0 && countitem(1083) == 0 && countitem(1091) == 0) { + mes "[Union Staff Kay]"; + mes "Wha--?"; + mes "So where did"; + mes "the package go?"; + mes "Where is it?!"; + next; + if (select("*Sob* I lost it!:I have it right here.") == 1) { + set job_merchant_q,9; + mes "[Union Staff Kay]"; + mes "You..."; + mes "Lost it?!"; + mes "You failed the test!"; + next; + mes "[Union Staff Kay]"; + mes "*Sigh* If you want to restart the test, go visit Mahnsoo in the other room, alright?"; + close; + } + mes "[Union Staff Kay]"; + mes "Huh."; + mes "I thought"; + mes "you lost it."; + mes "You don't"; + mes "need a new one."; + close; + } + mes "[Union Staff Kay]"; + mes "*Sigh* Man, you're starting to become a pain in the ass. Hold on, lemme cancel your record..."; + if (countitem(1081) != 0) + delitem 1081,1; //Merchant_Box_1 + else if (countitem(1082) != 0) + delitem 1082,1; //Merchant_Box_2 + else if (countitem(1091) != 0) + delitem 1091,1; //Merchant_Box_Etc + if (job_merchant_q == 4) + set job_merchant_q,2; + else if (job_merchant_q == 3) + set job_merchant_q,1; + next; + mes "[Union Staff Kay]"; + mes "I need some time to get everything in order, so come back later."; + close; + } + mes "[Union Staff Kay]"; + mes "What a bummer..."; + close; + } + else if ((job_merchant_q == 0 || job_merchant_q == 1 || job_merchant_q == 2)) { + set where_village,0; + mes "[Union Staff Kay]"; + mes "Hey there."; + mes "what brings"; + mes "you here?"; + next; + switch(select("My Merchant License test.:I'm looking for part time work.:Nothing.")) { + case 1: + mes "[Union Staff Kay]"; + mes "I see."; + mes "Alright."; + mes "So what's"; + mes "your name?"; + mes "" + strcharinfo(0) + "...?"; + next; + if (job_merchant_q == 0) { + mes "[Union Staff Kay]"; + mes "Huh. Your name's not on my list. Did you apply for the job change quest or what?"; + next; + mes "[Union Staff Kay]"; + mes "You gotta apply first by talking to Chief Mahnsoo in the center"; + mes "of this building, okay?"; + close; + } + mes "[Union Staff Kay]"; + mes "Alright, there you go. Lemme give you the package. Now, choose the destination of the delivery."; + next; + switch(select("Prontera.:Geffen.:Morocc.:Byalan Island.")) { + case 1: set .@where_village,1; break; + case 2: set .@where_village,2; break; + case 3: set .@where_village,3; break; + case 4: set .@where_village,4; break; + } + mes "[Union Staff Kay]"; + mes "Okay, now you need to give me the package's Serial Number. If you wanna cancel, just enter '0', alright?"; + next; + while(1) { + while(1) { + input .@input; + if (.@input == 0) { + mes "[Union Staff Kay]"; + mes "Are you sure that you wanna cancel?"; + if (select("Yes.:Let me try again.") == 1) { + mes "Alright, we'll cancel for now."; + close; + } + next; + } + else if (.@input < 1000000 || .@input > 5000000) { + mes "[Union Staff Kay]"; + mes "Hey hey. That number's not valid! Enter a value from 1000000 to 5000000. got it?"; + next; + } + else + break; + } + mes "[Union Staff Kay]"; + if (.@where_village == 1) + mes "Destination is Prontera. The Serial Number is " + .@input + ". Are you positive?"; + else if (.@where_village == 2) + mes "Destination is Geffen. Phew! That's really far! The Serial Number is " + .@input + ". Are you positive?"; + else if (.@where_village == 3) + mes "Destination is Morocc. That's pretty far away! The Serial Number is " + .@input + ". Are you positive?"; + else + mes "Lucky you! Your destination is Byalan Island. The Serial Number is " + .@input + ". Are you positive?"; + next; + if (select("Positive.:Whoops! Wrong number!") == 1) { + break; + } + } + if (.@where_village == 1) { + if (job_merchant_q2 == 1 && .@input == 2485741) + getitem 1081,1; //Merchant_Box_1 + else if (job_merchant_q2 == 2 && .@input == 2328137) + getitem 1082,1; //Merchant_Box_2 + else + getitem 1091,1; //Merchant_Box_Etc + } + else if (.@where_village == 2) { + if (job_merchant_q2 == 3 && .@input == 2989396) + getitem 1081,1; //Merchant_Box_1 + else if (job_merchant_q2 == 4 && .@input == 2191737) + getitem 1082,1; //Merchant_Box_2 + else + getitem 1091,1; //Merchant_Box_Etc + } + else if (.@where_village == 3) { + if (job_merchant_q2 == 5 && .@input == 3012685) + getitem 1081,1; //Merchant_Box_1 + else if (job_merchant_q2 == 6 && .@input == 3487372) + getitem 1082,1; //Merchant_Box_2 + else + getitem 1091,1; //Merchant_Box_Etc + } + else { + if (job_merchant_q2 == 7 && .@input == 3318702) + getitem 1081,1; //Merchant_Box_1 + else if (job_merchant_q2 == 8 && .@input == 3543625) + getitem 1082,1; //Merchant_Box_2 + else + getitem 1091,1; //Merchant_Box_Etc + } + if (job_merchant_q == 2) + set job_merchant_q,4; + else if (job_merchant_q == 1) + set job_merchant_q,3; + mes "[Union Staff Kay]"; + mes "Alright. Take this package and guard it with your life until it's safely delivered to the customer. Don't lose this thing, got it?"; + next; + mes "[Union Staff Kay]"; + mes "Well then, I wish you luck. Remember, you gotta bring me"; + mes "a receipt once you finish the delivery, okay?"; + close; + case 2: + mes "[Union Staff Kay]"; + mes "Part time job? Sorry pal, no jobs yet. The Paymaster's department can never balance our budget..."; + close; + case 3: + mes "[Union Staff Kay]"; + mes "Nothing, eh?"; + mes "I guess you enjoy"; + mes "bothering people for"; + mes "no reason then, yeah?"; + close; + } + } } morocc_in,140,102,4 script Student#mer 86,{ - if (MERCNT_Q == 4 || MERCNT_Q == 3) { + if ((job_merchant_q == 4) || (job_merchant_q == 3)) { + mes "[Dyer's Student]"; + mes "You're from"; + mes "the Merchant Guild?"; + mes "Yes! You've come to"; + mes "the right place."; + next; + mes "[Dyer's Student]"; + if (countitem(1081) == 1 || countitem(1082) == 1 || countitem(1091) == 1) { + mes "Okay~"; + mes "Please set the"; + mes "package down"; + mes "over there."; + } + else { + mes "But..."; + mes "Where's the"; + mes "package I ordered?"; + mes "That's strange..."; + close; + } + next; + mes "[Dyer's Student]"; + mes "Let me check the Serial Number of the package so I can give you the receipt, okay?"; + next; + mes "[Dyer's Student]"; + if (job_merchant_q2 == 5 && countitem(1081) != 0) { + mes "3012685..."; + mes "That's right."; + mes "Here's your"; + mes "receipt."; + delitem 1081,1; //Merchant_Box_1 + getitem 1077,1; //Merchant_Voucher_5 + } + else if (job_merchant_q2 == 6 && countitem(1082) != 0) { + mes "3487372..."; + mes "That's right."; + mes "Here's your"; + mes "receipt."; + delitem 1082,1; //Merchant_Box_2 + getitem 1078,1; //Merchant_Voucher_6 + } + else { + mes "Excuse me, but..."; + if (job_merchant_q2 == 5) + mes "I don't think this is the package we ordered. The Serial Number should be 3012685. See?"; + else if (job_merchant_q2 == 6) + mes "I don't think this is the package we ordered. The Serial Number should be 3487372. See?"; + else + mes "I don't think this is the package we ordered. The Serial Number should be 3012685 or 3487372. Well, one of those two..."; + close; + } + if (job_merchant_q == 4) + set job_merchant_q,6; + else if (job_merchant_q == 3) + set job_merchant_q,5; + next; mes "[Dyer's Student]"; - mes "I am sorry, but the Merchant Guild no longer makes deliveries to us anymore."; + mes "Thanks a lot!"; + mes "See you again"; + mes "sometime!"; + close; + } + else if (job_merchant_q == 6 || job_merchant_q == 5 && job_merchant_q2 == 6 || job_merchant_q2 == 5) { + mes "[Dyer's Student]"; + mes "Oh..."; + mes "You're gonna"; + mes "go back? Okay"; + mes "then, take care!"; + close; + } + else { + mes "[Dyer's Student]"; + mes "Mr. Java Dullihan is the one and only, the best dye maker on the Rune-Midgard continent."; + next; + mes "[Dyer's Student]"; + mes "Aaaand I'm proud to say that I'm his student! Someday, I'll be able to make really beautiful dyes too!"; + next; + mes "[Dyer's Student]"; + mes "Of course, I'm still learning the basics right now, but someday..."; close; } - mes "[Dyer's Student]"; - mes "Mr. Java Dullihan is the one and only, the best dye maker on the Rune-Midgard continent."; - next; - mes "[Dyer's Student]"; - mes "Aaaand I'm proud to say that I'm his student! Someday, I'll be able to make really beautiful dyes too!"; - next; - mes "[Dyer's Student]"; - mes "Of course, I'm still learning the basics right now, but someday..."; - close; } -geffen_in,155,122,4 script Guild Staff 47,{ - if (MERCNT_Q == 4 || MERCNT_Q == 3) { +geffen_in,155,122,4 script Guild Staff#mer 47,{ + if (job_merchant_q == 4 || job_merchant_q == 3) { + mes "[Guild Staff]"; + mes "Ah, you must be with the Merchant Guild. Finally, my package has arrived! Alright...!"; + next; + mes "[Guild Staff]"; + if (countitem(1081) == 1 || countitem(1082) == 1 || countitem(1091) == 1) { + mes "You must be very tired"; + mes "from having to travel"; + mes "in this kind"; + mes "of weather..."; + } + else { + mes "Wait..."; + mes "Where's the"; + mes "package?"; + close; + } + next; mes "[Guild Staff]"; - mes "I am sorry, but the Merchant Guild no longer makes deliveries to us anymore."; + mes "Alright, let me"; + mes "check the Serial Number..."; + if (job_merchant_q2 == 3 && countitem(1081) != 0) { + mes "2989396. Yes, this is what we ordered. Here is your receipt."; + delitem 1081,1; //Merchant_Box_1 + getitem 1075,1; //Merchant_Voucher_3 + } + else if (job_merchant_q2 == 4 && countitem(1082) != 0) { + mes "2191737. Yes, this is what we ordered. Here is your receipt."; + delitem 1082,1; //Merchant_Box_2 + getitem 1076,1; //Merchant_Voucher_4 + } + else { + mes "Uh oh, this is the wrong number. This isn't what we ordered..."; + next; + mes "[Guild Staff]"; + if (job_merchant_q2 == 3) { + mes "The Serial Number"; + mes "should be 2989396."; + } + else if (job_merchant_q2 == 4) { + mes "The Serial Number"; + mes "should be 2191737."; + } + else { + mes "The Serial Number"; + mes "should be 2989396"; + mes "or 2191737, one of"; + mes "those two."; + } + mes "Look here!"; + mes "Don't you see"; + mes "something"; + mes "is wrong?"; + close; + } + if (job_merchant_q == 4) + set job_merchant_q,6; + else if (job_merchant_q == 3) + set job_merchant_q,5; + next; + mes "[Guild Staff]"; + mes "Heh heh~"; + mes "Thank you!"; + mes "Bye bye!"; close; } - mes "[Guild Staff]"; - mes "My package should have arrived by now. Huh. I guess the Merchant Guild might be running a little late..."; - close; -} \ No newline at end of file + else if (job_merchant_q == 6 || job_merchant_q == 5 && job_merchant_q2 == 4 || job_merchant_q2 == 3) { + mes "[Guild Staff]"; + mes "Hello,"; + mes "Merchant Guildsman~"; + mes "I give you my thanks."; + close; + } + else { + mes "[Guild Staff]"; + mes "My package should have arrived by now. Huh. I guess the Merchant Guild might be running a little late..."; + close; + } +} + +prontera,248,42,0 script Kafra Employee#mer 116,{ + cutin "kafra_02",2; + if (job_merchant_q == 6 || job_merchant_q == 5) && (job_merchant_q2 == 2 || job_merchant_q2 == 1) { + mes "[Kafra Employee]"; + mes "Oh! Thank you for"; + mes "traveling such a long"; + mes "way to come over here~"; + close2; + cutin "",255; + end; + } + else if (job_merchant_q == 4 || job_merchant_q == 3) { + mes "[Kafra Employee]"; + mes "A delivery from"; + mes "the Merchant Guild?"; + mes "Oh, yes, please set"; + mes "it down right over there..."; + if (countitem(1081) == 1 || countitem(1082) == 1 || countitem(1091) == 1) { + mes "You must be really tired"; + mes "after carrying it for so long!"; + } + else { + mes "W-wait. Didn't you bring it?"; + mes "Where's the package?"; + close2; + cutin "",255; + end; + } + next; + mes "[Kafra Employee]"; + mes "Now, let me check"; + mes "the serial number..."; + if (job_merchant_q2 == 1 && countitem(1081) != 0) { + mes "2485741. Right, this is"; + mes "the one we ordered. Oh,"; + mes "and don't forget this receipt!"; + next; + delitem 1081,1; //Merchant_Box_1 + getitem 1073,1; //Merchant_Voucher_1 + } + else if (job_merchant_q2 == 2 && countitem(1082) != 0) { + mes "2328137. Right, this is"; + mes "the one we ordered. Oh,"; + mes "and don't forget this receipt!"; + next; + delitem 1082,1; //Merchant_Box_2 + getitem 1074,1; //Merchant_Voucher_2 + } + else { + mes "Mmmm? Hold on. This is"; + mes "the wrong package. What we"; + if (job_merchant_q2 == 1) + mes "ordered had the serial number 2485741. I'm sure it's not this."; + else if (job_merchant_q2 == 2) + mes "ordered had the serial number 2328137. I'm sure it's not this."; + else + mes "ordered had the serial number 2328137 or 2328137."; + next; + mes "[Kafra Employee]"; + mes "I'm afraid there"; + mes "must be some kind"; + mes "of mistake. Perhaps"; + mes "you should go back to"; + mes "the Merchant Guild to"; + mes "clear up this situation?"; + close2; + cutin "",255; + end; + } + if (job_merchant_q == 4) + set job_merchant_q,6; + else if (job_merchant_q == 3) + set job_merchant_q,5; + mes "[Kafra Employee]"; + mes "Thanks again"; + mes "for going through"; + mes "all of that trouble~"; + close2; + cutin "",255; + end; + } + else { + mes "[Kafra Employee]"; + mes "Welcome to the"; + mes "Kafra Corportation,"; + mes "where the service is"; + mes "always on your side~"; + next; + mes "[Kafra Employee]"; + mes "As you can see, the"; + mes "Swordman Assocation"; + mes "has moved to Izlude, a"; + mes "satellite city of Prontera."; + mes "Currently, we offer a Teleport"; + mes "Service to Izlude for 600 zeny."; + next; + if (select("Use:Cancel") == 1) { + if (Zeny < 600) { + mes "[Kafra Employee]"; + mes "I'm sorry, but you"; + mes "don't have enough zeny"; + mes "for this Teleport Service."; + close2; + cutin "",255; + end; + } + set zeny,zeny-600; + set RESRVPTS, RESRVPTS + 37; + cutin "",255; + warp "izlude",94,103; + end; + } + close2; + cutin "",255; + end; + } +} + +//izlu2dun,106,58,4 script Kafra Employee#mer 116,{ +function script F_MercKafra { + if ((job_merchant_q == 6 || job_merchant_q == 5) && (job_merchant_q2 == 8 || job_merchant_q2 == 7)) { + mes "[Kafra Employee]"; + mes "Oh hello~"; + mes "Um, is there"; + mes "some special reason"; + mes "as to why you're here?"; + close2; + cutin "",255; + end; + } + else if (job_merchant_q == 4 || job_merchant_q == 3) { + mes "[Kafra Employee]"; + mes "A delivery from"; + mes "the Merchant Guild?"; + mes "Oh, yes, please set"; + mes "it down right over there..."; + if (countitem(1081) == 1 || countitem(1082) == 1 || countitem(1091) == 1) { + mes "You must be really tired"; + mes "after carrying it for so long!"; + } + else { + mes "W-wait. Didn't you bring it?"; + mes "Where's the package?"; + close2; + cutin "",255; + end; + } + next; + mes "[Kafra Employee]"; + mes "Now, let me check"; + mes "the serial number..."; + if (job_merchant_q2 == 7 && countitem(1081) != 0) { + mes "3318702. Right, this is"; + mes "the one we ordered. Oh,"; + mes "and don't forget this receipt!"; + delitem 1081,1; //Merchant_Box_1 + getitem 1079,1; //Merchant_Voucher_7 + } + else if (job_merchant_q2 == 8 && countitem(1082) != 0) { + mes "3543625. Right, this is"; + mes "the one we ordered. Oh,"; + mes "and don't forget this receipt!"; + delitem 1082,1; //Merchant_Box_2 + getitem 1080,1; //Merchant_Voucher_8 + } + else { + mes "Mmmm? Hold on. This is"; + mes "the wrong package. What we"; + if (job_merchant_q2 == 7) + mes "ordered had the serial number 3318702. I'm sure it's not this."; + else if (job_merchant_q2 == 8) + mes "ordered had the serial number 3543625. I'm sure it's not this."; + else + mes "ordered had the serial number 3318702 or 3543625."; + close2; + cutin "",255; + end; + } + if (job_merchant_q == 4) + set job_merchant_q,6; + else if (job_merchant_q == 3) + set job_merchant_q,5; + next; + if (countitem(1072) != 0 && quest_alb_01 == 0) { + select("This is from Chief Mahnsoo of the Merchant Guild..."); + delitem 1072,1; //Delivery_Message + set quest_alb_01,1; + mes "[Kafra Employee]"; + mes "Oh~! A letter from"; + mes "Mahnsoo! Thank you"; + mes "so much, I've been dying"; + mes "to hear from him. How is"; + mes "he doing, is he alright?"; + mes "I can't wait to read it..."; + next; + mes "[Kafra Employee]"; + mes "Oh, thank you for"; + mes "going through all the"; + mes "trouble of delivering all"; + mes "of this. This isn't anything"; + mes "special, but please take it."; + mes "Well, see you again~"; + getitem 513,3; //Banana + } + else { + mes "[Kafra Employee]"; + mes "Thanks again"; + mes "for going through"; + mes "all of that trouble~"; + } + close2; + cutin "",255; + end; + } + return; +} diff --git a/npc/pre-re/jobs/1-1/swordman.txt b/npc/pre-re/jobs/1-1/swordman.txt index d4f04e965..df6d15662 100644 --- a/npc/pre-re/jobs/1-1/swordman.txt +++ b/npc/pre-re/jobs/1-1/swordman.txt @@ -1,138 +1,643 @@ //===== rAthena Script ======================================= -//= Renewal Swordman Job Change +//= Swordsman Job Quest //===== By: ================================================== -//= Kisuka +//= kobra_k88; L0ne_W0lf //===== Current Version: ===================================== -//= 1.1 +//= 2.3 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= Job Change to Swordman Class +//= [Aegis Conversion] +//= Job quest for Swordman classes +//= Uses Job_sword1 as opposed to sword_1-1 -> sword_3-1. +//= EXPLOITABLE in a sense because while the sword_x-1 maps +//= are marked as "inside" by the client, job_sword1 is not. +//= giving players FREE camera rotation while doing the job quest. //===== Additional Comments: ================================= -//= 1.0 First Version. [Kisuka] -//= 1.1 Added Baby job change support. [Masao] +//= Fully working. I have created a custom warp to get into the test room so disable +//= the one in your warp script or scripts. It is this warp: "izlude_in",40,170. +//= 1.1 Added instant job change for High Novice [Lupus] +//= 1.3 Added Baby Class support [Lupus] +//= 1.4 Changed the timing system to initnpctimer, now you do get warnings about time +//= and are limited to 7min to complete the quest [Fredzilla] +//= 1.5 Optimised and moved first checker to Jfunc1-1 [massdriller] +//= 1.5.1 Fixed possible EXP abuse [Lupus] +//= 1.5.2 Now saves/restores all quest skills [Lupus] +//= 1.5.3 Removed Duplicates [Silent] +//= 1.6 Merged back JFunc, CHANGED NUMBERS TO CONSTANTS [Lupus] +//= 1.7 changed location from its clone to the original [Lupus] +//= 1.7.1 Fixed warp on timeout [KarLaeda] +//= 1.8 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] +//= Removed "green" traps, quest is no longer timed. +//= No longer uses function "F_ToHigh" +//= 1.9 Dialog is official, but the Script is now custom as far as maps go. [L0ne_W0lf] +//= 1.9b Fixed usage of wrong jobchange func messing up baby classes [ultramage] +//= 2.0 Corrected NPC names to fall within proper resctrictions. [L0ne_W0lf] +//= 2.1 Fixed mistake in condition check. [L0ne_W0lf] +//= 2.2 Warp portals dont end with ; [Yommy] +//= 2.3 Added Quest Log commands. [L0ne_W0lf] //============================================================ -izlude_in,74,172,4 script Swordman 119,{ + +izlude_in,74,172,4 script Swordman#swd_1 119,{ if (Upper == 1) { - if ((Class == Job_Novice_High) && (ADVJOB == Job_Lord_Knight || ADVJOB == Job_Paladin)) { - mes "[Swordman Guildsman]"; + 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 Guildsman]"; + 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 Guildsman]"; + mes "[Swordman]"; mes "Hmm? Ah, you must first master the Basic Skills before you are ready to become a Swordman."; next; - mes "[Swordman Guildsman]"; + mes "[Swordman]"; mes "Come back to me when you have finished learning the Basic Novice Skills."; close; } - mes "[Swordman Guildsman]"; + mes "[Swordman]"; mes "Excellent! Let me promote you to a Swordman right away!"; next; - skill 143,0,1; + skill 143,0,0; jobchange Job_Swordman_High; skill 144,1,0; skill 145,1,0; skill 146,1,0; - mes "[Swordman Guildsman]"; + 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; } - mes "[Swordman Guildsman]"; - mes "Hm...?"; - mes "You're a reborn"; - mes "warrior, aren't you?"; - next; - mes "[Swordman Guildsman]"; - 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; + 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 "[Swordman]"; mes "Welcome to the"; mes "Swordman Association!"; next; - mes "[Swordman Guildsman]"; + mes "[Swordman]"; mes "So..."; mes "What business"; mes "brings you to us?"; next; - switch (select("Tell me about being a Swordman.:I want to be a Swordman.:Cancel.")) { + switch(select("Job Change:About Swordman.:About the Job requirements.:Cancel.")) { case 1: - mes "[Swordman Guildsman]"; + if (BaseJob == Job_Swordman) { + mes "[Swordman]"; + mes "Job change? Muhahaha! But you're already a Swordman! Be proud and be strong!"; + close; + } + else if (BaseJob != Job_Novice) { + mes "[Swordman]"; + mes "Haha! Oh boy. I'm flattered, but you already have another job! Still, I can't blame you..."; + close; + } + if (job_sword_q == 0) { + mes "[Swordman]"; + mes "So you wish to become a proud Swordman? By all means, please sign up!"; + next; + if (select("Sign up.:Cancel.") == 1) { + savepoint "izlude_in",65,165; + set job_sword_q,1; + setquest 1014; + mes "[Swordman]"; + mes "Ah, yes. Your application will be reviewed as soon as possible."; + next; + mes "[Swordman]"; + mes "If you have already met the requirements, you can take an interview right now. Would you like to?"; + next; + if (select("Yes.:No.") == 1) { + mes "[Swordman]"; + mes "Good, good."; + mes "Now, let's see..."; + next; + } + else { + mes "[Swordman]"; + mes "Alright then. Feel free to come back whenever you are ready. All you ahve to do now is meet our requirements. Good luck to you."; + close; + } + } + else { + mes "[Swordman]"; + mes "Hm? Alright, come back whenever you change your mind. The world can always use another Swordman!"; + close; + } + } + mes "[Swordman]"; + if (getskilllv("NV_BASIC") < 9) { + mes "Hm, you still haven't learned all of the Basic Skills. You need to do that before you can become a Swordman."; + next; + mes "[Swordman]"; + mes "Check the requirements for job change again, and come back when you are ready."; + close; + } + else if (job_sword_q <= 3) { + mes "Hm, you've learned all of the Basic Skills but didn't take the test yet. You must first pass the exam before you can change your job to Swordman."; + next; + mes "[Swordman]"; + mes "Enter the room to my right so that you can take the test. You'll need to speak to my right so you can enter the examination area."; + close; + } + else if (job_sword_q == 4) { + mes "Hahaha! Congratulations! Now you are fully qualified to be a real Swordman! I will transform you right away!"; + next; + callfunc "Job_Change",Job_Swordman; + set job_sword_q,0; + completequest 1014; + mes "[Swordman]"; + mes "Once again, congratulations. I expect that you will be a good representative of the Swordman Association."; + close; + } + case 2: + mes "[Swordman]"; mes "So you wish to know more about the mighty Swordman job? Well, then..."; next; - mes "[Swordman Guildsman]"; + mes "[Swordman]"; mes "Amongst the First Class jobs, the Swordman is the best melee fighter for three reasons."; mes "There are 3 reasons why Swordy is the best to approch a fight!"; next; - mes "[Swordman Guildsman]"; + mes "[Swordman]"; mes "First, Swordman has the benefit of additional HP. Second, Swordman generally have access to a wider selection fo weapons than the other First Class jobs."; next; - mes "[Swordman Guildsman]"; + mes "[Swordman]"; mes "And third, most of the Swordman skills are crushing physical attacks! In my opinion, being a Swordman is the best job ever!"; close; - case 2: - if (Class == Job_Baby || Class == Job_Novice) { - 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 ^4d4dffJob Level 10^000000."; - mes "and ^4d4dffBasic 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; - switch (select("Yes, I do.:I'll consider it again.")) { - case 1: - mes "[Swordman Guildsman]"; - mes "Congratulations! From now on, you are going to live a Swordman's life!"; - mes "I will transform you right away!"; - next; - skill 143,0,1; - if(Class == Job_Baby){ - jobchange Job_Baby_Swordman; - } else { - jobchange Job_Swordman; - } - getitem 13415,1; //N_Falchion - mes "[Swordman Guildsman]"; - mes "Congratulations again for becomming a Swordman and I hope that you participate in many activities for the revival of our guild."; - close; - case 2: - mes "[Swordman Guildsman]"; - mes "Yeah. Careful consideration is needed for choosing a job."; - mes "But I feel sorry... that you'll have to consider it again after all the trials...."; - close; - } - } - if (Class == Job_Baby_Swordman || Class == Job_Swordman) { - mes "[Swordman Guildsman]"; - mes "You are already an excellent Swordman, aren't you?"; - mes "Just devote yourself to be a great Swordman."; - close; + case 3: + mes "[Swordman]"; + mes "Hmmm..."; + if (BaseJob != Job_Novice) { + if (BaseJob == Job_Swordman) + mes "But there's no need to tell you the requirements. You've met them and already became a Swordman! Well, anyway..."; + else + mes "It's too late for you to become a Swordman. You already have another job. Still, there's no harm in telling you..."; } - mes "[Swordman Guildsman]"; - mes "Haha! Oh boy. I'm flattered, but you already have another job! Still, I can't blame you..."; + next; + mes "[Swordman]"; + mes "First, you must learn all 9 of the Basic Skills. If you can't complete this requirement, you won't be able to change to any job."; + next; + mes "[Swordman]"; + mes "Second, you must pass the Swordman Test. Inquire the Test Manager located in the waiting room of the Swordman Test."; + next; + mes "[Swordman]"; + mes "If you can complete these 2 requirements, you can change to a Swordman anytime you want."; close; - case 3: - mes "[Swordman Guildsman]"; + case 4: + mes "[Swordman]"; mes "Ha ha ha!"; mes "Ah, youth!"; close; } -} \ No newline at end of file +} + +izlude_in,62,170,6 script Swordman#swd_2 85,{ + mes "[Swordman]"; + if (BaseJob == Job_Swordman) { + mes "Sorry guy, but I can only allow Novices to enter the Test Hall."; + close; + } + else if (BaseJob != Job_Novice) { + mes "Who the hell are you?! Nobody, other than Novices, is permitted to come in here!"; + close; + } + else if (getskilllv("NV_BASIC") < 9) { + mes "Stop! I can't let you in until you learn all of the Basic Skills. The Test Hall isn't for goofing off!"; + close; + } + else if (job_sword_q == 4) { + mes "Hey. You need to talk to the Swordman in the center of the room, not me."; + close; + } + else if (job_sword_q == 0) { + mes "Stop! If you want to take the Swordman Test, you'll need to fill out an application first."; + next; + mes "[Swordman]"; + mes "The Swordman in the center of the room can help you with that, got it?"; + close; + } + else { + savepoint "izlude_in",65,165; + warp "izlude_in",39,170; + end; + } +} + +izlude_in,30,175,4 script Swordman#swd_3 92,{ + mes "[Swordman]"; + mes "I will tell you about the Test! Listen carefully, I won't repeat myself."; + next; + mes "[Swordman]"; + mes "The purpose of this test is to confirm whether or not you are qualified to be a Swordman. As you know, a Swordman needs physical strength and spirit!"; + next; + mes "[Swordman]"; + mes "Without those, you won't be able to become a Swordman. Now, the conditions for completing this test are very simple."; + next; + mes "[Swordman]"; + mes "You will travel through three courses and must reach the final checkpoint within ^FF000010 minutes^000000."; + next; + mes "[Swordman]"; + mes "If you choose to 'Surrender,' or if you run out of time, you will not pass the test."; + next; + mes "[Swordman]"; + mes "If you find that you are not strong enough to pass the test, head to the entrance of the course and talk to the checkpoint manager."; + next; + mes "[Swordman]"; + mes "As you travel through the three courses, you may fall to a random, underground area. The course is designed so that you can still find your way back."; + next; + mes "[Swordman]"; + mes "However, be careful, as this will waste your time! Godspeed to you."; + close; +} + +izlude_in,30,163,0 script Test Hall Staff#swd_1 105,{ + mes "[Test Hall Staff]"; + if (BaseJob == Job_Swordman) { + mes "Hm? How did you get inside? You're not supposed to be in here, so please leave now."; + close2; + warp "izlude_in",66,170; + end; + } + else if (BaseJob != Job_Novice) { + mes "Who are you?! This place is for the Swordman Test! You're not allowed to be in here! Leave now!"; + close2; + warp "izlude_in",66,170; + end; + } + if (job_sword_q == 1) { + mes "So are you the one who wants to be a Swordman? Alright! You look reliable!"; + next; + mes "[Test Hall Staff]"; + mes "Try to relax and do your best. This course isn't so difficult."; + set job_sword_q,2; + } + else if (job_sword_q == 2) { + mes "Retesting? Try not to worry about it. It's good that you don't back down from a challenge! Here, take these and cheer up!"; + getitem 512,5; //Apple + set job_sword_q,3; + } + else if (job_sword_q == 3) + mes "Don't ever give up! Now retesting!"; + close2; + warp "job_sword1",10,245; + end; +} + +// Examination Courses NPCs +//============================================================ +// 1-1 +job_sword1,230,245,2 script Medic#swd_1 105,{ + callfunc "F_JobSwdMedic","1st"; +} +job_sword1,230,242,2 script Test Hall Staff#swd_2 105,{ + callfunc "F_JobSwdStaff",1; +} +job_sword1,230,207,2 script Medic#2swd_2 105,{ + callfunc "F_JobSwdMedic","2nd"; +} +job_sword1,230,204,2 script Test Hall Staff#2swd_3 105,{ + callfunc "F_JobSwdStaff",1; +} +job_sword1,223,167,2 script Mae#swd_1_success 92,{ + mapannounce "job_sword1","Applicant " + strcharinfo(0) + ". You successfully passed the test.",bc_map; + set job_sword_q,4; + mes "[Mae]"; + mes "I sencerely congratulate you for passing the test!"; + mes "I already sent your test result to the Job Department.Please inquire at the Officer in Centre.Thank you."; + close2; + warp "izlude_in",66,173; + end; +} + +// Examination Course Functions +//============================================================ +function script F_JobSwdMedic { + percentheal 100,0; + mes "[Medic]"; + mes "This is the "+getarg(0)+" check point!Cheer up!"; + close; +} + +function script F_JobSwdStaff { + mes "[Test Hall Staff]"; + mes "Do you surrender?"; + next; + if (select("Yes.:No.") == 1) { + mapannounce "job_sword1","Applicant " + strcharinfo(0) + " quit the test.",bc_map; + warp "izlude_in",65,165; + end; + } + mes "[Test Hall Staff]"; + mes "Bravo! Go for it again!"; + close; +} + +function script F_JobSwdTestStaff { +OnTouch: + mes "[Test Hall Staff]"; + mes "Applicant " + strcharinfo(0) + ". Do you surrender??"; + next; + if (select("Yes.:No.") == 1) { + mapannounce "job_sword1","Applicant " + strcharinfo(0) + " quit the test..",bc_map; + warp "izlude_in",65,165; + end; + } + warp "job_sword1",getarg(0),getarg(1); + end; +} + +function script F_JobSwdTestStaff2 { +OnTouch: + mapannounce "job_sword1","Applicant " + strcharinfo(0) + ". Pass the "+getarg(0)+" course.",bc_map; + warp "job_sword1",getarg(1),getarg(2); + end; +} + +// Examination Course 1 +//============================================================ +job_sword1,223,243,0 warp checkp1-2#swd_1 1,1,job_sword1,11,206 +job_sword1,223,205,0 warp checkp2-3#swd_1 1,1,job_sword1,11,168 + +job_sword1,7,245,0 script Test Hall Staff#swd_4 45,1,3,{ + callfunc "F_JobSwdTestStaff",10,245; +} + +job_sword1,8,207,0 script Test Hall Staff#swd_5 45,1,6,{ + callfunc "F_JobSwdTestStaff",11,207; +} + +job_sword1,8,169,0 script Test Hall Staff#swd_6 45,1,6,{ + callfunc "F_JobSwdTestStaff",11,169; +} + +job_sword1,192,244,0 script Test Hall Staff#swd_7 45,1,3,{ + callfunc "F_JobSwdTestStaff2","1st",215,244; +} + +job_sword1,193,207,0 script Test Hall Staff#swd_8 45,1,3,{ + callfunc "F_JobSwdTestStaff2","2nd",215,205; + warp "job_sword1",215,205; +} + +job_sword1,193,168,0 script Test Hall Staff#swd_9 45,1,3,{ + callfunc "F_JobSwdTestStaff2","3rd",215,167; +} + +// Pitfalls (Set 1) +//============================================================ +job_sword1,65,117,0 warp pitfall01-01 1,1,job_sword1,10,245 +job_sword1,98,27,0 warp pitfall02-01 1,1,job_sword1,11,207 +job_sword1,161,27,0 warp pitfall02-02 1,1,job_sword1,11,207 +job_sword1,239,117,0 warp pitfall03-01 1,1,job_sword1,11,169 + +job_sword1,16,251,0 script 1_blank_1_a::SwdTrap1 -1,0,1,{ +OnTouch: + switch(rand(1,5)) { + case 1: warp "job_sword1",65,56; end; + case 2: warp "job_sword1",29,26; end; + case 3: warp "job_sword1",43,16; end; + case 4: warp "job_sword1",23,112; end; + case 5: warp "job_sword1",58,83; end; + } +} +job_sword1,19,251,0 duplicate(SwdTrap1) 1_blank_1_b -1,0,1 +job_sword1,17,250,0 duplicate(SwdTrap1) 1_blank_1_c -1,1,0 +job_sword1,16,238,0 duplicate(SwdTrap1) 1_blank_2_a -1,0,1 +job_sword1,19,238,0 duplicate(SwdTrap1) 1_blank_2_b -1,0,1 +job_sword1,17,239,0 duplicate(SwdTrap1) 1_blank_2_c -1,0,1 +job_sword1,28,247,0 duplicate(SwdTrap1) 1_blank_3_a -1,4,0 +job_sword1,33,245,0 duplicate(SwdTrap1) 1_blank_3_b -1,0,2 +job_sword1,29,242,0 duplicate(SwdTrap1) 1_blank_3_c -1,4,0 +job_sword1,24,244,0 duplicate(SwdTrap1) 1_blank_3_d -1,0,2 +job_sword1,38,251,0 duplicate(SwdTrap1) 1_blank_4_a -1,0,1 +job_sword1,41,251,0 duplicate(SwdTrap1) 1_blank_4_b -1,0,1 +job_sword1,39,250,0 duplicate(SwdTrap1) 1_blank_4_c -1,1,0 +job_sword1,38,238,0 duplicate(SwdTrap1) 1_blank_5_a -1,0,1 +job_sword1,41,238,0 duplicate(SwdTrap1) 1_blank_5_b -1,0,1 +job_sword1,39,239,0 duplicate(SwdTrap1) 1_blank_5_c -1,1,0 +job_sword1,54,251,0 duplicate(SwdTrap1) 1_blank_6_a -1,0,1 +job_sword1,71,251,0 duplicate(SwdTrap1) 1_blank_6_b -1,0,1 +job_sword1,62,250,0 duplicate(SwdTrap1) 1_blank_6_c -1,9,0 +job_sword1,62,247,0 duplicate(SwdTrap1) 1_blank_7_a -1,8,0 +job_sword1,71,244,0 duplicate(SwdTrap1) 1_blank_7_b -1,0,2 +job_sword1,63,242,0 duplicate(SwdTrap1) 1_blank_7_c -1,8,0 +job_sword1,54,244,0 duplicate(SwdTrap1) 1_blank_7_d -1,0,2 +job_sword1,54,238,0 duplicate(SwdTrap1) 1_blank_8_a -1,0,1 +job_sword1,71,238,0 duplicate(SwdTrap1) 1_blank_8_b -1,0,1 +job_sword1,62,239,0 duplicate(SwdTrap1) 1_blank_8_c -1,9,0 +job_sword1,102,247,0 duplicate(SwdTrap1) 1_blank_9_a -1,2,0 +job_sword1,105,245,0 duplicate(SwdTrap1) 1_blank_9_b -1,0,2 +job_sword1,103,242,0 duplicate(SwdTrap1) 1_blank_9_c -1,2,0 +job_sword1,100,244,0 duplicate(SwdTrap1) 1_blank_9_d -1,0,2 +job_sword1,156,249,0 duplicate(SwdTrap1) 1_blank_10_a -1,14,0 +job_sword1,156,248,0 duplicate(SwdTrap1) 1_blank_10_b -1,14,0 +job_sword1,170,249,0 duplicate(SwdTrap1) 1_blank_10_c -1,1,0 +job_sword1,170,248,0 duplicate(SwdTrap1) 1_blank_10_d -1,1,0 +job_sword1,156,245,0 duplicate(SwdTrap1) 1_blank_11_a -1,14,0 +job_sword1,156,244,0 duplicate(SwdTrap1) 1_blank_11_b -1,14,0 +job_sword1,170,245,0 duplicate(SwdTrap1) 1_blank_11_c -1,1,0 +job_sword1,170,244,0 duplicate(SwdTrap1) 1_blank_11_d -1,1,0 +job_sword1,156,241,0 duplicate(SwdTrap1) 1_blank_12_a -1,14,0 +job_sword1,156,240,0 duplicate(SwdTrap1) 1_blank_12_b -1,14,0 +job_sword1,170,241,0 duplicate(SwdTrap1) 1_blank_12_c -1,1,0 +job_sword1,170,240,0 duplicate(SwdTrap1) 1_blank_12_d -1,1,0 +job_sword1,180,251,0 duplicate(SwdTrap1) 1_blank_13_a -1,0,1 +job_sword1,183,251,0 duplicate(SwdTrap1) 1_blank_13_b -1,0,1 +job_sword1,181,250,0 duplicate(SwdTrap1) 1_blank_13_c -1,1,0 +job_sword1,180,238,0 duplicate(SwdTrap1) 1_blank_14_a -1,0,1 +job_sword1,183,238,0 duplicate(SwdTrap1) 1_blank_14_b -1,0,1 +job_sword1,181,239,0 duplicate(SwdTrap1) 1_blank_14_c -1,1,0 + +job_sword1,193,245,0 warp 1_rest 1,3,job_sword1,215,244 + +// Pitfalls (Set 2) +//============================================================ +job_sword1,56,212,0 script 2_blank_1_a::SwdTrap2 -1,40,0,{ +OnTouch: + switch(rand(1,5)) { + case 1: warp "job_sword1",162,120; end; + case 2: warp "job_sword1",94,120; end; + case 3: warp "job_sword1",94,85; end; + case 4: warp "job_sword1",162,85; end; + case 5: warp "job_sword1",130,47; end; + } +} + +job_sword1,95,212,0 duplicate(SwdTrap2) 2_blank_1_b -1,2,0 +job_sword1,56,210,0 duplicate(SwdTrap2) 2_blank_2_a -1,40,0 +job_sword1,95,210,0 duplicate(SwdTrap2) 2_blank_2_b -1,2,0 +job_sword1,16,206,0 duplicate(SwdTrap2) 2_blank_2_c -1,0,3 +job_sword1,97,206,0 duplicate(SwdTrap2) 2_blank_2_d -1,0,3 +job_sword1,56,203,0 duplicate(SwdTrap2) 2_blank_2_e -1,40,0 +job_sword1,95,203,0 duplicate(SwdTrap2) 2_blank_2_f -1,2,0 +job_sword1,56,201,0 duplicate(SwdTrap2) 2_blank_3_a -1,40,0 +job_sword1,95,201,0 duplicate(SwdTrap2) 2_blank_3_b -1,2,0 + +job_sword1,113,212,0 duplicate(SwdTrap2) 2_blank_4_a -1,14,0 +job_sword1,125,212,0 duplicate(SwdTrap2) 2_blank_4_b -1,2,0 +job_sword1,113,210,0 duplicate(SwdTrap2) 2_blank_5_a -1,14,0 +job_sword1,125,210,0 duplicate(SwdTrap2) 2_blank_5_b -1,2,0 +job_sword1,100,206,0 duplicate(SwdTrap2) 2_blank_5_c -1,0,3 +job_sword1,127,206,0 duplicate(SwdTrap2) 2_blank_5_d -1,0,3 +job_sword1,113,203,0 duplicate(SwdTrap2) 2_blank_5_e -1,14,0 +job_sword1,125,210,0 duplicate(SwdTrap2) 2_blank_5_f -1,2,0 +job_sword1,113,201,0 duplicate(SwdTrap2) 2_blank_6_a -1,14,0 +job_sword1,113,201,0 duplicate(SwdTrap2) 2_blank_6_b -1,2,0 + +job_sword1,155,212,0 duplicate(SwdTrap2) 2_blank_7_a -1,21,0 +job_sword1,181,212,0 duplicate(SwdTrap2) 2_blank_7_b -1,2,0 +job_sword1,155,210,0 duplicate(SwdTrap2) 2_blank_8_a -1,21,0 +job_sword1,181,210,0 duplicate(SwdTrap2) 2_blank_8_b -1,2,0 +job_sword1,130,206,0 duplicate(SwdTrap2) 2_blank_8_c -1,0,3 +job_sword1,183,206,0 duplicate(SwdTrap2) 2_blank_8_d -1,0,3 +job_sword1,155,203,0 duplicate(SwdTrap2) 2_blank_8_e -1,21,0 +job_sword1,181,203,0 duplicate(SwdTrap2) 2_blank_8_f -1,2,0 +job_sword1,155,201,0 duplicate(SwdTrap2) 2_blank_9_a -1,40,0 +job_sword1,181,201,0 duplicate(SwdTrap2) 2_blank_9_b -1,2,0 + +// Pitfalls (Set 3) +//============================================================ +job_sword1,17,174,0 script 3_blank_1_a::SwdTrap3 -1,2,0,{ +OnTouch: + switch(rand(1,5)) { + case 1: warp "job_sword1",195,15; end; + case 2: warp "job_sword1",195,38; end; + case 3: warp "job_sword1",231,30; end; + case 4: warp "job_sword1",198,65; end; + case 5: warp "job_sword1",196,116; end; + } +} + +job_sword1,17,163,0 duplicate(SwdTrap3) 3_blank_2_a -1,2,0 +job_sword1,29,171,0 duplicate(SwdTrap3) 3_blank_3_a -1,2,0 +job_sword1,31,168,0 duplicate(SwdTrap3) 3_blank_3_b -1,0,2 +job_sword1,28,166,0 duplicate(SwdTrap3) 3_blank_3_c -1,2,0 +job_sword1,26,168,0 duplicate(SwdTrap3) 3_blank_3_d -1,0,2 +job_sword1,36,169,0 duplicate(SwdTrap3) 3_blank_4_a -1,0,0 +job_sword1,37,169,0 duplicate(SwdTrap3) 3_blank_4_b -1,0,0 +job_sword1,37,168,0 duplicate(SwdTrap3) 3_blank_4_c -1,0,0 +job_sword1,36,168,0 duplicate(SwdTrap3) 3_blank_4_c2 -1,0,0 +job_sword1,40,175,0 duplicate(SwdTrap3) 3_blank_5_a -1,0,1 +job_sword1,41,175,0 duplicate(SwdTrap3) 3_blank_5_b -1,0,1 +job_sword1,41,171,0 duplicate(SwdTrap3) 3_blank_6_a -1,1,0 +job_sword1,41,170,0 duplicate(SwdTrap3) 3_blank_6_b -1,1,0 +job_sword1,41,167,0 duplicate(SwdTrap3) 3_blank_6_c -1,1,0 +job_sword1,41,166,0 duplicate(SwdTrap3) 3_blank_6_d -1,1,0 +job_sword1,42,169,0 duplicate(SwdTrap3) 3_blank_6_e -1,0,1 +job_sword1,43,170,0 duplicate(SwdTrap3) 3_blank_6_f -1,0,1 +job_sword1,43,167,0 duplicate(SwdTrap3) 3_blank_6_g -1,0,1 +job_sword1,40,162,0 duplicate(SwdTrap3) 3_blank_7_a -1,0,1 +job_sword1,41,162,0 duplicate(SwdTrap3) 3_blank_7_b -1,0,1 +job_sword1,46,175,0 duplicate(SwdTrap3) 3_blank_8_a -1,0,1 +job_sword1,51,175,0 duplicate(SwdTrap3) 3_blank_8_b -1,0,1 +job_sword1,47,174,0 duplicate(SwdTrap3) 3_blank_8_c -1,1,0 +job_sword1,50,174,0 duplicate(SwdTrap3) 3_blank_8_d -1,1,0 +job_sword1,48,173,0 duplicate(SwdTrap3) 3_blank_8_e -1,0,1 +job_sword1,49,173,0 duplicate(SwdTrap3) 3_blank_8_f -1,0,1 +job_sword1,46,162,0 duplicate(SwdTrap3) 3_blank_9_a -1,0,1 +job_sword1,51,162,0 duplicate(SwdTrap3) 3_blank_9_b -1,0,1 +job_sword1,47,163,0 duplicate(SwdTrap3) 3_blank_9_c -1,1,0 +job_sword1,50,163,0 duplicate(SwdTrap3) 3_blank_9_d -1,1,0 +job_sword1,48,164,0 duplicate(SwdTrap3) 3_blank_9_e -1,0,1 +job_sword1,49,164,0 duplicate(SwdTrap3) 3_blank_9_f -1,0,1 +job_sword1,54,170,0 duplicate(SwdTrap3) 3_blank_10_a -1,0,1 +job_sword1,55,170,0 duplicate(SwdTrap3) 3_blank_10_b -1,0,1 +job_sword1,54,167,0 duplicate(SwdTrap3) 3_blank_10_c -1,0,1 +job_sword1,55,167,0 duplicate(SwdTrap3) 3_blank_10_d -1,0,1 +job_sword1,53,169,0 duplicate(SwdTrap3) 3_blank_10_e -1,1,0 +job_sword1,53,168,0 duplicate(SwdTrap3) 3_blank_10_f -1,1,0 +job_sword1,56,169,0 duplicate(SwdTrap3) 3_blank_10_g -1,1,0 +job_sword1,56,168,0 duplicate(SwdTrap3) 3_blank_10_h -1,1,0 +job_sword1,58,175,0 duplicate(SwdTrap3) 3_blank_11_a -1,0,1 +job_sword1,59,174,0 duplicate(SwdTrap3) 3_blank_11_b -1,1,0 +job_sword1,60,173,0 duplicate(SwdTrap3) 3_blank_11_c -1,0,1 +job_sword1,61,172,0 duplicate(SwdTrap3) 3_blank_11_d -1,1,0 +job_sword1,58,162,0 duplicate(SwdTrap3) 3_blank_12_a -1,0,1 +job_sword1,59,163,0 duplicate(SwdTrap3) 3_blank_12_b -1,1,0 +job_sword1,60,164,0 duplicate(SwdTrap3) 3_blank_12_c -1,0,1 +job_sword1,61,165,0 duplicate(SwdTrap3) 3_blank_12_d -1,1,0 +job_sword1,76,172,0 duplicate(SwdTrap3) 3_blank_13_a -1,1,0 +job_sword1,77,173,0 duplicate(SwdTrap3) 3_blank_13_b -1,0,1 +job_sword1,78,174,0 duplicate(SwdTrap3) 3_blank_13_c -1,1,0 +job_sword1,79,175,0 duplicate(SwdTrap3) 3_blank_13_d -1,0,1 +job_sword1,76,165,0 duplicate(SwdTrap3) 3_blank_14_a -1,1,0 +job_sword1,77,164,0 duplicate(SwdTrap3) 3_blank_14_b -1,0,1 +job_sword1,78,163,0 duplicate(SwdTrap3) 3_blank_14_c -1,1,0 +job_sword1,79,162,0 duplicate(SwdTrap3) 3_blank_14_d -1,0,1 +job_sword1,94,175,0 duplicate(SwdTrap3) 3_blank_15_a -1,0,1 +job_sword1,95,174,0 duplicate(SwdTrap3) 3_blank_15_b -1,1,0 +job_sword1,98,174,0 duplicate(SwdTrap3) 3_blank_15_c -1,1,0 +job_sword1,99,175,0 duplicate(SwdTrap3) 3_blank_16_d -1,0,1 +job_sword1,96,169,0 duplicate(SwdTrap3) 3_blank_17_a -1,0,0 +job_sword1,97,169,0 duplicate(SwdTrap3) 3_blank_17_b -1,0,0 +job_sword1,97,168,0 duplicate(SwdTrap3) 3_blank_17_c -1,0,0 +job_sword1,96,168,0 duplicate(SwdTrap3) 3_blank_17_d -1,0,0 +job_sword1,94,162,0 duplicate(SwdTrap3) 3_blank_18_a -1,0,1 +job_sword1,95,163,0 duplicate(SwdTrap3) 3_blank_18_b -1,1,0 +job_sword1,98,163,0 duplicate(SwdTrap3) 3_blank_18_c -1,1,0 +job_sword1,99,162,0 duplicate(SwdTrap3) 3_blank_18_d -1,0,1 +job_sword1,114,175,0 duplicate(SwdTrap3) 3_blank_19_a -1,0,1 +job_sword1,115,175,0 duplicate(SwdTrap3) 3_blank_19_b -1,0,1 +job_sword1,114,162,0 duplicate(SwdTrap3) 3_blank_20_a -1,0,1 +job_sword1,115,162,0 duplicate(SwdTrap3) 3_blank_20_b -1,0,1 +job_sword1,126,175,0 duplicate(SwdTrap3) 3_blank_21_a -1,0,1 +job_sword1,127,175,0 duplicate(SwdTrap3) 3_blank_21_b -1,0,1 +job_sword1,126,162,0 duplicate(SwdTrap3) 3_blank_23_a -1,0,1 +job_sword1,127,162,0 duplicate(SwdTrap3) 3_blank_23_b -1,0,1 +job_sword1,160,174,0 duplicate(SwdTrap3) 3_blank_24_a -1,0,2 +job_sword1,161,174,0 duplicate(SwdTrap3) 3_blank_24_b -1,0,2 +job_sword1,160,163,0 duplicate(SwdTrap3) 3_blank_25_a -1,0,2 +job_sword1,161,163,0 duplicate(SwdTrap3) 3_blank_25_b -1,0,2 +job_sword1,168,175,0 duplicate(SwdTrap3) 3_blank_26_a -1,0,2 +job_sword1,169,175,0 duplicate(SwdTrap3) 3_blank_26_b -1,0,2 +job_sword1,168,162,0 duplicate(SwdTrap3) 3_blank_27_a -1,0,2 +job_sword1,169,162,0 duplicate(SwdTrap3) 3_blank_27_b -1,0,2 +job_sword1,176,174,0 duplicate(SwdTrap3) 3_blank_28_a -1,0,2 +job_sword1,177,174,0 duplicate(SwdTrap3) 3_blank_28_b -1,0,2 +job_sword1,178,173,0 duplicate(SwdTrap3) 3_blank_28_c -1,1,0 +job_sword1,178,172,0 duplicate(SwdTrap3) 3_blank_28_d -1,1,0 +job_sword1,181,174,0 duplicate(SwdTrap3) 3_blank_28_e -1,2,0 +job_sword1,179,169,0 duplicate(SwdTrap3) 3_blank_29_a -1,3,0 +job_sword1,179,168,0 duplicate(SwdTrap3) 3_blank_29_b -1,3,0 +job_sword1,182,169,0 duplicate(SwdTrap3) 3_blank_29_c -1,0,2 +job_sword1,183,169,0 duplicate(SwdTrap3) 3_blank_29_d -1,0,2 +job_sword1,181,167,0 duplicate(SwdTrap3) 3_blank_29_e -1,1,0 +job_sword1,181,166,0 duplicate(SwdTrap3) 3_blank_29_f -1,1,0 +job_sword1,183,167,0 duplicate(SwdTrap3) 3_blank_29_g -1,0,1 +job_sword1,176,163,0 duplicate(SwdTrap3) 3_blank_30_a -1,0,2 +job_sword1,177,163,0 duplicate(SwdTrap3) 3_blank_30_b -1,0,2 +job_sword1,181,163,0 duplicate(SwdTrap3) 3_blank_30_c -1,2,0 + +// Monsters (all three courses) +//============================================================ +job_sword1,0,0,0,0 monster Chonchon 1183,20,0,0,0 +job_sword1,35,79,0,0 monster Fabre 1184,3,60000,30000,0 +job_sword1,50,108,0,0 monster Fabre 1184,3,60000,30000,0 +job_sword1,61,28,0,0 monster Fabre 1184,3,60000,30000,0 +job_sword1,61,92,0,0 monster Fabre 1184,3,60000,30000,0 +job_sword1,110,112,0,0 monster Fabre 1184,2,60000,30000,0 +job_sword1,161,94,0,0 monster Fabre 1184,2,60000,30000,0 +job_sword1,130,76,0,0 monster Fabre 1184,2,60000,30000,0 +job_sword1,103,58,0,0 monster Fabre 1184,2,60000,30000,0 +job_sword1,130,24,0,0 monster Fabre 1184,5,60000,30000,0 +job_sword1,201,36,0,0 monster Fabre 1184,2,60000,30000,0 +job_sword1,201,16,0,0 monster Fabre 1184,2,60000,30000,0 +job_sword1,239,44,0,0 monster Fabre 1184,3,60000,30000,0 +job_sword1,239,76,0,0 monster Fabre 1184,2,60000,30000,0 +job_sword1,231,101,0,0 monster Fabre 1184,2,60000,30000,0 +job_sword1,234,117,0,0 monster Fabre 1184,2,60000,30000,0 +job_sword1,198,91,0,0 monster Fabre 1184,2,60000,30000,0 +job_sword1,200,63,0,0 monster Fabre 1184,2,60000,30000,0 diff --git a/npc/pre-re/jobs/1-1/thief.txt b/npc/pre-re/jobs/1-1/thief.txt index 8f90b16d4..4ee8832f9 100644 --- a/npc/pre-re/jobs/1-1/thief.txt +++ b/npc/pre-re/jobs/1-1/thief.txt @@ -1,33 +1,43 @@ -//===== rAthena Script ======================================= -//= Renewal Thief Job Change -//===== By: ================================================== -//= Kisuka -//===== Current Version: ===================================== -//= 1.1 -//===== Compatible With: ===================================== +//===== rAthena Script ======================================= +//= Thief Job Quest +//===== By: ================================================== +//= rAthena dev team +//===== Current Version: ===================================== +//= 1.8 +//===== Compatible With: ===================================== //= rAthena SVN -//===== Description: ========================================= -//= Job Change to Thief Class -//===== Additional Comments: ================================= -//= 1.0 First Version. [Kisuka] -//= 1.1 Added Baby job change support. [Masao] -//============================================================ -moc_prydb1,39,129,2 script Thief Guildsman 69,{ +//===== Description: ========================================= +//= [Aegis Conversion] +//= Job quest for Thief classes +//===== Additional Comments: ================================= +//= Fully working +//= v1.1 Added instant job change for High Novice [Lupus] +//= 1.3 Added Baby Class support [Lupus] +//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] +//= Fixed possible EXP abuse [Lupus] +//= 1.5 Now saves/restores all quest skills [Lupus] +//= 1.6 Merged back JFunc [Lupus] 1.6a typos +//= 1.7 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] +//= No longer uses function "F_ToHigh" +//= 1.8 Added Quest Log commands. [L0ne_W0lf] +//============================================================ + +moc_prydb1,39,129,2 script Thief Guide 69,{ if (Upper == 1) { - if ((Class == Job_Novice_High) && (ADVJOB == Job_Assassin_Cross || ADVJOB == Job_Stalker)) { + if (ADVJOB == Job_Assassin_Cross || ADVJOB == Job_Stalker) { if (Class == Job_Novice_High) { - mes "[Thief Guildsman]"; + 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 Guildsman]"; + 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 Guildsman]"; + mes "[Thief Guide]"; mes "Take your time and learn all the Basic Skills, will you? Well then, see you later~!"; close; } - mes "[Thief Guildsman]"; + 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; @@ -36,202 +46,315 @@ moc_prydb1,39,129,2 script Thief Guildsman 69,{ skill 150,1,0; skill 151,1,0; skill 152,1,0; - mes "[Thief Guildsman]"; + mes "[Thief Guide]"; mes "Since you've become a Thief, live as a Thief. Now, go for it! Next~"; close; } - mes "[Thief Guildsman]"; - if (Sex == 1) { - mes "Hey, dude."; - } else { - mes "Hey, baby~"; + else { + mes "[Thief Guide]"; + if (sex) + mes "Hey, dude."; + else + mes "Hey, baby~"; + close; } - close; } - mes "[Thief Guildsman]"; - if (Sex == 1) { - mes "Hey, dude."; - } else { - mes "Hey, baby~"; + 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; } - mes "...Hey! You look too goody-goody to want to be a Thief!! Now scram, I'm busy. Next!"; - close; } - if (Class == Job_Baby_Thief || Class == Job_Thief || Class == Job_Thief_High) { - mes "[Thief Guildsman]"; - mes "Hey~ if you have any trouble, get it out to me anytime, huh?"; + if (BaseJob == Job_Thief) { + mes "[Thief Guide]"; + mes "If you have a problem, feel free to speak to me anytime, alright?"; close; } - if ((Class != Job_Baby) && (Class != Job_Novice) && (Class != Job_Baby_Thief) && (Class != Job_Thief)) { - mes "[Thief Guildsman]"; + else if (BaseJob != Job_Novice && BaseJob != Job_Thief) { + mes "[Thief Guide]"; mes "What the heck...?"; - switch (Class) { - case Job_Swordman: + switch(Class) { + case 1: mes "Huh."; mes "Now, that's"; mes "a big sword."; next; - mes "[Thief Guildsman]"; + mes "[Thief Guide]"; mes "So..."; mes "Trying to make"; mes "up for something"; mes "...Buddy?"; - close; - case Job_Mage: + break; + case 2: mes "What's a Mage doin' here? Shouldn't you be doing card tricks elsewhere? Oh well, it's a free country..."; next; - mes "[Thief Guildsman]"; + mes "[Thief Guide]"; mes "Oh wait,"; mes "it's not..."; mes "Get outta here!"; - close; - case Job_Archer: + break; + case 3: mes "Man, shouldn't you"; mes "Archers be playing"; mes "in the forest"; mes "or something?"; - close; - case Job_Merchant: + break; + case 4: + mes "You know we all steal for a living, right? What are you doing in this kinda place, Acolyte?"; + break; + case 5: mes "You're a Merchant,"; mes "right? Why are you"; mes "walking into a den"; mes "of Thieves?!"; next; - mes "[Thief Guildsman]"; + mes "[Thief Guide]"; mes "It's like you're begging"; mes "us to steal from you!"; mes "Come on, hurry and"; mes "get outta here~"; - close; - case Job_Acolyte: - mes "You know we all steal for a living, right? What are you doing in this kinda place, Acolyte?"; - close; - case Job_Assassin: - mes "Didn't you use to be one of us?! Man, you changed. You seem real dangerous now..."; - close; - close; - case Job_Rogue: - mes "Man, you got real cool all of a sudden! You must have some skills I can only dream of!"; - close; - close; - case Job_Priest: + break; + case 8: mes "Oh my God..."; mes "Am I dying?"; next; - mes "[Thief Guildsman]"; + mes "[Thief Guide]"; mes "Why else would a Priest come here? I guess I better start confessing all of my misdeeds."; close; + case 12: + mes "Didn't you use to be one of us?! Man, you changed. You seem real dangerous now..."; + close; + case 17: + mes "Man, you got real cool all of a sudden! You must have some skills I can only dream of!"; + close; } next; - if (Sex == 1) { - 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!"; + mes "[Thief Guide]"; + mes "*Sigh* Look, there's really no need for you to be in this kind of place. You oughta go where you ought to go."; close; } - if (Class == Job_Baby || Class == Job_Novice) { - mes "[Thief Guildsman]"; - if (Sex == 1) { - mes "Ehh... Seems like a beloved son of a rich family, but why are you here in this dirty place?"; - } - else { - mes "Ehh... Seems like a beloved daughter of a rich family, but why are you here in this dirty place?"; + if (job_thief_q == 3 && countitem(1069) > 0 || countitem(1070) > 0) { + mes "[Thief Guide]"; + mes "Hmmm?"; + mes "You gathered Mushrooms for"; + mes "the Thief test, right?"; + next; + mes "[Thief Guide]"; + mes "Here, talk to the other guy right next to me. He's the one in charge of checking your Mushrooms."; + close; + } + else if (job_thief_q == 3) { + mes "[Thief Guide]"; + mes "So how was the"; + mes "Mushroom Farm?"; + mes "Have any fun?"; + next; + if (select("Yeah, kinda Cool.:It was horrible.") == 1) { + mes "[Thief Guide]"; + mes "Heh heh! That's a good attitude. In our line of work, you gotta enjoy getting your hands dirty, one way or another."; + close; } + mes "[Thief Guide]"; + mes "Yeah? I've been there too, so I can see why that place isn't everyone's cup of tea. Still, being a Thief isn't all glamour and trendy night life."; + close; + } + if (job_thief_q == 2) { + mes "[Thief Guide]"; + mes "Hey, whaddya doin' here? Aren't you supposed to be gathering Mushrooms? Or did you need it explained to you again?"; next; - switch (select("I want to be a Thief.:Nothing.")) { - case 1: - if (THF_Q == 0) { - mes "[Thief Guildsman]"; - mes "Well, are you that proud of it? 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.'"; + if (select("Yes.:No, that's okay.") == 1) { + mes "[Thief Guide]"; + mes "*Sigh* Well, there's always one in the bunch. Alright, listen carefully."; + next; + mes "[Thief Guide]"; + mes "Alright, for your test, you gotta steal Mushrooms from a farm. Don't worry, the guy who owns the farm deserves to be robbed."; + next; + mes "[Thief Guide]"; + mes "Anyway, you gotta gather two kinds of Mushrooms: ^0000FFOrange Net Mushrooms^000000 and ^0000FFOrange Gooey Mushrooms^000000."; + next; + mes "[Thief Guide]"; + mes "Be careful, since there are monsters are the farm that are there to protect the Mushrooms. So this will be no walk in the park."; + next; + mes "[Thief Guide]"; + mes "When you come back here after gathering Mushrooms, you'll be graded on the Mushrooms you've collected."; + next; + mes "[Thief Guide]"; + mes "Each Orange Net Mushroom gets you 3 points, and you get 1 point for each Orange Gooey Mushroom. You need a total of 25 points to pass the test."; + next; + mes "[Thief Guide]"; + mes "Go outside and keep going ahead toward the Eastern Field of the Pyramids. Then you will see one of our comrades between two columns."; + next; + mes "[Thief Guide]"; + mes "Speak to that guy, and he'll take you to the farm through the backdoor."; + next; + mes "[Thief Guide]"; + mes "On that field, I think his coordinates are '^FF0000141, 125^000000.' Just type ^3355FF/where^000000 in the right side of your chat box to check your present coordinates."; + close; + } + mes "[Thief Guide]"; + mes "Huh. For a second there, I thought you had something really important to tell me."; + close; + } + mes "[Thief Guide]"; + if (job_thief_q == 0) { + mes "What brings you down"; + mes "here to this rathole?"; + } + else { + mes "Ah..."; + mes "You came back."; + mes "Are you sure you're"; + mes "ready to try again?"; + } + next; + if (select("Hey, I came here to be a Thief!:Nah, I'm just looking around.") == 1) { + if (job_thief_q == 0) { + mes "[Thief Guide]"; + mes "Heh, I like your confidence. Still, you know being a Thief isn't all what it's cracked up to be."; + next; + mes "[Thief Guide]"; + mes "Still..."; + mes "Do you really"; + mes "want to be"; + mes "a Thief?"; + next; + switch(select("Yeah.:No, just wasting your time.:Why did you become a Thief?")) { + case 1: + mes "[Thief Guide]"; + mes "Really..."; + break; + case 2: + mes "[Thief Guide]"; + mes "Yeah..."; + mes "I can see that."; + break; + case 3: + mes "[Thief Guide]"; + mes "Me...?"; + mes "I had no choice at the time. It was either steal or starve. But it's not like I need to give you my life story."; + break; + } + next; + mes "[Thief Guide]"; + mes "So do you want to"; + mes "apply to become"; + mes "a Thief or not?"; + next; + switch(select("Yes, I will.:I'm too scared to be a Thief!")) { + case 1: + mes "[Thief Guide]"; + mes "Alright, tell"; + mes "me your name."; next; - mes "[Thief Guildsman]"; - mes "Do you want to be a thief so badly?"; + mes "[Thief Guide]"; + mes "" + strcharinfo(0) + "?"; + mes "What kind of name is " + strcharinfo(0) + "? Anyway, give me a second."; + set job_thief_q,1; next; - switch (select("Yes.:No.:How about you?")) { + mes "[Thief Guide]"; + mes "Alright, your registration has been processed. Okay, you can begin your test if you're ready."; + next; + switch(select("Yeah, I'm ready.:No, I'm not ready yet.")) { case 1: - mes "[Thief Guildsman]"; - mes "Well, are you that proud of it? 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; 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.") == 1) { - mes "[Thief Guildsman]"; - mes "Alright, tell me your name. Huh? What?"; - mes "" + strcharinfo(0) + ". " + 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? So go and reach at least Basic Skill Level 9."; - close; - } - mes "[Thief Guildsman]"; - mes "Alright. I looked at your Felony Record, and you seem to have a very interesting history. You might have what it takes to be a Thief."; - mes "" + strcharinfo(0) + ". I now decree that you have passed this interview. Good work!"; - set THF_Q,1; - 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."; + mes "[Thief Guide]"; + mes "Not ready?"; + mes "How can you"; + mes "not be ready?!"; close; } - mes "[Thief Guildsman]"; - mes "Well... do what you want to do~ Go your way~"; + break; + case 2: + mes "[Thief Guide]"; + mes "Too scared?!?"; + mes "Hahahahahahah!"; + mes "Oh, please...!"; + mes "That's hilarious!"; close; } - if (THF_Q == 1) { - 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; - } - mes "[Thief Guildsman]"; - mes "Oh, before I let you go... ...did you take any mushrooms?"; - mes "... ...It was a joke."; - mes "You don't need to do a test, and if you want to jobchange, you can do it directly."; + } + else { + mes "[Thief Guide]"; + mes "Okay..."; + mes "Give me"; + mes "one second."; next; - mes "[Thief Guildsman]"; - mes "In short it was just a joke."; - mes "Ha ha ha ha ha!!"; + } + mes "[Thief Guide]"; + mes "Your name is..."; + mes strcharinfo(0) + "? Um, where is it? Ah, here it is. Let's see..."; + next; + mes "[Thief Guide]"; + if (getskilllv("NV_BASIC") < 9) { + mes "Isn't that cute? I can see you're ambitious, but you gotta learn all of the Basic Skills before you can become a Thief."; close; + } + mes "Alright. I looked at your Felony Record, and you seem to have a very interesting history. You might have what it takes to be a Thief."; + next; + mes "[Thief Guide]"; + mes "Because I feel like it, I now decree that you have passed this interview. Good work!"; + set job_thief_q,2; + setquest 1013; + next; + mes "[Thief Guide]"; + mes "Now, your actual abilities will need to be tested. Do you know anything about the test?"; + next; + switch(select("Yes, I do.:Sorry, I don't.")) { + case 1: + mes "[Thief Guide]"; + mes "Oh yeah? Well, this makes things a lot easier."; + break; case 2: - mes "[Thief Guildsman]"; - mes "You know you cannot be a thief without an application....."; - mes "What's on your mind..?"; - close; + mes "[Thief Guide]"; + mes "Alright, let me inform you then. Listen carefully. This test decides if you are worthy of becoming a Thief."; + next; + mes "[Thief Guide]"; + mes "You will be sneaking to Shibu's Farm. He is the worst Merchant, in terms of character, in Morroc."; + next; + mes "[Thief Guide]"; + mes "Alright, for your test, you gotta steal Mushrooms from his farm. Don't worry, that guy deserves to be robbed."; + next; + mes "[Thief Guide]"; + mes "Anyway, you gotta gather two kinds of Mushrooms: ^0000FFOrange Net Mushrooms^000000 and ^0000FFOrange Gooey Mushrooms^000000."; + next; + mes "[Thief Guide]"; + mes "Be careful, since there are monsters are the farm that are there to protect the Mushrooms. So this will be no walk in the park."; + next; + mes "[Thief Guide]"; + mes "When you come back here after gathering Mushrooms, you'll be graded on the Mushrooms you've collected."; + next; + mes "[Thief Guide]"; + mes "Each Orange Net Mushroom gets you 3 points, and you get 1 point for each Orange Gooey Mushroom. You need a total of 25 points to pass the test."; + next; + mes "[Thief Guide]"; + mes "Go outside and keep going ahead toward the Eastern Field of the Pyramids. Then you will see one of our comrades between two columns."; + next; + mes "[Thief Guide]"; + mes "Speak to that guy, and he'll take you to the farm through the backdoor."; + next; + mes "[Thief Guide]"; + mes "On that field, I think his coordinates are '^FF0000141, 125^000000.' Just type ^3355FF/where^000000 in the right side of your chat box to check your present coordinates."; } + next; + mes "[Thief Guide]"; + mes "Don't forget to make plans and prepare yourself before you go inside the Mushroom Farm. Move as quickly as you can and try not to get killed, alright?"; + close; } + close; } moc_prydb1,42,133,2 script Comrade 118,{ - if (Class == Job_Baby_Thief || Class == Job_Thief || Class == Job_Thief_High) { + if (BaseJob == Job_Thief) { mes "[Brad]"; - mes "I don't have any special events now. So go on your way and come back later."; + mes "We don't have any special events yet. Come some other time when there's news, alright?"; close; } - if ((Class != Job_Baby) && (Class != Job_Novice) && (Class != Job_Baby_Thief) && (Class != Job_Thief)) { + else if (BaseJob != Job_Novice && BaseJob != Job_Thief) { mes "[Comrade]"; mes "Um..."; mes "You don't look"; @@ -242,81 +365,156 @@ moc_prydb1,42,133,2 script Comrade 118,{ mes "you doing here anyway?"; close; } - if (THF_Q == 0) { + if (job_thief_q == 0 || job_thief_q == 1) { mes "[Comrade]"; - mes "What's the matter? If you want to be a Thief, speak to the woman beside me."; + mes "What's the matter? If you want to be a Thief, speak to the girl beside me."; close; } - if (THF_Q == 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!"; + else if (job_thief_q == 2) { + mes "[Comrade]"; + mes "Did you pass the interview?"; + mes "Then what are you waiting for?"; + close; + } + else if (job_thief_q == 3) { + mes "[Comrade]"; + mes "Ah, the guide told me about you. So, let me check your mushrooms..."; + if (countitem(1069) == 0 && countitem(1070) == 0) { + next; + mes "[Comrade]"; + mes "What the hell..."; + mes "You don't have any Mushrooms at all! Go back and get them. Otherwise, you won't pass the test and become a Thief!"; + close; + } + next; + set .@thief_item1,countitem(1069) * 3; + set .@thief_item2,countitem(1070); + set .@total_thief,.@thief_item1 + .@thief_item2; + set .@money_thief,((.@thief_item1 * 5) + (.@thief_item2 * 2)) + 200; + mes "[Comrade]"; + if (countitem(1069) != 0) { + mes "First, let me check the Orange Net Mushrooms you got."; + mes "Huh, " + countitem(1069) + " of them."; + } + if (countitem(1070) != 0) + mes "Now I'll just check your Orange Gooey Mushrooms. That's " + countitem(1070) + " you gathered."; + next; + mes "[Comrade]"; + mes "So that would"; + mes "bring your total to..."; + next; + mes "[Comrade]"; + mes "Hmmm. " + .@total_thief + " degrees, multiplied by the speed of light, divided by the integral of pi times height plus the absolute value of politics..."; + next; + mes "[Comrade]"; + mes "Okay!"; + mes "I got it."; next; - mes "[Leader of Thief Guild 'E']"; - mes "" + strcharinfo(0) + "..."; - mes "'For those who are ready, the moonlight shall open the way. You are now one of us.'"; - skill 143,0,1; - if(Class == Job_Baby){ - jobchange Job_Baby_Thief; - } else { - jobchange Job_Thief; + mes "[Comrade]"; + if (.@total_thief > 25) { + mes "You got more"; + mes "than 25 points!"; + mes "Awesome!"; + } + else if (.@total_thief == 25) { + mes "Exactly 25 points!"; + mes "You did it! Badass!"; + } + else { + mes "Definitely less than the 25 points you need to pass. Go out there and get me more Mushrooms!"; + close; } - getitem 13041,1; //N_Main_Gauche - erasequest 1013; next; - mes "[Leader of Thief Guild 'E']"; - mes "'Congratulations on becoming a Thief!'"; - mes "'From now, be an honorable representative of the Thief's Guild.'"; - mes "'If you bring disgrace to our guild, you will be killed.'"; - mes "'Anyway, I expect you to be a great Thief.'"; + mes "[Comrade]"; + mes strcharinfo(0) + "..."; + mes "You have passed the official Thief Test. You are now one of us."; + if (countitem(1069) != 0) delitem 1069,countitem(1069); //Mushroom_Of_Thief_1 + if (countitem(1070) != 0) delitem 1070,countitem(1070); //Mushroom_Of_Thief_2 + callfunc "Job_Change",Job_Thief; + callfunc "F_ClearJobVar"; + completequest 1013; + next; + mes "[Comrade]"; + mes "Congratulations on becoming a Thief! From now, be an honorable representative of the Thief's Guild."; + next; + mes "[Comrade]"; + mes "If you bring disgrace to our guild, you will be killed. I expect you to bring our comrades pride."; next; mes "[Brad]"; - mes "*Ahem* Welcome to the Guild, comrade!"; - mes "I'm Brad, and 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."; + mes "*Ahem* Welcome to the Guild, comrade! I'm Brad, and I'm in charge of human resources here."; next; mes "[Brad]"; - mes "Okay, I've done what I can do to you, so go on your way. I'm a quite busy man."; - mes "Alright then, I'll see you around~"; + mes "Here is a small subsidy for a Newbie like you. Spend it whereever you want. Alright then, I'll see you around~"; + set zeny,zeny+.@money_thief; close; } } moc_ruins,141,125,3 script Mr. Irrelevant 83,{ - if (Class == Job_Baby_Thief || Class == Job_Thief) { + if (BaseJob == Job_Thief) { mes "[Mr. Irrelevant]"; mes "Ah, I see that you are now a Thief. I always knew you'd join us."; next; mes "[Mr. Irrelevant]"; - mes "Why don't you leave this place?"; + mes "Stealing from a Mushroom farm is too easy for you now. You should build up your skills and master our craft."; close; } - if ((Class != Job_Baby) && (Class != Job_Novice) && (Class != Job_Baby_Thief) && (Class != Job_Thief)) { - set .@rand,rand(1,5); - switch(.@rand){ - mes "[Mr. Irrelevant]"; + else if (BaseJob != Job_Novice && BaseJob != Job_Thief) { + mes "[Mr. Irrelevant]"; + switch(rand(4)) { case 1: - mes "Today looks like a good day to go to the pyramids and hunt with some of my friends."; - close; - case 2: mes "I could use a good, hard drink."; close; - case 3: + case 2: mes "Gimme your money."; next; mes "[Mr. Irrelevant]"; mes "Kidding, I'm off the clock."; close; - case 4: + case 3: mes "WHO YOU CALLING A PSYCHO?!?!"; close; - case 5: + case 4: mes "I've got nothing to say to you. Would you mind leaving me alone?"; close; + default: + mes "Today looks like a good day to go to the pyramids and hunt with some of my friends."; + close; + } + } + if (job_thief_q == 3) { + mes "[Mr. Irrelevant]"; + mes "Hahahahaha~!"; + mes "You haven't"; + mes "passed the test yet?"; + mes "Alright, I'll let you in..."; + close2; + switch(rand(5)) { + case 1: warp "job_thief1",228,106; end; + case 2: warp "job_thief1",38,50; end; + case 3: warp "job_thief1",66,331; end; + case 4: warp "job_thief1",196,331; end; + default: warp "job_thief1",309,234; end; } } - if (THF_Q == 1) { + else if (job_thief_q == 2) { + mes "[Mr. Irrelevant]"; + mes "Hmm..."; + mes "You've come to take the test, right? I can see in your eyes that you know something."; + next; + mes "[Mr. Irrelevant]"; + mes "Your name is " + strcharinfo(0) + "? Ah, it's on the list. Alright, I'll let you into the Mushroom Farm , but I can't guarantee your safety..."; + close2; + set job_thief_q,3; + switch(rand(5)) { + case 1: warp "job_thief1",228,106; end; + case 2: warp "job_thief1",38,50; end; + case 3: warp "job_thief1",66,331; end; + case 4: warp "job_thief1",196,331; end; + default: warp "job_thief1",309,234; end; + } + } + else if (job_thief_q == 1) { mes "[Mr. Irrelevant]"; mes "There is this strange smell coming from... You. Now why would that be?"; close; @@ -327,4 +525,15 @@ moc_ruins,141,125,3 script Mr. Irrelevant 83,{ mes "[Mr. Irrelevant]"; mes "You can get more information in the Underground Room in the Pyramid 1 BF."; close; -} \ No newline at end of file +} + +// Monsters +//============================================================ +job_thief1,0,0,0,0 monster Orange Mushroom 1182,180,0,0,0 +job_thief1,0,0,0,0 monster Fabre 1184,50,0,0,0 +job_thief1,0,0,0,0 monster Chonchon 1183,50,0,0,0 +job_thief1,0,0,0,0 monster Spore 1014,30,0,0,0 + +//============================================================ +// mapflag +//============================================================ diff --git a/npc/re/jobs/1-1/acolyte.txt b/npc/re/jobs/1-1/acolyte.txt index dd499ca91..a200ec514 100644 --- a/npc/re/jobs/1-1/acolyte.txt +++ b/npc/re/jobs/1-1/acolyte.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.2 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -11,11 +11,10 @@ //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] //= 1.1 Added back the npcs used for the priest quest. -//= 1.2 Added Baby job change support. [Masao] //============================================================ prt_church,184,41,4 script Cleric#aco 60,{ if (Upper == 1) { - if ((Class == Job_Novice_High) && (ADVJOB == Job_High_Priest || ADVJOB == Job_Champion)) { + if (ADVJOB == Job_High_Priest || ADVJOB == Job_Champion) { if (Class == Job_Novice_High) { mes "[Father Mareusis]"; mes "Ah, I sense you have endured"; @@ -39,74 +38,62 @@ prt_church,184,41,4 script Cleric#aco 60,{ mes "wish you luck on your"; mes "new life's journey."; next; - skill 143,0,1; + 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 "Now, venture forth to seek people who need your help. May God enlighten your way."; + 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 "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("Father, I want to be a Acolyte.:Acolyte Requirements.:Just looking around.")) { + switch(select("Change your job to acolyte.:Ask the requirements to be an acolyte.:Quit it.")) { case 1: - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { + if(Class != Job_Novice) { mes "[Father Mareusis]"; - 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?"; + 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; - } - if ((Class != Job_Baby) && (Class != Job_Novice)) { + }else{ mes "[Father Mareusis]"; - mes "I'm sorry, but we can only accept Novices as applicants for the job change to Acolyte."; - close; - } - 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 "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 "Good Lord! Haven't you accomplished the Basic Training yet?! It's important that you finish that!"; + 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 "You should have trained more! Go back and make sure you reach Novice Job Level 9 and learn all of the Basic Skills!"; - close; - } - mes "[Father Mareusis]"; - mes "Hmm... your job level is high enough and you've proven your qualification."; - next; - mes "[Father Mareusis]"; - mes "I am proud to say that you are now ready to become an Acolyte!"; - next; - skill 143,0,1; - if(Class == Job_Baby){ - jobchange Job_Baby_Acolyte; - } else { + 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; } - set ACO_Q,0; - getitem 1545,1; //N_Mace - mes "[Father Mareusis]"; - mes "Always remember to be thankful to God, who is taking care of us all the time."; - next; - mes "[Father Mareusis]"; - mes "Always use your gifts to serve Him by helping others. In chaos and times of difficulty, face your hardships with unwavering faith."; - 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?"; @@ -117,7 +104,7 @@ prt_church,184,41,4 script Cleric#aco 60,{ 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 I've asked of you. As long as your desire to serve God and others is sincere, you will be able to make it."; + 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; @@ -125,18 +112,17 @@ prt_church,184,41,4 script Cleric#aco 60,{ } prt_fild03,365,255,2 script Ascetic#aco 89,{ - if (Class == Job_Baby || Class == Job_Novice) { - if (ACO_Q == 6) { - mes "[Father Rubalkabara]"; + 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 (ACO_Q != 0) { - if (ACO_Q == 2) { - mes "[Father Rubalkabara]"; + 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]"; @@ -156,207 +142,133 @@ prt_fild03,365,255,2 script Ascetic#aco 89,{ next; mes "[Father Rubalkabara]"; mes "Farewell."; + close2; savepoint "prt_fild03",361,255; - set ACO_Q,6; - close; + set job_acolyte_q,6; + end; } - mes "[Father Rubalkabara]"; - 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; - } - mes "[Father Rubalkabara]"; - mes "Huh? What brings you here? This is a very dangerous place for a Novice like yourself!"; - close; - } - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - if (ACO_Q2 != 0) { - if (ACO_Q2 == 1) { - mes "[Father Rubalkabara]"; - mes "Ah yes, so you're the young Acolyte who wishes to become a Priest."; + else { + mes "Oh..."; + mes "Are you one of the"; + mes "Acolyte applicants...?"; + mes "Let's see..."; 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."; + mes "Your name is " + strcharinfo(0) + "?"; + mes "I don't think your name"; + mes "is on my list. Hmmm..."; 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."; - savepoint "prt_fild03",361,255; - set ACO_Q2,2; + mes "Why don't you go back to the Prontera Sanctuary and check again?"; close; } - if (ACO_Q2 == 2) { - mes "[Father Rubalkabara]"; - mes "Please be hurry to the next destination for your pilgrimage. I hope you become a Priest soon."; - close; - } - mes "[Father Rubalkabara]"; - mes "May I ask why you have returned? Please go back and continue your religious practice."; + } + else { + mes "Huh? What brings you here? This is a very dangerous place for a Novice like yourself!"; close; } - mes "[Father Rubalkabara]"; - mes "I have no idea what brought you here, but please excuse me."; - close; } - if (Class == Job_Baby_Priest || Class == Job_Priest) { - mes "[Father Rubalkabara]"; - 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 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; + } } - mes "[Father Rubalkabara]"; - 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#2 95,{ - if (Class == Job_Baby || Class == Job_Novice) { - if (ACO_Q == 6) { - mes "[Mother Marthilda]"; +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 Marthilda]"; + mes "[Mother Mathilda]"; mes "I will pray to God, and hope that you become an Acolyte soon."; close; } - if (ACO_Q != 0) { - if (ACO_Q == 3) { - mes "[Mother Marthilda]"; + 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 Marthilda]"; + mes "[Mother Mathilda]"; mes "What is your name? " + strcharinfo(0) + "? Let's see... Ah, you're on my list."; next; - mes "[Mother Marthilda]"; + 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 Marthilda]"; + mes "[Mother Mathilda]"; mes "Please return to the Prontera Sanctuary and speak to the Priest in charge."; + close2; savepoint "moc_fild07",35,355; - set ACO_Q,7; - close; - } - mes "[Mother Marthilda]"; - mes "Ah...!"; - mes "You must be one"; - mes "of the Acolyte applicants."; - mes "I sincerely welcome you."; - next; - mes "[Mother Marthilda]"; - mes "Now, what is your name?"; - mes "" + strcharinfo(0) + "? Let's see..."; - next; - mes "[Mother Marthilda]"; - mes "Hmm..."; - mes "It seems your name"; - mes "is not on my list..."; - next; - mes "[Mother Marthilda]"; - mes "Perhaps you should return to the Prontera Sanctuary and check the destination for your penance trial once again."; - close; - } - mes "[Mother Marthilda]"; - mes "..."; - close; - } - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - if (ACO_Q2 != 0) { - if (ACO_Q2 == 1) { - mes "[Mother Marthilda]"; - mes "Hmm..."; - mes "It seems you're"; - mes "training to become"; - mes "a Priest."; - next; - mes "[Mother Marthilda]"; - mes "However, at this point in your pilgrimage, I am not the person that you should be visiting."; - next; - mes "[Mother Marthilda]"; - mes "Perhaps you should ask Bishop Paul or Sister Cecilia once again. Well, may God be with you..."; - close; + set job_acolyte_q,7; + end; } - if (ACO_Q2 == 2) { - mes "[Mother Marthilda]"; - mes "Ah, are you"; - mes "a Priest trainee...?"; - mes "Welcome!"; + else { + mes "Ah...!"; + mes "You must be one"; + mes "of the Acolyte applicants."; + mes "I sincerely welcome you."; next; - mes "[Mother Marthilda]"; - mes "We Priests are obliged to spread the message of God to"; - mes "the peoples of the Earth."; + mes "[Mother Mathilda]"; + mes "Now, what is your name?"; + mes "" + strcharinfo(0) + "? Let's see..."; next; - mes "[Mother Marthilda]"; - 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."; + mes "[Mother Mathilda]"; + mes "Hmm..."; + mes "It seems your name"; + mes "is not on my list..."; next; - mes "[Mother Marthilda]"; - mes "Well then..."; - mes "I shall pray to"; - mes "God for safety"; - mes "on your journey."; - savepoint "moc_fild07",35,355; - set ACO_Q2,3; - close; - } - if (ACO_Q2 == 3) { - mes "[Mother Marthilda]"; - mes "Please leave soon, and"; - mes "continue your training."; + mes "[Mother Mathilda]"; + mes "Perhaps you should return to the Prontera Sanctuary and check the destination for your penance trial once again."; close; } - mes "[Mother Marthilda]"; - mes "May I ask you the reason you came back? Please continue your training."; + } + else { + mes "..."; close; } - mes "[Mother Marthilda]"; - mes "May God"; - mes "be with you..."; - close; } - if (Class == Job_Baby_Priest || Class == Job_Priest) { - mes "[Mother Marthilda]"; - mes "Hello there~"; - next; - mes "[Mother Marthilda]"; - mes "How is your practice coming along? I certainly hope you're enjoying living in the grace of God."; - 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; + } } - mes "[Mother Marthilda]"; - mes "May God"; - mes "be with you..."; - close; } -prt_fild00,208,218,6 script Ascetic#3 98,{ - if (Class == Job_Baby || Class == Job_Novice) { - if (ACO_Q == 8) { - mes "[Father Yosuke]"; +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 (ACO_Q != 0) { - if (ACO_Q == 4) { - mes "[Father Yosuke]"; + if (job_acolyte_q != 0) { + if (job_acolyte_q == 4) { mes "Hey."; mes "Whatever you are,"; mes "you look like an"; @@ -375,104 +287,48 @@ prt_fild00,208,218,6 script Ascetic#3 98,{ next; mes "[Father Yosuke]"; mes "Now go back to the Santuary and finish becoming an Acolyte, kid."; + close2; savepoint "prt_fild00",206,230; - set ACO_Q,8; - close; - } - mes "[Father Yosuke]"; - 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; - } - mes "[Father Yosuke]"; - mes "You..."; - mes "Novice."; - mes "There something"; - mes "you wanna tell me?"; - close; - } - if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) { - if (ACO_Q2 != 0) { - if (ACO_Q2 == 1) { - mes "[Father Yosuke]"; - 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; + set job_acolyte_q,8; + end; } - if (ACO_Q2 == 2) { - mes "[Father Yosuke]"; - 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."; + else { + mes "Hey."; + mes "You look like an Acolyte Applicant. Am I right?"; next; mes "[Father Yosuke]"; - mes "But that's your own fault. Go back to Church."; - close; - } - if (ACO_Q2 == 3) { - mes "[Father Yosuke]"; - mes "Hmm."; - mes "A Priest"; - mes "trainee, eh? "; - mes "Welcome."; + 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 "I won't say"; - mes "anything more."; - mes "Just devote your"; - mes "life to God."; + mes "" + strcharinfo(0) + ", huh? Why isn't your name on my list?"; next; mes "[Father Yosuke]"; - mes "Now go back to church."; - mes "Hereby, the first of"; - mes "your trials is now"; - mes "completed."; - savepoint "prt_fild00",206,230; - set ACO_Q2,4; + mes "You probably made a mistake. Go back to the Santuary, and check with the Bishop."; close; } - if (ACO_Q2 == 4) { - mes "[Father Yosuke]"; - 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 "[Father Yosuke]"; - mes "Just go be a Priest. This isn't a playground for kids."; + } + else { + mes "You..."; + mes "Novice."; + mes "There something"; + mes "you wanna tell me?"; close; } - mes "[Father Yosuke]"; - mes "...Acolyte, you don't have any business with me here."; - close; } - if (Class == Job_Baby_Priest || Class == Job_Priest) { - mes "[Father Yosuke]"; - 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 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; + } } - mes "[Father Yosuke]"; - mes "Do you have anything to say? Because unfortunately for you,"; - mes "I don't any replies."; - close; -} \ No newline at end of file +} + diff --git a/npc/re/jobs/1-1/archer.txt b/npc/re/jobs/1-1/archer.txt index 985b6c0f8..46325309c 100644 --- a/npc/re/jobs/1-1/archer.txt +++ b/npc/re/jobs/1-1/archer.txt @@ -3,20 +3,21 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.1 +//= 1.0 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Archer Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] -//= 1.1 Added Baby job change support. [Masao] //============================================================ -payon_in02,64,71,4 script Archer Guildsman 85,{ +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)) { + 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"; @@ -37,7 +38,7 @@ payon_in02,64,71,4 script Archer Guildsman 85,{ mes "need to say anything else."; mes "I know you'll make a great Archer..."; next; - skill 143,0,1; + skill 143,0,0; jobchange Job_Archer_high; skill 147,1,0; skill 148,1,0; @@ -45,97 +46,84 @@ payon_in02,64,71,4 script Archer Guildsman 85,{ 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 "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.")) { + switch(select("I want to be an Archer.:I need the requirements, please.:Nothing, thanks.")) { case 1: - if (Class == Job_Baby || Class == Job_Novice) { + if(Class != Job_Novice) { mes "[Archer Guildsman]"; - mes "You are..." + strcharinfo(0) + " right?"; + 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 don't have the right skill level. "; - mes "Your job level must be at least ^4d4dff10^000000"; - mes "and your Basic Skill level should reach ^4d4dfflevel 9^000000"; + 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"; - mes "extremely high concentration,"; - mes "so we do not accept "; - mes "those who have little patience."; + mes "Because an Archer needs extremely high concentration, so we do not accept those who have little patience."; close; } mes "[Archer Guildsman]"; - mes "You seem to have learned the basic skills.."; - mes "....Hm~~ you are now ready to become an Archer. I will take the step right away."; + 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; - skill 143,0,1; - if(Class == Job_Baby){ - jobchange Job_Baby_Archer; - } else { - jobchange Job_Archer; - } 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!"; - getitem 1742,1; //N_Composite_Bow - getitem 12004,1; //Arrow_Container - getitem 12009,1; //Silver_Arrow_Container - getitem 12008,1; //Fire_Arrow_Container + 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've become a real Archer."; - mes "If you open the arrow quiver, there will be arrows in it that you can equip."; - mes "Well, I expect to hear good news from you. It's time to say goodbye. Bye."; - close; - } - if (Class == Job_Baby_Archer || Class == Job_Archer || Class == Job_Archer_High) { - mes "[Archer Guildsman]"; - mes "Haha, you are kidding me.."; + 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; } - mes "[Archer Guildsman]"; - mes "Wait a second. You've chosen a different job already. You don't need to know this~"; - 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,"; - mes "he or she can shoot enemies"; - mes "at a long range,"; + 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,"; - mes "he or she has high accuracy and attack rate"; - mes "so that the archer can kill monsters"; - mes "before they get close to an Archer."; + 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 "^8E2323An Archer can change"; - mes "^8E2323jobs to a Hunter."; - mes "^8E2323Other than Hunter, if you are a man, you can change your job to Bard"; - mes "^8E2323and if you are a woman, you can change your job to Dancer.^000000"; + 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; } -} \ No newline at end of file +} diff --git a/npc/re/jobs/1-1/mage.txt b/npc/re/jobs/1-1/mage.txt index 51d4dbe27..99cca81c4 100644 --- a/npc/re/jobs/1-1/mage.txt +++ b/npc/re/jobs/1-1/mage.txt @@ -3,18 +3,17 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.1 +//= 1.0 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Mage Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] -//= 1.1 Added Baby job change support. [Masao] //============================================================ -geffen_in,164,124,4 script Mage Guildsman 123,{ +geffen_in,164,124,4 script Mage Guildsman#mage 123,{ if (Upper == 1) { - if ((Class == Job_Novice_High) && (ADVJOB == Job_High_Wizard || ADVJOB == Job_Professor)) { + 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?"; @@ -39,110 +38,89 @@ geffen_in,164,124,4 script Mage Guildsman 123,{ 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 "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~!"; + 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; } - 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_Baby_Mage || Class == Job_Mage) { - mes "[Mage Guildsman]"; - mes "Hey, haven't you realized? You're aleady a Mage, silly!"; - next; + if(Class != Job_Novice) { mes "[Mage Guildsman]"; - mes "One of these days you'll realize the power inside of you when you can make Fire with your mind!"; - close; - } - if ((Class != Job_Baby_Mage) && (Class != Job_Mage) && (Class != Job_Novice)) { - mes "[Mage Guildsman]"; - mes "Hey~ C'mon. Quit playing games. You can't be a Mage because you already have another Job."; + 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; - } - if (Class == Job_Baby || Class == Job_Novice) { + }else{ mes "[Mage Guildsman]"; mes "Hey?"; next; - switch (select("I want to be a Mage.:Tell me the Requirements.:Pretty much nothing.")) { + 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?"; + mes "Wanna be a Mage? Eh..."; next; mes "[Mage Guildsman]"; - if (Sex == 1) { + if (Sex) { mes "Hey, look at you! You're kinda cute~! Not my type though..."; - } - else { + }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.:Pretty much nothing.") == 1) { - if (getskilllv("NV_BASIC") < 9) { - mes "[Mage Guildman]"; - mes "Oh, what a bummer. You haven't met the requirements yet."; - next; - mes "[Mage Guildman]"; - mes "Go back and reach Novice Job level 9 first. Don't forget that you also have to learn all of the Basic Skills before you come back."; - close; - } - mes "[Mage Guildsman]"; - mes "Okay. Sign right there. Oh, you're very good at spelling."; - mes "So your name is... " + strcharinfo(0) + "."; - next; - mes "[Mage Guildsman]"; - mes "Hmm I can see that you've worked very hard on your own."; - mes "Good! Always sticking to the basics is the best! I will transform you right away."; - next; - mes "[Mage Guildsman]"; - mes "*Ahem*"; - mes "Congratulations!"; - mes "You are now a Mage!"; - next; - skill 143,0,1; - if(Class == Job_Baby){ - jobchange Job_Baby_Mage; - } else { - jobchange Job_Mage; - } - getitem 1639,1; //N_Rod - set Zeny, Zeny + 50; + if(select("I want to be a Mage.:Nothing, thanks.") == 2) { mes "[Mage Guildsman]"; - mes "'Welcome to My World~'"; - mes "Heh heh, I just wanted to say that. You know, it's a quote from a well-known movie~"; - next; - mes "[Mage Guildsman]"; - mes "Now that you're a Mage just like us, let's be friends, okay?"; + 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 "Whaaaaat~?! Right after you tell me that you wanna become a Mage, you change your mind?! Be a bit more decisive!"; + 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?"; - if (Sex == 1) { - mes "For a cutie like you, I'd be happy to explain the requirements!"; - } - else { - mes "I'd be happy to explain the requirements for a pretty girl like you!"; - } + 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. "; + 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 mixing test. Because of that hard test, we slowly started to lose aplicants."; - mes "So, we decided to accept all aplicants who have the basic requirements."; + 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 "Let me know when you are ready to become a Mage, alright?"; + mes "Don't hesitate. Just be a magician!"; close; case 3: mes "[Mage Guildsman]"; @@ -151,148 +129,3 @@ geffen_in,164,124,4 script Mage Guildsman 123,{ } } } - -geffen_in,164,112,4 script Mixing machine 111,{ - mes "- Out of Order !! -"; - close; -} - -pay_arche,122,100,0 script Dollshoi 88,{ - mes "[Mage Guildsman]"; - mes "You want a Solution? Hmm, give me 50 Zeny and at least 1 Empty Test Tube."; - next; - if (select("Alright, Deal.:Nah, forget it.") == 1) { - mes "[Mage Guildsman]"; - if (Zeny < 50) { - mes "Hey! You don't have enough money to cover my 50 Zeny charge."; - close; - } - if (countitem(1092) == 0) { - mes "You can't carry solutions without a bottle! Bring me an Empty Test Tube."; - close; - } - delitem 1092,1; //Empty_Cylinder - set Zeny, Zeny - 50; - getitem 1089,1; //Payon_Potion - close; - } - close; -} - -moc_ruins,91,150,0 script Ponka-Hontas 93,{ - mes "[Mage Guildsman]"; - mes "Would you like a Solution? Then please give me 50 Zeny and at least 1 Empty Testtube."; - next; - if (select("Alright, Deal.:Nah, forget it.") == 1) { - mes "[Mage Guildsman]"; - if (Zeny < 50) { - mes "I'm sorry, but you don't have enough money to cover the 50 Zeny fee."; - close; - } - if (countitem(1092) == 0) { - mes "You can't carry liquids without using a bottle. Bring an Empty Test Tube the next time you see me."; - close; - } - delitem 1092,1; //Empty_Cylinder - set Zeny, Zeny - 50; - getitem 1088,1; //Morocc_Potion - close; - } - close; -} - -geffen_in,177,112,4 script Bookshelf 111,{ - mes "[Guide Book]"; - mes "This Guide Book is the property of the Geffen Mage Association. Please handle with care."; - next; - switch (select("Solution No. 1.:Solution No. 2.:Solution No. 3.:Solution No. 4.:Close.")) { - case 1: - mes "[Mage Test Solution No. 1]"; - mes "* Ingredients List *"; - mes "2 Jellopy"; - mes "3 Fluff"; - mes "1 Milk"; - next; - mes "[Mage Test Solution No. 1]"; - mes "* Solvent Agent *"; - mes "Payon Solution"; - mes "Where to Find:"; - mes "A small spring in Payon, the Archer Village."; - next; - mes "[Mage Test Solution No. 1]"; - mes "* Magic Power Serial Code *"; - mes "8472"; - next; - mes "[Mage Test Solution No. 1]"; - mes "* Catalyst *"; - mes "Yellow Gemstone"; - mes "(Provided by"; - mes "Mixing Machine)"; - close; - case 2: - mes "[Mage Test Solution No. 2]"; - mes "* Ingredients List *"; - mes "3 Jellopy"; - mes "1 Fluff"; - mes "1 Milk"; - next; - mes "[Mage Test Solution No. 2]"; - mes "* Solvent Agent *"; - mes "None"; - next; - mes "[Mage Test Solution No. 2]"; - mes "* Magic Power Serial Code *"; - mes "3735"; - next; - mes "[Mage Test Solution No. 2]"; - mes "* Catalyst *"; - mes "Red Gemstone"; - mes "(Provided by"; - mes "Mixing Machine)"; - close; - case 3: - mes "[Mage Test Solution No. 3]"; - mes "* Ingredients List *"; - mes "6 Jellopy"; - mes "1 Fluff"; - next; - mes "[Mage Test Solution No. 3]"; - mes "* Solvent Agent *"; - mes "Payon Solution"; - mes "Where to Find:"; - mes "A small spring in Payon, the Archer Village."; - next; - mes "[Mage Test Solution No. 3]"; - mes "* Magic Power Serial Code *"; - mes "2750"; - next; - mes "[Mage Test Solution No. 3]"; - mes "* Catalyst *"; - mes "Blue Gemstone"; - mes "(Provided by"; - mes "Mixing Machine)"; - close; - case 4: - mes "[Mage Test Solution No. 4]"; - mes "* Ingredients List *"; - mes "2 Jellopy"; - mes "3 Fluff"; - next; - mes "[Mage Test Solution No. 4]"; - mes "* Solvent Agent *"; - mes "Morroc Solution"; - mes "Where to Find:"; - mes "A small spring near entrance of pyramid in Morroc."; - next; - mes "[Mage Test Solution No. 4]"; - mes "* Magic Power Serial Code *"; - mes "5429"; - next; - mes "[Mage Test Solution No. 4]"; - mes "* Catalyst *"; - mes "1 carat Diamond"; - mes "(Provided by"; - mes "Mixing Machine)"; - close; - } -} \ No newline at end of file diff --git a/npc/re/jobs/1-1/merchant.txt b/npc/re/jobs/1-1/merchant.txt index c9ad936fd..4b7e091f0 100644 --- a/npc/re/jobs/1-1/merchant.txt +++ b/npc/re/jobs/1-1/merchant.txt @@ -3,18 +3,17 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.1 +//= 1.0 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Merchant Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] -//= 1.1 Added Baby job change support. [Masao] //============================================================ alberta_in,53,43,6 script Merchant#mer 86,{ if (Upper == 1) { - if ((Class == Job_Novice_High) && (ADVJOB == Job_Whitesmith || ADVJOB == Job_Creator)) { + 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"; @@ -37,7 +36,7 @@ alberta_in,53,43,6 script Merchant#mer 86,{ 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,1; + skill 143,0,0; jobchange Job_Merchant_High; skill 153,1,0; skill 154,1,0; @@ -45,22 +44,34 @@ alberta_in,53,43,6 script Merchant#mer 86,{ 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 "[Chief Mahnsoo]"; - mes "^333333*Sigh*^000000"; - mes "I'm so bored..."; - mes "When will I hear from my lovely Blossom?"; - close; } - mes "[Chief Mahnsoo]"; - mes "So, what brings you to"; - mes "the Merchant Association?"; - mes "Is there anything"; - mes "I can help you with?"; + mes "[Guildsman Mahnsoo]"; + mes "Hey, why are you here?"; next; - switch (select("I want to be a Merchant.:Tell me about Merchants.:Tell me the requirements.:Nope.")) { + 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_Baby || Class == Job_Novice) { + 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; @@ -78,137 +89,37 @@ alberta_in,53,43,6 script Merchant#mer 86,{ next; mes "[Guildsman Mahnsoo]"; mes "Congratulations on becoming a merchant!"; - next; - skill 143,0,1; - if(Class == Job_Baby){ - jobchange Job_Baby_Merchant; - } else { - jobchange Job_Merchant; - } - set MERCNT_Q,0; - set MERCNT_Q2,0; - getitem 1381,1; //N_Battle_Axe - mes "[Guildsman Mahnsoo]"; 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~"; + 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; } - if (Class == Job_Baby_Merchant || Class == Job_Merchant || Class == Job_Merchant_High) { - mes "[Chief Mahnsoo]"; - mes "Hello there!"; - mes "How do you like"; - mes "being a Merchant?"; - next; - mes "[Chief Mahnsoo]"; - mes "Having a way with"; - mes "money certainly"; - mes "has its perks,"; - mes "does it not?"; - close; - } - mes "[Chief Mahnsoo]"; - mes "We Merchants hate people who are two faced. It's bad for business."; - next; - mes "[Chief Mahnsoo]"; - mes "People who always try to take advantage of other people by selling things at a ridiculous price just so they can make money that they'll waste are the worst."; - next; - mes "[Chief Mahnsoo]"; - mes "Well, in any case, we only accept Novices for job changes to the Merchant class. But I appreciate your interest in what we do."; - close; case 2: - mes "[Chief Mahnsoo]"; - mes "Merchant?"; - mes "Well, we basically sell goods to make money. That is the way"; - mes "of the Merchant."; - next; - mes "[Chief Mahnsoo]"; - mes "I guess we may not be the best at fighting, and we don't have many special attacks. We've got no healing skills..."; - next; - mes "[Chief Mahnsoo]"; - mes "But we can buy goods at lower prices from NPC shops and sell them at a higher price to other people~"; - next; - mes "[Chief Mahnsoo]"; - mes "Our ultimate attack skill is 'Mammonite.' The strength of Mammonite comes from the anger"; - mes "when we're forced to throw away perfectly good zeny."; - next; - mes "[Chief Mahnsoo]"; - mes "Throwing away zeny like that"; - mes "causes a deadly rage to well up in the heart of any Merchant!"; - mes "Just thinking about it"; - mes "makes my blood boil!"; - next; - mes "[Chief Mahnsoo]"; - mes "Anyway, we can use most"; - mes "weapons except Bows, Rods, and Two-Handed Swords. But we can always sell those."; + 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 "[Chief Mahnsoo]"; - mes "Yes..."; - mes "We Merchants generally"; - mes "have money on our minds..."; + 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,"; - mes "although just selling and receiving money is our job,"; - mes "you will need to learn all Basic Skills."; + 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 Membership Fee. But was it so hard to make that money?"; + 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 staying alive or not, it all rests on your own ability."; + 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; } } - -alberta_in,28,29,2 script Merchant Guildsman 83,{ - if ((MERCNT_Q >= 0) && (MERCNT_Q <= 2)) { - mes "[Union Staff Kay]"; - mes "I am sorry, but we don't make deliveries anymore."; - mes "Didn't Chief Mahnsoo tell you?"; - close; - } - mes "[Union Staff Kay]"; - mes "Ah, we don't make deliveries anymore."; - mes "Too many people cried and kept whining that it's too difficult."; - next; - mes "[Union Staff Kay]"; - mes "Well, maybe we will have a few deliveries later."; - mes "Anyway, I don't have any work now..."; - close; -} - -morocc_in,140,102,4 script Student#mer 86,{ - if (MERCNT_Q == 4 || MERCNT_Q == 3) { - mes "[Dyer's Student]"; - mes "I am sorry, but the Merchant Guild no longer makes deliveries to us anymore."; - close; - } - mes "[Dyer's Student]"; - mes "Mr. Java Dullihan is the one and only, the best dye maker on the Rune-Midgard continent."; - next; - mes "[Dyer's Student]"; - mes "Aaaand I'm proud to say that I'm his student! Someday, I'll be able to make really beautiful dyes too!"; - next; - mes "[Dyer's Student]"; - mes "Of course, I'm still learning the basics right now, but someday..."; - close; -} - -geffen_in,155,122,4 script Guild Staff 47,{ - if (MERCNT_Q == 4 || MERCNT_Q == 3) { - mes "[Guild Staff]"; - mes "I am sorry, but the Merchant Guild no longer makes deliveries to us anymore."; - close; - } - mes "[Guild Staff]"; - mes "My package should have arrived by now. Huh. I guess the Merchant Guild might be running a little late..."; - close; -} \ No newline at end of file diff --git a/npc/re/jobs/1-1/swordman.txt b/npc/re/jobs/1-1/swordman.txt index d4f04e965..6942c170b 100644 --- a/npc/re/jobs/1-1/swordman.txt +++ b/npc/re/jobs/1-1/swordman.txt @@ -3,90 +3,98 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.1 +//= 1.0 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Swordman Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] -//= 1.1 Added Baby job change support. [Masao] //============================================================ -izlude_in,74,172,4 script Swordman 119,{ +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 Guildsman]"; + 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 Guildsman]"; + 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 Guildsman]"; + mes "[Swordman]"; mes "Hmm? Ah, you must first master the Basic Skills before you are ready to become a Swordman."; next; - mes "[Swordman Guildsman]"; + mes "[Swordman]"; mes "Come back to me when you have finished learning the Basic Novice Skills."; close; } - mes "[Swordman Guildsman]"; + mes "[Swordman]"; mes "Excellent! Let me promote you to a Swordman right away!"; next; - skill 143,0,1; + skill 143,0,0; jobchange Job_Swordman_High; skill 144,1,0; skill 145,1,0; skill 146,1,0; - mes "[Swordman Guildsman]"; + 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 "Hm...?"; - mes "You're a reborn"; - mes "warrior, aren't you?"; - next; - mes "[Swordman Guildsman]"; - 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 "Welcome to the"; - mes "Swordman Association!"; - next; - mes "[Swordman Guildsman]"; - mes "So..."; - mes "What business"; - mes "brings you to us?"; + 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.:Cancel.")) { + 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 job? Well, then..."; + mes "So you wish to know more about the mighty Swordman? Okay!"; next; mes "[Swordman Guildsman]"; - mes "Amongst the First Class jobs, the Swordman is the best melee fighter for three reasons."; - mes "There are 3 reasons why Swordy is the best to approch a fight!"; + 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 the benefit of additional HP. Second, Swordman generally have access to a wider selection fo weapons than the other First Class jobs."; + 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 "And third, most of the Swordman skills are crushing physical attacks! In my opinion, being a Swordman is the best job ever!"; + 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_Baby || Class == Job_Novice) { + 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 ^4d4dffJob Level 10^000000."; - mes "and ^4d4dffBasic Skill Level 9^000000."; + 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?"; @@ -97,42 +105,23 @@ izlude_in,74,172,4 script Swordman 119,{ mes "Hmm, both your Job Level and Basic Skill Level check out."; mes "Good. Do you want to be a Swordman right away?"; next; - switch (select("Yes, I do.:I'll consider it again.")) { - case 1: - mes "[Swordman Guildsman]"; - mes "Congratulations! From now on, you are going to live a Swordman's life!"; - mes "I will transform you right away!"; - next; - skill 143,0,1; - if(Class == Job_Baby){ - jobchange Job_Baby_Swordman; - } else { - jobchange Job_Swordman; - } - getitem 13415,1; //N_Falchion - mes "[Swordman Guildsman]"; - mes "Congratulations again for becomming a Swordman and I hope that you participate in many activities for the revival of our guild."; - close; - case 2: + if(select("Yes, I do.:I'll consider it again.") == 2) { mes "[Swordman Guildsman]"; - mes "Yeah. Careful consideration is needed for choosing a job."; - mes "But I feel sorry... that you'll have to consider it again after all the trials...."; + 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; } - } - if (Class == Job_Baby_Swordman || Class == Job_Swordman) { mes "[Swordman Guildsman]"; - mes "You are already an excellent Swordman, aren't you?"; - mes "Just devote yourself to be a great Swordman."; + 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; } - mes "[Swordman Guildsman]"; - mes "Haha! Oh boy. I'm flattered, but you already have another job! Still, I can't blame you..."; - close; case 3: - mes "[Swordman Guildsman]"; - mes "Ha ha ha!"; - mes "Ah, youth!"; close; } -} \ No newline at end of file +} diff --git a/npc/re/jobs/1-1/thief.txt b/npc/re/jobs/1-1/thief.txt index 8f90b16d4..8d7e452f3 100644 --- a/npc/re/jobs/1-1/thief.txt +++ b/npc/re/jobs/1-1/thief.txt @@ -3,31 +3,30 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.1 +//= 1.0 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Job Change to Thief Class //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] -//= 1.1 Added Baby job change support. [Masao] //============================================================ -moc_prydb1,39,129,2 script Thief Guildsman 69,{ +moc_prydb1,39,129,2 script Thief Guide#thief 69,{ if (Upper == 1) { - if ((Class == Job_Novice_High) && (ADVJOB == Job_Assassin_Cross || ADVJOB == Job_Stalker)) { + if (ADVJOB == Job_Assassin_Cross || ADVJOB == Job_Stalker) { if (Class == Job_Novice_High) { - mes "[Thief Guildsman]"; + 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 Guildsman]"; + 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 Guildsman]"; + mes "[Thief Guide]"; mes "Take your time and learn all the Basic Skills, will you? Well then, see you later~!"; close; } - mes "[Thief Guildsman]"; + 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; @@ -36,295 +35,173 @@ moc_prydb1,39,129,2 script Thief Guildsman 69,{ skill 150,1,0; skill 151,1,0; skill 152,1,0; - mes "[Thief Guildsman]"; + 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; } - mes "[Thief Guildsman]"; - if (Sex == 1) { + }else{ + mes "[Thief Guide]"; + if (sex) mes "Hey, dude."; - } else { - mes "Hey, baby~"; - } + else + mes "Hey, baby."; + mes "...Hey! You look too goody-goody to want to be a Thief!! Now scram, I'm busy. Next!"; close; } - mes "[Thief Guildsman]"; - if (Sex == 1) { - 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 (Class == Job_Baby_Thief || Class == Job_Thief || Class == Job_Thief_High) { + if(q_job_thief == 1) { mes "[Thief Guildsman]"; - mes "Hey~ if you have any trouble, get it out to me anytime, huh?"; + 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_Baby) && (Class != Job_Novice) && (Class != Job_Baby_Thief) && (Class != Job_Thief)) { - mes "[Thief Guildsman]"; - mes "What the heck...?"; - switch (Class) { - case Job_Swordman: - mes "Huh."; - mes "Now, that's"; - mes "a big sword."; - next; - mes "[Thief Guildsman]"; - mes "So..."; - mes "Trying to make"; - mes "up for something"; - mes "...Buddy?"; - close; - case Job_Mage: - mes "What's a Mage doin' here? Shouldn't you be doing card tricks elsewhere? Oh well, it's a free country..."; - next; - mes "[Thief Guildsman]"; - mes "Oh wait,"; - mes "it's not..."; - mes "Get outta here!"; - close; - case Job_Archer: - mes "Man, shouldn't you"; - mes "Archers be playing"; - mes "in the forest"; - mes "or something?"; - close; - case Job_Merchant: - mes "You're a Merchant,"; - mes "right? Why are you"; - mes "walking into a den"; - mes "of Thieves?!"; - next; - mes "[Thief Guildsman]"; - mes "It's like you're begging"; - mes "us to steal from you!"; - mes "Come on, hurry and"; - mes "get outta here~"; - close; - case Job_Acolyte: - mes "You know we all steal for a living, right? What are you doing in this kinda place, Acolyte?"; - close; - case Job_Assassin: - mes "Didn't you use to be one of us?! Man, you changed. You seem real dangerous now..."; - close; - close; - case Job_Rogue: - mes "Man, you got real cool all of a sudden! You must have some skills I can only dream of!"; - close; - close; - case Job_Priest: - mes "Oh my God..."; - mes "Am I dying?"; - next; + if(Class != Job_Novice) { + if(Class == Job_Thief) { mes "[Thief Guildsman]"; - mes "Why else would a Priest come here? I guess I better start confessing all of my misdeeds."; + mes "Hey~ if you have any trouble, get it out to me anytime, huh?"; close; - } - next; - if (Sex == 1) { - 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 (Class == Job_Baby || Class == Job_Novice) { - mes "[Thief Guildsman]"; - if (Sex == 1) { - mes "Ehh... Seems like a beloved son of a rich family, but why are you here in this dirty place?"; - } - else { - mes "Ehh... Seems like a beloved daughter of a rich family, but why are you here in this dirty place?"; - } - next; - switch (select("I want to be a Thief.:Nothing.")) { - case 1: - if (THF_Q == 0) { + }else{ + if(Sex) { mes "[Thief Guildsman]"; - mes "Well, are you that proud of it? 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.'"; + mes "What the heck...?"; + mes "Huh.. you are a "+jobname(Class)+" blockhead...!"; 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 "Well, are you that proud of it? 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; - 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 "Hey, brother."; + mes "Why are you here? Go back to your place~ go back~~"; + close; + }else{ mes "[Thief Guildsman]"; - mes "So, do you want to apply for being a Thief?"; + mes "What the heck...?"; next; - if (select("Yes, I do.:No.") == 1) { - mes "[Thief Guildsman]"; - mes "Alright, tell me your name. Huh? What?"; - mes "" + strcharinfo(0) + ". " + 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? So go and reach at least Basic Skill Level 9."; - close; - } - mes "[Thief Guildsman]"; - mes "Alright. I looked at your Felony Record, and you seem to have a very interesting history. You might have what it takes to be a Thief."; - mes "" + strcharinfo(0) + ". I now decree that you have passed this interview. Good work!"; - set THF_Q,1; - 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."; - close; - } mes "[Thief Guildsman]"; - mes "Well... do what you want to do~ Go your way~"; + mes "Hey, lady."; + mes "Why are you here? Go back to your place~ go back~~"; close; } - if (THF_Q == 1) { - 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; - } - mes "[Thief Guildsman]"; - mes "Oh, before I let you go... ...did you take any mushrooms?"; - mes "... ...It was a joke."; - mes "You don't need to do a test, and if you want to jobchange, you can do it directly."; - next; - mes "[Thief Guildsman]"; - mes "In short it was just a joke."; - mes "Ha ha ha ha ha!!"; - close; - case 2: - mes "[Thief Guildsman]"; - mes "You know you cannot be a thief without an application....."; - mes "What's on your mind..?"; - close; } } -} - -moc_prydb1,42,133,2 script Comrade 118,{ - if (Class == Job_Baby_Thief || Class == Job_Thief || Class == Job_Thief_High) { - mes "[Brad]"; - mes "I don't have any special events now. So go on your way and come back later."; + 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; } - if ((Class != Job_Baby) && (Class != Job_Novice) && (Class != Job_Baby_Thief) && (Class != Job_Thief)) { - mes "[Comrade]"; - mes "Um..."; - mes "You don't look"; - mes "like a Thief."; + 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; - mes "[Comrade]"; - mes "What the heck are"; - mes "you doing here anyway?"; + 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; } - if (THF_Q == 0) { - mes "[Comrade]"; - mes "What's the matter? If you want to be a Thief, speak to the woman beside me."; + 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; } - if (THF_Q == 1) { + 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 "[Leader of Thief Guild 'E']"; - mes "" + strcharinfo(0) + "..."; - mes "'For those who are ready, the moonlight shall open the way. You are now one of us.'"; - skill 143,0,1; - if(Class == Job_Baby){ - jobchange Job_Baby_Thief; - } else { - jobchange Job_Thief; - } - getitem 13041,1; //N_Main_Gauche - erasequest 1013; + 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 "[Leader of Thief Guild 'E']"; - mes "'Congratulations on becoming a Thief!'"; - mes "'From now, be an honorable representative of the Thief's Guild.'"; - mes "'If you bring disgrace to our guild, you will be killed.'"; - mes "'Anyway, I expect you to be a great Thief.'"; + 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 "*Ahem* Welcome to the Guild, comrade!"; - mes "I'm Brad, and I'm in charge of human resources here."; + 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 a quite busy man."; - mes "Alright then, I'll see you around~"; - close; - } -} - -moc_ruins,141,125,3 script Mr. Irrelevant 83,{ - if (Class == Job_Baby_Thief || Class == Job_Thief) { - mes "[Mr. Irrelevant]"; - mes "Ah, I see that you are now a Thief. I always knew you'd join us."; - next; - mes "[Mr. Irrelevant]"; - mes "Why don't you leave this place?"; + 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_Baby) && (Class != Job_Novice) && (Class != Job_Baby_Thief) && (Class != Job_Thief)) { - set .@rand,rand(1,5); - switch(.@rand){ - mes "[Mr. Irrelevant]"; - case 1: - mes "Today looks like a good day to go to the pyramids and hunt with some of my friends."; - close; - case 2: - mes "I could use a good, hard drink."; - close; - case 3: - mes "Gimme your money."; - next; - mes "[Mr. Irrelevant]"; - mes "Kidding, I'm off the clock."; - close; - case 4: - mes "WHO YOU CALLING A PSYCHO?!?!"; - close; - case 5: - mes "I've got nothing to say to you. Would you mind leaving me alone?"; - 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~"; } - } - if (THF_Q == 1) { - mes "[Mr. Irrelevant]"; - mes "There is this strange smell coming from... You. Now why would that be?"; close; } - mes "[Mr. Irrelevant]"; - mes "Hey Novice! Why don't you join the ranks of the Thief Guild? You newbies are always welcome to join us and our selfish cause."; - next; - mes "[Mr. Irrelevant]"; - mes "You can get more information in the Underground Room in the Pyramid 1 BF."; + 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; -} \ No newline at end of file +} -- cgit v1.2.3-70-g09d2 From 25bc83e9604be9fef4f3b70ab40e698b10bd08e0 Mon Sep 17 00:00:00 2001 From: euphyy Date: Sat, 8 Dec 2012 18:18:36 +0000 Subject: * Updated Geneticist, Warlock, and Sura job quests to their latest versions. * Added a clearer example for party_even_share_bonus (tid:58005). * Standardized job headers. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@17010 54d463be-8e91-2dee-dedb-b68131a5f0ec --- conf/battle/party.conf | 5 +- npc/jobs/2-1/assassin.txt | 6 +- npc/jobs/2-1/blacksmith.txt | 6 +- npc/jobs/2-1/hunter.txt | 2 +- npc/jobs/2-1/priest.txt | 2 +- npc/jobs/2-1/wizard.txt | 2 +- npc/jobs/2-1e/StarGladiator.txt | 2 +- npc/jobs/2-2/alchemist.txt | 2 +- npc/jobs/2-2/bard.txt | 2 +- npc/jobs/2-2/crusader.txt | 4 +- npc/jobs/2-2/dancer.txt | 2 +- npc/jobs/2-2/monk.txt | 2 +- npc/jobs/2-2/rogue.txt | 2 +- npc/jobs/2-2/sage.txt | 2 +- npc/jobs/2-2e/SoulLinker.txt | 2 +- npc/jobs/novice/supernovice.txt | 4 +- npc/jobs/valkyrie.txt | 2 +- npc/pre-re/jobs/1-1/acolyte.txt | 14 +- npc/pre-re/jobs/1-1/archer.txt | 10 +- npc/pre-re/jobs/1-1/mage.txt | 8 +- npc/pre-re/jobs/1-1/merchant.txt | 10 +- npc/pre-re/jobs/1-1/swordman.txt | 5 +- npc/pre-re/jobs/1-1/thief.txt | 10 +- npc/pre-re/jobs/novice/novice.txt | 2 +- npc/quests/thana_quest.txt | 8 +- npc/re/jobs/1-1/acolyte.txt | 2 +- npc/re/jobs/1-1/archer.txt | 2 +- npc/re/jobs/1-1/mage.txt | 2 +- npc/re/jobs/1-1/merchant.txt | 2 +- npc/re/jobs/1-1/swordman.txt | 2 +- npc/re/jobs/1-1/thief.txt | 2 +- npc/re/jobs/3-1/archbishop.txt | 2 +- npc/re/jobs/3-1/guillotine_cross.txt | 2 +- npc/re/jobs/3-1/mechanic.txt | 2 +- npc/re/jobs/3-1/ranger.txt | 11 +- npc/re/jobs/3-1/warlock.txt | 2072 +++++++++------------------------- npc/re/jobs/3-2/genetic.txt | 1568 +++++++++++-------------- npc/re/jobs/3-2/minstrel.txt | 9 +- npc/re/jobs/3-2/royal_guard.txt | 2 +- npc/re/jobs/3-2/shadow_chaser.txt | 4 +- npc/re/jobs/3-2/sorcerer.txt | 6 +- npc/re/jobs/3-2/sura.txt | 962 ++++++---------- npc/re/jobs/3-2/wanderer.txt | 2 +- 43 files changed, 1582 insertions(+), 3188 deletions(-) (limited to 'npc/re/jobs/1-1/swordman.txt') diff --git a/conf/battle/party.conf b/conf/battle/party.conf index 490d80948..68df9088b 100644 --- a/conf/battle/party.conf +++ b/conf/battle/party.conf @@ -44,8 +44,9 @@ party_item_share_type: 0 // A character's idle status is reset upon item use/skill use/attack (auto attack counts too)/movement. idle_no_share: no -// Give additional experience bonus per party-member involved on even-share parties? -// (eg: If set to 10, a even-share party of 5 people will receive +40% exp) +// Give additional experience bonus per party-member involved on even-share parties (excluding youself)? +// ex. If set to 10, a even-share party of 5 people will receive +40% exp (4 members * 10% exp): +// 140% party experience in total, so each member receives 140%/5 = 28% exp (instead of 20%). party_even_share_bonus: 0 // Display party name regardless if player is in a guild. diff --git a/npc/jobs/2-1/assassin.txt b/npc/jobs/2-1/assassin.txt index 7f8febe58..9c25f72ac 100644 --- a/npc/jobs/2-1/assassin.txt +++ b/npc/jobs/2-1/assassin.txt @@ -7,12 +7,12 @@ //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] +//= [Official Conversion] //= Job Change quest for Assassin class. //===== Additional Comments: ================================= -//= v1.0 Used some dialogue from the aegis Assassin script translated By: Pgro Team (OwNaGe) +//= 1.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. +//= 1.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 diff --git a/npc/jobs/2-1/blacksmith.txt b/npc/jobs/2-1/blacksmith.txt index 413fe69fd..96e291fc7 100644 --- a/npc/jobs/2-1/blacksmith.txt +++ b/npc/jobs/2-1/blacksmith.txt @@ -1,5 +1,5 @@ //===== rAthena Script ======================================= -//= Blacksmith Quest +//= Blacksmith Job Quest //===== By: ================================================== //= EREMES THE CANIVALIZER(Aegis) //= Translated by: yoshiki. @@ -9,9 +9,9 @@ //===== Current Version: ===================================== //= 2.8 //===== Compatible With: ===================================== -//= rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] +//= [Official Conversion] //= Job Change quest for Blacksmith class. //===== Additional Comments: ================================= //= Changed some npc names to the iRO names. Changed some variable diff --git a/npc/jobs/2-1/hunter.txt b/npc/jobs/2-1/hunter.txt index 1d7372ce8..96874f73e 100644 --- a/npc/jobs/2-1/hunter.txt +++ b/npc/jobs/2-1/hunter.txt @@ -9,7 +9,7 @@ //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] +//= [Official Conversion] //= Job Change quest for Hunter class. //===== Additional Comments: ================================= //= 0.5 Fully working. diff --git a/npc/jobs/2-1/priest.txt b/npc/jobs/2-1/priest.txt index bc6f50971..da68deb45 100644 --- a/npc/jobs/2-1/priest.txt +++ b/npc/jobs/2-1/priest.txt @@ -9,7 +9,7 @@ //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] +//= [Official Conversion] //= Job Change quest for Priest class. //===== Additional Comments: ================================= //= Fully working. Changed the way Priests enter the test room to help Acos. diff --git a/npc/jobs/2-1/wizard.txt b/npc/jobs/2-1/wizard.txt index 39cbdb204..b24728a24 100644 --- a/npc/jobs/2-1/wizard.txt +++ b/npc/jobs/2-1/wizard.txt @@ -8,7 +8,7 @@ //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] +//= [Official Conversion] //= Job Change quest for Wizard class. //===== Additional Comments: ================================= //= 2.4 Rescripted to Aegis 10.3 standards. [L0ne_W0lf] diff --git a/npc/jobs/2-1e/StarGladiator.txt b/npc/jobs/2-1e/StarGladiator.txt index e58dc4dde..778aa09c9 100644 --- a/npc/jobs/2-1e/StarGladiator.txt +++ b/npc/jobs/2-1e/StarGladiator.txt @@ -7,7 +7,7 @@ //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] +//= [Official Conversion] //= Job Change quest for Star Gladiator class. //===== Additional Comments: ================================= //= 1.1 Updated to the Aegis Standards. [Samuray22] diff --git a/npc/jobs/2-2/alchemist.txt b/npc/jobs/2-2/alchemist.txt index fd0f077f5..6d06a8a91 100644 --- a/npc/jobs/2-2/alchemist.txt +++ b/npc/jobs/2-2/alchemist.txt @@ -7,7 +7,7 @@ //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] +//= [Official Conversion] //= Job quest for Alchemist classes //===== Additional Comments: ================================= //= 2.5 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] diff --git a/npc/jobs/2-2/bard.txt b/npc/jobs/2-2/bard.txt index 788542b76..06ffee93c 100644 --- a/npc/jobs/2-2/bard.txt +++ b/npc/jobs/2-2/bard.txt @@ -7,7 +7,7 @@ //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] +//= [Official Conversion] //= Job quest for Bard class //===== Additional Comments: ================================= //= 2.1b Updated to the Official One. [Samuray22] diff --git a/npc/jobs/2-2/crusader.txt b/npc/jobs/2-2/crusader.txt index fc54de2c2..3fa61960f 100644 --- a/npc/jobs/2-2/crusader.txt +++ b/npc/jobs/2-2/crusader.txt @@ -1,5 +1,5 @@ //===== rAthena Script ======================================= -//= Crusader Quest +//= Crusader Job Quest //===== By: ================================================== //= Made by: Black Dragon //= Converted by: Shin @@ -8,7 +8,7 @@ //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] +//= [Official Conversion] //= Job quest for Crusader classes //===== Additional Comments: ================================= //= 2.2 Updated All NPCs to the officials one [Samuray22] diff --git a/npc/jobs/2-2/dancer.txt b/npc/jobs/2-2/dancer.txt index 285b7fa14..b52d808fd 100644 --- a/npc/jobs/2-2/dancer.txt +++ b/npc/jobs/2-2/dancer.txt @@ -8,7 +8,7 @@ //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] +//= [Official Conversion] //= Job quest for Dancer classes //===== Additional Comments: ================================= //= 3.2 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] diff --git a/npc/jobs/2-2/monk.txt b/npc/jobs/2-2/monk.txt index f2d1ade8b..125c01034 100644 --- a/npc/jobs/2-2/monk.txt +++ b/npc/jobs/2-2/monk.txt @@ -7,7 +7,7 @@ //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] +//= [Official Conversion] //= Job quest for Monk classes //===== Additional Comments: ================================= //= 2.2 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] diff --git a/npc/jobs/2-2/rogue.txt b/npc/jobs/2-2/rogue.txt index ba6938052..e8ce1904f 100644 --- a/npc/jobs/2-2/rogue.txt +++ b/npc/jobs/2-2/rogue.txt @@ -7,7 +7,7 @@ //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] +//= [Official Conversion] //= Job quest for Rogue classes //===== Additional Comments: ================================= //= 2.4 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] diff --git a/npc/jobs/2-2/sage.txt b/npc/jobs/2-2/sage.txt index 49ada45f4..7501c478a 100644 --- a/npc/jobs/2-2/sage.txt +++ b/npc/jobs/2-2/sage.txt @@ -9,7 +9,7 @@ //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] +//= [Official Conversion] //= Job quest for Sage classes //===== Additional Comments: ================================= //= 2.1 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] diff --git a/npc/jobs/2-2e/SoulLinker.txt b/npc/jobs/2-2e/SoulLinker.txt index fb8c726e2..13520c537 100644 --- a/npc/jobs/2-2e/SoulLinker.txt +++ b/npc/jobs/2-2e/SoulLinker.txt @@ -7,7 +7,7 @@ //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] +//= [Official Conversion] //= Job quest for Soul Linker class. //= [Vars Used] //= SOUL_Q = Job Change Phase. (Max 4) diff --git a/npc/jobs/novice/supernovice.txt b/npc/jobs/novice/supernovice.txt index 0605f8a9f..4720d7283 100644 --- a/npc/jobs/novice/supernovice.txt +++ b/npc/jobs/novice/supernovice.txt @@ -1,5 +1,5 @@ //===== rAthena Script ======================================= -//= Super Novice Script +//= Super Novice Job Quest //===== By: ================================================== //= Darkchild //===== Current Version: ===================================== @@ -7,7 +7,7 @@ //===== Compatible With: ===================================== //= rAthena SVN r15340+ //===== Description: ========================================= -//= [Aegis Conversion] +//= [Official Conversion] //= Super Novice Job Change Npc //= Super Novice Cart Rental Npc //= Some Other Useless Super Novice Npc diff --git a/npc/jobs/valkyrie.txt b/npc/jobs/valkyrie.txt index bf6aa5cb3..eadb39847 100644 --- a/npc/jobs/valkyrie.txt +++ b/npc/jobs/valkyrie.txt @@ -9,7 +9,7 @@ //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] +//= [Official 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] diff --git a/npc/pre-re/jobs/1-1/acolyte.txt b/npc/pre-re/jobs/1-1/acolyte.txt index 0eb0ec061..841a96524 100644 --- a/npc/pre-re/jobs/1-1/acolyte.txt +++ b/npc/pre-re/jobs/1-1/acolyte.txt @@ -7,15 +7,15 @@ //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] +//= [Official Conversion] //= Job quest for Acolyte classes //===== Additional Comments: ================================= -//= v1.0 Fully working. -//= v1.1 Added function calls for Priest Quest. -//= v1.2 Fixed Marthilda, Yosuke bugs. [Lupus] -//= v1.2a Added instant job change for High Novice [Lupus] -//= v1.3 Added Baby Class support [Lupus] -//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] +//= 1.0 Fully working. +//= 1.1 Added function calls for Priest Quest. +//= 1.2 Fixed Marthilda, Yosuke bugs. [Lupus] +//= 1.2a Added instant job change for High Novice [Lupus] +//= 1.3 Added Baby Class support [Lupus] +//= 1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] //= 1.5 Now saves/restores all quest skills [Lupus] //= 1.6 Merged back JFunc [Lupus] //= 1.7 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] diff --git a/npc/pre-re/jobs/1-1/archer.txt b/npc/pre-re/jobs/1-1/archer.txt index 754d874cf..a4a96fff0 100644 --- a/npc/pre-re/jobs/1-1/archer.txt +++ b/npc/pre-re/jobs/1-1/archer.txt @@ -7,13 +7,13 @@ //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] +//= [Official Conversion] //= Job quest for Archer classes //===== Additional Comments: ================================= -//= Fully working -//= v1.1 Added instant job change for High Novice [Lupus] -//= v1.3 Added Baby Class support [Lupus] -//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] +//= 1.0 Fully working. +//= 1.1 Added instant job change for High Novice [Lupus] +//= 1.3 Added Baby Class support [Lupus] +//= 1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] //= 1.5 Now saves/restores all quest skills [Lupus] //= 1.6 Merged back JFunc [Lupus] //= 1.7 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] diff --git a/npc/pre-re/jobs/1-1/mage.txt b/npc/pre-re/jobs/1-1/mage.txt index f44adfe57..5652260f2 100644 --- a/npc/pre-re/jobs/1-1/mage.txt +++ b/npc/pre-re/jobs/1-1/mage.txt @@ -7,14 +7,14 @@ //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] +//= [Official Conversion] //= Job quest for Mage classes //===== Additional Comments: ================================= -//= Fully working +//= 1.0 Fully working. //= 1.1 Fixed input ingridients bug [Lupus] -//= v1.2 Added instant job change for High Novice [Lupus] +//= 1.2 Added instant job change for High Novice [Lupus] //= 1.3 Added Baby Class support [Lupus] -//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] +//= 1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] //= 1.5 Now saves/restores all quest skills [Lupus] //= 1.6 Merged back JFunc, CHANGED NUMBERS TO CONSTANTS [Lupus] //= 1.7 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] diff --git a/npc/pre-re/jobs/1-1/merchant.txt b/npc/pre-re/jobs/1-1/merchant.txt index e5fd17c84..93d502794 100644 --- a/npc/pre-re/jobs/1-1/merchant.txt +++ b/npc/pre-re/jobs/1-1/merchant.txt @@ -7,13 +7,13 @@ //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] +//= [Official Conversion] //= Job quest for Merchant classes //===== Additional Comments: ================================= -//= Fully working -//= v1.1 Added instant job change for High Novice [Lupus] -//= v1.3 Added Baby Class support [Lupus] -//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] +//= 1.0 Fully working. +//= 1.1 Added instant job change for High Novice [Lupus] +//= 1.3 Added Baby Class support [Lupus] +//= 1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] //= 1.5 Changed Prontera->Izlude teleport price to 600 [Lupus] //= 1.5.1 Removed Duplicates [Silent] //= 1.5.2 Now saves/restores all quest skills [Lupus] diff --git a/npc/pre-re/jobs/1-1/swordman.txt b/npc/pre-re/jobs/1-1/swordman.txt index df6d15662..36ddc9d21 100644 --- a/npc/pre-re/jobs/1-1/swordman.txt +++ b/npc/pre-re/jobs/1-1/swordman.txt @@ -7,15 +7,14 @@ //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] +//= [Official Conversion] //= Job quest for Swordman classes //= Uses Job_sword1 as opposed to sword_1-1 -> sword_3-1. //= EXPLOITABLE in a sense because while the sword_x-1 maps //= are marked as "inside" by the client, job_sword1 is not. //= giving players FREE camera rotation while doing the job quest. //===== Additional Comments: ================================= -//= Fully working. I have created a custom warp to get into the test room so disable -//= the one in your warp script or scripts. It is this warp: "izlude_in",40,170. +//= 1.0 Fully working. //= 1.1 Added instant job change for High Novice [Lupus] //= 1.3 Added Baby Class support [Lupus] //= 1.4 Changed the timing system to initnpctimer, now you do get warnings about time diff --git a/npc/pre-re/jobs/1-1/thief.txt b/npc/pre-re/jobs/1-1/thief.txt index 4ee8832f9..aa5c6a108 100644 --- a/npc/pre-re/jobs/1-1/thief.txt +++ b/npc/pre-re/jobs/1-1/thief.txt @@ -1,19 +1,19 @@ //===== rAthena Script ======================================= //= Thief Job Quest //===== By: ================================================== -//= rAthena dev team +//= rAthena Dev Team //===== Current Version: ===================================== //= 1.8 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] +//= [Official Conversion] //= Job quest for Thief classes //===== Additional Comments: ================================= -//= Fully working -//= v1.1 Added instant job change for High Novice [Lupus] +//= 1.0 Fully working. +//= 1.1 Added instant job change for High Novice [Lupus] //= 1.3 Added Baby Class support [Lupus] -//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] +//= 1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] //= Fixed possible EXP abuse [Lupus] //= 1.5 Now saves/restores all quest skills [Lupus] //= 1.6 Merged back JFunc [Lupus] 1.6a typos diff --git a/npc/pre-re/jobs/novice/novice.txt b/npc/pre-re/jobs/novice/novice.txt index d65a5cf1f..c88795463 100644 --- a/npc/pre-re/jobs/novice/novice.txt +++ b/npc/pre-re/jobs/novice/novice.txt @@ -7,7 +7,7 @@ //===== Compatible With: ===================================== //= rAthena SVN 3422+(Requires jA Script System) //===== Description: ========================================= -//= [Aegis Conversion] +//= [Official Conversion] //= Novice Training Grounds //===== Additional Comments: ================================= //= 1.7D Added confirm character name thing on receptionist. [Kisuka] diff --git a/npc/quests/thana_quest.txt b/npc/quests/thana_quest.txt index c2117c7e7..e308ff3f0 100644 --- a/npc/quests/thana_quest.txt +++ b/npc/quests/thana_quest.txt @@ -2054,20 +2054,16 @@ OnInit: end; OnEnable: enablenpc "#gateto_thanatos"; - initnpctimer; - end; OnOn2: initnpctimer; end; OnTouch: set .@touch,1; OnTimer6000: - set .@boss_tt, $@thana_summon; - if ((.@boss_tt == 0) || (.@boss_tt == 6)) { + if (($@thana_summon == 0) || ($@thana_summon == 6)) { disablenpc "#gateto_thanatos"; stopnpctimer; - } - else if (.@boss_tt == 5) { + } else if ($@thana_summon == 5) { if (.@touch) warp "thana_boss",136,116; else donpcevent "#gateto_thanatos::OnOn2"; } diff --git a/npc/re/jobs/1-1/acolyte.txt b/npc/re/jobs/1-1/acolyte.txt index a200ec514..40562a418 100644 --- a/npc/re/jobs/1-1/acolyte.txt +++ b/npc/re/jobs/1-1/acolyte.txt @@ -1,5 +1,5 @@ //===== rAthena Script ======================================= -//= Renewal Acolyte Job Change +//= Renewal Acolyte Job Quest //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== diff --git a/npc/re/jobs/1-1/archer.txt b/npc/re/jobs/1-1/archer.txt index 46325309c..3740058cb 100644 --- a/npc/re/jobs/1-1/archer.txt +++ b/npc/re/jobs/1-1/archer.txt @@ -1,5 +1,5 @@ //===== rAthena Script ======================================= -//= Renewal Archer Job Change +//= Renewal Archer Job Quest //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== diff --git a/npc/re/jobs/1-1/mage.txt b/npc/re/jobs/1-1/mage.txt index 99cca81c4..ee5eba7fd 100644 --- a/npc/re/jobs/1-1/mage.txt +++ b/npc/re/jobs/1-1/mage.txt @@ -1,5 +1,5 @@ //===== rAthena Script ======================================= -//= Renewal Mage Job Change +//= Renewal Mage Job Quest //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== diff --git a/npc/re/jobs/1-1/merchant.txt b/npc/re/jobs/1-1/merchant.txt index 4b7e091f0..a010af556 100644 --- a/npc/re/jobs/1-1/merchant.txt +++ b/npc/re/jobs/1-1/merchant.txt @@ -1,5 +1,5 @@ //===== rAthena Script ======================================= -//= Renewal Merchant Job Change +//= Renewal Merchant Job Quest //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== diff --git a/npc/re/jobs/1-1/swordman.txt b/npc/re/jobs/1-1/swordman.txt index 6942c170b..cd01ecb28 100644 --- a/npc/re/jobs/1-1/swordman.txt +++ b/npc/re/jobs/1-1/swordman.txt @@ -1,5 +1,5 @@ //===== rAthena Script ======================================= -//= Renewal Swordman Job Change +//= Renewal Swordman Job Quest //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== diff --git a/npc/re/jobs/1-1/thief.txt b/npc/re/jobs/1-1/thief.txt index 8d7e452f3..5bf41fa87 100644 --- a/npc/re/jobs/1-1/thief.txt +++ b/npc/re/jobs/1-1/thief.txt @@ -1,5 +1,5 @@ //===== rAthena Script ======================================= -//= Renewal Thief Job Change +//= Renewal Thief Job Quest //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== diff --git a/npc/re/jobs/3-1/archbishop.txt b/npc/re/jobs/3-1/archbishop.txt index 34251a8de..0b61588d0 100644 --- a/npc/re/jobs/3-1/archbishop.txt +++ b/npc/re/jobs/3-1/archbishop.txt @@ -1,5 +1,5 @@ //===== rAthena Script ======================================= -//= Arch Bishop Job change Quest +//= Arch Bishop Job Quest //===== By: ================================================== //= L0ne_W0lf //= Credits: Gepard diff --git a/npc/re/jobs/3-1/guillotine_cross.txt b/npc/re/jobs/3-1/guillotine_cross.txt index 3fa7f087e..d7ea93877 100644 --- a/npc/re/jobs/3-1/guillotine_cross.txt +++ b/npc/re/jobs/3-1/guillotine_cross.txt @@ -1,5 +1,5 @@ //===== rAthena Script ======================================= -// Guillotine Cross Job Change Quest +//= Guillotine Cross Job Quest //===== By: ================================================== //= Muad_Dib //===== Current Version: ===================================== diff --git a/npc/re/jobs/3-1/mechanic.txt b/npc/re/jobs/3-1/mechanic.txt index f2aa384d5..94792439d 100644 --- a/npc/re/jobs/3-1/mechanic.txt +++ b/npc/re/jobs/3-1/mechanic.txt @@ -1,5 +1,5 @@ //===== rAthena Script ======================================= -//= Mechanic Jobchange Quest +//= Mechanic Job Quest //===== By: ================================================== //= Muad_Dib //===== Current Version: ===================================== diff --git a/npc/re/jobs/3-1/ranger.txt b/npc/re/jobs/3-1/ranger.txt index 95e5b6182..c04b36ba6 100644 --- a/npc/re/jobs/3-1/ranger.txt +++ b/npc/re/jobs/3-1/ranger.txt @@ -1,17 +1,16 @@ //===== rAthena Script ======================================= -// Ranger Job change Quest +//= Ranger Job Quest //===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= Muad_Dib //===== Current Version: ===================================== //= 1.4 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] +//= [Official Conversion] //= Job change Quest from Hunter / Sniper -> Ranger. //===== Additional Comments: ================================= -//= 1.0 First Version. +//= 1.0 First Version. [Masao] //= 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 diff --git a/npc/re/jobs/3-1/warlock.txt b/npc/re/jobs/3-1/warlock.txt index 5ccfdd1aa..363597c10 100644 --- a/npc/re/jobs/3-1/warlock.txt +++ b/npc/re/jobs/3-1/warlock.txt @@ -1,78 +1,36 @@ //===== rAthena Script ======================================= -// Warlock Job change Quest +//= Warlock Job Quest //===== By: ================================================== -//= Masao -//= Credits: Muad_Dib, Gepard & L0ne_W0lf +//= Muad_Dib, Gepard & L0ne_W0lf //===== Current Version: ===================================== -//= 1.2a +//= 1.3 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= -//= [AEGIS Conversion] +//= [Official Conversion] //= Job change Quest from Wizard / High Wizard -> Warlock. //===== Additional Comments: ================================= -//= 1.0 First Version. +//= 1.0 First version. [Masao] //= 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.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] +//= 1.3 Updated script, optimized. [Euphy] //============================================================ -morocc,103,144,0 script distorted place morroc 139,1,1,{ - +morocc,103,144,0 script #distorted_space_1 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; - } + if (job_wl > 1) { 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 - "; + if (strnpcinfo(0) == "#distorted_space_1" && (Class == Job_Warlock || Class == Job_Warlock_T || Class == Job_Baby_Warlock)) { 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; + if (countitem(6153) > 0) warp "spl_in02",79,102; - end; - case 2: - mes " - You decide to leave it alone. - "; - close; - } - case 2: - mes " - You ignore it. - "; - close; + end; } - } - 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.")){ + 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; @@ -83,14 +41,14 @@ OnTouch: close; } } - if (BaseLevel > 94){ - mes " - I can feel a strange distortion around me - "; + if (BaseLevel > 94 && (strnpcinfo(0) == "#distorted_space_2" || BaseJob == Job_Wizard)) { + mes " - There is a strange distortion here - "; next; - switch(select( "Search the area.:Ignore it.")){ + 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.")){ + 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; @@ -99,7 +57,7 @@ OnTouch: case 2: mes " - You decide to leave it alone. - "; close; - } + } case 2: mes " - You ignore it. - "; close; @@ -107,202 +65,152 @@ OnTouch: } end; } +splendide,141,284,0 duplicate(#distorted_space_1) #distorted_space_2 139,1,1 -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; +function script F_Warlock { + 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"; + if (BaseJob == Job_Wizard) { + 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) { + select("I'm not sure. Who are you?"); mes "[Master]"; - mes "Yoop!!!"; + 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; - mes "[Yoop]"; - mes "Yeap...!!"; - next; - mes "[Master]"; - mes "There's the warp portal beyond you... Is it an illusion?"; + select("What is a ^000077Warlock^000000?"); + mes "[Master Egnoloria]"; + mes "Oh...are you interested?"; next; - mes "[Yoop]"; - mes "Sorry!!!"; - mes "It's my mistake..."; + 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]"; - mes "Fool..."; - mes "I'll deal with you after you send the human away."; + mes "[Master Egnoloria]"; + mes "Only the strong magic can explain it."; next; - mes "[Master]"; - mes "MushSartas Ir Cyamar"; - mes "UdenLo"; + select("Could I become Warlock?"); + mes "[Master Egnoloria]"; + mes "You?"; + mes "You want to become a Warlock?"; + mes "Hahaha"; next; - mes " - The fairy with the green hair chants a spell. - "; - mes " - I feel like something special surrounds me. - "; - specialeffect2 EF_DISPELL; + 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]"; - mes "Oh, that's interesting."; - mes "How dare you resist me human?"; + mes "[Master Egnoloria]"; + mes "If you dare to face death, you can try to become one."; 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?",-; + switch(select("What do I need to do?:Cancel.")) { + case 1: mes "[Master Egnoloria]"; - mes "Oh...are you interested?"; + mes "Are you serious?"; + mes "You hunger for power don't you human."; 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."; + mes "The strong desire to be more powerful makes your soul more beautiful."; next; mes "[Master Egnoloria]"; - mes "Only the strong magic can explain it."; - mes "kkk"; + mes "But, I need to check that you're qualified."; next; - menu "Could I become Warlock?",-; mes "[Master Egnoloria]"; - mes "You?"; - mes "You wanna become a Warlock?"; - mes "Hahaha"; + mes "Yoop!"; 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."; + mes "[Yoop]"; + mes "Yeap!!"; next; mes "[Master Egnoloria]"; - mes "If you dare to face death, you can try to become one."; + mes "Give this to the human."; 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 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."; + 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; + mes "You're still quite far too low of a level to even consider this."; } - if (job_wl == 1){ + close2; + warp "splendide",200,100; + end; +} + +spl_in02,77,107,5 script Assistant#Warlock1 446,{ + if (job_wl == 0) { + callfunc "F_Warlock"; + end; + } else 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.")){ + switch(select("Leave.:Stay.")) { case 1: mes "[Yoop]"; mes "Leave me alone...!"; @@ -316,33 +224,32 @@ spl_in02,77,107,5 script Assistant#Warlock 446,{ 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; + } else if (job_wl == 2 || job_wl == 3) { mes "[Yoop]"; - mes "Hey, human!"; - mes "Would you like to"; - mes "become a Warlock?"; - next; - if (SkillPoint != 0) { + if (job_wl == 2) { + 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 "First, use all of your remaining job skills points before continuing."; + mes "Hey, human!"; + mes "Would you like to"; + mes "become a Warlock?"; + next; + } + if (SkillPoint != 0) { + mes "First, use all of your remaining job skill points before continuing."; set job_wl,3; close; } - mes "[Yoop]"; mes "This is the Master's"; mes "decision so let me know."; next; @@ -353,45 +260,44 @@ spl_in02,77,107,5 script Assistant#Warlock 446,{ mes "[Yoop]"; mes "Please gather ^000077Glittering Crystal^000000s and ^000077Giant Bradium Fragment^000000s."; next; + callsub L_Quest,1; + close; + } else if (job_wl == 4) { + if (countitem(6152) == 0 || countitem(6151) == 0) + callsub L_Quest,0; + else { + 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; + } else if (job_wl == 5) { 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 "This stone is well made."; + mes "Please go to my Master."; + close; + } else { 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; + mes "A Magic Chamber is created from magic materials."; next; mes "[Yoop]"; - mes "Bring these stones with you or else you won't be able to return!"; - mes "Be careful!"; + mes "This combined stone is formed differently according to the raw materials and the way of treating it."; next; mes "[Yoop]"; - mes "The person next to my Master will let you out if you talk to him."; + mes "But most of stones are quite similar!"; + mes "We can't differentiate them easily."; next; mes "[Yoop]"; - mes "My lab is located on the north western part of Splendide. Bring these to me when you've gathered them."; + mes "Even I don't know how it all works."; 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; + +L_Quest: + 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; + if (getarg(0)) { mes "[Yoop]"; mes "Show us how strong you are. And don't forget to wear this."; set job_wl,4; @@ -399,78 +305,40 @@ spl_in02,77,107,5 script Assistant#Warlock 446,{ 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."; + mes "Bring these stones with you or else you won't be able to return!"; + mes "Be careful!"; next; mes "[Yoop]"; - mes "But most of stones are quite similar!"; - mes "We can't differentiate them easily."; + mes "The person next to my Master will let you out if you talk to him."; next; mes "[Yoop]"; - mes "Even I don't know how it all works."; - close; + mes "My lab is located on the north western part of Splendide. Bring these to me when you've gathered them."; + return; } spl_in02,60,231,5 script Yoop#Warlock 446,{ - - if (job_wl < 4){ - mes "[Yoop]"; - mes "Who are you."; + mes "[Yoop]"; + if (job_wl < 4) { + mes "Who are you?"; mes "Get out of here!"; close; - } - if (job_wl == 4){ - mes "[Yoop]"; - mes "You're back??"; + } else if (job_wl == 4) { + mes "You're back?"; next; - switch(select("I brought the materials.:I've lost the Magical Stones.:Nothing.")){ + switch(select("I brought the materials.:I've lost the Magical Stones.:Nothing.")) { case 1: - if (countitem(6152) < 1 || countitem(6151) < 1){ + mes "[Yoop]"; + if (countitem(6152) == 0 || countitem(6151) == 0) { + mes "......"; + mes "......Where?"; + mes "Don't bother me!"; + 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; @@ -482,16 +350,12 @@ spl_in02,60,231,5 script Yoop#Warlock 446,{ 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]"; + } else if (countitem(6152) && countitem(6151)) { + if (isequipped(2796) || isequipped(2797)) { + mes "Bring me back the magical stones."; + close; + } + if (countitem(2796) == 0 || countitem(2797) == 0) { mes "It seems that you don't have it?"; mes "You lost it?"; next; @@ -499,13 +363,7 @@ spl_in02,60,231,5 script Yoop#Warlock 446,{ 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 "Alright! All the materials are ready!"; 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 @@ -522,49 +380,47 @@ spl_in02,60,231,5 script Yoop#Warlock 446,{ 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."; + mes "Please check whether you misplaced it or if you already have it equipped."; next; - switch(select("I found it.:nah.")){ + 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__ + if ((isequipped(2796) == 0 && countitem(2796) == 0) || (isequipped(2797) == 0 && countitem(2797) == 0)) { + if (countitem(732) > 0) { + switch(select("Give 3 carat diamond.:Just quit it.")) { + case 1: + mes "[Yoop]"; + mes "I will overlook your fault."; + mes "Please be careful with it."; + delitem 732,1; //Crystal_Jewel__ + if (isequipped(2796) == 0 && countitem(2796) == 0) getitem 2796,1; //Magical_Stone + if (isequipped(2797) == 0 && countitem(2797) == 0) getitem 2797,1; //Magical_Stone_ - close; - case 2: - mes "[Yoop]"; - mes "Just show me your good faith!"; - close; - } + 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..."; + mes "^000077Just apologize^000000!"; + mes "I guess I could give you more stones if you give me say a 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..."; + if (isequipped(2796) || isequipped(2797)) { + mes "Please check your equipment window..."; + mes "You sure you don't have it?"; + close; + } + mes "Then what's that you are holding now...?"; close; } case 3: @@ -573,225 +429,40 @@ spl_in02,60,231,5 script Yoop#Warlock 446,{ mes "Don't bother me, I am quite busy."; close; } + } else { + 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; } - 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; +spl_in02,84,103,3 script Assistant#Warlock2 439,{ + if (job_wl == 0) { + callfunc "F_Warlock"; end; - } - if (job_wl == 1){ + } else if (job_wl == 1) { mes "[Assistant]"; mes "Human! What do you want?"; close; - } - if ((job_wl > 1) && (job_wl < 6)){ + } else if (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."; + } else if (job_wl == 6) { + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 3500) { + mes "You're carring out too many items."; + mes "You'd better minimize your weight."; close; } mes "[Yoop]"; @@ -808,509 +479,101 @@ spl_in02,84,103,3 script Assistant#Warlock2 445,{ 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; + end; + } else if (job_wl == 7) { + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 3500) { + mes "You're carring out too many items."; + mes "You'd better minimize your weight."; + close; + } mes "[Yoop]"; - mes "Yeap...!!"; - next; - mes "[Master]"; - mes "There's the warp portal beyond you... Is it an illusion?"; + 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(12386)) delitem 12386,countitem(12386); //Rainbow_Ruby_Wind + if (countitem(12387)) delitem 12387,countitem(12387); //Rainbow_Ruby_Earth + if (countitem(12385)) delitem 12385,countitem(12385); //Rainbow_Ruby_Fire + getitem 12384,5; //Rainbow_Ruby_Water + getitem 12386,5; //Rainbow_Ruby_Wind + getitem 12387,5; //Rainbow_Ruby_Earth + getitem 12385,5; //Rainbow_Ruby_Fire + close2; + warp "job3_war01",23,20; + end; + } else if (job_wl == 8) { mes "[Yoop]"; - mes "Sorry!!!"; - mes "It's my mistake..."; + 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(12386)) delitem 12386,countitem(12386); //Rainbow_Ruby_Wind + if (countitem(12387)) delitem 12387,countitem(12387); //Rainbow_Ruby_Earth + if (countitem(12385)) delitem 12385,countitem(12385); //Rainbow_Ruby_Fire next; - mes "[Master]"; - mes "Fool..."; - mes "I'll deal with you after you send the human away."; + mes "[Yoop]"; + 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; + } else if (job_wl == 9) { + mes "[Yoop]"; + mes "All of the tests are done. Now talk to Master Engoloria."; + mes "I'm so happy that you have succeeded."; + close; + } else { + mes "[Yoop]"; + mes "I can feel that you have strong magic."; + mes "I envy you."; next; - mes "[Master]"; - mes "MushSartas Ir Cyamar"; - mes "UdenLo"; + mes "[Yoop]"; + mes "It deserves something special."; + mes "Don't abuse it."; + close; + } +} + +spl_in02,78,110,5 script Assistant#Warlock3 437,{ + if (job_wl == 0) { + callfunc "F_Warlock"; + end; + } + mes "[Assistant]"; + mes "......"; + switch(job_wl) { + case 1: mes "If you don't have anything to say to me, would you just leave?"; break; + case 2: mes "I don't have a pony-tail..."; break; + default: mes "Please be quiet while my master is meditating."; break; + } + 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 == 1){ +} + +spl_in02,80,108,5 script Guild Master#Warlock 465,{ + if (job_wl == 0) { + callfunc "F_Warlock"; + end; + } else 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.")){ + switch(select("How can I be a Warlock?:Cancel.")) { case 1: mes "[Master Egnoloria]"; mes "Are you serious?"; @@ -1341,20 +604,17 @@ spl_in02,80,108,5 script Guild Master#Warlock 465,{ 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){ + } else 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){ + } else if (job_wl == 3 || job_wl == 4) { mes "[Master Egnoloria]"; mes "......"; next; @@ -1362,11 +622,9 @@ spl_in02,80,108,5 script Guild Master#Warlock 465,{ mes "Master is meditating."; mes "Be quiet."; close; - } - if (job_wl == 5){ + } else 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."; @@ -1383,134 +641,65 @@ spl_in02,80,108,5 script Guild Master#Warlock 465,{ mes "[Yoop]"; mes "Yup, Master."; mes "Please follow me."; - emotion e_ic,"Assistant#Warlock2"; + emotion e_ic,0,"Assistant#Warlock2"; set job_wl,6; changequest 11108,11109; close; - } - if ((job_wl > 5) && (job_wl < 9)){ + } else if (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; - } - } + } else if (job_wl == 9) { + if (BaseLevel < 99 || BaseJob != Job_Wizard) { mes "[Master Egnoloria]"; - //Custom Translation - mes "Ah......?"; + mes "Hm...?"; + mes "How did you come this far..."; + close; + } + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 3500) { + mes "You've got too many items."; + mes "Please come back after reducing the number of items you have."; + close; + } + mes "[Master Egnoloria]"; + if (SkillPoint != 0) { + mes "Unless you like your current job, you should use all your skill points."; + close; + } + if (ismounting()) { + mes "You are on a riding pet,"; + mes "so you cannot change your job."; + mes "Please unequip your riding pet and try again!"; + close; + } + 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; + if (SkillPoint != 0) { + mes "^0000ffYou still have left the skill points, Please use all the skill points and try to start again!^000000"; close; } mes "[Master Egnoloria]"; - //Custom Translation - mes "Ah......?"; - mes "How come you've made it this far..."; + mes "This crystallized magical stone will keep you safe."; + if (Class == Job_High_Wizard) { + if (JobLevel > 69) set job_wl,13; + else if (JobLevel > 59) set job_wl,12; + else set job_wl,11; + } + else set job_wl,10; + jobchange roclass(eaclass()|EAJL_THIRD); + completequest 11112; + getitem 5753,1; //Magic_Stone_Hat + getitem 2795,1; //Green_Apple_Ring close; - } - if (job_wl > 9){ + } else 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."; @@ -1519,15 +708,13 @@ spl_in02,80,108,5 script Guild Master#Warlock 465,{ } 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."; + 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."; @@ -1535,7 +722,7 @@ job3_war01,29,25,0 script Ebein#WRR 437,{ 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.")){ + switch(select("Go to the waiting room.:Go outside.")) { case 1: mes "[Ebein]"; mes "Then please enter the room yourself."; @@ -1550,519 +737,314 @@ job3_war01,29,25,0 script Ebein#WRR 437,{ warp "spl_in02",79,102; end; } -end; - } -job3_war01,29,25,5 script The chamber of magic 437,{ +job3_war01,29,25,5 script The chamber of magic#1 437,{ end; - OnInit: - disablenpc "The chamber of magic"; - waitingroom "The chamber of magic",20,"The chamber of magic::OnStartArena",1; + disablenpc "The chamber of magic#1"; + waitingroom "The chamber of magic",20,"The chamber of magic#1::OnStartArena",1; enablewaitingroomevent; end; - OnStartArena: warpwaitingpc "job3_war02",29,25; - donpcevent "The chamber of magic#W::OnEnable"; + donpcevent "The chamber of magic#2::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"; + if (getmapusers("job3_war02") == 0) { + donpcevent "The chamber of magic#2::OnReset"; + donpcevent "The chamber of magic#2::OnDisable"; + stopnpctimer "The chamber of magic#2"; + donpcevent "The chamber of magic#3::OnReset"; + donpcevent "The chamber of magic#3::OnDisable"; + stopnpctimer "The chamber of magic#3"; + donpcevent "The chamber of magic#4::OnReset"; + donpcevent "The chamber of magic#4::OnDisable"; + stopnpctimer "The chamber of magic#4"; + donpcevent "Hollow Stone#Warlock::OnReset"; + donpcevent "Hollow Stone#Warlock::OnDisable"; + stopnpctimer "Hollow Stone#Warlock"; stopnpctimer; enablewaitingroomevent; end; } initnpctimer; -end; - + end; OnEnable: enablewaitingroomevent; end; - OnDisable: disablewaitingroomevent; end; } -job3_war02,1,1,0 script The chamber of magic#W 66,{ - end; - +- script The chamber of magic#2 -1,{ OnInit: - disablenpc "The chamber of magic#W"; + disablenpc strnpcinfo(0); 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; + enablenpc strnpcinfo(0); + monster "job3_war02",23,32,"Magic Monster",2047,1,strnpcinfo(0)+"::OnMyMobDead"; + monster "job3_war02",23,21,"Magic Monster",2048,1,strnpcinfo(0)+"::OnMyMobDead"; + monster "job3_war02",34,32,"Magic Monster",2049,1,strnpcinfo(0)+"::OnMyMobDead"; + monster "job3_war02",34,21,"Magic Monster",2050,1,strnpcinfo(0)+"::OnMyMobDead"; + monster "job3_war02",23,32,"Magic Monster",2047,1,strnpcinfo(0)+"::OnMyMobDead"; + monster "job3_war02",23,21,"Magic Monster",2048,1,strnpcinfo(0)+"::OnMyMobDead"; + monster "job3_war02",34,32,"Magic Monster",2049,1,strnpcinfo(0)+"::OnMyMobDead"; + monster "job3_war02",34,21,"Magic Monster",2050,1,strnpcinfo(0)+"::OnMyMobDead"; initnpctimer; end; - OnReset: - killmonster "job3_war02","The chamber of magic#W::OnMyMobDead"; + killmonster "job3_war02",strnpcinfo(0)+"::OnMyMobDead"; end; - OnDisable: - disablenpc "The chamber of magic#W"; + disablenpc strnpcinfo(0); end; - OnMyMobDead: - set .MyMobCount,.MyMobCount-1; - if(.MyMobCount < 1){ + if (mobcount("job3_war02",strnpcinfo(0)+"::OnMyMobDead") < 1) { stopnpctimer; mapannounce "job3_war02","The Monster Invasion has been stopped.",bc_map; - donpcevent "The chamber of magic#W2::OnEnable"; + set .@str$, "The chamber of magic#"+((strnpcinfo(0) == "The chamber of magic#2")?"3":"4"); + donpcevent .@str$+"::OnEnable"; } end; - OnTimer3000: + if (strnpcinfo(0) != "The chamber of magic#2") end; 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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"; + mapannounce "job3_war02","The magic stabilization has failed.",bc_map; + donpcevent "The chamber of magic#2::OnReset"; + donpcevent "The chamber of magic#3::OnReset"; + donpcevent "The chamber of magic#4::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"; + donpcevent "The chamber of magic#2::OnDisable"; + donpcevent "The chamber of magic#3::OnDisable"; + donpcevent "The chamber of magic#4::OnDisable"; + donpcevent "The chamber of magic#1::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; } +- duplicate(The chamber of magic#2) The chamber of magic#3 -1 -job3_war02,1,2,0 script The chamber of magic#W2 66,{ - end; - +- script The chamber of magic#4 -1,{ OnInit: - disablenpc "The chamber of magic#W2"; + disablenpc "The chamber of magic#4"; 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; + enablenpc "The chamber of magic#4"; + monster "job3_war02",23,32,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead"; + monster "job3_war02",23,21,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead"; + monster "job3_war02",34,32,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead"; + monster "job3_war02",34,21,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead"; + monster "job3_war02",23,32,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead"; + monster "job3_war02",23,21,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead"; + monster "job3_war02",34,32,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead"; + monster "job3_war02",34,21,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead"; initnpctimer; end; - OnReset: - killmonster "job3_war02","The chamber of magic#W2::OnMyMobDead"; + killmonster "job3_war02","The chamber of magic#4::OnMyMobDead"; end; - OnDisable: - disablenpc "The chamber of magic#W2"; + disablenpc "The chamber of magic#4"; end; - OnMyMobDead: - set .MyMobCount,.MyMobCount-1; - if(.MyMobCount < 1){ + if (mobcount("job3_war02","The chamber of magic#4::OnMyMobDead") < 1) { + mapannounce "job3_war02","Once it's stabilized, the fragments are toward the center.",bc_map; stopnpctimer; - mapannounce "job3_war02","The Monster Invasion has been stopped.",bc_map; - donpcevent "The chamber of magic#W3::OnEnable"; + donpcevent "Hollow Stone#Warlock::OnEnable"; } end; - OnTimer4000: - mapannounce "job3_war02","Defend this room from monsters for 5 minutes.",bc_map; + 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; - -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; + 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; + 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; + 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; + 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"; + mapannounce "job3_war02","The magic stabilization has failed. The fragment has lost its power.",bc_map; + donpcevent "The chamber of magic#2::OnReset"; + donpcevent "The chamber of magic#3::OnReset"; + donpcevent "The chamber of magic#4::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"; + donpcevent "The chamber of magic#2::OnDisable"; + donpcevent "The chamber of magic#3::OnDisable"; + donpcevent "The chamber of magic#4::OnDisable"; + donpcevent "The chamber of magic#1::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; - +- script Hollow Stone#Warlock -1,{ OnInit: - disablenpc "Hollow Stone#W"; + disablenpc "Hollow Stone#Warlock"; 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"; + enablenpc "Hollow Stone#Warlock"; + donpcevent "The chamber of magic#2::OnReset"; + donpcevent "The chamber of magic#2::OnDisable"; + donpcevent "The chamber of magic#3::OnReset"; + donpcevent "The chamber of magic#3::OnDisable"; + donpcevent "The chamber of magic#4::OnReset"; + donpcevent "The chamber of magic#4::OnDisable"; + monster "job3_war02",29,27,"Hollow Stone",2035,1,"Hollow Stone#Warlock::OnMyMobDead"; initnpctimer; end; - OnReset: - killmonster "job3_war02","Hollow Stone#W::OnMyMobDead"; + killmonster "job3_war02","Hollow Stone#Warlock::OnMyMobDead"; end; - OnDisable: - disablenpc "Hollow Stone#W"; + disablenpc "Hollow Stone#Warlock"; 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"; + if (mobcount("job3_war02","Hollow Stone#Warlock::OnMyMobDead") < 1) { + mapannounce "job3_war02","The Hollow Stone is crystallized with enough magic power.",bc_map; + set job_wl,8; + changequest 11110,11111; + donpcevent "Hollow Stone#Warlock::OnReset"; + donpcevent "Hollow Stone#Warlock::OnDisable"; + stopnpctimer; + donpcevent "Ebein#E1::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; + mapannounce "job3_war02","You have 10 minutes to crystallize the Hollow Stone with 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"; + donpcevent "Hollow Stone#Warlock::OnReset"; end; - OnTimer605000: mapwarp "job3_war02","spl_in02",79,102; end; - OnTimer607000: - donpcevent "Hollow Stone#W::OnDisable"; + donpcevent "Hollow Stone#Warlock::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,{ + donpcevent "The chamber of magic#1::OnEnable"; end; +} +- script Ebein#E1 -1,{ OnInit: - disablenpc "Ebein#E"; + disablenpc "Ebein#E1"; end; - OnEnable: initnpctimer; - enablenpc "Ebein#E"; end; - OnDisable: - disablenpc "Ebein#E"; + disablenpc "Ebein#E1"; end; - OnTimer2000: - mapannounce "job3_war02","Congratulations! You've successfully made a magic crystal.",bc_map; //Custom translation + mapannounce "job3_war01","Congratulations! You've succeeded in creating a magic crystal.",bc_map; end; - OnTimer3000: - mapannounce "job3_war02","The Magic Chamber is starting to fill with magic power.",bc_map; + mapannounce "job3_war01","The Magic Chamber is starting to fill with magic power.",bc_map; end; - OnTimer6000: - donpcevent "Ebein#E::OnDisable"; + donpcevent "Ebein#E1::OnDisable"; stopnpctimer; - donpcevent "The chamber of magic::OnEnable"; + donpcevent "The chamber of magic#1::OnEnable"; end; - } -job3_war02,1,1,0 script Ebein#E2 66,{ - end; - +- script Ebein#E2 -1,{ 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 + mapannounce "job3_war02","Congratulations! You've succeeded in creating a magic crystal.",bc_map; 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; @@ -2070,37 +1052,37 @@ OnTimer6000: } /* -job3_war01,1,2,0 script ??? 66,{ - switch(select("?????:?????:??????:??????:??????:??????:??")) { +job3_war01,1,2,0 script Button Girl 66,{ + switch(select("Open Arena:Close Arena:Open the Chamber of Magic:Close the Chamber of Magic:Hollow Stone On:Hollow Stone Off:Cancel")) { case 1: - mes "??????"; - donpcevent "??? ?::OnEnable"; + mes "Opening the Arena."; + donpcevent "The chamber of magic#1::OnEnable"; close; case 2: - mes "??????"; - donpcevent "??? ?::OnDisable"; + mes "Closing the Arena."; + donpcevent "The chamber of magic#1::OnDisable"; close; case 3: - mes "??? ? ???"; - donpcevent "??? ?#?????::OnEnable"; + mes "Opening the Chamber of Magic."; + donpcevent "The chamber of magic#2::OnEnable"; close; case 4: - mes "??? ? ???"; - donpcevent "??? ?#?????::OnReset"; - donpcevent "??? ?#?????::OnDisable"; - donpcevent "??? ?#?????2::OnReset"; - donpcevent "??? ?#?????2::OnDisable"; - donpcevent "??? ?#?????3::OnReset"; - donpcevent "??? ?#?????3::OnDisable"; + mes "Closing the Chamber of Magic."; + donpcevent "The chamber of magic#2::OnReset"; + donpcevent "The chamber of magic#2::OnDisable"; + donpcevent "The chamber of magic#3::OnReset"; + donpcevent "The chamber of magic#3::OnDisable"; + donpcevent "The chamber of magic#4::OnReset"; + donpcevent "The chamber of magic#4::OnDisable"; close; case 5: - mes "??? ? ???"; - donpcevent "??? ?#?????::OnEnable"; + mes "Enabing Hollow Stone."; + donpcevent "Hollow Stone#Warlock::OnEnable"; close; case 6: - mes "??? ? ???"; - donpcevent "??? ?#?????::OnReset"; - donpcevent "??? ?#?????::OnDisable"; + mes "Disabling Hollow Stone."; + donpcevent "Hollow Stone#Warlock::OnReset"; + donpcevent "Hollow Stone#Warlock::OnDisable"; close; case 7: close; diff --git a/npc/re/jobs/3-2/genetic.txt b/npc/re/jobs/3-2/genetic.txt index 1ebd0c66f..ccd880a1d 100644 --- a/npc/re/jobs/3-2/genetic.txt +++ b/npc/re/jobs/3-2/genetic.txt @@ -1,77 +1,76 @@ //===== rAthena Script ======================================= -// Genetic Job Change Quest +//= Genetic Job Quest //===== By: ================================================== -//= Masao -//= Credits: Muad_Dib & Aeomin +//= Muad_Dib, Aeomin //===== Current Version: ===================================== -//= 1.2 +//= 1.3 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= [Official Conversion] //= Job change Quest from Alchemist / Creator -> Genetic. //===== Additional Comments: ================================= -//= 1.0 First Version. -//= 1.1 Fixed Scatter Stuff NPC's - [JayPee]. +//= 1.0 First Version. [Masao] +//= 1.1 Fixed Scatter Stuff NPCs [JayPee]. //= 1.2 Updated dialogue. Credits to Muad_Dib. [Joseph] +//= 1.3 Updated script, optimized. [Euphy] //============================================================ 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 "It looks like you are an expert in this field, how about meeting other geneticists?"; - next; - mes "[Alchemist Union Member]"; - mes "Not long ago there was a Geneticist who announced a sensational new life studying research."; - mes "You are very knowledgeable. Do you think you might understand her work?"; - next; + mes "[Alchemist Union Member]"; + if (BaseLevel > 98 && JobLevel > 49){ + if (BaseJob == Job_Alchemist) { + if (SkillPoint != 0) { + mes "- You still have unused skill points. Come back when you have used all of them. -"; + close; + } + if (job_gen == 0) { + 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 "It looks like you are an expert in this field, how about meeting other geneticists?"; + next; + mes "[Alchemist Union Member]"; + mes "Not long ago there was a Geneticist who announced a sensational new life studying research."; + mes "You are very knowledgeable. Do you think you might understand her work?"; + next; + mes "[Alchemist Union Member]"; + mes "Her study may help you gain the knowledge to help you make a Geneticist!";; + next; + mes "[Alchemist Union Member]"; + mes "How's that sound? Do you want to meet a Geneticist?"; + next; + switch(select("Of course, I want to meet a Geneticist.:I don't want to meet a Geneticist.")) { + case 1: mes "[Alchemist Union Member]"; - mes "Her study may help you gain the knowledge to help you make a Geneticist!";; + mes "Wise choice!"; + mes "The infamous Geneticist 'Devries'."; next; mes "[Alchemist Union Member]"; - mes "How's that sound? Do you want to meet a Geneticist?"; - next; - if(select("Of course, I want to meet a Geneticist.:I don't want to meet a Geneticist.") == 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 as well."; - set job_gen,1; - setquest 2215; - close; - } + 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 as well."; + 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 infamous Geneticist 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."; + mes "The infamous Geneticist 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 "Our Alchemist Union brings up many junior alchemists with various promotions and investigations."; next; mes "[Alchemist Union Member]"; @@ -86,297 +85,310 @@ alde_alche,35,186,5 script Alchemist Union Member 805,{ } job3_gen01,25,58,3 script Devries#gen 865,{ - if (SkillPoint == 0){ - if (job_gen == 1){ - mes "[Devries]"; - mes "Oh! 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 "Oh? A stranger?"; - mes "Your look tells me that you are doing Alchemy as well right?"; - next; - mes "[Devries]"; - mes "People say the number of alchemists is increasing nowadays though there aren't may who study this field properly!"; - next; - mes "[Devries]"; - mes "They're all too worried about saying things like, ''Look at my bomb damage!'' or ''isn't my homunculus prettier?''"; - next; - mes "[Devries]"; - mes "The Alchemist Union was saying they'd support the researchers but actually what you get from the studying is just 'Spores Which Can Be Easily Raised'!"; - next; - mes "[Devries]"; - mes "Thanks to that, there are spores everywhere in my lab! There are spores everywhere!"; - next; - select("Why do you talk like that?"); - mes "[Devries]"; - mes "'Cause I'm from Rune-Midgart!"; - mes "Have you ever been to Rune-Midgart? Everyone in Rune-Midgart speaks like this."; - next; - if(select("Impossible?!:I'm also from Rune-Midgart.") == 1){ - mes "[Devries]"; - mes "Impossible?"; - mes "Do you come from a Rune-Midgart village?"; - mes "My village is very big, everyone there speaks like this."; - next; - } else { - emotion e_lv; - mes "[Devries]"; - mes "Really! That's why I felt some kind of familiar atmosphere around you."; - mes "Meeting a hometown person in Schwaltzvalt, it's my pleasure to meet you!"; - next; - } - mes "- Thump!! -"; - next; - emotion e_ag; - mes "[Devries]"; - mes "Ughhhhh! That woman started again!"; - next; - select("What's that sound?"); - mes "[Devries]"; - mes "That's the sound of an experiment being carried out by my roommate, Demi Calberine.."; - mes "Demi's a fire shell technician so she's always noisy like that."; - next; - emotion e_sob; - mes "[Devries]"; - mes "Look at that!"; - mes "My spores and plants are all freaked out!"; - mes "I can't do my work with those noisy sounds. It gives me so much stress!!"; - next; - mes "- Munch Crunch -"; - next; - mes "[Devries]"; - mes "When I don't feel good, I savor Mr. Orlean's handmade cookies little by little."; - next; - mes "[Devries]"; - mes "It's a high-quality cookie that I got from Prontera. When I get one bite, it seems like I'm floating to Asgard."; - mes "The softness of the sweet cookie drowns out the clashing sounds from Demi Calberine."; - next; - mes "[Devries]"; - mes "Wanna try one?"; - mes "Ah, I've eaten all of it."; - next; + if (SkillPoint != 0) { + mes "- You still have some unused skill points. -"; + close; + } + if (job_gen == 1) { + mes "[Devries]"; + mes "Oh! 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 "Oh? A stranger?"; + mes "Your look tells me that you are doing Alchemy as well right?"; + next; + mes "[Devries]"; + mes "People say the number of alchemists is increasing nowadays though there aren't may who study this field properly!"; + next; + mes "[Devries]"; + mes "They're all too worried about saying things like, ''Look at my bomb damage!'' or ''isn?t my homunculus prettier?''"; + next; + mes "[Devries]"; + mes "The Alchemist Union was saying they'd support the researchers but actually what you get from the studying is just 'Spores Which Can Be Easily Raised'!"; + next; + mes "[Devries]"; + mes "Thanks to that, there are spores everywhere in my lab! There are spores everywhere!"; + next; + select("Why do you talk like that?"); + mes "[Devries]"; + mes "'Cause I'm from Rune-Midgart!"; + mes "Have you ever been to Rune-Midgart? Everyone in Rune-Midgart speaks like this."; + next; + switch(select("Impossible?!:I'm also from Rune-Midgart.")) { + case 1: mes "[Devries]"; - mes "But it's okay! On the 2nd floor of my room, there are boxes of those!"; - mes "I couldn't stop buying it all in bulk. Ho ho ho."; - next; - mes "- Zooooooooooooooooing -"; - specialeffect EF_ENDURE; - next; - specialeffect EF_REPAIRWEAPON; - mes "- (Screeching Sounds)!!! -"; - mes "- (Screeching)!!! -"; - next; - specialeffect EF_CRASHEARTH; - mes "- Bump! Bump! Bump! -"; - next; + mes "Impossible?"; + mes "Do you come from a Rune-Midgart village?"; + mes "My village is very big, everyone there speaks like this."; + break; + case 2: + emotion e_lv; mes "[Devries]"; - mes ".................."; - next; + mes "Really! That's why I felt some kind of familiar atmosphere around you."; + mes "Meeting a hometown person in Schwaltzvalt, it's my pleasure to meet you!"; + break; + } + next; + mes "- Thump!! -"; + next; + emotion e_ag; + mes "[Devries]"; + mes "Ughhhhh! That woman started again!"; + next; + select("What's that sound?"); + mes "[Devries]"; + mes "That's the sound of an experiment being carried out by my roommate, Demi Calberine.."; + mes "Demi's a fire shell technician so she's always noisy like that."; + next; + emotion e_sob; + mes "[Devries]"; + mes "Look at that!"; + mes "My spores and plants are all freaked out!"; + mes "I can't do my work with those noisy sounds. It gives me so much stress!!"; + next; + mes "- Munch Crunch -"; + next; + mes "[Devries]"; + mes "When I don't feel good, I savor Mr. Orlean's handmade cookies little by little."; + next; + mes "[Devries]"; + mes "It's a high-quality cookie that I got from Prontera. When I get one bite, it seems like I'm floating to Asgard."; + mes "The softness of the sweet cookie drowns out the clashing sounds from Demi Calberine."; + next; + mes "[Devries]"; + mes "Wanna try one?"; + mes "Ah, I've eaten all of it."; + next; + mes "[Devries]"; + mes "But it's okay! On the 2nd floor of my room, there are boxes of those!"; + mes "I couldn't stop buying it all in bulk. Ho ho ho."; + next; + mes "- Zooooooooooooooooing -"; + specialeffect EF_ENDURE; + next; + specialeffect EF_REPAIRWEAPON,AREA,"#from1to2gen"; + mes "- (Screeching Sounds)!!! -"; + mes "- (Screeching)!!! -"; + next; + specialeffect EF_CRASHEARTH,AREA,"#from1to2gen"; + mes "- Bump! Bump! Bump! -"; + next; + mes "[Devries]"; + mes ".................."; + next; + mes "[Devries]"; + mes "Yoooooooooooow"; + mes "Yipeeeeeeeeee!!!"; + next; + mes "[Devries]"; + mes "Demiiiiiiiiiiiiiiiiiiiiiiii!!!"; + mes "Demiiiiiiiiiiiiiiiiiiiii!!!"; + next; + mes "- For now it seems that I -"; + mes "- need to calm down Devries. -"; + set job_gen,2; + close; + } else if (job_gen == 2) { + mes "[Devries]"; + mes "Yipeeeeeeeeee!!!"; + mes "Demiiiiii!!!"; + mes "Demiiiiiiiii!!!"; + next; + mes "- Hmm. -"; + mes "- What'll make her calm? -"; + close; + } else if (job_gen == 3) { + mes "[Devries]"; + mes "Yipeeeeeeeeee!!!"; + mes "Demiiiiii!!!"; + mes "Demiiiiiiiii!!!"; + next; + select("Hand Devries a cookie."); + mes "- Devries quickly snatches -"; + mes "- away the cookie and stuffs -"; + mes "- it all in her mouth. -"; + next; + mes "- Crunch Crunch Crunch -"; + mes "- Crunch Crunch Crunch -"; + mes "- Crunch Crunch Crunch -"; + next; + mes "[Devries]"; + mes "Ah, The sweet buttery taste remains at the end of my tongue."; + mes "This really gives me peace of mind."; + next; + emotion e_pif; + mes "[Devries]"; + mes "Demi is studying hard today as well"; + mes "Huhuhu. She's really a hard worker."; + next; + mes "- That cookie changed her mood quick. -"; + emotion e_no1,1; + next; + mes "[Devries]"; + mes "You came here with a love for Alchemy?"; + next; + mes "[Devries]"; + mes "Oh wait, We haven't introduced ourselves yet."; + mes "My name is Devries."; + mes "I'm very interested in making living things that show new and peculiar growth."; + next; + mes "[Devries]"; + mes "What's your name, young alchemist?"; + next; + select("I'm "+strcharinfo(0)+"."); + mes "[Devries]"; + mes "Oh, "+strcharinfo(0)+"!"; + mes "That's a very unusual name. Pleased to meet you."; + next; + mes "[Devries]"; + mes "But I can't memorize the name well."; + mes "So I'll just call you . Would that be ok?"; + next; + select("I uhh..."); + mes "[Devries]"; + mes "Great..."; + mes "Popo, have you heard of my research?"; + mes "You came here because of that, am I right?"; + next; + switch(select("No.:Yes.")) { + case 1: mes "[Devries]"; - mes "Yoooooooooooow"; - mes "Yipeeeeeeeeee!!!"; - next; + mes "Well, it's all over your face."; + mes "You don't have to be shy."; + break; + case 2: mes "[Devries]"; - mes "Demiiiiiiiiiiiiiiiiiiiiiiii!!!"; - mes "Demiiiiiiiiiiiiiiiiiiiii!!!"; - next; - mes "- For now it seems that I -"; - mes "- need to calm down Devries. -"; - set job_gen,2; - close; - }else if (job_gen == 2){ + mes "That's right huh?"; + mes "Well, as I expected, there really is something that makes homeland people get each other"; + break; + } + next; + mes "[Devries]"; + mes "When you saw me in that feverish state, you remembered what I said before and that calmed me down."; + next; + mes "[Devries]"; + mes "I like the way you manage yourself and take care to remember small details."; + mes "You have the talent to become a Geneticist."; + next; + mes "[Devries]"; + mes "^FF0000If you become a Geneticist, you can't take the Alchemist's or Biochemist study course that you haven't investigated before.^000000"; + mes "If that's all right for you, how about giving it a shot right now?."; + next; + switch(select("I'll try later.:I want to become a Geneticist!")) { + case 1: mes "[Devries]"; - mes "Yipeeeeeeeeee!!!"; - mes "Demiiiiii!!!"; - mes "Demiiiiiiiii!!!"; - next; - mes "- Hmm -"; - mes "- What'll make her calm. -"; + mes "Alright."; + mes "Even though your knowledge is not that great as that of Geneticists, a fundamental knowledge is also important."; + mes "Popo, come back to me once you've finished your studies."; + set job_gen,4; close; - }else if (job_gen == 3){ - mes "[Devries]"; - mes "Yipeeeeeeeeee!!!"; - mes "Demiiiiii!!!"; - mes "Demiiiiiiiii!!!"; - next; - select("Hand Devries a cookie."); - mes "- Devries quickly snatches -"; - mes "- away the cookie and stuffs -"; - mes "- it all in her mouth. -"; - next; - mes "- Crunch Crunch Crunch -"; - mes "- Crunch Crunch Crunch -"; - mes "- Crunch Crunch Crunch -"; - next; - mes "[Devries]"; - mes "Ah, The sweet buttery taste remains at the end of my tongue."; - mes "This really gives me peace of mind."; - next; - emotion e_rice; - mes "[Devries]"; - mes "Demi is studying hard today as well"; - mes "Huhuhu. She's really a hard worker."; - next; - mes "- That cookie changed her mood quick. -"; - emotion e_no1; - next; - mes "[Devries]"; - mes "You came here with a love for Alchemy?"; - next; - mes "[Devries]"; - mes "Oh wait, We haven't introduced ourselves yet."; - mes "My name is Devries."; - mes "I'm very interested in making living things that show new and peculiar growth."; - next; - mes "[Devries]"; - mes "What's your name, young alchemist?"; - next; - select("I'm "+strcharinfo(0)+"."); - mes "[Devries]"; - mes "Oh, "+strcharinfo(0)+"."; - mes "That's a very unusual name. Pleased to meet you."; - next; - mes "[Devries]"; - mes "But I can't memorize the name well."; - mes "So I'll just call you . Would that be ok?"; - next; - select("I uhh.."); - mes "[Devries]"; - mes "Great..."; - mes "Popo, have you heard of my research?"; - mes "You came here because of that, am I right?"; - next; - if(select("No.:Yes.") == 1){ - mes "[Devries]"; - mes "Well, it's all over your face."; - mes "You don't have to be shy."; - } else { - mes "[Devries]"; - mes "That's right huh?"; - mes "Well, as I expected, there really is something that makes homeland people get each other"; - } - next; - mes "[Devries]"; - mes "When you saw me in that feverish state, you remembered what I said before and that calmed me down."; - next; - mes "[Devries]"; - mes "I like the way you manage yourself and take care to remember small details."; - mes "You have the talent to become a Geneticist."; - next; - mes "[Devries]"; - mes "^FF0000If you become a Geneticist, you can't take the Alchemist's or Biochemist study course that you haven't investigated before.^000000"; - mes "If that's all right for you, how about giving it a shot right now?."; - next; - if(select("I'll try later.:I want to become a Geneticist!") == 1){ - mes "[Devries]"; - mes "Alright."; - mes "Even though your knowledge is not that great as that of Geneticists, a fundamental knowledge is also important."; - mes "Popo, 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 it!"; set job_gen,5; close; - }else if (job_gen == 4){ + } + } else if (job_gen == 4) { + mes "[Devries]"; + mes "Popo!"; + mes "Are you ready to give it a shot?"; + next; + switch(select("No.:Yes!")) { + case 1: mes "[Devries]"; - mes "Popo!"; - mes "Are you ready to give it a shot?"; - next; - if(select("No.:Yes!") == 1){ - mes "[Devries]"; - mes "You have to do your best! There is no easy way when looking for knowledge!"; - close; - } + mes "You have to do your best! There is no easy way when looking for knowledge!"; + close; + case 2: mes "[Devries]"; mes "Very good!"; mes "Let's do it!"; set job_gen,5; close; - }else if (job_gen == 5){ - mes "[Devries]"; - mes "What do you think of plants, Popo"; - mes "Do you like plants? What kind of plants are you interested in?"; - next; - mes "- Boom, Boom, Boom -"; - next; - emotion e_swt2; - mes "[Devries]"; - mes "Ah, please tell me Demi Calberine is not starting again?"; - mes "Please let my expectation be wrong ... Please... Demi, please..."; - next; - mes "[Devries]"; - mes "Where did I stop talking"; - mes "Oh, right. Plants are very important in Alchemy."; - next; - mes "[Devries]"; - mes "Alchemy can make Flora's and Geographers grow immensely fast, so they can help in battle, like those Alchemists..."; - next; - mes "- Boom!! Boom!! Boom!! Boom!! -"; - next; - emotion e_hmm; - mes "[Devries]"; - mes "......................."; - next; - emotion e_hmm; - mes "[Devries]"; - mes "Techniques, plants are relatively easy to..."; - next; - mes "- Boom!!!!!! -"; - next; - emotion e_hmm; - mes "[Devries]"; - mes "Crossbreed..."; - next; - mes "- Pop!!!!!! -"; - mes "- Keeeeeeeeeeeeeh!!!! -"; - mes "- Boooooooooooooom!!!! -"; - mes "- Boom!! Boom!! Boom!! -"; - next; - emotion e_hmm; - mes "[Devries]"; - mes "......................."; - next; - emotion e_hmm; - mes "[Devries]"; - mes "Popo."; - next; - emotion e_hmm; - mes "[Devries]"; - mes "I'll give you the test to become a Geneticist."; - next; - mes "[Devries]"; - mes "The subject is !"; - mes "Please think of a way to save me from Demi Calberine's noise, using plants and experimental equipment that are here on the 1st floor of the lab."; - next; - mes "[Devries]"; - mes "Well, you better get started!"; - set job_gen,6; - close; - }else if (job_gen == 6){ - mes "[Devries]"; - mes "The subject is !"; - mes "Please think of a way to save me from Demi Calbereine's noise, using plants and experimental equipment that are here on the 1st floor of the lab."; - next; + } + } else if (job_gen == 5) { + mes "[Devries]"; + mes "What do you think of plants, Popo"; + mes "Do you like plants? What kind of plants are you interested in?"; + next; + mes "- Boom, Boom, Boom -"; + next; + emotion e_swt; + mes "[Devries]"; + mes "Ah, please tell me Demi Calberine is not starting again?"; + mes "Please let my expectation be wrong ... Please... Demi, please..."; + next; + mes "[Devries]"; + mes "Where did I stop talking"; + mes "Oh, right. Plants are very important in Alchemy."; + next; + mes "[Devries]"; + mes "Alchemy can make Flora's and Geographers grow immensely fast, so they can help in battle, like those Alchemists..."; + next; + mes "- Boom!! Boom!! Boom!! Boom!! -"; + next; + emotion e_dots; + mes "[Devries]"; + mes "......................."; + next; + emotion e_dots; + mes "[Devries]"; + mes "Techniques, plants are relatively easy to..."; + next; + mes "- Boom!!!!!! -"; + next; + emotion e_dots; + mes "[Devries]"; + mes "Crossbreed..."; + next; + mes "- Pop!!!!!! -"; + mes "- Keeeeeeeeeeeeeh!!!! -"; + mes "- Boooooooooooooom!!!! -"; + mes "- Boom!! Boom!! Boom!! -"; + next; + emotion e_dots; + mes "[Devries]"; + mes "......................."; + next; + emotion e_dots; + mes "[Devries]"; + mes "Popo."; + next; + emotion e_dots; + mes "[Devries]"; + mes "I'll give you the test to become a Geneticist."; + next; + mes "[Devries]"; + mes "The subject is !"; + mes "Please think of a way to save me from Demi Calberine's noise, using plants and experimental equipment that are here on the 1st floor of the lab."; + next; + mes "[Devries]"; + mes "Well, you better get started!"; + set job_gen,6; + close; + } else if (job_gen == 6) { + mes "[Devries]"; + mes "The subject is !"; + mes "Please think of a way to save me from Demi Calbereine's noise, using plants and experimental equipment that are here on the 1st floor of the lab."; + next; + mes "[Devries]"; + mes "There are some guides in the cabinet that you may use."; + mes "Well, you better 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 "There are some guides in the cabinet that you may use."; - mes "Well, you better get started!"; + mes "Better get started, or I'll start to scream!!!"; close; - }else if ((job_gen > 6) && (job_gen < 60)){ - mes "[Devries]"; - mes "Is there a problem?"; - next; - if(select("Nothing.:The experiment failed.") == 1){ - mes "[Devries]"; - mes "Better get started, or I'll start to scream!!!"; - close; - } + case 2: mes "[Devries]"; - mes "Why not start over?"; + mes "You can start from the beginning then?"; mes "Why are you asking me such things?"; set job_gen,7; if (checkquest(2209) == 1) erasequest 2209; @@ -386,33 +398,27 @@ job3_gen01,25,58,3 script Devries#gen 865,{ if (checkquest(2213) == 1) erasequest 2213; if (checkquest(2214) == 1) erasequest 2214; close; - }else if (job_gen == 60 || job_gen == 61){ - mes "- Zing Zing Zigi Zigi -"; - next; - mes "- Zing Zing Zigi Zigi -"; - next; - mes "[Devries]"; - mes "What the hell is Demi Calberine doing?"; - mes "That's really a noisy one."; - next; + } + } else if (job_gen == 60 || job_gen == 61) { + mes "- Zing Zing Zigi Zigi -"; + next; + mes "- Zing Zing Zigi Zigi -"; + next; + mes "[Devries]"; + mes "What the hell is Demi Calberine doing?"; + mes "That's really a noisy one."; + next; + mes "[Devries]"; + mes "Your study is done, Popo?"; + mes "Give me those seeds."; + next; + if (countitem(6273) == 0 && countitem(6272) == 0) { mes "[Devries]"; - mes "Your study is done, Popo?"; - mes "Give me those seeds."; - next; - if ((countitem(6273) == 0) && (countitem(6272) == 0)){ - mes "[Devries]"; - mes "What is this?"; - mes "How can you say you're done with your study?"; - mes "Hurry up and start over."; - 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 "What happened?"; + mes "How could you say the study is completed without any result?"; + mes "Start again."; + set job_gen,7; + } else { mes "[Devries]"; mes "Well, I'll take a look at the seeds Popo made."; mes "What's the result?"; @@ -423,9 +429,9 @@ job3_gen01,25,58,3 script Devries#gen 865,{ mes "[Devries]"; mes "Damn!"; next; - if (job_gen == 60){ - specialeffect EF_FLASHER; - specialeffect EF_PHARMACY_OK; + if (job_gen == 60) { + specialeffect EF_FLASHER,AREA,"Super Cultivator#gen"; + specialeffect EF_PHARMACY_OK,AREA,"Super Cultivator#gen"; mes "[Devries]"; mes "Popo, look at that!"; mes "That's really a mysterious plant!"; @@ -447,126 +453,121 @@ job3_gen01,25,58,3 script Devries#gen 865,{ mes "I will send a recommendation letter saying that your ability is really great and that you could be a brilliant member."; next; mes "[Devries]"; - mes "Getting an answer from the Union will take some time, so could you next; a moment?"; + mes "Getting an answer from the Union will take some time, so could you wait a moment?"; mes "Why don't you go up to Demi Calberine?"; 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; + delitem 6273,1; //Altered_Seed 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; + } else { + specialeffect EF_SPELLBREAKER,AREA,"Super Cultivator#gen"; + specialeffect EF_PHARMACY_FAIL,AREA,"Super Cultivator#gen"; mes "[Devries]"; mes "Uh oh! You failed, Popo."; mes "It didn't grow at all, it's withered already."; mes "Go and start over!"; - delitem 6272,1; + delitem 6272,1; //Experiment_Seed 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 "Oh, next; a second."; - mes "It seems that the mail's has arrived."; - set job_gen,76; - completequest 2223; - close; } + } + 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,HUNTING) == 2) { mes "[Devries]"; - mes "Why don't you go up to Demi Calberine whilst waiting for an answer from the Union?"; + mes "Oh, wait a second."; + mes "It seems that the mail's has arrived."; + set job_gen,76; + completequest 2223; close; - }else if (job_gen == 76){ - mes "[Devries]"; - mes "Popo!"; - mes "I've got good news for you!"; - next; - if ((Class == Job_Alchemist || Class == Job_Creator || Job_Baby_Alchemist) && ((JobLevel > 49) && (SkillPoint == 0) && (BaseLevel > 98))){ - if (checkcart() == 0){ - mes "[Devries]"; - mes "First take off that heavy and dirty cart, that doesn't suit you on this happy moment."; - 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 "A letter has arrived from the Alchemist Union."; - mes "I'll read it to you, Popo!"; - next; - mes ""; - mes ""; - next; - mes ""; - mes "This guy is also from my hometown."; - next; - mes ""; - mes ""; - next; - mes ""; - mes ""; - next; - mes ""; - next; - mes ""; - next; - mes ""; - mes ""; - next; - mes ""; - next; - mes ""; - mes ""; - next; - mes "[Devries]"; - mes "Congratulations, Popo!"; - mes "You are a Geneticist from now on!!"; - 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 the word from the Union, I'm also looking forward to your awesome activities."; - mes "Let's try hard together! To become the best Geneticist!"; - close; - } - }else if (job_gen == 77){ - mes "[Devries]"; - mes "Popo, do you 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."; + } + mes "[Devries]"; + mes "You can take a look at the Demi Calberine's work place while we get an answer from the Union."; + close; + } else if (job_gen == 76) { + mes "[Devries]"; + mes "Popo!"; + mes "I've got good news for you!"; + next; + if (checkweight(1201,2) == 0 || MaxWeight - Weight < 2000) { + 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 "- You still have some unused skill points. -"; - close;; + if (BaseJob != Job_Alchemist || BaseLevel < 99 || JobLevel < 50) { + mes "Oh, it looks like you're not ready to hear it."; + close; + } + if (checkcart()){ + mes "First take off that heavy and dirty cart, that doesn't suit you on this happy moment."; + close; + } + if (SkillPoint != 0) { + mes "But you look like you have a lingering desire for previous studies."; + close; + } + mes "A letter has arrived from the Alchemist Union."; + mes "I'll read it to you, Popo!"; + next; + mes ""; + mes ""; + next; + mes ""; + mes "This guy is also from my hometown."; + next; + mes ""; + mes ""; + next; + mes ""; + mes ""; + next; + mes ""; + next; + mes ""; + next; + mes ""; + mes ""; + next; + mes ""; + next; + mes ""; + mes ""; + next; + mes "[Devries]"; + if (ismounting()) { + mes "You are on a riding pet,"; + mes "so you cannot change your job."; + mes "Please unequip your riding pet and try again!"; + close; + } + mes "Congratulations, Popo!"; + mes "You are a Geneticist from now on!!"; + jobchange roclass(eaclass()|EAJL_THIRD); + set job_gen,77; + getitem 5752,1; //Midas_Whisper + getitem 2795,1; //Green_Apple_Ring + next; + mes "[Devries]"; + mes "Just like the word from the Union, I'm also looking forward to your awesome activities."; + mes "Let's try hard together! To become the best Geneticist!"; + close; + } else if (job_gen == 77) { + mes "[Devries]"; + mes "Popo, do you 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 "Am I that pretty to you? Why are you staring at me like that?"; @@ -575,262 +576,187 @@ job3_gen01,25,58,3 script Devries#gen 865,{ job3_gen01,83,72,3 script Delivery Box#generic 111,{ mes "- There's a big box. -"; - if (job_gen == 2){ + if (job_gen == 2) { next; - switch(select("Open the box.:Check the address.:Do nothing.")){ + switch(select("Open the box.:Check the address.:Do nothing.")) { case 1: mes "- There are several cookie bags which are packed carefully in the box. -"; next; - if(select("Take out a cookie bag.:Do nothing.") == 1){ + switch(select("Take out a cookie bag.:Do nothing.")) { + case 1: mes "- You've taken out a cookie bag out of the box. -"; set job_gen,3; close; + case 2: + mes "You do nothing."; + close; } - 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 ""; - 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; - if(select("Use it as a material.:Do not use.") == 1){ - mes "- You've acquired Bigibigi Grass. -"; - setquest 2209; - close; - } - mes "- This plant doesn't look suitable as an experiment sample. -"; - close; - } - mes "- You've already acquired 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; - if(select("Use it as a material.:Do not use.") == 1){ - mes "- You've acquired some of the Muka Tree.-"; - setquest 2210; - close; - } - mes "- This plant doesn't look suitable as an experiment sample. -"; - close; - } - mes "- You've already acquired 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; - if(select("Use it as a material.:Do not use.") == 1){ - mes "- You've acquired some of the Bogi Vine. -"; - setquest 2211; - close; - } - mes "- This plant doesn't look suited to be used as a material. -"; + mes "You do nothing."; close; } - mes "- You've already acquired 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; - if(select("Use it as a material.:Do not use.") == 1){ - mes "- You've acquired Aolatura. -"; - setquest 2212; - close; - } - mes "- This plant doesn't look suitable as an experiment sample. -"; - close; - } - mes "- You've already acquired Aolatura. -"; +job3_gen01,12,56,3 script Plant Guide#generic 111,{ + mes ""; + 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; - }else if (job_gen == 6){ - mes "Information related to this plant can be found in the Plant Guide in the cabinet."; + 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; } - 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; - if(select("Use it as a material.:Do not use.") == 1){ - mes "- You've acquired Congra. -"; - setquest 2213; +// QuestID,PlantName,Description{,Part?} +function script Genetic_Job_Plant { + if (job_gen == 7) { + if (checkquest(getarg(0)) == -1 || checkquest(getarg(0)) == 0) { + mes "- "+getarg(2)+" -"; + next; + switch(select("Use it as a material.:Do not use.")) { + case 1: + if (getarg(3,0)) set .@str$,"some of the "; + mes "- You've acquired "+.@str$+getarg(1)+". -"; + setquest getarg(0); + close; + case 2: + mes "- This plant doesn't look suitable as an experiment sample. -"; close; } - mes "- This plant doesn't look suitable as an experiment sample. -"; - close; } - mes "- You've already acquired Congra. -"; + mes "- You've already acquired "+getarg(1)+". -"; close; - }else if (job_gen == 6){ + } 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. -"; + mes "- "+getarg(2)+" -"; close; } +job3_gen01,36,55,3 script Bigibigi Grass#gen 844,{ + callfunc "Genetic_Job_Plant",2209,"Bigibigi Grass","The size is quite big to be normal grass so it's called Bigibigi Grass."; + end; +} +job3_gen01,36,45,3 script Muka Tree#gen 844,{ + callfunc "Genetic_Job_Plant",2210,"Muka Tree","This is the Muka Tree which protects its delicate inside with sharp thorns.",1; + end; +} +job3_gen01,42,55,3 script Bogi Vine#gen 844,{ + callfunc "Genetic_Job_Plant",2211,"Bogi Vine","This is a Bogi Vine which has a very fast growth speed.",1; + end; +} +job3_gen01,30,58,3 script Aolatura#gen 844,{ + callfunc "Genetic_Job_Plant",2212,"Aolatura","This is known to blossom then thousand flowers as it only blooms once per lifetime."; + end; +} +job3_gen01,30,63,3 script Congra#gen 844,{ + callfunc "Genetic_Job_Plant",2213,"Congra","It's a plant that has a big and solid stem with enormous leaves."; + end; +} 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; - if(select("Use it as a material.:Do not use.") == 1){ - mes "- You've acquired Sticky Grass -"; - setquest 2214; - close; - } - mes "- This plant doesn't look suitable as an experiment sample. -"; - close; - } - mes "- You've already acquired 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; + callfunc "Genetic_Job_Plant",2214,"Sticky Grass","I may not know the name but it's sticky and can stick to just about anything."; + end; } job3_gen01,7,50,3 script Testing Table#gen 844,{ - if (job_gen == 7){ - mes "- This is a testing table with a lot of equipemnt. I think I can study the combinations here with plants. -"; + if (job_gen == 7) { + mes "- This is a testing table with a lot of equipment. I think I can study the combinations here with plants. -"; next; - if(select("Conduct an experiment.:Do not conduct an experiment.") == 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 gather plant materials first."; - close; - } - mes "What shall I do with these plant materials?"; - next; - select("Break.:Smash into little pieces.:Crush."); - while(1){ - if (.@fortune == 7) break; - mes "What shall I do now?"; - next; - set .@rand,rand(1,2); - if (rand(1,2) == 1) select("Burn into Ashes.:Dip innto distilled water.:Steam."); - else select("Put it into a Testing Flask and Shake.:Freeze.:Heat."); - set .@fortune,rand(1,7); - } + if(select("Conduct an experiment.:Do not conduct an experiment.") == 2) { + mes "- It's not the time to start an experiment. -"; + close; + } + 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 gather plant materials first."; + close; + } + mes "What shall I do with these plant materials?"; + next; + select("Break.:Smash into little pieces.:Crush."); + while (1) { mes "What shall I do now?"; next; - select("Inject it into a testing seed."); - mes "Which Seed do you want to use?"; - next; - select("Testing Seed - Type A:Testing Seed - Type B:Testing Seed - Type C:Testing Seed Type - D"); - mes "I've put the prepared materials into the chosen testing seed."; - next; - mes "["+strcharinfo(0)+"]"; - mes "Good. Now I can let Miss Devries take a look at this seed!"; - 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 || checkquest(2210) == 1 || checkquest(2211) == 1) set job_gen,job_gen+10; - set .@score,job_gen + JobLevel - 20; - if (rand(1,100) < .@score){ - set job_gen,60; - getitem 6273,1; - close; - } + if (rand(2)) + select("Burn into Ashes.:Dip into distilled water.:Steam."); + else + select("Put it into a Testing Flask and Shake.:Freeze.:Heat."); + if (!rand(7)) break; + } + mes "What shall I do now?"; + next; + select("Inject it into a testing seed."); + mes "What kind of seed should I pick?"; + next; + select("Testing Seed - Type A:Testing Seed - Type B:Testing Seed - Type C:Testing Seed - Type D"); + mes "I've put the prepared materials into the chosen testing seed."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Good. Now I can let Miss Devries take a look at this seed!"; + 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; + getitem 6272,1; //Experiment_Seed close; } - mes "- It's not the time to start an experiment. -"; - close; - }else if ((job_gen > 7) && (job_gen < 60)){ + 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; + if (rand(1,100) < .@score) { + set job_gen,60; + getitem 6273,1; //Altered_Seed + close; + } else { + set job_gen,61; + getitem 6272,1; //Experiment_Seed + close; + } + } else if (job_gen > 7 && job_gen < 60) { mes "- It looks like the experiment has failed. I better start over. -"; set job_gen,7; - if (countitem(6273) > 0) delitem 6273,1; - if (countitem(6272) > 0) delitem 6272,1; + if (countitem(6273)) delitem 6273,1; //Altered_Seed + if (countitem(6272)) delitem 6272,1; //Experiment_Seed if (checkquest(2209) == 1) erasequest 2209; if (checkquest(2210) == 1) erasequest 2210; if (checkquest(2211) == 1) erasequest 2211; @@ -838,23 +764,24 @@ job3_gen01,7,50,3 script Testing Table#gen 844,{ 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 need to let Miss Devries take a look at this seed!"; - close; + } else if (job_gen == 60 || job_gen == 61) { + mes " - It looks like I need to let Miss Devries take a look at this seed! -"; + end; } mes "- This is a testing table with a lot of equipment. 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,21,67,3 script Super Cultivator#gen 844,{ + end; +} job3_gen01,91,48,3 script Demi Calberine#gen 982,{ - if (job_gen < 62){ - mes "[Demi Calberine]"; + mes "[Demi Calberine]"; + if (job_gen < 62) { mes "Hmm~ Where'd that bolt go?"; close; - }else if (job_gen == 62){ - mes "[Demi Calberine]"; + } else if (job_gen == 62) { mes "Oh that blue cart~"; mes "Load picture-like cannon~"; mes "With my lovely darling~"; @@ -867,7 +794,7 @@ job3_gen01,91,48,3 script Demi Calberine#gen 982,{ select("Hello~?"); mes "[Demi Calberine]"; mes "Oh, my~?"; - mes "When did you.. Who are you?"; + mes "When did you... Who are you?"; next; mes "[Demi Calberine]"; mes "Oh, my god!"; @@ -878,17 +805,15 @@ job3_gen01,91,48,3 script Demi Calberine#gen 982,{ next; mes "[Demi Calberine]"; mes "Ugh~ I think they dropped around here somewhere."; - mes "I only need 12! I need to put the other parts together first.. Please could you help me?!"; + mes "I only need 10! I need to put the other parts together first... Please could you help me?!"; changequest 2216,2217; set job_gen,63; close; - }else if ((job_gen > 62) && (job_gen < 74)){ - mes "[Demi Calberine]"; + } else if (job_gen > 62 && job_gen < 74) { mes "Ah, oh no, oh no~~~"; mes "Did you find the parts? No, not yet? You promised, please hurry up!"; close; - }else if (job_gen == 74){ - mes "[Demi Calberine]"; + } else if (job_gen == 74) { mes "With this cart, the firepower won't do well, then let's put it in this way..."; next; select("I've got the parts."); @@ -905,7 +830,7 @@ job3_gen01,91,48,3 script Demi Calberine#gen 982,{ mes "I don't even know where my mind is."; next; mes "[Demi Calberine]"; - mes "Please next; a moment."; + mes "Please wait a moment."; mes "I will be done quickly with these."; next; mes "- Snap Snap Snap -"; @@ -948,12 +873,12 @@ job3_gen01,91,48,3 script Demi Calberine#gen 982,{ mes "[Demi Calberine]"; mes "Miss Devries seems to be studying childish experiments downstairs."; mes "I don't understand why those research papers get so popular."; - emotion e_rice; + emotion e_pif; next; mes "[Demi Calberine]"; mes "See this mini-mini cannon."; mes "This is the smallest and the lightest cannon in the world."; - mes "This is what I made but isn't this so cute? Yipee~"; + mes "This is what I made but isn?t this so cute? Yipee~"; emotion e_awsm; next; select("Can I get my cart remodeled?"); @@ -967,7 +892,7 @@ job3_gen01,91,48,3 script Demi Calberine#gen 982,{ mes "Hohoho."; next; mes "[Demi Calberine]"; - mes "And what's more, you can't so the cart remodeling to just any cart."; + mes "And what's more, you can?t so the cart remodeling to just any cart."; mes "It can only be done on quality certified carts that've been polished for a long time."; next; mes "[Demi Calberine]"; @@ -976,7 +901,7 @@ job3_gen01,91,48,3 script Demi Calberine#gen 982,{ next; mes "[Demi Calberine]"; mes "If you want, ^FF0000I'll show you a good training spot.^000000"; - mes "^FF0000TDevries won't like it much^000000, but it's the best place. Haha."; + mes "^FF0000Devries won't like it much^000000, but it's the best place. Haha."; next; mes "[Demi Calberine]"; mes "How about you swing your cart around as practice?"; @@ -995,256 +920,76 @@ job3_gen01,91,48,3 script Demi Calberine#gen 982,{ close2; warp "job3_gen01",23,32; end; - }else if (job_gen == 75){ - if (checkquest(2223,2) == 2){ - mes "[Demi Calberine]"; + } else if (job_gen == 75) { + if (checkquest(2223,HUNTING) == 2) { mes "It seem Miss Devries found out that I put you in her spore pen."; mes "It's funny when you look at her face. After you've killed all those spores."; close; } - mes "[Demi Calberine]"; - mes "Sigh, haven't you finished practicing?"; - mes "Do you want to enter the spore pen?"; + mes "Sigh, haven't you finished practicing?"; + mes "Do you want to enter the spore pen?"; next; - if(select("Yes.:No.") == 1){ + 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 "What a shame! I wanted to see Miss Devries's angry face."; + close; } - mes "[Demi Calberine]"; - mes "What a shame! I wanted to see Miss Devries's angry face."; - close; - }else if (job_gen > 75){ - mes "[Demi Calberine]"; + } else if (job_gen > 75) { mes "It seem Miss Devries found out that I put you in her spore pen."; mes "It's funny when you look at her face. After you've killed all those spores."; 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 are so many scattered things on the floor that the lab is in chaos -"; - next; - mes "- You found a little metal fragment. -"; - set job_gen,job_gen+1; - disablenpc "Scattered Stuff#gen1"; - initnpctimer; - close; - }else if (job_gen == 74){ - mes "- I think I've gathered all of 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 are so many scattered things on the floor that the lab is in chaos -"; - next; - mes "- You found a little metal fragment. -"; - set job_gen,job_gen+1; - disablenpc "Scattered Stuff#gen2"; - initnpctimer; - close; - }else if (job_gen == 74){ - mes "- I think I've gathered all of 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 are so many scattered things on the floor that the lab is in chaos -"; - next; - mes "- You found a little metal fragment. -"; - set job_gen,job_gen+1; - disablenpc "Scattered Stuff#gen3"; - initnpctimer; - close; - }else if (job_gen == 74){ - mes "- I think I've gathered all of 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 are so many scattered things on the floor that the lab is in chaos -"; - next; - mes "- You found a little metal fragment. -"; - set job_gen,job_gen+1; - disablenpc "Scattered Stuff#gen4"; - initnpctimer; - close; - }else if (job_gen == 74){ - mes "- I think I've gathered all of 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 are so many scattered things on the floor that the lab is in chaos -"; - next; - mes "- You found a little metal fragment. -"; - set job_gen,job_gen+1; - disablenpc "Scattered Stuff#gen5"; - initnpctimer; - close; - }else if (job_gen == 74){ - mes "- I think I've gathered all of 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 are so many scattered things on the floor that the lab is in chaos -"; - next; - mes "- You found a little metal fragment. -"; - set job_gen,job_gen+1; - disablenpc "Scattered Stuff#gen6"; - initnpctimer; - close; - }else if (job_gen == 74){ - mes "- I think I've gathered all of 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 are so many scattered things on the floor that the lab is in chaos -"; +- script Scattered Stuff#gen -1,{ + if (job_gen > 62 && job_gen < 74) { + mes "- There are so many scattered things on the floor that the lab is in chaos. -"; next; mes "- You found a little metal fragment. -"; set job_gen,job_gen+1; - disablenpc "Scattered Stuff#gen7"; + disablenpc strnpcinfo(0); initnpctimer; close; - }else if (job_gen == 74){ + } else if (job_gen == 74) { mes "- I think I've gathered all of the parts. -"; close; } end; - OnTimer7000: - enablenpc "Scattered Stuff#gen7"; + enablenpc strnpcinfo(0); stopnpctimer; end; } +job3_gen01,84,45,3 duplicate(Scattered Stuff#gen) Scattered Stuff#gen1 111 +job3_gen01,77,41,3 duplicate(Scattered Stuff#gen) Scattered Stuff#gen2 111 +job3_gen01,78,57,3 duplicate(Scattered Stuff#gen) Scattered Stuff#gen3 111 +job3_gen01,89,59,3 duplicate(Scattered Stuff#gen) Scattered Stuff#gen4 111 +job3_gen01,90,51,3 duplicate(Scattered Stuff#gen) Scattered Stuff#gen5 111 +job3_gen01,83,27,3 duplicate(Scattered Stuff#gen) Scattered Stuff#gen6 111 +job3_gen01,74,45,3 duplicate(Scattered Stuff#gen) Scattered Stuff#gen7 111 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; - if(select("Get out of the pen.:Stay still.") == 1){ - mes "- I'd better get out before I get caught by Miss Devries. -"; - close2; - warp "job3_gen01",21,38; - end; - } + if (job_gen < 75) close; + next; + switch(select("Get out of the pen.:Stay still.")) { + case 1: + mes "- I'd better get out before I get caught by Miss Devries. -"; + close2; + warp "job3_gen01",21,38; + end; + case 2: mes "- I decide to stay still. -"; close; } - close; } job3_gen01,80,12,1 script Stacked Magazines#gen 111,{ @@ -1264,40 +1009,21 @@ job3_gen01,85,25,1 script Opened Book#gen 111,{ close; } -job3_gen01,81,81,0 script dbroom 139,2,2,{ +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,{ +job3_gen01,7,59,0 warp #from1to2gen 1,1,job3_gen01,72,52 +job3_gen01,71,56,0 warp #from2to1gen 1,1,job3_gen01,11,60 +lighthalzen,52,132,0 warp #lighttogen 1,1,job3_gen01,45,50 +job3_gen01,49,49,0 warp #gentolight 1,1,lighthalzen,54,132 +job3_gen01,24,32,0 script The gaze of Devries 139,2,2,{ OnTouch: - if (checkquest(2223,2) == 2){ - mapannounce "job3_gen01","Devries: Whoa? Was there a lost kitty in the spore pen?",bc_map; + if (checkquest(2223,HUNTING) == 2) { + mapannounce "job3_gen01","Devries: Whoa? Was there a lost kitty in the spore pen?",bc_map,"0x99CC00"; //FW_NORMAL 12 0 0 + emotion e_omg,1; warp "job3_gen01",21,38; } end; diff --git a/npc/re/jobs/3-2/minstrel.txt b/npc/re/jobs/3-2/minstrel.txt index 0347345da..38a6cab22 100644 --- a/npc/re/jobs/3-2/minstrel.txt +++ b/npc/re/jobs/3-2/minstrel.txt @@ -1,17 +1,16 @@ //===== rAthena Script ======================================= -// Minstrel Job change Quest +//= Minstrel Job Quest //===== By: ================================================== -//= Masao -//= Credits: Muad_Dib +//= Muad_Dib //===== Current Version: ===================================== //= 1.2 //===== Compatible With: ===================================== //= Any rAthena SVN //===== Description: ========================================= -//= [Translated from the Official] +//= [Official Conversion] //= Job change Quest from Bard / Clown -> Minstrel. //===== Additional Comments: ================================= -//= 1.0 First Version. +//= 1.0 First Version. [Masao] //= 1.1 Fix the checking of requirements before job change to Minstel [JayPee] //= 1.2 Optimized. [Euphy] //============================================================ diff --git a/npc/re/jobs/3-2/royal_guard.txt b/npc/re/jobs/3-2/royal_guard.txt index 4a96bed59..a7f21d763 100644 --- a/npc/re/jobs/3-2/royal_guard.txt +++ b/npc/re/jobs/3-2/royal_guard.txt @@ -1,5 +1,5 @@ //===== rAthena Script ======================================= -// Royal Guard Job change Quest +//= Royal Guard Job Quest //===== By: ================================================== //= Muad_Dib //===== Current Version: ===================================== diff --git a/npc/re/jobs/3-2/shadow_chaser.txt b/npc/re/jobs/3-2/shadow_chaser.txt index b94de3395..e04899d9c 100644 --- a/npc/re/jobs/3-2/shadow_chaser.txt +++ b/npc/re/jobs/3-2/shadow_chaser.txt @@ -1,12 +1,12 @@ //===== rAthena Script ======================================= -// Shadow Chaser Job Change Quest +//= Shadow Chaser Job Quest //===== By: ================================================== //= ultragunner //= Credits: Oshinoke //===== Current Version: ===================================== //= 1.2 //===== Compatible With: ===================================== -//= rAthena +//= rAthena SVN //===== Description: ========================================= //= Job change Quest from Rogue / Stalker -> Shadow Chaser. //= Based on Official pRO server diff --git a/npc/re/jobs/3-2/sorcerer.txt b/npc/re/jobs/3-2/sorcerer.txt index 761a34e0d..712e01452 100644 --- a/npc/re/jobs/3-2/sorcerer.txt +++ b/npc/re/jobs/3-2/sorcerer.txt @@ -1,11 +1,11 @@ //===== rAthena Script ======================================= -// Sorcerer Job change Quest +//= Sorcerer Job Quest //===== By: ================================================== //= Muad_Dib //===== Current Version: ===================================== //= 1.2 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= //= [Official Conversion] //= Job change Quest from Sage / Professor -> Sorcerer. @@ -137,7 +137,7 @@ gef_tower,113,161,5 script Karacas 754,{ mes "You look happy. Have a great journey."; close; } - if ((JobLevel < 50) || (SkillPoint != 0) || (BaseLevel < 99)) { + if (BaseLevel < 99 || JobLevel < 50 || SkillPoint != 0) { mes "Is there anything I can do for you?"; close; } diff --git a/npc/re/jobs/3-2/sura.txt b/npc/re/jobs/3-2/sura.txt index 4b641fb23..b31719934 100644 --- a/npc/re/jobs/3-2/sura.txt +++ b/npc/re/jobs/3-2/sura.txt @@ -1,150 +1,31 @@ //===== rAthena Script ======================================= -// Sura Job change Quest +//= Sura Job Quest //===== By: ================================================== -//= Masao -//= Credits: Muad_Dib, Gepard +//= Muad_Dib, Gepard //===== Current Version: ===================================== -//= 1.1 +//= 1.2 //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= //= [Official Conversion] //= Job change Quest from Monk / Champion -> Sura. //===== Additional Comments: ================================= -//= 1.0 First Version. +//= 1.0 First Version. [Masao] //= 1.1 Removed disablenpc which causes players stucked in waitingroom. [Joseph] +//= 1.2 Updated script, optimized. [Euphy] //============================================================ 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; + if (job_shu == 0) { + 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; + if (BaseJob != Job_Monk || BaseLevel < 99 || JobLevel < 50) { mes "[King Crab]"; mes "Khhha ha ha ha ha ha!!!!"; mes "One more cup of beer, here!!!"; @@ -154,203 +35,142 @@ ve_in,237,125,0 script King Crab#job_shu 107,{ 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 "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 ruckus 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,AREA,"King Crab#job_shu"; + specialeffect EF_FIRESPLASHHIT,AREA,"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; + } else { + if (strnpcinfo(0) == "King Crab#job_shu") { mes "[King Crab]"; - mes "Khhha ha ha ha ha ha!!!!"; - mes "One more cup of beer, here!!!"; - mes "I will drink today!!!"; - next; + mes "How come a little rookie knocked me out! Me! The great King Crab..."; + } else { mes "[Sludge Worm]"; - mes "King Crab!!! I will follow you forever!!"; - close; + mes "Boss... Are we really past our prime now?"; + mes "Sob... sob..."; } + 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 duplicate(King Crab#job_shu) Sludge Worm#job_shu 110 ve_in,244,126,3 script Waitress#job_shu 69,{ - if (job_shu == 0){ - mes "[Waitress]"; + mes "[Waitress]"; + if (job_shu == 0) { 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]"; + } else if (job_shu == 1) { + if (BaseJob == Job_Monk) { 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."; + mes "I really appreciate you, "+jobname(Class)+", 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?"; @@ -368,7 +188,6 @@ ve_in,244,126,3 script Waitress#job_shu 69,{ 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; @@ -376,72 +195,68 @@ ve_in,244,126,3 script Waitress#job_shu 69,{ 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,{ +ve_in,97,149,0 script #Suraryokan 139,3,3,{ OnTouch: - if (job_shu == 1){ + if (job_shu == 1) { + set .@n$, "["+strcharinfo(0)+"]"; mes "[???]"; mes "Who is it?!"; next; - mes "["+strcharinfo(0)+"]"; + mes .@n$; 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 .@n$; mes "Please, I just want to talk."; next; mes "[???]"; mes "..."; next; - mes "["+strcharinfo(0)+"]"; + mes .@n$; mes "Don't ignore me, just talk to me."; next; - mes "["+strcharinfo(0)+"]"; + mes .@n$; mes "Just for a moment, isn't it okay?"; next; - mes "["+strcharinfo(0)+"]"; + mes .@n$; mes "I'm not here to hurt you."; next; - mes "["+strcharinfo(0)+"]"; + mes .@n$; mes "How could you treat someone who came to your door so badly?"; next; - mes "["+strcharinfo(0)+"]"; + mes .@n$; mes "You're going too far."; next; - mes "["+strcharinfo(0)+"]"; + mes .@n$; mes "After I saw you fighting..."; next; - mes "["+strcharinfo(0)+"]"; + mes .@n$; mes "I thought that you must have practiced martial arts and I came here to meet you."; next; - mes "["+strcharinfo(0)+"]"; + mes .@n$; mes "But seeing that you stood me up outside like this..."; next; - mes "["+strcharinfo(0)+"]"; + mes .@n$; mes "You must be advanced in martial arts..."; next; mes "[???]"; @@ -456,12 +271,12 @@ OnTouch: } ve_in,98,159,0 script Fighter#job_shu 484,{ - if (job_shu < 2){ + 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){ + } else if (job_shu == 2) { mes "["+strcharinfo(0)+"]"; mes "I want to know about the skill you used a while ago."; next; @@ -535,7 +350,7 @@ ve_in,98,159,0 script Fighter#job_shu 484,{ 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.")){ + switch(select("But I still want to know more.:Well, I quit then.")) { case 1: mes "[???]"; mes "Aren't you an idiot?"; @@ -562,8 +377,8 @@ ve_in,98,159,0 script Fighter#job_shu 484,{ mes "You don't need to look for trouble."; close; } - }else if (job_shu == 3){ - if (checkquest(11156,2) == 2){ + } else if (job_shu == 3) { + if (checkquest(11156,HUNTING) == 2) { mes "[???]"; mes "Wow~"; mes "Did you really kill all those wolves?"; @@ -590,7 +405,7 @@ ve_in,98,159,0 script Fighter#job_shu 484,{ 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){ + } 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."; @@ -598,7 +413,7 @@ ve_in,98,159,0 script Fighter#job_shu 484,{ mes "[Bruno]"; mes "Tell him that 'Bruno' sent you there and after that, just suit yourself."; close; - }else if (job_shu == 100){ + } else if (job_shu == 100) { mes "[Bruno]"; mes "Hey~ !"; mes "How are you doing?"; @@ -617,15 +432,15 @@ ve_in,98,159,0 script Fighter#job_shu 484,{ close; } -yuno_fild07,254,176,7 script Buddy#job_shu 483,{ - if (job_shu < 4){ +yuno_fild07,254,176,7 script Buddy#job_shu 753,{ + 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){ + } else if (job_shu == 4) { mes "[Buddy]"; mes "Haaap!!! Haaaap!!! Whoo!! Haahhp!!!"; next; @@ -647,7 +462,7 @@ yuno_fild07,254,176,7 script Buddy#job_shu 483,{ 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."; + 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"; @@ -659,25 +474,27 @@ yuno_fild07,254,176,7 script Buddy#job_shu 483,{ close2; warp "sword_1-1",215,244; end; - }else if (job_shu == 100){ + } else if (job_shu == 100) { mes "[Buddy]"; mes "Ah, long time no see, "+strcharinfo(0)+"."; mes "Are you here to meet my master?"; next; - if (select("Yes:No") == 1){ + 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 "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?"; + 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"; @@ -689,109 +506,94 @@ yuno_fild07,254,176,7 script Buddy#job_shu 483,{ end; } -sword_1-1,223,243,4 script Drawing Room 111,{ +sword_1-1,223,243,4 script Drawing Room 753,{ end; - OnInit: 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,{ +sword_1-1,223,243,4 script Buddy#job_shu_Salong 753,{ mes "[Buddy]"; mes "My master doesn't like noise, so please ^f57d7dwait in the living room silently.^000000"; next; - if (select("Go to the living room.:Go outside.") == 1){ + 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; } - 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"; + if (mobcount("sword_2-1","Buddy#Sura_Salon::OnMyMobDead") < 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,"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,"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,"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,"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,"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; + 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"; 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"; @@ -802,110 +604,88 @@ OnTimer153000: 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,"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,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; + monster "sword_2-1",219,201,"Hallucination",1483,1,"Buddy#Sura_Salon::OnMyMobDead"; 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; + 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"; 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"; + 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"; + 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){ +sword_2-1,223,205,7 script Buddy#job_shuaneh 753,{ + 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?"; + mes "Why are you here?"; close2; warp "yuno_fild07",248,179; end; - OnInit: +OnDisable: 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; - +sword_2-1,223,205,0 script #Sura_garajjom 139,10,10,{ OnTouch: warp "sword_1-1",216,168; end; - OnInit: - disablenpc "Sura_garajjom"; +OnDisable: + disablenpc "#Sura_garajjom"; end; - OnEnable: - enablenpc "Sura_garajjom"; - end; - -OnDisable: - disablenpc "Sura_garajjom"; + enablenpc "#Sura_garajjom"; end; } sword_1-1,222,169,5 script Bruno#job_shu 484,{ - if (job_shu > 4){ + if (job_shu > 4) { mes "[Bruno]"; - mes "Hey~ "+strcharinfo(0)+", What's up?"; + mes "Hey~ "+strcharinfo(0)+", what's up?"; next; - if (select("Let's have conversation.:Go outside.") == 1){ - if (job_shu == 100){ + 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."; @@ -945,173 +725,91 @@ sword_1-1,222,169,5 script Bruno#job_shu 484,{ 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]"; - 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!!!"; + mes "What are you?"; + mes "How did you find this place!"; + mes "Go away!!!"; 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]"; + if (job_shu == 5) { + mes "You must have bright eyes to see that you finally came to this room."; + next; + mes "[Master]"; + if (SkillPoint != 0) { + mes "You can't become a Sura unless you use all your skill points."; + close; + } + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 3500) { + mes "You seem to be heavily burdened. Please remove some of it."; + close; + } + if (BaseLevel < 99 || JobLevel < 50) { + mes "You don't seem to have reached the limit of a human, you still have far to go in order to become Sura."; + mes "Please go practice some more."; + close; + } + if (BaseJob != Job_Monk) { + mes "Hmm?"; + close; + } + 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; + if (ismounting()) { 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?";; + mes "So... please get down from your riding pet!"; + mes "It is a loss of etiquette on this situation."; close; } mes "[Master]"; + mes "You should train yourself steadily until that day."; + set job_shu,100; + jobchange roclass(eaclass()|EAJL_THIRD); + completequest 11158; + getitem 5754,1; //Blazing_Soul + getitem 2795,1; //Green_Apple_Ring + close; + } else if (job_shu > 5) { mes "Once I was also an ordinary young man who traveled a lot and met many friends."; next; mes "[Master]"; @@ -1122,54 +820,48 @@ sword_1-1,223,167,2 script Master#job_shu 483,{ next; mes "[Master]"; mes "But what's done is done..."; - if (countitem(6153) > 0){ - delitem 6153,1; - getitem 5754,1; - } close; } - mes "[Master]"; - mes "You should not have come here."; - mes "Please leave."; + mes "This is not a place where you can stay."; + mes "Please go back."; 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; +sword_2-1,1,2,0 script Button Girl#sura 66,{ + switch(select("Turn on arena.:Turn off arena.:Turn on the living room.:Turn on Buddy.:Turn on Gara.:Turn off all.:Close")) { + case 1: + mes "Turn on arena."; + donpcevent "Drawing Room::OnEnable"; + close; + case 2: + mes "Turn off arena."; + donpcevent "Drawing Room::OnDisable"; + close; + case 3: + mes "Turn on the living room."; + donpcevent "Buddy#Sura_Salon::OnEnable"; + close; + case 4: + mes "Turn on Buddy."; + donpcevent "Buddy#job_shuaneh::OnEnable"; + close; + case 5: + mes "Turn on Gara."; + donpcevent "#Sura_garajjom::OnEnable"; + close; + case 6: + mes "Turn off 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/re/jobs/3-2/wanderer.txt b/npc/re/jobs/3-2/wanderer.txt index ea928ab7b..552c9d80b 100644 --- a/npc/re/jobs/3-2/wanderer.txt +++ b/npc/re/jobs/3-2/wanderer.txt @@ -1,5 +1,5 @@ //===== rAthena Script ======================================= -// Wanderer Job change Quest +//= Wanderer Job Quest //===== By: ================================================== //= Muad_Dib, Meyraw //===== Current Version: ===================================== -- cgit v1.2.3-70-g09d2