diff options
Diffstat (limited to 'npc')
24 files changed, 25651 insertions, 11157 deletions
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 "What brings you here?"; - mes "I don't think I like the way you're looking at me... Punk."; + 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; - 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; + } + 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) { 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; + mes "Know everything do you?!"; + mes "I'll be the judge of that!"; + set asn_skill,4; + changequest 8001,8002; 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; + } + 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; - mes "[The Anonymous One]"; - mes "Are you ready?"; - mes "Prepare yourself!"; - } - else if (ASSIN_Q2 < 5) { - mes "[The Anonymous One]"; - mes "Having problems"; - mes "passing a simple test?"; - mes "You should have"; - mes "known better."; - next; - if (select("Help me, how do I pass?:I challenge you again!") == 1) { - mes "[The Anonymous One]"; - mes "Well, that's a damn good question. But you're banished from the Assassin Guild, so it's no concern of mine..."; - close2; - warp "moc_fild16",206,151; - end; - } - mes "[The Anonymous One]"; - mes "So I see..."; - mes "Now go, but do not fear. I will be by your side as you learn the outcome of your choice..."; - next; - mes "[The Anonymous One]"; - mes "Now, we shall test you once more! Keep in mind, you must answer 9 questions out of 10 correctly. Remember I am doing you a favor..."; - next; - mes "[The Anonymous One]"; - mes "You must answer 9 questions out of 10 correctly. If you miss more then one question, you can never become an Assassin."; - next; - mes "[The Anonymous One]"; - mes "Okay,"; - mes "are you ready?"; - mes "Good luck."; } + 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; - 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."; 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."; 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."; 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."; 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."; 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."; 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 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; - 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."; 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."; next; - if (select("Whisper card:Elder Willow card:Soldier Skeleton card:Cobold card") == 2) - set .@assassin_t,.@assassin_t+10; - break; + 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; + } } - 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 asn_skill,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 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 "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 "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; } - 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 "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; } } - else if (ASSIN_Q2 == 4) { + 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 "You showed"; - mes "great effort..."; + 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 "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; + switch (select("Merchant:Blacksmith:Thief:Priest")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; } - 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 "[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."; + 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. When the 'Increase Dodge' skill is at Level 10, by how much is the maximum dodge rate increased?"; + 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 the monster which detects hiding/cloaking Thief/Assassin."; + 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 the group of weapons that cannot be used by an Assassin at the same time."; + 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 the Thief job change resides."; + 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 the 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 specialty that applies to Assassins."; + 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; + } + mes "[The Anonymous One]"; + mes "7. Choose the maximum AGI bonus that 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"; + 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; + 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 benefit Assassins 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; } } - } - 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 asn_skill,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 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; + 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: @@ -1338,168 +1972,443 @@ OnTimer184000: 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; + set ASN_Q,2; end; OnTimer186000: - areawarp "in_moc_16",60,136,93,177,"in_moc_16",19,161; + 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,68,158,0 script 01_1::SinTrap -1,0,0,{ +in_moc_16,76,158,0 script backers#ASN 139,20,20,{ + 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"; - } + warp "in_moc_16",19,161; + end; + +OnInit: + hideonnpc "backers#ASN"; + end; + +OnEnable: + donpcevent "job_asn_test::OnDisable"; + hideoffnpc "backers#ASN"; + end; + +OnDisable: + hideonnpc "backers#ASN"; 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,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; -in_moc_16,87,137,0 script Keeper of the Door#ASN 45,2,1,{ OnInit: - disablenpc "Keeper of the Door#ASN"; + hideonnpc "Beholder#ASNTEST2"; + end; + +OnReset: + killmonster "in_moc_16","Beholder#ASNTEST2::OnMyMobDead"; + end; + +OnDisable: + hideonnpc "Beholder#ASNTEST2"; + 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"; + 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; + donpcevent "Beholder#ASNTEST::OnReset"; + donpcevent "Beholder#ASNTEST2::OnReset"; + donpcevent "Beholder#ASNTEST::OnDisable"; + donpcevent "Beholder#ASNTEST2::OnDisable"; end; +} + +- script job_asn_test::jasntdups -1,{ OnTouch: - donpcevent "Thomas#ASNTEST::OnDisable"; - if (ASSIN_Q == 3) - set ASSIN_Q,3; - else - set ASSIN_Q,4; - warp "in_moc_16",87,102; + 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,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,{ + +OnTouch: + 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 + 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; + 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 - 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"; + 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...?"; @@ -750,14 +1547,87 @@ 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 "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) { + 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 "^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 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; + 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. That's what I'm here for.:What are the requirements to change jobs?:....I don't want to change yet.")) { + 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 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 "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 "^3355FF*Gathers and flips through papers*^000000"; + set @knight_t, 0; + mes "[Hunter Sherin]"; + mes "Well then,"; + mes "let's begin."; next; - mes "^3355FF*Rummage rummage*^000000"; + mes "[Hunter Sherin]"; + mes "You are an Archer, and you don't know where you should go to hunt. What do you do?"; next; - mes "[Hunter Guildsman]"; - mes "Ah!"; - mes "Here they are: the interview questions~ First of all, my name is 'Sherin.' Nice to meet you!"; + 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 "Well then,"; - mes "shall we begin?"; + 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; - if (select("Yes~ Let's start now.:No, I'll be back later.") == 1) { - if(checkquest(4000) == -1) { - setquest 4000; - } + 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?"; + 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!"; + 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; + } + 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,18 +460,225 @@ 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: + 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?"; + 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!"; + 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; + } + 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 +693,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,21 +709,216 @@ 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) { + 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; - if (select("Yes...:Hehehe. I keep telling you, it's not~~") == 1) { + 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; - } - else { + 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; @@ -497,89 +926,230 @@ hu_in01,382,382,4 script Guild Receptionist#hnt 732,{ 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 "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."; + mes "You don't have all"; + mes "of the required materials..."; next; mes "[Demon Hunter]"; - mes "You see, we're having some financial problems. Let's see, we're short on these items..."; + 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; - 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 ((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; } - if (.@selection == 1) { + 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 "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 "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 "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 "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 "Alright then, come back to me when you have everything ready~"; + 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; } - 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; + 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 "Hmm?"; + 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(.@items[0]) >= .@items[1] && countitem(.@items[2]) >= .@items[3] && countitem(.@items[4]) >= .@items[5]) { + if ((countitem(1027) > 1) && (countitem(942) > 0) && (countitem(1026) > 0)) { mes "[Demon Hunter]"; - mes "You brought all of the necessary materials... You can get directions to the testing area from our Guildmaster who is currently in the Payon Central Palace."; - set HNTR_Q,.@items[6]; - if(checkquest(4002) != -1) { - changequest 4002,4009; - } - else if(checkquest(4003) != -1) { - changequest 4003,4009; - } - else if(checkquest(4004) != -1) { - changequest 4004,4009; - } - else if(checkquest(4005) != -1) { - changequest 4005,4009; - } - else if(checkquest(4006) != -1) { - changequest 4006,4010; - } - else if(checkquest(4007) != -1) { - changequest 4007,4010; - } - else { - changequest 4008,4010; - } - delitem .@items[0],.@items[1]; - delitem .@items[2],.@items[3]; - delitem .@items[4],.@items[5]; + 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]"; @@ -588,70 +1158,81 @@ 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 "^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; } - else if (HNTR_Q > 9 && HNTR_Q < 17) { + if ((HNTR_Q > 9) && (HNTR_Q < 17)) { mes "[Demon Hunter]"; mes "Hmm? You didn't go to the Guildmaster either in Payon Central Palace or at the Archer Guild? He should be at one of the two places, so go look for him."; close; } - else if (HNTR_Q == 17) { + if (HNTR_Q == 17) { mes "[Demon Hunter]"; mes "Ooh. You passed the test. Congratulations~ You should go talk to Sherin now."; close; } - else { - mes "[Guild Receptionist]"; - mes "If you wish to change your job to a Hunter, you must register first."; - close; - } + 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 "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 "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 "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,12 +1351,10 @@ 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,{ @@ -770,48 +1362,58 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ 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; - 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) { + 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 "...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 "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."; @@ -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 "Manager#hnt2::OnReset"; + donpcevent "Waiting Room#hnt::OnReset"; + 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 "Waiting Room#hnt::OnStart"; + donpcevent "Manager#hnt2::OnReset"; + donpcevent "Manager#hnt::OnDisable"; + donpcevent "Manager#hnt2::OnDisable"; end; } -job_hunte,93,101,1 script Switch#hnt 723,1,1,{ +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; } - else if (KNIGHT_Q == 9) callsub L_Mission,0; - else if (KNIGHT_Q == 10) { - callsub L_Mission,1; + 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; + } + 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; - if (select("Sir Andrew sent me to take your test.:Oh, nothing.") == 1) { + 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; + switch (select("Katana:Slayer:Broadsword:Flamberge")) { + case 1: + 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 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..."; + next; 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 "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 "This test will measure how much you know about Knighthood. More importantly, I want to know your thoughts about honor."; + 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 "[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 "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; + 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 "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 "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 "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; + 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; } - else { + 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 "Hmmm...?"; - mes "Alright."; - mes "It's just that"; - mes "you had that"; - mes "look on your"; - mes "face."; + mes "If you have a question, just ask any Knight in town. This is basic knowledge for us!"; close; } - } - else if (KNIGHT_Q == 5) { - mes "What..."; - mes "You again?"; + 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; - if (select("I wish to take the test again.:Oh, nothing.") == 1) { + 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 "Is that right?"; - mes "Are you sure you're"; - mes "prepared this time?"; + 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 "Alright then,"; - mes "here we go again..."; + 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; } - else { + 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 "Hmmm...?"; - mes "Alright."; - mes "It's just that"; - mes "you had that"; - mes "look on your"; - mes "face."; + 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 "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 "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; + } + set KNGHT_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 "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 "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 "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; } + } + if (KNGHT_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; + switch (select("I wish to take the test again.:Oh, nothing.")) { + case 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 "Alright then,"; + mes "here we go again..."; + next; 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 "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 "[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 "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 "Wrong!"; - mes "Don't bother riding a Peco Peco if you don't know about Cavalier Mastery!"; + 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 "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 "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 "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 "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; - 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 "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 "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 "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 "That's it! Our strength and attacks are very important in a party. All Knights should engage in a battle with that mindset."; + mes "What should you do when you run into a Novice asking for help in town?"; next; - break; - case 2: - set KNIGHT_Q,5; + 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 "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 "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 "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 "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 "Right, above all else, Knights must be honorable! We live and die for honor! Always keep that in mind."; + 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're scum! You strive to become a Knight for personal wealth? Get lost! We will not 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; - case 3: - set KNIGHT_Q,5; + case 2: 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 "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) { + 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,76 @@ 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) { + if (KNGHT_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 (KNGHT_Q == 1) { + 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) { + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: mes "[Sir Windsor]"; mes "..."; next; @@ -1090,66 +1754,205 @@ prt_in,79,94,4 script Sir Windsor#knt 733,{ 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 "..."; - close; + 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; + } } - 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 (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; } - else { - set .@mes$,"I want to try again!:..."; + } + 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 (select(.@mes$) == 1) { + } + 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; - 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 "...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; - if(checkquest(9006) == -1) changequest 9005,9006; warp "job_knt",89,101; end; + case 2: + mes "[Sir Windsor]"; + mes "..."; + close; } + } + if (KNGHT_Q == 7) { mes "[Sir Windsor]"; mes "..."; - close; + 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; + } } - else if (KNIGHT_Q == 14) { + 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; } - 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 +1961,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 +2007,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,41 +2037,55 @@ 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; } } 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; } -// Test 2 part 2 -//========================================================== -- script Knight2 -1,{ +job_knt,43,146,0 script Out1 139,22,22,{ + +OnTouch: + warp "prt_in",80,100; + end; + OnInit: - disablenpc "Knight2"; + hideonnpc "Out1"; end; OnEnable: - enablenpc "Knight2"; - set .MyMobs,6; + 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",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: - 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; @@ -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,222 +2411,705 @@ 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; } + } + if (KNGHT_Q == 2) { mes "[Lady Amy]"; - mes "Aww~"; - mes "Alright..."; - close; + 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 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 == 8) || (KNIGHT_Q == 9)){ - if (KNIGHT_Q == 8) { - mes "Hmmm?"; - mes "Why did you"; - mes "come to Amy?"; + if (KNGHT_Q == 3) { + 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; - 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 "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; + } + } + if (KNGHT_Q == 4) { + 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 == 5) { + 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 == 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 "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."; + 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're"; - mes "already a Knight, okay?"; - 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 KNGHT_Q,10; + changequest 9008,9009; mes "[Lady Amy]"; - mes "Then,"; - mes "let's begin!"; + 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 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; } - else if (KNIGHT_Q == 9) { - mes "Hmmm?"; - mes "Why did you"; - mes "come to Amy?"; + } + 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; - if (select("I would like to take the test to change jobs.:Oh, nothing.") == 1) { + 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 "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 KNGHT_Q,10; 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; } - } - 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~"; + 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 "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 "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 "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 "If you want,"; + mes "I'll let you"; + mes "retake the test, okay?"; + 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 == 10) { + mes "[Lady Amy]"; mes "Hmmm?"; mes "Why did you"; mes "come to Amy?"; @@ -1732,7 +3120,8 @@ prt_in,69,107,6 script Lady Amy#knt 728,{ mes "next test, okay?"; close; } - else if (KNIGHT_Q == 14) { + if (KNGHT_Q == 14) { + mes "[Lady Amy]"; mes "Wow~"; mes "Now it's time for"; mes "everyone to decide"; @@ -1745,25 +3134,22 @@ 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?"; - next; - mes "[Lady Amy]"; - mes "You still have"; - mes "other tests to take."; - mes "Hurry and finish~"; - 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; } -// Test 4 (patience) -//========================================================== -prt_in,70,99,6 script Sir Edmond#knt 734,{ - mes "[Sir Edmond]"; - if (BaseJob != Job_Swordman) { - if (BaseJob == Job_Knight) { +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."; @@ -1780,7 +3166,8 @@ prt_in,70,99,6 script Sir Edmond#knt 734,{ mes "any situation."; close; } - else if (BaseClass == Job_Novice) { + 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]"; @@ -1789,20 +3176,22 @@ prt_in,70,99,6 script Sir Edmond#knt 734,{ 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; - } + 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) { + 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; } - else if (KNIGHT_Q >= 1 && KNIGHT_Q <= 9) { + if (KNGHT_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) { + 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..."; @@ -1817,21 +3206,289 @@ prt_in,70,99,6 script Sir Edmond#knt 734,{ 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 "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 "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; + } } - else if (KNIGHT_Q == 10) { + 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 (KNGHT_Q == 7) { + 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 "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; + } + } + 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 "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 "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 "Come back when"; - mes "you have everything"; - mes "ready. I shall be"; - mes "waiting..."; + mes "The basics of"; + mes "making the Claymore"; + mes "is easy. Watch~!"; + next; + mes "^3355FF*Stir Stir*^000000"; + mes "^3355FF*Ooncha Ooncha*^000000"; + next; + mes "[Sir Gray]"; + mes "Okay, it's ready!"; + mes "Every Knight's pride:"; + mes "a fine ^3355FFClaymore^000000."; + mes "You attained a reliable item."; + mes "It'll be a good companion on your adventures."; + delitem 999,1; //Steel + set Zeny, Zeny - 74000; + getitem 1163,1; //Claymore close; } + mes "[Sir Gray]"; + mes "I realize you may really want a Claymore, but I can't make it without the materials."; + mes "^3355FF74,000 zeny^000000 and ^3355FF1 Steel!^000000."; + next; + mes "[Sir Gray]"; + mes "Come back when"; + mes "you have everything"; + mes "ready. I shall be"; + mes "waiting..."; + close; case 3: mes "[Sir Gray]"; mes "Any Knight should be able to wield a Claymore as if it were an extension of their body. I used to look forward to brandishing my Claymore in battle..."; close; } + 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?"; @@ -2121,340 +3819,615 @@ 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!"; - close; - } - } - else if (KNIGHT_Q == 13) { - mes "Ah, you again."; - mes "What brings you"; - mes "to me?"; - next; - if (select("I've been thinking a lot.:Oh, nothing.") == 1) { + 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 "Is that so..."; - mes "I wonder if you"; - mes "truly have..."; + mes "I understand your thoughts,"; + mes "but there are those who wish to"; + mes "become Knights without thinking."; next; mes "[Sir Gray]"; - mes "Then..."; - mes "Like last time,"; - mes "I will ask again..."; + mes "Those are the ones who instigate problems and shame the honor of Knights, bringing irreversible results."; next; mes "[Sir Gray]"; - mes "First..."; - mes "Why did you"; - mes "decide to become"; - mes "a Knight?"; + 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; - } - 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."; + 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 "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."; + 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~"; + 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 "Ah, a wonderful idea. A Knight's strength must be used to protect the weak and defend righteousness."; + mes "Conversing"; + mes "with young ones"; + mes "is always enjoyable..."; next; mes "[Sir Gray]"; - mes "Sadly, there are a few Knights who shame us by forgetting the ideals that should be basic to Knighthood..."; + 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 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; + mes "If you truly wish to become a Knight, you must change your outlook first. Then, we shall see."; + close; 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; + mes "Take care!"; + close; } - 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; + } + if (KNGHT_Q == 13) { mes "[Sir Gray]"; - mes "So..."; - mes "What part of yourself"; - mes "are you not satisfied"; - mes "with right now?"; + mes "Ah, you again."; + mes "What brings you"; + mes "to me?"; next; - switch(select("Skills.:Goal.:Appearance.")) { + switch (select("I've been thinking a lot.:Oh, nothing.")) { 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."; + mes "Is that so..."; + mes "I wonder if you"; + mes "truly have..."; next; - break; - case 2: - set .@knight_t,.@knight_t-5; + set @knight_t, 0; 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."; + mes "Then..."; + mes "Like last time,"; + mes "I will ask again..."; 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."; + mes "First..."; + mes "Why did you"; + mes "decide to become"; + mes "a Knight?"; 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; + if (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?"; + mes "I told you"; + mes "to go to"; + mes "the captain."; next; mes "[Sir Gray]"; - mes "Don't worry too"; - mes "much, I have a very"; - mes "high opinion of you."; - mes "Now, go~"; + mes "Everyone will"; + mes "carefully make"; + mes "their decision,"; + mes "so go now!"; close; } - else if (.@knight_t == 5) { - set KNIGHT_Q,14; - mes "[Sir Gray]"; - mes "I enjoyed speaking with you. You can think about the principles of Knighthood more once you become a Knight."; - next; - mes "[Sir Gray]"; - mes "Then, shall we go to the captain and decide on your job change? Don't worry too much. You are good enough to be a Knight!"; - close; - } - else if (.@knight_t == 10) { - set KNIGHT_Q,14; - changequest 9011,9012; - mes "[Sir Gray]"; - mes "I enjoyed talking with you. Although, there were some"; - mes "things that bothered me..."; - next; - mes "[Sir Gray]"; - mes "You should go"; - mes "to the captain"; - mes "so we can decide"; - mes "on your job change."; - next; - mes "[Sir Gray]"; - mes "Don't worry too much, coming to take my test means the others have acknowledged you as well."; - mes "Go now...!"; - close; - } - else { - set KNIGHT_Q,13; - mes "[Sir Gray]"; - mes "Conversing"; - mes "with young ones"; - mes "is always enjoyable..."; - next; - mes "[Sir Gray]"; - mes "But it seems as though your dream is elsewhere, or that your focus is hazy. Spend more time as a Swordman, and come back"; - mes "to me later."; - next; - mes "[Sir Gray]"; - mes "If you truly wish to become a Knight, you must change your outlook first. Then, we shall see."; - close; - } - } - else if (KNIGHT_Q == 14) { - mes "I told you"; - mes "to go to"; - mes "the captain."; - next; mes "[Sir Gray]"; - mes "Everyone will"; - mes "carefully make"; - mes "their decision,"; - mes "so go now!"; - close; - } - else { mes "Oh..."; mes "A young Swordman."; mes "What can I do for you?"; next; - if (select("I would like to take the test to change jobs.:Oh, nothing.") == 1) { + 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,73 +863,244 @@ 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; + 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; + 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?"; + 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; + } } - else if (PRIEST_Q == 9) { + 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; @@ -861,16 +1110,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 +1135,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."; @@ -910,7 +1159,8 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ 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,24,109,4 script prst1_1 45,3,3,{ +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: - 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 +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,98,105,4 script prst3_1 45,3,3,{ +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,{ + 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,285 +522,492 @@ 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; - } - 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 "[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; + 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; @@ -802,8 +1016,8 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "*sneeze* I advise you to rest a bit while the final test is prepared...Hahahahah~"; close; } - else if (.@wizard_t == 90) { - set WIZ_Q,5; + 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; @@ -812,82 +1026,595 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "*sneeze* I advise you to rest a bit while the final test is prepared...Hahahahah~"; close; } - else { - set WIZ_Q,4; - mes "You failed. I will let you come back again...after you've learned more relating to the type of questions I've asked you."; - next; - mes "[Raulel]"; - mes "Tisk...not enough, not enough! Did you really think you could become a Wizard with the little bit of knowledge you have?"; - mes "Get lost! If you were a Wizard right now, the monsters I deal with would eat you up in no time!"; - close; - } + 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; } - else if (WIZ_Q == 5) { + if (WZRD_Q, == 4) { mes "[Raulel]"; - mes "Ok, hope you got plenty of rest. Hahahahahah~"; - mes "Then let's begin the last test."; + mes "Hahahaha~ Are you that desperate? *sneeze* What a pain in the arse..."; next; mes "[Raulel]"; - mes "Should I explain a little about this final test? It is difficult, I will not hide that from you..."; + 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("No, it's ok, I'm ready.:I would like to listen.") == 1) { + 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 "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~"; + 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; - set WIZ_Q,6; - savepoint "geffen",120,107; mes "[Raulel]"; - mes "Then, as you wish. I'll send you there right now."; - mes "Oh, if you see a white light at the end of a tunnel, that means your pathetic cause you failed! Hahahahahah~"; - close2; - warp "job_wiz",57,154; - end; + mes "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 "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."; + 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 "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."; + 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; + } + 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; + } + } 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~"; + 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 "Once you defeat all the monsters within the given time in any one room..."; - mes "you'll be moved to the next room."; + mes "Your score is... " + @wizard_t + "points....."; + if (@wizard_t == 100) { + 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..."; + 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; + } + if (@wizard_t == 90) { + set WZRD_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; + } + 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 "*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 "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."; + 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) { + mes "[Raulel]"; + mes "Ok, hope you got plenty of rest. Hahahahahah~"; + mes "Then let's begin the last test."; 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?"; + mes "Should I explain a little about this final test? It is difficult, I will not hide that from you..."; next; - if (select("Continue testing.:I want to go back because I have butterflies in my stomach.") == 1) { - set WIZ_Q,6; + 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 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!"; + mes "Then, as you wish. I'll send you there right now."; + mes "Oh, if you see a white light at the end of a tunnel, that means your pathetic cause you failed! Hahahahahah~"; close2; warp "job_wiz",57,154; end; + 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 "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 "What brings you here?"; - mes "I don't think I like the way you're looking at me... Punk."; + 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; - 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; + } + 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) { 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; + mes "Know everything do you?!"; + mes "I'll be the judge of that!"; + set asn_skill,4; + changequest 8001,8002; 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; + } + 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; - mes "[The Anonymous One]"; - mes "Are you ready?"; - mes "Prepare yourself!"; - } - else if (ASSIN_Q2 < 5) { - mes "[The Anonymous One]"; - mes "Having problems"; - mes "passing a simple test?"; - mes "You should have"; - mes "known better."; - next; - if (select("Help me, how do I pass?:I challenge you again!") == 1) { - mes "[The Anonymous One]"; - mes "Well, that's a damn good question. But you're banished from the Assassin Guild, so it's no concern of mine..."; - close2; - warp "moc_fild16",206,151; - end; - } - mes "[The Anonymous One]"; - mes "So I see..."; - mes "Now go, but do not fear. I will be by your side as you learn the outcome of your choice..."; - next; - mes "[The Anonymous One]"; - mes "Now, we shall test you once more! Keep in mind, you must answer 9 questions out of 10 correctly. Remember I am doing you a favor..."; - next; - mes "[The Anonymous One]"; - mes "You must answer 9 questions out of 10 correctly. If you miss more then one question, you can never become an Assassin."; - next; - mes "[The Anonymous One]"; - mes "Okay,"; - mes "are you ready?"; - mes "Good luck."; } + 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; - 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."; 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."; 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."; 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."; 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."; 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."; 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 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; - 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."; 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."; next; - if (select("Whisper card:Elder Willow card:Soldier Skeleton card:Cobold card") == 2) - set .@assassin_t,.@assassin_t+10; - break; + 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; + } } - 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 asn_skill,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 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 "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 "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; } - 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 "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; } } - else if (ASSIN_Q2 == 4) { + 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 "You showed"; - mes "great effort..."; + 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 "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; + switch (select("Merchant:Blacksmith:Thief:Priest")) { + case 1: + break; + case 2: + set @assassin_t,@assassin_t + 10; + break; + case 3: + break; + case 4: + break; } - 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 "[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."; + 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. When the 'Increase Dodge' skill is at Level 10, by how much is the maximum dodge rate increased?"; + 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 the monster which detects hiding/cloaking Thief/Assassin."; + 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 the group of weapons that cannot be used by an Assassin at the same time."; + 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 the Thief job change resides."; + 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 the 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 specialty that applies to Assassins."; + 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; + } + mes "[The Anonymous One]"; + mes "7. Choose the maximum AGI bonus that 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"; + 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; + 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 benefit Assassins 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; } } - } - 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 asn_skill,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 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; + 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: @@ -1338,168 +1972,443 @@ OnTimer184000: 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; + set ASN_Q,2; end; OnTimer186000: - areawarp "in_moc_16",60,136,93,177,"in_moc_16",19,161; + 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,68,158,0 script 01_1::SinTrap -1,0,0,{ +in_moc_16,76,158,0 script backers#ASN 139,20,20,{ + 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"; - } + warp "in_moc_16",19,161; + end; + +OnInit: + hideonnpc "backers#ASN"; + end; + +OnEnable: + donpcevent "job_asn_test::OnDisable"; + hideoffnpc "backers#ASN"; + end; + +OnDisable: + hideonnpc "backers#ASN"; 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,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; -in_moc_16,87,137,0 script Keeper of the Door#ASN 45,2,1,{ OnInit: - disablenpc "Keeper of the Door#ASN"; + hideonnpc "Beholder#ASNTEST2"; + end; + +OnReset: + killmonster "in_moc_16","Beholder#ASNTEST2::OnMyMobDead"; + end; + +OnDisable: + hideonnpc "Beholder#ASNTEST2"; + 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"; + 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; + donpcevent "Beholder#ASNTEST::OnReset"; + donpcevent "Beholder#ASNTEST2::OnReset"; + donpcevent "Beholder#ASNTEST::OnDisable"; + donpcevent "Beholder#ASNTEST2::OnDisable"; end; +} + +- script job_asn_test::jasntdups -1,{ OnTouch: - donpcevent "Thomas#ASNTEST::OnDisable"; - if (ASSIN_Q == 3) - set ASSIN_Q,3; - else - set ASSIN_Q,4; - warp "in_moc_16",87,102; + 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,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,{ + +OnTouch: + 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 + 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; + 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 - 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"; + 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...?"; @@ -750,14 +1547,87 @@ 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 "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) { + 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 "^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 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; + 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. That's what I'm here for.:What are the requirements to change jobs?:....I don't want to change yet.")) { + 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 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 "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 "^3355FF*Gathers and flips through papers*^000000"; + set @knight_t, 0; + mes "[Hunter Sherin]"; + mes "Well then,"; + mes "let's begin."; next; - mes "^3355FF*Rummage rummage*^000000"; + mes "[Hunter Sherin]"; + mes "You are an Archer, and you don't know where you should go to hunt. What do you do?"; next; - mes "[Hunter Guildsman]"; - mes "Ah!"; - mes "Here they are: the interview questions~ First of all, my name is 'Sherin.' Nice to meet you!"; + 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 "Well then,"; - mes "shall we begin?"; + 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; - if (select("Yes~ Let's start now.:No, I'll be back later.") == 1) { - if(checkquest(4000) == -1) { - setquest 4000; - } + 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?"; + 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!"; + 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; + } + 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,18 +460,225 @@ 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: + 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?"; + 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!"; + 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; + } + 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 +693,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,21 +709,216 @@ 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) { + 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; - if (select("Yes...:Hehehe. I keep telling you, it's not~~") == 1) { + 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; - } - else { + 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; @@ -497,89 +926,230 @@ hu_in01,382,382,4 script Guild Receptionist#hnt 732,{ 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 "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."; + mes "You don't have all"; + mes "of the required materials..."; next; mes "[Demon Hunter]"; - mes "You see, we're having some financial problems. Let's see, we're short on these items..."; + 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; - 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 ((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; } - if (.@selection == 1) { + 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 "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 "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 "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 "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 "Alright then, come back to me when you have everything ready~"; + 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; } - 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; + 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 "Hmm?"; + 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(.@items[0]) >= .@items[1] && countitem(.@items[2]) >= .@items[3] && countitem(.@items[4]) >= .@items[5]) { + if ((countitem(1027) > 1) && (countitem(942) > 0) && (countitem(1026) > 0)) { mes "[Demon Hunter]"; - mes "You brought all of the necessary materials... You can get directions to the testing area from our Guildmaster who is currently in the Payon Central Palace."; - set HNTR_Q,.@items[6]; - if(checkquest(4002) != -1) { - changequest 4002,4009; - } - else if(checkquest(4003) != -1) { - changequest 4003,4009; - } - else if(checkquest(4004) != -1) { - changequest 4004,4009; - } - else if(checkquest(4005) != -1) { - changequest 4005,4009; - } - else if(checkquest(4006) != -1) { - changequest 4006,4010; - } - else if(checkquest(4007) != -1) { - changequest 4007,4010; - } - else { - changequest 4008,4010; - } - delitem .@items[0],.@items[1]; - delitem .@items[2],.@items[3]; - delitem .@items[4],.@items[5]; + 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]"; @@ -588,70 +1158,81 @@ 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 "^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; } - else if (HNTR_Q > 9 && HNTR_Q < 17) { + if ((HNTR_Q > 9) && (HNTR_Q < 17)) { mes "[Demon Hunter]"; mes "Hmm? You didn't go to the Guildmaster either in Payon Central Palace or at the Archer Guild? He should be at one of the two places, so go look for him."; close; } - else if (HNTR_Q == 17) { + if (HNTR_Q == 17) { mes "[Demon Hunter]"; mes "Ooh. You passed the test. Congratulations~ You should go talk to Sherin now."; close; } - else { - mes "[Guild Receptionist]"; - mes "If you wish to change your job to a Hunter, you must register first."; - close; - } + 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 "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 "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 "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,12 +1351,10 @@ 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,{ @@ -770,48 +1362,58 @@ payon_in02,21,31,1 script Hunter#htnGM2 59,{ 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; - 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) { + 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 "...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 "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."; @@ -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 "Manager#hnt2::OnReset"; + donpcevent "Waiting Room#hnt::OnReset"; + 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 "Waiting Room#hnt::OnStart"; + donpcevent "Manager#hnt2::OnReset"; + donpcevent "Manager#hnt::OnDisable"; + donpcevent "Manager#hnt2::OnDisable"; end; } -job_hunte,93,101,1 script Switch#hnt 723,1,1,{ +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; } - else if (KNIGHT_Q == 9) callsub L_Mission,0; - else if (KNIGHT_Q == 10) { - callsub L_Mission,1; + 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; + } + 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; - if (select("Sir Andrew sent me to take your test.:Oh, nothing.") == 1) { + 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; + switch (select("Katana:Slayer:Broadsword:Flamberge")) { + case 1: + 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 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..."; + next; 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 "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 "This test will measure how much you know about Knighthood. More importantly, I want to know your thoughts about honor."; + 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 "[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 "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; + 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 "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 "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 "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; + 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; } - else { + 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 "Hmmm...?"; - mes "Alright."; - mes "It's just that"; - mes "you had that"; - mes "look on your"; - mes "face."; + mes "If you have a question, just ask any Knight in town. This is basic knowledge for us!"; close; } - } - else if (KNIGHT_Q == 5) { - mes "What..."; - mes "You again?"; + 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; - if (select("I wish to take the test again.:Oh, nothing.") == 1) { + 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 "Is that right?"; - mes "Are you sure you're"; - mes "prepared this time?"; + 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 "Alright then,"; - mes "here we go again..."; + 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; } - else { + 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 "Hmmm...?"; - mes "Alright."; - mes "It's just that"; - mes "you had that"; - mes "look on your"; - mes "face."; + 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 "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 "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; + } + set KNGHT_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 "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 "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 "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; } + } + if (KNGHT_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; + switch (select("I wish to take the test again.:Oh, nothing.")) { + case 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 "Alright then,"; + mes "here we go again..."; + next; 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 "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 "[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 "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 "Wrong!"; - mes "Don't bother riding a Peco Peco if you don't know about Cavalier Mastery!"; + 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 "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 "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 "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 "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; - 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 "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 "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 "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 "That's it! Our strength and attacks are very important in a party. All Knights should engage in a battle with that mindset."; + mes "What should you do when you run into a Novice asking for help in town?"; next; - break; - case 2: - set KNIGHT_Q,5; + 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 "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 "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 "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 "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 "Right, above all else, Knights must be honorable! We live and die for honor! Always keep that in mind."; + 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're scum! You strive to become a Knight for personal wealth? Get lost! We will not 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; - case 3: - set KNIGHT_Q,5; + case 2: 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 "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) { + 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,76 @@ 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) { + if (KNGHT_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 (KNGHT_Q == 1) { + 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) { + switch (select("I would like to take the test to change jobs.:Oh, nothing.")) { + case 1: mes "[Sir Windsor]"; mes "..."; next; @@ -1090,66 +1754,205 @@ prt_in,79,94,4 script Sir Windsor#knt 733,{ 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 "..."; - close; + 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; + } } - 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 (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; } - else { - set .@mes$,"I want to try again!:..."; + } + 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 (select(.@mes$) == 1) { + } + 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; - 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 "...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; - if(checkquest(9006) == -1) changequest 9005,9006; warp "job_knt",89,101; end; + case 2: + mes "[Sir Windsor]"; + mes "..."; + close; } + } + if (KNGHT_Q == 7) { mes "[Sir Windsor]"; mes "..."; - close; + 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; + } } - else if (KNIGHT_Q == 14) { + 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; } - 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 +1961,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 +2007,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,41 +2037,55 @@ 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; } } 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; } -// Test 2 part 2 -//========================================================== -- script Knight2 -1,{ +job_knt,43,146,0 script Out1 139,22,22,{ + +OnTouch: + warp "prt_in",80,100; + end; + OnInit: - disablenpc "Knight2"; + hideonnpc "Out1"; end; OnEnable: - enablenpc "Knight2"; - set .MyMobs,6; + 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",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: - 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; @@ -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,222 +2411,705 @@ 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; } + } + if (KNGHT_Q == 2) { mes "[Lady Amy]"; - mes "Aww~"; - mes "Alright..."; - close; + 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 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 == 8) || (KNIGHT_Q == 9)){ - if (KNIGHT_Q == 8) { - mes "Hmmm?"; - mes "Why did you"; - mes "come to Amy?"; + if (KNGHT_Q == 3) { + 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; - 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 "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; + } + } + if (KNGHT_Q == 4) { + 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 == 5) { + 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 == 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 "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."; + 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're"; - mes "already a Knight, okay?"; - 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 KNGHT_Q,10; + changequest 9008,9009; mes "[Lady Amy]"; - mes "Then,"; - mes "let's begin!"; + 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 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; } - else if (KNIGHT_Q == 9) { - mes "Hmmm?"; - mes "Why did you"; - mes "come to Amy?"; + } + 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; - if (select("I would like to take the test to change jobs.:Oh, nothing.") == 1) { + 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 "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 KNGHT_Q,10; 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; } - } - 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~"; + 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 "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 "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 "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 "If you want,"; + mes "I'll let you"; + mes "retake the test, okay?"; + 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 == 10) { + mes "[Lady Amy]"; mes "Hmmm?"; mes "Why did you"; mes "come to Amy?"; @@ -1732,7 +3120,8 @@ prt_in,69,107,6 script Lady Amy#knt 728,{ mes "next test, okay?"; close; } - else if (KNIGHT_Q == 14) { + if (KNGHT_Q == 14) { + mes "[Lady Amy]"; mes "Wow~"; mes "Now it's time for"; mes "everyone to decide"; @@ -1745,25 +3134,22 @@ 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?"; - next; - mes "[Lady Amy]"; - mes "You still have"; - mes "other tests to take."; - mes "Hurry and finish~"; - 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; } -// Test 4 (patience) -//========================================================== -prt_in,70,99,6 script Sir Edmond#knt 734,{ - mes "[Sir Edmond]"; - if (BaseJob != Job_Swordman) { - if (BaseJob == Job_Knight) { +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."; @@ -1780,7 +3166,8 @@ prt_in,70,99,6 script Sir Edmond#knt 734,{ mes "any situation."; close; } - else if (BaseClass == Job_Novice) { + 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]"; @@ -1789,20 +3176,22 @@ prt_in,70,99,6 script Sir Edmond#knt 734,{ 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; - } + 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) { + 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; } - else if (KNIGHT_Q >= 1 && KNIGHT_Q <= 9) { + if (KNGHT_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) { + 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..."; @@ -1817,21 +3206,289 @@ prt_in,70,99,6 script Sir Edmond#knt 734,{ 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 "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 "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; + } } - else if (KNIGHT_Q == 10) { + 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 (KNGHT_Q == 7) { + 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 "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; + } + } + 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 "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 "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 "Come back when"; - mes "you have everything"; - mes "ready. I shall be"; - mes "waiting..."; + mes "The basics of"; + mes "making the Claymore"; + mes "is easy. Watch~!"; + next; + mes "^3355FF*Stir Stir*^000000"; + mes "^3355FF*Ooncha Ooncha*^000000"; + next; + mes "[Sir Gray]"; + mes "Okay, it's ready!"; + mes "Every Knight's pride:"; + mes "a fine ^3355FFClaymore^000000."; + mes "You attained a reliable item."; + mes "It'll be a good companion on your adventures."; + delitem 999,1; //Steel + set Zeny, Zeny - 74000; + getitem 1163,1; //Claymore close; } + mes "[Sir Gray]"; + mes "I realize you may really want a Claymore, but I can't make it without the materials."; + mes "^3355FF74,000 zeny^000000 and ^3355FF1 Steel!^000000."; + next; + mes "[Sir Gray]"; + mes "Come back when"; + mes "you have everything"; + mes "ready. I shall be"; + mes "waiting..."; + close; case 3: mes "[Sir Gray]"; mes "Any Knight should be able to wield a Claymore as if it were an extension of their body. I used to look forward to brandishing my Claymore in battle..."; close; } + 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?"; @@ -2121,340 +3819,615 @@ 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!"; - close; - } - } - else if (KNIGHT_Q == 13) { - mes "Ah, you again."; - mes "What brings you"; - mes "to me?"; - next; - if (select("I've been thinking a lot.:Oh, nothing.") == 1) { + 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 "Is that so..."; - mes "I wonder if you"; - mes "truly have..."; + mes "I understand your thoughts,"; + mes "but there are those who wish to"; + mes "become Knights without thinking."; next; mes "[Sir Gray]"; - mes "Then..."; - mes "Like last time,"; - mes "I will ask again..."; + mes "Those are the ones who instigate problems and shame the honor of Knights, bringing irreversible results."; next; mes "[Sir Gray]"; - mes "First..."; - mes "Why did you"; - mes "decide to become"; - mes "a Knight?"; + 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; - } - 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."; + 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 "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."; + 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~"; + 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 "Ah, a wonderful idea. A Knight's strength must be used to protect the weak and defend righteousness."; + mes "Conversing"; + mes "with young ones"; + mes "is always enjoyable..."; next; mes "[Sir Gray]"; - mes "Sadly, there are a few Knights who shame us by forgetting the ideals that should be basic to Knighthood..."; + 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 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; + mes "If you truly wish to become a Knight, you must change your outlook first. Then, we shall see."; + close; 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; + mes "Take care!"; + close; } - 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; + } + if (KNGHT_Q == 13) { mes "[Sir Gray]"; - mes "So..."; - mes "What part of yourself"; - mes "are you not satisfied"; - mes "with right now?"; + mes "Ah, you again."; + mes "What brings you"; + mes "to me?"; next; - switch(select("Skills.:Goal.:Appearance.")) { + switch (select("I've been thinking a lot.:Oh, nothing.")) { 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."; + mes "Is that so..."; + mes "I wonder if you"; + mes "truly have..."; next; - break; - case 2: - set .@knight_t,.@knight_t-5; + set @knight_t, 0; 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."; + mes "Then..."; + mes "Like last time,"; + mes "I will ask again..."; 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."; + mes "First..."; + mes "Why did you"; + mes "decide to become"; + mes "a Knight?"; 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; + if (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?"; + mes "I told you"; + mes "to go to"; + mes "the captain."; next; mes "[Sir Gray]"; - mes "Don't worry too"; - mes "much, I have a very"; - mes "high opinion of you."; - mes "Now, go~"; + mes "Everyone will"; + mes "carefully make"; + mes "their decision,"; + mes "so go now!"; close; } - else if (.@knight_t == 5) { - set KNIGHT_Q,14; - mes "[Sir Gray]"; - mes "I enjoyed speaking with you. You can think about the principles of Knighthood more once you become a Knight."; - next; - mes "[Sir Gray]"; - mes "Then, shall we go to the captain and decide on your job change? Don't worry too much. You are good enough to be a Knight!"; - close; - } - else if (.@knight_t == 10) { - set KNIGHT_Q,14; - changequest 9011,9012; - mes "[Sir Gray]"; - mes "I enjoyed talking with you. Although, there were some"; - mes "things that bothered me..."; - next; - mes "[Sir Gray]"; - mes "You should go"; - mes "to the captain"; - mes "so we can decide"; - mes "on your job change."; - next; - mes "[Sir Gray]"; - mes "Don't worry too much, coming to take my test means the others have acknowledged you as well."; - mes "Go now...!"; - close; - } - else { - set KNIGHT_Q,13; - mes "[Sir Gray]"; - mes "Conversing"; - mes "with young ones"; - mes "is always enjoyable..."; - next; - mes "[Sir Gray]"; - mes "But it seems as though your dream is elsewhere, or that your focus is hazy. Spend more time as a Swordman, and come back"; - mes "to me later."; - next; - mes "[Sir Gray]"; - mes "If you truly wish to become a Knight, you must change your outlook first. Then, we shall see."; - close; - } - } - else if (KNIGHT_Q == 14) { - mes "I told you"; - mes "to go to"; - mes "the captain."; - next; mes "[Sir Gray]"; - mes "Everyone will"; - mes "carefully make"; - mes "their decision,"; - mes "so go now!"; - close; - } - else { mes "Oh..."; mes "A young Swordman."; mes "What can I do for you?"; next; - if (select("I would like to take the test to change jobs.:Oh, nothing.") == 1) { + 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,73 +863,244 @@ 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; + 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; + 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?"; + 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; + } } - else if (PRIEST_Q == 9) { + 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; @@ -861,16 +1110,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 +1135,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."; @@ -910,7 +1159,8 @@ job_prist,24,187,4 script Peter S. Alberto 110,{ 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,24,109,4 script prst1_1 45,3,3,{ +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: - 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 +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,98,105,4 script prst3_1 45,3,3,{ +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,{ + 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,285 +522,492 @@ 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; - } - 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 "[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; + 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; @@ -802,8 +1016,8 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "*sneeze* I advise you to rest a bit while the final test is prepared...Hahahahah~"; close; } - else if (.@wizard_t == 90) { - set WIZ_Q,5; + 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; @@ -812,82 +1026,595 @@ gef_tower,102,24,2 script Gloomy Wizard 735,{ mes "*sneeze* I advise you to rest a bit while the final test is prepared...Hahahahah~"; close; } - else { - set WIZ_Q,4; - mes "You failed. I will let you come back again...after you've learned more relating to the type of questions I've asked you."; - next; - mes "[Raulel]"; - mes "Tisk...not enough, not enough! Did you really think you could become a Wizard with the little bit of knowledge you have?"; - mes "Get lost! If you were a Wizard right now, the monsters I deal with would eat you up in no time!"; - close; - } + 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; } - else if (WIZ_Q == 5) { + if (WZRD_Q == 4) { mes "[Raulel]"; - mes "Ok, hope you got plenty of rest. Hahahahahah~"; - mes "Then let's begin the last test."; + mes "Hahahaha~ Are you that desperate? *sneeze* What a pain in the arse..."; next; mes "[Raulel]"; - mes "Should I explain a little about this final test? It is difficult, I will not hide that from you..."; + 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("No, it's ok, I'm ready.:I would like to listen.") == 1) { + 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 "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~"; + 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; - set WIZ_Q,6; - savepoint "geffen",120,107; mes "[Raulel]"; - mes "Then, as you wish. I'll send you there right now."; - mes "Oh, if you see a white light at the end of a tunnel, that means your pathetic cause you failed! Hahahahahah~"; - close2; - warp "job_wiz",57,154; - end; + mes "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 "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."; + mes "Then let's begin the test!"; + mes "If you don't answer all of them correctly, you fail... ~Hahahahahha"; 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."; + 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 "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~"; + 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; + } + 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; + } + } 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."; + 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) { + 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..."; + 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; + } + if (@wizard_t == 90) { + set WZRD_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; + } + 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 "*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 "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."; + 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) { + mes "[Raulel]"; + mes "Ok, hope you got plenty of rest. Hahahahahah~"; + mes "Then let's begin the last test."; 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?"; + mes "Should I explain a little about this final test? It is difficult, I will not hide that from you..."; next; - if (select("Continue testing.:I want to go back because I have butterflies in my stomach.") == 1) { - set WIZ_Q,6; + 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 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!"; + mes "Then, as you wish. I'll send you there right now."; + mes "Oh, if you see a white light at the end of a tunnel, that means your pathetic cause you failed! Hahahahahah~"; close2; warp "job_wiz",57,154; end; + 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 "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 |